diff --git a/Android.mk b/Android.mk index 5034c7ef517ac2b048a745da9f11d859fd5b7c36..fb1a3a6b1598060107af09fa9f327eb76b7a297c 100644 --- a/Android.mk +++ b/Android.mk @@ -334,6 +334,7 @@ framework_docs_LOCAL_INTERMEDIATE_SOURCES := \ framework_docs_LOCAL_JAVA_LIBRARIES := \ core \ ext \ + framework \ framework_docs_LOCAL_MODULE_CLASS := JAVA_LIBRARIES framework_docs_LOCAL_DROIDDOC_HTML_DIR := docs/html @@ -345,6 +346,8 @@ framework_docs_LOCAL_DROIDDOC_OPTIONS := \ -since ./frameworks/base/api/3.xml 3 \ -since ./frameworks/base/api/4.xml 4 \ -since ./frameworks/base/api/5.xml 5 \ + -since ./frameworks/base/api/6.xml 6 \ + -since ./frameworks/base/api/7.xml 7 \ -error 1 -error 2 -warning 3 -error 4 -error 6 -error 8 \ -overview $(LOCAL_PATH)/core/java/overview.html @@ -355,25 +358,35 @@ sample_dir := development/samples web_docs_sample_code_flags := \ -hdf android.hasSamples 1 \ -samplecode $(sample_dir)/ApiDemos \ - guide/samples/ApiDemos "API Demos" \ + resources/samples/ApiDemos "API Demos" \ + -samplecode $(sample_dir)/BluetoothChat \ + resources/samples/BluetoothChat "Bluetooth Chat" \ + -samplecode $(sample_dir)/ContactManager \ + resources/samples/ContactManager "Contact Manager" \ -samplecode $(sample_dir)/Home \ - guide/samples/Home "Home" \ + resources/samples/Home "Home" \ -samplecode $(sample_dir)/JetBoy \ - guide/samples/JetBoy "JetBoy" \ + resources/samples/JetBoy "JetBoy" \ -samplecode $(sample_dir)/LunarLander \ - guide/samples/LunarLander "Lunar Lander" \ + resources/samples/LunarLander "Lunar Lander" \ + -samplecode $(sample_dir)/MultiResolution \ + resources/samples/MultiResolution "Multiple Resolutions" \ -samplecode $(sample_dir)/NotePad \ - guide/samples/NotePad "Note Pad" \ + resources/samples/NotePad "Note Pad" \ -samplecode $(sample_dir)/SearchableDictionary \ - guide/samples/SearchableDictionary "Searchable Dictionary" \ + resources/samples/SearchableDictionary "Searchable Dictionary" \ -samplecode $(sample_dir)/Snake \ - guide/samples/Snake "Snake" \ + resources/samples/Snake "Snake" \ -samplecode $(sample_dir)/SoftKeyboard \ - guide/samples/SoftKeyboard "Soft Keyboard" + resources/samples/SoftKeyboard "Soft Keyboard" \ + -samplecode $(sample_dir)/Wiktionary \ + resources/samples/Wiktionary "Wiktionary" \ + -samplecode $(sample_dir)/WiktionarySimple \ + resources/samples/WiktionarySimple "Wiktionary (Simplified)" ## SDK version identifiers used in the published docs # major[.minor] version for current SDK. (full releases only) -framework_docs_SDK_VERSION:=2.0 +framework_docs_SDK_VERSION:=2.0.1 # release version (ie "Release x") (full releases only) framework_docs_SDK_REL_ID:=1 # name of current SDK directory (full releases only) @@ -382,10 +395,10 @@ framework_docs_SDK_CURRENT_DIR:=$(framework_docs_SDK_VERSION)_r$(framework_docs_ framework_docs_SDK_PREVIEW:=0 ## Latest ADT version identifiers, for reference from published docs -framework_docs_ADT_VERSION:=0.9.4 -framework_docs_ADT_DOWNLOAD:=ADT-0.9.4.zip -framework_docs_ADT_BYTES:=3367536 -framework_docs_ADT_CHECKSUM:=4cdecd72b3e28022d8a55891f13e7d43 +framework_docs_ADT_VERSION:=0.9.5 +framework_docs_ADT_DOWNLOAD:=ADT-0.9.5.zip +framework_docs_ADT_BYTES:=3372982 +framework_docs_ADT_CHECKSUM:=227ec538359fbe417ccde7f0ad614a96 framework_docs_LOCAL_DROIDDOC_OPTIONS += \ -hdf sdk.version $(framework_docs_SDK_VERSION) \ @@ -439,6 +452,8 @@ LOCAL_MODULE := offline-sdk LOCAL_DROIDDOC_OPTIONS:=\ $(framework_docs_LOCAL_DROIDDOC_OPTIONS) \ + $(web_docs_sample_code_flags) \ + -offlinemode \ -title "Android SDK" \ -proofread $(OUT_DOCS)/$(LOCAL_MODULE)-proofread.txt \ -todo $(OUT_DOCS)/$(LOCAL_MODULE)-docs-todo.html \ diff --git a/api/6.xml b/api/6.xml index 32d0f1ed5201be929846e09a7094fb27b496d1bf..a4103fdf005ea6c2e6fbd1322c5805964a636374 100644 --- a/api/6.xml +++ b/api/6.xml @@ -8842,17 +8842,6 @@ visibility="public" > - - - - - + @@ -14007,7 +13985,7 @@ - + @@ -14275,7 +14253,7 @@ - + - + @@ -14491,7 +14469,7 @@ - + @@ -14660,7 +14638,7 @@ - + @@ -15058,71 +15036,6 @@ > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/api/current.xml b/api/current.xml index 32d0f1ed5201be929846e09a7094fb27b496d1bf..83d2bc74d18656bc99bb133a27d0cf6859193d57 100644 --- a/api/current.xml +++ b/api/current.xml @@ -976,7 +976,7 @@ value=""android.permission.SET_PREFERRED_APPLICATIONS"" static="true" final="true" - deprecated="not deprecated" + deprecated="deprecated" visibility="public" > @@ -1934,6 +1934,17 @@ visibility="public" > + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -36433,6 +36436,17 @@ visibility="public" > + + @@ -41871,7 +41885,7 @@ synchronized="false" static="false" final="false" - deprecated="not deprecated" + deprecated="deprecated" visibility="public" > @@ -42013,6 +42027,116 @@ visibility="public" > + + + + + + + + + + + + + + + + + + + + + + + + + + - + + - - - - - - @@ -124678,6 +124809,20 @@ deprecated="not deprecated" visibility="public" > + + + + + + + + @@ -125489,6 +125634,21 @@ + + + + + + + + + + + + @@ -125904,6 +126088,131 @@ > + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -175087,8 +175396,8 @@ visibility="public" > - - - - - - - - - + + - - + - - + + + + + + + + + + + + + + + + + + + + + seekTo(0); - mMediaPlayerBeep->start(); + // do not play record jingle if stream volume is 0 + // (typically because ringer mode is silent). + int index; + AudioSystem::getStreamVolumeIndex(AudioSystem::ENFORCED_AUDIBLE, &index); + if (index != 0) { + mMediaPlayerBeep->seekTo(0); + mMediaPlayerBeep->start(); + } } mHardware->enableMsgType(CAMERA_MSG_VIDEO_FRAME); @@ -888,8 +894,14 @@ void CameraService::Client::handleShutter( { // Play shutter sound. if (mMediaPlayerClick.get() != NULL) { - mMediaPlayerClick->seekTo(0); - mMediaPlayerClick->start(); + // do not play shutter sound if stream volume is 0 + // (typically because ringer mode is silent). + int index; + AudioSystem::getStreamVolumeIndex(AudioSystem::ENFORCED_AUDIBLE, &index); + if (index != 0) { + mMediaPlayerClick->seekTo(0); + mMediaPlayerClick->start(); + } } // Screen goes black after the buffer is unregistered. diff --git a/cmds/dumpstate/dumpstate.c b/cmds/dumpstate/dumpstate.c index 642c943ffd3685a8b5884adaf214a0884278491f..5a485e4b991f28d5695ad46395e3efb9e16c3726 100644 --- a/cmds/dumpstate/dumpstate.c +++ b/cmds/dumpstate/dumpstate.c @@ -84,6 +84,8 @@ static void dumpstate(int full) { EXEC("dmesg"); PRINT("------ KERNEL WAKELOCKS ------"); DUMP("/proc/wakelocks"); + PRINT("------ KERNEL CPUFREQ ------"); + DUMP("/sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state"); PRINT(""); PRINT("------ PROCESSES ------"); EXEC1("ps", "-P"); @@ -112,7 +114,11 @@ static void dumpstate(int full) { PRINT("------ PACKAGE UID ERRORS ------"); DUMP("/data/system/uiderrors.txt"); - dump_kernel_log("/data/dontpanic/last_kmsg", "LAST KMSG"); + dump_kernel_log("/proc/last_kmsg", "LAST KMSG"); + + PRINT("------ LAST RADIO LOG ------"); + EXEC1("parse_radio_log", "/proc/last_radio_log"); + dump_kernel_log("/data/dontpanic/apanic_console", "PANIC CONSOLE"); dump_kernel_log("/data/dontpanic/apanic_threads", diff --git a/cmds/svc/src/com/android/commands/svc/PowerCommand.java b/cmds/svc/src/com/android/commands/svc/PowerCommand.java index e021012268c9d9b5b0a0acd7a54d40748f08197a..d3ec3d98b357a4ca50887ff9f08e2abe3f12c476 100644 --- a/cmds/svc/src/com/android/commands/svc/PowerCommand.java +++ b/cmds/svc/src/com/android/commands/svc/PowerCommand.java @@ -66,7 +66,7 @@ public class PowerCommand extends Svc.Command { IBinder lock = new Binder(); pm.acquireWakeLock(PowerManager.FULL_WAKE_LOCK, lock, "svc power"); pm.setStayOnSetting(val); - pm.releaseWakeLock(lock); + pm.releaseWakeLock(lock, 0); } catch (RemoteException e) { System.err.println("Faild to set setting: " + e); diff --git a/core/java/android/accounts/AccountManagerResponse.java b/core/java/android/accounts/AccountManagerResponse.java index 1cd6a74973bdecfc606e34fcde075e120d274a57..11c6e60c782bb56e195a8bb70c31f343f11dba49 100644 --- a/core/java/android/accounts/AccountManagerResponse.java +++ b/core/java/android/accounts/AccountManagerResponse.java @@ -22,7 +22,8 @@ import android.os.Parcelable; import android.os.RemoteException; /** - * Used by Account Authenticators to return a response. + * Used to return a response to the AccountManager. + * @hide */ public class AccountManagerResponse implements Parcelable { private IAccountManagerResponse mResponse; diff --git a/core/java/android/accounts/GrantCredentialsPermissionActivity.java b/core/java/android/accounts/GrantCredentialsPermissionActivity.java index e3ed2e949a6370aa4fbd1a69b0ab773e315b9718..4282c1b4641ce5973baa31587722103e63881956 100644 --- a/core/java/android/accounts/GrantCredentialsPermissionActivity.java +++ b/core/java/android/accounts/GrantCredentialsPermissionActivity.java @@ -26,6 +26,7 @@ import android.view.ViewGroup; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; +import android.text.TextUtils; import com.android.internal.R; /** @@ -59,7 +60,7 @@ public class GrantCredentialsPermissionActivity extends Activity implements View TextView messageView = (TextView) getWindow().findViewById(R.id.message); String authTokenLabel = getIntent().getExtras().getString(EXTRAS_AUTH_TOKEN_LABEL); - if (authTokenLabel.length() == 0) { + if (TextUtils.isEmpty(authTokenLabel)) { CharSequence grantCredentialsPermissionFormat = getResources().getText( R.string.grant_credentials_permission_message_desc); messageView.setText(String.format(grantCredentialsPermissionFormat.toString(), diff --git a/core/java/android/annotation/SdkConstant.java b/core/java/android/annotation/SdkConstant.java index 6ac70f0c78a6bce071408086f390b139f8e89da9..0a5318609847f1214d493de5522aa9d3f8a0c93b 100644 --- a/core/java/android/annotation/SdkConstant.java +++ b/core/java/android/annotation/SdkConstant.java @@ -29,7 +29,7 @@ import java.lang.annotation.RetentionPolicy; @Retention(RetentionPolicy.SOURCE) public @interface SdkConstant { public static enum SdkConstantType { - ACTIVITY_INTENT_ACTION, BROADCAST_INTENT_ACTION, SERVICE_ACTION, INTENT_CATEGORY; + ACTIVITY_INTENT_ACTION, BROADCAST_INTENT_ACTION, SERVICE_ACTION, INTENT_CATEGORY, FEATURE; } SdkConstantType value(); diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java index b116bf8fd3064e0b3de7cf60ff16f6ff6b4425a4..909620d21dca14d581974791192d68d7248325d0 100644 --- a/core/java/android/app/ActivityThread.java +++ b/core/java/android/app/ActivityThread.java @@ -178,15 +178,16 @@ public final class ActivityThread { * null. */ Resources getTopLevelResources(String resDir, CompatibilityInfo compInfo) { + ResourcesKey key = new ResourcesKey(resDir, compInfo.applicationScale); + Resources r; synchronized (mPackages) { // Resources is app scale dependent. - ResourcesKey key = new ResourcesKey(resDir, compInfo.applicationScale); if (false) { Log.w(TAG, "getTopLevelResources: " + resDir + " / " + compInfo.applicationScale); } WeakReference wr = mActiveResources.get(key); - Resources r = wr != null ? wr.get() : null; + r = wr != null ? wr.get() : null; if (r != null && r.getAssets().isUpToDate()) { if (false) { Log.w(TAG, "Returning cached resources " + r + " " + resDir @@ -194,25 +195,37 @@ public final class ActivityThread { } return r; } + } - //if (r != null) { - // Log.w(TAG, "Throwing away out-of-date resources!!!! " - // + r + " " + resDir); - //} + //if (r != null) { + // Log.w(TAG, "Throwing away out-of-date resources!!!! " + // + r + " " + resDir); + //} - AssetManager assets = new AssetManager(); - if (assets.addAssetPath(resDir) == 0) { - return null; - } + AssetManager assets = new AssetManager(); + if (assets.addAssetPath(resDir) == 0) { + return null; + } - //Log.i(TAG, "Resource: key=" + key + ", display metrics=" + metrics); - DisplayMetrics metrics = getDisplayMetricsLocked(false); - r = new Resources(assets, metrics, getConfiguration(), compInfo); - if (false) { - Log.i(TAG, "Created app resources " + resDir + " " + r + ": " - + r.getConfiguration() + " appScale=" - + r.getCompatibilityInfo().applicationScale); + //Log.i(TAG, "Resource: key=" + key + ", display metrics=" + metrics); + DisplayMetrics metrics = getDisplayMetricsLocked(false); + r = new Resources(assets, metrics, getConfiguration(), compInfo); + if (false) { + Log.i(TAG, "Created app resources " + resDir + " " + r + ": " + + r.getConfiguration() + " appScale=" + + r.getCompatibilityInfo().applicationScale); + } + + synchronized (mPackages) { + WeakReference wr = mActiveResources.get(key); + Resources existing = wr != null ? wr.get() : null; + if (existing != null && existing.getAssets().isUpToDate()) { + // Someone else already created the resources while we were + // unlocked; go ahead and use theirs. + r.getAssets().close(); + return existing; } + // XXX need to remove entries when weak references go away mActiveResources.put(key, new WeakReference(r)); return r; @@ -678,6 +691,20 @@ public final class ActivityThread { if (rd != null) { rd.performReceive(intent, resultCode, data, extras, ordered, sticky); + } else { + // The activity manager dispatched a broadcast to a registered + // receiver in this process, but before it could be delivered the + // receiver was unregistered. Acknowledge the broadcast on its + // behalf so that the system's broadcast sequence can continue. + if (DEBUG_BROADCAST) { + Log.i(TAG, "Broadcast to unregistered receiver"); + } + IActivityManager mgr = ActivityManagerNative.getDefault(); + try { + mgr.finishReceiver(this, resultCode, data, extras, false); + } catch (RemoteException e) { + Log.w(TAG, "Couldn't finish broadcast to unregistered receiver"); + } } } } @@ -703,8 +730,8 @@ public final class ActivityThread { BroadcastReceiver receiver = mReceiver; if (DEBUG_BROADCAST) { int seq = mCurIntent.getIntExtra("seq", -1); - Log.i(TAG, "Dispathing broadcast " + mCurIntent.getAction() + " seq=" + seq - + " to " + mReceiver); + Log.i(TAG, "Dispatching broadcast " + mCurIntent.getAction() + + " seq=" + seq + " to " + mReceiver); } if (receiver == null) { return; @@ -1356,13 +1383,14 @@ public final class ActivityThread { public final void scheduleRelaunchActivity(IBinder token, List pendingResults, List pendingNewIntents, - int configChanges, boolean notResumed) { + int configChanges, boolean notResumed, Configuration config) { ActivityRecord r = new ActivityRecord(); r.token = token; r.pendingResults = pendingResults; r.pendingIntents = pendingNewIntents; r.startsNotResumed = notResumed; + r.createdConfig = config; synchronized (mRelaunchingActivities) { mRelaunchingActivities.add(r); @@ -2484,7 +2512,7 @@ public final class ActivityThread { Activity a = performLaunchActivity(r, customIntent); if (a != null) { - r.createdConfig = new Configuration(a.getResources().getConfiguration()); + r.createdConfig = new Configuration(mConfiguration); handleResumeActivity(r.token, false, r.isForward); if (!r.activity.mFinished && r.startsNotResumed) { @@ -3536,6 +3564,16 @@ public final class ActivityThread { } } + if (tmp.createdConfig != null) { + // If the activity manager is passing us its current config, + // assume that is really what we want regardless of what we + // may have pending. + if (mConfiguration == null + || mConfiguration.diff(tmp.createdConfig) != 0) { + changedConfig = tmp.createdConfig; + } + } + if (DEBUG_CONFIGURATION) Log.v(TAG, "Relaunching activity " + tmp.token + ": changedConfig=" + changedConfig); diff --git a/core/java/android/app/ApplicationThreadNative.java b/core/java/android/app/ApplicationThreadNative.java index a772a8f78ddf7d65db7f743570b8dc43e2f53ee7..7cba13fe428b57fcf85af7fd7356d9a008f58a48 100644 --- a/core/java/android/app/ApplicationThreadNative.java +++ b/core/java/android/app/ApplicationThreadNative.java @@ -140,7 +140,11 @@ public abstract class ApplicationThreadNative extends Binder List pi = data.createTypedArrayList(Intent.CREATOR); int configChanges = data.readInt(); boolean notResumed = data.readInt() != 0; - scheduleRelaunchActivity(b, ri, pi, configChanges, notResumed); + Configuration config = null; + if (data.readInt() != 0) { + config = Configuration.CREATOR.createFromParcel(data); + } + scheduleRelaunchActivity(b, ri, pi, configChanges, notResumed, config); return true; } @@ -491,7 +495,8 @@ class ApplicationThreadProxy implements IApplicationThread { public final void scheduleRelaunchActivity(IBinder token, List pendingResults, List pendingNewIntents, - int configChanges, boolean notResumed) throws RemoteException { + int configChanges, boolean notResumed, Configuration config) + throws RemoteException { Parcel data = Parcel.obtain(); data.writeInterfaceToken(IApplicationThread.descriptor); data.writeStrongBinder(token); @@ -499,6 +504,12 @@ class ApplicationThreadProxy implements IApplicationThread { data.writeTypedList(pendingNewIntents); data.writeInt(configChanges); data.writeInt(notResumed ? 1 : 0); + if (config != null) { + data.writeInt(1); + config.writeToParcel(data, 0); + } else { + data.writeInt(0); + } mRemote.transact(SCHEDULE_RELAUNCH_ACTIVITY_TRANSACTION, data, null, IBinder.FLAG_ONEWAY); data.recycle(); diff --git a/core/java/android/app/IApplicationThread.java b/core/java/android/app/IApplicationThread.java index 89a52fd70d50ea077f3cd9fc576012d2f2b1047e..ed810d3c1e8de28a1c363f892d6a0f6886fd2cbb 100644 --- a/core/java/android/app/IApplicationThread.java +++ b/core/java/android/app/IApplicationThread.java @@ -56,7 +56,7 @@ public interface IApplicationThread extends IInterface { throws RemoteException; void scheduleRelaunchActivity(IBinder token, List pendingResults, List pendingNewIntents, int configChanges, - boolean notResumed) throws RemoteException; + boolean notResumed, Configuration config) throws RemoteException; void scheduleNewIntent(List intent, IBinder token) throws RemoteException; void scheduleDestroyActivity(IBinder token, boolean finished, int configChanges) throws RemoteException; diff --git a/core/java/android/app/SearchManager.java b/core/java/android/app/SearchManager.java index 7f5a1e7bac53801f2b9d6fe4e992353eaf3fac3c..2e94a2f5fcb18903d1d60e70d62f052b84a70a70 100644 --- a/core/java/android/app/SearchManager.java +++ b/core/java/android/app/SearchManager.java @@ -769,17 +769,15 @@ import java.util.List; * * * android:icon - * If provided, this icon will be shown in place of the label above the search box. - * This is a reference to a drawable (icon) resource. Note that the application icon - * is also used as an icon to the left of the search box and you cannot modify this - * behavior, so including the icon attribute is unecessary and this may be - * deprecated in the future. + * This is deprecated.
The default + * application icon is now always used, so this attribute is + * obsolete. * No * * * android:hint - * This is the text to display in the search text field when no user text has been - * entered. + * This is the text to display in the search text field when no text + * has been entered by the user. * No * * @@ -790,17 +788,14 @@ import java.util.List; * * showSearchLabelAsBadge * If set, this flag enables the display of the search target (label) - * above the search box. If this flag and showSearchIconAsBadge - * (see below) are both not set, no badge will be shown. + * above the search box. As an alternative, you may + * want to instead use "hint" text in the search box. + * See the "android:hint" attribute above. * * showSearchIconAsBadge - * If set, this flag enables the display of the search target (icon) - * above the search box. If this flag and showSearchLabelAsBadge - * (see above) are both not set, no badge will be shown. If both flags - * are set, showSearchIconAsBadge has precedence and the icon will be - * shown. Because the application icon is now used to the left of the - * search box by default, using this search mode is no longer necessary - * and may be deprecated in the future. + * This is deprecated.
The default + * application icon is now always used, so this + * option is obsolete. * * queryRewriteFromData * If set, this flag causes the suggestion column SUGGEST_COLUMN_INTENT_DATA diff --git a/core/java/android/app/WallpaperInfo.java b/core/java/android/app/WallpaperInfo.java index 34d3133bdf05e89eb15e2dafdec22040d2decbec..1034fabfc58aec82dedfd2977a9eb1024f74b053 100644 --- a/core/java/android/app/WallpaperInfo.java +++ b/core/java/android/app/WallpaperInfo.java @@ -101,10 +101,10 @@ public final class WallpaperInfo implements Parcelable { com.android.internal.R.styleable.Wallpaper_thumbnail, -1); authorRes = sa.getResourceId( - com.android.internal.R.styleable.Wallpaper_wallpaperAuthor, + com.android.internal.R.styleable.Wallpaper_author, -1); descriptionRes = sa.getResourceId( - com.android.internal.R.styleable.Wallpaper_wallpaperDescription, + com.android.internal.R.styleable.Wallpaper_description, -1); sa.recycle(); diff --git a/core/java/android/app/WallpaperManager.java b/core/java/android/app/WallpaperManager.java index e98b286db6d470da5da8cca470332bb55f3d3f8f..e455a5966c8af23a30c06c1c5af5d1de0c51e6b2 100644 --- a/core/java/android/app/WallpaperManager.java +++ b/core/java/android/app/WallpaperManager.java @@ -63,6 +63,21 @@ public class WallpaperManager { public static final String ACTION_LIVE_WALLPAPER_CHOOSER = "android.service.wallpaper.LIVE_WALLPAPER_CHOOSER"; + /** + * Command for {@link #sendWallpaperCommand}: reported by the wallpaper + * host when the user taps on an empty area (not performing an action + * in the host). The x and y arguments are the location of the tap in + * screen coordinates. + */ + public static final String COMMAND_TAP = "android.wallpaper.tap"; + + /** + * Command for {@link #sendWallpaperCommand}: reported by the wallpaper + * host when the user drops an object into an area of the host. The x + * and y arguments are the location of the drop. + */ + public static final String COMMAND_DROP = "android.home.drop"; + private final Context mContext; /** @@ -195,7 +210,12 @@ public class WallpaperManager { if (mDefaultWallpaper != null) { return mDefaultWallpaper; } - mWallpaper = getCurrentWallpaperLocked(context); + mWallpaper = null; + try { + mWallpaper = getCurrentWallpaperLocked(context); + } catch (OutOfMemoryError e) { + Log.w(TAG, "No memory load current wallpaper", e); + } if (mWallpaper == null && returnDefault) { mDefaultWallpaper = getDefaultWallpaperLocked(context); return mDefaultWallpaper; @@ -279,7 +299,12 @@ public class WallpaperManager { } catch (IOException e) { } - return generateBitmap(context, bm, width, height); + try { + return generateBitmap(context, bm, width, height); + } catch (OutOfMemoryError e) { + Log.w(TAG, "Can't generate default bitmap", e); + return bm; + } } } catch (RemoteException e) { } @@ -594,7 +619,7 @@ public class WallpaperManager { /** * For applications that use multiple virtual screens showing a wallpaper, * specify the step size between virtual screens. For example, if the - * launcher has 5 virtual screens, it would specify an xStep of 0.5, + * launcher has 3 virtual screens, it would specify an xStep of 0.5, * since the X offset for those screens are 0.0, 0.5 and 1.0 * @param xStep The X offset delta from one screen to the next one * @param yStep The Y offset delta from one screen to the next one diff --git a/core/java/android/bluetooth/BluetoothA2dp.java b/core/java/android/bluetooth/BluetoothA2dp.java index e8a69d8c1f766238475d51eca3478c4bee86dee7..fda9b81c8f0e0b08d385142538e27a559560274c 100644 --- a/core/java/android/bluetooth/BluetoothA2dp.java +++ b/core/java/android/bluetooth/BluetoothA2dp.java @@ -42,7 +42,7 @@ import java.util.HashSet; * * Currently the BluetoothA2dp service runs in the system server and this * proxy object will be immediately bound to the service on construction. - * + * * Currently this class provides methods to connect to A2DP audio sinks. * * @hide @@ -74,9 +74,12 @@ public final class BluetoothA2dp { /** Playing implies connected */ public static final int STATE_PLAYING = 4; + /** Default priority for a2dp devices that we try to auto-connect + * and allow incoming connections */ + public static final int PRIORITY_AUTO_CONNECT = 1000; /** Default priority for a2dp devices that should allow incoming * connections */ - public static final int PRIORITY_AUTO = 100; + public static final int PRIORITY_ON = 100; /** Default priority for a2dp devices that should not allow incoming * connections */ public static final int PRIORITY_OFF = 0; @@ -196,6 +199,22 @@ public final class BluetoothA2dp { } } + /** Check if any A2DP sink is in Non Disconnected state + * i.e playing, connected, connecting, disconnecting. + * @return a unmodifiable set of connected A2DP sinks, or null on error. + * @hide + */ + public Set getNonDisconnectedSinks() { + if (DBG) log("getNonDisconnectedSinks()"); + try { + return Collections.unmodifiableSet( + new HashSet(Arrays.asList(mService.getNonDisconnectedSinks()))); + } catch (RemoteException e) { + Log.e(TAG, "", e); + return null; + } + } + /** Get the state of an A2DP sink * @param device Remote BT device. * @return State code, one of STATE_ diff --git a/core/java/android/bluetooth/BluetoothAdapter.java b/core/java/android/bluetooth/BluetoothAdapter.java index bd5b07cff640e69b0c138e9d571e0274c58815c1..8eda844380e0a04fb5d8bd56dca459a0ad2aee5b 100644 --- a/core/java/android/bluetooth/BluetoothAdapter.java +++ b/core/java/android/bluetooth/BluetoothAdapter.java @@ -130,13 +130,13 @@ public final class BluetoothAdapter { /** * Activity Action: Show a system activity that requests discoverable mode. - *

This activity will also request the user to turn on Bluetooth if it + * This activity will also request the user to turn on Bluetooth if it * is not currently enabled. *

Discoverable mode is equivalent to {@link * #SCAN_MODE_CONNECTABLE_DISCOVERABLE}. It allows remote devices to see * this Bluetooth adapter when they perform a discovery. - *

For privacy, Android is not by default discoverable. - *

The sender can optionally use extra field {@link + *

For privacy, Android is not discoverable by default. + *

The sender of this Intent can optionally use extra field {@link * #EXTRA_DISCOVERABLE_DURATION} to request the duration of * discoverability. Currently the default duration is 120 seconds, and * maximum duration is capped at 300 seconds for each request. @@ -147,7 +147,8 @@ public final class BluetoothAdapter { * {@link android.app.Activity#RESULT_CANCELED} if the user rejected * discoverability or an error has occurred. *

Applications can also listen for {@link #ACTION_SCAN_MODE_CHANGED} - * for global notification whenever the scan mode changes. + * for global notification whenever the scan mode changes. For example, an + * application can be notified when the device has ended discoverability. *

Requires {@link android.Manifest.permission#BLUETOOTH} */ @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION) @@ -369,9 +370,17 @@ public final class BluetoothAdapter { } /** - * Turn on the local Bluetooth adapter. + * Turn on the local Bluetooth adapter—do not use without explicit + * user action to turn on Bluetooth. *

This powers on the underlying Bluetooth hardware, and starts all * Bluetooth system services. + *

Bluetooth should never be enabled without + * direct user consent. If you want to turn on Bluetooth in order + * to create a wireless connection, you should use the {@link + * #ACTION_REQUEST_ENABLE} Intent, which will raise a dialog that requests + * user permission to turn on Bluetooth. The {@link #enable()} method is + * provided only for applications that include a user interface for changing + * system settings, such as a "power manager" app.

*

This is an asynchronous call: it will return immediately, and * clients should listen for {@link #ACTION_STATE_CHANGED} * to be notified of subsequent adapter state changes. If this call returns @@ -381,7 +390,8 @@ public final class BluetoothAdapter { * #STATE_ON}. If this call returns false then there was an * immediate problem that will prevent the adapter from being turned on - * such as Airplane mode, or the adapter is already turned on. - *

Requires {@link android.Manifest.permission#BLUETOOTH_ADMIN} + *

Requires the {@link android.Manifest.permission#BLUETOOTH_ADMIN} + * permission * * @return true to indicate adapter startup has begun, or false on * immediate error @@ -394,9 +404,14 @@ public final class BluetoothAdapter { } /** - * Turn off the local Bluetooth adapter. + * Turn off the local Bluetooth adapter—do not use without explicit + * user action to turn off Bluetooth. *

This gracefully shuts down all Bluetooth connections, stops Bluetooth * system services, and powers down the underlying Bluetooth hardware. + *

Bluetooth should never be disbled without + * direct user consent. The {@link #disable()} method is + * provided only for applications that include a user interface for changing + * system settings, such as a "power manager" app.

*

This is an asynchronous call: it will return immediately, and * clients should listen for {@link #ACTION_STATE_CHANGED} * to be notified of subsequent adapter state changes. If this call returns @@ -406,7 +421,8 @@ public final class BluetoothAdapter { * #STATE_ON}. If this call returns false then there was an * immediate problem that will prevent the adapter from being turned off - * such as the adapter already being turned off. - *

Requires {@link android.Manifest.permission#BLUETOOTH_ADMIN} + *

Requires the {@link android.Manifest.permission#BLUETOOTH_ADMIN} + * permission * * @return true to indicate adapter shutdown has begun, or false on * immediate error @@ -549,7 +565,10 @@ public final class BluetoothAdapter { * remote Bluetooth devices should not be attempted while discovery is in * progress, and existing connections will experience limited bandwidth * and high latency. Use {@link #cancelDiscovery()} to cancel an ongoing - * discovery. + * discovery. Discovery is not managed by the Activity, + * but is run as a system service, so an application should always call + * {@link BluetoothAdapter#cancelDiscovery()} even if it + * did not directly request a discovery, just to be sure. *

Device discovery will only find remote devices that are currently * discoverable (inquiry scan enabled). Many Bluetooth devices are * not discoverable by default, and need to be entered into a special mode. @@ -567,6 +586,13 @@ public final class BluetoothAdapter { /** * Cancel the current device discovery process. *

Requires {@link android.Manifest.permission#BLUETOOTH_ADMIN}. + *

Because discovery is a heavyweight precedure for the Bluetooth + * adapter, this method should always be called before attempting to connect + * to a remote device with {@link + * android.bluetooth.BluetoothSocket#connect()}. Discovery is not managed by + * the Activity, but is run as a system service, so an application should + * always call cancel discovery even if it did not directly request a + * discovery, just to be sure. * * @return true on success, false on error */ diff --git a/core/java/android/bluetooth/BluetoothClass.java b/core/java/android/bluetooth/BluetoothClass.java index bc067130584ef6aa575ad2d225184aca8336e13d..c7fea9e1dad026f728b5795be98d2bcb575a1c78 100644 --- a/core/java/android/bluetooth/BluetoothClass.java +++ b/core/java/android/bluetooth/BluetoothClass.java @@ -25,10 +25,6 @@ import android.os.Parcelable; * specify the general device type such as a phone, a computer, or * headset, and whether it's capable of services such as audio or telephony. * - *

The Bluetooth class is useful as a hint to roughly describe a device (for example to - * show an icon in the UI), but does not reliably describe which Bluetooth - * profiles or services are actually supported by a device. - * *

Every Bluetooth class is composed of zero or more service classes, and * exactly one device class. The device class is further broken down into major * and minor device class components. diff --git a/core/java/android/bluetooth/BluetoothDevice.java b/core/java/android/bluetooth/BluetoothDevice.java index 6cb9770a61005f25cd17b4af8881df164bd2bf97..cf9c58f122832af3b390dcec2c4d284f8bab01a1 100644 --- a/core/java/android/bluetooth/BluetoothDevice.java +++ b/core/java/android/bluetooth/BluetoothDevice.java @@ -624,6 +624,14 @@ public final class BluetoothDevice implements Parcelable { return false; } + /** @hide */ + public boolean isBluetoothDock() { + try { + return sService.isBluetoothDock(mAddress); + } catch (RemoteException e) {Log.e(TAG, "", e);} + return false; + } + /** * Create an RFCOMM {@link BluetoothSocket} ready to start a secure * outgoing connection to this remote device on given channel. diff --git a/core/java/android/bluetooth/BluetoothHeadset.java b/core/java/android/bluetooth/BluetoothHeadset.java index 90cff6b8c90269b0be448180f81ff800499de6da..5eb655a27937b05e220c14e5ca92b1b67d37a45b 100644 --- a/core/java/android/bluetooth/BluetoothHeadset.java +++ b/core/java/android/bluetooth/BluetoothHeadset.java @@ -100,9 +100,14 @@ public final class BluetoothHeadset { /** Connection canceled before completetion. */ public static final int RESULT_CANCELED = 2; - /** Default priority for headsets that should be auto-connected */ - public static final int PRIORITY_AUTO = 100; - /** Default priority for headsets that should not be auto-connected */ + /** Default priority for headsets that for which we will accept + * inconing connections and auto-connect */ + public static final int PRIORITY_AUTO_CONNECT = 1000; + /** Default priority for headsets that for which we will accept + * inconing connections but not auto-connect */ + public static final int PRIORITY_ON = 100; + /** Default priority for headsets that should not be auto-connected + * and not allow incoming connections. */ public static final int PRIORITY_OFF = 0; /** The voice dialer 'works' but the user experience is poor. The voice diff --git a/core/java/android/bluetooth/BluetoothServerSocket.java b/core/java/android/bluetooth/BluetoothServerSocket.java index 1b23f6c048d2537040e03471f8e3a1c09b7d88ab..c9c6c0acd9a7673e46c87c8e83e2524c7df9518a 100644 --- a/core/java/android/bluetooth/BluetoothServerSocket.java +++ b/core/java/android/bluetooth/BluetoothServerSocket.java @@ -42,7 +42,11 @@ import java.io.IOException; * BluetoothAdapter.listenUsingRfcommWithServiceRecord()}. Then call * {@link #accept()} to listen for incoming connection requests. This call * will block until a connection is established, at which point, it will return - * a {@link BluetoothSocket} to manage the connection. + * a {@link BluetoothSocket} to manage the connection. Once the {@link + * BluetoothSocket} is acquired, it's a good idea to call {@link #close()} on + * the {@link BluetoothServerSocket} when it's no longer needed for accepting + * connections. Closing the {@link BluetoothServerSocket} will not + * close the returned {@link BluetoothSocket}. * *

{@link BluetoothServerSocket} is thread * safe. In particular, {@link #close} will always immediately abort ongoing @@ -105,6 +109,8 @@ public final class BluetoothServerSocket implements Closeable { * Immediately close this socket, and release all associated resources. *

Causes blocked calls on this socket in other threads to immediately * throw an IOException. + *

Closing the {@link BluetoothServerSocket} will not + * close any {@link BluetoothSocket} received from {@link #accept()}. */ public void close() throws IOException { synchronized (this) { diff --git a/core/java/android/bluetooth/BluetoothSocket.java b/core/java/android/bluetooth/BluetoothSocket.java index dbcc758574b65a0339822e18f8c4941f9fb26c91..ad033999e0d2ea1f4faa4b71c91228b46f155674 100644 --- a/core/java/android/bluetooth/BluetoothSocket.java +++ b/core/java/android/bluetooth/BluetoothSocket.java @@ -180,6 +180,15 @@ public final class BluetoothSocket implements Closeable { *

This method will block until a connection is made or the connection * fails. If this method returns without an exception then this socket * is now connected. + *

Creating new connections to + * remote Bluetooth devices should not be attempted while device discovery + * is in progress. Device discovery is a heavyweight procedure on the + * Bluetooth adapter and will significantly slow a device connection. + * Use {@link BluetoothAdapter#cancelDiscovery()} to cancel an ongoing + * discovery. Discovery is not managed by the Activity, + * but is run as a system service, so an application should always call + * {@link BluetoothAdapter#cancelDiscovery()} even if it + * did not directly request a discovery, just to be sure. *

{@link #close} can be used to abort this call from another thread. * @throws IOException on error, for example connection failure */ diff --git a/core/java/android/bluetooth/IBluetooth.aidl b/core/java/android/bluetooth/IBluetooth.aidl index 7e752af428f6263ca509578b2b7b427e51ec836f..08687795d932b0489bc273de8a1d706324d55b31 100644 --- a/core/java/android/bluetooth/IBluetooth.aidl +++ b/core/java/android/bluetooth/IBluetooth.aidl @@ -64,6 +64,7 @@ interface IBluetooth boolean setTrust(in String address, in boolean value); boolean getTrustState(in String address); + boolean isBluetoothDock(in String address); int addRfcommServiceRecord(in String serviceName, in ParcelUuid uuid, int channel, IBinder b); void removeServiceRecord(int handle); diff --git a/core/java/android/bluetooth/IBluetoothA2dp.aidl b/core/java/android/bluetooth/IBluetoothA2dp.aidl index 002cf4efff61bcc16d690573bfdf991c3cc96182..168fe3b252daa09ce54a121c1377e3094411bad4 100644 --- a/core/java/android/bluetooth/IBluetoothA2dp.aidl +++ b/core/java/android/bluetooth/IBluetoothA2dp.aidl @@ -29,6 +29,7 @@ interface IBluetoothA2dp { boolean suspendSink(in BluetoothDevice device); boolean resumeSink(in BluetoothDevice device); BluetoothDevice[] getConnectedSinks(); // change to Set<> once AIDL supports + BluetoothDevice[] getNonDisconnectedSinks(); // change to Set<> once AIDL supports int getSinkState(in BluetoothDevice device); boolean setSinkPriority(in BluetoothDevice device, int priority); int getSinkPriority(in BluetoothDevice device); diff --git a/core/java/android/content/AbstractSyncableContentProvider.java b/core/java/android/content/AbstractSyncableContentProvider.java index fbe3548e8a02521c72e1da6461eb31974ee8f423..37162740849806b7c2186d95d60897d308748faa 100644 --- a/core/java/android/content/AbstractSyncableContentProvider.java +++ b/core/java/android/content/AbstractSyncableContentProvider.java @@ -135,8 +135,10 @@ public abstract class AbstractSyncableContentProvider extends SyncableContentPro public void onCreate(SQLiteDatabase db) { bootstrapDatabase(db); mSyncState.createDatabase(db); - ContentResolver.requestSync(null /* all accounts */, + if (!isTemporary()) { + ContentResolver.requestSync(null /* all accounts */, mContentUri.getAuthority(), new Bundle()); + } } @Override diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java index 8f1c671046ae65e45e105260b4c9f3a403b7e3e9..799bc2236f0d4e3e0f0e5ee4ed74ca10c40ef5de 100644 --- a/core/java/android/content/Context.java +++ b/core/java/android/content/Context.java @@ -1142,7 +1142,6 @@ public abstract class Context { * Use with {@link #getSystemService} to retrieve a * {@link android.accounts.AccountManager} for receiving intents at a * time of your choosing. - * TODO STOPSHIP perform a final review of the the account apis before shipping * * @see #getSystemService * @see android.accounts.AccountManager diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java index b785dbf76afcc9c11c7beb390960daadfc1d6628..a96e89685f52caed00b0c3264583a9f493ed5a11 100644 --- a/core/java/android/content/Intent.java +++ b/core/java/android/content/Intent.java @@ -26,6 +26,7 @@ import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.content.res.Resources; import android.content.res.TypedArray; +import android.graphics.Rect; import android.net.Uri; import android.os.Bundle; import android.os.IBinder; @@ -539,10 +540,33 @@ import java.util.Set; * {@link #putExtra}. * *

    - *
  • {@link #EXTRA_TEMPLATE} + *
  • {@link #EXTRA_ALARM_COUNT} + *
  • {@link #EXTRA_BCC} + *
  • {@link #EXTRA_CC} + *
  • {@link #EXTRA_CHANGED_COMPONENT_NAME} + *
  • {@link #EXTRA_DATA_REMOVED} + *
  • {@link #EXTRA_DOCK_STATE} + *
  • {@link #EXTRA_DOCK_STATE_CAR} + *
  • {@link #EXTRA_DOCK_STATE_DESK} + *
  • {@link #EXTRA_DOCK_STATE_UNDOCKED} + *
  • {@link #EXTRA_DONT_KILL_APP} + *
  • {@link #EXTRA_EMAIL} + *
  • {@link #EXTRA_INITIAL_INTENTS} *
  • {@link #EXTRA_INTENT} + *
  • {@link #EXTRA_KEY_EVENT} + *
  • {@link #EXTRA_PHONE_NUMBER} + *
  • {@link #EXTRA_REMOTE_INTENT_TOKEN} + *
  • {@link #EXTRA_REPLACING} + *
  • {@link #EXTRA_SHORTCUT_ICON} + *
  • {@link #EXTRA_SHORTCUT_ICON_RESOURCE} + *
  • {@link #EXTRA_SHORTCUT_INTENT} *
  • {@link #EXTRA_STREAM} + *
  • {@link #EXTRA_SHORTCUT_NAME} + *
  • {@link #EXTRA_SUBJECT} + *
  • {@link #EXTRA_TEMPLATE} *
  • {@link #EXTRA_TEXT} + *
  • {@link #EXTRA_TITLE} + *
  • {@link #EXTRA_UID} *
* *

Flags

@@ -1275,12 +1299,15 @@ public class Intent implements Parcelable { @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_PACKAGE_REMOVED = "android.intent.action.PACKAGE_REMOVED"; /** - * Broadcast Action: An existing application package has been changed (e.g. a component has been - * enabled or disabled. The data contains the name of the package. + * Broadcast Action: An existing application package has been changed (e.g. + * a component has been enabled or disabled). The data contains the name of + * the package. *
    *
  • {@link #EXTRA_UID} containing the integer uid assigned to the package. - *
  • {@link #EXTRA_CHANGED_COMPONENT_NAME} containing the class name of the changed component. - *
  • {@link #EXTRA_DONT_KILL_APP} containing boolean field to override the default action of restarting the application. + *
  • {@link #EXTRA_CHANGED_COMPONENT_NAME_LIST} containing the class name + * of the changed components. + *
  • {@link #EXTRA_DONT_KILL_APP} containing boolean field to override the + * default action of restarting the application. *
* *

This is a protected intent that can only be sent @@ -1344,6 +1371,12 @@ public class Intent implements Parcelable { * can not be restarted will need to watch for this action and handle it * appropriately. * + *

+ * You can not receive this through components declared + * in manifests, only by explicitly registering for it with + * {@link Context#registerReceiver(BroadcastReceiver, IntentFilter) + * Context.registerReceiver()}. + * *

This is a protected intent that can only be sent * by the system. * @@ -1351,6 +1384,14 @@ public class Intent implements Parcelable { */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_CONFIGURATION_CHANGED = "android.intent.action.CONFIGURATION_CHANGED"; + /** + * Broadcast Action: The current device's locale has changed. + * + *

This is a protected intent that can only be sent + * by the system. + */ + @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) + public static final String ACTION_LOCALE_CHANGED = "android.intent.action.LOCALE_CHANGED"; /** * Broadcast Action: This is a sticky broadcast containing the * charging state, level, and other information about the battery. @@ -1661,6 +1702,7 @@ public class Intent implements Parcelable { *

    *
  • state - 0 for unplugged, 1 for plugged.
  • *
  • name - Headset type, human readable string
  • + *
  • microphone - 1 if headset has a microphone, 0 otherwise
  • *
* */ @@ -2087,13 +2129,19 @@ public class Intent implements Parcelable { "android.intent.extra.remote_intent_token"; /** - * Used as an int extra field in {@link android.content.Intent#ACTION_PACKAGE_CHANGED} - * intent to supply the name of the component that changed. - * + * @deprecated See {@link #EXTRA_CHANGED_COMPONENT_NAME_LIST}; this field + * will contain only the first name in the list. */ - public static final String EXTRA_CHANGED_COMPONENT_NAME = + @Deprecated public static final String EXTRA_CHANGED_COMPONENT_NAME = "android.intent.extra.changed_component_name"; + /** + * This field is part of {@link android.content.Intent#ACTION_PACKAGE_CHANGED} + * and contains a string array of all of the components that have changed. + */ + public static final String EXTRA_CHANGED_COMPONENT_NAME_LIST = + "android.intent.extra.changed_component_name_list"; + /** * @hide * Magic extra system code can use when binding, to give a label for @@ -2393,6 +2441,7 @@ public class Intent implements Parcelable { private int mFlags; private HashSet mCategories; private Bundle mExtras; + private Rect mSourceBounds; // --------------------------------------------------------------------- @@ -2418,6 +2467,9 @@ public class Intent implements Parcelable { if (o.mExtras != null) { this.mExtras = new Bundle(o.mExtras); } + if (o.mSourceBounds != null) { + this.mSourceBounds = new Rect(o.mSourceBounds); + } } @Override @@ -2611,7 +2663,7 @@ public class Intent implements Parcelable { intent.mType = value; } - // launch flags + // launch flags else if (uri.startsWith("launchFlags=", i)) { intent.mFlags = Integer.decode(value).intValue(); } @@ -2631,6 +2683,11 @@ public class Intent implements Parcelable { scheme = value; } + // source bounds + else if (uri.startsWith("sourceBounds=", i)) { + intent.mSourceBounds = Rect.unflattenFromString(value); + } + // extra else { String key = Uri.decode(uri.substring(i + 2, eq)); @@ -3522,6 +3579,15 @@ public class Intent implements Parcelable { return mComponent; } + /** + * Get the bounds of the sender of this intent, in screen coordinates. This can be + * used as a hint to the receiver for animations and the like. Null means that there + * is no source bounds. + */ + public Rect getSourceBounds() { + return mSourceBounds; + } + /** * Return the Activity component that should be used to handle this intent. * The appropriate component is determined based on the information in the @@ -4623,6 +4689,19 @@ public class Intent implements Parcelable { return this; } + /** + * Set the bounds of the sender of this intent, in screen coordinates. This can be + * used as a hint to the receiver for animations and the like. Null means that there + * is no source bounds. + */ + public void setSourceBounds(Rect r) { + if (r != null) { + mSourceBounds = new Rect(r); + } else { + r = null; + } + } + /** * Use with {@link #fillIn} to allow the current action value to be * overwritten, even if it is already set. @@ -4653,6 +4732,12 @@ public class Intent implements Parcelable { */ public static final int FILL_IN_PACKAGE = 1<<4; + /** + * Use with {@link #fillIn} to allow the current package value to be + * overwritten, even if it is already set. + */ + public static final int FILL_IN_SOURCE_BOUNDS = 1<<5; + /** * Copy the contents of other in to this object, but only * where fields are not defined by this object. For purposes of a field @@ -4667,6 +4752,7 @@ public class Intent implements Parcelable { *
  • package, as set by {@link #setPackage}. *
  • component, as set by {@link #setComponent(ComponentName)} or * related methods. + *
  • source bounds, as set by {@link #setSourceBounds} *
  • each top-level name in the associated extras. * * @@ -4728,6 +4814,11 @@ public class Intent implements Parcelable { changes |= FILL_IN_COMPONENT; } mFlags |= other.mFlags; + if (other.mSourceBounds != null + && (mSourceBounds == null || (flags&FILL_IN_SOURCE_BOUNDS) != 0)) { + mSourceBounds = new Rect(other.mSourceBounds); + changes |= FILL_IN_SOURCE_BOUNDS; + } if (mExtras == null) { if (other.mExtras != null) { mExtras = new Bundle(other.mExtras); @@ -4981,6 +5072,13 @@ public class Intent implements Parcelable { first = false; b.append("cmp=").append(mComponent.flattenToShortString()); } + if (mSourceBounds != null) { + if (!first) { + b.append(' '); + } + first = false; + b.append("bnds=").append(mSourceBounds.toShortString()); + } if (extras && mExtras != null) { if (!first) { b.append(' '); @@ -5072,6 +5170,11 @@ public class Intent implements Parcelable { uri.append("component=").append(Uri.encode( mComponent.flattenToShortString(), "/")).append(';'); } + if (mSourceBounds != null) { + uri.append("sourceBounds=") + .append(Uri.encode(mSourceBounds.flattenToString())) + .append(';'); + } if (mExtras != null) { for (String key : mExtras.keySet()) { final Object value = mExtras.get(key); @@ -5115,6 +5218,13 @@ public class Intent implements Parcelable { out.writeString(mPackage); ComponentName.writeToParcel(mComponent, out); + if (mSourceBounds != null) { + out.writeInt(1); + mSourceBounds.writeToParcel(out, flags); + } else { + out.writeInt(0); + } + if (mCategories != null) { out.writeInt(mCategories.size()); for (String category : mCategories) { @@ -5150,6 +5260,10 @@ public class Intent implements Parcelable { mPackage = in.readString(); mComponent = ComponentName.readFromParcel(in); + if (in.readInt() != 0) { + mSourceBounds = Rect.CREATOR.createFromParcel(in); + } + int N = in.readInt(); if (N > 0) { mCategories = new HashSet(); diff --git a/core/java/android/content/SyncManager.java b/core/java/android/content/SyncManager.java index ba186159680d5d9fd2eec56611f3b47c13b0cdc6..b2d406b5e7c574cdbf90bd2d986f0d88b11e1b2d 100644 --- a/core/java/android/content/SyncManager.java +++ b/core/java/android/content/SyncManager.java @@ -919,12 +919,16 @@ class SyncManager implements OnAccountsUpdateListener { + previousSyncOperation); } + // If this sync aborted because the internal sync loop retried too many times then + // don't reschedule. Otherwise we risk getting into a retry loop. // If the operation succeeded to some extent then retry immediately. // If this was a two-way sync then retry soft errors with an exponential backoff. // If this was an upward sync then schedule a two-way sync immediately. // Otherwise do not reschedule. - - if (syncResult.madeSomeProgress()) { + if (syncResult.tooManyRetries) { + Log.d(TAG, "not retrying sync operation because it retried too many times: " + + previousSyncOperation); + } else if (syncResult.madeSomeProgress()) { if (isLoggable) { Log.d(TAG, "retrying sync operation immediately because " + "even though it had an error it achieved some success"); diff --git a/core/java/android/content/pm/ActivityInfo.java b/core/java/android/content/pm/ActivityInfo.java index 87da55f8a814596a548cc55f99a5ced0906a10b5..b94bb510667ad165f28309491560aaeb9a4743f3 100644 --- a/core/java/android/content/pm/ActivityInfo.java +++ b/core/java/android/content/pm/ActivityInfo.java @@ -309,15 +309,22 @@ public class ActivityInfo extends ComponentInfo public void dump(Printer pw, String prefix) { super.dumpFront(pw, prefix); - pw.println(prefix + "permission=" + permission); + if (permission != null) { + pw.println(prefix + "permission=" + permission); + } pw.println(prefix + "taskAffinity=" + taskAffinity + " targetActivity=" + targetActivity); - pw.println(prefix + "launchMode=" + launchMode - + " flags=0x" + Integer.toHexString(flags) - + " theme=0x" + Integer.toHexString(theme)); - pw.println(prefix + "screenOrientation=" + screenOrientation - + " configChanges=0x" + Integer.toHexString(configChanges) - + " softInputMode=0x" + Integer.toHexString(softInputMode)); + if (launchMode != 0 || flags != 0 || theme != 0) { + pw.println(prefix + "launchMode=" + launchMode + + " flags=0x" + Integer.toHexString(flags) + + " theme=0x" + Integer.toHexString(theme)); + } + if (screenOrientation != SCREEN_ORIENTATION_UNSPECIFIED + || configChanges != 0 || softInputMode != 0) { + pw.println(prefix + "screenOrientation=" + screenOrientation + + " configChanges=0x" + Integer.toHexString(configChanges) + + " softInputMode=0x" + Integer.toHexString(softInputMode)); + } super.dumpBack(pw, prefix); } diff --git a/core/java/android/content/pm/ApplicationInfo.java b/core/java/android/content/pm/ApplicationInfo.java index 7a65af8a9a154b41b28e2ed228ac29dbf3eb7ec0..1800c30da87e3c765de3a692f1b97ebc0132d46b 100644 --- a/core/java/android/content/pm/ApplicationInfo.java +++ b/core/java/android/content/pm/ApplicationInfo.java @@ -270,21 +270,31 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { public void dump(Printer pw, String prefix) { super.dumpFront(pw, prefix); - pw.println(prefix + "className=" + className); - pw.println(prefix + "permission=" + permission - + " uid=" + uid); - pw.println(prefix + "taskAffinity=" + taskAffinity); - pw.println(prefix + "theme=0x" + Integer.toHexString(theme)); + if (className != null) { + pw.println(prefix + "className=" + className); + } + if (permission != null) { + pw.println(prefix + "permission=" + permission); + } + pw.println(prefix + "uid=" + uid + " taskAffinity=" + taskAffinity); + if (theme != 0) { + pw.println(prefix + "theme=0x" + Integer.toHexString(theme)); + } pw.println(prefix + "flags=0x" + Integer.toHexString(flags) + " processName=" + processName); pw.println(prefix + "sourceDir=" + sourceDir); pw.println(prefix + "publicSourceDir=" + publicSourceDir); - pw.println(prefix + "sharedLibraryFiles=" + sharedLibraryFiles); pw.println(prefix + "dataDir=" + dataDir); - pw.println(prefix + "targetSdkVersion=" + targetSdkVersion); - pw.println(prefix + "enabled=" + enabled); - pw.println(prefix + "manageSpaceActivityName="+manageSpaceActivityName); - pw.println(prefix + "description=0x"+Integer.toHexString(descriptionRes)); + if (sharedLibraryFiles != null) { + pw.println(prefix + "sharedLibraryFiles=" + sharedLibraryFiles); + } + pw.println(prefix + "enabled=" + enabled + " targetSdkVersion=" + targetSdkVersion); + if (manageSpaceActivityName != null) { + pw.println(prefix + "manageSpaceActivityName="+manageSpaceActivityName); + } + if (descriptionRes != 0) { + pw.println(prefix + "description=0x"+Integer.toHexString(descriptionRes)); + } super.dumpBack(pw, prefix); } diff --git a/core/java/android/content/pm/PackageItemInfo.java b/core/java/android/content/pm/PackageItemInfo.java index 46e7ca43b973f193c45b46a3eea259263a26c360..8043dae774f548e5a748fd01d85ee1764b7561ee 100644 --- a/core/java/android/content/pm/PackageItemInfo.java +++ b/core/java/android/content/pm/PackageItemInfo.java @@ -141,11 +141,15 @@ public class PackageItemInfo { } protected void dumpFront(Printer pw, String prefix) { - pw.println(prefix + "name=" + name); + if (name != null) { + pw.println(prefix + "name=" + name); + } pw.println(prefix + "packageName=" + packageName); - pw.println(prefix + "labelRes=0x" + Integer.toHexString(labelRes) - + " nonLocalizedLabel=" + nonLocalizedLabel - + " icon=0x" + Integer.toHexString(icon)); + if (labelRes != 0 || nonLocalizedLabel != null || icon != 0) { + pw.println(prefix + "labelRes=0x" + Integer.toHexString(labelRes) + + " nonLocalizedLabel=" + nonLocalizedLabel + + " icon=0x" + Integer.toHexString(icon)); + } } protected void dumpBack(Printer pw, String prefix) { diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java index cd48dcbcba3b5886f01a986ef71cb08412505e46..53a966d3db126eb6bce3b7878a4876db27ab4402 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -16,6 +16,8 @@ package android.content.pm; +import android.annotation.SdkConstant; +import android.annotation.SdkConstant.SdkConstantType; import android.content.ComponentName; import android.content.Context; import android.content.Intent; @@ -513,6 +515,78 @@ public abstract class PackageManager { */ public static final int DONT_DELETE_DATA = 0x00000001; + /** + * Feature for {@link #getSystemAvailableFeatures} and + * {@link #hasSystemFeature}: The device has a camera facing away + * from the screen. + */ + @SdkConstant(SdkConstantType.FEATURE) + public static final String FEATURE_CAMERA = "android.hardware.camera"; + + /** + * Feature for {@link #getSystemAvailableFeatures} and + * {@link #hasSystemFeature}: The device's camera supports auto-focus. + */ + @SdkConstant(SdkConstantType.FEATURE) + public static final String FEATURE_CAMERA_AUTOFOCUS = "android.hardware.camera.autofocus"; + + /** + * Feature for {@link #getSystemAvailableFeatures} and + * {@link #hasSystemFeature}: The device's camera supports flash. + */ + @SdkConstant(SdkConstantType.FEATURE) + public static final String FEATURE_CAMERA_FLASH = "android.hardware.camera.flash"; + + /** + * Feature for {@link #getSystemAvailableFeatures} and + * {@link #hasSystemFeature}: The device includes a light sensor. + */ + @SdkConstant(SdkConstantType.FEATURE) + public static final String FEATURE_SENSOR_LIGHT = "android.hardware.sensor.light"; + + /** + * Feature for {@link #getSystemAvailableFeatures} and + * {@link #hasSystemFeature}: The device includes a proximity sensor. + */ + @SdkConstant(SdkConstantType.FEATURE) + public static final String FEATURE_SENSOR_PROXIMITY = "android.hardware.sensor.proximity"; + + /** + * Feature for {@link #getSystemAvailableFeatures} and + * {@link #hasSystemFeature}: The device has a telephony radio with data + * communication support. + */ + @SdkConstant(SdkConstantType.FEATURE) + public static final String FEATURE_TELEPHONY = "android.hardware.telephony"; + + /** + * Feature for {@link #getSystemAvailableFeatures} and + * {@link #hasSystemFeature}: The device has a CDMA telephony stack. + */ + @SdkConstant(SdkConstantType.FEATURE) + public static final String FEATURE_TELEPHONY_CDMA = "android.hardware.telephony.cdma"; + + /** + * Feature for {@link #getSystemAvailableFeatures} and + * {@link #hasSystemFeature}: The device has a GSM telephony stack. + */ + @SdkConstant(SdkConstantType.FEATURE) + public static final String FEATURE_TELEPHONY_GSM = "android.hardware.telephony.gsm"; + + /** + * Feature for {@link #getSystemAvailableFeatures} and + * {@link #hasSystemFeature}: The device's touch screen supports multitouch. + */ + @SdkConstant(SdkConstantType.FEATURE) + public static final String FEATURE_TOUCHSCREEN_MULTITOUCH = "android.hardware.touchscreen.multitouch"; + + /** + * Feature for {@link #getSystemAvailableFeatures} and + * {@link #hasSystemFeature}: The device supports live wallpapers. + */ + @SdkConstant(SdkConstantType.FEATURE) + public static final String FEATURE_LIVE_WALLPAPER = "android.software.live_wallpaper"; + /** * Retrieve overall information about an application package that is * installed on the system. @@ -1594,21 +1668,19 @@ public abstract class PackageManager { IPackageStatsObserver observer); /** - * Add a new package to the list of preferred packages. This new package - * will be added to the front of the list (removed from its current location - * if already listed), meaning it will now be preferred over all other - * packages when resolving conflicts. - * - * @param packageName The package name of the new package to make preferred. + * @deprecated This function no longer does anything; it was an old + * approach to managing preferred activities, which has been superceeded + * (and conflicts with) the modern activity-based preferences. */ + @Deprecated public abstract void addPackageToPreferred(String packageName); /** - * Remove a package from the list of preferred packages. If it was on - * the list, it will no longer be preferred over other packages. - * - * @param packageName The package name to remove. + * @deprecated This function no longer does anything; it was an old + * approach to managing preferred activities, which has been superceeded + * (and conflicts with) the modern activity-based preferences. */ + @Deprecated public abstract void removePackageFromPreferred(String packageName); /** diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java index b798bde023386903e403a1ce945b4570683ac18e..3f8c71ee1daa930d23a47f0bedc45e23ed5dcc26 100644 --- a/core/java/android/content/pm/PackageParser.java +++ b/core/java/android/content/pm/PackageParser.java @@ -851,10 +851,6 @@ public class PackageParser { } } - int maxVers = sa.getInt( - com.android.internal.R.styleable.AndroidManifestUsesSdk_maxSdkVersion, - SDK_VERSION); - sa.recycle(); if (minCode != null) { @@ -894,13 +890,6 @@ public class PackageParser { } else { pkg.applicationInfo.targetSdkVersion = targetVers; } - - if (maxVers < SDK_VERSION) { - outError[0] = "Requires older sdk version #" + maxVers - + " (current version is #" + SDK_VERSION + ")"; - mParseError = PackageManager.INSTALL_FAILED_OLDER_SDK; - return null; - } } XmlUtils.skipCurrentTag(parser); diff --git a/core/java/android/content/res/AssetManager.java b/core/java/android/content/res/AssetManager.java index 0d43b2a83c72fb2d1715f2d8096622317bcaf93a..5894c4f166b6b47e3072cc1b1bbac853d3c3e379 100644 --- a/core/java/android/content/res/AssetManager.java +++ b/core/java/android/content/res/AssetManager.java @@ -59,11 +59,12 @@ public final class AssetManager { private static final String TAG = "AssetManager"; private static final boolean localLOGV = Config.LOGV || false; - private static final Object mSync = new Object(); - private static final TypedValue mValue = new TypedValue(); - private static final long[] mOffsets = new long[2]; - private static AssetManager mSystem = null; + private static final Object sSync = new Object(); + private static AssetManager sSystem = null; + private final TypedValue mValue = new TypedValue(); + private final long[] mOffsets = new long[2]; + // For communication with native code. private int mObject; @@ -71,9 +72,7 @@ public final class AssetManager { private int mNumRefs = 1; private boolean mOpen = true; - private String mAssetDir; - private String mAppName; - + /** * Create a new AssetManager containing only the basic system assets. * Applications will not generally use this method, instead retrieving the @@ -82,7 +81,7 @@ public final class AssetManager { * {@hide} */ public AssetManager() { - synchronized (mSync) { + synchronized (this) { init(); if (localLOGV) Log.v(TAG, "New asset manager: " + this); ensureSystemAssets(); @@ -90,11 +89,11 @@ public final class AssetManager { } private static void ensureSystemAssets() { - synchronized (mSync) { - if (mSystem == null) { + synchronized (sSync) { + if (sSystem == null) { AssetManager system = new AssetManager(true); system.makeStringBlocks(false); - mSystem = system; + sSystem = system; } } } @@ -111,14 +110,14 @@ public final class AssetManager { */ public static AssetManager getSystem() { ensureSystemAssets(); - return mSystem; + return sSystem; } /** * Close this asset manager. */ public void close() { - synchronized(mSync) { + synchronized(this) { //System.out.println("Release: num=" + mNumRefs // + ", released=" + mReleased); if (mOpen) { @@ -133,7 +132,7 @@ public final class AssetManager { * identifier for the current configuration / skin. */ /*package*/ final CharSequence getResourceText(int ident) { - synchronized (mSync) { + synchronized (this) { TypedValue tmpValue = mValue; int block = loadResourceValue(ident, tmpValue, true); if (block >= 0) { @@ -151,7 +150,7 @@ public final class AssetManager { * identifier for the current configuration / skin. */ /*package*/ final CharSequence getResourceBagText(int ident, int bagEntryId) { - synchronized (mSync) { + synchronized (this) { TypedValue tmpValue = mValue; int block = loadResourceBagValue(ident, bagEntryId, tmpValue, true); if (block >= 0) { @@ -229,7 +228,7 @@ public final class AssetManager { /*package*/ final void ensureStringBlocks() { if (mStringBlocks == null) { - synchronized (mSync) { + synchronized (this) { if (mStringBlocks == null) { makeStringBlocks(true); } @@ -238,14 +237,14 @@ public final class AssetManager { } private final void makeStringBlocks(boolean copyFromSystem) { - final int sysNum = copyFromSystem ? mSystem.mStringBlocks.length : 0; + final int sysNum = copyFromSystem ? sSystem.mStringBlocks.length : 0; final int num = getStringBlockCount(); mStringBlocks = new StringBlock[num]; if (localLOGV) Log.v(TAG, "Making string blocks for " + this + ": " + num); for (int i=0; i Integer.MAX_VALUE ? Integer.MAX_VALUE : (int)len; } public final void close() throws IOException { - synchronized (AssetManager.mSync) { + synchronized (AssetManager.this) { if (mAsset != 0) { destroyAsset(mAsset); mAsset = 0; diff --git a/core/java/android/hardware/Camera.java b/core/java/android/hardware/Camera.java index 4b733ef334dbda1511ca8a10f7424207384e7d9a..d90536ca97e4aa899e04bd670d442c72bfffacdc 100644 --- a/core/java/android/hardware/Camera.java +++ b/core/java/android/hardware/Camera.java @@ -477,6 +477,10 @@ public class Camera { * application does not need a particular callback, a null can be passed * instead of a callback method. * + * This method will stop the preview. Applications should not call {@link + * #stopPreview()} before this. After jpeg callback is received, + * applications can call {@link #startPreview()} to restart the preview. + * * @param shutter callback after the image is captured, may be null * @param raw callback with raw image data, may be null * @param jpeg callback with jpeg image data, may be null @@ -500,6 +504,10 @@ public class Camera { * application does not need a particular callback, a null can be passed * instead of a callback method. * + * This method will stop the preview. Applications should not call {@link + * #stopPreview()} before this. After jpeg callback is received, + * applications can call {@link #startPreview()} to restart the preview. + * * @param shutter callback after the image is captured, may be null * @param raw callback with raw image data, may be null * @param postview callback with postview image data, may be null @@ -922,8 +930,8 @@ public class Camera { /** * Gets the supported preview sizes. * - * @return a List of Size object. null if preview size setting is not - * supported. + * @return a List of Size object. This method will always return a list + * with at least one element. */ public List getSupportedPreviewSizes() { String str = get(KEY_PREVIEW_SIZE + SUPPORTED_VALUES_SUFFIX); @@ -1057,8 +1065,8 @@ public class Camera { /** * Gets the supported preview formats. * - * @return a List of Integer objects. null if preview format setting is - * not supported. + * @return a List of Integer objects. This method will always return a + * list with at least one element. */ public List getSupportedPreviewFormats() { String str = get(KEY_PREVIEW_FORMAT + SUPPORTED_VALUES_SUFFIX); @@ -1096,8 +1104,8 @@ public class Camera { /** * Gets the supported picture sizes. * - * @return a List of Size objects. null if picture size setting is not - * supported. + * @return a List of Size objects. This method will always return a list + * with at least one element. */ public List getSupportedPictureSizes() { String str = get(KEY_PICTURE_SIZE + SUPPORTED_VALUES_SUFFIX); @@ -1135,12 +1143,18 @@ public class Camera { /** * Gets the supported picture formats. * - * @return a List of Integer objects (values are PixelFormat.XXX). null - * if picture setting is not supported. + * @return a List of Integer objects (values are PixelFormat.XXX). This + * method will always return a list with at least one element. */ public List getSupportedPictureFormats() { - String str = get(KEY_PICTURE_SIZE + SUPPORTED_VALUES_SUFFIX); - return splitInt(str); + String str = get(KEY_PICTURE_FORMAT + SUPPORTED_VALUES_SUFFIX); + ArrayList formats = new ArrayList(); + for (String s : split(str)) { + int f = pixelFormatForCameraFormat(s); + if (f == PixelFormat.UNKNOWN) continue; + formats.add(f); + } + return formats; } private String cameraFormatForPixelFormat(int pixel_format) { @@ -1435,8 +1449,8 @@ public class Camera { /** * Gets the supported focus modes. * - * @return a List of FOCUS_MODE_XXX string constants. null if focus mode - * setting is not supported. + * @return a List of FOCUS_MODE_XXX string constants. This method will + * always return a list with at least one element. */ public List getSupportedFocusModes() { String str = get(KEY_FOCUS_MODE + SUPPORTED_VALUES_SUFFIX); diff --git a/core/java/android/os/Build.java b/core/java/android/os/Build.java index d4aaba3cf570fb711246bb3f4419eaa050869e00..e9353d8ad31c976d56c356dd10a1e68e4f5636c1 100644 --- a/core/java/android/os/Build.java +++ b/core/java/android/os/Build.java @@ -158,9 +158,14 @@ public class Build { public static final int ECLAIR = 5; /** - * Current work on Eclair MR1. + * December 2009: Android 2.0.1 */ - public static final int ECLAIR_MR1 = 6; + public static final int ECLAIR_0_1 = 6; + + /** + * January 2010: Android 2.1 + */ + public static final int ECLAIR_MR1 = 7; } /** The type of build, like "user" or "eng". */ diff --git a/core/java/android/os/IPowerManager.aidl b/core/java/android/os/IPowerManager.aidl index bcf769da339b9ee97e6d425c95899cecc9f11429..b9dc860a9e4789ccf71170150b95ddd038815993 100644 --- a/core/java/android/os/IPowerManager.aidl +++ b/core/java/android/os/IPowerManager.aidl @@ -22,7 +22,7 @@ interface IPowerManager { void acquireWakeLock(int flags, IBinder lock, String tag); void goToSleep(long time); - void releaseWakeLock(IBinder lock); + void releaseWakeLock(IBinder lock, int flags); void userActivity(long when, boolean noChangeLights); void userActivityWithForce(long when, boolean noChangeLights, boolean force); void setPokeLock(int pokey, IBinder lock, String tag); diff --git a/core/java/android/os/LocalPowerManager.java b/core/java/android/os/LocalPowerManager.java index 2c6b29a97b602753de5173622efb0c80f8030c1f..3fe21d98806fa6dffc162818772c7456abad16ef 100644 --- a/core/java/android/os/LocalPowerManager.java +++ b/core/java/android/os/LocalPowerManager.java @@ -45,4 +45,6 @@ public interface LocalPowerManager { // the same as the method on PowerManager public void userActivity(long time, boolean noChangeLights, int eventType); + + boolean isScreenOn(); } diff --git a/core/java/android/os/PowerManager.java b/core/java/android/os/PowerManager.java index 2efc23041038fe83c2bcbedb1b8189163f02ac69..4b3b6f6dc7716a7c47ed80dcc0e4aea6e28fb996 100644 --- a/core/java/android/os/PowerManager.java +++ b/core/java/android/os/PowerManager.java @@ -158,6 +158,15 @@ public class PowerManager */ public static final int PROXIMITY_SCREEN_OFF_WAKE_LOCK = WAKE_BIT_PROXIMITY_SCREEN_OFF; + /** + * Flag for {@link WakeLock#release release(int)} to defer releasing a + * {@link #WAKE_BIT_PROXIMITY_SCREEN_OFF} wakelock until the proximity sensor returns + * a negative value. + * + * {@hide} + */ + public static final int WAIT_FOR_PROXIMITY_NEGATIVE = 1; + /** * Normally wake locks don't actually wake the device, they just cause * it to remain on once it's already on. Think of the video player @@ -266,11 +275,27 @@ public class PowerManager * are other wake locks held. */ public void release() + { + release(0); + } + + /** + * Release your claim to the CPU or screen being on. + * @param flags Combination of flag values to modify the release behavior. + * Currently only {@link #WAIT_FOR_PROXIMITY_NEGATIVE} is supported. + * + *

    + * It may turn off shortly after you release it, or it may not if there + * are other wake locks held. + * + * {@hide} + */ + public void release(int flags) { synchronized (mToken) { if (!mRefCounted || --mCount == 0) { try { - mService.releaseWakeLock(mToken); + mService.releaseWakeLock(mToken, flags); } catch (RemoteException e) { } mHeld = false; @@ -302,7 +327,7 @@ public class PowerManager synchronized (mToken) { if (mHeld) { try { - mService.releaseWakeLock(mToken); + mService.releaseWakeLock(mToken, 0); } catch (RemoteException e) { } RuntimeInit.crash(TAG, new Exception( diff --git a/core/java/android/pim/vcard/VCardComposer.java b/core/java/android/pim/vcard/VCardComposer.java index f9dce255056e12c93f07bd0c4e8086a9fc3a5cc3..78075952937f6a5ef11fb75789c6b83233755abc 100644 --- a/core/java/android/pim/vcard/VCardComposer.java +++ b/core/java/android/pim/vcard/VCardComposer.java @@ -414,8 +414,10 @@ public class VCardComposer { appendVCardLine(builder, VCARD_PROPERTY_FULL_NAME, phoneName, needCharset, false); appendVCardLine(builder, VCARD_PROPERTY_NAME, phoneName, needCharset, false); - String label = Integer.toString(phonetype); - appendVCardTelephoneLine(builder, phonetype, label, phoneNumber); + if (!TextUtils.isEmpty(phoneNumber)) { + String label = Integer.toString(phonetype); + appendVCardTelephoneLine(builder, phonetype, label, phoneNumber); + } appendVCardLine(builder, VCARD_PROPERTY_END, VCARD_DATA_VCARD); diff --git a/core/java/android/provider/Checkin.java b/core/java/android/provider/Checkin.java index 84753ee56c4a2ac5d2da2fd6aecf117b1439a04e..4134dc296ac6b47f45ac0e598ff9badb71a04c68 100644 --- a/core/java/android/provider/Checkin.java +++ b/core/java/android/provider/Checkin.java @@ -74,6 +74,7 @@ public final class Checkin { CARRIER_BUG_REPORT, CHECKIN_FAILURE, CHECKIN_SUCCESS, + CPUFREQ_STATS, FOTA_BEGIN, FOTA_FAILURE, FOTA_INSTALL, diff --git a/core/java/android/provider/ContactsContract.java b/core/java/android/provider/ContactsContract.java index 79044018fcf81fa4021080ff393534de148264b5..c3b0f1c91faa3931e4d0e629e1b5c96e1b74e473 100644 --- a/core/java/android/provider/ContactsContract.java +++ b/core/java/android/provider/ContactsContract.java @@ -29,6 +29,7 @@ import android.database.Cursor; import android.graphics.Rect; import android.net.Uri; import android.os.RemoteException; +import android.provider.ContactsContract.CommonDataKinds.Email; import android.text.TextUtils; import android.util.Pair; import android.view.View; @@ -37,8 +38,59 @@ import java.io.ByteArrayInputStream; import java.io.InputStream; /** - * The contract between the contacts provider and applications. Contains definitions - * for the supported URIs and columns. These APIs supersede {@link Contacts}. + *

    + * The contract between the contacts provider and applications. Contains + * definitions for the supported URIs and columns. These APIs supersede + * {@link Contacts}. + *

    + *

    Overview

    + *

    + * ContactsContract defines an extensible database of contact-related + * information. Contact information is stored in a three-tier data model: + *

    + *
    + *

    + * The {@link Data} table contains all kinds of personal data: phone numbers, + * email addresses etc. The list of data kinds that can be stored in this table + * is open-ended. There is a predefined set of common kinds, but any application + * can add its own data kinds. + *

    + *

    + * A row in the {@link RawContacts} table represents a set of Data describing a + * person and associated with a single account. + *

    + *

    + * A row in the {@link Contacts} table represents an aggregate of one or more + * RawContacts presumably describing the same person. + *

    + *
    + *

    + * Other tables include: + *

    + *
    + *

    + * {@link Groups}, which contains information about raw contact groups - the + * current API does not support the notion of groups spanning multiple accounts. + *

    + *

    + * {@link StatusUpdates}, which contains social status updates including IM + * availability. + *

    + *

    + * {@link AggregationExceptions}, which is used for manual aggregation and + * disaggregation of raw contacts + *

    + *

    + * {@link Settings}, which contains visibility and sync settings for accounts + * and groups. + *

    + *

    + * {@link SyncState}, which contains free-form data maintained on behalf of sync + * adapters + *

    + *

    + * {@link PhoneLookup}, which is used for quick caller-ID lookup + *

    */ @SuppressWarnings("unused") public final class ContactsContract { @@ -128,6 +180,9 @@ public final class ContactsContract { * Generic columns for use by sync adapters. The specific functions of * these columns are private to the sync adapter. Other clients of the API * should not attempt to either read or write this column. + * + * @see RawContacts + * @see Groups */ protected interface BaseSyncColumns { @@ -144,6 +199,9 @@ public final class ContactsContract { /** * Columns that appear when each row of a table belongs to a specific * account, including sync information that an account may need. + * + * @see RawContacts + * @see Groups */ protected interface SyncColumns extends BaseSyncColumns { /** @@ -181,6 +239,13 @@ public final class ContactsContract { public static final String DIRTY = "dirty"; } + /** + * @see Contacts + * @see RawContacts + * @see ContactsContract.Data + * @see PhoneLookup + * @see ContactsContract.Contacts.AggregationSuggestions + */ protected interface ContactOptionsColumns { /** * The number of times a contact has been contacted @@ -214,6 +279,12 @@ public final class ContactsContract { public static final String SEND_TO_VOICEMAIL = "send_to_voicemail"; } + /** + * @see Contacts + * @see ContactsContract.Data + * @see PhoneLookup + * @see ContactsContract.Contacts.AggregationSuggestions + */ protected interface ContactsColumns { /** * The display name for the contact. @@ -247,6 +318,9 @@ public final class ContactsContract { public static final String LOOKUP_KEY = "lookup"; } + /** + * @see Contacts + */ protected interface ContactStatusColumns { /** * Contact presence status. See {@link StatusUpdates} for individual status @@ -270,7 +344,7 @@ public final class ContactsContract { /** * The package containing resources for this status: label and icon. - *

    Type: NUMBER

    + *

    Type: TEXT

    */ public static final String CONTACT_STATUS_RES_PACKAGE = "contact_status_res_package"; @@ -291,8 +365,194 @@ public final class ContactsContract { } /** - * Constants for the contacts table, which contains a record per group + * Constants for the contacts table, which contains a record per aggregate * of raw contacts representing the same person. + *

    Operations

    + *
    + *
    Insert
    + *
    A Contact cannot be created explicitly. When a raw contact is + * inserted, the provider will first try to find a Contact representing the + * same person. If one is found, the raw contact's + * {@link RawContacts#CONTACT_ID} column gets the _ID of the aggregate + * Contact. If no match is found, the provider automatically inserts a new + * Contact and puts its _ID into the {@link RawContacts#CONTACT_ID} column + * of the newly inserted raw contact.
    + *
    Update
    + *
    Only certain columns of Contact are modifiable: + * {@link #TIMES_CONTACTED}, {@link #LAST_TIME_CONTACTED}, {@link #STARRED}, + * {@link #CUSTOM_RINGTONE}, {@link #SEND_TO_VOICEMAIL}. Changing any of + * these columns on the Contact also changes them on all constituent raw + * contacts.
    + *
    Delete
    + *
    Be careful with deleting Contacts! Deleting an aggregate contact + * deletes all constituent raw contacts. The corresponding sync adapters + * will notice the deletions of their respective raw contacts and remove + * them from their back end storage.
    + *
    Query
    + *
    + *
      + *
    • If you need to read an individual contact, consider using + * {@link #CONTENT_LOOKUP_URI} instead of {@link #CONTENT_URI}.
    • + *
    • If you need to look up a contact by the phone number, use + * {@link PhoneLookup#CONTENT_FILTER_URI PhoneLookup.CONTENT_FILTER_URI}, + * which is optimized for this purpose.
    • + *
    • If you need to look up a contact by partial name, e.g. to produce + * filter-as-you-type suggestions, use the {@link #CONTENT_FILTER_URI} URI. + *
    • If you need to look up a contact by some data element like email + * address, nickname, etc, use a query against the {@link ContactsContract.Data} table. + * The result will contain contact ID, name etc. + *
    + *
    + *
    + *

    Columns

    + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
    Contacts
    long{@link #_ID}read-onlyRow ID. Consider using {@link #LOOKUP_KEY} instead.
    String{@link #LOOKUP_KEY}read-onlyAn opaque value that contains hints on how to find the contact if its + * row id changed as a result of a sync or aggregation.
    String{@link #DISPLAY_NAME}read-onlyThe display name for the contact. During aggregation display name is + * computed from display names of constituent raw contacts using a + * heuristic: a longer name or a name with more diacritic marks or more + * upper case characters is chosen.
    long{@link #PHOTO_ID}read-onlyReference to the row in the {@link ContactsContract.Data} table holding the photo. + * That row has the mime type + * {@link CommonDataKinds.Photo#CONTENT_ITEM_TYPE}. The value of this field + * is computed automatically based on the + * {@link CommonDataKinds.Photo#IS_SUPER_PRIMARY} field of the data rows of + * that mime type.
    int{@link #IN_VISIBLE_GROUP}read-onlyAn indicator of whether this contact is supposed to be visible in the + * UI. "1" if the contact has at least one raw contact that belongs to a + * visible group; "0" otherwise.
    int{@link #HAS_PHONE_NUMBER}read-onlyAn indicator of whether this contact has at least one phone number. + * "1" if there is at least one phone number, "0" otherwise.
    int{@link #TIMES_CONTACTED}read/writeThe number of times the contact has been contacted. See + * {@link #markAsContacted}. When raw contacts are aggregated, this field is + * computed automatically as the maximum number of times contacted among all + * constituent raw contacts. Setting this field automatically changes the + * corresponding field on all constituent raw contacts.
    long{@link #LAST_TIME_CONTACTED}read/writeThe timestamp of the last time the contact was contacted. See + * {@link #markAsContacted}. Setting this field also automatically + * increments {@link #TIMES_CONTACTED}. When raw contacts are aggregated, + * this field is computed automatically as the latest time contacted of all + * constituent raw contacts. Setting this field automatically changes the + * corresponding field on all constituent raw contacts.
    int{@link #STARRED}read/writeAn indicator for favorite contacts: '1' if favorite, '0' otherwise. + * When raw contacts are aggregated, this field is automatically computed: + * if any constituent raw contacts are starred, then this field is set to + * '1'. Setting this field automatically changes the corresponding field on + * all constituent raw contacts.
    String{@link #CUSTOM_RINGTONE}read/writeA custom ringtone associated with a contact. Typically this is the + * URI returned by an activity launched with the + * {@link android.media.RingtoneManager#ACTION_RINGTONE_PICKER} intent.
    int{@link #SEND_TO_VOICEMAIL}read/writeAn indicator of whether calls from this contact should be forwarded + * directly to voice mail ('1') or not ('0'). When raw contacts are + * aggregated, this field is automatically computed: if all + * constituent raw contacts have SEND_TO_VOICEMAIL=1, then this field is set + * to '1'. Setting this field automatically changes the corresponding field + * on all constituent raw contacts.
    int{@link #CONTACT_PRESENCE}read-onlyContact IM presence status. See {@link StatusUpdates} for individual + * status definitions. Automatically computed as the highest presence of all + * constituent raw contacts. The provider may choose not to store this value + * in persistent storage. The expectation is that presence status will be + * updated on a regular basic.
    String{@link #CONTACT_STATUS}read-onlyContact's latest status update. Automatically computed as the latest + * of all constituent raw contacts' status updates.
    long{@link #CONTACT_STATUS_TIMESTAMP}read-onlyThe absolute time in milliseconds when the latest status was + * inserted/updated.
    String{@link #CONTACT_STATUS_RES_PACKAGE}read-only The package containing resources for this status: label and icon.
    long{@link #CONTACT_STATUS_LABEL}read-onlyThe resource ID of the label describing the source of contact status, + * e.g. "Google Talk". This resource is scoped by the + * {@link #CONTACT_STATUS_RES_PACKAGE}.
    long{@link #CONTACT_STATUS_ICON}read-onlyThe resource ID of the icon for the source of contact status. This + * resource is scoped by the {@link #CONTACT_STATUS_RES_PACKAGE}.
    */ public static class Contacts implements BaseColumns, ContactsColumns, ContactOptionsColumns, ContactStatusColumns { @@ -365,7 +625,7 @@ public final class ContactsContract { /** * Build a {@link #CONTENT_LOOKUP_URI} lookup {@link Uri} using the - * given {@link android.provider.ContactsContract.Contacts#_ID} and {@link #LOOKUP_KEY}. + * given {@link ContactsContract.Contacts#_ID} and {@link #LOOKUP_KEY}. */ public static Uri getLookupUri(long contactId, String lookupKey) { return ContentUris.withAppendedId(Uri.withAppendedPath(Contacts.CONTENT_LOOKUP_URI, @@ -423,7 +683,7 @@ public final class ContactsContract { /** * The content:// style URI for this table joined with useful data from - * {@link Data}, filtered to include only starred contacts + * {@link ContactsContract.Data}, filtered to include only starred contacts * and the most frequently contacted contacts. */ public static final Uri CONTENT_STREQUENT_URI = Uri.withAppendedPath( @@ -461,7 +721,7 @@ public final class ContactsContract { /** * A sub-directory of a single contact that contains all of the constituent raw contact - * {@link Data} rows. + * {@link ContactsContract.Data} rows. */ public static final class Data implements BaseColumns, DataColumns { /** @@ -476,10 +736,33 @@ public final class ContactsContract { } /** - * A sub-directory of a single contact aggregate that contains all aggregation suggestions - * (other contacts). The aggregation suggestions are computed based on approximate - * data matches with this contact. + *

    + * A read-only sub-directory of a single contact aggregate that + * contains all aggregation suggestions (other contacts). The + * aggregation suggestions are computed based on approximate data + * matches with this contact. + *

    + *

    + * Note: this query may be expensive! If you need to use it in bulk, + * make sure the user experience is acceptable when the query runs for a + * long time. + *

    + * Usage example: + * + *

    +         * Uri uri = Contacts.CONTENT_URI.buildUpon()
    +         *          .appendEncodedPath(String.valueOf(contactId))
    +         *          .appendPath(Contacts.AggregationSuggestions.CONTENT_DIRECTORY)
    +         *          .appendQueryParameter("limit", "3")
    +         *          .build()
    +         * Cursor cursor = getContentResolver().query(suggestionsUri,
    +         *          new String[] {Contacts.DISPLAY_NAME, Contacts._ID, Contacts.LOOKUP_KEY},
    +         *          null, null, null);
    +         * 
    + * + *

    */ + // TODO: add ContactOptionsColumns, ContactStatusColumns public static final class AggregationSuggestions implements BaseColumns, ContactsColumns { /** * No public constructor since this is a utility class @@ -495,8 +778,40 @@ public final class ContactsContract { } /** - * A sub-directory of a single contact that contains the contact's primary photo. + * A read-only sub-directory of a single contact that contains + * the contact's primary photo. + *

    + * Usage example: + * + *

    +         * public InputStream openPhoto(long contactId) {
    +         *     Uri contactUri = ContentUris.withAppendedId(Contacts.CONTENT_URI, contactId);
    +         *     Uri photoUri = Uri.withAppendedPath(contactUri, Contacts.Photo.CONTENT_DIRECTORY);
    +         *     Cursor cursor = getContentResolver().query(photoUri,
    +         *          new String[] {Contacts.Photo.PHOTO}, null, null, null);
    +         *     if (cursor == null) {
    +         *         return null;
    +         *     }
    +         *     try {
    +         *         if (cursor.moveToFirst()) {
    +         *             byte[] data = cursor.getBlob(0);
    +         *             if (data != null) {
    +         *                 return new ByteArrayInputStream(data);
    +         *             }
    +         *         }
    +         *     } finally {
    +         *         cursor.close();
    +         *     }
    +         *     return null;
    +         * }
    +         * 
    + * + *

    + *

    You should also consider using the convenience method + * {@link ContactsContract.Contacts#openContactPhotoInputStream(ContentResolver, Uri)} + *

    */ + // TODO: change DataColumns to DataColumnsWithJoins public static final class Photo implements BaseColumns, DataColumns { /** * no public constructor since this is a utility class @@ -507,6 +822,15 @@ public final class ContactsContract { * The directory twig for this sub-table */ public static final String CONTENT_DIRECTORY = "photo"; + + /** + * Thumbnail photo of the raw contact. This is the raw bytes of an image + * that could be inflated using {@link android.graphics.BitmapFactory}. + *

    + * Type: BLOB + * @hide TODO: Unhide in a separate CL + */ + public static final String PHOTO = DATA15; } /** @@ -542,7 +866,7 @@ public final class ContactsContract { protected interface RawContactsColumns { /** - * A reference to the {@link android.provider.ContactsContract.Contacts#_ID} that this + * A reference to the {@link ContactsContract.Contacts#_ID} that this * data belongs to. *

    Type: INTEGER

    */ @@ -580,6 +904,315 @@ public final class ContactsContract { * Constants for the raw contacts table, which contains the base contact * information per sync source. Sync adapters and contact management apps * are the primary consumers of this API. + *

    Operations

    + *
    + *
    Insert
    + *
    There are two mechanisms that can be used to insert a raw contact: incremental and + * batch. The incremental method is more traditional but less efficient. It should be used + * only if the constituent data rows are unavailable at the time the raw contact is created: + *
    +     * ContentValues values = new ContentValues();
    +     * values.put(RawContacts.ACCOUNT_TYPE, accountType);
    +     * values.put(RawContacts.ACCOUNT_NAME, accountName);
    +     * Uri rawContactUri = getContentResolver().insert(RawContacts.CONTENT_URI, values);
    +     * long rawContactId = ContentUris.parseId(rawContactUri);
    +     * 
    + *

    + * Once data rows are available, insert those. For example, here's how you would insert + * a name: + * + *

    +     * values.clear();
    +     * values.put(Data.RAW_CONTACT_ID, rawContactId);
    +     * values.put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE);
    +     * values.put(StructuredName.DISPLAY_NAME, "Mike Sullivan");
    +     * getContentResolver().insert(Data.CONTENT_URI, values);
    +     * 
    + *

    + *

    + * The batch method is by far preferred. It inserts the raw contact and its + * constituent data rows in a single database transaction + * and causes at most one aggregation pass. + *

    +     * ArrayList<ContentProviderOperation> ops = Lists.newArrayList();
    +     * int rawContactInsertIndex = ops.size();
    +     * ops.add(ContentProviderOperation.newInsert(RawContacts.CONTENT_URI)
    +     *          .withValue(RawContacts.ACCOUNT_TYPE, accountType)
    +     *          .withValue(RawContacts.ACCOUNT_NAME, accountName)
    +     *          .build());
    +     *
    +     * ops.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
    +     *          .withValueBackReference(Data.RAW_CONTACT_ID, rawContactInsertIndex)
    +     *          .withValue(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE)
    +     *          .withValue(StructuredName.DISPLAY_NAME, "Mike Sullivan")
    +     *          .build());
    +     *
    +     * getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
    +     * 
    + *

    + *

    + * Please note the use of back reference in the construction of the + * {@link ContentProviderOperation}. It allows an operation to use the result of + * a previous operation by referring to it by its index in the batch. + *

    + *
    Update
    + *

    Just as with insert, the update can be done incrementally or as a batch, the + * batch mode being the preferred method.

    + *
    Delete
    + *

    When a raw contact is deleted, all of its Data rows as well as StatusUpdates, + * AggregationExceptions, PhoneLookup rows are deleted automatically. When all raw + * contacts in a Contact are deleted, the Contact itself is also deleted automatically. + *

    + *

    + * The invocation of {@code resolver.delete(...)}, does not physically delete + * a raw contacts row. It sets the {@link #DELETED} flag on the raw contact and + * removes the raw contact from its aggregate contact. + * The sync adapter then deletes the raw contact from the server and + * finalizes phone-side deletion by calling {@code resolver.delete(...)} + * again and passing the {@link #CALLER_IS_SYNCADAPTER} query parameter.

    + *

    Some sync adapters are read-only, meaning that they only sync server-side + * changes to the phone, but not the reverse. If one of those raw contacts + * is marked for deletion, it will remain on the phone. However it will be + * effectively invisible, because it will not be part of any aggregate contact. + *

    + *
    Query
    + *
    + *

    + * Finding all raw contacts in a Contact is easy: + *

    +     * Cursor c = getContentResolver().query(RawContacts.CONTENT_URI,
    +     *          new String[]{RawContacts._ID},
    +     *          RawContacts.CONTACT_ID + "=?",
    +     *          new String[]{String.valueOf(contactId)}, null);
    +     * 
    + *

    + *

    + * There are two ways to find raw contacts within a specific account, + * you can either put the account name and type in the selection or pass them as query + * parameters. The latter approach is preferable, especially when you can reuse the + * URI: + *

    +     * Uri rawContactUri = RawContacts.URI.buildUpon()
    +     *          .appendQueryParameter(RawContacts.ACCOUNT_NAME, accountName)
    +     *          .appendQueryParameter(RawContacts.ACCOUNT_TYPE, accountType)
    +     *          .build();
    +     * Cursor c1 = getContentResolver().query(rawContactUri,
    +     *          RawContacts.STARRED + "<>0", null, null, null);
    +     * ...
    +     * Cursor c2 = getContentResolver().query(rawContactUri,
    +     *          RawContacts.DELETED + "<>0", null, null, null);
    +     * 
    + *

    + *

    The best way to read a raw contact along with all the data associated with it is + * by using the {@link Entity} directory. If the raw contact has data rows, + * the Entity cursor will contain a row for each data row. If the raw contact has no + * data rows, the cursor will still contain one row with the raw contact-level information. + *

    +     * Uri rawContactUri = ContentUris.withAppendedId(RawContacts.CONTENT_URI, rawContactId);
    +     * Uri entityUri = Uri.withAppendedPath(rawContactUri, Entity.CONTENT_DIRECTORY);
    +     * Cursor c = getContentResolver().query(entityUri,
    +     *          new String[]{RawContacts.SOURCE_ID, Entity.DATA_ID, Entity.MIMETYPE, Entity.DATA1},
    +     *          null, null, null);
    +     * try {
    +     *     while (c.moveToNext()) {
    +     *         String sourceId = c.getString(0);
    +     *         if (!c.isNull(1)) {
    +     *             String mimeType = c.getString(2);
    +     *             String data = c.getString(3);
    +     *             ...
    +     *         }
    +     *     }
    +     * } finally {
    +     *     c.close();
    +     * }
    +     * 
    + *

    + *
    + *
    + *

    Aggregation

    + *

    + * As soon as a raw contact is inserted or whenever its constituent data + * changes, the provider will check if the raw contact matches other + * existing raw contacts and if so will aggregate it with those. From the + * data standpoint, aggregation is reflected in the change of the + * {@link #CONTACT_ID} field, which is the reference to the aggregate contact. + *

    + *

    + * See also {@link AggregationExceptions} for a mechanism to control + * aggregation programmatically. + *

    + *

    Columns

    + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
    RawContacts
    long{@link #_ID}read-onlyRow ID. Sync adapter should try to preserve row IDs during updates. In other words, + * it would be a really bad idea to delete and reinsert a raw contact. A sync adapter should + * always do an update instead.
    long{@link #CONTACT_ID}read-onlyA reference to the {@link ContactsContract.Contacts#_ID} that this raw contact belongs + * to. Raw contacts are linked to contacts by the aggregation process, which can be controlled + * by the {@link #AGGREGATION_MODE} field and {@link AggregationExceptions}.
    int{@link #AGGREGATION_MODE}read/writeA mechanism that allows programmatic control of the aggregation process. The allowed + * values are {@link #AGGREGATION_MODE_DEFAULT}, {@link #AGGREGATION_MODE_DISABLED} + * and {@link #AGGREGATION_MODE_SUSPENDED}. See also {@link AggregationExceptions}.
    int{@link #DELETED}read/writeThe "deleted" flag: "0" by default, "1" if the row has been marked + * for deletion. When {@link android.content.ContentResolver#delete} is + * called on a raw contact, it is marked for deletion and removed from its + * aggregate contact. The sync adaptor deletes the raw contact on the server and + * then calls ContactResolver.delete once more, this time passing the + * {@link ContactsContract#CALLER_IS_SYNCADAPTER} query parameter to finalize + * the data removal.
    int{@link #TIMES_CONTACTED}read/writeThe number of times the contact has been contacted. To have an effect + * on the corresponding value of the aggregate contact, this field + * should be set at the time the raw contact is inserted. + * See {@link ContactsContract.Contacts#markAsContacted}.
    long{@link #LAST_TIME_CONTACTED}read/writeThe timestamp of the last time the contact was contacted. To have an effect + * on the corresponding value of the aggregate contact, this field + * should be set at the time the raw contact is inserted. + * See {@link ContactsContract.Contacts#markAsContacted}.
    int{@link #STARRED}read/writeAn indicator for favorite contacts: '1' if favorite, '0' otherwise. + * Changing this field immediately effects the corresponding aggregate contact: + * if any raw contacts in that aggregate contact are starred, then the contact + * itself is marked as starred.
    String{@link #CUSTOM_RINGTONE}read/writeA custom ringtone associated with a raw contact. Typically this is the + * URI returned by an activity launched with the + * {@link android.media.RingtoneManager#ACTION_RINGTONE_PICKER} intent. + * To have an effect on the corresponding value of the aggregate contact, this field + * should be set at the time the raw contact is inserted. To set a custom + * ringtone on a contact, use the field {@link ContactsContract.Contacts#CUSTOM_RINGTONE} + * instead.
    int{@link #SEND_TO_VOICEMAIL}read/writeAn indicator of whether calls from this raw contact should be forwarded + * directly to voice mail ('1') or not ('0'). To have an effect + * on the corresponding value of the aggregate contact, this field + * should be set at the time the raw contact is inserted.
    String{@link #ACCOUNT_NAME}read/write-onceThe name of the account instance to which this row belongs, which when paired with + * {@link #ACCOUNT_TYPE} identifies a specific account. It should be set at the time + * the raw contact is inserted and never changed afterwards.
    String{@link #ACCOUNT_TYPE}read/write-onceThe type of account to which this row belongs, which when paired with + * {@link #ACCOUNT_NAME} identifies a specific account. It should be set at the time + * the raw contact is inserted and never changed afterwards.
    String{@link #SOURCE_ID}read/writeString that uniquely identifies this row to its source account. + * Typically it is set at the time the raw contact is inserted and never + * changed afterwards. The one notable exception is a new raw contact: it + * will have an account name and type, but no source id. This should + * indicated to the sync adapter that a new contact needs to be created + * server-side and its ID stored in the corresponding SOURCE_ID field on + * the phone. + *
    int{@link #VERSION}read-onlyVersion number that is updated whenever this row or its related data + * changes. This field can be used for optimistic locking of a raw contact. + *
    int{@link #DIRTY}read/writeFlag indicating that {@link #VERSION} has changed, and this row needs + * to be synchronized by its owning account. The value is set to "1" automatically + * whenever the raw contact changes, unless the URI has the + * {@link ContactsContract#CALLER_IS_SYNCADAPTER} query parameter specified. + * The sync adapter should always supply this query parameter to prevent + * unnecessary synchronization: user changes some data on the server, + * the sync adapter updates the contact on the phone (without the + * CALLER_IS_SYNCADAPTER flag) flag, which sets the DIRTY flag, + * which triggers a sync to bring the changes to the server. + *
    String{@link #SYNC1}read/writeGeneric column for use by sync adapters. Content provider + * stores this information on behalf of the sync adapter but does not + * interpret it in any way. + *
    String{@link #SYNC2}read/writeGeneric column for use by sync adapters. + *
    String{@link #SYNC3}read/writeGeneric column for use by sync adapters. + *
    String{@link #SYNC4}read/writeGeneric column for use by sync adapters. + *
    */ public static final class RawContacts implements BaseColumns, RawContactsColumns, ContactOptionsColumns, SyncColumns { @@ -613,6 +1246,7 @@ public final class ContactsContract { /** * Aggregation mode: aggregate at the time the raw contact is inserted/updated. + * TODO: deprecate. Aggregation is now synchronous, this value is a no-op */ public static final int AGGREGATION_MODE_IMMEDIATE = 1; @@ -658,8 +1292,9 @@ public final class ContactsContract { } /** - * A sub-directory of a single raw contact that contains all of their {@link Data} rows. - * To access this directory append {@link Data#CONTENT_DIRECTORY} to the contact URI. + * A sub-directory of a single raw contact that contains all of their + * {@link ContactsContract.Data} rows. To access this directory + * append {@link Data#CONTENT_DIRECTORY} to the contact URI. */ public static final class Data implements BaseColumns, DataColumns { /** @@ -675,8 +1310,27 @@ public final class ContactsContract { } /** - * A sub-directory of a single raw contact that contains all of their {@link Data} rows. - * To access this directory append {@link Entity#CONTENT_DIRECTORY} to the contact URI. + *

    + * A sub-directory of a single raw contact that contains all of their + * {@link ContactsContract.Data} rows. To access this directory append + * {@link Entity#CONTENT_DIRECTORY} to the contact URI. See + * {@link RawContactsEntity} for a stand-alone table containing the same + * data. + *

    + *

    + * The Entity directory is similar to the {@link RawContacts.Data} + * directory but with two important differences: + *

      + *
    • Entity has different ID fields: {@link #_ID} for the raw contact + * and {@link #DATA_ID} for the data rows.
    • + *
    • Entity always contains at least one row, even if there are no + * actual data rows. In this case the {@link #DATA_ID} field will be + * null.
    • + *
    + * Using Entity should preferred to using two separate queries: + * RawContacts followed by Data. The reason is that Entity reads all + * data for a raw contact in one transaction, so there is no possibility + * of the data changing between the two queries. */ public static final class Entity implements BaseColumns, DataColumns { /** @@ -699,6 +1353,12 @@ public final class ContactsContract { } } + /** + * Social status update columns. + * + * @see StatusUpdates + * @see ContactsContract.Data + */ protected interface StatusColumns extends Im.CommonPresenceColumns { /** * Contact's latest presence level. @@ -739,6 +1399,11 @@ public final class ContactsContract { public static final String STATUS_ICON = "status_icon"; } + /** + * Columns in the Data table. + * + * @see ContactsContract.Data + */ protected interface DataColumns { /** * The package name to use when creating {@link Resources} objects for @@ -824,7 +1489,9 @@ public final class ContactsContract { } /** - * Combines all columns returned by {@link Data} table queries. + * Combines all columns returned by {@link ContactsContract.Data} table queries. + * + * @see ContactsContract.Data */ protected interface DataColumnsWithJoins extends BaseColumns, DataColumns, StatusColumns, RawContactsColumns, ContactsColumns, ContactOptionsColumns, ContactStatusColumns { @@ -832,10 +1499,468 @@ public final class ContactsContract { } /** - * Constants for the data table, which contains data points tied to a raw contact. - * For example, a phone number or email address. Each row in this table contains a type - * definition and some generic columns. Each data type can define the meaning for each of - * the generic columns. + *

    + * Constants for the data table, which contains data points tied to a raw + * contact. For example, a phone number or email address. + *

    + *

    Data kinds

    + *

    + * Data is a generic table that can hold all kinds of data. Sync adapters + * and applications can introduce their own data kinds. The kind of data + * stored in a particular row is determined by the mime type in the row. + * Fields from {@link #DATA1} through {@link #DATA15} are generic columns + * whose specific use is determined by the kind of data stored in the row. + * For example, if the data kind is + * {@link CommonDataKinds.Phone Phone.CONTENT_ITEM_TYPE}, then DATA1 stores the + * phone number, but if the data kind is + * {@link CommonDataKinds.Email Email.CONTENT_ITEM_TYPE}, then DATA1 stores the + * email address. + *

    + *

    + * ContactsContract defines a small number of common data kinds, e.g. + * {@link CommonDataKinds.Phone}, {@link CommonDataKinds.Email} etc. As a + * convenience, these classes define data kind specific aliases for DATA1 etc. + * For example, {@link CommonDataKinds.Phone Phone.NUMBER} is the same as + * {@link ContactsContract.Data Data.DATA1}. + *

    + *

    + * {@link #DATA1} is an indexed column and should be used for the data element that is + * expected to be most frequently used in query selections. For example, in the + * case of a row representing email addresses {@link #DATA1} should probably + * be used for the email address itself, while {@link #DATA2} etc can be + * used for auxiliary information like type of email address. + *

    + *

    + * By convention, {@link #DATA15} is used for storing BLOBs (binary data). + *

    + *

    + * Typically you should refrain from introducing new kinds of data for 3rd + * party account types. For example, if you add a data row for + * "favorite song" to a raw contact owned by a Google account, it will not + * get synced to the server, because the Google sync adapter does not know + * how to handle this data kind. Thus new data kinds are typically + * introduced along with new account types, i.e. new sync adapters. + *

    + *

    Batch operations

    + *

    + * Data rows can be inserted/updated/deleted using the traditional + * {@link ContentResolver#insert}, {@link ContentResolver#update} and + * {@link ContentResolver#delete} methods, however the newer mechanism based + * on a batch of {@link ContentProviderOperation} will prove to be a better + * choice in almost all cases. All operations in a batch are executed in a + * single transaction, which ensures that the phone-side and server-side + * state of a raw contact are always consistent. Also, the batch-based + * approach is far more efficient: not only are the database operations + * faster when executed in a single transaction, but also sending a batch of + * commands to the content provider saves a lot of time on context switching + * between your process and the process in which the content provider runs. + *

    + *

    + * The flip side of using batched operations is that a large batch may lock + * up the database for a long time preventing other applications from + * accessing data and potentially causing ANRs ("Application Not Responding" + * dialogs.) + *

    + *

    + * To avoid such lockups of the database, make sure to insert "yield points" + * in the batch. A yield point indicates to the content provider that before + * executing the next operation it can commit the changes that have already + * been made, yield to other requests, open another transaction and continue + * processing operations. A yield point will not automatically commit the + * transaction, but only if there is another request waiting on the + * database. Normally a sync adapter should insert a yield point at the + * beginning of each raw contact operation sequence in the batch. See + * {@link ContentProviderOperation.Builder#withYieldAllowed(boolean)}. + *

    + *

    Operations

    + *
    + *
    Insert
    + *
    + *

    + * An individual data row can be inserted using the traditional + * {@link ContentResolver#insert(Uri, ContentValues)} method. Multiple rows + * should always be inserted as a batch. + *

    + *

    + * An example of a traditional insert: + *

    +     * ContentValues values = new ContentValues();
    +     * values.put(Data.RAW_CONTACT_ID, rawContactId);
    +     * values.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
    +     * values.put(Phone.NUMBER, "1-800-GOOG-411");
    +     * values.put(Phone.TYPE, Phone.TYPE_CUSTOM);
    +     * values.put(Phone.LABEL, "free directory assistance");
    +     * Uri dataUri = getContentResolver().insert(Data.CONTENT_URI, values);
    +     * 
    + *

    + * The same done using ContentProviderOperations: + *

    +     * ArrayList<ContentProviderOperation> ops = Lists.newArrayList();
    +     * ops.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
    +     *          .withValue(Data.RAW_CONTACT_ID, rawContactId)
    +     *          .withValue(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE)
    +     *          .withValue(Phone.NUMBER, "1-800-GOOG-411")
    +     *          .withValue(Phone.TYPE, Phone.TYPE_CUSTOM)
    +     *          .withValue(Phone.LABEL, "free directory assistance")
    +     *          .build());
    +     * getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
    +     * 
    + *

    + *
    Update
    + *
    + *

    + * Just as with insert, update can be done incrementally or as a batch, + * the batch mode being the preferred method: + *

    +     * ArrayList<ContentProviderOperation> ops = Lists.newArrayList();
    +     * ops.add(ContentProviderOperation.newUpdate(Data.CONTENT_URI)
    +     *          .withSelection(Data._ID + "=?", new String[]{String.valueOf(dataId)})
    +     *          .withValue(Email.DATA, "somebody@android.com")
    +     *          .build());
    +     * getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
    +     * 
    + *

    + *
    + *
    Delete
    + *
    + *

    + * Just as with insert and update, deletion can be done either using the + * {@link ContentResolver#delete} method or using a ContentProviderOperation: + *

    +     * ArrayList<ContentProviderOperation> ops = Lists.newArrayList();
    +     * ops.add(ContentProviderOperation.newDelete(Data.CONTENT_URI)
    +     *          .withSelection(Data._ID + "=?", new String[]{String.valueOf(dataId)})
    +     *          .build());
    +     * getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
    +     * 
    + *

    + *
    + *
    Query
    + *
    + *

    + *

    + *
    Finding all Data of a given type for a given contact
    + *
    + *
    +     * Cursor c = getContentResolver().query(Data.CONTENT_URI,
    +     *          new String[] {Data._ID, Phone.NUMBER, Phone.TYPE, Phone.LABEL},
    +     *          Data.CONTACT_ID + "=?" + " AND "
    +     *                  + Data.MIMETYPE + "='" + Phone.CONTENT_ITEM_TYPE + "'",
    +     *          new String[] {String.valueOf(contactId)}, null);
    +     * 
    + *

    + *

    + *

    + *
    Finding all Data of a given type for a given raw contact
    + *
    + *
    +     * Cursor c = getContentResolver().query(Data.CONTENT_URI,
    +     *          new String[] {Data._ID, Phone.NUMBER, Phone.TYPE, Phone.LABEL},
    +     *          Data.RAW_CONTACT_ID + "=?" + " AND "
    +     *                  + Data.MIMETYPE + "='" + Phone.CONTENT_ITEM_TYPE + "'",
    +     *          new String[] {String.valueOf(rawContactId)}, null);
    +     * 
    + *
    + *
    Finding all Data for a given raw contact
    + *
    + * Most sync adapters will want to read all data rows for a raw contact + * along with the raw contact itself. For that you should use the + * {@link RawContactsEntity}. See also {@link RawContacts}. + *
    + *
    + *

    + *
    + *
    + *

    Columns

    + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
    Data
    long{@link #_ID}read-onlyRow ID. Sync adapter should try to preserve row IDs during updates. In other words, + * it would be a bad idea to delete and reinsert a data rows. A sync adapter should + * always do an update instead.
    String{@link #MIMETYPE}read/write-once + *

    The MIME type of the item represented by this row. Examples of common + * MIME types are: + *

      + *
    • {@link CommonDataKinds.StructuredName StructuredName.CONTENT_ITEM_TYPE}
    • + *
    • {@link CommonDataKinds.Phone Phone.CONTENT_ITEM_TYPE}
    • + *
    • {@link CommonDataKinds.Email Email.CONTENT_ITEM_TYPE}
    • + *
    • {@link CommonDataKinds.Photo Photo.CONTENT_ITEM_TYPE}
    • + *
    • {@link CommonDataKinds.Organization Organization.CONTENT_ITEM_TYPE}
    • + *
    • {@link CommonDataKinds.Im Im.CONTENT_ITEM_TYPE}
    • + *
    • {@link CommonDataKinds.Nickname Nickname.CONTENT_ITEM_TYPE}
    • + *
    • {@link CommonDataKinds.Note Note.CONTENT_ITEM_TYPE}
    • + *
    • {@link CommonDataKinds.StructuredPostal StructuredPostal.CONTENT_ITEM_TYPE}
    • + *
    • {@link CommonDataKinds.GroupMembership GroupMembership.CONTENT_ITEM_TYPE}
    • + *
    • {@link CommonDataKinds.Website Website.CONTENT_ITEM_TYPE}
    • + *
    • {@link CommonDataKinds.Event Event.CONTENT_ITEM_TYPE}
    • + *
    • {@link CommonDataKinds.Relation Relation.CONTENT_ITEM_TYPE}
    • + *
    + *

    + *
    long{@link #RAW_CONTACT_ID}read/write-onceA reference to the {@link RawContacts#_ID} that this data belongs to.
    long{@link #CONTACT_ID}read-onlyA reference to the {@link ContactsContract.Contacts#_ID} that this data row belongs + * to. It is obtained through a join with RawContacts.
    int{@link #IS_PRIMARY}read/writeWhether this is the primary entry of its kind for the raw contact it belongs to. + * "1" if true, "0" if false.
    int{@link #IS_SUPER_PRIMARY}read/writeWhether this is the primary entry of its kind for the aggregate + * contact it belongs to. Any data record that is "super primary" must + * also be "primary".
    int{@link #DATA_VERSION}read-onlyThe version of this data record. Whenever the data row changes + * the version goes up. This value is monotonically increasing.
    Any type + * {@link #DATA1}
    + * {@link #DATA2}
    + * {@link #DATA3}
    + * {@link #DATA4}
    + * {@link #DATA5}
    + * {@link #DATA6}
    + * {@link #DATA7}
    + * {@link #DATA8}
    + * {@link #DATA9}
    + * {@link #DATA10}
    + * {@link #DATA11}
    + * {@link #DATA12}
    + * {@link #DATA13}
    + * {@link #DATA14}
    + * {@link #DATA15} + *
    read/writeGeneric data columns, the meaning is {@link #MIMETYPE} specific.
    Any type + * {@link #SYNC1}
    + * {@link #SYNC2}
    + * {@link #SYNC3}
    + * {@link #SYNC4} + *
    read/writeGeneric columns for use by sync adapters. For example, a Photo row + * may store the image URL in SYNC1, a status (not loaded, loading, loaded, error) + * in SYNC2, server-side version number in SYNC3 and error code in SYNC4.
    + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
    Join with {@link StatusUpdates}
    int{@link #PRESENCE}read-onlyIM presence status linked to this data row. Compare with + * {@link #CONTACT_PRESENCE}, which contains the contact's presence across + * all IM rows. See {@link StatusUpdates} for individual status definitions. + * The provider may choose not to store this value + * in persistent storage. The expectation is that presence status will be + * updated on a regular basic. + *
    String{@link #STATUS}read-onlyLatest status update linked with this data row.
    long{@link #STATUS_TIMESTAMP}read-onlyThe absolute time in milliseconds when the latest status was + * inserted/updated for this data row.
    String{@link #STATUS_RES_PACKAGE}read-onlyThe package containing resources for this status: label and icon.
    long{@link #STATUS_LABEL}read-onlyThe resource ID of the label describing the source of status update linked + * to this data row. This resource is scoped by the {@link #STATUS_RES_PACKAGE}.
    long{@link #STATUS_ICON}read-onlyThe resource ID of the icon for the source of the status update linked + * to this data row. This resource is scoped by the {@link #STATUS_RES_PACKAGE}.
    + * + *

    + * Columns from the associated raw contact are also available through an + * implicit join. + *

    + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
    Join with {@link RawContacts}
    int{@link #AGGREGATION_MODE}read-onlySee {@link RawContacts}.
    int{@link #DELETED}read-onlySee {@link RawContacts}.
    + * + *

    + * Columns from the associated aggregated contact are also available through an + * implicit join. + *

    + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
    Join with {@link Contacts}
    String{@link #LOOKUP_KEY}read-onlySee {@link ContactsContract.Contacts}
    String{@link #DISPLAY_NAME}read-onlySee {@link ContactsContract.Contacts}
    long{@link #PHOTO_ID}read-onlySee {@link ContactsContract.Contacts}.
    int{@link #IN_VISIBLE_GROUP}read-onlySee {@link ContactsContract.Contacts}.
    int{@link #HAS_PHONE_NUMBER}read-onlySee {@link ContactsContract.Contacts}.
    int{@link #TIMES_CONTACTED}read-onlySee {@link ContactsContract.Contacts}.
    long{@link #LAST_TIME_CONTACTED}read-onlySee {@link ContactsContract.Contacts}.
    int{@link #STARRED}read-onlySee {@link ContactsContract.Contacts}.
    String{@link #CUSTOM_RINGTONE}read-onlySee {@link ContactsContract.Contacts}.
    int{@link #SEND_TO_VOICEMAIL}read-onlySee {@link ContactsContract.Contacts}.
    int{@link #CONTACT_PRESENCE}read-onlySee {@link ContactsContract.Contacts}.
    String{@link #CONTACT_STATUS}read-onlySee {@link ContactsContract.Contacts}.
    long{@link #CONTACT_STATUS_TIMESTAMP}read-onlySee {@link ContactsContract.Contacts}.
    String{@link #CONTACT_STATUS_RES_PACKAGE}read-onlySee {@link ContactsContract.Contacts}.
    long{@link #CONTACT_STATUS_LABEL}read-onlySee {@link ContactsContract.Contacts}.
    long{@link #CONTACT_STATUS_ICON}read-onlySee {@link ContactsContract.Contacts}.
    */ public final static class Data implements DataColumnsWithJoins { /** @@ -859,7 +1984,7 @@ public final class ContactsContract { * * This flag is useful (currently) only for vCard exporter in Contacts app, which * needs to exclude "un-exportable" data from available data to export, while - * Contacts app itself has priviledge to access all data including "un-expotable" + * Contacts app itself has priviledge to access all data including "un-exportable" * ones and providers return all of them regardless of the callers' intention. *

    Type: INTEGER

    * @@ -872,7 +1997,7 @@ public final class ContactsContract { /** * Build a {@link android.provider.ContactsContract.Contacts#CONTENT_LOOKUP_URI} * style {@link Uri} for the parent {@link android.provider.ContactsContract.Contacts} - * entry of the given {@link Data} entry. + * entry of the given {@link ContactsContract.Data} entry. */ public static Uri getContactLookupUri(ContentResolver resolver, Uri dataUri) { final Cursor cursor = resolver.query(dataUri, new String[] { @@ -894,8 +2019,141 @@ public final class ContactsContract { } /** - * Constants for the raw contacts entities table, which can be though of as an outer join - * of the raw_contacts table with the data table. + *

    + * Constants for the raw contacts entities table, which can be though of as + * an outer join of the raw_contacts table with the data table. It is a strictly + * read-only table. + *

    + *

    + * If a raw contact has data rows, the RawContactsEntity cursor will contain + * a one row for each data row. If the raw contact has no data rows, the + * cursor will still contain one row with the raw contact-level information + * and nulls for data columns. + * + *

    +     * Uri entityUri = ContentUris.withAppendedId(RawContactsEntity.CONTENT_URI, rawContactId);
    +     * Cursor c = getContentResolver().query(entityUri,
    +     *          new String[]{
    +     *              RawContactsEntity.SOURCE_ID,
    +     *              RawContactsEntity.DATA_ID,
    +     *              RawContactsEntity.MIMETYPE,
    +     *              RawContactsEntity.DATA1
    +     *          }, null, null, null);
    +     * try {
    +     *     while (c.moveToNext()) {
    +     *         String sourceId = c.getString(0);
    +     *         if (!c.isNull(1)) {
    +     *             String mimeType = c.getString(2);
    +     *             String data = c.getString(3);
    +     *             ...
    +     *         }
    +     *     }
    +     * } finally {
    +     *     c.close();
    +     * }
    +     * 
    + * + *

    Columns

    + * RawContactsEntity has a combination of RawContact and Data columns. + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
    RawContacts
    long{@link #_ID}read-onlyRaw contact row ID. See {@link RawContacts}.
    long{@link #CONTACT_ID}read-onlySee {@link RawContacts}.
    int{@link #AGGREGATION_MODE}read-onlySee {@link RawContacts}.
    int{@link #DELETED}read-onlySee {@link RawContacts}.
    + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
    Data
    long{@link #DATA_ID}read-onlyData row ID. It will be null if the raw contact has no data rows.
    String{@link #MIMETYPE}read-onlySee {@link ContactsContract.Data}.
    int{@link #IS_PRIMARY}read-onlySee {@link ContactsContract.Data}.
    int{@link #IS_SUPER_PRIMARY}read-onlySee {@link ContactsContract.Data}.
    int{@link #DATA_VERSION}read-onlySee {@link ContactsContract.Data}.
    Any type + * {@link #DATA1}
    + * {@link #DATA2}
    + * {@link #DATA3}
    + * {@link #DATA4}
    + * {@link #DATA5}
    + * {@link #DATA6}
    + * {@link #DATA7}
    + * {@link #DATA8}
    + * {@link #DATA9}
    + * {@link #DATA10}
    + * {@link #DATA11}
    + * {@link #DATA12}
    + * {@link #DATA13}
    + * {@link #DATA14}
    + * {@link #DATA15} + *
    read-onlySee {@link ContactsContract.Data}.
    Any type + * {@link #SYNC1}
    + * {@link #SYNC2}
    + * {@link #SYNC3}
    + * {@link #SYNC4} + *
    read-onlySee {@link ContactsContract.Data}.
    */ public final static class RawContactsEntity implements BaseColumns, DataColumns, RawContactsColumns { @@ -938,6 +2196,9 @@ public final class ContactsContract { public static final String DATA_ID = "data_id"; } + /** + * @see PhoneLookup + */ protected interface PhoneLookupColumns { /** * The phone number as the user entered it. @@ -961,7 +2222,112 @@ public final class ContactsContract { /** * A table that represents the result of looking up a phone number, for * example for caller ID. To perform a lookup you must append the number you - * want to find to {@link #CONTENT_FILTER_URI}. + * want to find to {@link #CONTENT_FILTER_URI}. This query is highly + * optimized. + *
    +     * Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNumber));
    +     * resolver.query(uri, new String[]{PhoneLookup.DISPLAY_NAME,...
    +     * 
    + * + *

    Columns

    + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
    PhoneLookup
    long{@link #_ID}read-onlyData row ID.
    String{@link #NUMBER}read-onlyPhone number.
    String{@link #TYPE}read-onlyPhone number type. See {@link CommonDataKinds.Phone}.
    String{@link #LABEL}read-onlyCustom label for the phone number. See {@link CommonDataKinds.Phone}.
    + *

    + * Columns from the Contacts table are also available through a join. + *

    + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
    Join with {@link Contacts}
    String{@link #LOOKUP_KEY}read-onlySee {@link ContactsContract.Contacts}
    String{@link #DISPLAY_NAME}read-onlySee {@link ContactsContract.Contacts}
    long{@link #PHOTO_ID}read-onlySee {@link ContactsContract.Contacts}.
    int{@link #IN_VISIBLE_GROUP}read-onlySee {@link ContactsContract.Contacts}.
    int{@link #HAS_PHONE_NUMBER}read-onlySee {@link ContactsContract.Contacts}.
    int{@link #TIMES_CONTACTED}read-onlySee {@link ContactsContract.Contacts}.
    long{@link #LAST_TIME_CONTACTED}read-onlySee {@link ContactsContract.Contacts}.
    int{@link #STARRED}read-onlySee {@link ContactsContract.Contacts}.
    String{@link #CUSTOM_RINGTONE}read-onlySee {@link ContactsContract.Contacts}.
    int{@link #SEND_TO_VOICEMAIL}read-onlySee {@link ContactsContract.Contacts}.
    */ public static final class PhoneLookup implements BaseColumns, PhoneLookupColumns, ContactsColumns, ContactOptionsColumns { @@ -973,10 +2339,9 @@ public final class ContactsContract { /** * The content:// style URI for this table. Append the phone number you want to lookup * to this URI and query it to perform a lookup. For example: - * - * {@code - * Uri lookupUri = Uri.withAppendedPath(PhoneLookup.CONTENT_URI, phoneNumber); - * } + *
    +         * Uri lookupUri = Uri.withAppendedPath(PhoneLookup.CONTENT_URI, Uri.encode(phoneNumber));
    +         * 
    */ public static final Uri CONTENT_FILTER_URI = Uri.withAppendedPath(AUTHORITY_URI, "phone_lookup"); @@ -985,6 +2350,8 @@ public final class ContactsContract { /** * Additional data mixed in with {@link StatusColumns} to link * back to specific {@link ContactsContract.Data#_ID} entries. + * + * @see StatusUpdates */ protected interface PresenceColumns { @@ -995,6 +2362,7 @@ public final class ContactsContract { public static final String DATA_ID = "presence_data_id"; /** + * See {@link CommonDataKinds.Im} for a list of defined protocol constants. *

    Type: NUMBER

    */ public static final String PROTOCOL = "protocol"; @@ -1024,11 +2392,132 @@ public final class ContactsContract { } /** - * A status update is linked to a {@link Data} row and captures the user's latest status - * update via the corresponding source, e.g. "Having lunch" via "Google Talk". + *

    + * A status update is linked to a {@link ContactsContract.Data} row and captures + * the user's latest status update via the corresponding source, e.g. + * "Having lunch" via "Google Talk". + *

    + *

    + * There are two ways a status update can be inserted: by explicitly linking + * it to a Data row using {@link #DATA_ID} or indirectly linking it to a data row + * using a combination of {@link #PROTOCOL} (or {@link #CUSTOM_PROTOCOL}) and + * {@link #IM_HANDLE}. There is no difference between insert and update, you can use + * either. + *

    + *

    + * You cannot use {@link ContentResolver#update} to change a status, but + * {@link ContentResolver#insert} will replace the latests status if it already + * exists. + *

    + *

    + * Use {@link ContentResolver#bulkInsert(Uri, ContentValues[])} to insert/update statuses + * for multiple contacts at once. + *

    + * + *

    Columns

    + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
    StatusUpdates
    long{@link #DATA_ID}read/writeReference to the {@link Data#_ID} entry that owns this presence. If this + * field is not specified, the provider will attempt to find a data row + * that matches the {@link #PROTOCOL} (or {@link #CUSTOM_PROTOCOL}) and + * {@link #IM_HANDLE} columns. + *
    long{@link #PROTOCOL}read/writeSee {@link CommonDataKinds.Im} for a list of defined protocol constants.
    String{@link #CUSTOM_PROTOCOL}read/writeName of the custom protocol. Should be supplied along with the {@link #PROTOCOL} value + * {@link ContactsContract.CommonDataKinds.Im#PROTOCOL_CUSTOM}. Should be null or + * omitted if {@link #PROTOCOL} value is not + * {@link ContactsContract.CommonDataKinds.Im#PROTOCOL_CUSTOM}.
    String{@link #IM_HANDLE}read/write The IM handle the presence item is for. The handle is scoped to + * {@link #PROTOCOL}.
    String{@link #IM_ACCOUNT}read/writeThe IM account for the local user that the presence data came from.
    int{@link #PRESENCE}read/writeContact IM presence status. The allowed values are: + *

    + *

      + *
    • {@link #OFFLINE}
    • + *
    • {@link #INVISIBLE}
    • + *
    • {@link #AWAY}
    • + *
    • {@link #IDLE}
    • + *
    • {@link #DO_NOT_DISTURB}
    • + *
    • {@link #AVAILABLE}
    • + *
    + *

    + *

    + * Since presence status is inherently volatile, the content provider + * may choose not to store this field in long-term storage. + *

    + *
    String{@link #STATUS}read/writeContact's latest status update, e.g. "having toast for breakfast"
    long{@link #STATUS_TIMESTAMP}read/writeThe absolute time in milliseconds when the status was + * entered by the user. If this value is not provided, the provider will follow + * this logic: if there was no prior status update, the value will be left as null. + * If there was a prior status update, the provider will default this field + * to the current time.
    String{@link #STATUS_RES_PACKAGE}read/write The package containing resources for this status: label and icon.
    long{@link #STATUS_LABEL}read/writeThe resource ID of the label describing the source of contact status, + * e.g. "Google Talk". This resource is scoped by the + * {@link #STATUS_RES_PACKAGE}.
    long{@link #STATUS_ICON}read/writeThe resource ID of the icon for the source of contact status. This + * resource is scoped by the {@link #STATUS_RES_PACKAGE}.
    */ - // TODO make final as soon as Presence is removed - public static /*final*/ class StatusUpdates implements StatusColumns, PresenceColumns { + public static class StatusUpdates implements StatusColumns, PresenceColumns { /** * This utility class cannot be instantiated @@ -1088,13 +2577,17 @@ public final class ContactsContract { public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/status-update"; } + /** + * @deprecated This old name was never meant to be made public. Do not use. + */ @Deprecated public static final class Presence extends StatusUpdates { } /** - * Container for definitions of common data types stored in the {@link Data} table. + * Container for definitions of common data types stored in the {@link ContactsContract.Data} + * table. */ public static final class CommonDataKinds { /** @@ -1144,7 +2637,69 @@ public final class ContactsContract { } /** - * Parts of the name. + * A data kind representing the contact's proper name. You can use all + * columns defined for {@link ContactsContract.Data} as well as the following aliases. + * + *

    Column aliases

    + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
    TypeAliasData column
    String{@link #DISPLAY_NAME}{@link #DATA1}
    String{@link #GIVEN_NAME}{@link #DATA2}
    String{@link #FAMILY_NAME}{@link #DATA3}
    String{@link #PREFIX}{@link #DATA4}Common prefixes in English names are "Mr", "Ms", "Dr" etc.
    String{@link #MIDDLE_NAME}{@link #DATA5}
    String{@link #SUFFIX}{@link #DATA6}Common suffixes in English names are "Sr", "Jr", "III" etc.
    String{@link #PHONETIC_GIVEN_NAME}{@link #DATA7}Used for phonetic spelling of the name, e.g. Pinyin, Katakana, Hiragana
    String{@link #PHONETIC_MIDDLE_NAME}{@link #DATA8}
    String{@link #PHONETIC_FAMILY_NAME}{@link #DATA9}
    */ public static final class StructuredName implements DataColumnsWithJoins { /** @@ -1213,7 +2768,68 @@ public final class ContactsContract { } /** - * A nickname. + *

    A data kind representing the contact's nickname. For example, for + * Bob Parr ("Mr. Incredible"): + *

    +         * ArrayList<ContentProviderOperation> ops = Lists.newArrayList();
    +         * ops.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
    +         *          .withValue(Data.RAW_CONTACT_ID, rawContactId)
    +         *          .withValue(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE)
    +         *          .withValue(StructuredName.DISPLAY_NAME, "Bob Parr")
    +         *          .build());
    +         *
    +         * ops.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
    +         *          .withValue(Data.RAW_CONTACT_ID, rawContactId)
    +         *          .withValue(Data.MIMETYPE, Nickname.CONTENT_ITEM_TYPE)
    +         *          .withValue(Nickname.NAME, "Mr. Incredible")
    +         *          .withValue(Nickname.TYPE, Nickname.TYPE_CUSTOM)
    +         *          .withValue(Nickname.LABEL, "Superhero")
    +         *          .build());
    +         *
    +         * getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
    +         * 
    + *

    + *

    + * You can use all columns defined for {@link ContactsContract.Data} as well as the + * following aliases. + *

    + * + *

    Column aliases

    + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
    TypeAliasData column
    String{@link #NAME}{@link #DATA1}
    int{@link #TYPE}{@link #DATA2} + * Allowed values are: + *

    + *

      + *
    • {@link #TYPE_CUSTOM}. Put the actual type in {@link #LABEL}.
    • + *
    • {@link #TYPE_DEFAULT}
    • + *
    • {@link #TYPE_OTHER_NAME}
    • + *
    • {@link #TYPE_MAINDEN_NAME}
    • + *
    • {@link #TYPE_SHORT_NAME}
    • + *
    • {@link #TYPE_INITIALS}
    • + *
    + *

    + *
    String{@link #LABEL}{@link #DATA3}
    */ public static final class Nickname implements DataColumnsWithJoins, CommonColumns { /** @@ -1237,7 +2853,64 @@ public final class ContactsContract { } /** - * Common data definition for telephone numbers. + *

    + * A data kind representing a telephone number. + *

    + *

    + * You can use all columns defined for {@link ContactsContract.Data} as + * well as the following aliases. + *

    + *

    Column aliases

    + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
    TypeAliasData column
    String{@link #NUMBER}{@link #DATA1}
    int{@link #TYPE}{@link #DATA2}Allowed values are: + *

    + *

      + *
    • {@link #TYPE_CUSTOM}. Put the actual type in {@link #LABEL}.
    • + *
    • {@link #TYPE_HOME}
    • + *
    • {@link #TYPE_MOBILE}
    • + *
    • {@link #TYPE_WORK}
    • + *
    • {@link #TYPE_FAX_WORK}
    • + *
    • {@link #TYPE_FAX_HOME}
    • + *
    • {@link #TYPE_PAGER}
    • + *
    • {@link #TYPE_OTHER}
    • + *
    • {@link #TYPE_CALLBACK}
    • + *
    • {@link #TYPE_CAR}
    • + *
    • {@link #TYPE_COMPANY_MAIN}
    • + *
    • {@link #TYPE_ISDN}
    • + *
    • {@link #TYPE_MAIN}
    • + *
    • {@link #TYPE_OTHER_FAX}
    • + *
    • {@link #TYPE_RADIO}
    • + *
    • {@link #TYPE_TELEX}
    • + *
    • {@link #TYPE_TTY_TDD}
    • + *
    • {@link #TYPE_WORK_MOBILE}
    • + *
    • {@link #TYPE_WORK_PAGER}
    • + *
    • {@link #TYPE_ASSISTANT}
    • + *
    • {@link #TYPE_MMS}
    • + *
    + *

    + *
    String{@link #LABEL}{@link #DATA3}
    */ public static final class Phone implements DataColumnsWithJoins, CommonColumns { /** @@ -1365,7 +3038,48 @@ public final class ContactsContract { } /** - * Common data definition for email addresses. + *

    + * A data kind representing an email address. + *

    + *

    + * You can use all columns defined for {@link ContactsContract.Data} as + * well as the following aliases. + *

    + *

    Column aliases

    + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
    TypeAliasData column
    String{@link #DATA}{@link #DATA1}Email address itself.
    int{@link #TYPE}{@link #DATA2}Allowed values are: + *

    + *

      + *
    • {@link #TYPE_CUSTOM}. Put the actual type in {@link #LABEL}.
    • + *
    • {@link #TYPE_HOME}
    • + *
    • {@link #TYPE_WORK}
    • + *
    • {@link #TYPE_OTHER}
    • + *
    • {@link #TYPE_MOBILE}
    • + *
    + *

    + *
    String{@link #LABEL}{@link #DATA3}
    */ public static final class Email implements DataColumnsWithJoins, CommonColumns { /** @@ -1390,22 +3104,50 @@ public final class ContactsContract { "emails"); /** + *

    * The content:// style URL for looking up data rows by email address. The * lookup argument, an email address, should be passed as an additional path segment * after this URI. + *

    + *

    Example: + *

    +             * Uri uri = Uri.withAppendedPath(Email.CONTENT_LOOKUP_URI, Uri.encode(email));
    +             * Cursor c = getContentResolver().query(uri,
    +             *          new String[]{Email.CONTACT_ID, Email.DISPLAY_NAME, Email.DATA},
    +             *          null, null, null);
    +             * 
    + *

    */ public static final Uri CONTENT_LOOKUP_URI = Uri.withAppendedPath(CONTENT_URI, "lookup"); /** + *

    * The content:// style URL for email lookup using a filter. The filter returns * records of MIME type {@link #CONTENT_ITEM_TYPE}. The filter is applied * to display names as well as email addresses. The filter argument should be passed * as an additional path segment after this URI. + *

    + *

    The query in the following example will return "Robert Parr (bob@incredibles.com)" + * as well as "Bob Parr (incredible@android.com)". + *

    +             * Uri uri = Uri.withAppendedPath(Email.CONTENT_LOOKUP_URI, Uri.encode("bob"));
    +             * Cursor c = getContentResolver().query(uri,
    +             *          new String[]{Email.DISPLAY_NAME, Email.DATA},
    +             *          null, null, null);
    +             * 
    + *

    */ public static final Uri CONTENT_FILTER_URI = Uri.withAppendedPath(CONTENT_URI, "filter"); + /** + * The email address. + *

    Type: TEXT

    + * @hide TODO: Unhide in a separate CL + */ + public static final String ADDRESS = DATA1; + public static final int TYPE_HOME = 1; public static final int TYPE_WORK = 2; public static final int TYPE_OTHER = 3; @@ -1448,7 +3190,89 @@ public final class ContactsContract { } /** - * Common data definition for postal addresses. + *

    + * A data kind representing a postal addresses. + *

    + *

    + * You can use all columns defined for {@link ContactsContract.Data} as + * well as the following aliases. + *

    + *

    Column aliases

    + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
    TypeAliasData column
    String{@link #FORMATTED_ADDRESS}{@link #DATA1}
    int{@link #TYPE}{@link #DATA2}Allowed values are: + *

    + *

      + *
    • {@link #TYPE_CUSTOM}. Put the actual type in {@link #LABEL}.
    • + *
    • {@link #TYPE_HOME}
    • + *
    • {@link #TYPE_WORK}
    • + *
    • {@link #TYPE_OTHER}
    • + *
    + *

    + *
    String{@link #LABEL}{@link #DATA3}
    String{@link #STREET}{@link #DATA4}
    String{@link #POBOX}{@link #DATA5}Post Office Box number
    String{@link #NEIGHBORHOOD}{@link #DATA6}
    String{@link #CITY}{@link #DATA7}
    String{@link #REGION}{@link #DATA8}
    String{@link #POSTCODE}{@link #DATA9}
    String{@link #COUNTRY}{@link #DATA10}
    */ public static final class StructuredPostal implements DataColumnsWithJoins, CommonColumns { /** @@ -1573,7 +3397,76 @@ public final class ContactsContract { } /** - * Common data definition for IM addresses. + *

    + * A data kind representing an IM address + *

    + *

    + * You can use all columns defined for {@link ContactsContract.Data} as + * well as the following aliases. + *

    + *

    Column aliases

    + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
    TypeAliasData column
    String{@link #DATA}{@link #DATA1}
    int{@link #TYPE}{@link #DATA2}Allowed values are: + *

    + *

      + *
    • {@link #TYPE_CUSTOM}. Put the actual type in {@link #LABEL}.
    • + *
    • {@link #TYPE_HOME}
    • + *
    • {@link #TYPE_WORK}
    • + *
    • {@link #TYPE_OTHER}
    • + *
    + *

    + *
    String{@link #LABEL}{@link #DATA3}
    String{@link #PROTOCOL}{@link #DATA5} + *

    + * Allowed values: + *

      + *
    • {@link #PROTOCOL_CUSTOM}. Also provide the actual protocol name + * as {@link #CUSTOM_PROTOCOL}.
    • + *
    • {@link #PROTOCOL_AIM}
    • + *
    • {@link #PROTOCOL_MSN}
    • + *
    • {@link #PROTOCOL_YAHOO}
    • + *
    • {@link #PROTOCOL_SKYPE}
    • + *
    • {@link #PROTOCOL_QQ}
    • + *
    • {@link #PROTOCOL_GOOGLE_TALK}
    • + *
    • {@link #PROTOCOL_ICQ}
    • + *
    • {@link #PROTOCOL_JABBER}
    • + *
    • {@link #PROTOCOL_NETMEETING}
    • + *
    + *

    + *
    String{@link #CUSTOM_PROTOCOL}{@link #DATA6}
    */ public static final class Im implements DataColumnsWithJoins, CommonColumns { /** @@ -1676,7 +3569,82 @@ public final class ContactsContract { } /** - * Common data definition for organizations. + *

    + * A data kind representing an organization. + *

    + *

    + * You can use all columns defined for {@link ContactsContract.Data} as + * well as the following aliases. + *

    + *

    Column aliases

    + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
    TypeAliasData column
    String{@link #COMPANY}{@link #DATA1}
    int{@link #TYPE}{@link #DATA2}Allowed values are: + *

    + *

      + *
    • {@link #TYPE_CUSTOM}. Put the actual type in {@link #LABEL}.
    • + *
    • {@link #TYPE_WORK}
    • + *
    • {@link #TYPE_OTHER}
    • + *
    + *

    + *
    String{@link #LABEL}{@link #DATA3}
    String{@link #TITLE}{@link #DATA4}
    String{@link #DEPARTMENT}{@link #DATA5}
    String{@link #JOB_DESCRIPTION}{@link #DATA6}
    String{@link #SYMBOL}{@link #DATA7}
    String{@link #PHONETIC_NAME}{@link #DATA8}
    String{@link #OFFICE_LOCATION}{@link #DATA9}
    */ public static final class Organization implements DataColumnsWithJoins, CommonColumns { /** @@ -1761,7 +3729,58 @@ public final class ContactsContract { } /** - * Common data definition for relations. + *

    + * A data kind representing a relation. + *

    + *

    + * You can use all columns defined for {@link ContactsContract.Data} as + * well as the following aliases. + *

    + *

    Column aliases

    + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
    TypeAliasData column
    String{@link #NAME}{@link #DATA1}
    int{@link #TYPE}{@link #DATA2}Allowed values are: + *

    + *

      + *
    • {@link #TYPE_CUSTOM}. Put the actual type in {@link #LABEL}.
    • + *
    • {@link #TYPE_ASSISTANT}
    • + *
    • {@link #TYPE_BROTHER}
    • + *
    • {@link #TYPE_CHILD}
    • + *
    • {@link #TYPE_DOMESTIC_PARTNER}
    • + *
    • {@link #TYPE_FATHER}
    • + *
    • {@link #TYPE_FRIEND}
    • + *
    • {@link #TYPE_MANAGER}
    • + *
    • {@link #TYPE_MOTHER}
    • + *
    • {@link #TYPE_PARENT}
    • + *
    • {@link #TYPE_PARTNER}
    • + *
    • {@link #TYPE_REFERRED_BY}
    • + *
    • {@link #TYPE_RELATIVE}
    • + *
    • {@link #TYPE_SISTER}
    • + *
    • {@link #TYPE_SPOUSE}
    • + *
    + *

    + *
    String{@link #LABEL}{@link #DATA3}
    */ public static final class Relation implements DataColumnsWithJoins, CommonColumns { /** @@ -1795,7 +3814,47 @@ public final class ContactsContract { } /** - * Common data definition for events. + *

    + * A data kind representing an event. + *

    + *

    + * You can use all columns defined for {@link ContactsContract.Data} as + * well as the following aliases. + *

    + *

    Column aliases

    + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
    TypeAliasData column
    String{@link #START_DATE}{@link #DATA1}
    int{@link #TYPE}{@link #DATA2}Allowed values are: + *

    + *

      + *
    • {@link #TYPE_CUSTOM}. Put the actual type in {@link #LABEL}.
    • + *
    • {@link #TYPE_ANNIVERSARY}
    • + *
    • {@link #TYPE_OTHER}
    • + *
    • {@link #TYPE_BIRTHDAY}
    • + *
    + *

    + *
    String{@link #LABEL}{@link #DATA3}
    */ public static final class Event implements DataColumnsWithJoins, CommonColumns { /** @@ -1835,7 +3894,33 @@ public final class ContactsContract { } /** - * Photo of the contact. + *

    + * A data kind representing an photo for the contact. + *

    + *

    + * Some sync adapters will choose to download photos in a separate + * pass. A common pattern is to use columns {@link ContactsContract.Data#SYNC1} + * through {@link ContactsContract.Data#SYNC4} to store temporary + * data, e.g. the image URL or ID, state of download, server-side version + * of the image. It is allowed for the {@link #PHOTO} to be null. + *

    + *

    + * You can use all columns defined for {@link ContactsContract.Data} as + * well as the following aliases. + *

    + *

    Column aliases

    + * + * + * + * + * + * + * + * + * + * + * + *
    TypeAliasData column
    BLOB{@link #PHOTO}{@link #DATA15}By convention, binary data is stored in DATA15.
    */ public static final class Photo implements DataColumnsWithJoins { /** @@ -1856,7 +3941,26 @@ public final class ContactsContract { } /** + *

    * Notes about the contact. + *

    + *

    + * You can use all columns defined for {@link ContactsContract.Data} as + * well as the following aliases. + *

    + *

    Column aliases

    + * + * + * + * + * + * + * + * + * + * + * + *
    TypeAliasData column
    String{@link #NOTE}{@link #DATA1}
    */ public static final class Note implements DataColumnsWithJoins { /** @@ -1875,7 +3979,43 @@ public final class ContactsContract { } /** + *

    * Group Membership. + *

    + *

    + * You can use all columns defined for {@link ContactsContract.Data} as + * well as the following aliases. + *

    + *

    Column aliases

    + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
    TypeAliasData column
    long{@link #GROUP_ROW_ID}{@link #DATA1}
    String{@link #GROUP_SOURCE_ID}none + *

    + * The sourceid of the group that this group membership refers to. + * Exactly one of this or {@link #GROUP_ROW_ID} must be set when + * inserting a row. + *

    + *

    + * If this field is specified, the provider will first try to + * look up a group with this {@link Groups Groups.SOURCE_ID}. If such a group + * is found, it will use the corresponding row id. If the group is not + * found, it will create one. + *

    */ public static final class GroupMembership implements DataColumnsWithJoins { /** @@ -1903,7 +4043,51 @@ public final class ContactsContract { } /** - * Website related to the contact. + *

    + * A data kind representing a website related to the contact. + *

    + *

    + * You can use all columns defined for {@link ContactsContract.Data} as + * well as the following aliases. + *

    + *

    Column aliases

    + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
    TypeAliasData column
    String{@link #URL}{@link #DATA1}
    int{@link #TYPE}{@link #DATA2}Allowed values are: + *

    + *

      + *
    • {@link #TYPE_CUSTOM}. Put the actual type in {@link #LABEL}.
    • + *
    • {@link #TYPE_HOMEPAGE}
    • + *
    • {@link #TYPE_BLOG}
    • + *
    • {@link #TYPE_PROFILE}
    • + *
    • {@link #TYPE_HOME}
    • + *
    • {@link #TYPE_WORK}
    • + *
    • {@link #TYPE_FTP}
    • + *
    • {@link #TYPE_OTHER}
    • + *
    + *

    + *
    String{@link #LABEL}{@link #DATA3}
    */ public static final class Website implements DataColumnsWithJoins, CommonColumns { /** @@ -1930,6 +4114,9 @@ public final class ContactsContract { } } + /** + * @see Groups + */ protected interface GroupsColumns { /** * The display title of this group. @@ -2000,11 +4187,11 @@ public final class ContactsContract { /** * The "deleted" flag: "0" by default, "1" if the row has been marked * for deletion. When {@link android.content.ContentResolver#delete} is - * called on a raw contact, it is marked for deletion and removed from its - * aggregate contact. The sync adaptor deletes the raw contact on the server and - * then calls ContactResolver.delete once more, this time setting the the - * {@link ContactsContract#CALLER_IS_SYNCADAPTER} query parameter to finalize - * the data removal. + * called on a group, it is marked for deletion. The sync adaptor + * deletes the group on the server and then calls ContactResolver.delete + * once more, this time setting the the + * {@link ContactsContract#CALLER_IS_SYNCADAPTER} query parameter to + * finalize the data removal. *

    Type: INTEGER

    */ public static final String DELETED = "deleted"; @@ -2019,7 +4206,82 @@ public final class ContactsContract { } /** - * Constants for the groups table. + * Constants for the groups table. Only per-account groups are supported. + *

    Columns

    + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
    Groups
    long{@link #_ID}read-onlyRow ID. Sync adapter should try to preserve row IDs during updates. + * In other words, it would be a really bad idea to delete and reinsert a + * group. A sync adapter should always do an update instead.
    String{@link #TITLE}read/writeThe display title of this group.
    String{@link #NOTES}read/writeNotes about the group.
    String{@link #SYSTEM_ID}read/writeThe ID of this group if it is a System Group, i.e. a group that has a + * special meaning to the sync adapter, null otherwise.
    int{@link #SUMMARY_COUNT}read-onlyThe total number of {@link Contacts} that have + * {@link CommonDataKinds.GroupMembership} in this group. Read-only value + * that is only present when querying {@link Groups#CONTENT_SUMMARY_URI}.
    int{@link #SUMMARY_WITH_PHONES}read-onlyThe total number of {@link Contacts} that have both + * {@link CommonDataKinds.GroupMembership} in this group, and also have + * phone numbers. Read-only value that is only present when querying + * {@link Groups#CONTENT_SUMMARY_URI}.
    int{@link #GROUP_VISIBLE}read-onlyFlag indicating if the contacts belonging to this group should be + * visible in any user interface. Allowed values: 0 and 1.
    int{@link #DELETED}read/writeThe "deleted" flag: "0" by default, "1" if the row has been marked + * for deletion. When {@link android.content.ContentResolver#delete} is + * called on a group, it is marked for deletion. The sync adaptor deletes + * the group on the server and then calls ContactResolver.delete once more, + * this time setting the the {@link ContactsContract#CALLER_IS_SYNCADAPTER} + * query parameter to finalize the data removal.
    int{@link #SHOULD_SYNC}read/writeWhether this group should be synced if the SYNC_EVERYTHING settings + * is false for this group's account.
    */ public static final class Groups implements BaseColumns, GroupsColumns, SyncColumns { /** @@ -2035,7 +4297,7 @@ public final class ContactsContract { /** * The content:// style URI for this table joined with details data from - * {@link Data}. + * {@link ContactsContract.Data}. */ public static final Uri CONTENT_SUMMARY_URI = Uri.withAppendedPath(AUTHORITY_URI, "groups_summary"); @@ -2052,9 +4314,39 @@ public final class ContactsContract { } /** + *

    * Constants for the contact aggregation exceptions table, which contains - * aggregation rules overriding those used by automatic aggregation. This type only - * supports query and update. Neither insert nor delete are supported. + * aggregation rules overriding those used by automatic aggregation. This + * type only supports query and update. Neither insert nor delete are + * supported. + *

    + *

    Columns

    + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
    AggregationExceptions
    int{@link #TYPE}read/writeThe type of exception: {@link #TYPE_KEEP_TOGETHER}, + * {@link #TYPE_KEEP_SEPARATE} or {@link #TYPE_AUTOMATIC}.
    long{@link #RAW_CONTACT_ID1}read/writeA reference to the {@link RawContacts#_ID} of the raw contact that + * the rule applies to.
    long{@link #RAW_CONTACT_ID2}read/writeA reference to the other {@link RawContacts#_ID} of the raw contact + * that the rule applies to.
    */ public static final class AggregationExceptions implements BaseColumns { /** @@ -2117,6 +4409,9 @@ public final class ContactsContract { public static final String RAW_CONTACT_ID2 = "raw_contact_id2"; } + /** + * @see Settings + */ protected interface SettingsColumns { /** * The name of the account instance to which this row belongs. @@ -2172,8 +4467,68 @@ public final class ContactsContract { } /** - * Contacts-specific settings for various {@link Account}. + *

    + * Contacts-specific settings for various {@link Account}'s. + *

    + *

    Columns

    + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
    Settings
    String{@link #ACCOUNT_NAME}read/write-onceThe name of the account instance to which this row belongs.
    String{@link #ACCOUNT_TYPE}read/write-onceThe type of account to which this row belongs, which when paired with + * {@link #ACCOUNT_NAME} identifies a specific account.
    int{@link #SHOULD_SYNC}read/writeDepending on the mode defined by the sync-adapter, this flag controls + * the top-level sync behavior for this data source.
    int{@link #UNGROUPED_VISIBLE}read/writeFlag indicating if contacts without any + * {@link CommonDataKinds.GroupMembership} entries should be visible in any + * user interface.
    int{@link #ANY_UNSYNCED}read-onlyRead-only flag indicating if this {@link #SHOULD_SYNC} or any + * {@link Groups#SHOULD_SYNC} under this account have been marked as + * unsynced.
    int{@link #UNGROUPED_COUNT}read-onlyRead-only count of {@link Contacts} from a specific source that have + * no {@link CommonDataKinds.GroupMembership} entries.
    int{@link #UNGROUPED_WITH_PHONES}read-onlyRead-only count of {@link Contacts} from a specific source that have + * no {@link CommonDataKinds.GroupMembership} entries, and also have phone + * numbers.
    */ + public static final class Settings implements SettingsColumns { /** * This utility class cannot be instantiated @@ -2252,8 +4607,8 @@ public final class ContactsContract { /** * Trigger a dialog that lists the various methods of interacting with * the requested {@link Contacts} entry. This may be based on available - * {@link Data} rows under that contact, and may also include social - * status and presence details. + * {@link ContactsContract.Data} rows under that contact, and may also + * include social status and presence details. * * @param context The parent {@link Context} that may be used as the * parent for this dialog. @@ -2291,8 +4646,8 @@ public final class ContactsContract { /** * Trigger a dialog that lists the various methods of interacting with * the requested {@link Contacts} entry. This may be based on available - * {@link Data} rows under that contact, and may also include social - * status and presence details. + * {@link ContactsContract.Data} rows under that contact, and may also + * include social status and presence details. * * @param context The parent {@link Context} that may be used as the * parent for this dialog. @@ -2593,7 +4948,7 @@ public final class ContactsContract { /** * The extra field for the contact phone number type. *

    Type: Either an integer value from - * {@link android.provider.Contacts.PhonesColumns PhonesColumns}, + * {@link CommonDataKinds.Phone}, * or a string specifying a custom label.

    */ public static final String PHONE_TYPE = "phone_type"; @@ -2613,7 +4968,7 @@ public final class ContactsContract { /** * The extra field for an optional second contact phone number type. *

    Type: Either an integer value from - * {@link android.provider.Contacts.PhonesColumns PhonesColumns}, + * {@link CommonDataKinds.Phone}, * or a string specifying a custom label.

    */ public static final String SECONDARY_PHONE_TYPE = "secondary_phone_type"; @@ -2627,7 +4982,7 @@ public final class ContactsContract { /** * The extra field for an optional third contact phone number type. *

    Type: Either an integer value from - * {@link android.provider.Contacts.PhonesColumns PhonesColumns}, + * {@link CommonDataKinds.Phone}, * or a string specifying a custom label.

    */ public static final String TERTIARY_PHONE_TYPE = "tertiary_phone_type"; @@ -2641,7 +4996,7 @@ public final class ContactsContract { /** * The extra field for the contact email type. *

    Type: Either an integer value from - * {@link android.provider.Contacts.ContactMethodsColumns ContactMethodsColumns} + * {@link CommonDataKinds.Email} * or a string specifying a custom label.

    */ public static final String EMAIL_TYPE = "email_type"; @@ -2661,7 +5016,7 @@ public final class ContactsContract { /** * The extra field for an optional second contact email type. *

    Type: Either an integer value from - * {@link android.provider.Contacts.ContactMethodsColumns ContactMethodsColumns} + * {@link CommonDataKinds.Email} * or a string specifying a custom label.

    */ public static final String SECONDARY_EMAIL_TYPE = "secondary_email_type"; @@ -2675,7 +5030,7 @@ public final class ContactsContract { /** * The extra field for an optional third contact email type. *

    Type: Either an integer value from - * {@link android.provider.Contacts.ContactMethodsColumns ContactMethodsColumns} + * {@link CommonDataKinds.Email} * or a string specifying a custom label.

    */ public static final String TERTIARY_EMAIL_TYPE = "tertiary_email_type"; @@ -2689,7 +5044,7 @@ public final class ContactsContract { /** * The extra field for the contact postal address type. *

    Type: Either an integer value from - * {@link android.provider.Contacts.ContactMethodsColumns ContactMethodsColumns} + * {@link CommonDataKinds.StructuredPostal} * or a string specifying a custom label.

    */ public static final String POSTAL_TYPE = "postal_type"; diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index cb3dc166f7a4b01e2a1c89cbd3a44e7cf4238692..f7e55db80b8849c023152ad06d97040199c4e8c5 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -1408,6 +1408,13 @@ public final class Settings { */ public static final String SHOW_WEB_SUGGESTIONS = "show_web_suggestions"; + /** + * Whether the notification LED should repeatedly flash when a notification is + * pending. The value is boolean (1 or 0). + * @hide + */ + public static final String NOTIFICATION_LIGHT_PULSE = "notification_light_pulse"; + /** * Settings to backup. This is here so that it's in the same place as the settings * keys and easy to update. @@ -1462,7 +1469,8 @@ public final class Settings { TTY_MODE, SOUND_EFFECTS_ENABLED, HAPTIC_FEEDBACK_ENABLED, - SHOW_WEB_SUGGESTIONS + SHOW_WEB_SUGGESTIONS, + NOTIFICATION_LIGHT_PULSE }; // Settings moved to Settings.Secure @@ -3637,6 +3645,19 @@ public final class Settings { */ public static final String LAST_KMSG_KB = "last_kmsg_kb"; + /** + * The length of time in milli-seconds that automatic small adjustments to + * SystemClock are ignored if NITZ_UPDATE_DIFF is not exceeded. + */ + public static final String NITZ_UPDATE_SPACING = "nitz_update_spacing"; + + /** + * If the NITZ_UPDATE_DIFF time is exceeded then an automatic adjustment + * to SystemClock will be allowed even if NITZ_UPDATE_SPACING has not been + * exceeded. + */ + public static final String NITZ_UPDATE_DIFF = "nitz_update_diff"; + /** * @deprecated * @hide diff --git a/core/java/android/server/BluetoothA2dpService.java b/core/java/android/server/BluetoothA2dpService.java index ec3b2ff7b2c8a3346cf4fb31c600aa3ffe86e055..f2e132b56fe7491df5e0d78ce9456ea707c6b408 100644 --- a/core/java/android/server/BluetoothA2dpService.java +++ b/core/java/android/server/BluetoothA2dpService.java @@ -96,7 +96,7 @@ public class BluetoothA2dpService extends IBluetoothA2dp.Stub { BluetoothDevice.ERROR); switch(bondState) { case BluetoothDevice.BOND_BONDED: - setSinkPriority(device, BluetoothA2dp.PRIORITY_AUTO); + setSinkPriority(device, BluetoothA2dp.PRIORITY_ON); break; case BluetoothDevice.BOND_BONDING: case BluetoothDevice.BOND_NONE: @@ -104,7 +104,7 @@ public class BluetoothA2dpService extends IBluetoothA2dp.Stub { break; } } else if (action.equals(BluetoothDevice.ACTION_ACL_CONNECTED)) { - if (getSinkPriority(device) > BluetoothA2dp.PRIORITY_OFF && + if (getSinkPriority(device) == BluetoothA2dp.PRIORITY_AUTO_CONNECT && isSinkDevice(device)) { // This device is a preferred sink. Make an A2DP connection // after a delay. We delay to avoid connection collisions, @@ -171,7 +171,7 @@ public class BluetoothA2dpService extends IBluetoothA2dp.Stub { // check bluetooth is still on, device is still preferred, and // nothing is currently connected if (mBluetoothService.isEnabled() && - getSinkPriority(device) > BluetoothA2dp.PRIORITY_OFF && + getSinkPriority(device) == BluetoothA2dp.PRIORITY_AUTO_CONNECT && lookupSinksMatchingStates(new int[] { BluetoothA2dp.STATE_CONNECTING, BluetoothA2dp.STATE_CONNECTED, @@ -376,6 +376,16 @@ public class BluetoothA2dpService extends IBluetoothA2dp.Stub { return sinks.toArray(new BluetoothDevice[sinks.size()]); } + public synchronized BluetoothDevice[] getNonDisconnectedSinks() { + mContext.enforceCallingOrSelfPermission(BLUETOOTH_PERM, "Need BLUETOOTH permission"); + Set sinks = lookupSinksMatchingStates( + new int[] {BluetoothA2dp.STATE_CONNECTED, + BluetoothA2dp.STATE_PLAYING, + BluetoothA2dp.STATE_CONNECTING, + BluetoothA2dp.STATE_DISCONNECTING}); + return sinks.toArray(new BluetoothDevice[sinks.size()]); + } + public synchronized int getSinkState(BluetoothDevice device) { mContext.enforceCallingOrSelfPermission(BLUETOOTH_PERM, "Need BLUETOOTH permission"); Integer state = mAudioDevices.get(device); @@ -450,6 +460,14 @@ public class BluetoothA2dpService extends IBluetoothA2dp.Stub { if (state == BluetoothA2dp.STATE_CONNECTING) { mAudioManager.setParameters("A2dpSuspended=false"); } + + if (state == BluetoothA2dp.STATE_CONNECTING || + state == BluetoothA2dp.STATE_CONNECTED) { + // We have connected or attempting to connect. + // Bump priority + setSinkPriority(device, BluetoothA2dp.PRIORITY_AUTO_CONNECT); + } + Intent intent = new Intent(BluetoothA2dp.ACTION_SINK_STATE_CHANGED); intent.putExtra(BluetoothDevice.EXTRA_DEVICE, device); intent.putExtra(BluetoothA2dp.EXTRA_PREVIOUS_SINK_STATE, prevState); diff --git a/core/java/android/server/BluetoothEventLoop.java b/core/java/android/server/BluetoothEventLoop.java index c0b9a6843ea176beb0eb8624a911d1fad70df65f..0d0d245489547a946f83920607d15f1a66d513a8 100644 --- a/core/java/android/server/BluetoothEventLoop.java +++ b/core/java/android/server/BluetoothEventLoop.java @@ -292,9 +292,9 @@ class BluetoothEventLoop { mBluetoothService.setProperty(name, propValues[1]); } else if (name.equals("Pairable") || name.equals("Discoverable")) { String pairable = name.equals("Pairable") ? propValues[1] : - mBluetoothService.getProperty("Pairable"); + mBluetoothService.getPropertyInternal("Pairable"); String discoverable = name.equals("Discoverable") ? propValues[1] : - mBluetoothService.getProperty("Discoverable"); + mBluetoothService.getPropertyInternal("Discoverable"); // This shouldn't happen, unless Adapter Properties are null. if (pairable == null || discoverable == null) @@ -492,6 +492,14 @@ class BluetoothEventLoop { mBluetoothService.getBondState().getPendingOutgoingBonding(); if (address.equals(pendingOutgoingAddress)) { // we initiated the bonding + + // Check if its a dock + if (mBluetoothService.isBluetoothDock(address)) { + String pin = mBluetoothService.getDockPin(); + mBluetoothService.setPin(address, BluetoothDevice.convertPinToBytes(pin)); + return; + } + BluetoothClass btClass = new BluetoothClass(mBluetoothService.getRemoteClass(address)); // try 0000 once if the device looks dumb @@ -538,12 +546,14 @@ class BluetoothEventLoop { boolean authorized = false; ParcelUuid uuid = ParcelUuid.fromString(deviceUuid); + BluetoothA2dp a2dp = new BluetoothA2dp(mContext); + // Bluez sends the UUID of the local service being accessed, _not_ the // remote service if (mBluetoothService.isEnabled() && (BluetoothUuid.isAudioSource(uuid) || BluetoothUuid.isAvrcpTarget(uuid) - || BluetoothUuid.isAdvAudioDist(uuid))) { - BluetoothA2dp a2dp = new BluetoothA2dp(mContext); + || BluetoothUuid.isAdvAudioDist(uuid)) && + (a2dp.getNonDisconnectedSinks().size() == 0)) { BluetoothDevice device = mAdapter.getRemoteDevice(address); authorized = a2dp.getSinkPriority(device) > BluetoothA2dp.PRIORITY_OFF; if (authorized) { diff --git a/core/java/android/server/BluetoothService.java b/core/java/android/server/BluetoothService.java index d1dd3110286b5883b675b9359d128886cbdb760a..018f7d7024d3df937101a6211b59051fa9552f10 100644 --- a/core/java/android/server/BluetoothService.java +++ b/core/java/android/server/BluetoothService.java @@ -32,16 +32,17 @@ import android.bluetooth.BluetoothSocket; import android.bluetooth.BluetoothUuid; import android.bluetooth.IBluetooth; import android.bluetooth.IBluetoothCallback; -import android.os.ParcelUuid; import android.content.BroadcastReceiver; import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; +import android.content.SharedPreferences; import android.os.Binder; -import android.os.IBinder; import android.os.Handler; +import android.os.IBinder; import android.os.Message; +import android.os.ParcelUuid; import android.os.RemoteException; import android.os.ServiceManager; import android.os.SystemService; @@ -50,7 +51,13 @@ import android.util.Log; import com.android.internal.app.IBatteryStats; +import java.io.BufferedInputStream; +import java.io.BufferedWriter; import java.io.FileDescriptor; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileWriter; +import java.io.IOException; import java.io.PrintWriter; import java.io.UnsupportedEncodingException; import java.util.ArrayList; @@ -58,6 +65,7 @@ import java.util.Arrays; import java.util.HashMap; import java.util.Iterator; import java.util.Map; +import java.util.Random; public class BluetoothService extends IBluetooth.Stub { private static final String TAG = "BluetoothService"; @@ -65,7 +73,6 @@ public class BluetoothService extends IBluetooth.Stub { private int mNativeData; private BluetoothEventLoop mEventLoop; - private IntentFilter mIntentFilter; private boolean mIsAirplaneSensitive; private int mBluetoothState; private boolean mRestart = false; // need to call enable() after disable() @@ -79,6 +86,12 @@ public class BluetoothService extends IBluetooth.Stub { private static final String BLUETOOTH_ADMIN_PERM = android.Manifest.permission.BLUETOOTH_ADMIN; private static final String BLUETOOTH_PERM = android.Manifest.permission.BLUETOOTH; + private static final String DOCK_ADDRESS_PATH = "/sys/class/switch/dock/bt_addr"; + private static final String DOCK_PIN_PATH = "/sys/class/switch/dock/bt_pin"; + + private static final String SHARED_PREFERENCE_DOCK_ADDRESS = "dock_bluetooth_address"; + private static final String SHARED_PREFERENCES_NAME = "bluetooth_service_settings"; + private static final int MESSAGE_REGISTER_SDP_RECORDS = 1; private static final int MESSAGE_FINISH_DISABLE = 2; private static final int MESSAGE_UUID_INTENT = 3; @@ -104,6 +117,9 @@ public class BluetoothService extends IBluetooth.Stub { private final HashMap mServiceRecordToPid; + private static String mDockAddress; + private String mDockPin; + private static class RemoteService { public String address; public ParcelUuid uuid; @@ -150,7 +166,79 @@ public class BluetoothService extends IBluetooth.Stub { mUuidIntentTracker = new ArrayList(); mUuidCallbackTracker = new HashMap(); mServiceRecordToPid = new HashMap(); - registerForAirplaneMode(); + + IntentFilter filter = new IntentFilter(); + registerForAirplaneMode(filter); + + filter.addAction(Intent.ACTION_DOCK_EVENT); + mContext.registerReceiver(mReceiver, filter); + } + + public static synchronized String readDockBluetoothAddress() { + if (mDockAddress != null) return mDockAddress; + + BufferedInputStream file = null; + String dockAddress; + try { + file = new BufferedInputStream(new FileInputStream(DOCK_ADDRESS_PATH)); + byte[] address = new byte[17]; + file.read(address); + dockAddress = new String(address); + dockAddress = dockAddress.toUpperCase(); + if (BluetoothAdapter.checkBluetoothAddress(dockAddress)) { + mDockAddress = dockAddress; + return mDockAddress; + } else { + log("CheckBluetoothAddress failed for car dock address:" + dockAddress); + } + } catch (FileNotFoundException e) { + log("FileNotFoundException while trying to read dock address"); + } catch (IOException e) { + log("IOException while trying to read dock address"); + } finally { + if (file != null) { + try { + file.close(); + } catch (IOException e) { + // Ignore + } + } + } + mDockAddress = null; + return null; + } + + private synchronized boolean writeDockPin() { + BufferedWriter out = null; + try { + out = new BufferedWriter(new FileWriter(DOCK_PIN_PATH)); + + // Generate a random 4 digit pin between 0000 and 9999 + // This is not truly random but good enough for our purposes. + int pin = (int) Math.floor(Math.random() * 10000); + + mDockPin = String.format("%04d", pin); + out.write(mDockPin); + return true; + } catch (FileNotFoundException e) { + log("FileNotFoundException while trying to write dock pairing pin"); + } catch (IOException e) { + log("IOException while while trying to write dock pairing pin"); + } finally { + if (out != null) { + try { + out.close(); + } catch (IOException e) { + // Ignore + } + } + } + mDockPin = null; + return false; + } + + /*package*/ synchronized String getDockPin() { + return mDockPin; } public synchronized void initAfterRegistration() { @@ -160,9 +248,7 @@ public class BluetoothService extends IBluetooth.Stub { @Override protected void finalize() throws Throwable { - if (mIsAirplaneSensitive) { - mContext.unregisterReceiver(mReceiver); - } + mContext.unregisterReceiver(mReceiver); try { cleanupNativeDataNative(); } finally { @@ -172,6 +258,10 @@ public class BluetoothService extends IBluetooth.Stub { public boolean isEnabled() { mContext.enforceCallingOrSelfPermission(BLUETOOTH_PERM, "Need BLUETOOTH permission"); + return isEnabledInternal(); + } + + private boolean isEnabledInternal() { return mBluetoothState == BluetoothAdapter.STATE_ON; } @@ -328,7 +418,7 @@ public class BluetoothService extends IBluetooth.Stub { public void handleMessage(Message msg) { switch (msg.what) { case MESSAGE_REGISTER_SDP_RECORDS: - if (!isEnabled()) { + if (!isEnabledInternal()) { return; } // SystemService.start() forks sdptool to register service @@ -340,14 +430,14 @@ public class BluetoothService extends IBluetooth.Stub { // records, use a DBUS call instead. switch (msg.arg1) { case 1: - Log.d(TAG, "Registering hsag record"); - SystemService.start("hsag"); + Log.d(TAG, "Registering hfag record"); + SystemService.start("hfag"); mHandler.sendMessageDelayed( mHandler.obtainMessage(MESSAGE_REGISTER_SDP_RECORDS, 2, -1), 500); break; case 2: - Log.d(TAG, "Registering hfag record"); - SystemService.start("hfag"); + Log.d(TAG, "Registering hsag record"); + SystemService.start("hsag"); mHandler.sendMessageDelayed( mHandler.obtainMessage(MESSAGE_REGISTER_SDP_RECORDS, 3, -1), 500); break; @@ -375,7 +465,7 @@ public class BluetoothService extends IBluetooth.Stub { break; case MESSAGE_DISCOVERABLE_TIMEOUT: int mode = msg.arg1; - if (isEnabled()) { + if (isEnabledInternal()) { // TODO: Switch back to the previous scan mode // This is ok for now, because we only use // CONNECTABLE and CONNECTABLE_DISCOVERABLE @@ -502,10 +592,14 @@ public class BluetoothService extends IBluetooth.Stub { // List of names of Bluetooth devices for which auto pairing should be // disabled. - private final ArrayList mAutoPairingNameBlacklist = + private final ArrayList mAutoPairingExactNameBlacklist = new ArrayList(Arrays.asList( "Motorola IHF1000", "i.TechBlueBAND", "X5 Stereo v1.3")); + private final ArrayList mAutoPairingPartialNameBlacklist = + new ArrayList(Arrays.asList( + "BMW", "Audi")); + // If this is an outgoing connection, store the address. // There can be only 1 pending outgoing connection at a time, private String mPendingOutgoingBonding; @@ -523,7 +617,7 @@ public class BluetoothService extends IBluetooth.Stub { return; } String []bonds = null; - String val = getProperty("Devices"); + String val = getPropertyInternal("Devices"); if (val != null) { bonds = val.split(","); } @@ -585,9 +679,13 @@ public class BluetoothService extends IBluetooth.Stub { String name = getRemoteName(address); if (name != null) { - for (String blacklistName : mAutoPairingNameBlacklist) { + for (String blacklistName : mAutoPairingExactNameBlacklist) { if (name.equals(blacklistName)) return true; } + + for (String blacklistName : mAutoPairingPartialNameBlacklist) { + if (name.startsWith(blacklistName)) return true; + } } return false; } @@ -667,6 +765,7 @@ public class BluetoothService extends IBluetooth.Stub { } /*package*/synchronized void getAllProperties() { + mContext.enforceCallingOrSelfPermission(BLUETOOTH_PERM, "Need BLUETOOTH permission"); mAdapterProperties.clear(); @@ -726,16 +825,19 @@ public class BluetoothService extends IBluetooth.Stub { // The following looks dirty. private boolean setPropertyString(String key, String value) { mContext.enforceCallingOrSelfPermission(BLUETOOTH_PERM, "Need BLUETOOTH permission"); + if (!isEnabledInternal()) return false; return setAdapterPropertyStringNative(key, value); } private boolean setPropertyInteger(String key, int value) { mContext.enforceCallingOrSelfPermission(BLUETOOTH_PERM, "Need BLUETOOTH permission"); + if (!isEnabledInternal()) return false; return setAdapterPropertyIntegerNative(key, value); } private boolean setPropertyBoolean(String key, boolean value) { mContext.enforceCallingOrSelfPermission(BLUETOOTH_PERM, "Need BLUETOOTH permission"); + if (!isEnabledInternal()) return false; return setAdapterPropertyBooleanNative(key, value ? 1 : 0); } @@ -789,7 +891,12 @@ public class BluetoothService extends IBluetooth.Stub { return true; } - /*package*/ synchronized String getProperty (String name) { + /*package*/ synchronized String getProperty(String name) { + if (!isEnabledInternal()) return null; + return getPropertyInternal(name); + } + + /*package*/ synchronized String getPropertyInternal(String name) { if (!mAdapterProperties.isEmpty()) return mAdapterProperties.get(name); getAllProperties(); @@ -844,7 +951,7 @@ public class BluetoothService extends IBluetooth.Stub { public synchronized int getScanMode() { mContext.enforceCallingOrSelfPermission(BLUETOOTH_PERM, "Need BLUETOOTH permission"); - if (!isEnabled()) + if (!isEnabledInternal()) return BluetoothAdapter.SCAN_MODE_NONE; boolean pairable = getProperty("Pairable").equals("true"); @@ -855,15 +962,16 @@ public class BluetoothService extends IBluetooth.Stub { public synchronized boolean startDiscovery() { mContext.enforceCallingOrSelfPermission(BLUETOOTH_ADMIN_PERM, "Need BLUETOOTH_ADMIN permission"); - if (!isEnabled()) { - return false; - } + if (!isEnabledInternal()) return false; + return startDiscoveryNative(); } public synchronized boolean cancelDiscovery() { mContext.enforceCallingOrSelfPermission(BLUETOOTH_ADMIN_PERM, "Need BLUETOOTH_ADMIN permission"); + if (!isEnabledInternal()) return false; + return stopDiscoveryNative(); } @@ -879,6 +987,8 @@ public class BluetoothService extends IBluetooth.Stub { public synchronized boolean createBond(String address) { mContext.enforceCallingOrSelfPermission(BLUETOOTH_ADMIN_PERM, "Need BLUETOOTH_ADMIN permission"); + if (!isEnabledInternal()) return false; + if (!BluetoothAdapter.checkBluetoothAddress(address)) { return false; } @@ -898,6 +1008,13 @@ public class BluetoothService extends IBluetooth.Stub { return false; } + if (address.equals(mDockAddress)) { + if (!writeDockPin()) { + log("Error while writing Pin for the dock"); + return false; + } + } + if (!createPairedDeviceNative(address, 60000 /* 1 minute */)) { return false; } @@ -911,6 +1028,8 @@ public class BluetoothService extends IBluetooth.Stub { public synchronized boolean cancelBondProcess(String address) { mContext.enforceCallingOrSelfPermission(BLUETOOTH_ADMIN_PERM, "Need BLUETOOTH_ADMIN permission"); + if (!isEnabledInternal()) return false; + if (!BluetoothAdapter.checkBluetoothAddress(address)) { return false; } @@ -928,6 +1047,8 @@ public class BluetoothService extends IBluetooth.Stub { public synchronized boolean removeBond(String address) { mContext.enforceCallingOrSelfPermission(BLUETOOTH_ADMIN_PERM, "Need BLUETOOTH_ADMIN permission"); + if (!isEnabledInternal()) return false; + if (!BluetoothAdapter.checkBluetoothAddress(address)) { return false; } @@ -947,11 +1068,20 @@ public class BluetoothService extends IBluetooth.Stub { return mBondState.getBondState(address.toUpperCase()); } + public synchronized boolean isBluetoothDock(String address) { + SharedPreferences sp = mContext.getSharedPreferences(SHARED_PREFERENCES_NAME, + mContext.MODE_PRIVATE); + + return sp.contains(SHARED_PREFERENCE_DOCK_ADDRESS + address); + } + /*package*/ boolean isRemoteDeviceInCache(String address) { return (mDeviceProperties.get(address) != null); } /*package*/ String[] getRemoteDeviceProperties(String address) { + if (!isEnabledInternal()) return null; + String objectPath = getObjectPathFromAddress(address); return (String [])getDevicePropertiesNative(objectPath); } @@ -1047,6 +1177,8 @@ public class BluetoothService extends IBluetooth.Stub { return false; } + if (!isEnabledInternal()) return false; + return setDevicePropertyBooleanNative(getObjectPathFromAddress(address), "Trusted", value ? 1 : 0); } @@ -1136,6 +1268,8 @@ public class BluetoothService extends IBluetooth.Stub { public synchronized boolean fetchRemoteUuids(String address, ParcelUuid uuid, IBluetoothCallback callback) { mContext.enforceCallingOrSelfPermission(BLUETOOTH_PERM, "Need BLUETOOTH permission"); + if (!isEnabledInternal()) return false; + if (!BluetoothAdapter.checkBluetoothAddress(address)) { return false; } @@ -1190,6 +1324,8 @@ public class BluetoothService extends IBluetooth.Stub { */ public int getRemoteServiceChannel(String address, ParcelUuid uuid) { mContext.enforceCallingOrSelfPermission(BLUETOOTH_PERM, "Need BLUETOOTH permission"); + if (!isEnabledInternal()) return -1; + if (!BluetoothAdapter.checkBluetoothAddress(address)) { return BluetoothDevice.ERROR; } @@ -1208,6 +1344,8 @@ public class BluetoothService extends IBluetooth.Stub { public synchronized boolean setPin(String address, byte[] pin) { mContext.enforceCallingOrSelfPermission(BLUETOOTH_ADMIN_PERM, "Need BLUETOOTH_ADMIN permission"); + if (!isEnabledInternal()) return false; + if (pin == null || pin.length <= 0 || pin.length > 16 || !BluetoothAdapter.checkBluetoothAddress(address)) { return false; @@ -1234,6 +1372,8 @@ public class BluetoothService extends IBluetooth.Stub { public synchronized boolean setPasskey(String address, int passkey) { mContext.enforceCallingOrSelfPermission(BLUETOOTH_ADMIN_PERM, "Need BLUETOOTH_ADMIN permission"); + if (!isEnabledInternal()) return false; + if (passkey < 0 || passkey > 999999 || !BluetoothAdapter.checkBluetoothAddress(address)) { return false; } @@ -1251,6 +1391,8 @@ public class BluetoothService extends IBluetooth.Stub { public synchronized boolean setPairingConfirmation(String address, boolean confirm) { mContext.enforceCallingOrSelfPermission(BLUETOOTH_ADMIN_PERM, "Need BLUETOOTH_ADMIN permission"); + if (!isEnabledInternal()) return false; + address = address.toUpperCase(); Integer data = mEventLoop.getPasskeyAgentRequestData().remove(address); if (data == null) { @@ -1265,6 +1407,8 @@ public class BluetoothService extends IBluetooth.Stub { public synchronized boolean cancelPairingUserInput(String address) { mContext.enforceCallingOrSelfPermission(BLUETOOTH_ADMIN_PERM, "Need BLUETOOTH_ADMIN permission"); + if (!isEnabledInternal()) return false; + if (!BluetoothAdapter.checkBluetoothAddress(address)) { return false; } @@ -1281,7 +1425,7 @@ public class BluetoothService extends IBluetooth.Stub { return cancelPairingUserInputNative(address, data.intValue()); } - public void updateDeviceServiceChannelCache(String address) { + /*package*/ void updateDeviceServiceChannelCache(String address) { ParcelUuid[] deviceUuids = getRemoteUuids(address); // We are storing the rfcomm channel numbers only for the uuids // we are interested in. @@ -1356,8 +1500,9 @@ public class BluetoothService extends IBluetooth.Stub { */ public synchronized int addRfcommServiceRecord(String serviceName, ParcelUuid uuid, int channel, IBinder b) { - mContext.enforceCallingOrSelfPermission(BLUETOOTH_PERM, - "Need BLUETOOTH permission"); + mContext.enforceCallingOrSelfPermission(BLUETOOTH_PERM, "Need BLUETOOTH permission"); + if (!isEnabledInternal()) return -1; + if (serviceName == null || uuid == null || channel < 1 || channel > BluetoothSocket.MAX_RFCOMM_CHANNEL) { return -1; @@ -1417,6 +1562,8 @@ public class BluetoothService extends IBluetooth.Stub { private final BroadcastReceiver mReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { + if (intent == null) return; + String action = intent.getAction(); if (action.equals(Intent.ACTION_AIRPLANE_MODE_CHANGED)) { ContentResolver resolver = context.getContentResolver(); @@ -1431,18 +1578,31 @@ public class BluetoothService extends IBluetooth.Stub { disable(false); } } + } else if (Intent.ACTION_DOCK_EVENT.equals(action)) { + int state = intent.getIntExtra(Intent.EXTRA_DOCK_STATE, + Intent.EXTRA_DOCK_STATE_UNDOCKED); + if (DBG) Log.v(TAG, "Received ACTION_DOCK_EVENT with State:" + state); + if (state == Intent.EXTRA_DOCK_STATE_UNDOCKED) { + mDockAddress = null; + mDockPin = null; + } else { + SharedPreferences.Editor editor = + mContext.getSharedPreferences(SHARED_PREFERENCES_NAME, + mContext.MODE_PRIVATE).edit(); + editor.putBoolean(SHARED_PREFERENCE_DOCK_ADDRESS + mDockAddress, true); + editor.commit(); + } } } }; - private void registerForAirplaneMode() { + private void registerForAirplaneMode(IntentFilter filter) { String airplaneModeRadios = Settings.System.getString(mContext.getContentResolver(), Settings.System.AIRPLANE_MODE_RADIOS); mIsAirplaneSensitive = airplaneModeRadios == null ? true : airplaneModeRadios.contains(Settings.System.RADIO_BLUETOOTH); if (mIsAirplaneSensitive) { - mIntentFilter = new IntentFilter(Intent.ACTION_AIRPLANE_MODE_CHANGED); - mContext.registerReceiver(mReceiver, mIntentFilter); + filter.addAction(Intent.ACTION_AIRPLANE_MODE_CHANGED); } } @@ -1598,7 +1758,7 @@ public class BluetoothService extends IBluetooth.Stub { } /*package*/ String getAddressFromObjectPath(String objectPath) { - String adapterObjectPath = getProperty("ObjectPath"); + String adapterObjectPath = getPropertyInternal("ObjectPath"); if (adapterObjectPath == null || objectPath == null) { Log.e(TAG, "getAddressFromObjectPath: AdpaterObjectPath:" + adapterObjectPath + " or deviceObjectPath:" + objectPath + " is null"); @@ -1618,7 +1778,7 @@ public class BluetoothService extends IBluetooth.Stub { } /*package*/ String getObjectPathFromAddress(String address) { - String path = getProperty("ObjectPath"); + String path = getPropertyInternal("ObjectPath"); if (path == null) { Log.e(TAG, "Error: Object Path is null"); return null; diff --git a/core/java/android/service/wallpaper/WallpaperService.java b/core/java/android/service/wallpaper/WallpaperService.java index b29d8374d7a56dfa4d54c281c21512db40cdd050..45719e49fdde13d5bb813dcffe22a17417790157 100644 --- a/core/java/android/service/wallpaper/WallpaperService.java +++ b/core/java/android/service/wallpaper/WallpaperService.java @@ -44,9 +44,16 @@ import android.view.ViewRoot; import android.view.WindowManager; import android.view.WindowManagerImpl; +import java.util.ArrayList; + /** * A wallpaper service is responsible for showing a live wallpaper behind - * applications that would like to sit on top of it. + * applications that would like to sit on top of it. This service object + * itself does very little -- its only purpose is to generate instances of + * {@link Engine} as needed. Implementing a wallpaper thus + * involves subclassing from this, subclassing an Engine implementation, + * and implementing {@link #onCreateEngine()} to return a new instance of + * your engine. */ public abstract class WallpaperService extends Service { /** @@ -78,6 +85,8 @@ public abstract class WallpaperService extends Service { private static final int MSG_TOUCH_EVENT = 10040; private Looper mCallbackLooper; + private final ArrayList mActiveEngines + = new ArrayList(); static final class WallpaperCommand { String action; @@ -591,8 +600,10 @@ public abstract class WallpaperService extends Service { } void doVisibilityChanged(boolean visible) { - mVisible = visible; - reportVisibility(); + if (!mDestroyed) { + mVisible = visible; + reportVisibility(); + } } void reportVisibility() { @@ -661,6 +672,10 @@ public abstract class WallpaperService extends Service { } void detach() { + if (mDestroyed) { + return; + } + mDestroyed = true; if (mVisible) { @@ -768,10 +783,12 @@ public abstract class WallpaperService extends Service { } Engine engine = onCreateEngine(); mEngine = engine; + mActiveEngines.add(engine); engine.attach(this); return; } case DO_DETACH: { + mActiveEngines.remove(mEngine); mEngine.detach(); return; } @@ -839,6 +856,20 @@ public abstract class WallpaperService extends Service { } } + @Override + public void onCreate() { + super.onCreate(); + } + + @Override + public void onDestroy() { + super.onDestroy(); + for (int i=0; i callback = (ValueCallback) values.get(CALLBACK); + Set origins = (Set) values.get(ORIGINS); + ValueCallback > callback = (ValueCallback >) values.get(CALLBACK); callback.onReceiveValue(origins); } break; case RETURN_ALLOWED: { @@ -122,10 +136,9 @@ public final class GeolocationPermissions { case GET_ORIGINS: { getOriginsImpl(); ValueCallback callback = (ValueCallback) msg.obj; - Set origins = new HashSet(mOrigins); Map values = new HashMap(); values.put(CALLBACK, callback); - values.put(ORIGINS, origins); + values.put(ORIGINS, mOrigins); postUIMessage(Message.obtain(null, RETURN_ORIGINS, values)); } break; case GET_ALLOWED: { @@ -185,15 +198,17 @@ public final class GeolocationPermissions { * Gets the set of origins for which Geolocation permissions are stored. * Note that we represent the origins as strings. These are created using * WebCore::SecurityOrigin::toString(). As long as all 'HTML 5 modules' - * (Database, Geolocation etc) do so, it's safe to match up origins for the - * purposes of displaying UI. + * (Database, Geolocation etc) do so, it's safe to match up origins based + * on this string. + * + * Callback is a ValueCallback object whose onReceiveValue method will be + * called asynchronously with the set of origins. */ - public void getOrigins(ValueCallback callback) { + public void getOrigins(ValueCallback > callback) { if (callback != null) { if (WebViewCore.THREAD_NAME.equals(Thread.currentThread().getName())) { getOriginsImpl(); - Set origins = new HashSet(mOrigins); - callback.onReceiveValue(origins); + callback.onReceiveValue(mOrigins); } else { postMessage(Message.obtain(null, GET_ORIGINS, callback)); } @@ -210,6 +225,9 @@ public final class GeolocationPermissions { /** * Gets the permission state for the specified origin. + * + * Callback is a ValueCallback object whose onReceiveValue method will be + * called asynchronously with the permission state for the origin. */ public void getAllowed(String origin, ValueCallback callback) { if (callback == null) { @@ -231,7 +249,7 @@ public final class GeolocationPermissions { } /** - * Helper method to get the permission state. + * Helper method to get the permission state for the specified origin. */ private void getAllowedImpl(String origin) { // Called on the WebKit thread. diff --git a/core/java/android/webkit/WebChromeClient.java b/core/java/android/webkit/WebChromeClient.java index 92676aac8c766cd8efbb2b13b39078b0b464cd26..8ca4142cc7fe00eb4b3037c9e9e5da72b0df0d51 100644 --- a/core/java/android/webkit/WebChromeClient.java +++ b/core/java/android/webkit/WebChromeClient.java @@ -256,29 +256,34 @@ public class WebChromeClient { } /** - * Add a JavaScript error message to the console. Clients should override - * this to process the log message as they see fit. + * Report a JavaScript error message to the host application. The ChromeClient + * should override this to process the log message as they see fit. * @param message The error message to report. * @param lineNumber The line number of the error. * @param sourceID The name of the source file that caused the error. */ - public void addMessageToConsole(String message, int lineNumber, String sourceID) {} + public void onConsoleMessage(String message, int lineNumber, String sourceID) {} /** - * Ask the host application for an icon to represent a
  • + + +

    Step 5

    + +

    Fill in the body of the onListItemClick() override.

    +

    onListItemClick() is a callback method that we'll override. It is called when + the user selects an item from the list. It is passed four parameters: the + ListView object it was invoked from, the View + inside the ListView that was clicked on, the + position in the list that was clicked, and the + mRowId of the item that was clicked. In this instance we can + ignore the first two parameters (we only have one ListView it + could be), and we ignore the mRowId as well. All we are + interested in is the position that the user selected. We use + this to get the data from the correct row, and bundle it up to send to + the NoteEdit Activity.

    +

    In our implementation of the callback, the method creates an + Intent to edit the note using + the NoteEdit class. It then adds data into the extras Bundle of + the Intent, which will be passed to the called Activity. We use it + to pass in the title and body text, and the mRowId for the note we are + editing. Finally, it will fire the Intent using the + startActivityForResult() method call. Here's the code that + belongs in onListItemClick():

    +
    +super.onListItemClick(l, v, position, id);
    +Cursor c = mNotesCursor;
    +c.moveToPosition(position);
    +Intent i = new Intent(this, NoteEdit.class);
    +i.putExtra(NotesDbAdapter.KEY_ROWID, id);
    +i.putExtra(NotesDbAdapter.KEY_TITLE, c.getString(
    +        c.getColumnIndexOrThrow(NotesDbAdapter.KEY_TITLE)));
    +i.putExtra(NotesDbAdapter.KEY_BODY, c.getString(
    +        c.getColumnIndexOrThrow(NotesDbAdapter.KEY_BODY)));
    +startActivityForResult(i, ACTIVITY_EDIT);
    +
      +
    • + putExtra() is the method to add items into the extras Bundle + to pass in to intent invocations. Here, we are + using the Bundle to pass in the title, body and mRowId of the note we want to edit. +
    • +
    • + The details of the note are pulled out from our query Cursor, which we move to the + proper position for the element that was selected in the list, with + the moveToPosition() method.
    • +
    • With the extras added to the Intent, we invoke the Intent on the + NoteEdit class by passing startActivityForResult() + the Intent and the request code. (The request code will be + returned to onActivityResult as the requestCode parameter.)
    • +
    +

    Note: We assign the mNotesCursor field to a local variable at the + start of the method. This is done as an optimization of the Android code. Accessing a local + variable is much more efficient than accessing a field in the Dalvik VM, so by doing this + we make only one access to the field, and five accesses to the local variable, making the + routine much more efficient. It is recommended that you use this optimization when possible.

    + + +

    Step 6

    + +

    The above createNote() and onListItemClick() + methods use an asynchronous Intent invocation. We need a handler for the callback, so here we fill + in the body of the onActivityResult().

    +

    onActivityResult() is the overridden method + which will be called when an Activity returns with a result. (Remember, an Activity + will only return a result if launched with startActivityForResult.) The parameters provided + to the callback are:

    +
      +
    • requestCode — the original request code + specified in the Intent invocation (either ACTIVITY_CREATE or + ACTIVITY_EDIT for us). +
    • +
    • resultCode — the result (or error code) of the call, this + should be zero if everything was OK, but may have a non-zero code indicating + that something failed. There are standard result codes available, and you + can also create your own constants to indicate specific problems. +
    • +
    • intent — this is an Intent created by the Activity returning + results. It can be used to return data in the Intent "extras." +
    • +
    +

    The combination of startActivityForResult() and + onActivityResult() can be thought of as an asynchronous RPC + (remote procedure call) and forms the recommended way for an Activity to invoke + another and share services.

    +

    Here's the code that belongs in your onActivityResult():

    +
    +super.onActivityResult(requestCode, resultCode, intent);
    +Bundle extras = intent.getExtras();
    +
    +switch(requestCode) {
    +case ACTIVITY_CREATE:
    +    String title = extras.getString(NotesDbAdapter.KEY_TITLE);
    +    String body = extras.getString(NotesDbAdapter.KEY_BODY);
    +    mDbHelper.createNote(title, body);
    +    fillData();
    +    break;
    +case ACTIVITY_EDIT:
    +    Long mRowId = extras.getLong(NotesDbAdapter.KEY_ROWID);
    +    if (mRowId != null) {
    +        String editTitle = extras.getString(NotesDbAdapter.KEY_TITLE);
    +        String editBody = extras.getString(NotesDbAdapter.KEY_BODY);
    +        mDbHelper.updateNote(mRowId, editTitle, editBody);
    +    }
    +    fillData();
    +    break;
    +}
    + +
      +
    • + We are handling both the ACTIVITY_CREATE and + ACTIVITY_EDIT activity results in this method. +
    • +
    • + In the case of a create, we pull the title and body from the extras (retrieved from the + returned Intent) and use them to create a new note. +
    • +
    • + In the case of an edit, we pull the mRowId as well, and use that to update + the note in the database. +
    • +
    • + fillData() at the end ensures everything is up to date . +
    • +
    + + +

    Step 7

    + + + +

    Open the file note_edit.xml that has been provided and take a + look at it. This is the UI code for the Note Editor.

    +

    This is the most + sophisticated UI we have dealt with yet. The file is given to you to avoid + problems that may sneak in when typing the code. (The XML is very strict + about case sensitivity and structure, mistakes in these are the usual cause + of problems with layout.)

    +

    There is a new parameter used + here that we haven't seen before: android:layout_weight (in + this case set to use the value 1 in each case).

    +

    layout_weight is used in LinearLayouts + to assign "importance" to Views within the layout. All Views have a default + layout_weight of zero, meaning they take up only as much room + on the screen as they need to be displayed. Assigning a value higher than + zero will split up the rest of the available space in the parent View, according + to the value of each View's layout_weight and its ratio to the + overall layout_weight specified in the current layout for this + and other View elements.

    +

    To give an example: let's say we have a text label + and two text edit elements in a horizontal row. The label has no + layout_weight specified, so it takes up the minimum space + required to render. If the layout_weight of each of the two + text edit elements is set to 1, the remaining width in the parent layout will + be split equally between them (because we claim they are equally important). + If the first one has a layout_weight of 1 + and the second has a layout_weight of 2, then one third of the + remaining space will be given to the first, and two thirds to the + second (because we claim the second one is more important).

    +

    This layout also demonstrates how to nest multiple layouts + inside each other to achieve a more complex and pleasant layout. In this + example, a horizontal linear layout is nested inside the vertical one to + allow the title label and text field to be alongside each other, + horizontally.

    + + +

    Step 8

    + +

    Create a NoteEdit class that extends + android.app.Activity.

    +

    This is the first time we will have + created an Activity without the Android Eclipse plugin doing it for us. When + you do so, the onCreate() method is not automatically + overridden for you. It is hard to imagine an Activity that doesn't override + the onCreate() method, so this should be the first thing you do.

    +
      +
    1. Right click on the com.android.demo.notepad2 package + in the Package Explorer, and select New > Class from the popup + menu.
    2. +
    3. Fill in NoteEdit for the Name: field in the + dialog.
    4. +
    5. In the Superclass: field, enter + android.app.Activity (you can also just type Activity and hit + Ctrl-Space on Windows and Linux or Cmd-Space on the Mac, to invoke code + assist and find the right package and class).
    6. +
    7. Click Finish.
    8. +
    9. In the resulting NoteEdit class, right click in the editor + window and select Source > Override/Implement Methods...
    10. +
    11. Scroll down through the checklist in the dialog until you see + onCreate(Bundle) — and check the box next to it.
    12. +
    13. Click OK.

      The method should now appear in your class.

    14. +
    + +

    Step 9

    + +

    Fill in the body of the onCreate() method for NoteEdit.

    + +

    This will set the title of our new Activity to say "Edit Note" (one + of the strings defined in strings.xml). It will also set the + content view to use our note_edit.xml layout file. We can then + grab handles to the title and body text edit views, and the confirm button, + so that our class can use them to set and get the note title and body, + and attach an event to the confirm button for when it is pressed by the + user.

    +

    We can then unbundle the values that were passed in to the Activity + with the extras Bundle attached to the calling Intent. We'll use them to pre-populate + the title and body text edit views so that the user can edit them. + Then we will grab and store the mRowId so we can keep + track of what note the user is editing.

    + +
      +
    1. + Inside onCreate(), set up the layout:
      +
      setContentView(R.layout.note_edit);
      +
    2. +
    3. + Find the edit and button components we need: +

      These are found by the + IDs associated to them in the R class, and need to be cast to the right + type of View (EditText for the two text views, + and Button for the confirm button):

      +
      +mTitleText = (EditText) findViewById(R.id.title);
      +mBodyText = (EditText) findViewById(R.id.body);
      +Button confirmButton = (Button) findViewById(R.id.confirm);
      +

      Note that mTitleText and mBodyText are member + fields (you need to declare them at the top of the class definition).

      +
    4. +
    5. At the top of the class, declare a Long mRowId private field to store + the current mRowId being edited (if any). +
    6. +
    7. Continuing inside onCreate(), + add code to initialize the title, body and + mRowId from the extras Bundle in + the Intent (if it is present):
      +
      +mRowId = null;
      +Bundle extras = getIntent().getExtras();
      +if (extras != null) {
      +    String title = extras.getString(NotesDbAdapter.KEY_TITLE);
      +    String body = extras.getString(NotesDbAdapter.KEY_BODY);
      +    mRowId = extras.getLong(NotesDbAdapter.KEY_ROWID);
      +           
      +    if (title != null) {
      +        mTitleText.setText(title);
      +    }
      +    if (body != null) {
      +        mBodyText.setText(body);
      +    }
      +}
      +
        +
      • + We are pulling the title and + body out of the + extras Bundle that was set from the + Intent invocation. +
      • + We also null-protect the text field setting (i.e., we don't want to set + the text fields to null accidentally).
      • +
      +
    8. +
    9. + Create an onClickListener() for the button: +

      Listeners can be one of the more confusing aspects of UI + implementation, but + what we are trying to achieve in this case is simple. We want an + onClick() method to be called when the user presses the + confirm button, and use that to do some work and return the values + of the edited note to the Intent caller. We do this using something called + an anonymous inner class. This is a bit confusing to look at unless you + have seen them before, but all you really need to take away from this is + that you can refer to this code in the future to see how to create a + listener and attach it to a button. (Listeners are a common idiom + in Java development, particularly for user interfaces.) Here's the empty listener:
      +

      +confirmButton.setOnClickListener(new View.OnClickListener() {
      +
      +    public void onClick(View view) {
      +               
      +    }
      +           
      +});
      +
    10. +
    +

    Step 10

    + +

    Fill in the body of the onClick() method of the OnClickListener created in the last step.

    + +

    This is the code that will be run when the user clicks on the + confirm button. We want this to grab the title and body text from the edit + text fields, and put them into the return Bundle so that they can be passed + back to the Activity that invoked this NoteEdit Activity. If the + operation is an edit rather than a create, we also want to put the + mRowId into the Bundle so that the + Notepadv2 class can save the changes back to the correct + note.

    +
      +
    1. + Create a Bundle and put the title and body text into it using the + constants defined in Notepadv2 as keys:
      +
      +Bundle bundle = new Bundle();
      +      
      +bundle.putString(NotesDbAdapter.KEY_TITLE, mTitleText.getText().toString());
      +bundle.putString(NotesDbAdapter.KEY_BODY, mBodyText.getText().toString());
      +if (mRowId != null) {
      +    bundle.putLong(NotesDbAdapter.KEY_ROWID, mRowId);
      +}
      +
    2. +
    3. + Set the result information (the Bundle) in a new Intent and finish the Activity: +
      +Intent mIntent = new Intent();
      +mIntent.putExtras(bundle);
      +setResult(RESULT_OK, mIntent);
      +finish();
      +
        +
      • The Intent is simply our data carrier that carries our Bundle + (with the title, body and mRowId).
      • +
      • The setResult() method is used to set the result + code and return Intent to be passed back to the + Intent caller. In this case everything worked, so we return RESULT_OK for the + result code.
      • +
      • The finish() call is used to signal that the Activity + is done (like a return call). Anything set in the Result will then be + returned to the caller, along with execution control.
      • +
      +
    4. +
    +

    The full onCreate() method (plus supporting class fields) should + now look like this:

    +
    +private EditText mTitleText;
    +private EditText mBodyText;
    +private Long mRowId;
    +
    +@Override
    +protected void onCreate(Bundle savedInstanceState) {
    +    super.onCreate(savedInstanceState);
    +    setContentView(R.layout.note_edit);
    +   
    +    mTitleText = (EditText) findViewById(R.id.title);
    +    mBodyText = (EditText) findViewById(R.id.body);
    +  
    +    Button confirmButton = (Button) findViewById(R.id.confirm);
    +   
    +    mRowId = null;
    +    Bundle extras = getIntent().getExtras();
    +    if (extras != null) {
    +        String title = extras.getString(NotesDbAdapter.KEY_TITLE);
    +        String body = extras.getString(NotesDbAdapter.KEY_BODY);
    +        mRowId = extras.getLong(NotesDbAdapter.KEY_ROWID);
    +      
    +        if (title != null) {
    +            mTitleText.setText(title);
    +        }
    +        if (body != null) {
    +            mBodyText.setText(body);
    +        }
    +    }
    +   
    +    confirmButton.setOnClickListener(new View.OnClickListener() {
    +
    +        public void onClick(View view) {
    +            Bundle bundle = new Bundle();
    +           
    +            bundle.putString(NotesDbAdapter.KEY_TITLE, mTitleText.getText().toString());
    +            bundle.putString(NotesDbAdapter.KEY_BODY, mBodyText.getText().toString());
    +            if (mRowId != null) {
    +                bundle.putLong(NotesDbAdapter.KEY_ROWID, mRowId);
    +            }
    +
    +            Intent mIntent = new Intent();
    +            mIntent.putExtras(bundle);
    +            setResult(RESULT_OK, mIntent);
    +            finish();
    +        }
    +    });
    +}
    + + + +

    Step 11

    + + + +

    Finally, the new Activity has to be defined in the manifest file:

    +

    Before the new Activity can be seen by Android, it needs its own + Activity entry in the AndroidManifest.xml file. This is to let + the system know that it is there and can be called. We could also specify + which IntentFilters the activity implements here, but we are going to skip + this for now and just let Android know that the Activity is + defined.

    +

    There is a Manifest editor included in the Eclipse plugin that makes it much easier + to edit the AndroidManifest file, and we will use this. If you prefer to edit the file directly + or are not using the Eclipse plugin, see the box at the end for information on how to do this + without using the new Manifest editor.

    +

      +
    1. Double click on the AndroidManifest.xml file in the package explorer to open it. +
    2. +
    3. Click the Application tab at the bottom of the Manifest editor.
    4. +
    5. Click Add... in the Application Nodes section. +

      If you see a dialog with radiobuttons at the top, select the top radio button: + "Create a new element at the top level, in Application".

    6. +
    7. Make sure "(A) Activity" is selected in the selection pane of the dialog, and click OK.
    8. +
    9. Click on the new "Activity" node, in the Application Nodes section, then + type .NoteEdit into the Name* + field to the right. Press Return/Enter.
    10. +
    +

    The Android Manifest editor helps you add more complex entries into the AndroidManifest.xml + file, have a look around at some of the other options available (but be careful not to select + them otherwise they will be added to your Manifest). This editor should help you understand + and alter the AndroidManifest.xml file as you move on to more advanced Android applications.

    + +

    If you prefer to edit this file directly, simply open the + AndroidManifest.xml file and look at the source (use the + AndroidManifest.xml tab in the eclipse editor to see the source code directly). + Then edit the file as follows:
    + <activity android:name=".NoteEdit"></activity>

    + This should be placed just below the line that reads:
    + </activity> for the .Notepadv2 activity.

    + +

    Step 12

    + +

    Now Run it!

    +

    You should now be able to add real notes from +the menu, as well as delete an existing one. Notice that in order to delete, you must +first use the directional controls on the device to highlight the note. +Furthermore, selecting a note title from the list should bring up the note +editor to let you edit it. Press confirm when finished to save the changes +back to the database. + +

    Solution and Next Steps

    + +

    You can see the solution to this exercise in Notepadv2Solution +from the zip file to compare with your own.

    +

    Now try editing a note, and then hitting the back button on the emulator +instead of the confirm button (the back button is below the menu button). You +will see an error come up. Clearly our application still has some problems. +Worse still, if you did make some changes and hit the back button, when you go +back into the notepad to look at the note you changed, you will find that all +your changes have been lost. In the next exercise we will fix these +problems.

    + +

    +Once you are ready, move on to Tutorial +Exercise 3 where you will fix the problems with the back button and lost +edits by introducing a proper life cycle into the NoteEdit Activity.

    + + diff --git a/docs/html/resources/tutorials/notepad/notepad-ex3.jd b/docs/html/resources/tutorials/notepad/notepad-ex3.jd new file mode 100644 index 0000000000000000000000000000000000000000..8737280cceae7fe1f06f9e8ba893e4644b3eae0c --- /dev/null +++ b/docs/html/resources/tutorials/notepad/notepad-ex3.jd @@ -0,0 +1,358 @@ +page.title=Notepad Exercise 3 +parent.title=Notepad Tutorial +parent.link=index.html +@jd:body + + +

    In this exercise, you will use life-cycle event callbacks to store and +retrieve application state data. This exercise demonstrates:

    +
      +
    • Life-cycle events and how your application can use them
    • +
    • Techniques for maintaining application state
    • +
    + + + +

    Step 1

    + +

    Import Notepadv3 into Eclipse. If you see an error about +AndroidManifest.xml, or some problems related to an Android zip +file, right click on the project and select Android Tools > +Fix Project Properties from the popup menu. The starting point for this exercise is +exactly where we left off at the end of the Notepadv2.

    +

    The current application has some problems — hitting the back button when editing +causes a crash, and anything else that happens during editing will cause the +edits to be lost.

    +

    To fix this, we will move most of the functionality for creating and editing +the note into the NoteEdit class, and introduce a full life cycle for editing +notes.

    + +
      +
    1. Remove the code in NoteEdit that parses the title and body + from the extras Bundle. +

      Instead, we are going to use the DBHelper class + to access the notes from the database directly. All we need passed into the + NoteEdit Activity is a mRowId (but only if we are editing, if creating we pass + nothing). Remove these lines:

      +
      +String title = extras.getString(NotesDbAdapter.KEY_TITLE);
      +String body = extras.getString(NotesDbAdapter.KEY_BODY);
      +
    2. +
    3. We will also get rid of the properties that were being passed in + the extras Bundle, which we were using to set the title + and body text edit values in the UI. So delete: +
      +if (title != null) {
      +    mTitleText.setText(title);
      +}
      +if (body != null) {
      +    mBodyText.setText(body);
      +}
      +
    4. +
    + +

    Step 2

    + +

    Create a class field for a NotesDbAdapter at the top of the NoteEdit class:

    +
        private NotesDbAdapter mDbHelper;
    +

    Also add an instance of NotesDbAdapter in the + onCreate() method (right below the super.onCreate() call):

    +
    +    mDbHelper = new NotesDbAdapter(this);
    +    mDbHelper.open();
    + +

    Step 3

    + +

    In NoteEdit, we need to check the savedInstanceState for the +mRowId, in case the note + editing contains a saved state in the Bundle, which we should recover (this would happen + if our Activity lost focus and then restarted).

    +
      +
    1. + Replace the code that currently initializes the mRowId:
      +
      +        mRowId = null;
      +
      +        Bundle extras = getIntent().getExtras();
      +        if (extras != null) {
      +            mRowId = extras.getLong(NotesDbAdapter.KEY_ROWID);
      +        }
      +        
      + with this: +
      +        mRowId = savedInstanceState != null ? savedInstanceState.getLong(NotesDbAdapter.KEY_ROWID) 
      +                                            : null;
      +        if (mRowId == null) {
      +            Bundle extras = getIntent().getExtras();            
      +            mRowId = extras != null ? extras.getLong(NotesDbAdapter.KEY_ROWID) 
      +                                    : null;
      +        }
      +        
      +
    2. +
    3. + Note the null check for savedInstanceState, and we still need to load up + mRowId from the extras Bundle if it is not + provided by the savedInstanceState. This is a ternary operator shorthand + to safely either use the value or null if it is not present. +
    4. +
    + +

    Step 4

    + +

    Next, we need to populate the fields based on the mRowId if we + have it:

    +
    populateFields();
    +

    This goes before the confirmButton.setOnClickListener() line. + We'll define this method in a moment.

    + +

    Step 5

    + +

    Get rid of the Bundle creation and Bundle value settings from the + onClick() handler method. The Activity no longer needs to + return any extra information to the caller. And because we no longer have + an Intent to return, we'll use the shorter version + of setResult():

    +
    +public void onClick(View view) {
    +    setResult(RESULT_OK);
    +    finish();
    +}
    +

    We will take care of storing the updates or new notes in the database + ourselves, using the life-cycle methods.

    + +

    The whole onCreate() method should now look like this:

    +
    +super.onCreate(savedInstanceState);
    + 
    +mDbHelper = new NotesDbAdapter(this);
    +mDbHelper.open();
    + 
    +setContentView(R.layout.note_edit);
    + 
    +mTitleText = (EditText) findViewById(R.id.title);
    +mBodyText = (EditText) findViewById(R.id.body);
    + 
    +Button confirmButton = (Button) findViewById(R.id.confirm);
    + 
    +mRowId = savedInstanceState != null ? savedInstanceState.getLong(NotesDbAdapter.KEY_ROWID) 
    +                                    : null;
    +if (mRowId == null) {
    +    Bundle extras = getIntent().getExtras();
    +    mRowId = extras != null ? extras.getLong(NotesDbAdapter.KEY_ROWID) 
    +                            : null;
    +}
    + 
    +populateFields();
    + 
    +confirmButton.setOnClickListener(new View.OnClickListener() {
    +
    +    public void onClick(View view) {
    +        setResult(RESULT_OK);
    +        finish();
    +    }
    +     
    +});
    + +

    Step 6

    + +

    Define the populateFields() method.

    +
    +private void populateFields() {
    +    if (mRowId != null) {
    +        Cursor note = mDbHelper.fetchNote(mRowId);
    +        startManagingCursor(note);
    +        mTitleText.setText(note.getString(
    +	            note.getColumnIndexOrThrow(NotesDbAdapter.KEY_TITLE)));
    +        mBodyText.setText(note.getString(
    +                note.getColumnIndexOrThrow(NotesDbAdapter.KEY_BODY)));
    +    }
    +}
    +

    This method uses the NotesDbAdapter.fetchNote() method to find the right note to +edit, then it calls startManagingCursor() from the Activity class, which +is an Android convenience method provided to take care of the Cursor life-cycle. This will release +and re-create resources as dictated by the Activity life-cycle, so we don't need to worry about +doing that ourselves. After that, we just look up the title and body values from the Cursor +and populate the View elements with them.

    + + +

    Step 7

    + + + +

    Still in the NoteEdit class, we now override the methods + onSaveInstanceState(), onPause() and + onResume(). These are our life-cycle methods + (along with onCreate() which we already have).

    + +

    onSaveInstanceState() is called by Android if the + Activity is being stopped and may be killed before it is + resumed! This means it should store any state necessary to + re-initialize to the same condition when the Activity is restarted. It is + the counterpart to the onCreate() method, and in fact the + savedInstanceState Bundle passed in to onCreate() is the same + Bundle that you construct as outState in the + onSaveInstanceState() method.

    + +

    onPause() and onResume() are also + complimentary methods. onPause() is always called when the + Activity ends, even if we instigated that (with a finish() call for example). + We will use this to save the current note back to the database. Good + practice is to release any resources that can be released during an + onPause() as well, to take up less resources when in the + passive state. onResume() will call our populateFields() method + to read the note out of the database again and populate the fields.

    + +

    So, add some space after the populateFields() method + and add the following life-cycle methods:

    +
      +
    1. + onSaveInstanceState(): +
      +    @Override
      +    protected void onSaveInstanceState(Bundle outState) {
      +        super.onSaveInstanceState(outState);
      +        outState.putLong(NotesDbAdapter.KEY_ROWID, mRowId);
      +    }
      +
    2. +
    3. + onPause(): +
      +    @Override
      +    protected void onPause() {
      +        super.onPause();
      +        saveState();
      +    }
      +

      We'll define saveState() next.

      +
    4. +
    5. + onResume(): +
      +    @Override
      +    protected void onResume() {
      +        super.onResume();
      +        populateFields();
      +    }
      +
    6. +
    + + +

    Step 8

    + +

    Define the saveState() method to put the data out to the +database.

    +
    +     private void saveState() {
    +        String title = mTitleText.getText().toString();
    +        String body = mBodyText.getText().toString();
    +
    +        if (mRowId == null) {
    +            long id = mDbHelper.createNote(title, body);
    +            if (id > 0) {
    +                mRowId = id;
    +            }
    +        } else {
    +            mDbHelper.updateNote(mRowId, title, body);
    +        }
    +    }
    +

    Note that we capture the return value from createNote() and if a valid row ID is + returned, we store it in the mRowId field so that we can update the note in future + rather than create a new one (which otherwise might happen if the life-cycle events are + triggered).

    + + +

    Step 9

    + +

    Now pull out the previous handling code from the + onActivityResult() method in the Notepadv3 + class.

    +

    All of the note retrieval and updating now happens within the + NoteEdit life cycle, so all the onActivityResult() + method needs to do is update its view of the data, no other work is + necessary. The resulting method should look like this:

    +
    +@Override
    +protected void onActivityResult(int requestCode, int resultCode, 
    +                                Intent intent) {
    +    super.onActivityResult(requestCode, resultCode, intent);
    +    fillData();
    +}
    + +

    Because the other class now does the work, all this has to do is refresh + the data.

    + +

    Step 10

    + +

    Also remove the lines which set the title and body from the + onListItemClick() method (again they are no longer needed, + only the mRowId is):

    +
    +    Cursor c = mNotesCursor;
    +    c.moveToPosition(position);
    +
    +and also remove: +
    +
    +    i.putExtra(NotesDbAdapter.KEY_TITLE, c.getString(
    +                    c.getColumnIndex(NotesDbAdapter.KEY_TITLE)));
    +    i.putExtra(NotesDbAdapter.KEY_BODY, c.getString(
    +                    c.getColumnIndex(NotesDbAdapter.KEY_BODY)));
    +
    +so that all that should be left in that method is: +
    +
    +    super.onListItemClick(l, v, position, id);
    +    Intent i = new Intent(this, NoteEdit.class);
    +    i.putExtra(NotesDbAdapter.KEY_ROWID, id);
    +    startActivityForResult(i, ACTIVITY_EDIT);
    + +

    You can also now remove the mNotesCursor field from the class, and set it back to using + a local variable in the fillData() method: +

    +    Cursor notesCursor = mDbHelper.fetchAllNotes();

    +

    Note that the m in mNotesCursor denotes a member field, so when we + make notesCursor a local variable, we drop the m. Remember to rename the + other occurrences of mNotesCursor in your fillData() method. + +

    +Run it! (use Run As -> Android Application on the project right +click menu again)

    + +

    Solution and Next Steps

    + +

    You can see the solution to this exercise in Notepadv3Solution +from +the zip file to compare with your own.

    +

    +When you are ready, move on to the Tutorial +Extra Credit exercise, where you can use the Eclipse debugger to +examine the life-cycle events as they happen.

    diff --git a/docs/html/resources/tutorials/notepad/notepad-extra-credit.jd b/docs/html/resources/tutorials/notepad/notepad-extra-credit.jd new file mode 100644 index 0000000000000000000000000000000000000000..0d59b56b7a7b44fc2addd7d4d74c8f5ca0d326e4 --- /dev/null +++ b/docs/html/resources/tutorials/notepad/notepad-extra-credit.jd @@ -0,0 +1,70 @@ +page.title=Notepad Extra Credit +parent.title=Notepad Tutorial +parent.link=index.html +@jd:body + + +

    In this exercise, you will use the debugger to look at the work you did +in Exercise 3. This exercise demonstrates:

    +
      +
    • How to set breakpoints to observe execution
    • +
    • How to run your application in debug mode
    • +
    + +
    + + [Exercise 1] + [Exercise 2] + [Exercise 3] + + [Extra Credit] + +
    + +

    Step 1

    + +

    Using the working Notepadv3, put breakpoints in the code at the + beginning of the onCreate(), onPause(), + onSaveInstanceState() and onResume() methods in the + NoteEdit class (if you are not familiar with Eclipse, just + right click in the narrow grey border on the left of the edit window at the + line you want a breakpoint, and select Toggle Breakpoint, you +should see a blue dot appear).

    + +

    Step 2

    + +

    Now start the notepad demo in debug mode:

    + +
      +
    1. + Right click on the Notepadv3 project and from the Debug menu + select Debug As -> Android Application.
    2. +
    3. + The Android emulator should say "waiting for debugger to connect" + briefly and then run the application.
    4. +
    5. + If it gets stuck on the waiting... screen, quit the emulator and Eclipse, + from the command line do an adb kill-server, and then restart +Eclipse and try again.
    + +

    Step 3

    + +

    When you edit or create a new note you should see the breakpoints getting + hit and the execution stopping.

    + +

    Step 4

    + +

    Hit the Resume button to let execution continue (yellow rectangle with a +green triangle to its right in the Eclipse toolbars near the top).

    + +

    Step 5

    + +

    Experiment a bit with the confirm and back buttons, and try pressing Home and + making other mode changes. Watch what life-cycle events are generated and +when.

    + +

    The Android Eclipse plugin not only offers excellent debugging support for +your application development, but also superb profiling support. You can also +try using Traceview to profile your application. If your application is running too slow, this can help you +find the bottlenecks and fix them.

    + diff --git a/docs/html/resources/tutorials/notepad/notepad-index.jd b/docs/html/resources/tutorials/notepad/notepad-index.jd new file mode 100644 index 0000000000000000000000000000000000000000..151c50dcda674aac98c42ab54caea2fd54396254 --- /dev/null +++ b/docs/html/resources/tutorials/notepad/notepad-index.jd @@ -0,0 +1,143 @@ +page.title=Notepad Tutorial +@jd:body + + +

    The tutorial in this section gives you a "hands-on" introduction +to the Android framework and the tools you use to build applications on it. +Starting from a preconfigured project file, it guides you through the process of +developing a simple notepad application and provides concrete examples of how to +set up the project, develop the application logic and user interface, and then +compile and run the application.

    + +

    The tutorial presents the notepad application development as a set of +exercises (see below), each consisting of several steps. You can follow along +with the steps in each exercise and gradually build up and refine your +application. The exercises explain each step in detail and provide all the +sample code you need to complete the application.

    + +

    When you are finished with the tutorial, you will have created a functioning +Android application and learned in depth about many of the most important +concepts in Android development. If you want to add more complex features to +your application, you can examine the code in an alternative implementation +of a notepad application, in the +Sample Code documentation.

    + + + +

    Who Should Use this Tutorial

    + +

    This tutorial is designed for experienced developers, especially those with +knowledge of the Java programming language. If you haven't written Java +applications before, you can still use the tutorial, but you might need to work +at a slower pace.

    + +

    The tutorial assumes that you have some familiarity with the basic Android +application concepts and terminology. If you aren't yet familiar with those, you +should read Overview of an Android +Application before continuing.

    + +

    Also note that this tutorial uses +the Eclipse development environment, with the Android plugin installed. If you +are not using Eclipse, you can follow the exercises and build the application, +but you will need to determine how to accomplish the Eclipse-specific +steps in your environment.

    + + +

    Preparing for the Exercises

    + +

    This tutorial builds on the information provided in the Installing the SDK and Hello Android +documents, which explain in detail how to set up your development environment +for building Android applications. Before you start this tutorial, you should +read both these documents, have the SDK installed, and your work environment set up.

    + +

    To prepare for this lesson:

    + +
      +
    1. Download the project + exercises archive (.zip)
    2. +
    3. Unpack the archive file to a suitable location on your machine
    4. +
    5. Open the NotepadCodeLab folder
    6. +
    + +

    Inside the NotepadCodeLab folder, you should see six project +files: Notepadv1, + Notepadv2, Notepadv3, + Notepadv1Solution, Notepadv2Solution + and Notepadv3Solution. The Notepadv# projects are +the starting points for each of the exercises, while the +Notepadv#Solution projects are the exercise + solutions. If you are having trouble with a particular exercise, you + can compare your current work against the exercise solution.

    + + +

    Exercises

    + +

    The table below lists the tutorial exercises and describes the development +areas that each covers. Each exercise assumes that you have completed any +previous exercises.

    + + + + + + + + + + + + + + + + + + +
    Exercise +1Start here. Construct a simple notes list that lets the user add new notes but not +edit them. Demonstrates the basics of ListActivity and creating +and handling + menu options. Uses a SQLite database to store the notes.
    Exercise 2Add a second Activity to the +application. Demonstrates constructing a +new Activity, adding it to the Android manifest, passing data between the +activities, and using more advanced screen layout. Also shows how to +invoke another Activity to return a result, using +startActivityForResult().
    Exercise 3Add handling of life-cycle events to +the application, to let it +maintain application state across the life cycle.
    Extra +CreditDemonstrates how to use the Eclipse +debugger and how you can use it to +view life-cycle events as they are generated. This section is optional but +highly recommended.
    + + + +

    Other Resources and Further Learning

    +
      +
    • For a lighter but broader introduction to concepts not covered in the +tutorial, +take a look at Common Android Tasks.
    • +
    • The Android SDK includes a variety of fully functioning sample applications +that make excellent opportunities for further learning. You can find the sample +applications in the samples/ directory of your downloaded SDK.
    • +
    • This tutorial draws from the full Notepad application included in the +samples/ directory of the SDK, though it does not match it exactly. +When you are done with the tutorial, +it is highly recommended that you take a closer look at this version of the Notepad +application, +as it demonstrates a variety of interesting additions for your application, +such as:
    • +
        +
      • Setting up a custom striped list for the list of notes.
      • +
      • Creating a custom text edit view that overrides the draw() +method to + make it look like a lined notepad.
      • +
      • Implementing a full ContentProvider for notes.
      • +
      • Reverting and discarding edits instead of just automatically saving +them.
      • +
      +
    diff --git a/docs/html/resources/tutorials/views/hello-autocomplete.jd b/docs/html/resources/tutorials/views/hello-autocomplete.jd new file mode 100644 index 0000000000000000000000000000000000000000..fba1ad887506be71f041bb1db34cbb08c926dc79 --- /dev/null +++ b/docs/html/resources/tutorials/views/hello-autocomplete.jd @@ -0,0 +1,116 @@ +page.title=Hello, AutoCompleteTextView +parent.title=Hello, Views +parent.link=index.html +@jd:body + +

    {@link android.widget.AutoCompleteTextView} is an implementation of the EditText widget that will provide +auto-complete suggestions as the user types. The suggestions are extracted from a collection of strings.

    + + +
      +
    1. Start a new project/Activity called HelloAutoComplete.
    2. +
    3. Open the layout file. + Make it like so: +
      +<?xml version="1.0" encoding="utf-8"?>
      +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      +    android:orientation="horizontal"
      +    android:layout_width="fill_parent" 
      +    android:layout_height="wrap_content">
      +
      +    <TextView
      +        android:layout_width="wrap_content"
      +        android:layout_height="wrap_content"
      +        android:text="Country" />
      +
      +    <AutoCompleteTextView android:id="@+id/edit"
      +        android:layout_width="fill_parent"
      +        android:layout_height="wrap_content"/>
      +
      +</LinearLayout>
      +
      +
    4. + +
    5. Open HelloAutoComplete.java and insert the following as the onCreate method: +
      +@Override
      +protected void onCreate(Bundle savedInstanceState) {
      +    super.onCreate(savedInstanceState);
      +    setContentView(R.layout.main);
      +
      +    AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.edit);
      +    ArrayAdapter adapter = new ArrayAdapter(this,
      +            android.R.layout.simple_dropdown_item_1line, COUNTRIES);
      +    textView.setAdapter(adapter);
      +}
      +
      +

      Here, we create an AutoComplteteTextView from our layout. We then + create an {@link android.widget.ArrayAdapter} that binds a simple_dropdown_item_1line + layout item to each entry in the COUNTRIES array (which we'll add next). + The last part sets the ArrayAdapter to associate with our AutoCompleteTextView.

      +
    6. + +
    7. After the onCreate() method, add the String array: +
      +static final String[] COUNTRIES = new String[] {
      +  "Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra",
      +  "Angola", "Anguilla", "Antarctica", "Antigua and Barbuda", "Argentina",
      +  "Armenia", "Aruba", "Australia", "Austria", "Azerbaijan",
      +  "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium",
      +  "Belize", "Benin", "Bermuda", "Bhutan", "Bolivia",
      +  "Bosnia and Herzegovina", "Botswana", "Bouvet Island", "Brazil", "British Indian Ocean Territory",
      +  "British Virgin Islands", "Brunei", "Bulgaria", "Burkina Faso", "Burundi",
      +  "Cote d'Ivoire", "Cambodia", "Cameroon", "Canada", "Cape Verde",
      +  "Cayman Islands", "Central African Republic", "Chad", "Chile", "China",
      +  "Christmas Island", "Cocos (Keeling) Islands", "Colombia", "Comoros", "Congo",
      +  "Cook Islands", "Costa Rica", "Croatia", "Cuba", "Cyprus", "Czech Republic",
      +  "Democratic Republic of the Congo", "Denmark", "Djibouti", "Dominica", "Dominican Republic",
      +  "East Timor", "Ecuador", "Egypt", "El Salvador", "Equatorial Guinea", "Eritrea",
      +  "Estonia", "Ethiopia", "Faeroe Islands", "Falkland Islands", "Fiji", "Finland",
      +  "Former Yugoslav Republic of Macedonia", "France", "French Guiana", "French Polynesia",
      +  "French Southern Territories", "Gabon", "Georgia", "Germany", "Ghana", "Gibraltar",
      +  "Greece", "Greenland", "Grenada", "Guadeloupe", "Guam", "Guatemala", "Guinea", "Guinea-Bissau",
      +  "Guyana", "Haiti", "Heard Island and McDonald Islands", "Honduras", "Hong Kong", "Hungary",
      +  "Iceland", "India", "Indonesia", "Iran", "Iraq", "Ireland", "Israel", "Italy", "Jamaica",
      +  "Japan", "Jordan", "Kazakhstan", "Kenya", "Kiribati", "Kuwait", "Kyrgyzstan", "Laos",
      +  "Latvia", "Lebanon", "Lesotho", "Liberia", "Libya", "Liechtenstein", "Lithuania", "Luxembourg",
      +  "Macau", "Madagascar", "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Marshall Islands",
      +  "Martinique", "Mauritania", "Mauritius", "Mayotte", "Mexico", "Micronesia", "Moldova",
      +  "Monaco", "Mongolia", "Montserrat", "Morocco", "Mozambique", "Myanmar", "Namibia",
      +  "Nauru", "Nepal", "Netherlands", "Netherlands Antilles", "New Caledonia", "New Zealand",
      +  "Nicaragua", "Niger", "Nigeria", "Niue", "Norfolk Island", "North Korea", "Northern Marianas",
      +  "Norway", "Oman", "Pakistan", "Palau", "Panama", "Papua New Guinea", "Paraguay", "Peru",
      +  "Philippines", "Pitcairn Islands", "Poland", "Portugal", "Puerto Rico", "Qatar",
      +  "Reunion", "Romania", "Russia", "Rwanda", "Sqo Tome and Principe", "Saint Helena",
      +  "Saint Kitts and Nevis", "Saint Lucia", "Saint Pierre and Miquelon",
      +  "Saint Vincent and the Grenadines", "Samoa", "San Marino", "Saudi Arabia", "Senegal",
      +  "Seychelles", "Sierra Leone", "Singapore", "Slovakia", "Slovenia", "Solomon Islands",
      +  "Somalia", "South Africa", "South Georgia and the South Sandwich Islands", "South Korea",
      +  "Spain", "Sri Lanka", "Sudan", "Suriname", "Svalbard and Jan Mayen", "Swaziland", "Sweden",
      +  "Switzerland", "Syria", "Taiwan", "Tajikistan", "Tanzania", "Thailand", "The Bahamas",
      +  "The Gambia", "Togo", "Tokelau", "Tonga", "Trinidad and Tobago", "Tunisia", "Turkey",
      +  "Turkmenistan", "Turks and Caicos Islands", "Tuvalu", "Virgin Islands", "Uganda",
      +  "Ukraine", "United Arab Emirates", "United Kingdom",
      +  "United States", "United States Minor Outlying Islands", "Uruguay", "Uzbekistan",
      +  "Vanuatu", "Vatican City", "Venezuela", "Vietnam", "Wallis and Futuna", "Western Sahara",
      +  "Yemen", "Yugoslavia", "Zambia", "Zimbabwe"
      +};
      +
      +

      This is the list of suggestions that will be offered as the user types into the + AutoCompleteTextView.

      +
    8. + +
    9. Now run it.
    10. +
    +

    As you type, you should see something like this:

    + + + +

    References

    +
      +
    • {@link android.R.layout}
    • +
    • {@link android.widget.ArrayAdapter}
    • +
    • {@link android.widget.AutoCompleteTextView}
    • +
    + + diff --git a/docs/html/resources/tutorials/views/hello-datepicker.jd b/docs/html/resources/tutorials/views/hello-datepicker.jd new file mode 100644 index 0000000000000000000000000000000000000000..fcd43f3f890f36550080fad78b2d1d74241780e8 --- /dev/null +++ b/docs/html/resources/tutorials/views/hello-datepicker.jd @@ -0,0 +1,151 @@ +page.title=Hello, DatePicker +parent.title=Hello, Views +parent.link=index.html +@jd:body + +

    A {@link android.widget.DatePicker} is a widget that allows the user to select a month, day and year.

    + + +
      +
    1. Start a new project/Activity called HelloDatePicker.
    2. +
    3. Open the layout file and make it like so: +
      +<?xml version="1.0" encoding="utf-8"?>
      +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      +    android:layout_width="wrap_content"
      +    android:layout_height="wrap_content"
      +    android:orientation="vertical">
      +
      +    <TextView android:id="@+id/dateDisplay"
      +            android:layout_width="wrap_content"
      +            android:layout_height="wrap_content"
      +            android:text=""/>
      +
      +    <Button android:id="@+id/pickDate"
      +            android:layout_width="wrap_content"
      +            android:layout_height="wrap_content"
      +            android:text="Change the date"/>
      +
      +</LinearLayout>
      +
      +

      For the layout, we're using a vertical LinearLayout, with a {@link android.widget.TextView} that + will display the date and a {@link android.widget.Button} that will initiate the DatePicker dialog. + With this layout, the TextView will sit above the Button. + The text value in the TextView is set empty, as it will be filled + with the current date when our Activity runs.

      +
    4. + +
    5. Open HelloDatePicker.java. Insert the following to the HelloDatePicker class: +
      +    private TextView mDateDisplay;
      +    private Button mPickDate;
      +
      +    private int mYear;
      +    private int mMonth;
      +    private int mDay;
      +
      +    static final int DATE_DIALOG_ID = 0;
      +
      +    @Override
      +    protected void onCreate(Bundle savedInstanceState) {
      +        super.onCreate(savedInstanceState);
      +        setContentView(R.layout.main);
      +
      +        // capture our View elements
      +        mDateDisplay = (TextView) findViewById(R.id.dateDisplay);
      +        mPickDate = (Button) findViewById(R.id.pickDate);
      +
      +        // add a click listener to the button
      +        mPickDate.setOnClickListener(new View.OnClickListener() {
      +            public void onClick(View v) {
      +                showDialog(DATE_DIALOG_ID);
      +            }
      +        });
      +
      +        // get the current date
      +        final Calendar c = Calendar.getInstance();
      +        mYear = c.get(Calendar.YEAR);
      +        mMonth = c.get(Calendar.MONTH);
      +        mDay = c.get(Calendar.DAY_OF_MONTH);
      +
      +        // display the current date
      +        updateDisplay();
      +    }
      +
      +

      Tip: Press Ctrl(or Cmd) + Shift + O to import all needed packages.

      +

      We start by instantiating variables for our Views and date fields. + The DATE_DIALOG_ID is a static integer that uniquely identifies the Dialog. In the + onCreate() method, we get prepared by setting the layout and capturing the View elements. + Then we create an on-click listener for the Button, so that when it is clicked it will + show our DatePicker dialog. The showDialog() method will pop-up the date picker dialog + by calling the onCreateDialog() callback method + (which we'll define in the next section). We then create an + instance of {@link java.util.Calendar} and get the current year, month and day. Finally, we call + updateDisplay()—our own method (defined later) that will fill the TextView.

      +
    6. + +
    7. After the onCreate() method, add the onCreateDialog() callback method +(which is called by showDialog()) +
      +@Override
      +protected Dialog onCreateDialog(int id) {
      +    switch (id) {
      +    case DATE_DIALOG_ID:
      +        return new DatePickerDialog(this,
      +                    mDateSetListener,
      +                    mYear, mMonth, mDay);
      +    }
      +    return null;
      +}
      +
      +

      This method is passed the identifier we gave showDialog() and initializes + the DatePicker to the date we retrieved from our Calendar instance.

      +
    8. + +
    9. Following that, add the updateDisplay() method: +
      +    // updates the date we display in the TextView
      +    private void updateDisplay() {
      +        mDateDisplay.setText(
      +            new StringBuilder()
      +                    // Month is 0 based so add 1
      +                    .append(mMonth + 1).append("-")
      +                    .append(mDay).append("-")
      +                    .append(mYear).append(" "));
      +    }
      +
      +

      This uses the member date values to write the date to our TextView.

      +
    10. +
    11. Finally, add a listener that will be called when the user sets a new date: +
      +    // the callback received when the user "sets" the date in the dialog
      +    private DatePickerDialog.OnDateSetListener mDateSetListener =
      +            new DatePickerDialog.OnDateSetListener() {
      +
      +                public void onDateSet(DatePicker view, int year, 
      +                                      int monthOfYear, int dayOfMonth) {
      +                    mYear = year;
      +                    mMonth = monthOfYear;
      +                    mDay = dayOfMonth;
      +                    updateDisplay();
      +                }
      +            };
      +
      +

      This OnDateSetListener method listens for when the user is done setting the date + (clicks the "Set" button). At that time, this fires and we update our member fields with + the new date defined by the user and update our TextView by calling updateDisplay().

      +
    12. + +
    13. Now run it.
    14. +
    +

    When you press the "Change the date" button, you should see the following:

    + + +

    References

    +
      +
    • {@link android.widget.DatePicker}
    • +
    • {@link android.widget.Button}
    • +
    • {@link android.widget.TextView}
    • +
    • {@link java.util.Calendar}
    • +
    + diff --git a/docs/html/resources/tutorials/views/hello-formstuff.jd b/docs/html/resources/tutorials/views/hello-formstuff.jd new file mode 100644 index 0000000000000000000000000000000000000000..da4289c16badf65b323d762456def353ffb80920 --- /dev/null +++ b/docs/html/resources/tutorials/views/hello-formstuff.jd @@ -0,0 +1,262 @@ +page.title=Hello, Form Stuff +parent.title=Hello, Views +parent.link=index.html +@jd:body + +

    This page introduces a variety of widgets, like image buttons, +text fields, checkboxes and radio buttons.

    + + +
      +
    1. Start a new project/Activity called HelloFormStuff.
    2. +
    3. Your layout file should have a basic LinearLayout: +
      +<?xml version="1.0" encoding="utf-8"?>
      +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      +    android:orientation="vertical"
      +    android:layout_width="fill_parent"
      +    android:layout_height="fill_parent" >
      +    	
      +</LinearLayout>
      +
      +

      For each widget you want to add, just put the respective View inside here.

      +
    4. +
    +

    Tip: As you add new Android code, press Ctrl(or Cmd) + Shift + O +to import all needed packages.

    + + +

    ImageButton

    +

    A button with a custom image on it. +We'll make it display a message when pressed.

    +
      +
    1. + Drag the Android image on the right (or your own image) into the + res/drawable/ directory of your project. + We'll use this for the button.
    2. +
    3. Open the layout file and, inside the LinearLayout, add the {@link android.widget.ImageButton} element: +
      +<ImageButton
      +    android:id="@+id/android_button"
      +    android:layout_width="100dip"
      +    android:layout_height="wrap_content"
      +    android:src="@drawable/android" />	
      +
      +

      The source of the button + is from the res/drawable/ directory, where we've placed the android.png.

      +

      Tip: You can also reference some of the many built-in + images from the Android {@link android.R.drawable} resources, + like ic_media_play, for a "play" button image. To do so, change the source + attribute to android:src="@android:drawable/ic_media_play".

      +
    4. +
    5. To make the button to actually do something, add the following +code at the end of the onCreate() method: +
      +final ImageButton button = (ImageButton) findViewById(R.id.android_button);
      +button.setOnClickListener(new OnClickListener() {
      +    public void onClick(View v) {
      +        // Perform action on clicks
      +        Toast.makeText(HelloFormStuff.this, "Beep Bop", Toast.LENGTH_SHORT).show();
      +    }
      +});
      +
      +

      This captures our ImageButton from the layout, then adds an on-click listener to it. +The {@link android.view.View.OnClickListener} must define the onClick() method, which +defines the action to be made when the button is clicked. Here, we show a +{@link android.widget.Toast} message when clicked.

      +
    6. +
    7. Run it.
    8. +
    + + +

    EditText

    +

    A text field for user input. We'll make it display the text entered so far when the "Enter" key is pressed.

    + +
      +
    1. Open the layout file and, inside the LinearLayout, add the {@link android.widget.EditText} element: +
      +<EditText
      +    android:id="@+id/edittext"
      +    android:layout_width="fill_parent"
      +    android:layout_height="wrap_content"/>
      +
      +
    2. +
    3. To do something with the text that the user enters, add the following code +to the end of the onCreate() method: +
      +final EditText edittext = (EditText) findViewById(R.id.edittext);
      +edittext.setOnKeyListener(new OnKeyListener() {
      +    public boolean onKey(View v, int keyCode, KeyEvent event) {
      +        if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) {
      +          // Perform action on key press
      +          Toast.makeText(HelloFormStuff.this, edittext.getText(), Toast.LENGTH_SHORT).show();
      +          return true;
      +        }
      +        return false;
      +    }
      +});
      +
      +

      This captures our EditText element from the layout, then adds an on-key listener to it. +The {@link android.view.View.OnKeyListener} must define the onKey() method, which +defines the action to be made when a key is pressed. In this case, we want to listen for the +Enter key (when pressed down), then pop up a {@link android.widget.Toast} message with the +text from the EditText field. Be sure to return true after the event is handled, +so that the event doesn't bubble-up and get handled by the View (which would result in a +carriage return in the text field).

      +
    4. Run it.
    5. +
    + + +

    CheckBox

    +

    A checkbox for selecting items. We'll make it display the the current state when pressed.

    + +
      +
    1. Open the layout file and, inside the LinearLayout, add the {@link android.widget.CheckBox} element: +
      +<CheckBox android:id="@+id/checkbox"
      +    android:layout_width="wrap_content"
      +    android:layout_height="wrap_content"
      +    android:text="check it out" />
      +
      +
    2. +
    3. To do something when the state is changed, add the following code +to the end of the onCreate() method: +
      +final CheckBox checkbox = (CheckBox) findViewById(R.id.checkbox);
      +checkbox.setOnClickListener(new OnClickListener() {
      +    public void onClick(View v) {
      +        // Perform action on clicks
      +        if (checkbox.isChecked()) {
      +            Toast.makeText(HelloFormStuff.this, "Selected", Toast.LENGTH_SHORT).show();
      +        } else {
      +            Toast.makeText(HelloFormStuff.this, "Not selected", Toast.LENGTH_SHORT).show();
      +        }
      +    }
      +});
      +
      +

      This captures our CheckBox element from the layout, then adds an on-click listener to it. +The {@link android.view.View.OnClickListener} must define the onClick() method, which +defines the action to be made when the checkbox is clicked. Here, we query the current state of the +checkbox, then pop up a {@link android.widget.Toast} message that displays the current state. +Notice that the CheckBox handles its own state change between checked and un-checked, so we just +ask which it currently is.

      +
    4. Run it.
    5. +
    +

    Tip: If you find that you need to change the state +in another way (such as when loading a saved {@link android.preference.CheckBoxPreference}), +use setChecked(true) or toggle().

    + + +

    RadioButton

    +

    Two mutually-exclusive radio buttons—enabling one disables the other. +When each is pressed, we'll pop up a message.

    + +
      +
    1. Open the layout file and, inside the LinearLayout, add two {@link android.widget.RadioButton}s, +inside a {@link android.widget.RadioGroup}: +
      +<RadioGroup
      +  android:layout_width="fill_parent"
      +  android:layout_height="wrap_content"
      +  android:orientation="vertical">
      +  
      +  <RadioButton android:id="@+id/radio_red"
      +      android:layout_width="wrap_content"
      +      android:layout_height="wrap_content"
      +      android:text="Red" />
      +  
      +  <RadioButton android:id="@+id/radio_blue"
      +      android:layout_width="wrap_content"
      +      android:layout_height="wrap_content"
      +      android:text="Blue" />
      +  
      +</RadioGroup>
      +
      +
    2. +
    3. To do something when each is selected, we'll need an OnClickListener. Unlike the other +listeners we've created, instead of creating this one as an anonymous inner class, +we'll create it as a new object. This way, we can re-use the OnClickLIstener for +both RadioButtons. So, add the following code in the HelloFormStuff Activity +(outside the onCreate() method): +
      +OnClickListener radio_listener = new OnClickListener() {
      +    public void onClick(View v) {
      +        // Perform action on clicks
      +        RadioButton rb = (RadioButton) v;
      +        Toast.makeText(HelloFormStuff.this, rb.getText(), Toast.LENGTH_SHORT).show();
      +    }
      +};
      +
      +

      Our onClick() method will be handed the View clicked, so the first thing to do +is cast it into a RadioButton. Then we pop up a +{@link android.widget.Toast} message that displays the selection.

      +
    4. Now, at the bottom of the onCreate() method, add the following: +
      +  final RadioButton radio_red = (RadioButton) findViewById(R.id.radio_red);
      +  final RadioButton radio_blue = (RadioButton) findViewById(R.id.radio_blue);
      +  radio_red.setOnClickListener(radio_listener);
      +  radio_blue.setOnClickListener(radio_listener);
      +
      +

      This captures each of the RadioButtons from our layout and adds the newly-created +OnClickListener to each.

      +
    5. Run it.
    6. +
    +

    Tip: If you find that you need to change the state of a +RadioButton in another way (such as when loading a saved {@link android.preference.CheckBoxPreference}), +use setChecked(true) or toggle().

    + + +

    ToggleButton

    +

    A button used specifically for toggling something on and off.

    + +
      +
    1. Open the layout file and, inside the LinearLayout, add the {@link android.widget.ToggleButton} element: +
      +<ToggleButton android:id="@+id/togglebutton"
      +    android:layout_width="wrap_content"
      +    android:layout_height="wrap_content" />
      +
      +
    2. +
    3. To do something when the state is changed, add the following code +to the end of the onCreate() method: +
      +final ToggleButton togglebutton = (ToggleButton) findViewById(R.id.togglebutton);
      +togglebutton.setOnClickListener(new OnClickListener() {
      +    public void onClick(View v) {
      +        // Perform action on clicks
      +        if (togglebutton.isChecked()) {
      +            Toast.makeText(HelloFormStuff.this, "ON", Toast.LENGTH_SHORT).show();
      +        } else {
      +            Toast.makeText(HelloFormStuff.this, "OFF", Toast.LENGTH_SHORT).show();
      +        }
      +    }
      +});
      +
      +

      This captures our ToggleButton element from the layout, then adds an on-click listener to it. +The {@link android.view.View.OnClickListener} must define the onClick() method, which +defines the action to be made when the button is clicked. Here, we query the current state of the +ToggleButton, then pop up a {@link android.widget.Toast} message that displays the current state. +Notice that the ToggleButton handles its own state change between checked and un-checked, so we just +ask which it is.

      +
    4. Run it.
    5. +
    + +

    Tip: By default, the text on the button is "ON" and "OFF", but +you can change each of these with setTextOn(CharSequence) and +setTextOff(CharSequence). And, if you find that you need to change the state +in another way (such as when loading a saved {@link android.preference.CheckBoxPreference}), +use setChecked(true) or toggle().

    + + +

    If you've added all the form items above, your application should look something like this:

    + + +

    References

    +
      +
    • {@link android.widget.ImageButton}
    • +
    • {@link android.widget.EditText}
    • +
    • {@link android.widget.CheckBox}
    • +
    • {@link android.widget.RadioButton}
    • +
    • {@link android.widget.ToggleButton}
    • +
    + diff --git a/docs/html/resources/tutorials/views/hello-gallery.jd b/docs/html/resources/tutorials/views/hello-gallery.jd new file mode 100644 index 0000000000000000000000000000000000000000..084f912ca646599d72fb8c9549f3cd2ba9d59a97 --- /dev/null +++ b/docs/html/resources/tutorials/views/hello-gallery.jd @@ -0,0 +1,135 @@ +page.title=Hello, Gallery +parent.title=Hello, Views +parent.link=index.html +@jd:body + +

    A {@link android.widget.Gallery} is a View commonly used to display items in a horizontally scrolling list +that locks the current selection at the center. When one is selected, we'll show a message.

    + + +
      +
    1. Start a new project/Activity called HelloGallery.
    2. +
    3. Add some images to your res/drawable/ directory.
    4. +
    5. Open the layout file and make it like so: +
      +<?xml version="1.0" encoding="utf-8"?>
      +<Gallery xmlns:android="http://schemas.android.com/apk/res/android" 
      +    android:id="@+id/gallery"
      +    android:layout_width="fill_parent"
      +    android:layout_height="wrap_content"
      +/>
      +
      +
    6. + + +
    7. Open the HelloGallery.java file. Insert the following for the onCreate() method: +
      +@Override
      +public void onCreate(Bundle savedInstanceState) {
      +    super.onCreate(savedInstanceState);
      +    setContentView(R.layout.main);
      +
      +    Gallery g = (Gallery) findViewById(R.id.gallery);
      +    g.setAdapter(new ImageAdapter(this));
      +
      +    g.setOnItemClickListener(new OnItemClickListener() {
      +        public void onItemClick(AdapterView parent, View v, int position, long id) {
      +            Toast.makeText(HelloGallery.this, "" + position, Toast.LENGTH_SHORT).show();
      +        }
      +    });
      +}
      +
      +

      We start as usual: set the layout and capture the View we want (our Gallery). +We then set an Adapter, called ImageAdapter for the Gallery—this is a new class that +we'll create next. Then we create an item click listener for the Gallery. This is like a normal +on-click listener (which you might be familiar with for buttons), but it listens to each item +that we've added to the Gallery. The onItemClick() callback method +receives the AdapterView where the click occurred, the specific View that received the click, the +position of the View clicked (zero-based), and the row id of the item clicked (if applicable). All +that we care about is the position, so that we can pop up a {@link android.widget.Toast} message that +tells us the index position of the item clicked. We do this with Toast.makeText().show(). +

      +
    8. + +
    9. After the onCreate() method, add the ImageAdapter class: +
      +public class ImageAdapter extends BaseAdapter {
      +    int mGalleryItemBackground;
      +    private Context mContext;
      +
      +    private Integer[] mImageIds = {
      +            R.drawable.sample_1,
      +            R.drawable.sample_2,
      +            R.drawable.sample_3,
      +            R.drawable.sample_4,
      +            R.drawable.sample_5,
      +            R.drawable.sample_6,
      +            R.drawable.sample_7
      +    };
      +
      +    public ImageAdapter(Context c) {
      +        mContext = c;
      +        TypedArray a = obtainStyledAttributes(android.R.styleable.Theme);
      +        mGalleryItemBackground = a.getResourceId(
      +                android.R.styleable.Theme_galleryItemBackground, 0);
      +        a.recycle();
      +    }
      +
      +    public int getCount() {
      +        return mImageIds.length;
      +    }
      +
      +    public Object getItem(int position) {
      +        return position;
      +    }
      +
      +    public long getItemId(int position) {
      +        return position;
      +    }
      +
      +    public View getView(int position, View convertView, ViewGroup parent) {
      +        ImageView i = new ImageView(mContext);
      +
      +        i.setImageResource(mImageIds[position]);
      +        i.setLayoutParams(new Gallery.LayoutParams(150, 100));
      +        i.setScaleType(ImageView.ScaleType.FIT_XY);
      +        i.setBackgroundResource(mGalleryItemBackground);
      +
      +        return i;
      +    }
      +}
      +
      +

      First, there are a few member variables, including an array of IDs that reference +the images we placed in our drawable resources directory.

      +

      Next is the constructor, where we define the member Context. The rest of the constructor +sets up a reference for our Gallery them, which adds the nice framing for each Gallery item. +Once we have our mGalleryItemBackground, it's important to recycle the +StyledAttribute for later re-use.

      +

      The next three methods are required for basic member queries. +But then we have the getView() method, which is called +for each item read by our ImageAdapter, when the Gallery is being built. Here, we +use our member Context to create a new {@link android.widget.ImageView}. We then define +the image resource with the current position of the Gallery items (corresponding to our +array of drawables), set the dimensions for the ImageView, +set the image scaling to fit the ImageView dimensions, then finally set the +background theme for the ImageView.

      + +

      See {@link android.widget.ImageView.ScaleType} +for other image scaling options, in case you want to avoid stretching images that don't +exactly match the ImageView dimensions.

      + +
    10. Now run it.
    11. +
    +

    You should see something like this:

    + + + +

    References

    +
      +
    • {@link android.widget.BaseAdapter}
    • +
    • {@link android.widget.Gallery}
    • +
    • {@link android.widget.ImageView}
    • +
    • {@link android.widget.Toast}
    • +
    + + diff --git a/docs/html/resources/tutorials/views/hello-gridview.jd b/docs/html/resources/tutorials/views/hello-gridview.jd new file mode 100644 index 0000000000000000000000000000000000000000..ffb6c93efde57d33dd2332350fa5956a487cd557 --- /dev/null +++ b/docs/html/resources/tutorials/views/hello-gridview.jd @@ -0,0 +1,129 @@ +page.title=Hello, GridView +parent.title=Hello, Views +parent.link=index.html +@jd:body + +

    A {@link android.widget.GridView} displays items in a two-dimensional, scrolling grid. The items +are acquired from a {@link android.widget.ListAdapter}.

    + + +
      +
    1. Start a new project/Activity called HelloGridView.
    2. +
    3. Find some photos you'd like to use, or copy some from the SDK samples res/drawable/ + folder of your project.
    4. +
    5. Open the layout and make it like so: +
      +<?xml version="1.0" encoding="utf-8"?>
      +<GridView xmlns:android="http://schemas.android.com/apk/res/android" 
      +    android:id="@+id/gridview"
      +    android:layout_width="fill_parent" 
      +    android:layout_height="fill_parent"
      +    android:numColumns="auto_fit"
      +    android:verticalSpacing="10dp"
      +    android:horizontalSpacing="10dp"
      +    android:columnWidth="90dp"
      +    android:stretchMode="columnWidth"
      +    android:gravity="center"
      +/>
      +
      +
    6. +
    7. Open the HelloGridView Java file. Insert the following for the onCreate() method: +
      +public void onCreate(Bundle savedInstanceState) {
      +    super.onCreate(savedInstanceState);
      +    setContentView(R.layout.main);
      +
      +    GridView gridview = (GridView) findViewById(R.id.gridview);
      +    gridview.setAdapter(new ImageAdapter(this));
      +}
      +
      +

      Here, we get a handle on our GridView, from the layout, and give it an Adapter. + We're actually going to create our own Adapter called ImageAdapter.

      +
    8. +
    9. Create a new class (nested or otherwise), called ImageAdapter, which extends {@link android.widget.BaseAdapter}: +
      +public class ImageAdapter extends BaseAdapter {
      +    private Context mContext;
      +
      +    public ImageAdapter(Context c) {
      +        mContext = c;
      +    }
      +
      +    public int getCount() {
      +        return mThumbIds.length;
      +    }
      +
      +    public Object getItem(int position) {
      +        return null;
      +    }
      +
      +    public long getItemId(int position) {
      +        return 0;
      +    }
      +
      +    // create a new ImageView for each item referenced by the Adapter
      +    public View getView(int position, View convertView, ViewGroup parent) {
      +        ImageView imageView;
      +        if (convertView == null) {  // if it's not recycled, initialize some attributes
      +            imageView = new ImageView(mContext);
      +            imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
      +            imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
      +            imageView.setPadding(8, 8, 8, 8);
      +        } else {
      +            imageView = (ImageView) convertView;
      +        }
      +
      +        imageView.setImageResource(mThumbIds[position]);
      +        return imageView;
      +    }
      +
      +    // references to our images
      +    private Integer[] mThumbIds = {
      +            R.drawable.sample_2, R.drawable.sample_3,
      +            R.drawable.sample_4, R.drawable.sample_5,
      +            R.drawable.sample_6, R.drawable.sample_7,
      +            R.drawable.sample_0, R.drawable.sample_1,
      +            R.drawable.sample_2, R.drawable.sample_3,
      +            R.drawable.sample_4, R.drawable.sample_5,
      +            R.drawable.sample_6, R.drawable.sample_7,
      +            R.drawable.sample_0, R.drawable.sample_1,
      +            R.drawable.sample_2, R.drawable.sample_3,
      +            R.drawable.sample_4, R.drawable.sample_5,
      +            R.drawable.sample_6, R.drawable.sample_7
      +    };
      +}
      +
      +

      First we take care of some required methods inherited from BaseAdapter. + The constructor and getCount() are self-explanitory. Normally, getItem() + should return the actual object at the specified position in our Adapter, but for this Hello World, + we're not going to bother. Likewise, getItemId() should return the row id of + the item, but right now we don't care.

      +

      However, getView() is the method we care about. This one creates a new View for each image that we + put in our ImageAdapter. So we're going to create an ImageView each time. When this is called, we're + going to receive a View, which is likely a recycled View object (at least after the first call), so we + check for this—if it's null, we initialize the ImageView and setup all the properties we want. + The LayoutParams() initialization sets the height and width of the View—this ensures + that no matter the drawable size, each image is resized and cropped to fit in the ImageView (if necessary). + With setScaleType(), we say that images should be cropped toward the center (if necessary). + And finally, we set the padding within the ImageView. (Note that, if the images have various aspect-ratios, + as they do in this demo, then less padding will cause for more cropping of the image, if it does not match + the dimensions given to the ImageView.) At the end of getView() we set the image resource and + return the ImageView.

      +

      All that's left is our array or drawable resources at the bottom.

      +
    10. +
    11. Run it.
    12. +
    +

    Your grid layout should look something like this:

    + + +

    Try experimenting with the behaviors of the GridView and ImageView by adjusting their properties. For example, + instead of setting the ImageView LayoutParams, you can try using + {@link android.widget.ImageView#setAdjustViewBounds(boolean)}.

    + +

    References

    +
      +
    • {@link android.widget.GridView}
    • +
    • {@link android.widget.ImageView}
    • +
    • {@link android.widget.BaseAdapter}
    • +
    + diff --git a/docs/html/resources/tutorials/views/hello-linearlayout.jd b/docs/html/resources/tutorials/views/hello-linearlayout.jd new file mode 100644 index 0000000000000000000000000000000000000000..0e8947c10e3aee8c8364412a8920c5084e3e718f --- /dev/null +++ b/docs/html/resources/tutorials/views/hello-linearlayout.jd @@ -0,0 +1,130 @@ +page.title=Hello, LinearLayout +parent.title=Hello, Views +parent.link=index.html +@jd:body + +

    A {@link android.widget.LinearLayout} is a GroupView that will lay child View elements +vertically or horizontally.

    + + +
      +
    1. Start a new project/Activity called HelloLinearLayout.
    2. +
    3. Open the layout file. + Make it like so: +
      +<?xml version="1.0" encoding="utf-8"?>
      +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      +    android:orientation="vertical"
      +    android:layout_width="fill_parent"
      +    android:layout_height="fill_parent">
      +
      +    <LinearLayout
      +	android:orientation="horizontal"
      +	android:layout_width="fill_parent"
      +	android:layout_height="fill_parent"
      +	android:layout_weight="1">
      +	
      +	<TextView
      +	    android:text="red"
      +	    android:gravity="center_horizontal"
      +	    android:background="#aa0000"
      +	    android:layout_width="wrap_content"
      +	    android:layout_height="fill_parent"
      +	    android:layout_weight="1"/>
      +	
      +	<TextView
      +	    android:text="green"
      +	    android:gravity="center_horizontal"
      +	    android:background="#00aa00"
      +	    android:layout_width="wrap_content"
      +	    android:layout_height="fill_parent"
      +	    android:layout_weight="1"/>
      +	
      +	<TextView
      +	    android:text="blue"
      +	    android:gravity="center_horizontal"
      +	    android:background="#0000aa"
      +	    android:layout_width="wrap_content"
      +	    android:layout_height="fill_parent"
      +	    android:layout_weight="1"/>
      +	
      +	<TextView
      +	    android:text="yellow"
      +	    android:gravity="center_horizontal"
      +	    android:background="#aaaa00"
      +	    android:layout_width="wrap_content"
      +	    android:layout_height="fill_parent"
      +	    android:layout_weight="1"/>
      +		
      +    </LinearLayout>
      +	
      +    <LinearLayout
      +	android:orientation="vertical"
      +	android:layout_width="fill_parent"
      +	android:layout_height="fill_parent"
      +	android:layout_weight="1">
      +	
      +	<TextView
      +	    android:text="row one"
      +	    android:textSize="15pt"
      +	    android:layout_width="fill_parent"
      +	    android:layout_height="wrap_content"
      +	    android:layout_weight="1"/>
      +	
      +	<TextView
      +	    android:text="row two"
      +	    android:textSize="15pt"
      +	    android:layout_width="fill_parent"
      +	    android:layout_height="wrap_content"
      +	    android:layout_weight="1"/>
      +	
      +	<TextView
      +	    android:text="row three"
      +	    android:textSize="15pt"
      +	    android:layout_width="fill_parent"
      +	    android:layout_height="wrap_content"
      +	    android:layout_weight="1"/>
      +	
      +	<TextView
      +	    android:text="row four"
      +	    android:textSize="15pt"
      +	    android:layout_width="fill_parent"
      +	    android:layout_height="wrap_content"
      +	    android:layout_weight="1"/>
      +        
      +    </LinearLayout>
      +        
      +</LinearLayout>
      +
      +

      Carefully inspect the XML. You'll notice how this layout works a lot like + an HTML layout. There is one parent LinearLayout that is defined to lay + its child elements vertically. The first child is another LinearLayout that uses a horizontal layout + and the second uses a vertical layout. Each LinearLayout contains several {@link android.widget.TextView} + elements.

      +
    4. +
    5. Now open the HelloLinearLayout Activity and be sure it loads this layout in the onCreate() method:

      +
      +public void onCreate(Bundle savedInstanceState) {
      +    super.onCreate(savedInstanceState);
      +    setContentView(R.layout.main);
      +}
      +
      +

      R.layout.main refers to the main.xml layout file.

      +
    6. +
    7. Run it.
    8. +
    +

    You should see the following:

    + + +

    Notice how the various XML attributes define the View's behavior. +Pay attention to the effect of the layout_weight. Try + experimenting with different values to see how the screen real estate is + distributed based on the weight of each element.

    + +

    References

    +
      +
    • {@link android.widget.LinearLayout}
    • +
    • {@link android.widget.TextView}
    • +
    + + diff --git a/docs/html/resources/tutorials/views/hello-listview.jd b/docs/html/resources/tutorials/views/hello-listview.jd new file mode 100644 index 0000000000000000000000000000000000000000..d90005bb4e5f6d73df9ca78d65259ee2cb701af1 --- /dev/null +++ b/docs/html/resources/tutorials/views/hello-listview.jd @@ -0,0 +1,90 @@ +page.title=Hello, ListView +parent.title=Hello, Views +parent.link=index.html +@jd:body + +

    A {@link android.widget.ListView} is a View that shows items in a vertically scrolling list. The items are + acquired from a {@link android.widget.ListAdapter}.

    + + +
      +
    1. Start a new project/ListActivity called HelloListView.
    2. +
    3. Open the HelloListView Java file. Make the class extend ListActivity (instead of Activity). +
      public class HelloListView extends ListActivity {
      +
    4. +
    5. Insert the following for the onCreate() method: +
      +@Override
      +public void onCreate(Bundle savedInstanceState) {
      +  super.onCreate(savedInstanceState);
      +  
      +  setListAdapter(new ArrayAdapter<String>(this,
      +          android.R.layout.simple_list_item_1, COUNTRIES));
      +  getListView().setTextFilterEnabled(true);
      +}
      +
      +

      Notice that we don't need to load a layout (at least, not in this case, because we're using + the whole screen for our list). Instead, we just call setListAdapter() (which automatically + adds a ListView to the ListActivity), and provide it with an ArrayAdapter that binds a + simple_list_item_1 layout item to each entry in the COUNTRIES + array (added next). The next line of code adds a text filter to the ListView, so that when the user + begins typing, the list will filter the entire view to display only the items that match the entry.

      +
    6. +
    7. Following the onCreate() method, add the String array: +
      +  static final String[] COUNTRIES = new String[] {
      +    "Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra",
      +    "Angola", "Anguilla", "Antarctica", "Antigua and Barbuda", "Argentina",
      +    "Armenia", "Aruba", "Australia", "Austria", "Azerbaijan",
      +    "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium",
      +    "Belize", "Benin", "Bermuda", "Bhutan", "Bolivia",
      +    "Bosnia and Herzegovina", "Botswana", "Bouvet Island", "Brazil", "British Indian Ocean Territory",
      +    "British Virgin Islands", "Brunei", "Bulgaria", "Burkina Faso", "Burundi",
      +    "Cote d'Ivoire", "Cambodia", "Cameroon", "Canada", "Cape Verde",
      +    "Cayman Islands", "Central African Republic", "Chad", "Chile", "China",
      +    "Christmas Island", "Cocos (Keeling) Islands", "Colombia", "Comoros", "Congo",
      +    "Cook Islands", "Costa Rica", "Croatia", "Cuba", "Cyprus", "Czech Republic",
      +    "Democratic Republic of the Congo", "Denmark", "Djibouti", "Dominica", "Dominican Republic",
      +    "East Timor", "Ecuador", "Egypt", "El Salvador", "Equatorial Guinea", "Eritrea",
      +    "Estonia", "Ethiopia", "Faeroe Islands", "Falkland Islands", "Fiji", "Finland",
      +    "Former Yugoslav Republic of Macedonia", "France", "French Guiana", "French Polynesia",
      +    "French Southern Territories", "Gabon", "Georgia", "Germany", "Ghana", "Gibraltar",
      +    "Greece", "Greenland", "Grenada", "Guadeloupe", "Guam", "Guatemala", "Guinea", "Guinea-Bissau",
      +    "Guyana", "Haiti", "Heard Island and McDonald Islands", "Honduras", "Hong Kong", "Hungary",
      +    "Iceland", "India", "Indonesia", "Iran", "Iraq", "Ireland", "Israel", "Italy", "Jamaica",
      +    "Japan", "Jordan", "Kazakhstan", "Kenya", "Kiribati", "Kuwait", "Kyrgyzstan", "Laos",
      +    "Latvia", "Lebanon", "Lesotho", "Liberia", "Libya", "Liechtenstein", "Lithuania", "Luxembourg",
      +    "Macau", "Madagascar", "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Marshall Islands",
      +    "Martinique", "Mauritania", "Mauritius", "Mayotte", "Mexico", "Micronesia", "Moldova",
      +    "Monaco", "Mongolia", "Montserrat", "Morocco", "Mozambique", "Myanmar", "Namibia",
      +    "Nauru", "Nepal", "Netherlands", "Netherlands Antilles", "New Caledonia", "New Zealand",
      +    "Nicaragua", "Niger", "Nigeria", "Niue", "Norfolk Island", "North Korea", "Northern Marianas",
      +    "Norway", "Oman", "Pakistan", "Palau", "Panama", "Papua New Guinea", "Paraguay", "Peru",
      +    "Philippines", "Pitcairn Islands", "Poland", "Portugal", "Puerto Rico", "Qatar",
      +    "Reunion", "Romania", "Russia", "Rwanda", "Sqo Tome and Principe", "Saint Helena",
      +    "Saint Kitts and Nevis", "Saint Lucia", "Saint Pierre and Miquelon",
      +    "Saint Vincent and the Grenadines", "Samoa", "San Marino", "Saudi Arabia", "Senegal",
      +    "Seychelles", "Sierra Leone", "Singapore", "Slovakia", "Slovenia", "Solomon Islands",
      +    "Somalia", "South Africa", "South Georgia and the South Sandwich Islands", "South Korea",
      +    "Spain", "Sri Lanka", "Sudan", "Suriname", "Svalbard and Jan Mayen", "Swaziland", "Sweden",
      +    "Switzerland", "Syria", "Taiwan", "Tajikistan", "Tanzania", "Thailand", "The Bahamas",
      +    "The Gambia", "Togo", "Tokelau", "Tonga", "Trinidad and Tobago", "Tunisia", "Turkey",
      +    "Turkmenistan", "Turks and Caicos Islands", "Tuvalu", "Virgin Islands", "Uganda",
      +    "Ukraine", "United Arab Emirates", "United Kingdom",
      +    "United States", "United States Minor Outlying Islands", "Uruguay", "Uzbekistan",
      +    "Vanuatu", "Vatican City", "Venezuela", "Vietnam", "Wallis and Futuna", "Western Sahara",
      +    "Yemen", "Yugoslavia", "Zambia", "Zimbabwe"
      +  };
      +
      +
    8. +
    9. Run it.
    10. +
    +

    You can scroll the list, or type to filter it. You should see something like this:

    + + +

    References

    +
      +
    • {@link android.widget.ListView}
    • +
    • {@link android.widget.ListAdapter}
    • +
    + diff --git a/docs/html/resources/tutorials/views/hello-mapview.jd b/docs/html/resources/tutorials/views/hello-mapview.jd new file mode 100644 index 0000000000000000000000000000000000000000..531300f22a1974df86d9547a8488835e5a81bdb5 --- /dev/null +++ b/docs/html/resources/tutorials/views/hello-mapview.jd @@ -0,0 +1,273 @@ +page.title=Hello, MapView +parent.title=Hello, Views +parent.link=index.html +@jd:body + +
    +

    This tutorial requires that you have the Google Maps external library +installed in your SDK environment. By default the Android SDK includes the +Google APIs add-on, which in turn includes the Maps external library. If you +don't have the Google APIs SDK add-on, you can download it from this +location:

    + +

    http://code.google.com/android/add-ons/google-apis

    + +

    The Google APIs add-on requires Android 1.5 SDK or later release. After +installing the add-on in your SDK, set your project properties to use the build +target called "Google APIs Add-on". See the instructions for setting a build +target in Developing in +Eclipse with ADT or Developing in Other IDEs, +as appropriate for your environment.

    + +

    You will also need to use the android tool to set up an AVD that uses the +Google APIs deployment target. See Android Virtual Devices for +more information. Once you have set up your environment, you will be able to +build and run the project described in this tutorial

    + +
    + +

    A MapView allows you to create your own map-viewing Activity. +First, we'll create a simple Activity that can view and navigate a map. Then we will add some overlay items.

    + +
      +
    1. Start a new project/Activity called HelloMapView. + +
    2. Because we're using the Google Maps library, + which is not a part of the standard Android library, we need to + declare it in the Android Manifest. Open the AndroidManifest.xml + file and add the following as a child of the <application> element: + +
      <uses-library android:name="com.google.android.maps" />
      +
    3. +
    4. We also need access to the internet in order to retrieve the Google Maps tiles, + so the application must request the {@link android.Manifest.permission#INTERNET INTERNET} permissions. + In the manifest file, add the following as a child of the <manifest> element: +
      <uses-permission android:name="android.permission.INTERNET" />
      +
    5. +
    6. Now open the main layout file for your project. Define a layout with a com.google.android.maps.MapView + inside a android.widget.RelativeLayout: + +
      +<?xml version="1.0" encoding="utf-8"?>
      +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
      +    android:id="@+id/mainlayout"
      +    android:orientation="vertical"
      +    android:layout_width="fill_parent"
      +    android:layout_height="fill_parent" >
      +
      +    <com.google.android.maps.MapView
      +        android:id="@+id/mapview"
      +        android:layout_width="fill_parent"
      +        android:layout_height="fill_parent"
      +        android:clickable="true"
      +        android:apiKey="Your Maps API Key"
      +    />
      +
      +</RelativeLayout>
      +
      +

      The clickable attribute defines whether you want to allow user-interaction with the map. + In this case, we set it "true" so that the user can navigate.

      + +

      The apiKey attribute holds the Google Maps API Key that proves your application and signer + certificate has been registered with the Google Maps service. Because MapView uses Google Maps data, this key is required + in order to receive the map data, even while you are developing. Registration is free and it only takes a couple + minutes to register your certificate and receive a Maps API Key. For instructions on getting a key, read + Obtaining a Maps API Key. + (For the purpose of this tutorial, you should register with the fingerprint of the SDK debug certificate.) + Once you've acquired the Maps API Key, insert it for the apiKey value.

    7. + +
    8. Now open the HelloMapView.java file. For this Activity, we're going to extend the special sub-class of + Activity called MapActivity, so change the class declaration to extend + MapActicity, instead of Activity:

      + +
      public class HelloMapView extends MapActivity {
      + +
    9. The isRouteDisplayed() method is required, so add it inside the class: +
      +@Override
      +protected boolean isRouteDisplayed() {
      +    return false;
      +}
      +
      +

      You can actually run this now, but all it does is allow you to pan around the map.

      +

      Android provides a handy {@link android.widget.ZoomControls} widget for zooming in and out of a View. +MapView can automatically hook one for us by requesting it with the getZoomControls() +method. Let's do this.

      + +
    10. Go back to the layout file. We need a new ViewGroup element, in which we'll + place the ZoomControls. Just below the MapView element (but inside the RelativeLayout), add this element: +
      +<LinearLayout
      +    android:id="@+id/zoomview"
      +    android:layout_width="wrap_content"
      +    android:layout_height="wrap_content"
      +    android:layout_alignBottom="@id/mapview"
      +    android:layout_centerHorizontal="true"
      +/>
      + +

      It doesn't really matter what kind of ViewGroup we use, because we just want a + container that we can position within our root RelativeLayout.

      + +

      The last two attributes are available only to an element that's a child of a + RelativeLayout. layout_alignBottom aligns the bottom of this element to the bottom of + the element identified with a resource tag (which must be a sibling to this element). + layout_centerHorizontal centers this on the horizontal plane.

    11. + +
    12. Now go back to the HelloMapView class. We'll now retrieve the ZoomControls object from + the MapView and add it to our new layout element. First, at the top of the HelloMapView, + instantiate handles for the MapView and LinearLayout, plus a ZoomControl object: +
      +LinearLayout linearLayout;
      +MapView mapView;
      +ZoomControls mZoom;
    13. + +
    14. Then initialize each of these in onCreate(). We'll capture the LinearLayout and + MapView through their layout resources. Then get the ZoomControls from the MapView:: +
      +linearLayout = (LinearLayout) findViewById(R.id.zoomview);
      +mapView = (MapView) findViewById(R.id.mapview);
      +mZoom = (ZoomControls) mapView.getZoomControls();
      + +

      By using the ZoomControls object provided by MapView, we don't have to do any of the work + required to actually perform the zoom operations. The ZoomControls widget that MapView + returns for us is already hooked into the MapView and works as soon as we add it to the + layout. The controls will appear whenever the user touches the map, then dissapear after + a few moments of inactivity.

    15. + +
    16. Now just plug our ZoomControls into the LinearLayout we added: + +
      linearLayout.addView(mZoom);
    17. + +
    18. Run it.
    19. +
    + +
    + +

    So, we now have full interaction controls. All well and good, but what we really want our map +for is custom markers and layovers. Let's add some Overlay +objects to our map. To do this, we're going to +implement the ItemizedOverlay +class, which can manage a whole set of Overlay items for us.

    + +
      +
    1. Create a new Java class named HelloItemizedOverlay that implements ItemizedOverlay. + +

      When using Eclipse, right-click the package name in the Eclipse Package Explorer, and select New > Class. Fill-in + the Name field as HelloItemizedOverlay. For the Superclass, enter + com.google.android.maps.ItemizedOverlay. Click the checkbox for Constructors from + superclass. Click Finish.

    2. + +
    3. First thing, we need an OverlayItem ArrayList, in which we'll put each of the OverlayItem + objects we want on our map. Add this at the top of the HelloItemizedOverlay class: + +
      private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
    4. + +
    5. All the constructor does is define the default marker to be used on each of the OverlayItems. + In order for the Drawable to actually get drawn, it must have its bounds defined. And we want the + center-point at the bottom of the image to be the point at which it's attached to the map + coordinates. We handle all this with the boundCenterBottom() method. Wrap this around our + defaultMarker, so the super constructor call looks like this: + +
      super(boundCenterBottom(defaultMarker));
    6. + +
    7. In order to add new OverlayItems to our ArrayList, we need a new public method. We'll handle + this with the following method: + +
      +public void addOverlay(OverlayItem overlay) {
      +    mOverlays.add(overlay);
      +    populate();
      +}
      + +

      Each time we add a new OverlayItem, we must call populate(), which will read each of out + OverlayItems and prepare them to be drawn.

    8. + +
    9. In order for the populate() method to read each OverlayItem, it will make a request to + createItem(int). We must define this method to properly read from our ArrayList. Replace the + existing contents of the createItem method with a get() call to our ArrayList: + +
      +@Override
      +protected OverlayItem createItem(int i) {
      +  return mOverlays.get(i);
      +}
      +
    10. + +
    11. We're also required to override the size() method. Replace the existing contents of the + method with a size request to our ArrayList: + +
      return mOverlays.size();
    12. +
    + + +

    That's it for the HelloItemizedOverlay class. We're now ready to use it.

    + +
    +

    Go back to the HelloMapView +class. We'll start by creating one OverlayItem, adding to an instance of our HelloItemizedOverlay, +and then adding this to the MapView.

    + + +

    First, we need the image that we'll use for our map overlay. Here, we'll use the Android on the +right as our marker. Drag this image (or your own) to the res/drawable/ directory of your project workspace.

    + +

    Now we're ready to work in the HelloMapView:

    + +
      +
    1. First we need some more types. Add the following at the top of the HelloMapView class: + +
      +List<Overlay> mapOverlays;
      +Drawable drawable;
      +HelloItemizedOverlay itemizedOverlay;
    2. + +
    3. Now pick up where we left off in the onCreate() method. Instantiate the + new fields: + +
      +mapOverlays = mapView.getOverlays();
      +drawable = this.getResources().getDrawable(R.drawable.androidmarker);
      +itemizedoverlay = new HelloItemizedOverlay(drawable);
      + +

      All overlay elements on a map are held by the MapView, so when we want to add some, we must + first retrieve the List with getOverlays() methods. We instantiate the Drawable, which will + be used as our map marker, by using our Context resources to get the Drawable we placed in + the res/drawable/ directory (androidmarker.png). Our HelloItemizedOverlay takes the Drawable in order to set the + default marker.

    4. + +
    5. Now let's make our first OverlayItem by creating a GeoPoint + that defines our map coordinates, then pass it to a new OverlayItem: + +
      +GeoPoint point = new GeoPoint(19240000,-99120000);
      +OverlayItem overlayitem = new OverlayItem(point, "", "");
      + +

      GeoPoint coordinates are based in microdegrees (degrees * 1e6). The OverlayItem takes this + GeoPoint and two strings. Here, we won't concern ourselves with the strings, which can display + text when we click our marker, because we haven't yet written the click handler for the OverlayItem.

    6. + +
    7. All that's left is for us to add this OverlayItem to our collection in the HelloItemizedOverlay, + and add this to the List of Overlay objects retrieved from the MapView: + +
      +itemizedoverlay.addOverlay(overlayitem);
      +mapOverlays.add(itemizedoverlay);
    8. + +
    9. Run it!
    10. +
    + +

    We've sent our droid to Mexico City. Hola, Mundo!

    +

    You should see the following:

    + + +

    Because we created our ItemizedOverlay class with an ArrayList, we can continue adding new +OverlayItems. Try adding another one. Before the addOverlay() method is called, add these lines:

    +
    +GeoPoint point2 = new GeoPoint(35410000, 139460000);
    +OverlayItem overlayitem2 = new OverlayItem(point2, "", "");
    +
    +

    Run it again... We've sent a new droid to Tokyo. Sekai, konichiwa!

    + diff --git a/docs/html/resources/tutorials/views/hello-relativelayout.jd b/docs/html/resources/tutorials/views/hello-relativelayout.jd new file mode 100644 index 0000000000000000000000000000000000000000..1b915379739ce6fd99cee9294dbbf96e3d252249 --- /dev/null +++ b/docs/html/resources/tutorials/views/hello-relativelayout.jd @@ -0,0 +1,75 @@ +page.title=Hello, RelativeLayout +parent.title=Hello, Views +parent.link=index.html +@jd:body + +

    A {@link android.widget.RelativeLayout} is a ViewGroup that allows you to layout child elements +in positions relative to the parent or siblings elements.

    + +
      +
    1. Start a new project/Activity called HelloRelativeLayout.
    2. +
    3. Open the layout file. Make it like so: +
      +<?xml version="1.0" encoding="utf-8"?>
      +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
      +    android:layout_width="fill_parent"
      +    android:layout_height="fill_parent">
      +
      +    <TextView
      +        android:id="@+id/label"
      +        android:layout_width="fill_parent"
      +        android:layout_height="wrap_content"
      +        android:text="Type here:"/>
      +
      +    <EditText
      +        android:id="@+id/entry"
      +        android:layout_width="fill_parent"
      +        android:layout_height="wrap_content"
      +        android:background="@android:drawable/editbox_background"
      +        android:layout_below="@id/label"/>
      +
      +    <Button
      +        android:id="@+id/ok"
      +        android:layout_width="wrap_content"
      +        android:layout_height="wrap_content"
      +        android:layout_below="@id/entry"
      +        android:layout_alignParentRight="true"
      +        android:layout_marginLeft="10dip"
      +        android:text="OK" />
      +
      +    <Button
      +        android:layout_width="wrap_content"
      +        android:layout_height="wrap_content"
      +        android:layout_toLeftOf="@id/ok"
      +        android:layout_alignTop="@id/ok"
      +        android:text="Cancel" />
      +
      +</RelativeLayout>
      +
      +

      Pay attention to each of the additional layout_* attributes (besides the +usual width and height, which are required for all elements). When using relative layout, +we use attributes like layout_below and layout_toLeftOf to describe +how we'd like to position each View. Naturally, these are different relative positions, and the +value of the attribute is the id of the element we want the position relative to.

      +
    4. +
    5. Make sure your Activity loads this layout in the onCreate() method:

      +
      +public void onCreate(Bundle savedInstanceState) {
      +    super.onCreate(savedInstanceState);
      +    setContentView(R.layout.main);
      +}
      +
      +

      R.layout.main refers to the main.xml layout file.

      +
    6. +
    7. Run it.
    8. +
    +

    You should see the following:

    + + +

    Resources

    +
      +
    • {@link android.widget.RelativeLayout}
    • +
    • {@link android.widget.TextView}
    • +
    • {@link android.widget.EditText}
    • +
    • {@link android.widget.Button}
    • +
    diff --git a/docs/html/resources/tutorials/views/hello-spinner.jd b/docs/html/resources/tutorials/views/hello-spinner.jd new file mode 100644 index 0000000000000000000000000000000000000000..3a04214a1f3d52983f8ceedc8b65b87142acd13b --- /dev/null +++ b/docs/html/resources/tutorials/views/hello-spinner.jd @@ -0,0 +1,106 @@ +page.title=Hello, Spinner +parent.title=Hello, Views +parent.link=index.html +@jd:body + +

    A {@link android.widget.Spinner} is a widget that allows the user to select an item from a group. +It is similar to a dropdown list and will allow scrolling when the +list exceeds the available vertical space on the screen.

    + + +
      +
    1. Start a new project/Activity called HelloSpinner.
    2. +
    3. Open the layout file. + Make it like so: +
      +<?xml version="1.0" encoding="utf-8"?>
      +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      +    android:orientation="vertical"
      +    android:padding="10dip"
      +    android:layout_width="fill_parent"
      +    android:layout_height="wrap_content">
      +
      +    <TextView
      +        android:layout_width="fill_parent"
      +        android:layout_height="wrap_content"
      +        android:layout_marginTop="10dip"
      +        android:text="Please select a planet:"
      +    />
      +
      +    <Spinner 
      +        android:id="@+id/spinner"
      +        android:layout_width="fill_parent"
      +        android:layout_height="wrap_content"
      +        android:drawSelectorOnTop="true"
      +        android:prompt="@string/planet_prompt"
      +    />
      +
      +</LinearLayout>
      +
      +

      Notice that the Spinner's android:prompt is a string resource. In + this case, Android does not allow it to be a string, it must be a reference to a resource. + So...

      +
    4. + +
    5. Open the strings.xml file in res/values/ and add the following <string> +element inside the <resources> element: +
      +<string name="planet_prompt">Choose a planet</string>
      +
      +
    6. + +
    7. Create a new XML file in res/values/ called arrays.xml. Insert the following: +
      +<resources>
      +
      +    <string-array name="planets">
      +        <item>Mercury</item>
      +        <item>Venus</item>
      +        <item>Earth</item>
      +        <item>Mars</item>
      +        <item>Jupiter</item>
      +        <item>Saturn</item>
      +        <item>Uranus</item>
      +        <item>Neptune</item>
      +    </string-array>
      +    
      +</resources>
      +
      +

      This is the list of items (planets) that the user can select from in the Spinner widget.

      +
    8. + +
    9. Now open the HelloSpinner.java file. Insert the following code into the HelloSpinner class: +
      +@Override
      +public void onCreate(Bundle savedInstanceState) {
      +    super.onCreate(savedInstanceState);
      +    setContentView(R.layout.main);
      +
      +    Spinner s = (Spinner) findViewById(R.id.spinner);
      +    ArrayAdapter adapter = ArrayAdapter.createFromResource(
      +            this, R.array.planets, android.R.layout.simple_spinner_item);
      +    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
      +    s.setAdapter(adapter);
      +}
      +
      +

      That's it. We start by creating a Spinner from our layout. We then create an {@link android.widget.ArrayAdapter} + that binds each element of our string array to a layout view—we pass createFromResource our Context, + the array of selectable items and the type of layout we'd like each one bound to. We then call + setDropDownViewResource() to define the type of layout in which to present the + entire collection. Finally, we set this Adapter to associate with our Spinner, + so the string items have a place to go.

      +
    10. + +
    11. Now run it.
    12. +
    +

    It should look like this:

    + + + +

    Resources

    +
      +
    • {@link android.R.layout}
    • +
    • {@link android.widget.ArrayAdapter}
    • +
    • {@link android.widget.Spinner}
    • +
    + diff --git a/docs/html/resources/tutorials/views/hello-tablelayout.jd b/docs/html/resources/tutorials/views/hello-tablelayout.jd new file mode 100644 index 0000000000000000000000000000000000000000..83d6f5d46be5d811115997e40176627b9291aebd --- /dev/null +++ b/docs/html/resources/tutorials/views/hello-tablelayout.jd @@ -0,0 +1,118 @@ +page.title=Hello, TableLayout +parent.title=Hello, Views +parent.link=index.html +@jd:body + +

    A {@link android.widget.TableLayout} is a ViewGroup that +will lay child View elements into rows and columns.

    + + +
      +
    1. Start a new project/Activity called HelloTableLayout.
    2. +
    3. Open the layout file. + Make it like so: +
      +<?xml version="1.0" encoding="utf-8"?>
      +<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
      +    android:layout_width="fill_parent"
      +    android:layout_height="fill_parent"
      +    android:stretchColumns="1">
      +
      +    <TableRow>
      +        <TextView
      +            android:layout_column="1"
      +            android:text="Open..."
      +            android:padding="3dip" />
      +        <TextView
      +            android:text="Ctrl-O"
      +            android:gravity="right"
      +            android:padding="3dip" />
      +    </TableRow>
      +
      +    <TableRow>
      +        <TextView
      +            android:layout_column="1"
      +            android:text="Save..."
      +            android:padding="3dip" />
      +        <TextView
      +            android:text="Ctrl-S"
      +            android:gravity="right"
      +            android:padding="3dip" />
      +    </TableRow>
      +
      +    <TableRow>
      +        <TextView
      +            android:layout_column="1"
      +            android:text="Save As..."
      +            android:padding="3dip" />
      +        <TextView
      +            android:text="Ctrl-Shift-S"
      +            android:gravity="right"
      +            android:padding="3dip" />
      +    </TableRow>
      +
      +    <View
      +        android:layout_height="2dip"
      +        android:background="#FF909090" />
      +
      +    <TableRow>
      +        <TextView
      +            android:text="X"
      +            android:padding="3dip" />
      +        <TextView
      +            android:text="Import..."
      +            android:padding="3dip" />
      +    </TableRow>
      +
      +    <TableRow>
      +        <TextView
      +            android:text="X"
      +            android:padding="3dip" />
      +        <TextView
      +            android:text="Export..."
      +            android:padding="3dip" />
      +        <TextView
      +            android:text="Ctrl-E"
      +            android:gravity="right"
      +            android:padding="3dip" />
      +    </TableRow>
      +
      +    <View
      +        android:layout_height="2dip"
      +        android:background="#FF909090" />
      +
      +    <TableRow>
      +        <TextView
      +            android:layout_column="1"
      +            android:text="Quit"
      +            android:padding="3dip" />
      +    </TableRow>
      +</TableLayout>
      +
      +

      Notice how this resembles the structure of an HTML table. TableLayout is like the +table element; TableRow is like a tr element; but for our cells like +the html td element, we can use any kind of View. Here, we use TextView for the cells.

      + +
    4. +
    5. Make sure your Activity loads this layout in the onCreate() method: +
      +public void onCreate(Bundle savedInstanceState) {
      +    super.onCreate(savedInstanceState);
      +    setContentView(R.layout.main);
      +}
      +
      +

      R.layout.main refers to the main.xml layout file.

      +
    6. +
    7. Run it.
    8. +
    +

    You should see the following:

    + + +

    References

    +
      +
    • {@link android.widget.TableLayout}
    • +
    • {@link android.widget.TableRow}
    • +
    • {@link android.widget.TextView}
    • +
    + + diff --git a/docs/html/resources/tutorials/views/hello-tabwidget.jd b/docs/html/resources/tutorials/views/hello-tabwidget.jd new file mode 100644 index 0000000000000000000000000000000000000000..8424616ca5bba84dd3c6c67eb72c2eacbf3d2b22 --- /dev/null +++ b/docs/html/resources/tutorials/views/hello-tabwidget.jd @@ -0,0 +1,124 @@ +page.title=Hello, TabWidget +parent.title=Hello, Views +parent.link=index.html +@jd:body + +

    A {@link android.widget.TabWidget} offers the ability to easily draw an interface that uses +tabs to navigate between different views.

    + +
      +
    1. Start a new project/Activity called HelloTabWidget.
    2. +
    3. Open the layout file and make it like so:
    4. +
      +<?xml version="1.0" encoding="utf-8"?>
      +<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
      +    android:id="@android:id/tabhost"
      +    android:layout_width="fill_parent"
      +    android:layout_height="fill_parent">
      +    <LinearLayout
      +        android:orientation="vertical"
      +        android:layout_width="fill_parent"
      +        android:layout_height="fill_parent">
      +        <TabWidget
      +            android:id="@android:id/tabs"
      +            android:layout_width="fill_parent"
      +            android:layout_height="wrap_content" />
      +        <FrameLayout
      +            android:id="@android:id/tabcontent"
      +            android:layout_width="fill_parent"
      +            android:layout_height="fill_parent">
      +            <TextView 
      +                android:id="@+id/textview1"
      +                android:layout_width="fill_parent"
      +                android:layout_height="fill_parent" 
      +                android:text="this is a tab" />
      +            <TextView 
      +                android:id="@+id/textview2"
      +                android:layout_width="fill_parent"
      +                android:layout_height="fill_parent" 
      +                android:text="this is another tab" />
      +            <TextView 
      +                android:id="@+id/textview3"
      +                android:layout_width="fill_parent"
      +                android:layout_height="fill_parent" 
      +                android:text="this is a third tab" />
      +    	</FrameLayout>
      +    </LinearLayout>
      +</TabHost>
      +
      +

      Here, we've created a {@link android.widget.TabHost} that contains the entire layout of the Activity. + A TabHost requires two descendant elements: a {@link android.widget.TabWidget} and a {@link android.widget.FrameLayout}. + In order to properly layout these elements, we've put them inside a vertical {@link android.widget.LinearLayout}. + The FrameLayout is where we keep the content that will change with each tab. Each child in the FrameLayout will + be associated with a different tab. + In this case, each tab simply shows a different {@link android.widget.TextView} with some text.

      +

      Notice that the TabWidget and the FrameLayout elements have specific android namespace IDs. These are necessary + so that the TabHost can automatically retireve references to them, populate the TabWidget with the tabs that we'll define + in our code, and swap the views in the FrameLayout. We've also defined our own IDs for each TextView, which we'll use to + associate each tab with the view that it should reveal.

      +

      Of course, you can + make these child views as large as complex as you'd like — instead of the TextView elements, + you could start with other layout views and build a unique layout hierarchy for each tab.

      + +
    5. Now we'll add our code. Open HelloTabWidget.java and make it a TabActivity. +

      By default, Eclipse creates a class that extends Activity. Change it to + extend TabActivity:

      +
      +public class HelloTabWidget extends TabActivity {
      +
      +
    6. +
    7. Now fill in the the onCreate method like this: +
      +public void onCreate(Bundle savedInstanceState) {
      +    super.onCreate(savedInstanceState);
      +    setContentView(R.layout.main);
      +
      +    mTabHost = getTabHost();
      +    
      +    mTabHost.addTab(mTabHost.newTabSpec("tab_test1").setIndicator("TAB 1").setContent(R.id.textview1));
      +    mTabHost.addTab(mTabHost.newTabSpec("tab_test2").setIndicator("TAB 2").setContent(R.id.textview2));
      +    mTabHost.addTab(mTabHost.newTabSpec("tab_test3").setIndicator("TAB 3").setContent(R.id.textview3));
      +    
      +    mTabHost.setCurrentTab(0);
      +}
      +
      +

      As usual, we start by setting our layout.

      +

      We then call the TabActivity method getTabHost(), + which returns us a reference to the TabHost we created in our layout. Upon our TabHost, we call addTab() + for each of the tabs that we want to add to the TabWidget. Each time we call this, we pass a + {@link android.widget.TabHost.TabSpec} that we build on the fly, and with it, chain together two necessary methods: + setIndicator() to set the text for the tab button, and setContent() to define + which View we want to associate with the tab and reveal when pressed. Our indicator is just a text string and + our content is an ID reference to the TextView elements we inserted in the FrameLayout.

      +

      At the end, we call setCurrentTab() to define which tab should be opened by default. The tabs + are saved like a zero-based array, so to open the first tab, we pass zero (0).

      +
    8. +
    9. To clean-up the presentation a bit more, let's remove the window title that appears at the top of the layout. + Android includes a theme that removes that title for us. To add it, open the Android Manifest file and add + the NoTitleBar theme to the <application> tag. It should end up like this: +
      +<application android:icon="@drawable/icon" android:theme="@android:style/Theme.NoTitleBar">
      +
      +
    10. +
    11. That's it. Run your application.
    12. + +
    + + +

    Your application should look like this:

    + + +

    You can include icons in your tabs by passing a +{@link android.graphics.drawable.Drawable} when you call setIndicator(). Here's an example +that uses a Drawable created from an image in the project resources:

    +
    setIndicator("TAB 1", getResources().getDrawable(R.drawable.tab_icon))
    +
    + +

    References

    +
      +
    • {@link android.widget.TabWidget}
    • +
    • {@link android.widget.TabHost}
    • +
    • {@link android.widget.TabHost.TabSpec}
    • +
    • {@link android.widget.FrameLayout}
    • +
    + diff --git a/docs/html/resources/tutorials/views/hello-timepicker.jd b/docs/html/resources/tutorials/views/hello-timepicker.jd new file mode 100644 index 0000000000000000000000000000000000000000..1a6c8f9eeb2900ebe11efeb34b3187fb3958d341 --- /dev/null +++ b/docs/html/resources/tutorials/views/hello-timepicker.jd @@ -0,0 +1,159 @@ +page.title=Hello, TimePicker +parent.title=Hello, Views +parent.link=index.html +@jd:body + +

    A {@link android.widget.TimePicker} is a widget that allows the +user to select the time by hour, minute and AM or PM.

    + + +
      +
    1. Start a new project/Activity called HelloTimePicker.
    2. +
    3. Open the layout file and make it like so: +
      +<?xml version="1.0" encoding="utf-8"?>
      +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      +    android:layout_width="wrap_content"
      +    android:layout_height="wrap_content"
      +    android:orientation="vertical">
      +
      +    <TextView android:id="@+id/timeDisplay"
      +        android:layout_width="wrap_content"
      +        android:layout_height="wrap_content"
      +        android:text=""/>
      +
      +    <Button android:id="@+id/pickTime"
      +        android:layout_width="wrap_content"
      +        android:layout_height="wrap_content"
      +        android:text="Change the time"/>
      +
      +</LinearLayout>
      +
      +

      For the layout, we're using a vertical LinearLayout, with a {@link android.widget.TextView} that + will display the time and a {@link android.widget.Button} that will initiate the + {@link android.widget.TimePicker} dialog. + With this layout, the TextView will sit above the Button. + The text value in the TextView is set empty, as it will be filled by our Activity + with the current time.

      +
    4. + +
    5. Open HelloTimePicker.java. Insert the following to the HelloTimePicker class: +
      +private TextView mTimeDisplay;
      +private Button mPickTime;
      +
      +private int mHour;
      +private int mMinute;
      +
      +static final int TIME_DIALOG_ID = 0;
      +
      +@Override
      +protected void onCreate(Bundle savedInstanceState) {
      +    super.onCreate(savedInstanceState);
      +    setContentView(R.layout.main);
      +    
      +    // capture our View elements
      +    mTimeDisplay = (TextView) findViewById(R.id.timeDisplay);
      +    mPickTime = (Button) findViewById(R.id.pickTime);
      +
      +    // add a click listener to the button
      +    mPickTime.setOnClickListener(new View.OnClickListener() {
      +        public void onClick(View v) {
      +            showDialog(TIME_DIALOG_ID);
      +        }
      +    });
      +
      +    // get the current time
      +    final Calendar c = Calendar.getInstance();
      +    mHour = c.get(Calendar.HOUR_OF_DAY);
      +    mMinute = c.get(Calendar.MINUTE);
      +
      +    // display the current date
      +    updateDisplay();
      +}
      +
      +

      Tip: Press Ctrl(or Cmd) + Shift + O to import all needed packages.

      +

      We start by instantiating variables for our View elements and time fields. + The TIME_DIALOG_ID is a static integer that uniquely identifies the dialog. In the + onCreate() method, we get prepared by setting the layout and capturing the View elements. + We then set an on-click listener for the Button, so that when it is clicked, it will + show our TimePicker dialog. The showDialog() method will perform a callback + to our Activity. (We'll define this callback in the next section.) We then create an + instance of {@link java.util.Calendar} and get the current hour and minute. Finally, we call + updateDisplay()—our own method that will fill the TextView with the time.

      +
    6. + +
    7. After the onCreate() method, add the onCreateDialog() callback method: +
      +@Override
      +protected Dialog onCreateDialog(int id) {
      +    switch (id) {
      +    case TIME_DIALOG_ID:
      +        return new TimePickerDialog(this,
      +                mTimeSetListener, mHour, mMinute, false);
      +    }
      +    return null;
      +}
      +
      +

      This is passed the identifier we gave showDialog() and initializes + the TimePicker to the time we retrieved from our Calendar instance. It will be called by + showDialog().

      +
    8. + +
    9. Now add our updateDisplay() method: +
      +// updates the time we display in the TextView
      +private void updateDisplay() {
      +    mTimeDisplay.setText(
      +        new StringBuilder()
      +                .append(pad(mHour)).append(":")
      +                .append(pad(mMinute)));
      +}
      +
      +

      This simply takes our member fields for the time and inserts them in + the mTimeDisplay TextView. Note that we call a new method, pad(), + on the hour and minute. (We'll create this method in the last step.)

      +
    10. + +
    11. Next, add a listener to be called when the time is reset: +
      +// the callback received when the user "sets" the time in the dialog
      +private TimePickerDialog.OnTimeSetListener mTimeSetListener =
      +    new TimePickerDialog.OnTimeSetListener() {
      +        public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
      +            mHour = hourOfDay;
      +            mMinute = minute;
      +            updateDisplay();
      +        }
      +    };
      +
      +

      Now when the user is done setting the time (clicks the "Set" button), we update our member fields with + the new time and update our TextView.

      +
    12. +
    13. Finally, add the pad() method that we called from the updateDisplay(): +
      +private static String pad(int c) {
      +    if (c >= 10)
      +        return String.valueOf(c);
      +    else
      +        return "0" + String.valueOf(c);
      +}
      +
      +

      This method returns the appropriate String representation of the hour or minute. + It will prefix a zero to the number if it's a single digit. +

      +
    14. + +
    15. Now run it.
    16. +
    +

    When you press the "Change the time" button, you should see the following:

    + + +

    References

    +
      +
    1. {@link android.widget.TimePicker}
    2. +
    3. {@link android.widget.Button}
    4. +
    5. {@link android.widget.TextView}
    6. +
    7. {@link java.util.Calendar}
    8. +
    + diff --git a/docs/html/resources/tutorials/views/hello-webview.jd b/docs/html/resources/tutorials/views/hello-webview.jd new file mode 100644 index 0000000000000000000000000000000000000000..c4388ea6ff118f5fcf93e008d7d16f57e8521ae7 --- /dev/null +++ b/docs/html/resources/tutorials/views/hello-webview.jd @@ -0,0 +1,118 @@ +page.title=Hello, WebView +parent.title=Hello, Views +parent.link=index.html +@jd:body + +

    A {@link android.webkit.WebView} allows you to create your own web browser Activity. In this tutorial, +we'll create a simple Activity that can view web pages.

    + +
      +
    1. Create a new project/Activity called HelloWebView.
    2. +
    3. Open the layout file. Insert a WebView so it looks like so: +
      +<?xml version="1.0" encoding="utf-8"?>
      +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      +    android:layout_width="wrap_content"
      +    android:layout_height="wrap_content"
      +    android:orientation="vertical">
      +
      +    <WebView 
      +        android:id="@+id/webview"
      +        android:layout_width="fill_parent"
      +        android:layout_height="fill_parent"
      +    />
      +
      +</LinearLayout>
      +
    4. + +
    5. Now open the HelloWebView.java file. + At the top of the class, instantiate a WebView object: +
      WebView webview;
      +

      Then add the following at the end of the onCreate() method:

      +
      +webview = (WebView) findViewById(R.id.webview);
      +webview.getSettings().setJavaScriptEnabled(true);
      +webview.loadUrl("http://www.google.com");
      +
      + +

      This captures the WebView we created in our layout, then requests a + {@link android.webkit.WebSettings} object and enables JavaScript. + Then we load a URL.

    6. + +
    7. Because we're accessing the internet, we need to add the appropriate + permissions to the Android manifest file. So open the AndroidManifest.xml file + and, add the following as a child of the <manifest> element: + +
      <uses-permission android:name="android.permission.INTERNET" />
    8. + +
    9. Now run it.
    10. +
    +

    You now have the world's simplest web page viewer. + It's not quite a browser yet. It only loads the page we've requested.

    + +
    + +

    We can load a page, but as soon as we click a link, the default Android web browser +handles the Intent, instead of our own WebView handling the action. So now we'll +override the {@link android.webkit.WebViewClient} to enable us to handle our own URL loading.

    + +
      +
    1. In the HelloAndroid Activity, add this nested private class: +
      +private class HelloWebViewClient extends WebViewClient {
      +    @Override
      +    public boolean shouldOverrideUrlLoading(WebView view, String url) {
      +        view.loadUrl(url);
      +        return true;
      +    }
      +}
    2. + +
    3. Now, in the onCreate() method, set an instance of the HelloWebViewClient + as our WebViewClient: +
      webview.setWebViewClient(new WebViewClientDemo());
      + +

      This line should immediately follow the initialization of our WebView object.

      +

      What we've done is create a WebViewClient that will load any URL selected in our +WebView in the same WebView. You can see this in the shouldOverrideUrlLoading() +method, above—it is passed the current WebView and the URL, so all we do +is load the URL in the given view. Returning true says that we've handled the URL +ourselves and the event should not bubble-up.

      +

      If you try it again, new pages will now load in the HelloWebView Activity. However, you'll notice that +we can't navigate back. We need to handle the back button +on the device, so that it will return to the previous page, rather than exit the application.

      +
    4. + +
    5. To handle the back button key press, add the following method inside the HelloWebView +Activity: +
       
      +@Override
      +public boolean onKeyDown(int keyCode, KeyEvent event) {
      +    if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {
      +        webview.goBack();
      +        return true;
      +    }
      +    return super.onKeyDown(keyCode, event);
      +}
      +

      The condition uses a {@link android.view.KeyEvent} to check + whether the key pressed is the BACK button and whether the + WebView is actually capable of navigating back (if it has a history). If both are + not true, then we send the event up the chain (and the Activity will close). + But if both are true, then we call goBack(), + which will navigate back one step in the history. We then return true to indicate + that we've handled the event.

      +
    6. +
    +

    When you open the application, it should look like this:

    + + +

    Resource

    +
      +
    • {@link android.webkit.WebView}
    • +
    • {@link android.webkit.WebViewClient}
    • +
    • {@link android.view.KeyEvent}
    • +
    + + + + + diff --git a/docs/html/resources/tutorials/views/images/android.png b/docs/html/resources/tutorials/views/images/android.png new file mode 100755 index 0000000000000000000000000000000000000000..39a1ac729394b5f97674af47e2c04f37baf6be90 Binary files /dev/null and b/docs/html/resources/tutorials/views/images/android.png differ diff --git a/docs/html/resources/tutorials/views/images/androidmarker.png b/docs/html/resources/tutorials/views/images/androidmarker.png new file mode 100755 index 0000000000000000000000000000000000000000..8c43d4668218c55294e23d28b7f5872bc1dc2257 Binary files /dev/null and b/docs/html/resources/tutorials/views/images/androidmarker.png differ diff --git a/docs/html/resources/tutorials/views/images/hello-autocomplete.png b/docs/html/resources/tutorials/views/images/hello-autocomplete.png new file mode 100755 index 0000000000000000000000000000000000000000..e1fd80dfbf8b95560436fb3c63698a8cc8f54e5e Binary files /dev/null and b/docs/html/resources/tutorials/views/images/hello-autocomplete.png differ diff --git a/docs/html/resources/tutorials/views/images/hello-datepicker.png b/docs/html/resources/tutorials/views/images/hello-datepicker.png new file mode 100755 index 0000000000000000000000000000000000000000..2075066bfdc17e38f02d8705509dd337d2e59ef7 Binary files /dev/null and b/docs/html/resources/tutorials/views/images/hello-datepicker.png differ diff --git a/docs/html/resources/tutorials/views/images/hello-formstuff.png b/docs/html/resources/tutorials/views/images/hello-formstuff.png new file mode 100755 index 0000000000000000000000000000000000000000..3b4bf54d10dd1f88ae4a0ed73155d8586720a52f Binary files /dev/null and b/docs/html/resources/tutorials/views/images/hello-formstuff.png differ diff --git a/docs/html/resources/tutorials/views/images/hello-gallery.png b/docs/html/resources/tutorials/views/images/hello-gallery.png new file mode 100755 index 0000000000000000000000000000000000000000..22d1eaf6d145d8769e900143d3e11cc7999bf137 Binary files /dev/null and b/docs/html/resources/tutorials/views/images/hello-gallery.png differ diff --git a/docs/html/resources/tutorials/views/images/hello-gridview.png b/docs/html/resources/tutorials/views/images/hello-gridview.png new file mode 100755 index 0000000000000000000000000000000000000000..2def0df666a4490300b0e4310764d36849d4f972 Binary files /dev/null and b/docs/html/resources/tutorials/views/images/hello-gridview.png differ diff --git a/docs/html/resources/tutorials/views/images/hello-linearlayout.png b/docs/html/resources/tutorials/views/images/hello-linearlayout.png new file mode 100755 index 0000000000000000000000000000000000000000..dfef819ef9d188439eecbdea0e8ab2f4bc5a6882 Binary files /dev/null and b/docs/html/resources/tutorials/views/images/hello-linearlayout.png differ diff --git a/docs/html/resources/tutorials/views/images/hello-listview.png b/docs/html/resources/tutorials/views/images/hello-listview.png new file mode 100755 index 0000000000000000000000000000000000000000..a1cf7aa6e90b4664b24ea614a452112880addbc2 Binary files /dev/null and b/docs/html/resources/tutorials/views/images/hello-listview.png differ diff --git a/docs/html/resources/tutorials/views/images/hello-mapview.png b/docs/html/resources/tutorials/views/images/hello-mapview.png new file mode 100755 index 0000000000000000000000000000000000000000..0956760a39c345791fc0d52fc42a963a4edf4d0f Binary files /dev/null and b/docs/html/resources/tutorials/views/images/hello-mapview.png differ diff --git a/docs/html/resources/tutorials/views/images/hello-relativelayout.png b/docs/html/resources/tutorials/views/images/hello-relativelayout.png new file mode 100755 index 0000000000000000000000000000000000000000..ec4d9d44b0c6ff50035765b38d1ecdc301f0964f Binary files /dev/null and b/docs/html/resources/tutorials/views/images/hello-relativelayout.png differ diff --git a/docs/html/resources/tutorials/views/images/hello-spinner.png b/docs/html/resources/tutorials/views/images/hello-spinner.png new file mode 100755 index 0000000000000000000000000000000000000000..42e2a915cb47f1e21f2f69640c7a88aeaba2865a Binary files /dev/null and b/docs/html/resources/tutorials/views/images/hello-spinner.png differ diff --git a/docs/html/resources/tutorials/views/images/hello-tablelayout.png b/docs/html/resources/tutorials/views/images/hello-tablelayout.png new file mode 100755 index 0000000000000000000000000000000000000000..3d80e7f8a55a8a0d0388bfb122fa6be03634cade Binary files /dev/null and b/docs/html/resources/tutorials/views/images/hello-tablelayout.png differ diff --git a/docs/html/resources/tutorials/views/images/hello-tabwidget.png b/docs/html/resources/tutorials/views/images/hello-tabwidget.png new file mode 100644 index 0000000000000000000000000000000000000000..6a52356c8f9972b6d66eec8f8415aeda6792e7d6 Binary files /dev/null and b/docs/html/resources/tutorials/views/images/hello-tabwidget.png differ diff --git a/docs/html/resources/tutorials/views/images/hello-timepicker.png b/docs/html/resources/tutorials/views/images/hello-timepicker.png new file mode 100755 index 0000000000000000000000000000000000000000..bd5a1eeadaae59fd84601092564bee83f86feeb8 Binary files /dev/null and b/docs/html/resources/tutorials/views/images/hello-timepicker.png differ diff --git a/docs/html/resources/tutorials/views/images/hello-webview.png b/docs/html/resources/tutorials/views/images/hello-webview.png new file mode 100755 index 0000000000000000000000000000000000000000..283ce7d0f4d60591db9ae2d8c5646b034c16fcf0 Binary files /dev/null and b/docs/html/resources/tutorials/views/images/hello-webview.png differ diff --git a/docs/html/resources/tutorials/views/index.jd b/docs/html/resources/tutorials/views/index.jd new file mode 100644 index 0000000000000000000000000000000000000000..2cb5d3ab09f487b09a589c318cd88aff4bb04aeb --- /dev/null +++ b/docs/html/resources/tutorials/views/index.jd @@ -0,0 +1,118 @@ +page.title=Hello, Views +@jd:body + + + +

    This collection of "Hello World"-style tutorials is designed +to get you quickly started with common Android Views and widgets. The aim is to let you copy and paste +these kinds of boring bits so you can focus on developing the code that makes your Android application rock. +Of course, we'll discuss some of the given code so that it all makes sense.

    + +

    Note that a certain amount of knowledge is assumed for these tutorials. If you haven't +completed the Hello, World tutorial, +please do so—it will teach you many things you should know about basic +Android development and Eclipse features. More specifically, you should know:

    +
      +
    • How to create a new Android project.
    • +
    • The basic structure of an Android project (resource files, layout files, etc.).
    • +
    • The essential components of an {@link android.app.Activity}.
    • +
    • How to build and run a project.
    • +
    +

    Please, also notice that, in order to make these tutorials simple, some may +not convey the better Android coding practices. In particular, many of them +use hard-coded strings in the layout files—the better practice is to reference strings from +your strings.xml file.

    +

    With this knowledge, you're ready to begin, so take your pick.

    + +
    + + + + + + + + + +
    +Spinner
    + +
    + + +
    +ListView
    + +
    +
    +GridView
    + +
    + +
    +Gallery
    + +
    + +
    +TabWidget
    + +
    + +
    +MapView
    + +
    + +
    +WebView
    + +
    + + + +

    +There are plenty more Views and widgets available. See the {@link android.view.View} class +for more on View layouts, and the {@link android.widget widget package} +for more useful widgets. And for more raw code samples, visit the +Api Demos. +These can also be found offline, in /<sdk>/samples/ApiDemos.

    +
    + diff --git a/docs/html/robots.txt b/docs/html/robots.txt index 7046373e9570490b24e49000b5f385386695fee8..878996fb70423b00d297533bbdc00cc1e5c272a4 100644 --- a/docs/html/robots.txt +++ b/docs/html/robots.txt @@ -4,5 +4,12 @@ Disallow: /gae_shell/ Disallow: /assets/ Disallow: /images/ Disallow: /sdk/preview/ +Disallow: /sdk/1.0_r1/ +Disallow: /sdk/1.0_r2/ +Disallow: /sdk/1.1_r1/ +Disallow: /sdk/1.5_r1/ +Disallow: /sdk/1.5_r2/ +Disallow: /sdk/1.5_r3/ +Disallow: /sdk/1.6_r1/ Disallow: /shareables/ Sitemap: http://developer.android.com/sitemap.txt diff --git a/docs/html/samples/index.jd b/docs/html/samples/index.jd deleted file mode 100644 index 06afd07f8ded724734f39b48029ae10dec3f9b66..0000000000000000000000000000000000000000 --- a/docs/html/samples/index.jd +++ /dev/null @@ -1,22 +0,0 @@ -page.title=Android SDK -page.onlyfortemplate=codesite -@jd:body -

    Sample Code

    - -

    The Android SDK ships with several sample projects. They are:

    - -
    -
    API Demos
    -
    A demonstration of many of the Android APIs.
    - -
    Lunar Lander
    -
    Your objective: to land on the moon.
    - -
    Note Pad
    -
    A simple note pad application.
    -
    - -

    To run these samples, you should import them into -Eclipse or build them with Ant, as described in -Developing in Other IDEs.

    diff --git a/docs/html/sdk/1.0_r1/index.jd b/docs/html/sdk/1.0_r1/index.jd index 6ef860f539513b8f837805a602c823cd8fcee17e..b380483311915d15e7fb4598eaf92876a29cf4ed 100644 --- a/docs/html/sdk/1.0_r1/index.jd +++ b/docs/html/sdk/1.0_r1/index.jd @@ -1,68 +1,5 @@ page.title=Android 1.0 SDK, release 1 - -sdk.not_latest_version=true - -sdk.version=1.0_r1 -sdk.date=September 23, 2008 - -sdk.win_download=android-sdk-windows-1.0_r1.zip -sdk.win_bytes=89.7 MB -sdk.win_checksum=d69f4ee93d4010f726c04302662fd999 - -sdk.mac_download=android-sdk-mac_x86-1.0_r1.zip -sdk.mac_bytes=87.5 MB -sdk.mac_checksum=564876ada22872e50c2866806de9fc5c - -sdk.linux_download=android-sdk-linux_x86-1.0_r1.zip -sdk.linux_bytes=87.8 MB -sdk.linux_checksum=2660b4029039b7d714e59827e9a9a11d - +sdk.redirect=true +sdk.redirect.path=index.html @jd:body - -

    For more information on this SDK release, read the -Release Notes.

    - -

    Included in this SDK

    - -

    Development tools

    - -

    The SDK includes a variety of tools for developing and debugging application code and designing -an application UI. You can read about the tools in the documentation included with the SDK. -You can access the tools in the <sdk>/tools/ directory.

    - -

    System Images

    - -

    The Android system images listed below are included in this SDK.

    - - - - - - - - - - - - - - -
    System ImageAPI LevelNotesDescription
    Android 1.01N/AIncludes the {@code com.google.android.maps} external library and a set of standard development -applications.
    - -

    Sample Code and Applications

    - -

    You can look at a variety of tutorials and samples in the -documentation included with the SDK and access the sample code itself -in the <sdk>/samples/ directory of the SDK package.

    - -

    Documentation

    - -

    The SDK package provides a full set of local documentation, including installation and upgrade -instructions. To view it, open the <sdk>/documentation.html file in a web browser. -If you are developing in an IDE such as Eclipse, you can also view the reference documentation -directly in the IDE.

    - - - diff --git a/docs/html/sdk/1.0_r1/installing.jd b/docs/html/sdk/1.0_r1/installing.jd index 8ac524c443639238d3c0df95dd5a74c35e15659e..2ea04e4687546c55e17f6c69baea7cb70454f568 100644 --- a/docs/html/sdk/1.0_r1/installing.jd +++ b/docs/html/sdk/1.0_r1/installing.jd @@ -1,221 +1,8 @@ -page.title=Installing the SDK -sdk.version=1.0_r1 @jd:body -

    For the current SDK release, see the links under Current SDK Release in the side navigation.

    + -

    This page describes how to install the Android 1.0 SDK, Release 1, and set up your development environment. -If you haven't downloaded the SDK yet, you can so from the Download page.

    - -

    Before you begin, be sure that your development environment meets the SDK -System Requirements. If you encounter any problems during installation, -see the Installation Notes at the bottom of this page.

    - -

    Upgrading?

    -

    If you have already developed applications using an earlier version of the -SDK, please skip this page and read the -Upgrading the SDK document instead. -

    - - - -

    Installing the SDK

    - -

    After downloading the SDK, unpack the .zip archive to a suitable location on your machine. By default, the SDK files are unpacked into a directory named android_sdk_<platform>_<release>_<build>. The directory contains a link to a local copy of the documentation and the subdirectories tools/, samples/, and others.

    - -

    Make a note of the name and location of the unpacked SDK directory on your system — you will need to refer to the SDK directory later, when setting up the Android plugin or using SDK tools.

    - -

    Optionally, you can add the path to the SDK tools directory to your path. As mentioned above, the tools/ directory is located in the SDK directory.

    -
      -
    • On Linux, edit your ~/.bash_profile or ~/.bashrc file. Look - for a line that sets the PATH environment variable and add the - full path to the tools/ directory to it. If you don't - see a line setting the path, you can add one:
    • - -
        export PATH=${PATH}:<your_sdk_dir>/tools
      - -
    • On a Mac, look in your home directory for .bash_profile and - proceed as for Linux. You can create the .bash_profile, if - you haven't already set one up on your machine.
    • - -
    • On Windows, right click on My Computer, and select Properties. - Under the Advanced tab, hit the Environment Variables button, and in the - dialog that comes up, double-click on Path under System Variables. Add the full path to the tools/ directory to the path.
    • -
    - -

    Adding tools to your path lets you run Android Debug Bridge (adb) and the other command line tools without needing to supply the full path to the tools directory. Note that, if you update your SDK, you should remember to update your PATH settings to point to the new location, if different.

    - - -

    If you will be using the Eclipse IDE as your environment for developing Android applications, continue reading the next -section in order to install the Android Development Tools plugin and setup Eclipse. If you choose not to use Eclipse, you can -develop Android applications using other tools — read the guide to developing -In other IDEs.

    - - -

    Setting up Eclipse

    - -

    First, you should install a custom plugin called Android Development Tools (ADT), which adds integrated support for Android projects and tools. The ADT plugin includes a variety of powerful extensions that make creating, running, and debugging Android applications faster and easier. Developing in ADT/Eclipse is highly recommended for Eclipse users and those new to Android.

    - -

    To download and install the ADT plugin, follow the steps below for your respective Eclipse version.

    - - - - - - - -
    Eclipse 3.3 (Europa)Eclipse 3.4 (Ganymede)
    -
      -
    1. Start Eclipse, then select Help > Software Updates > Find - and Install....
    2. - -
    3. In the dialog that appears, select Search for new features to install and click Next.
    4. -
    5. Click New Remote Site.
    6. -
    7. In the resulting dialog box, enter a name for the remote site (e.g. Android Plugin) and enter this as its URL: -
      https://dl-ssl.google.com/android/eclipse/
      -

      Alternatively, you can use http in the Location URL, if you are having - trouble with https (https is preferred for security reasons).

      -
      http://dl-ssl.google.com/android/eclipse/
      -

      Click OK.

    8. -
    9. You should now see the new site added to the search list (and checked). - Click Finish.
    10. -
    11. In the subsequent Search Results dialog box, select the checkbox for - Android Plugin > Developer Tools. - This will check both features: "Android Developer Tools", and "Android - Editors". The Android Editors feature is optional, but recommended. If - you choose to install it, you need the WST plugin mentioned earlier in this - page. Click Next.
    12. -
    13. Read the license agreement and then select Accept terms of the license agreement. - Click Next.
    14. -
    15. Click Finish.
    16. - -
    17. The ADT plugin is not signed; you can accept the installation anyway - by clicking Install All.
    18. -
    19. Restart Eclipse.
    20. -
    - -
    - -
      -
    1. Start Eclipse, then select Help > Software Updates.... -
    2. -
    3. In the dialog that appears, click the Available Software tab. -
    4. -
    5. Click Add Site... -
    6. -
    7. Enter this as the Location: -
      https://dl-ssl.google.com/android/eclipse/
      -

      Alternatively, you can use http in the Location URL, if you are having - trouble with https (https is preferred for security reasons).

      -
      http://dl-ssl.google.com/android/eclipse/
      -

      Click OK.

    8. -
    9. Back in the Available Software view, you should see the plugin. Select the checkbox next to - Developer Tools and click Install... -
    10. -
    11. On the subsequent Install window, "Android Developer Tools", and "Android Editors" should both be checked. - The Android Editors feature is optional, but recommended. If - you choose to install it, you need the WST plugin mentioned earlier in this - page. Click Next. -
    12. -
    13. Accept the license agreement and click Finish.
    14. -
    15. Restart Eclipse.
    16. -
    - -
    - - -

    Now, you just need to modify your Eclipse preferences to point to the Android SDK directory:

    -
      -
    1. Select Window > Preferences... to open the Preferences - panel. (Mac OS X: Eclipse > Preferences)
    2. -
    3. Select Android from the left panel.
    4. -
    5. For the SDK Location in the main panel, click Browse... and locate the SDK directory.
    6. -
    7. Click Apply, then OK.
    8. -
    - -

    Done! If you haven't encountered any problems, then you're ready to begin developing Android applications. -We recommend you begin with the Hello World tutorial, -which will teach you some basics about Android applications and how to create projects using Eclipse.

    - - -

    Troubleshooting ADT Installation

    -

    -If you are having trouble downloading the ADT plugin after following the steps above, here are some suggestions:

    - -
      -
    • If Eclipse can not find the remote update site containing the ADT plugin, try changing the remote site URL to use http, rather than https. That is, set the Location for the remote site to: -
      http://dl-ssl.google.com/android/eclipse/
    • -
    • If you are behind a firewall (such as a corporate firewall), make - sure that you have properly configured your proxy settings in Eclipse. - In Eclipse 3.3/3.4, you can configure proxy information from the main - Eclipse menu in Window (on Mac, Eclipse) > Preferences > General > Network Connections.
    • -
    -

    -If you are still unable to use Eclipse to download the ADT plugin as a remote update site, you can download the ADT files to your local machine using a browser and the install the files in Eclipse from there: -

    -
      -
    1. Download the ADT zip file (do not unpack it). -
    2. Follow steps 1 and 2 in the default install instructions (above). -
    3. In Eclipse 3.3, click New Archive Site....
      - In Eclipse 3.4, click Add Site..., then Archive... -
    4. Browse and select the downloaded the zip file. -
    5. Follow the remaining procedures, above, starting from steps 5. -
    -

    -Note that to update your plugin, you will have to follow these steps again instead of the default update instructions.

    - -

    Note that the "Android Editors" feature of ADT requires several optional -Eclipse components (for example, WST). If you encounter an error when -installing ADT, your Eclipse installion might not include those components. -For information about how to quickly add the necessary components to your -Eclipse installation, see the troubleshooting topic -ADT Installation Error: "requires plug-in org.eclipse.wst.sse.ui".

    - -

    For Linux users

    -

    If you encounter this error when installing the ADT Plugin for Eclipse: -

    -An error occurred during provisioning.
    -Cannot connect to keystore.
    -JKS
    -

    -...then your development machine lacks a suitable Java VM. Installing Sun -Java 6 will resolve this issue and you can then reinstall the ADT -Plugin.

    - - -

    Installation Notes

    -

    Ubuntu Linux Notes

    -
      -
    • If you need help installing and configuring Java on your -development machine, you might find these resources helpful: - -
    • -
    • Here are the steps to install Java and Eclipse, prior to installing -the Android SDK and ADT Plugin. -
        -
      1. If you are running a 64-bit distribution on your development -machine, you need to install the ia32-libs package using -apt-get:: -
        apt-get install ia32-libs
      2. -
      3. Next, install Java: -
        apt-get install sun-java6-bin
      4. -
      5. The Ubuntu package manager does not currently offer an Eclipse 3.3 - version for download, so we recommend that you download Eclipse from -eclipse.org (http://www.eclipse.org/ -downloads/). A Java or RCP version of Eclipse is recommended.
      6. -
      7. Follow the steps given in previous sections to install the SDK -and the ADT plugin.
      8. -
      -
    -

    Other Linux Notes

    -
      -
    • If JDK is already installed on your development computer, please -take a moment to make sure that it meets the version requirements listed -at the top of this page. In particular, note that some Linux -distributions may include JDK 1.4 or Gnu Compiler for Java, both of -which are not supported for Android development.
    • -
    +

    You should have already been redirected by your browser. Please go to +Installing the Android SDK.

    \ No newline at end of file diff --git a/docs/html/sdk/1.0_r1/requirements.jd b/docs/html/sdk/1.0_r1/requirements.jd index 4163513174c23ad8fe81758eeacc478eba6ec1cc..96fdcb26f6facd53064fc5a63456960b1f811d12 100644 --- a/docs/html/sdk/1.0_r1/requirements.jd +++ b/docs/html/sdk/1.0_r1/requirements.jd @@ -1,51 +1,8 @@ -page.title=System Requirements -sdk.version=1.0_r1 - - @jd:body -

    The sections below describe the system and software requirements for -developing Android applications using the Android SDK tools included in Android 1.0 SDK, Release 1.

    - -

    System and Software Requirements

    -

    The following systems and development environments are supported by this SDK.

    - -

    Supported Operating Systems:

    -
      -
    • Windows XP or Vista
    • -
    • Mac OS X 10.4.8 or later (x86 only)
    • -
    • Linux (tested on Linux Ubuntu Dapper Drake) -
        -
      • 64-bit distributions must be capable of running 32-bit applications. - For information about how to add support for 32-bit applications, see - the Installation Notes.
      • -
      -
    • -
    - -

    Supported Development Environments:

    -
      -
    • Eclipse IDE - -
    • -
    • Other development environments or IDEs -
        -
      • JDK 5 or JDK 6 (JRE alone is not sufficient)
      • -
      • Apache Ant 1.6.5 or later for Linux and Mac, 1.7 or later for Windows
      • -
      • Not compatible with Gnu Compiler for Java (gcj)
      • -
      -
    • -
    + -

    Note: If JDK is already installed on your development computer, please take a moment to make sure that it meets the version requirements listed above. In -particular, note that some Linux distributions may include JDK 1.4 or Gnu Compiler for Java, both of which are not supported for Android development.

    \ No newline at end of file +

    You should have already been redirected by your browser. Please go to +System Requirements.

    \ No newline at end of file diff --git a/docs/html/sdk/1.0_r2/index.jd b/docs/html/sdk/1.0_r2/index.jd index a1989ba93939ebbfa9ca64f8a1e607074bc7c7ef..c29c148a48618cb3d54495b0fb6581b0679414a8 100644 --- a/docs/html/sdk/1.0_r2/index.jd +++ b/docs/html/sdk/1.0_r2/index.jd @@ -1,68 +1,5 @@ page.title=Android 1.0 SDK, release 2 - -sdk.not_latest_version=true - -sdk.version=1.0_r2 -sdk.date=November 2008 - -sdk.win_download=android-sdk-windows-1.0_r2.zip -sdk.win_bytes=98360564 -sdk.win_checksum=a5e1af8ac145946b4a9627516ad4a711 - -sdk.mac_download=android-sdk-mac_x86-1.0_r2.zip -sdk.mac_bytes=93771410 -sdk.mac_checksum=87b99d5e9f59b78363a63200c11498e8 - -sdk.linux_download=android-sdk-linux_x86-1.0_r2.zip -sdk.linux_bytes=94186463 -sdk.linux_checksum=a1f3b6d854596f850f5008856d0f380e - +sdk.redirect=true +sdk.redirect.path=index.html @jd:body - -

    For more information on this SDK release, read the -Release Notes.

    - -

    Included in this SDK

    - -

    Development tools

    - -

    The SDK includes a variety of tools for developing and debugging application code and designing -an application UI. You can read about the tools in the documentation included with the SDK. -You can access the tools in the <sdk>/tools/ directory.

    - -

    System Images

    - -

    The Android system images listed below are included in this SDK.

    - - - - - - - - - - - - - - -
    System ImageAPI LevelNotesDescription
    Android 1.01N/AIncludes the {@code com.google.android.maps} external library and a set of standard development -applications.
    - -

    Sample Code and Applications

    - -

    You can look at a variety of tutorials and samples in the -documentation included with the SDK and access the sample code itself -in the <sdk>/samples/ directory of the SDK package.

    - -

    Documentation

    - -

    The SDK package provides a full set of local documentation, including installation and upgrade -instructions. To view it, open the <sdk>/documentation.html file in a web browser. -If you are developing in an IDE such as Eclipse, you can also view the reference documentation -directly in the IDE.

    - - - diff --git a/docs/html/sdk/1.0_r2/installing.jd b/docs/html/sdk/1.0_r2/installing.jd index 2c58dfd9ad794467f162bdbdfad293344b99c524..2ea04e4687546c55e17f6c69baea7cb70454f568 100644 --- a/docs/html/sdk/1.0_r2/installing.jd +++ b/docs/html/sdk/1.0_r2/installing.jd @@ -1,221 +1,8 @@ -page.title=Installing the SDK -sdk.version=1.0_r2 @jd:body -

    For the current SDK release, see the links under Current SDK Release in the side navigation.

    + -

    This page describes how to install the Android 1.0 SDK, Release 2, and set up your development environment. -If you haven't downloaded the SDK yet, you can so from the Download page.

    - -

    Before you begin, be sure that your development environment meets the SDK -System Requirements. If you encounter any problems during installation, -see the Installation Notes at the bottom of this page.

    - -

    Upgrading?

    -

    If you have already developed applications using an earlier version of the -SDK, please skip this page and read the -Upgrading the SDK document instead. -

    - - - -

    Installing the SDK

    - -

    After downloading the SDK, unpack the .zip archive to a suitable location on your machine. By default, the SDK files are unpacked into a directory named android_sdk_<platform>_<release>_<build>. The directory contains a link to a local copy of the documentation and the subdirectories tools/, samples/, and others.

    - -

    Make a note of the name and location of the unpacked SDK directory on your system — you will need to refer to the SDK directory later, when setting up the Android plugin or using SDK tools.

    - -

    Optionally, you can add the path to the SDK tools directory to your path. As mentioned above, the tools/ directory is located in the SDK directory.

    -
      -
    • On Linux, edit your ~/.bash_profile or ~/.bashrc file. Look - for a line that sets the PATH environment variable and add the - full path to the tools/ directory to it. If you don't - see a line setting the path, you can add one:
    • - -
        export PATH=${PATH}:<your_sdk_dir>/tools
      - -
    • On a Mac, look in your home directory for .bash_profile and - proceed as for Linux. You can create the .bash_profile, if - you haven't already set one up on your machine.
    • - -
    • On Windows, right click on My Computer, and select Properties. - Under the Advanced tab, hit the Environment Variables button, and in the - dialog that comes up, double-click on Path under System Variables. Add the full path to the tools/ directory to the path.
    • -
    - -

    Adding tools to your path lets you run Android Debug Bridge (adb) and the other command line tools without needing to supply the full path to the tools directory. Note that, if you update your SDK, you should remember to update your PATH settings to point to the new location, if different.

    - - -

    If you will be using the Eclipse IDE as your environment for developing Android applications, continue reading the next -section in order to install the Android Development Tools plugin and setup Eclipse. If you choose not to use Eclipse, you can -develop Android applications using other tools — read the guide to developing -In other IDEs.

    - - -

    Setting up Eclipse

    - -

    First, you should install a custom plugin called Android Development Tools (ADT), which adds integrated support for Android projects and tools. The ADT plugin includes a variety of powerful extensions that make creating, running, and debugging Android applications faster and easier. Developing in ADT/Eclipse is highly recommended for Eclipse users and those new to Android.

    - -

    To download and install the ADT plugin, follow the steps below for your respective Eclipse version.

    - - - - - - - -
    Eclipse 3.3 (Europa)Eclipse 3.4 (Ganymede)
    -
      -
    1. Start Eclipse, then select Help > Software Updates > Find - and Install....
    2. - -
    3. In the dialog that appears, select Search for new features to install and click Next.
    4. -
    5. Click New Remote Site.
    6. -
    7. In the resulting dialog box, enter a name for the remote site (e.g. Android Plugin) and enter this as its URL: -
      https://dl-ssl.google.com/android/eclipse/
      -

      Alternatively, you can use http in the Location URL, if you are having - trouble with https (https is preferred for security reasons).

      -
      http://dl-ssl.google.com/android/eclipse/
      -

      Click OK.

    8. -
    9. You should now see the new site added to the search list (and checked). - Click Finish.
    10. -
    11. In the subsequent Search Results dialog box, select the checkbox for - Android Plugin > Developer Tools. - This will check both features: "Android Developer Tools", and "Android - Editors". The Android Editors feature is optional, but recommended. If - you choose to install it, you need the WST plugin mentioned earlier in this - page. Click Next.
    12. -
    13. Read the license agreement and then select Accept terms of the license agreement. - Click Next.
    14. -
    15. Click Finish.
    16. - -
    17. The ADT plugin is not signed; you can accept the installation anyway - by clicking Install All.
    18. -
    19. Restart Eclipse.
    20. -
    - -
    - -
      -
    1. Start Eclipse, then select Help > Software Updates.... -
    2. -
    3. In the dialog that appears, click the Available Software tab. -
    4. -
    5. Click Add Site... -
    6. -
    7. Enter this as the Location: -
      https://dl-ssl.google.com/android/eclipse/
      -

      Alternatively, you can use http in the Location URL, if you are having - trouble with https (https is preferred for security reasons).

      -
      http://dl-ssl.google.com/android/eclipse/
      -

      Click OK.

    8. -
    9. Back in the Available Software view, you should see the plugin. Select the checkbox next to - Developer Tools and click Install... -
    10. -
    11. On the subsequent Install window, "Android Developer Tools", and "Android Editors" should both be checked. - The Android Editors feature is optional, but recommended. If - you choose to install it, you need the WST plugin mentioned earlier in this - page. Click Next. -
    12. -
    13. Accept the license agreement and click Finish.
    14. -
    15. Restart Eclipse.
    16. -
    - -
    - - -

    Now, you just need to modify your Eclipse preferences to point to the Android SDK directory:

    -
      -
    1. Select Window > Preferences... to open the Preferences - panel. (Mac OS X: Eclipse > Preferences)
    2. -
    3. Select Android from the left panel.
    4. -
    5. For the SDK Location in the main panel, click Browse... and locate the SDK directory.
    6. -
    7. Click Apply, then OK.
    8. -
    - -

    Done! If you haven't encountered any problems, then you're ready to begin developing Android applications. -We recommend you begin with the Hello World tutorial, -which will teach you some basics about Android applications and how to create projects using Eclipse.

    - - -

    Troubleshooting ADT Installation

    -

    -If you are having trouble downloading the ADT plugin after following the steps above, here are some suggestions:

    - -
      -
    • If Eclipse can not find the remote update site containing the ADT plugin, try changing the remote site URL to use http, rather than https. That is, set the Location for the remote site to: -
      http://dl-ssl.google.com/android/eclipse/
    • -
    • If you are behind a firewall (such as a corporate firewall), make - sure that you have properly configured your proxy settings in Eclipse. - In Eclipse 3.3/3.4, you can configure proxy information from the main - Eclipse menu in Window (on Mac, Eclipse) > Preferences > General > Network Connections.
    • -
    -

    -If you are still unable to use Eclipse to download the ADT plugin as a remote update site, you can download the ADT files to your local machine using a browser and the install the files in Eclipse from there: -

    -
      -
    1. Download the ADT zip file (do not unpack it). -
    2. Follow steps 1 and 2 in the default install instructions (above). -
    3. In Eclipse 3.3, click New Archive Site....
      - In Eclipse 3.4, click Add Site..., then Archive... -
    4. Browse and select the downloaded the zip file. -
    5. Follow the remaining procedures, above, starting from steps 5. -
    -

    -Note that to update your plugin, you will have to follow these steps again instead of the default update instructions.

    - -

    Note that the "Android Editors" feature of ADT requires several optional -Eclipse components (for example, WST). If you encounter an error when -installing ADT, your Eclipse installion might not include those components. -For information about how to quickly add the necessary components to your -Eclipse installation, see the troubleshooting topic -ADT Installation Error: "requires plug-in org.eclipse.wst.sse.ui".

    - -

    For Linux users

    -

    If you encounter this error when installing the ADT Plugin for Eclipse: -

    -An error occurred during provisioning.
    -Cannot connect to keystore.
    -JKS
    -

    -...then your development machine lacks a suitable Java VM. Installing Sun -Java 6 will resolve this issue and you can then reinstall the ADT -Plugin.

    - - -

    Installation Notes

    -

    Ubuntu Linux Notes

    -
      -
    • If you need help installing and configuring Java on your -development machine, you might find these resources helpful: - -
    • -
    • Here are the steps to install Java and Eclipse, prior to installing -the Android SDK and ADT Plugin. -
        -
      1. If you are running a 64-bit distribution on your development -machine, you need to install the ia32-libs package using -apt-get:: -
        apt-get install ia32-libs
      2. -
      3. Next, install Java: -
        apt-get install sun-java6-bin
      4. -
      5. The Ubuntu package manager does not currently offer an Eclipse 3.3 - version for download, so we recommend that you download Eclipse from -eclipse.org (http://www.eclipse.org/ -downloads/). A Java or RCP version of Eclipse is recommended.
      6. -
      7. Follow the steps given in previous sections to install the SDK -and the ADT plugin.
      8. -
      -
    -

    Other Linux Notes

    -
      -
    • If JDK is already installed on your development computer, please -take a moment to make sure that it meets the version requirements listed -at the top of this page. In particular, note that some Linux -distributions may include JDK 1.4 or Gnu Compiler for Java, both of -which are not supported for Android development.
    • -
    +

    You should have already been redirected by your browser. Please go to +Installing the Android SDK.

    \ No newline at end of file diff --git a/docs/html/sdk/1.0_r2/requirements.jd b/docs/html/sdk/1.0_r2/requirements.jd index 4f7c093cad5f3455ca301d756cfe93323a139bdd..96fdcb26f6facd53064fc5a63456960b1f811d12 100644 --- a/docs/html/sdk/1.0_r2/requirements.jd +++ b/docs/html/sdk/1.0_r2/requirements.jd @@ -1,50 +1,8 @@ -page.title=System Requirements -sdk.version=1.0_r2 - - @jd:body -

    The sections below describe the system and software requirements for developing Android applications using the Android SDK tools included in Android 1.0 SDK, Release 2.

    - -

    System and Software Requirements

    -

    The following systems and development environments are supported by this SDK.

    - -

    Supported Operating Systems:

    -
      -
    • Windows XP or Vista
    • -
    • Mac OS X 10.4.8 or later (x86 only)
    • -
    • Linux (tested on Linux Ubuntu Dapper Drake) -
        -
      • 64-bit distributions must be capable of running 32-bit applications. - For information about how to add support for 32-bit applications, see - the Installation Notes.
      • -
      -
    • -
    - -

    Supported Development Environments:

    -
      -
    • Eclipse IDE - -
    • -
    • Other development environments or IDEs -
        -
      • JDK 5 or JDK 6 (JRE alone is not sufficient)
      • -
      • Apache Ant 1.6.5 or later for Linux and Mac, 1.7 or later for Windows
      • -
      • Not compatible with Gnu Compiler for Java (gcj)
      • -
      -
    • -
    + -

    Note: If JDK is already installed on your development computer, please take a moment to make sure that it meets the version requirements listed above. In -particular, note that some Linux distributions may include JDK 1.4 or Gnu Compiler for Java, both of which are not supported for Android development.

    \ No newline at end of file +

    You should have already been redirected by your browser. Please go to +System Requirements.

    \ No newline at end of file diff --git a/docs/html/sdk/1.1_r1/index.jd b/docs/html/sdk/1.1_r1/index.jd index f6582162fb919ef94f8a2019197e409684e94c68..63fe51d759a7f7c91b7d225c4910c8ec0692016a 100644 --- a/docs/html/sdk/1.1_r1/index.jd +++ b/docs/html/sdk/1.1_r1/index.jd @@ -1,66 +1,5 @@ page.title=Android 1.1 SDK, Release 1 - -sdk.not_latest_version=true -sdk.version=1.1_r1 -sdk.date=February 2009 - -sdk.win_download=android-sdk-windows-1.1_r1.zip -sdk.win_bytes=86038515 -sdk.win_checksum=8c4b9080b430025370689e03d20842f3 - -sdk.mac_download=android-sdk-mac_x86-1.1_r1.zip -sdk.mac_bytes=79046151 -sdk.mac_checksum=becf0f1763d61eedce15d2a903d6c1dd - -sdk.linux_download=android-sdk-linux_x86-1.1_r1.zip -sdk.linux_bytes=79345522 -sdk.linux_checksum=ebcb16b0cd4aef198b4dd9a1418efbf1 - +sdk.redirect=true +sdk.redirect.path=index.html @jd:body - -

    For more information on this SDK release, read the -Release Notes.

    - -

    SDK Contents

    - -

    Development tools

    - -

    The SDK includes a variety of tools for developing and debugging application code and designing an application UI. You can read about the tools in the -Dev Guide and access them in the <sdk>/tools/ directory. - -

    The tools package included in this SDK is the same as that included in the Android 1.0, Release 2 SDK.

    - -

    System Images

    - -

    The Android system images listed below are included in this SDK. For more information about a system image — features, applications included, localizations, API changes, and so on — see its Version Notes.

    - - - - - - - - - - - - - - -
    System ImageAPI LevelNotesDescription
    Android 1.12Version NotesIncludes com.google.android.maps external library and a set of standard development applications.
    - -

    Sample Code and Applications

    - -

    You can look at a variety of tutorials and samples in the Dev Guide and access the sample code itself -in the <sdk>/samples/ directory of the SDK package.

    - -

    Documentation

    - -

    The SDK package includes a full set of local documentation. To view it, open the <sdk>/documentation.html file in a web browser. If you are developing in an IDE such as Eclipse, you can also view the reference documentation directly in the IDE.

    - -

    The most current documentation is always available on the Android Developers site:

    - -

    http://developer.android.com/

    - - diff --git a/docs/html/sdk/1.1_r1/installing.jd b/docs/html/sdk/1.1_r1/installing.jd index 2da24799f95b8eff28e94d8d5e3fff58bb7b9915..2ea04e4687546c55e17f6c69baea7cb70454f568 100644 --- a/docs/html/sdk/1.1_r1/installing.jd +++ b/docs/html/sdk/1.1_r1/installing.jd @@ -1,312 +1,8 @@ -page.title=Installing the Android SDK -sdk.version=1.1_r1 - @jd:body + -

    This page describes how to install the Android SDK and set up your -development environment. If you haven't downloaded the SDK, you can -do so from the -Download page.

    - -

    If you encounter any problems during installation, see the -Installation Notes at the bottom of -this page.

    - -

    Upgrading?

    -

    If you have already developed applications using an earlier version -of the SDK, please skip this page and read the -Upgrading the -SDK document instead. -

    - - -

    Preparing for Installation

    - -

    Before you get started with the Android SDK, take a moment to confirm -that your development machine meets the system requirements. -

    - -

    If you will be developing on Eclipse with the Android Development -Tools (ADT) Plugin — the recommended path if you are new to -Android — make sure that you have a suitable version of Eclipse -installed on your computer. If you need to install Eclipse, you can -download it from this location:

    - -

    http://www.eclipse.org/downloads/

    - -

    A Java or RCP version of Eclipse is recommended.

    - -

    Installing the SDK

    - -

    After downloading the SDK, unpack the .zip archive to a suitable location on your machine. By default, the SDK files are unpacked into a directory named android_sdk_<platform>_<release>_<build>. The directory contains a link to a local copy of the documentation and the subdirectories tools/, samples/, and others.

    - -

    Make a note of the name and location of the unpacked SDK directory on your system — you will need to refer to the SDK directory later, when setting up the Android plugin or using SDK tools.

    - -

    Optionally, you can add the path to the SDK tools directory to your path. As mentioned above, the tools/ directory is located in the SDK directory.

    -
      -
    • On Linux, edit your ~/.bash_profile or ~/.bashrc file. Look - for a line that sets the PATH environment variable and add the - full path to the tools/ directory to it. If you don't - see a line setting the path, you can add one:
    • - -
        export PATH=${PATH}:<your_sdk_dir>/tools
      - -
    • On a Mac, look in your home directory for .bash_profile and - proceed as for Linux. You can create the .bash_profile, if - you haven't already set one up on your machine.
    • - -
    • On Windows, right click on My Computer, and select Properties. - Under the Advanced tab, hit the Environment Variables button, and in the - dialog that comes up, double-click on Path under System Variables. Add the full path to the tools/ directory to the path.
    • -
    - -

    Adding tools to your path lets you run Android Debug Bridge (adb) and the other command line tools without needing to supply the full path to the tools directory. Note that, if you update your SDK, you should remember to update your PATH settings to point to the new location, if different.

    - - -

    If you will be using the Eclipse IDE as your environment for developing Android applications, continue reading the next -section in order to install the Android Development Tools plugin and set up Eclipse. If you choose not to use Eclipse, you can -develop Android applications using other tools — read the guide to developing -in other IDEs.

    - - -

    Installing the ADT Plugin for Eclipse

    - -

    Android offers a custom plugin for the Eclipse IDE, called Android -Development Tools (ADT), that is designed to give you a powerful, -integrated environment in which to build Android applications. It -extends the capabilites of Eclipse to let you quickly set up new Android -projects, create an application UI, add components based on the Android -Framework API, and debug using the Android SDK tools.

    - -

    If you are new to Android or want to develop using the Eclipse IDE, -the ADT plugin will be an essential part of your development -environment. In general, using Eclipse with ADT is a highly recommended -approach and is the fastest way to get started. This section describes -how to install ADT into your Eclipse environment. - -

    If you prefer to work in a development environment other than Eclipse, -you do not need to install Eclipse or the ADT Plugin. Instead, you can -access the SDK tools directly to build and debug your application.

    - -

    Once you have Eclipse installed, as described in -Preparing for Installation, follow the steps below to -download the ADT plugin and install it in your respective Eclipse -environment.

    - - - - - - - -
    Eclipse 3.3 (Europa)Eclipse 3.4 (Ganymede)
    -
      -
    1. Start Eclipse, then select Help > Software Updates > Find - and Install....
    2. - -
    3. In the dialog that appears, select Search for new features to install and click Next.
    4. -
    5. Click New Remote Site.
    6. -
    7. In the resulting dialog box, enter a name for the remote site (e.g. Android Plugin) and enter this as its URL: -
      https://dl-ssl.google.com/android/eclipse/
      -

      Alternatively, you can use http in the Location URL, if you are having - trouble with https (https is preferred for security reasons).

      -
      http://dl-ssl.google.com/android/eclipse/
      -

      Click OK.

    8. -
    9. You should now see the new site added to the search list (and checked). - Click Finish.
    10. -
    11. In the subsequent Search Results dialog box, select the checkbox for - Android Plugin > Developer Tools. - This will check both features: "Android Developer Tools", and "Android - Editors". The Android Editors feature is optional, but recommended. If - you choose to install it, you need the WST plugin mentioned earlier in this - page. Click Next.
    12. -
    13. Read the license agreement and then select Accept terms of the license agreement. - Click Next.
    14. -
    15. Click Finish.
    16. - -
    17. The ADT plugin is not signed; you can accept the installation anyway - by clicking Install All.
    18. -
    19. Restart Eclipse.
    20. -
    - -
    - -
      -
    1. Start Eclipse, then select Help > Software Updates.... -
    2. -
    3. In the dialog that appears, click the Available Software tab. -
    4. -
    5. Click Add Site... -
    6. -
    7. Enter this as the Location: -
      https://dl-ssl.google.com/android/eclipse/
      -

      Alternatively, you can use http in the Location URL, if you are having - trouble with https (https is preferred for security reasons).

      -
      http://dl-ssl.google.com/android/eclipse/
      -

      Click OK.

    8. -
    9. Back in the Available Software view, you should see the plugin. Select the checkbox next to - Developer Tools and click Install... -
    10. -
    11. On the subsequent Install window, "Android Developer Tools", and "Android Editors" should both be checked. - The Android Editors feature is optional, but recommended. If - you choose to install it, you need the WST plugin mentioned earlier in this - page. Click Next. -
    12. -
    13. Accept the license agreement and click Finish.
    14. -
    15. Restart Eclipse.
    16. -
    - -
    - -

    Now, you just need to modify your Eclipse preferences to point to the Android SDK directory:

    -
      -
    1. Select Window > Preferences... to open the Preferences - panel. (Mac OS X: Eclipse > Preferences)
    2. -
    3. Select Android from the left panel.
    4. -
    5. For the SDK Location in the main panel, click Browse... and locate the SDK directory.
    6. -
    7. Click Apply, then OK.
    8. -
    - -

    Done! If you haven't encountered any problems, then you're ready to -begin developing Android applications. See the After -Installation: Next Steps section for suggestions on how to start.

    - - -

    Troubleshooting ADT Installation

    -

    -If you are having trouble downloading the ADT plugin after following the steps above, here are some suggestions:

    - -
      -
    • If Eclipse can not find the remote update site containing the ADT plugin, try changing the remote site URL to use http, rather than https. That is, set the Location for the remote site to: -
      http://dl-ssl.google.com/android/eclipse/
    • -
    • If you are behind a firewall (such as a corporate firewall), make - sure that you have properly configured your proxy settings in Eclipse. - In Eclipse 3.3/3.4, you can configure proxy information from the main - Eclipse menu in Window (on Mac, Eclipse) > Preferences > General > Network Connections.
    • -
    -

    -If you are still unable to use Eclipse to download the ADT plugin as a remote update site, you can download the ADT files to your local machine using a browser and the install the files in Eclipse from there: -

    -
      -
    1. Download the ADT zip file (do not unpack it). -
    2. Follow steps 1 and 2 in the default install instructions (above). -
    3. In Eclipse 3.3, click New Archive Site....
      - In Eclipse 3.4, click Add Site..., then Archive... -
    4. Browse and select the downloaded the zip file. -
    5. Follow the remaining procedures, above, starting from steps 5. -
    -

    -Note that to update your plugin, you will have to follow these steps again instead of the default update instructions.

    - -

    Note that the "Android Editors" feature of ADT requires several optional -Eclipse components (for example, WST). If you encounter an error when -installing ADT, your Eclipse installion might not include those components. -For information about how to quickly add the necessary components to your -Eclipse installation, see the troubleshooting topic -ADT Installation Error: "requires plug-in org.eclipse.wst.sse.ui".

    - -

    For Linux users

    -

    If you encounter this error when installing the ADT Plugin for Eclipse: -

    -An error occurred during provisioning.
    -Cannot connect to keystore.
    -JKS
    -

    -...then your development machine lacks a suitable Java VM. Installing Sun -Java 6 will resolve this issue and you can then reinstall the ADT -Plugin.

    - - -

    After Installation: Next Steps

    -

    Once you have installed the SDK and the ADT Plugin, you are ready to -begin developing applications. Here are a few ways you can get started:

    - -

    Learn about Android

    -
      -
    • Take a look at the Dev -Guide and the types of information it provides
    • -
    • Read an introduction to Android as a platform in What is -Android?
    • -
    • Learn about the Android framework and how applications run on it in -Application -Fundamentals
    • -
    • Take a look at the Android framework API specification in the Reference tab
    • -
    - -

    Explore the SDK

    - - -

    Explore some code

    -
      -
    • Set up a Hello -World application
    • -
    • Follow the -Notepad Tutorial to build a full Android application
    • -
    • Create a new project for one of the other sample applications -included in <sdk>/samples, then compile and run it in -your development environment
    • -
    - -

    Visit the Android developer groups

    -
      -
    • Take a look at the Community tab to see a list of -Android developers groups. In particular, you might want to look at the -Android -Developers group to get a sense for what the Android developer -community is like.
    • -
    - - -

    Installation Notes

    -

    Ubuntu Linux Notes

    -
      -
    • If you need help installing and configuring Java on your -development machine, you might find these resources helpful: - -
    • -
    • Here are the steps to install Java and Eclipse, prior to installing -the Android SDK and ADT Plugin. -
        -
      1. If you are running a 64-bit distribution on your development -machine, you need to install the ia32-libs package using -apt-get:: -
        apt-get install ia32-libs
      2. -
      3. Next, install Java: -
        apt-get install sun-java6-bin
      4. -
      5. The Ubuntu package manager does not currently offer an Eclipse 3.3 - version for download, so we recommend that you download Eclipse from -eclipse.org (http://www.eclipse.org/ -downloads/). A Java or RCP version of Eclipse is recommended.
      6. -
      7. Follow the steps given in previous sections to install the SDK -and the ADT plugin.
      8. -
      -
    -

    Other Linux Notes

    -
      -
    • If JDK is already installed on your development computer, please -take a moment to make sure that it meets the version requirements listed -in the System Requirements. -In particular, note that some Linux distributions may include JDK 1.4 or Gnu -Compiler for Java, both of which are not supported for Android development.
    • -
    - - +

    You should have already been redirected by your browser. Please go to +Installing the Android SDK.

    \ No newline at end of file diff --git a/docs/html/sdk/1.1_r1/requirements.jd b/docs/html/sdk/1.1_r1/requirements.jd index 9d8f9eb1e0967bcc7c59defe5f7f0f0d3f8703ca..96fdcb26f6facd53064fc5a63456960b1f811d12 100644 --- a/docs/html/sdk/1.1_r1/requirements.jd +++ b/docs/html/sdk/1.1_r1/requirements.jd @@ -1,48 +1,8 @@ -page.title=System Requirements - -sdk.version=1.1_r1 -sdk.date=February 2009 - @jd:body -

    The sections below describe the system and software requirements for developing Android applications using the Android SDK tools included in Android 1.1 SDK, Release 1.

    - -

    Supported Operating Systems

    -
      -
    • Windows XP (32-bit) or Vista (32- or 64-bit)
    • -
    • Mac OS X 10.4.8 or later (x86 only)
    • -
    • Linux (tested on Linux Ubuntu Dapper Drake) -
        -
      • 64-bit distributions must be capable of running 32-bit applications. - For information about how to add support for 32-bit applications, see - the Installation Notes.
      • -
      -
    • -
    - -

    Supported Development Environments

    -
      -
    • Eclipse IDE - -
    • -
    • Other development environments or IDEs -
        -
      • JDK 5 or JDK 6 (JRE alone is not sufficient)
      • -
      • Apache Ant 1.6.5 or later for Linux and Mac, 1.7 or later for Windows
      • -
      • Not compatible with Gnu Compiler for Java (gcj)
      • -
      -
    • -
    + -

    Note: If JDK is already installed on your development computer, please take a moment to make sure that it meets the version requirements listed above. In -particular, note that some Linux distributions may include JDK 1.4 or Gnu Compiler for Java, both of which are not supported for Android development.

    \ No newline at end of file +

    You should have already been redirected by your browser. Please go to +System Requirements.

    \ No newline at end of file diff --git a/docs/html/sdk/1.1_r1/upgrading.jd b/docs/html/sdk/1.1_r1/upgrading.jd index 19095c0be948ec6f227b284f11f1a5d70343e0e8..5628d04e7f769cafd6f46ab030006bf3ac35f044 100644 --- a/docs/html/sdk/1.1_r1/upgrading.jd +++ b/docs/html/sdk/1.1_r1/upgrading.jd @@ -145,6 +145,6 @@ to seek help from other Android developers.

    to the new SDK, note that you will need to uninstall the version of ApiDemos that comes preinstalled in the emulator. For more information, or if you encounter an "reinstallation" error when running or installing ApiDemos, see the troubleshooting topic -I can't install ApiDemos +I can't install ApiDemos apps in my IDE because of a signing error for information about how to solve the problem.

    diff --git a/docs/html/sdk/1.5_r1/index.jd b/docs/html/sdk/1.5_r1/index.jd index 405f56ce960aa1805b4e75cf4f08ea1b8a19b703..60dfc142e4f63c75a2c72822b50c65349a61f8fa 100644 --- a/docs/html/sdk/1.5_r1/index.jd +++ b/docs/html/sdk/1.5_r1/index.jd @@ -1,89 +1,5 @@ -sdk.version=1.5 -sdk.rel.id=1 -sdk.date=April 2009 -sdk.not_latest_version=true - -sdk.win_download=android-sdk-windows-1.5_r1.zip -sdk.win_bytes=176263368 -sdk.win_checksum=42be980eb2d3efaced01ea6c32c0045f - -sdk.mac_download=android-sdk-mac_x86-1.5_r1.zip -sdk.mac_bytes=167848675 -sdk.mac_checksum=5b2a8d9f096032db4a75bfa0d689a51b - -sdk.linux_download=android-sdk-linux_x86-1.5_r1.zip -sdk.linux_bytes=162938845 -sdk.linux_checksum=2addfd315da0ad8b5bde6b09d5ff3b06 - page.title=Android 1.5 SDK, Release 1 -@jd:body - -

    For more information on this SDK release, read the -Release Notes.

    - -

    SDK Contents

    - -

    Development tools

    - -

    The SDK includes a full set of tools for developing and debugging application code and designing an application UI. You can read about the tools in the -Dev Guide and access them in the <sdk>/tools/ directory. - -

    The tools package in this SDK includes updates from those provided in the previous SDK. The tools also require a different project structure. To use the new tools, you need to migrate your applications to the new development environment. For more information about how to migrate, see Upgrading the SDK. - -

    For more information about the new tools features, see the SDK Release Notes. - -

    Android Platforms

    - -

    This SDK includes multiple Android platform versions that you use to develop applications. For each version, both a fully compliant Android library and system image are provided. The table below lists the platform versions included in this SDK. For more information about a platform version — features, applications included, localizations, API changes, and so on — see its Version Notes.

    - - - - - - - - - - - - - - - - - - - -
    PlatformAPI LevelNotesDescription
    Android 1.53Version NotesIncludes a standard Android 1.5 library and system image with a set of development applications. Does not include any external libraries (such as the Maps external library).
    Android 1.12Version NotesIncludes a compliant Android 1.1 library and system image with a set of development applications. Also includes the Maps external library (due to legacy build system issues).
    - -

    SDK Add-Ons

    - -

    An SDK add-on provides a development environment for an Android external library or a customized (but fully compliant) Android system image. This SDK includes the SDK add-on listed below. The Android system API Level required by the add-on is noted.

    - - - - - - - - - - - -
    Add-OnAPI LevelNotesDescription
    Google APIs3 Includes the com.google.android.maps external library, a compliant -system image, a {@link android.location.Geocoder Geocoder} -backend service implementation, documentation, and sample code.
    - -

    Sample Code and Applications

    - -

    You can look at a variety of tutorials and samples in the Dev Guide and access the sample code itself -in the <sdk>/platforms/android-1.5/samples/ directory of the SDK package. Note the new location — the SDK now includes multiple platform versions that you can develop against and each has its own sample code directory.

    - -

    Documentation

    - -

    The SDK package includes a full set of local documentation. To view it, open the <sdk>/documentation.html file in a web browser. If you are developing in an IDE such as Eclipse, you can also view the reference documentation directly in the IDE.

    - -

    The most current documentation is always available on the Android Developers site:

    - -

    http://developer.android.com/

    +sdk.redirect=true +sdk.redirect.path=index.html +@jd:body diff --git a/docs/html/sdk/1.5_r1/installing.jd b/docs/html/sdk/1.5_r1/installing.jd index ac6af616d9e805c1a4d28bda0488f04719e254c9..2ea04e4687546c55e17f6c69baea7cb70454f568 100644 --- a/docs/html/sdk/1.5_r1/installing.jd +++ b/docs/html/sdk/1.5_r1/installing.jd @@ -1,332 +1,8 @@ -sdk.version=1.5 -sdk.rel.id=1 -sdk.date=April 2009 - -page.title=Installing the Android SDK @jd:body + -

    This page describes how to install the Android SDK and set up your -development environment. If you haven't downloaded the SDK, you can -do so from the -Download page. Once you've downloaded -the SDK, return here.

    - -

    If you encounter any problems during installation, see the -Installation Notes at the bottom of -this page.

    - -

    Upgrading?

    -

    If you have already developed applications using an earlier version -of the SDK, please read -Upgrading the -SDK, instead. -

    - - -

    Preparing for Installation

    - -

    Before you begin, take a moment to confirm that your development machine meets the -System Requirements. -

    - -

    If you will be developing on Eclipse with the Android Development -Tools (ADT) Plugin — the recommended path if you are new to -Android — make sure that you have a suitable version of Eclipse -installed on your computer (3.3 or newer). If you need to install Eclipse, you can -download it from this location:

    - -

    http://www.eclipse.org/downloads/

    - -

    A Java or RCP version of Eclipse is recommended.

    - -

    Installing the SDK

    - -

    After downloading the SDK, unpack the .zip archive to a suitable location on your machine. -By default, the SDK files are unpacked into a directory named -android_sdk_<platform>_<release>. -The directory contains a local copy of the documentation (accessible by opening -documentation.html in your browser) and the subdirectories -tools/, add-ons/, platforms/, and others. Inside -each subdirectory of platforms/ you'll find samples/, which includes -code samples that are specific to each version of the platform.

    - -

    Make a note of the name and location of the unpacked SDK directory on your system — you -will need to refer to the SDK directory later, when setting up the Android plugin or when -using the SDK tools.

    - -

    Optionally, you may want to add the location of the SDK's primary tools directory -to your system PATH. The primary tools/ directory is located at the root of the -SDK folder. Adding tools to your path lets you run Android Debug Bridge (adb) and -the other command line tools without -needing to supply the full path to the tools directory.

    -
      -
    • On Linux, edit your ~/.bash_profile or ~/.bashrc file. Look - for a line that sets the PATH environment variable and add the - full path to the tools/ directory to it. If you don't - see a line setting the path, you can add one:
    • - -
        export PATH=${PATH}:<your_sdk_dir>/tools
      - -
    • On a Mac, look in your home directory for .bash_profile and - proceed as for Linux. You can create the .bash_profile if - you haven't already set one up on your machine.
    • - -
    • On Windows, right-click on My Computer, and select Properties. - Under the Advanced tab, hit the Environment Variables button, and in the - dialog that comes up, double-click on Path (under System Variables). Add the full path to the - tools/ directory to the path.
    • -
    - -

    Note that, if you update your SDK in the future, you -should remember to update your PATH settings to point to the new location, if different.

    - -

    If you will be using the Eclipse IDE as your development environment, -the next section describes how to install the Android Development Tools plugin and set up Eclipse. -If you choose not to use Eclipse, you can -develop Android applications in an IDE of your choice and then compile, debug and deploy using -the tools included in the SDK (skip to Next Steps).

    - - -

    Installing the ADT Plugin for Eclipse

    - -

    Android offers a custom plugin for the Eclipse IDE, called Android -Development Tools (ADT), that is designed to give you a powerful, -integrated environment in which to build Android applications. It -extends the capabilites of Eclipse to let you quickly set up new Android -projects, create an application UI, add components based on the Android -Framework API, debug your applications using the Android SDK tools, and even export -signed (or unsigned) APKs in order to distribute your application.

    - -

    In general, using Eclipse with ADT is a highly recommended -approach to Android development and is the fastest way to get started. -(If you prefer to work in an IDE other than Eclipse, -you do not need to install Eclipse or ADT, instead, you can directly -use the SDK tools to build and debug your application.)

    - -

    Once you have Eclipse installed, as described in Preparing for -Installation, follow the steps below to -download the ADT plugin and install it in your respective Eclipse -environment.

    - - - - - - - -
    Eclipse 3.3 (Europa)Eclipse 3.4 (Ganymede)
    - -
      -
    1. Start Eclipse, then select Help > Software Updates -> Find and Install....
    2. -
    3. In the dialog that appears, select Search for new features to install -and click Next.
    4. -
    5. Click New Remote Site.
    6. -
    7. In the resulting dialog box, enter a name for the remote site (e.g. "Android Plugin") and - enter the URL: -
      https://dl-ssl.google.com/android/eclipse/
      -

      If you have trouble aqcuiring the plugin, try using "http" in the URL, - instead of "https" (https is preferred for security reasons).

      -

      Click OK.

    8. -
    9. You should now see the new site added to the search list (and checked). - Click Finish.
    10. -
    11. In the subsequent Search Results dialog box, select the checkbox for the - "Android Plugin". - This will select the nested tools: "Android DDMS" and "Android Development Tools". - Click Next.
    12. -
    13. Read and accept the license agreement, then click Next.
    14. -
    15. On the following Installation window, click Finish.
    16. -
    17. The ADT plugin is not digitally signed. Accept the installation anyway - by clicking Install All.
    18. -
    19. Restart Eclipse.
    20. -
    - -
    - - -
      -
    1. Start Eclipse, then select Help > Software Updates....
    2. -
    3. In the dialog that appears, click the Available Software tab.
    4. -
    5. Click Add Site...
    6. -
    7. Enter the Location: -
      https://dl-ssl.google.com/android/eclipse/
      -

      If you have trouble aqcuiring the plugin, try using "http" in the Location URL, - instead of "https" (https is preferred for security reasons).

      -

      Click OK.

    8. -
    9. Back in the Available Software view, you should see the plugin listed by the URL, - with "Developer Tools" nested within it. Select the checkbox next to - Developer Tools and click Install...
    10. -
    11. On the subsequent Install window, "Android DDMS" and "Android Development Tools" - should both be checked. Click Next.
    12. -
    13. Read and accept the license agreement, then click Finish.
    14. -
    15. Restart Eclipse.
    16. -
    - -
    - -

    Now modify your Eclipse preferences to point to the Android SDK directory:

    -
      -
    1. Select Window > Preferences... to open the Preferences - panel (Mac: Eclipse > Preferences).
    2. -
    3. Select Android from the left panel.
    4. -
    5. For the SDK Location in the main panel, click Browse... and -locate your downloaded SDK directory.
    6. -
    7. Click Apply, then OK.
    8. -
    - -

    Done! If you haven't encountered any problems, then you're ready to -begin developing Android applications. See the -Next Steps section for suggestions on how to start.

    - - -

    Troubleshooting ADT Installation

    -

    -If you are having trouble downloading the ADT plugin after following the steps above, here are -some suggestions:

    - -
      -
    • If Eclipse can not find the remote update site containing the ADT plugin, try changing - the remote site URL to use http, rather than https. That is, set the Location for the remote site to: -
      http://dl-ssl.google.com/android/eclipse/
    • -
    • If you are behind a firewall (such as a corporate firewall), make - sure that you have properly configured your proxy settings in Eclipse. - In Eclipse 3.3/3.4, you can configure proxy information from the main - Eclipse menu in Window (on Mac, Eclipse) > - Preferences > General > - Network Connections.
    • -
    -

    -If you are still unable to use Eclipse to download the ADT plugin as a remote update site, you -can download the ADT zip file to your local machine and manually install the it: -

    -
      -
    1. Download the ADT zip file (do not unpack it).
    2. -
    3. Follow steps 1 and 2 in the default install instructions (above).
    4. -
    5. In Eclipse 3.3, click New Archive Site....
      - In Eclipse 3.4, click Add Site..., then Archive...
    6. -
    7. Browse and select the downloaded zip file.
    8. -
    9. Follow the remaining procedures, above, starting from steps 5.
    10. -
    -

    To update your plugin once you've installed using the zip file, you will have to -follow these steps again instead of the default update instructions.

    - -

    Other install errors

    - -

    Note that there are features of ADT that require some optional -Eclipse components (for example, WST). If you encounter an error when -installing ADT, your Eclipse installion might not include these components. -For information about how to quickly add the necessary components to your -Eclipse installation, see the troubleshooting topic -ADT -Installation Error: "requires plug-in org.eclipse.wst.sse.ui".

    - -

    For Linux users

    -

    If you encounter this error when installing the ADT Plugin for Eclipse: -

    -An error occurred during provisioning.
    -Cannot connect to keystore.
    -JKS
    -

    -...then your development machine lacks a suitable Java VM. Installing Sun -Java 6 will resolve this issue and you can then reinstall the ADT -Plugin.

    - - -

    Next Steps

    -

    Once you have completed installation, you are ready to -begin developing applications. Here are a few ways you can get started:

    - -

    Learn about Android

    -
      -
    • Take a look at the Dev - Guide and the types of information it provides
    • -
    • Read an introduction to Android as a platform in What is - Android?
    • -
    • Learn about the Android framework and how applications run on it in - Application - Fundamentals
    • -
    • Take a look at the Android framework API specification in the Reference tab
    • -
    - -

    Explore the SDK

    - - -

    Explore some code

    -
      -
    • Set up a Hello - World application (highly recommended, especially for Eclipse users)
    • -
    • Follow the - Notepad Tutorial to build a full Android application
    • -
    • Create a new project for one of the other sample applications - included in <sdk>/platforms/<platfrom>/samples, - then compile and run it in your development environment
    • -
    - -

    Visit the Android developer groups

    -
      -
    • Take a look at the Community tab to see a list of - Android developers groups. In particular, you might want to look at the - Android - Developers group to get a sense for what the Android developer - community is like.
    • -
    - - -

    Installation Notes

    - -

    Ubuntu Linux Notes

    - -
      -
    • If you need help installing and configuring Java on your - development machine, you might find these resources helpful: - -
    • -
    • Here are the steps to install Java and Eclipse, prior to installing - the Android SDK and ADT Plugin. -
        -
      1. If you are running a 64-bit distribution on your development - machine, you need to install the ia32-libs package using - apt-get:: -
        apt-get install ia32-libs
        -
      2. -
      3. Next, install Java:
        apt-get install sun-java6-bin
      4. -
      5. The Ubuntu package manager does not currently offer an Eclipse 3.3 - version for download, so we recommend that you download Eclipse from - eclipse.org (http://www.eclipse.org/ - downloads/). A Java or RCP version of Eclipse is recommended.
      6. -
      7. Follow the steps given in previous sections to install the SDK - and the ADT plugin.
      8. -
      -
    • -
    - -

    Other Linux Notes

    - -
      -
    • If JDK is already installed on your development computer, please - take a moment to make sure that it meets the version requirements listed - in the System Requirements. - In particular, note that some Linux distributions may include JDK 1.4 or Gnu - Compiler for Java, both of which are not supported for Android development.
    • -
    - - - +

    You should have already been redirected by your browser. Please go to +Installing the Android SDK.

    \ No newline at end of file diff --git a/docs/html/sdk/1.5_r1/requirements.jd b/docs/html/sdk/1.5_r1/requirements.jd index c10ccac561ea19eff7839edc8d4c16f1728c8635..96fdcb26f6facd53064fc5a63456960b1f811d12 100644 --- a/docs/html/sdk/1.5_r1/requirements.jd +++ b/docs/html/sdk/1.5_r1/requirements.jd @@ -1,45 +1,8 @@ -page.title=System Requirements @jd:body -

    The sections below describe the system and software requirements for developing Android applications using the Android SDK tools included in Android SDK, Release .

    + -

    Supported Operating Systems

    -
      -
    • Windows XP (32-bit) or Vista (32- or 64-bit)
    • -
    • Mac OS X 10.4.8 or later (x86 only)
    • -
    • Linux (tested on Linux Ubuntu Dapper Drake) -
        -
      • 64-bit distributions must be capable of running 32-bit applications. - For information about how to add support for 32-bit applications, see - the Installation Notes.
      • -
      -
    • -
    - -

    Supported Development Environments

    -
      -
    • Eclipse IDE -
        -
      • Eclipse 3.3 (Europa), 3.4 (Ganymede) -
          -
        • Recommended Eclipse IDE packages: Eclipse IDE for Java EE Developers, Eclipse IDE for Java Developers, Eclipse for RCP/Plug-in Developers
        • -
        • Eclipse JDT plugin (included in most Eclipse IDE packages)
        • -
        • Eclipse Classic IDE package is not supported.
        • -
        -
      • -
      • JDK 5 or JDK 6 (JRE alone is not sufficient)
      • -
      • Android Development Tools plugin (optional)
      • -
      • Not compatible with Gnu Compiler for Java (gcj)
      • -
      -
    • -
    • Other development environments or IDEs -
        -
      • JDK 5 or JDK 6 (JRE alone is not sufficient)
      • -
      • Apache Ant 1.6.5 or later for Linux and Mac, 1.7 or later for Windows
      • -
      • Not compatible with Gnu Compiler for Java (gcj)
      • -
      -
    • -
    - -

    Note: If JDK is already installed on your development computer, please take a moment to make sure that it meets the version requirements listed above. In -particular, note that some Linux distributions may include JDK 1.4 or Gnu Compiler for Java, both of which are not supported for Android development.

    \ No newline at end of file +

    You should have already been redirected by your browser. Please go to +System Requirements.

    \ No newline at end of file diff --git a/docs/html/sdk/1.5_r2/index.jd b/docs/html/sdk/1.5_r2/index.jd index 15342a4339923a93c5653191e5054580fab4f956..4fb99b604701cb638b29df2236dec327451e1970 100644 --- a/docs/html/sdk/1.5_r2/index.jd +++ b/docs/html/sdk/1.5_r2/index.jd @@ -1,87 +1,5 @@ -sdk.version=1.5 -sdk.rel.id=2 -sdk.date=May 2009 - -sdk.win_download=android-sdk-windows-1.5_r2.zip -sdk.win_bytes=178346828 -sdk.win_checksum=ba54ac6bda45921d442b74b6de6ff6a9 - -sdk.mac_download=android-sdk-mac_x86-1.5_r2.zip -sdk.mac_bytes=169945128 -sdk.mac_checksum=f4e06a5194410243f213d0177713d6c9 - -sdk.linux_download=android-sdk-linux_x86-1.5_r2.zip -sdk.linux_bytes=165035130 -sdk.linux_checksum=1d3c3d099e95a31c43a7b3e6ae307ed3 - page.title=Android 1.5 SDK, Release 2 -@jd:body - -

    For more information on this SDK release, read the -Release Notes.

    - -

    SDK Contents

    - -

    Development tools

    - -

    The SDK includes a full set of tools for developing and debugging application code and designing an application UI. You can read about the tools in the -Dev Guide and access them in the <sdk>/tools/ directory. - -

    The tools package in this SDK includes updates from those provided in the previous SDK. The tools also require a different project structure. To use the new tools, you need to migrate your applications to the new development environment. For more information about how to migrate, see Upgrading the SDK. - -

    For more information about the new tools features, see the SDK Release Notes. - -

    Android Platforms

    - -

    This SDK includes multiple Android platform versions that you use to develop applications. For each version, both a fully compliant Android library and system image are provided. The table below lists the platform versions included in this SDK. For more information about a platform version — features, applications included, localizations, API changes, and so on — see its Version Notes.

    - - - - - - - - - - - - - - - - - - -
    PlatformAPI LevelNotesDescription
    Android 1.53Version NotesIncludes a standard Android 1.5 library and system image with a set of development applications. Does not include any external libraries (such as the Maps external library).
    Android 1.12Version NotesIncludes a compliant Android 1.1 library and system image with a set of development applications. Also includes the Maps external library (due to legacy build system issues).
    - -

    SDK Add-Ons

    - -

    An SDK add-on provides a development environment for an Android external library or a customized (but fully compliant) Android system image. This SDK includes the SDK add-on listed below. The Android system API Level required by the add-on is noted.

    - - - - - - - - - - - -
    Add-OnAPI LevelNotesDescription
    Google APIs3 Includes the com.google.android.maps external library, a compliant -system image, a {@link android.location.Geocoder Geocoder} -backend service implementation, documentation, and sample code.
    - -

    Sample Code and Applications

    - -

    You can look at a variety of tutorials and samples in the Dev Guide and access the sample code itself -in the <sdk>/platforms/android-1.5/samples/ directory of the SDK package. Note the new location — the SDK now includes multiple platform versions that you can develop against and each has its own sample code directory.

    - -

    Documentation

    - -

    The SDK package includes a full set of local documentation. To view it, open the <sdk>/documentation.html file in a web browser. If you are developing in an IDE such as Eclipse, you can also view the reference documentation directly in the IDE.

    - -

    The most current documentation is always available on the Android Developers site:

    - -

    http://developer.android.com/

    +sdk.redirect=true +sdk.redirect.path=index.html +@jd:body diff --git a/docs/html/sdk/1.5_r2/installing.jd b/docs/html/sdk/1.5_r2/installing.jd index 1e4e0f2479c8719fada28297567145e61d2878bc..2ea04e4687546c55e17f6c69baea7cb70454f568 100644 --- a/docs/html/sdk/1.5_r2/installing.jd +++ b/docs/html/sdk/1.5_r2/installing.jd @@ -1,332 +1,8 @@ -sdk.version=1.5 -sdk.rel.id=2 -sdk.date=April 2009 - -page.title=Installing the Android SDK @jd:body + -

    This page describes how to install the Android SDK and set up your -development environment. If you haven't downloaded the SDK, you can -do so from the -Download page. Once you've downloaded -the SDK, return here.

    - -

    If you encounter any problems during installation, see the -Installation Notes at the bottom of -this page.

    - -

    Upgrading?

    -

    If you have already developed applications using an earlier version -of the SDK, please read -Upgrading the -SDK, instead. -

    - - -

    Preparing for Installation

    - -

    Before you begin, take a moment to confirm that your development machine meets the -System Requirements. -

    - -

    If you will be developing on Eclipse with the Android Development -Tools (ADT) Plugin — the recommended path if you are new to -Android — make sure that you have a suitable version of Eclipse -installed on your computer (3.3 or newer). If you need to install Eclipse, you can -download it from this location:

    - -

    http://www.eclipse.org/downloads/

    - -

    A Java or RCP version of Eclipse is recommended.

    - -

    Installing the SDK

    - -

    After downloading the SDK, unpack the .zip archive to a suitable location on your machine. -By default, the SDK files are unpacked into a directory named -android_sdk_<platform>_<release>. -The directory contains a local copy of the documentation (accessible by opening -documentation.html in your browser) and the subdirectories -tools/, add-ons/, platforms/, and others. Inside -each subdirectory of platforms/ you'll find samples/, which includes -code samples that are specific to each version of the platform.

    - -

    Make a note of the name and location of the unpacked SDK directory on your system — you -will need to refer to the SDK directory later, when setting up the Android plugin or when -using the SDK tools.

    - -

    Optionally, you may want to add the location of the SDK's primary tools directory -to your system PATH. The primary tools/ directory is located at the root of the -SDK folder. Adding tools to your path lets you run Android Debug Bridge (adb) and -the other command line tools without -needing to supply the full path to the tools directory.

    -
      -
    • On Linux, edit your ~/.bash_profile or ~/.bashrc file. Look - for a line that sets the PATH environment variable and add the - full path to the tools/ directory to it. If you don't - see a line setting the path, you can add one:
    • - -
        export PATH=${PATH}:<your_sdk_dir>/tools
      - -
    • On a Mac, look in your home directory for .bash_profile and - proceed as for Linux. You can create the .bash_profile if - you haven't already set one up on your machine.
    • - -
    • On Windows, right-click on My Computer, and select Properties. - Under the Advanced tab, hit the Environment Variables button, and in the - dialog that comes up, double-click on Path (under System Variables). Add the full path to the - tools/ directory to the path.
    • -
    - -

    Note that, if you update your SDK in the future, you -should remember to update your PATH settings to point to the new location, if different.

    - -

    If you will be using the Eclipse IDE as your development environment, -the next section describes how to install the Android Development Tools plugin and set up Eclipse. -If you choose not to use Eclipse, you can -develop Android applications in an IDE of your choice and then compile, debug and deploy using -the tools included in the SDK (skip to Next Steps).

    - - -

    Installing the ADT Plugin for Eclipse

    - -

    Android offers a custom plugin for the Eclipse IDE, called Android -Development Tools (ADT), that is designed to give you a powerful, -integrated environment in which to build Android applications. It -extends the capabilites of Eclipse to let you quickly set up new Android -projects, create an application UI, add components based on the Android -Framework API, debug your applications using the Android SDK tools, and even export -signed (or unsigned) APKs in order to distribute your application.

    - -

    In general, using Eclipse with ADT is a highly recommended -approach to Android development and is the fastest way to get started. -(If you prefer to work in an IDE other than Eclipse, -you do not need to install Eclipse or ADT, instead, you can directly -use the SDK tools to build and debug your application.)

    - -

    Once you have Eclipse installed, as described in Preparing for -Installation, follow the steps below to -download the ADT plugin and install it in your respective Eclipse -environment.

    - - - - - - - -
    Eclipse 3.3 (Europa)Eclipse 3.4 (Ganymede)
    - -
      -
    1. Start Eclipse, then select Help > Software Updates -> Find and Install....
    2. -
    3. In the dialog that appears, select Search for new features to install -and click Next.
    4. -
    5. Click New Remote Site.
    6. -
    7. In the resulting dialog box, enter a name for the remote site (e.g. "Android Plugin") and - enter the URL: -
      https://dl-ssl.google.com/android/eclipse/
      -

      If you have trouble aqcuiring the plugin, try using "http" in the URL, - instead of "https" (https is preferred for security reasons).

      -

      Click OK.

    8. -
    9. You should now see the new site added to the search list (and checked). - Click Finish.
    10. -
    11. In the subsequent Search Results dialog box, select the checkbox for the - "Android Plugin". - This will select the nested tools: "Android DDMS" and "Android Development Tools". - Click Next.
    12. -
    13. Read and accept the license agreement, then click Next.
    14. -
    15. On the following Installation window, click Finish.
    16. -
    17. The ADT plugin is not digitally signed. Accept the installation anyway - by clicking Install All.
    18. -
    19. Restart Eclipse.
    20. -
    - -
    - - -
      -
    1. Start Eclipse, then select Help > Software Updates....
    2. -
    3. In the dialog that appears, click the Available Software tab.
    4. -
    5. Click Add Site...
    6. -
    7. Enter the Location: -
      https://dl-ssl.google.com/android/eclipse/
      -

      If you have trouble aqcuiring the plugin, try using "http" in the Location URL, - instead of "https" (https is preferred for security reasons).

      -

      Click OK.

    8. -
    9. Back in the Available Software view, you should see the plugin listed by the URL, - with "Developer Tools" nested within it. Select the checkbox next to - Developer Tools and click Install...
    10. -
    11. On the subsequent Install window, "Android DDMS" and "Android Development Tools" - should both be checked. Click Next.
    12. -
    13. Read and accept the license agreement, then click Finish.
    14. -
    15. Restart Eclipse.
    16. -
    - -
    - -

    Now modify your Eclipse preferences to point to the Android SDK directory:

    -
      -
    1. Select Window > Preferences... to open the Preferences - panel (Mac: Eclipse > Preferences).
    2. -
    3. Select Android from the left panel.
    4. -
    5. For the SDK Location in the main panel, click Browse... and -locate your downloaded SDK directory.
    6. -
    7. Click Apply, then OK.
    8. -
    - -

    Done! If you haven't encountered any problems, then you're ready to -begin developing Android applications. See the -Next Steps section for suggestions on how to start.

    - - -

    Troubleshooting ADT Installation

    -

    -If you are having trouble downloading the ADT plugin after following the steps above, here are -some suggestions:

    - -
      -
    • If Eclipse can not find the remote update site containing the ADT plugin, try changing - the remote site URL to use http, rather than https. That is, set the Location for the remote site to: -
      http://dl-ssl.google.com/android/eclipse/
    • -
    • If you are behind a firewall (such as a corporate firewall), make - sure that you have properly configured your proxy settings in Eclipse. - In Eclipse 3.3/3.4, you can configure proxy information from the main - Eclipse menu in Window (on Mac, Eclipse) > - Preferences > General > - Network Connections.
    • -
    -

    -If you are still unable to use Eclipse to download the ADT plugin as a remote update site, you -can download the ADT zip file to your local machine and manually install the it: -

    -
      -
    1. Download the ADT zip file (do not unpack it).
    2. -
    3. Follow steps 1 and 2 in the default install instructions (above).
    4. -
    5. In Eclipse 3.3, click New Archive Site....
      - In Eclipse 3.4, click Add Site..., then Archive...
    6. -
    7. Browse and select the downloaded zip file.
    8. -
    9. Follow the remaining procedures, above, starting from steps 5.
    10. -
    -

    To update your plugin once you've installed using the zip file, you will have to -follow these steps again instead of the default update instructions.

    - -

    Other install errors

    - -

    Note that there are features of ADT that require some optional -Eclipse components (for example, WST). If you encounter an error when -installing ADT, your Eclipse installion might not include these components. -For information about how to quickly add the necessary components to your -Eclipse installation, see the troubleshooting topic -ADT -Installation Error: "requires plug-in org.eclipse.wst.sse.ui".

    - -

    For Linux users

    -

    If you encounter this error when installing the ADT Plugin for Eclipse: -

    -An error occurred during provisioning.
    -Cannot connect to keystore.
    -JKS
    -

    -...then your development machine lacks a suitable Java VM. Installing Sun -Java 6 will resolve this issue and you can then reinstall the ADT -Plugin.

    - - -

    Next Steps

    -

    Once you have completed installation, you are ready to -begin developing applications. Here are a few ways you can get started:

    - -

    Learn about Android

    -
      -
    • Take a look at the Dev - Guide and the types of information it provides
    • -
    • Read an introduction to Android as a platform in What is - Android?
    • -
    • Learn about the Android framework and how applications run on it in - Application - Fundamentals
    • -
    • Take a look at the Android framework API specification in the Reference tab
    • -
    - -

    Explore the SDK

    - - -

    Explore some code

    -
      -
    • Set up a Hello - World application (highly recommended, especially for Eclipse users)
    • -
    • Follow the - Notepad Tutorial to build a full Android application
    • -
    • Create a new project for one of the other sample applications - included in <sdk>/platforms/<platfrom>/samples, - then compile and run it in your development environment
    • -
    - -

    Visit the Android developer groups

    -
      -
    • Take a look at the Community tab to see a list of - Android developers groups. In particular, you might want to look at the - Android - Developers group to get a sense for what the Android developer - community is like.
    • -
    - - -

    Installation Notes

    - -

    Ubuntu Linux Notes

    - -
      -
    • If you need help installing and configuring Java on your - development machine, you might find these resources helpful: - -
    • -
    • Here are the steps to install Java and Eclipse, prior to installing - the Android SDK and ADT Plugin. -
        -
      1. If you are running a 64-bit distribution on your development - machine, you need to install the ia32-libs package using - apt-get:: -
        apt-get install ia32-libs
        -
      2. -
      3. Next, install Java:
        apt-get install sun-java6-bin
      4. -
      5. The Ubuntu package manager does not currently offer an Eclipse 3.3 - version for download, so we recommend that you download Eclipse from - eclipse.org (http://www.eclipse.org/ - downloads/). A Java or RCP version of Eclipse is recommended.
      6. -
      7. Follow the steps given in previous sections to install the SDK - and the ADT plugin.
      8. -
      -
    • -
    - -

    Other Linux Notes

    - -
      -
    • If JDK is already installed on your development computer, please - take a moment to make sure that it meets the version requirements listed - in the System Requirements. - In particular, note that some Linux distributions may include JDK 1.4 or Gnu - Compiler for Java, both of which are not supported for Android development.
    • -
    - - - +

    You should have already been redirected by your browser. Please go to +Installing the Android SDK.

    \ No newline at end of file diff --git a/docs/html/sdk/1.5_r2/requirements.jd b/docs/html/sdk/1.5_r2/requirements.jd index c10ccac561ea19eff7839edc8d4c16f1728c8635..96fdcb26f6facd53064fc5a63456960b1f811d12 100644 --- a/docs/html/sdk/1.5_r2/requirements.jd +++ b/docs/html/sdk/1.5_r2/requirements.jd @@ -1,45 +1,8 @@ -page.title=System Requirements @jd:body -

    The sections below describe the system and software requirements for developing Android applications using the Android SDK tools included in Android SDK, Release .

    + -

    Supported Operating Systems

    -
      -
    • Windows XP (32-bit) or Vista (32- or 64-bit)
    • -
    • Mac OS X 10.4.8 or later (x86 only)
    • -
    • Linux (tested on Linux Ubuntu Dapper Drake) -
        -
      • 64-bit distributions must be capable of running 32-bit applications. - For information about how to add support for 32-bit applications, see - the Installation Notes.
      • -
      -
    • -
    - -

    Supported Development Environments

    -
      -
    • Eclipse IDE -
        -
      • Eclipse 3.3 (Europa), 3.4 (Ganymede) -
          -
        • Recommended Eclipse IDE packages: Eclipse IDE for Java EE Developers, Eclipse IDE for Java Developers, Eclipse for RCP/Plug-in Developers
        • -
        • Eclipse JDT plugin (included in most Eclipse IDE packages)
        • -
        • Eclipse Classic IDE package is not supported.
        • -
        -
      • -
      • JDK 5 or JDK 6 (JRE alone is not sufficient)
      • -
      • Android Development Tools plugin (optional)
      • -
      • Not compatible with Gnu Compiler for Java (gcj)
      • -
      -
    • -
    • Other development environments or IDEs -
        -
      • JDK 5 or JDK 6 (JRE alone is not sufficient)
      • -
      • Apache Ant 1.6.5 or later for Linux and Mac, 1.7 or later for Windows
      • -
      • Not compatible with Gnu Compiler for Java (gcj)
      • -
      -
    • -
    - -

    Note: If JDK is already installed on your development computer, please take a moment to make sure that it meets the version requirements listed above. In -particular, note that some Linux distributions may include JDK 1.4 or Gnu Compiler for Java, both of which are not supported for Android development.

    \ No newline at end of file +

    You should have already been redirected by your browser. Please go to +System Requirements.

    \ No newline at end of file diff --git a/docs/html/sdk/1.5_r3/index.jd b/docs/html/sdk/1.5_r3/index.jd index a79fe43e4146cfca0e6448e54c8f7655e31b3934..eb10f5ee435f3e8319e68315038f8da588f1664d 100644 --- a/docs/html/sdk/1.5_r3/index.jd +++ b/docs/html/sdk/1.5_r3/index.jd @@ -1,88 +1,5 @@ -sdk.version=1.5 -sdk.rel.id=3 - -sdk.date=July 2009 - -sdk.win_download=android-sdk-windows-1.5_r3.zip -sdk.win_bytes=191477853 -sdk.win_checksum=1725fd6963ce69102ba7192568dfc711 - -sdk.mac_download=android-sdk-mac_x86-1.5_r3.zip -sdk.mac_bytes=183024673 -sdk.mac_checksum=b1bafdaefdcec89a14b604b504e7daec - -sdk.linux_download=android-sdk-linux_x86-1.5_r3.zip -sdk.linux_bytes=178117561 -sdk.linux_checksum=350d0211678ced38da926b8c9ffa4fac - page.title=Android 1.5 SDK, Release 3 -@jd:body - -

    For more information on this SDK release, read the -Release Notes.

    - -

    SDK Contents

    - -

    Development tools

    - -

    The SDK includes a full set of tools for developing and debugging application code and designing an application UI. You can read about the tools in the -Dev Guide and access them in the <sdk>/tools/ directory. - -

    The tools package in this SDK includes updates from those provided in the previous SDK. The tools also require a different project structure. To use the new tools, you need to migrate your applications to the new development environment. For more information about how to migrate, see Upgrading the SDK. - -

    For more information about the new tools features, see the SDK Release Notes. - -

    Android Platforms

    - -

    This SDK includes multiple Android platform versions that you use to develop applications. For each version, both a fully compliant Android library and system image are provided. The table below lists the platform versions included in this SDK. For more information about a platform version — features, applications included, localizations, API changes, and so on — see its Version Notes.

    - - - - - - - - - - - - - - - - - - -
    PlatformAPI LevelNotesDescription
    Android 1.53Version NotesIncludes a standard Android 1.5 library and system image with a set of development applications. Does not include any external libraries (such as the Maps external library).
    Android 1.12Version NotesIncludes a compliant Android 1.1 library and system image with a set of development applications. Also includes the Maps external library (due to legacy build system issues).
    - -

    SDK Add-Ons

    - -

    An SDK add-on provides a development environment for an Android external library or a customized (but fully compliant) Android system image. This SDK includes the SDK add-on listed below. The Android system API Level required by the add-on is noted.

    - - - - - - - - - - - -
    Add-OnAPI LevelNotesDescription
    Google APIs3 Includes the com.google.android.maps external library, a compliant -system image, a {@link android.location.Geocoder Geocoder} -backend service implementation, documentation, and sample code.
    - -

    Sample Code and Applications

    - -

    You can look at a variety of tutorials and samples in the Dev Guide and access the sample code itself -in the <sdk>/platforms/android-1.5/samples/ directory of the SDK package. Note the new location — the SDK now includes multiple platform versions that you can develop against and each has its own sample code directory.

    - -

    Documentation

    - -

    The SDK package includes a full set of local documentation. To view it, open the <sdk>/documentation.html file in a web browser. If you are developing in an IDE such as Eclipse, you can also view the reference documentation directly in the IDE.

    - -

    The most current documentation is always available on the Android Developers site:

    - -

    http://developer.android.com/

    +sdk.redirect=true +sdk.redirect.path=index.html +@jd:body diff --git a/docs/html/sdk/1.5_r3/installing.jd b/docs/html/sdk/1.5_r3/installing.jd index ac475d1260c79b369e086d1b92967e3d3e2bae1f..2ea04e4687546c55e17f6c69baea7cb70454f568 100644 --- a/docs/html/sdk/1.5_r3/installing.jd +++ b/docs/html/sdk/1.5_r3/installing.jd @@ -1,332 +1,8 @@ -sdk.version=1.5 -sdk.rel.id=3 -sdk.date=April 2009 - -page.title=Installing the Android SDK @jd:body + -

    This page describes how to install the Android SDK and set up your -development environment. If you haven't downloaded the SDK, you can -do so from the -Download page. Once you've downloaded -the SDK, return here.

    - -

    If you encounter any problems during installation, see the -Installation Notes at the bottom of -this page.

    - -

    Upgrading?

    -

    If you have already developed applications using an earlier version -of the SDK, please read -Upgrading the -SDK, instead. -

    - - -

    Preparing for Installation

    - -

    Before you begin, take a moment to confirm that your development machine meets the -System Requirements. -

    - -

    If you will be developing on Eclipse with the Android Development -Tools (ADT) Plugin — the recommended path if you are new to -Android — make sure that you have a suitable version of Eclipse -installed on your computer (3.3 or newer). If you need to install Eclipse, you can -download it from this location:

    - -

    http://www.eclipse.org/downloads/

    - -

    A Java or RCP version of Eclipse is recommended.

    - -

    Installing the SDK

    - -

    After downloading the SDK, unpack the .zip archive to a suitable location on your machine. -By default, the SDK files are unpacked into a directory named -android_sdk_<platform>_<release>. -The directory contains a local copy of the documentation (accessible by opening -documentation.html in your browser) and the subdirectories -tools/, add-ons/, platforms/, and others. Inside -each subdirectory of platforms/ you'll find samples/, which includes -code samples that are specific to each version of the platform.

    - -

    Make a note of the name and location of the unpacked SDK directory on your system — you -will need to refer to the SDK directory later, when setting up the Android plugin or when -using the SDK tools.

    - -

    Optionally, you may want to add the location of the SDK's primary tools directory -to your system PATH. The primary tools/ directory is located at the root of the -SDK folder. Adding tools to your path lets you run Android Debug Bridge (adb) and -the other command line tools without -needing to supply the full path to the tools directory.

    -
      -
    • On Linux, edit your ~/.bash_profile or ~/.bashrc file. Look - for a line that sets the PATH environment variable and add the - full path to the tools/ directory to it. If you don't - see a line setting the path, you can add one:
    • - -
        export PATH=${PATH}:<your_sdk_dir>/tools
      - -
    • On a Mac, look in your home directory for .bash_profile and - proceed as for Linux. You can create the .bash_profile if - you haven't already set one up on your machine.
    • - -
    • On Windows, right-click on My Computer, and select Properties. - Under the Advanced tab, hit the Environment Variables button, and in the - dialog that comes up, double-click on Path (under System Variables). Add the full path to the - tools/ directory to the path.
    • -
    - -

    Note that, if you update your SDK in the future, you -should remember to update your PATH settings to point to the new location, if different.

    - -

    If you will be using the Eclipse IDE as your development environment, -the next section describes how to install the Android Development Tools plugin and set up Eclipse. -If you choose not to use Eclipse, you can -develop Android applications in an IDE of your choice and then compile, debug and deploy using -the tools included in the SDK (skip to Next Steps).

    - - -

    Installing the ADT Plugin for Eclipse

    - -

    Android offers a custom plugin for the Eclipse IDE, called Android -Development Tools (ADT), that is designed to give you a powerful, -integrated environment in which to build Android applications. It -extends the capabilites of Eclipse to let you quickly set up new Android -projects, create an application UI, add components based on the Android -Framework API, debug your applications using the Android SDK tools, and even export -signed (or unsigned) APKs in order to distribute your application.

    - -

    In general, using Eclipse with ADT is a highly recommended -approach to Android development and is the fastest way to get started. -(If you prefer to work in an IDE other than Eclipse, -you do not need to install Eclipse or ADT, instead, you can directly -use the SDK tools to build and debug your application.)

    - -

    Once you have Eclipse installed, as described in Preparing for -Installation, follow the steps below to -download the ADT plugin and install it in your respective Eclipse -environment.

    - - - - - - - -
    Eclipse 3.3 (Europa)Eclipse 3.4 (Ganymede)
    - -
      -
    1. Start Eclipse, then select Help > Software Updates -> Find and Install....
    2. -
    3. In the dialog that appears, select Search for new features to install -and click Next.
    4. -
    5. Click New Remote Site.
    6. -
    7. In the resulting dialog box, enter a name for the remote site (e.g. "Android Plugin") and - enter the URL: -
      https://dl-ssl.google.com/android/eclipse/
      -

      If you have trouble aqcuiring the plugin, try using "http" in the URL, - instead of "https" (https is preferred for security reasons).

      -

      Click OK.

    8. -
    9. You should now see the new site added to the search list (and checked). - Click Finish.
    10. -
    11. In the subsequent Search Results dialog box, select the checkbox for the - "Android Plugin". - This will select the nested tools: "Android DDMS" and "Android Development Tools". - Click Next.
    12. -
    13. Read and accept the license agreement, then click Next.
    14. -
    15. On the following Installation window, click Finish.
    16. -
    17. The ADT plugin is not digitally signed. Accept the installation anyway - by clicking Install All.
    18. -
    19. Restart Eclipse.
    20. -
    - -
    - - -
      -
    1. Start Eclipse, then select Help > Software Updates....
    2. -
    3. In the dialog that appears, click the Available Software tab.
    4. -
    5. Click Add Site...
    6. -
    7. Enter the Location: -
      https://dl-ssl.google.com/android/eclipse/
      -

      If you have trouble aqcuiring the plugin, try using "http" in the Location URL, - instead of "https" (https is preferred for security reasons).

      -

      Click OK.

    8. -
    9. Back in the Available Software view, you should see the plugin listed by the URL, - with "Developer Tools" nested within it. Select the checkbox next to - Developer Tools and click Install...
    10. -
    11. On the subsequent Install window, "Android DDMS" and "Android Development Tools" - should both be checked. Click Next.
    12. -
    13. Read and accept the license agreement, then click Finish.
    14. -
    15. Restart Eclipse.
    16. -
    - -
    - -

    Now modify your Eclipse preferences to point to the Android SDK directory:

    -
      -
    1. Select Window > Preferences... to open the Preferences - panel (Mac: Eclipse > Preferences).
    2. -
    3. Select Android from the left panel.
    4. -
    5. For the SDK Location in the main panel, click Browse... and -locate your downloaded SDK directory.
    6. -
    7. Click Apply, then OK.
    8. -
    - -

    Done! If you haven't encountered any problems, then you're ready to -begin developing Android applications. See the -Next Steps section for suggestions on how to start.

    - - -

    Troubleshooting ADT Installation

    -

    -If you are having trouble downloading the ADT plugin after following the steps above, here are -some suggestions:

    - -
      -
    • If Eclipse can not find the remote update site containing the ADT plugin, try changing - the remote site URL to use http, rather than https. That is, set the Location for the remote site to: -
      http://dl-ssl.google.com/android/eclipse/
    • -
    • If you are behind a firewall (such as a corporate firewall), make - sure that you have properly configured your proxy settings in Eclipse. - In Eclipse 3.3/3.4, you can configure proxy information from the main - Eclipse menu in Window (on Mac, Eclipse) > - Preferences > General > - Network Connections.
    • -
    -

    -If you are still unable to use Eclipse to download the ADT plugin as a remote update site, you -can download the ADT zip file to your local machine and manually install the it: -

    -
      -
    1. Download the ADT zip file (do not unpack it).
    2. -
    3. Follow steps 1 and 2 in the default install instructions (above).
    4. -
    5. In Eclipse 3.3, click New Archive Site....
      - In Eclipse 3.4, click Add Site..., then Archive...
    6. -
    7. Browse and select the downloaded zip file.
    8. -
    9. Follow the remaining procedures, above, starting from steps 5.
    10. -
    -

    To update your plugin once you've installed using the zip file, you will have to -follow these steps again instead of the default update instructions.

    - -

    Other install errors

    - -

    Note that there are features of ADT that require some optional -Eclipse components (for example, WST). If you encounter an error when -installing ADT, your Eclipse installion might not include these components. -For information about how to quickly add the necessary components to your -Eclipse installation, see the troubleshooting topic -ADT -Installation Error: "requires plug-in org.eclipse.wst.sse.ui".

    - -

    For Linux users

    -

    If you encounter this error when installing the ADT Plugin for Eclipse: -

    -An error occurred during provisioning.
    -Cannot connect to keystore.
    -JKS
    -

    -...then your development machine lacks a suitable Java VM. Installing Sun -Java 6 will resolve this issue and you can then reinstall the ADT -Plugin.

    - - -

    Next Steps

    -

    Once you have completed installation, you are ready to -begin developing applications. Here are a few ways you can get started:

    - -

    Learn about Android

    -
      -
    • Take a look at the Dev - Guide and the types of information it provides
    • -
    • Read an introduction to Android as a platform in What is - Android?
    • -
    • Learn about the Android framework and how applications run on it in - Application - Fundamentals
    • -
    • Take a look at the Android framework API specification in the Reference tab
    • -
    - -

    Explore the SDK

    - - -

    Explore some code

    -
      -
    • Set up a Hello - World application (highly recommended, especially for Eclipse users)
    • -
    • Follow the - Notepad Tutorial to build a full Android application
    • -
    • Create a new project for one of the other sample applications - included in <sdk>/platforms/<platfrom>/samples, - then compile and run it in your development environment
    • -
    - -

    Visit the Android developer groups

    -
      -
    • Take a look at the Community tab to see a list of - Android developers groups. In particular, you might want to look at the - Android - Developers group to get a sense for what the Android developer - community is like.
    • -
    - - -

    Installation Notes

    - -

    Ubuntu Linux Notes

    - -
      -
    • If you need help installing and configuring Java on your - development machine, you might find these resources helpful: - -
    • -
    • Here are the steps to install Java and Eclipse, prior to installing - the Android SDK and ADT Plugin. -
        -
      1. If you are running a 64-bit distribution on your development - machine, you need to install the ia32-libs package using - apt-get:: -
        apt-get install ia32-libs
        -
      2. -
      3. Next, install Java:
        apt-get install sun-java6-bin
      4. -
      5. The Ubuntu package manager does not currently offer an Eclipse 3.3 - version for download, so we recommend that you download Eclipse from - eclipse.org (http://www.eclipse.org/ - downloads/). A Java or RCP version of Eclipse is recommended.
      6. -
      7. Follow the steps given in previous sections to install the SDK - and the ADT plugin.
      8. -
      -
    • -
    - -

    Other Linux Notes

    - -
      -
    • If JDK is already installed on your development computer, please - take a moment to make sure that it meets the version requirements listed - in the System Requirements. - In particular, note that some Linux distributions may include JDK 1.4 or Gnu - Compiler for Java, both of which are not supported for Android development.
    • -
    - - - +

    You should have already been redirected by your browser. Please go to +Installing the Android SDK.

    \ No newline at end of file diff --git a/docs/html/sdk/1.5_r3/requirements.jd b/docs/html/sdk/1.5_r3/requirements.jd index 5bcee27ed75348a53b8971d0246d82bd8b65eac0..96fdcb26f6facd53064fc5a63456960b1f811d12 100644 --- a/docs/html/sdk/1.5_r3/requirements.jd +++ b/docs/html/sdk/1.5_r3/requirements.jd @@ -1,48 +1,8 @@ -sdk.version=1.5 -sdk.rel.id=3 -page.title=System Requirements - @jd:body -

    The sections below describe the system and software requirements for developing Android applications using the Android SDK tools included in Android SDK, Release .

    - -

    Supported Operating Systems

    -
      -
    • Windows XP (32-bit) or Vista (32- or 64-bit)
    • -
    • Mac OS X 10.4.8 or later (x86 only)
    • -
    • Linux (tested on Linux Ubuntu Dapper Drake) -
        -
      • 64-bit distributions must be capable of running 32-bit applications. - For information about how to add support for 32-bit applications, see - the Installation Notes.
      • -
      -
    • -
    - -

    Supported Development Environments

    -
      -
    • Eclipse IDE -
        -
      • Eclipse 3.3 (Europa), 3.4 (Ganymede) -
          -
        • Recommended Eclipse IDE packages: Eclipse IDE for Java EE Developers, Eclipse IDE for Java Developers, Eclipse for RCP/Plug-in Developers
        • -
        • Eclipse JDT plugin (included in most Eclipse IDE packages)
        • -
        • Eclipse Classic IDE package is not supported.
        • -
        -
      • -
      • JDK 5 or JDK 6 (JRE alone is not sufficient)
      • -
      • Android Development Tools plugin (optional)
      • -
      • Not compatible with Gnu Compiler for Java (gcj)
      • -
      -
    • -
    • Other development environments or IDEs -
        -
      • JDK 5 or JDK 6 (JRE alone is not sufficient)
      • -
      • Apache Ant 1.6.5 or later for Linux and Mac, 1.7 or later for Windows
      • -
      • Not compatible with Gnu Compiler for Java (gcj)
      • -
      -
    • -
    + -

    Note: If JDK is already installed on your development computer, please take a moment to make sure that it meets the version requirements listed above. In -particular, note that some Linux distributions may include JDK 1.4 or Gnu Compiler for Java, both of which are not supported for Android development.

    \ No newline at end of file +

    You should have already been redirected by your browser. Please go to +System Requirements.

    \ No newline at end of file diff --git a/docs/html/sdk/1.6_r1/index.jd b/docs/html/sdk/1.6_r1/index.jd index 8f33949c05d15c84fbcc12e8f4c420b66f07710a..e7f9112ce2fbc838cf87b2417963c271ba3d566e 100644 --- a/docs/html/sdk/1.6_r1/index.jd +++ b/docs/html/sdk/1.6_r1/index.jd @@ -1,140 +1,5 @@ page.title=Android 1.6 SDK, Release 1 -sdk.redirect=0 -sdk.version=1.6 - -sdk.date=September 2009 - -sdk.win_download=android-sdk-windows-1.6_r1.zip -sdk.win_bytes=260529085 -sdk.win_checksum=2bcbacbc7af0363058ca1cac6abad848 - -sdk.mac_download=android-sdk-mac_x86-1.6_r1.zip -sdk.mac_bytes=247412515 -sdk.mac_checksum=eb13cc79602d492e89103efcf48ac1f6 - -sdk.linux_download=android-sdk-linux_x86-1.6_r1.tgz -sdk.linux_bytes=238224860 -sdk.linux_checksum=b4bf0e610ff6db2fb6fb09c49cba1e79 - -adt.zip_download=ADT-0.9.3.zip -adt.zip_version=0.9.3 -adt.zip_bytes=3252487 -adt.zip_checksum=c296488ac35772667c0f49e822156979 +sdk.redirect=true +sdk.redirect.path=index.html @jd:body - -

    For more information on this SDK release, read the -Release Notes.

    - -

    SDK Contents

    - -

    Development tools

    - -

    The SDK includes a full set of tools for developing and debugging application -code and designing an application UI. You can read about the tools in the Dev Guide and access them -in the <sdk>/tools/ directory. - -

    The tools package in this SDK includes updates from those provided in the -previous SDK. The tools use the same project structure as in the previous SDK -(Android 1.5). If you have application projects developed in the Android 1.5 -SDK, you can migrate them to the latest SDK without modification. For more -information about how to migrate, see Upgrading the -SDK. - -

    Android Platforms

    - -

    This SDK includes multiple Android platform versions that you can use to -develop applications. For each version, both a fully compliant Android library -and system image are provided. The table below lists the platform versions -included in this SDK. For more information about a platform version — -features, applications included, localizations, API changes, and so on — -see its Version Notes.

    - - - - - - - - - - - - - - - - - -
    PlatformAPI -LevelNotesDescription
    Android 1.64Version -NotesIncludes a standard Android 1.6 library and system image with a set of -development applications. Does not include any external libraries (such as the -Maps external library).
    Android 1.53Version -NotesIncludes a standard Android 1.5 library and system image with a set of -development applications. Does not include any external libraries (such as the -Maps external library).
    - -

    Note that you can use the Android SDK and AVD Manager to download other -platform versions into your development environment.. - -

    SDK Add-Ons

    - -

    An SDK add-on provides a development environment for an Android external -library or a customized (but fully compliant) Android system image. This SDK -includes the SDK add-ons listed below. The Android system API Level required by -the add-ons are noted.

    - - - - - - - - - - - - - - - - - - -
    Add-OnAPI LevelNotesDescription
    Google APIs4 Includes the com.google.android.maps external library, a compliant -Android 1.6 system image, a {@link android.location.Geocoder Geocoder} -backend service implementation, documentation, and sample code.
    Google APIs3 Includes the com.google.android.maps external library, a compliant -Android 1.5 system image, a {@link android.location.Geocoder Geocoder} -backend service implementation, documentation, and sample code.
    - -

    Sample Code and Applications

    - -

    You can look at a variety of tutorials and samples in the Dev Guide and access the sample -code itself in the <sdk>/platforms/<platform>/samples/ -directory of the SDK package. Note the new location — the SDK now includes -multiple platform versions that you can develop against and each has its own -sample code directory.

    - -

    For example, to view or build the samples available for the Android -1.6 platform (AVD target "Android 1.6"), you will find the samples in the -<sdk>/platforms/android-1.6/samples/ directory of the SDK -package.

    - -

    Documentation

    - -

    The SDK package includes a full set of local documentation. To view it, open -the <sdk>/documentation.html file in a web browser. If you -are developing in an IDE such as Eclipse, you can also view the reference -documentation directly in the IDE.

    - -

    The most current documentation is always available on the Android Developers -site:

    - -

    http://developer.android.com/ -

    - - diff --git a/docs/html/sdk/1.6_r1/installing.jd b/docs/html/sdk/1.6_r1/installing.jd index 954bfa3f00392e038e7c9040f0ec9410f297fe41..2ea04e4687546c55e17f6c69baea7cb70454f568 100644 --- a/docs/html/sdk/1.6_r1/installing.jd +++ b/docs/html/sdk/1.6_r1/installing.jd @@ -1,441 +1,8 @@ -page.title=Installing the Android 1.6 SDK -sdk.version=1.6 -sdk.preview=0 - @jd:body - - -

    This page describes how to install the Android SDK and set up your -development environment.

    - -

    If you encounter any problems during installation, see the -Installation Notes at the bottom of -this page.

    - -

    Upgrading?

    -

    If you have already developed applications using an earlier version -of the Android SDK, please read Upgrading the SDK, instead. -

    - - -

    Prepare for Installation

    - -

    Before you begin, take a moment to confirm that your development machine -meets the System Requirements.

    - -

    If you will be developing on Eclipse with the Android Development -Tools (ADT) Plugin — the recommended path if you are new to -Android — make sure that you have a suitable version of Eclipse -installed on your computer (3.4 or newer is recommended). If you need -to install Eclipse, you can download it from this location:

    - -

    http://www.eclipse.org/downloads/

    - -

    A Java or RCP version of Eclipse is recommended.

    - -

    Install the SDK

    - -

    After downloading the Android SDK, unpack the Android SDK .zip archive -to a suitable location on your machine. By default, the SDK files are unpacked -into a directory named android_sdk_<platform>_<release>.

    - -

    Make a note of the name and location of the unpacked SDK directory on your system — you -will need to refer to the SDK directory later, when setting up the Android plugin or when -using the SDK tools.

    - -

    Optionally, you may want to add the location of the SDK's primary tools directory -to your system PATH. The primary tools/ directory is located at the root of the -SDK folder. Adding tools to your path lets you run Android Debug Bridge (adb) and -the other command line tools without -needing to supply the full path to the tools directory.

    -
      -
    • On Linux, edit your ~/.bash_profile or ~/.bashrc file. Look - for a line that sets the PATH environment variable and add the - full path to the tools/ directory to it. If you don't - see a line setting the path, you can add one:
    • - -
        export PATH=${PATH}:<your_sdk_dir>/tools
      - -
    • On a Mac, look in your home directory for .bash_profile and - proceed as for Linux. You can create the .bash_profile if - you haven't already set one up on your machine.
    • - -
    • On Windows, right-click on My Computer, and select Properties. - Under the Advanced tab, hit the Environment Variables button, and in the - dialog that comes up, double-click on Path (under System Variables). Add the full path to the - tools/ directory to the path.
    • -
    - -

    Note that, if you update your SDK in the future, you -should remember to update your PATH settings to point to the new location, if different.

    - -

    If you will be using the Eclipse IDE as your development environment, -the next section describes how to install the Android Development Tools (ADT) plugin and set up Eclipse. -If you choose not to use Eclipse, you can -develop Android applications in an IDE of your choice and then compile, debug and deploy using -the tools included in the SDK (skip to Next Steps).

    - - -

    Install the ADT Plugin for Eclipse

    - -

    Android offers a custom plugin for the Eclipse IDE, called Android -Development Tools (ADT), that is designed to give you a powerful, -integrated environment in which to build Android applications. It -extends the capabilites of Eclipse to let you quickly set up new Android -projects, create an application UI, add components based on the Android -Framework API, debug your applications using the Android SDK tools, and even export -signed (or unsigned) APKs in order to distribute your application.

    - -

    In general, using Eclipse with ADT is a highly recommended approach to -Android development and is the fastest way to get started. (If you prefer to -work in an IDE other than Eclipse, you do not need to install Eclipse or ADT, -instead, you can directly use the SDK tools to build and debug your -application—skip to Next Steps.)

    - -

    Once you have the Eclipse IDE installed, as described in Preparing for Installation, follow the steps below to -download the ADT plugin and install it in your respective Eclipse environment. -

    - - - - - - - -
    Eclipse 3.4 (Ganymede)Eclipse 3.5 (Galileo)
    - -
      -
    1. Start Eclipse, then select Help > Software Updates.... - In the dialog that appears, click the Available Software tab.
    2. -
    3. Click Add Site...
    4. -
    5. In the Add Site dialog that appears, enter this URL in the "Location" field: -
      https://dl-ssl.google.com/android/eclipse/
      -

      Note: If you have trouble aqcuiring the plugin, try using "http" in the Location URL, - instead of "https" (https is preferred for security reasons).

      -

      Click OK.

    6. -
    7. Back in the Available Software view, you should see the plugin listed by the URL, - with "Developer Tools" nested within it. Select the checkbox next to - Developer Tools and click Install...
    8. -
    9. On the subsequent Install window, "Android DDMS" and "Android Development Tools" - should both be checked. Click Next.
    10. -
    11. Read and accept the license agreement, then click Finish.
    12. -
    13. Restart Eclipse.
    14. -
    - -
    - -
      -
    1. Start Eclipse, then select Help > Install - New Softare.
    2. -
    3. In the Available Software dialog, click Add....
    4. -
    5. In the Add Site dialog that appears, enter a name for the remote site - (e.g., "Android Plugin") in the "Name" field. -

      In the "Location" field, enter this URL:

      -
      https://dl-ssl.google.com/android/eclipse/
      -

      Note: If you have trouble aqcuiring the plugin, you can try - using "http" in the URL, instead of "https" (https is preferred for - security reasons).

      -

      Click OK.

      -
    6. -
    7. Back in the Available Software view, you should now see "Developer - Tools" added to the list. Select the checkbox next to Developer Tools, - which will automatically select the nested tools Android DDMS and Android - Development Tools. - Click Next.
    8. -
    9. In the resulting Install Details dialog, the Android DDMS and Android - Development Tools features are listed. Click Next to - read and accept the license agreement and install any dependencies, - then click Finish.
    10. -
    11. Restart Eclipse.
    12. - -
    -
    - -

    Now modify your Eclipse preferences to point to the Android SDK directory:

    -
      -
    1. Select Window > Preferences... to open the Preferences - panel (Mac: Eclipse > Preferences).
    2. -
    3. Select Android from the left panel.
    4. -
    5. For the SDK Location in the main panel, click Browse... and - locate your downloaded SDK directory.
    6. -
    7. Click Apply, then OK.
    8. -
    - -

    Done! If you haven't encountered any problems, then you're ready to -begin developing Android applications. See the -Next Steps section for suggestions on how to start.

    - - -

    Contents of the SDK

    - -

    Once you've downloaded and unpacked the SDK, open the SDK directory -and take a look at what's inside. - -

    The table below describes the SDK directory contents.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameDescription
    add-ons/Contains add-ons to the Android SDK development -environment, which let you develop against external libraries that are available on some -devices.
    docs/A full set of documentation in HTML format, including the Developer's Guide, -API Reference, and other information.
    platforms/Contains a set of Android platform versions that you can develop -applications against, each in a separate directory.
    <platform>/Platform version directory, for example "Android 1.6". All platform version -directories contain a similar set of files and subdirectory structure.
     data/Storage area for default fonts and resource definitions.
    images/Storage area for default disk images, including the Android system image, -the default userdata image, the default ramdisk image, and more. The images -are used in emulator sessions.
    samples/Contains a wide variety of sample applications that you can load as projects -into your development environment, compile, and run on the emulator.
    skins/A set of emulator skins available for the platform version. Each skin is -designed for a specific screen resolution.
    templates/Storage area for file templates used by the SDK development tools.
    tools/Any development tools that are specific to the platform version.
    android.jarThe Android library used when compiling applications against this platform -version.
    tools/Contains the set of development and profiling tools available to you, such -as the emulator, the android tool, adb, ddms, and more.
    RELEASE_NOTES.htmlA file that loads the local version of the SDK release notes, if -available.
    documentation.htmlA file that loads the entry page for the local Android SDK -documentation.
    - -

    Next Steps

    -

    Once you have completed installation, you are ready to -begin developing applications. Here are a few ways you can get started:

    - -

    Learn about Android

    -
      -
    • Take a look at the Dev - Guide and the types of information it provides
    • -
    • Read an introduction to Android as a platform in What is - Android?
    • -
    • Learn about the Android framework and how applications run on it in - Application - Fundamentals
    • -
    • Take a look at the Android framework API specification in the Reference tab
    • -
    - -

    Explore the SDK

    - - -

    Explore some code

    -
      -
    • Set up a Hello - World application (highly recommended, especially for Eclipse users)
    • -
    • Follow the - Notepad Tutorial to build a full Android application
    • -
    • Create a new project for one of the other sample applications - included in <sdk>/platforms/<platform>/samples, - then compile and run it in your development environment
    • -
    - -

    Visit the Android developer groups

    -
      -
    • Take a look at the Community tab to see a list of - Android developers groups. In particular, you might want to look at the - Android - Developers group to get a sense for what the Android developer - community is like.
    • -
    - - -

    Installation Notes

    - -

    Ubuntu Linux Notes

    - -
      -
    • If you need help installing and configuring Java on your - development machine, you might find these resources helpful: - -
    • -
    • Here are the steps to install Java and Eclipse, prior to installing - the Android SDK and ADT Plugin. -
        -
      1. If you are running a 64-bit distribution on your development - machine, you need to install the ia32-libs package using - apt-get:: -
        apt-get install ia32-libs
        -
      2. -
      3. Next, install Java:
        apt-get install sun-java6-bin
      4. -
      5. The Ubuntu package manager does not currently offer an Eclipse 3.3 - version for download, so we recommend that you download Eclipse from - eclipse.org (http://www.eclipse.org/ - downloads/). A Java or RCP version of Eclipse is recommended.
      6. -
      7. Follow the steps given in previous sections to install the SDK - and the ADT plugin.
      8. -
      -
    • -
    - -

    Other Linux Notes

    - -
      -
    • If JDK is already installed on your development computer, please - take a moment to make sure that it meets the version requirements listed - in the System Requirements. - In particular, note that some Linux distributions may include JDK 1.4 or Gnu - Compiler for Java, both of which are not supported for Android development.
    • -
    - - -

    Troubleshooting ADT Installation

    - -

    If you are having trouble downloading the ADT plugin after following the -steps above, here are some suggestions:

    - -
      -
    • If Eclipse can not find the remote update site containing the ADT plugin, -try changing the remote site URL to use http, rather than https. That is, set -the Location for the remote site to: -
      http://dl-ssl.google.com/android/eclipse/
    • -
    • If you are behind a firewall (such as a corporate firewall), make sure that -you have properly configured your proxy settings in Eclipse. In Eclipse 3.3/3.4, -you can configure proxy information from the main Eclipse menu in -Window (on Mac, Eclipse) > -Preferences > General > Network -Connections.
    • -
    - -

    If you are still unable to use Eclipse to download the ADT plugin as a -remote update site, you can download the ADT zip file to your local machine and -manually install it:

    - -
      -
    1. Download the - ADT Plugin zip file (do not unpack it).
    2. -
    3. Follow steps 1 and 2 in the default install - instructions (above).
    4. -
    5. In the Add Site dialog, click Archive.
    6. -
    7. Browse and select the downloaded zip file.
    8. -
    9. In Eclipse 3.5 only, enter a name for the local update site (e.g., - "Android Plugin") in the "Name" field.
    10. -
    11. Click OK. -
    12. Follow the remaining procedures as listed for - default installation above, - starting from step 4.
    13. -
    - -

    To update your plugin once you've installed using the zip file, you will have -to follow these steps again instead of the default update instructions.

    - -

    Other install errors

    - -

    Note that there are features of ADT that require some optional -Eclipse components (for example, WST). If you encounter an error when -installing ADT, your Eclipse installion might not include these components. -For information about how to quickly add the necessary components to your -Eclipse installation, see the troubleshooting topic -ADT -Installation Error: "requires plug-in org.eclipse.wst.sse.ui".

    - -

    For Linux users

    -

    If you encounter this error when installing the ADT Plugin for Eclipse: -

    -An error occurred during provisioning.
    -Cannot connect to keystore.
    -JKS
    -

    -...then your development machine lacks a suitable Java VM. Installing Sun -Java 6 will resolve this issue and you can then reinstall the ADT -Plugin.

    - + +

    You should have already been redirected by your browser. Please go to +Installing the Android SDK.

    \ No newline at end of file diff --git a/docs/html/sdk/1.6_r1/requirements.jd b/docs/html/sdk/1.6_r1/requirements.jd index 8cfc0494b820b6b90c1f6ae82b578ba98a9fe9ef..96fdcb26f6facd53064fc5a63456960b1f811d12 100644 --- a/docs/html/sdk/1.6_r1/requirements.jd +++ b/docs/html/sdk/1.6_r1/requirements.jd @@ -1,57 +1,8 @@ -page.title=System Requirements -sdk.version=1.6 -sdk.preview=0 @jd:body -

    The sections below describe the system and software requirements for developing -Android applications using the Android SDK tools included in Android - SDK, Release .

    - -

    Supported Operating Systems

    -
      -
    • Windows XP (32-bit) or Vista (32- or 64-bit)
    • -
    • Mac OS X 10.4.8 or later (x86 only)
    • -
    • Linux (tested on Linux Ubuntu Hardy Heron) -
        -
      • 64-bit distributions must be capable of running 32-bit applications. - For information about how to add support for 32-bit applications, see - the Installation Notes.
      • -
      -
    • -
    - -

    Supported Development Environments

    -
      -
    • Eclipse IDE -
        -
      • Eclipse 3.4 (Ganymede) or 3.5 (Galileo) -
          -
        • Note: Eclipse 3.3 has not been fully tested with ADT 0.9.3 and support can no longer be guaranteed. We suggest you upgrade to - Eclipse 3.4 or 3.5.
        • -
        • Recommended Eclipse IDE packages: Eclipse IDE for Java EE Developers, Eclipse IDE for Java Developers, Eclipse for RCP/Plug-in Developers
        • -
        • Eclipse JDT plugin (included in most Eclipse IDE packages)
        • -
        • Eclipse Classic IDE package is not supported.
        • -
        -
      • -
      • JDK 5 or JDK 6 (JRE alone is not sufficient)
      • -
      • Android Development Tools plugin (optional)
      • -
      • Not compatible with Gnu Compiler for Java (gcj)
      • -
      -
    • -
    • Other development environments or IDEs -
        -
      • JDK 5 or JDK 6 (JRE alone is not sufficient)
      • -
      • Apache Ant 1.6.5 or later for Linux and Mac, 1.7 or later for Windows
      • -
      • Not compatible with Gnu Compiler for Java (gcj)
      • -
      -
    • -
    - -

    Note: If JDK is already installed on your development computer, please take a moment to make sure that it meets the version requirements listed above. In -particular, note that some Linux distributions may include JDK 1.4 or Gnu Compiler for Java, both of which are not supported for Android development.

    - -

    Hardware requirements

    -
      -
    • For the base SDK package, at least 600MB of available disk space. For each platform downloaded into the SDK, an additional 100MB is needed.
    • -
    + +

    You should have already been redirected by your browser. Please go to +System Requirements.

    \ No newline at end of file diff --git a/docs/html/sdk/RELEASENOTES.jd b/docs/html/sdk/RELEASENOTES.jd index bca89f610b7c85101f854779a996e2c18b12cf10..2c1d4951b699a3689940b1cce66ff29fe400451d 100644 --- a/docs/html/sdk/RELEASENOTES.jd +++ b/docs/html/sdk/RELEASENOTES.jd @@ -28,16 +28,16 @@ keep your development environment up-to-date.

    Note that if you are currently using the Android 1.6 SDK, you do not necessarily need to install the new SDK, since your existing SDK already -includes the Android SDK and AVD Manager tool. To develop against Android 2.0, -for example, you could just download the Android 2.0 platform into your existing +includes the Android SDK and AVD Manager tool. To develop against Android 2.0.1, +for example, you could just download the Android 2.0.1 platform into your existing SDK.

    Release notes for Android platforms and other SDK components are now available from the "SDK" tab, under "Downloadable SDK Components."

    For details about the Android platforms included in the SDK — including -bug fixes, features, and API changes — please read the Version Notes -documents available at left. For a list of Android platforms included in this -release, see the Download -page. Note that you can use the Android SDK and AVD Manager to download -additional platforms.

    +bug fixes, features, and API changes — please read the Android 1.6 version notes.

    Installation and Upgrade Notes

    @@ -96,10 +93,6 @@ to migrate the application to the new SDK, compile it using the platform matching the application's original API Level, and run it against the most current platform.

    -

    If you're installing the Android SDK for the first time, please see -the instructions in Installing the SDK. -

    ADT Plugin for Eclipse

    An updated version of the ADT Plugin for Eclipse is available with the @@ -115,8 +108,8 @@ Plugin (0.9.3 or higher).

    The new version of ADT is downloadable from the usual remote update site or is separately downloadable as a .zip archive. For instructions on how to -download the plugin, please see Upgrading -Your Eclipse Plugin.

    +download the plugin, please see Installing and Updating ADT.

    Android SDK and AVD Manager

    @@ -208,11 +201,9 @@ properly, you do not need to upgrade to the new driver. However, we recommend upgrading if you have had any problems with the older driver or simply want to upgrade to the latest version.

    -

    The USB driver files are located in the -<SDK>/usb_driver directory. For driver installation or +

    For driver installation or upgrade instructions, see Installing the WinUSB -Driver.

    +href="{@docRoot}sdk/win-usb.html">USB Driver for Windows.

    Emulator Skins, Android 1.6 Platform

    @@ -360,10 +351,8 @@ Android project.

    For details about the Android platforms included in the SDK — including -bug fixes, features, and API changes — please read the Version Notes -documents available at left. For a list of Android platforms included in this -release, see the Download -page.

    +bug fixes, features, and API changes — please read the Android 1.5 version notes.

    Installation and Upgrade Notes

    @@ -379,10 +368,6 @@ to migrate the application to the new SDK, compile it using the platform matching the application's original API Level, and run it against the most current platform.

    -

    If you're installing the Android SDK for the first time, please see -the instructions in Installing the SDK. -

    SDK Add-Ons

    This version of the SDK introduces support for SDK add-ons, which extend the @@ -457,11 +442,9 @@ these USB drivers that you can install, to let you develop on the device:

  • USB driver for 64-bit Vista only
  • -

    The USB driver files are located in the -<SDK>/usb_driver directory. For details and -installation instructions, see Setting Up a -Device for Development.

    +

    For driver installation or +upgrade instructions, see USB Driver for Windows.

    Resolved Issues, Changes

    @@ -508,7 +491,7 @@ as well as a few minor API changes from the 1.0 version.

    For details about the Android 1.1 system image included in the SDK — including bug fixes, features, and API changes — please read the Android 1.1 Version Notes.

    +href="{@docRoot}sdk/android-1.1.html">Android 1.1 version notes.

    App Versioning for Android 1.1

    @@ -562,8 +545,7 @@ testing.

    Plugin for Eclipse is 0.8.0. If you are using a previous version of ADT, you should update to the latest version for use with this SDK. For information about how to update your ADT plugin, see -Upgrading -the SDK.

    +Installing and Updating ADT.

    Installation and Upgrade Notes

    @@ -572,10 +554,6 @@ changes to your application are needed. You may want to wipe application user data (emulator option -wipe-data) when running your application on the Android 1.1 emulator for the first time.

    -

    If you're installing the Android SDK for the first time, please see -the instructions in Installing the SDK. -

    Other Notes

    MapView API Key

    @@ -626,7 +604,7 @@ Device for Development.

    classes, you can do so. However, you need to set up a custom JUnit configuration before your tests will run properly. For detailed information about how to set up the JUnit configuration, see the troubleshooting topic Running a Junit test class +href="{@docRoot}resources/faq/troubleshooting.html#addjunit">Running a Junit test class in Eclipse. @@ -673,13 +651,7 @@ added.

    Development Tools (ADT) Plugin for Eclipse is 0.8.0. If you are using a previous version of ADT, you should update to the latest version for use with this SDK. For information about how to update your ADT plugin, see Upgrading the SDK.

    - -

    Installation and Upgrade Notes

    - -

    If you're installing the Android SDK for the first time, please see the -instructions in Installing the -SDK. +href="{@docRoot}sdk/eclipse-adt.html">Installing and Updating ADT.

    Other Notes

    @@ -765,8 +737,6 @@ to this release.

    If you've been developing an application using a previous SDK version and you want the application to run on Android-powered mobile devices, you must port the application to the Android 1.0 SDK. Please see Upgrading the SDK for detailed instructions on how to make the transition to this release. Be sure to wipe application user data (emulator option -wipe-data) when running your application on the Android 1.0 SDK emulator.

    -

    If you're installing the Android SDK for the first time, please see the instructions in Installing the SDK. -

    Other Notes

    MapView API Key

    diff --git a/docs/html/sdk/adt-notes.jd b/docs/html/sdk/adt-notes.jd index 639d5e80118164c22fdb1bc657f81424c3149b6c..361d99aea3fc3bff44367ccf35c7c1789886012b 100644 --- a/docs/html/sdk/adt-notes.jd +++ b/docs/html/sdk/adt-notes.jd @@ -16,16 +16,40 @@ android.com/sdk/adt-notes.html.

    feature. For more information, see Installing and Updating ADT.

    + +

    ADT 0.9.5

    + +

    December 2009. ADT 0.9.5 provides several bug fixes for developers, +as described below. +

    + +

    Dependencies

    + +

    ADT 0.9.5 requires features provided in SDK Tools r4. If you install +ADT 0.9.5, which is highly recommended, you should use the Android SDK and AVD +Manager to download SDK Tools r4 or higher into your SDK. For more information, +see Adding SDK Components. +

    + +

    General Notes

    +
      +
    • AVD Launch dialog now shows scale value.
    • +
    • Fixes potential NPE in SDK Manager on AVD launch, for older AVD with no skin name specified.
    • +
    • Fixes XML validation issue in on older Java versions.
    • +
    • .apk packaging now properly ignores vi swap files as well as hidden files.
    • +
    + +

    ADT 0.9.4

    -

    ADT 0.9.4 provides several new features for developers, as described below. +

    October 2009. ADT 0.9.4 provides several new features for developers, as described below.

    Dependencies

    -

    ADT 0.9.4 requires features provided in SDK Tools, Revision 3. If you install +

    ADT 0.9.4 requires features provided in SDK Tools, revision 3. If you install ADT 0.9.4, which is highly recommended, you should use the Android SDK and AVD -Manager to download SDK Tools 3 or higher into your SDK. For more information, +Manager to download SDK Tools r3 or higher into your SDK. For more information, see Adding SDK Components.

    diff --git a/docs/html/sdk/adt_download.jd b/docs/html/sdk/adt_download.jd index 6ce76343aa819136801cccca777b940c3f4fd1fc..6dbca482369d32bd2340dcd039b8c0a79f94e997 100644 --- a/docs/html/sdk/adt_download.jd +++ b/docs/html/sdk/adt_download.jd @@ -22,10 +22,17 @@ ADT Installation.

    Notes - 0.9.4 - ADT-0.9.4.zip + 0.9.5 + ADT-0.9.5.zip {@adtZipBytes} bytes {@adtZipChecksum} + Requires SDK Tools, Revision 4 December 2009 + + + 0.9.4 + ADT-0.9.4.zip + 3367536 bytes + 4cdecd72b3e28022d8a55891f13e7d43 Requires SDK Tools, Revision 3 October 2009 diff --git a/docs/html/sdk/android-1.6.jd b/docs/html/sdk/android-1.6.jd index 4b659a1af62f5a360c7ba57339b659cd0ea2bf7d..7151325626b9271ff0704f19ec11f7f4b9ecff4b 100644 --- a/docs/html/sdk/android-1.6.jd +++ b/docs/html/sdk/android-1.6.jd @@ -1,8 +1,8 @@ -page.title=Android 1.6, Release 1 +page.title=Android 1.6, Release 2 sdk.platform.version=1.6 sdk.platform.apiLevel=4 sdk.platform.majorMinor=minor -sdk.platform.releaseDate=September 2009 +sdk.platform.releaseDate=December 2009 sdk.platform.deployableDate=October 2009 @jd:body @@ -13,6 +13,7 @@ sdk.platform.deployableDate=October 2009

    In this document

    1. Platform Highlights
    2. +
    3. Release Notes
    4. Built-in Applications
    5. Locales
    6. Emulator Skins
    7. @@ -37,20 +38,21 @@ sdk.platform.deployableDate=October 2009 API Level: {@sdkPlatformApiLevel}

      Android {@sdkPlatformVersion} is a {@sdkPlatformMajorMinor} platform release -deployable to Android-powered handsets starting in {@sdkPlatformDeployableDate}. -The release includes new features for users and developers, as well as changes +deployable to Android-powered handsets since {@sdkPlatformDeployableDate}. +The platform includes new features for users and developers, as well as changes in the Android framework API.

      -

      For developers, the Android {@sdkPlatformVersion} platform is available as a -downloadable component for the Android SDK. The downloadable platform includes a -fully compliant Android library and system image, as well as a set of emulator -skins, sample applications, and more. The downloadable platform is fully -compliant and includes no external libraries.

      +

      For developers, a new release of the Android {@sdkPlatformVersion} platform +is available as a downloadable component for the Android SDK. The platform +— Android 1.6 r2 — includes a fully compliant Android library and +system image, as well as a set of emulator skins, sample applications, and minor +development updates. The downloadable platform is fully compliant (API Level 4) +and includes no external libraries.

      To get started developing or testing against the Android {@sdkPlatformVersion} platform, use the Android SDK and AVD Manager tool to -download the platform into your Android 1.6 or later SDK. For more information, -see Adding SDK +download the latest Android 1.6 platform into your Android 1.6 or later SDK. For +more information, see Adding SDK Components.

      @@ -61,6 +63,45 @@ href="http://developer.android.com/sdk/android-{@sdkPlatformVersion}-highlights. {@sdkPlatformVersion} Platform Highlights document.

      +

      Release Notes

      + +

      The sections below provide information about the available releases of the +Android 1.6 platform.

      + +

      Android 1.6, Release 2

      + +

      December 2009. Requires SDK Tools r4 or higher.

      + +

      API related:

      +
        +
      • Properly exposes CDMA-related constants in {@link android.telephony.TelephonyManager android.telephony.TelephonyManager}: DATA_ACTIVITY_DORMANT, +PHONE_TYPE_CDMA, NETWORK_TYPE_CDMA, +NETWORK_TYPE_EVDO_0, NETWORK_TYPE_EVDO_A, and +NETWORK_TYPE_1xRTT.
      • +
      +

      System image:

      +
        +
      • Fixes bug so that Bitmap's density is now propagated through Parcelable.
      • +
      • Fixes NinePatchDrawable to properly scale its reported padding for compatibility mode.
      • +
      • Fixes TextView to properly compute styled font metrics based on the screen density.
      • +
      • Updates kernel to 2.6.29, to match kernel on commercially +available Android-powered devices.
      • +
      +

      Tools:

      +
        +
      • Adds new Ant build system with support for Emma instrumentation projects +(code coverage).
      • +
      • Fixes emulator skins to properly emulate d-pad in landscape mode.
      • +
      • Fixes density rendering in the layout editor in ADT.
      • +
      + + + +

      Android 1.6, Release 1

      + +

      September 2009. Initial release. Requires SDK Tools r3 or higher.

      + +

      Built-in Applications

      The system image included in the downloadable platform provides these @@ -321,15 +362,15 @@ determining the density of the current device screen.

    8. New attributes for the {@code <uses-sdk>} element:
        -
      • maxSdkVersion: This indicates the maximum API Level on which an application is - designed to run. If an application declares this attribute, the Android system prevents the user - from installing the application if the system's API Level is higher than the value specified in - this attribute.
      • -
      • targetSdkVersion: This indicates the API Level that the application is targeting. +
      • targetSdkVersion: Indicates the API Level that the application is targeting. It is able to run on older versions (down to minSdkVersion), but was explicitly tested to work with the version specified here. Specifying this version allows the platform to disable compatibility code that is not required or enable newer features that are not available to older applications.
      • +
      • maxSdkVersion: Indicates the maximum API Level on which an application is + designed to run. Important: Please read the <uses-sdk> + documentation before using this attribute.
    9. diff --git a/docs/html/sdk/android-2.0.1.jd b/docs/html/sdk/android-2.0.1.jd new file mode 100644 index 0000000000000000000000000000000000000000..43b1710d85905fe1c7434490d07431dc27fe17e2 --- /dev/null +++ b/docs/html/sdk/android-2.0.1.jd @@ -0,0 +1,304 @@ +page.title=Android 2.0.1, Release 1 +sdk.platform.version=2.0.1 +sdk.platform.apiLevel=6 +sdk.platform.majorMinor=minor +sdk.platform.releaseDate=December 2009 +sdk.platform.deployableDate=December 2009 + +@jd:body + + + +

      +Date: {@sdkPlatformReleaseDate}
      +API Level: {@sdkPlatformApiLevel}

      + +

      Android {@sdkPlatformVersion} is a {@sdkPlatformMajorMinor} platform release +deployable to Android-powered handsets starting in {@sdkPlatformDeployableDate}. +This release includes minor API +changes, bug fixes and framework behavioral changes. For information on changes +and fixes, see the Framework API section.

      + +

      For developers, the Android {@sdkPlatformVersion} platform is available as a +downloadable component for the Android SDK. The downloadable platform includes a +fully compliant Android library and system image, as well as a set of emulator +skins, sample applications, and more. The downloadable platform +includes no external libraries.

      + +

      To get started developing or testing against the Android +{@sdkPlatformVersion} platform, use the Android SDK and AVD Manager tool to +download the platform into your Android 1.6 or later SDK. For more information, +see Adding SDK +Components.

      + + +

      Platform Highlights

      + +

      For a list of new user features and platform highlights, see the Android +2.0 Platform Highlights document.

      + +

      Built-in Applications

      + +

      The system image included in the downloadable platform provides these +built-in applications:

      + + + + + + +
      +
        +
      • Alarm Clock
      • +
      • Browser
      • +
      • Calculator
      • +
      • Camcorder
      • +
      • Camera
      • +
      • Contacts
      • +
      • Custom Locale (developer app)
      • +
      • Dev Tools (developer app)
      • +
      • Dialer
      • +
      +
      +
        +
      • Email
      • +
      • Gallery
      • +
      • Gestures Builder
      • +
      • IME for Japanese text input
      • +
      • Messaging
      • +
      • Music
      • +
      • Settings
      • +
      • Spare Parts (developer app)
      • +
      +
      + +

      New with 2.0.1 The Dev Tools app now +includes a "Sync Tester" application to provide quick and easy testing of +third-party sync adapters.

      + +

      Locales

      + +

      The system image included in the downloadable platform provides a variety of +built-in locales. In some cases, region-specific strings are available for the +locales. In other cases, a default version of the language is used. The +languages that are available in the Android {@sdkPlatformVersion} system +image are listed below (with language_country/region locale +descriptor).

      + + + + + + +
      +
        +
      • Chinese, PRC (zh_CN)
      • +
      • Chinese, Taiwan (zh_TW)
      • +
      • Czech (cs_CZ)
      • +
      • Dutch, Netherlands (nl_NL)
      • +
      • Dutch, Belgium (nl_BE)
      • +
      • English, US (en_US)
      • +
      • English, Britain (en_GB)
      • +
      • English, Canada (en_CA)
      • +
      • English, Australia (en_AU)
      • +
      • English, New Zealand (en_NZ)
      • +
      • English, Singapore(en_SG)
      • +
      • French, France (fr_FR)
      • +
      • French, Belgium (fr_BE)
      • +
      +
      +
    10. French, Canada (fr_CA)
    11. +
    12. French, Switzerland (fr_CH)
    13. +
    14. German, Germany (de_DE)
    15. +
    16. German, Austria (de_AT)
    17. +
    18. German, Switzerland (de_CH)
    19. +
    20. German, Liechtenstein (de_LI)
    21. +
    22. Italian, Italy (it_IT)
    23. +
    24. Italian, Switzerland (it_CH)
    25. +
    26. Japanese (ja_JP)
    27. +
    28. Korean (ko_KR)
    29. +
    30. Polish (pl_PL)
    31. +
    32. Russian (ru_RU)
    33. +
    34. Spanish (es_ES)
    35. +
      + +

      Localized UI strings match the locales that are accessible +through Settings.

      + +

      Emulator Skins

      + +

      The downloadable platform includes a set of emulator skins that you can use for modeling your application in different screen sizes and resolutions. The emulator skins are:

      + +
        +
      • + QVGA (240x320, low density, small screen) +
      • +
      • + WQVGA (240x400, low density, normal screen) +
      • +
      • + FWQVGA (240x432, low density, normal screen) +
      • +
      • + HVGA (320x480, medium density, normal screen) +
      • +
      • + WVGA800 (480x800, high density, normal screen) +
      • +
      • + WVGA854 (480x854 high density, normal screen) +
      • +
      + +

      For more information about how to develop an application that displays and functions properly on all Android-powered devices, see Supporting Multiple Screens.

      + +

      Developer Features

      + +

      The sections below provide information about new developer features offered by the downloadable Android 2.0 platform component.

      + +

      Ant Support

      + +
        +
      • Debug- and release-mode application signing. Release-mode signing includes integrated support for zipalign optimization. For more information, see Signing Your Applications.
      • + +
      • Adds new Ant build system with support for Emma instrumentation projects (code coverage).
      • +
      + +

      Framework API

      + +

      The sections below provide information about changes made to the application +framework API provided by the Android {@sdkPlatformVersion} platform. Note, +however, that Android 2.0.1 is a minor release to Android 2.0, so for more +information about the changes made to in Android 2.0, please refer to the +Android 2.0 version notes.

      + + +

      API level

      + +

      The Android {@sdkPlatformVersion} platform delivers an updated version of the framework +API. The Android {@sdkPlatformVersion} API +is assigned an integer identifier — {@sdkPlatformApiLevel} — that is +stored in the system itself. This identifier, called the "API Level", allows the +system to correctly determine whether an application is compatible with +the system, prior to installing the application.

      + +

      To use APIs introduced in Android {@sdkPlatformVersion} in your application, you need to +set the proper value, "{@sdkPlatformApiLevel}", in the attributes of the <uses-sdk> +element in your application's manifest.

      + +

      For more information about how to use API Level, see the API Levels document.

      + + +

      API changes summary

      + +

      The following is a summary of changes to the framework APIs.

      + +
        +
      • New {@code quickContactBadgeStyle*} attributes that let +applications apply necessary styles to the {@link +android.widget.QuickContactBadge} widget.
      • + +
      • Remove support for the {@link +android.content.Intent#ACTION_CONFIGURATION_CHANGED} broadcast when declared as +a filter in the manifest. To receive this broadcast, an application must +do so from the application at run-time, with {@link +android.content.Context#registerReceiver(BroadcastReceiver, IntentFilter)}.
      • +
      + +

      Behavior changes

      + +

      The following is a summary of changes that affect the behavior of some +framework APIs but do not add or remove API functionality.

      + +

      Bluetooth

      + +

      Changes to the values returned by {@link +android.bluetooth.BluetoothAdapter#ACTION_REQUEST_ENABLE} and +{@link android.bluetooth.BluetoothAdapter#ACTION_REQUEST_DISCOVERABLE}:

      + +
        +
      • {@link android.bluetooth.BluetoothAdapter#ACTION_REQUEST_ENABLE} now +returns {@link android.app.Activity#RESULT_OK} if Bluetooth was successfully +enabled and {@link android.app.Activity#RESULT_CANCELED} if the user rejected +the request to enable Bluetooth, rather than 0 and -1 (or -2), +respectively.
      • + +
      • {@link android.bluetooth.BluetoothAdapter#ACTION_REQUEST_DISCOVERABLE} +now returns {@link android.app.Activity#RESULT_CANCELED} if the user rejected +the request to enable discoverability or if Bluetooth is not enabled, rather +than -1 and -2, respectively.
      • +
      + +

      Contacts

      + +

      The {@link android.content.Intent#ACTION_INSERT} Intent now returns {@link +android.app.Activity#RESULT_CANCELED} in cases where the contact was not +persisted (for example, if the save was trimmed to a no-op).

      + + +

      Bug fixes

      + +

      The following is a summary of bug fixes that affect some framework APIs.

      + +

      Resources

      + +

      The framework now correctly selects application resources in project +folders that use the API Level qualifier. For example, {@code drawable-v4/} is a +folder of drawable resources for API Level 4 (or higher) devices. This version +matching did not work properly and has been fixed.

      + +

      Contacts

      + +

      The {@link android.content.Intent#ACTION_INSERT} Intent now returns the +appropriate kind of URI when the request is made using the (now +deprecated) {@link android.provider.Contacts} APIs.

      + +

      Other Framework fixes

      + +
        +
      • {@link android.app.Activity#getCallingPackage()} now properly reports the +package name, rather than the process name.
      • +
      + + +

      API differences report

      + +

      For a detailed view of API changes in Android {@sdkPlatformVersion} (API Level {@sdkPlatformApiLevel}), as compared to +API Level 5, see the API +Differences Report. There are very few API changes in API Level 6, +so you might also be interested in reviewing the API +differences between 4 and 5.

      + diff --git a/docs/html/sdk/android-2.1.jd b/docs/html/sdk/android-2.1.jd new file mode 100644 index 0000000000000000000000000000000000000000..7f9141e6a5a27673d6927bcbe71e9a2173b0490b --- /dev/null +++ b/docs/html/sdk/android-2.1.jd @@ -0,0 +1,280 @@ +page.title=Android 2.1, Release 1 +sdk.platform.version=2.1 +sdk.platform.apiLevel=7 +sdk.platform.majorMinor=minor +sdk.platform.releaseDate=January 2010 +sdk.platform.deployableDate=January 2010 + +@jd:body + + + +

      +Date: {@sdkPlatformReleaseDate}
      +API Level: {@sdkPlatformApiLevel}

      + +

      Android {@sdkPlatformVersion} is a {@sdkPlatformMajorMinor} platform release +deployable to Android-powered handsets starting in {@sdkPlatformDeployableDate}. +This release includes new API +changes and bug fixes. For information on changes, see the Framework API +section.

      + +

      For developers, the Android {@sdkPlatformVersion} platform is available as a +downloadable component for the Android SDK. The downloadable platform includes a +fully compliant Android library and system image, as well as a set of emulator +skins, sample applications, and more. The downloadable platform +includes no external libraries.

      + +

      To get started developing or testing against the Android +{@sdkPlatformVersion} platform, use the Android SDK and AVD Manager tool to +download the platform into your Android SDK. For more information, +see Adding SDK +Components.

      + + +

      Platform Highlights

      + +

      Android {@sdkPlatformVersion} does not add significant user features, see the Android +2.0 Platform Highlights document for the latest user features.

      + +

      Built-in Applications

      + +

      The system image included in the downloadable platform provides these +built-in applications:

      + + + + + + +
      +
        +
      • Alarm Clock
      • +
      • Browser
      • +
      • Calculator
      • +
      • Camcorder
      • +
      • Camera
      • +
      • Contacts
      • +
      • Custom Locale (developer app)
      • +
      • Dev Tools (developer app)
      • +
      • Dialer
      • +
      +
      +
        +
      • Email
      • +
      • Gallery
      • +
      • Gestures Builder
      • +
      • IME for Japanese text input
      • +
      • Messaging
      • +
      • Music
      • +
      • Settings
      • +
      • Spare Parts (developer app)
      • +
      +
      + +

      Locales

      + +

      The system image included in the downloadable platform provides a variety of +built-in locales. In some cases, region-specific strings are available for the +locales. In other cases, a default version of the language is used. The +languages that are available in the Android {@sdkPlatformVersion} system +image are listed below (with language_country/region locale +descriptor).

      + + + + + + +
      +
        +
      • Chinese, PRC (zh_CN)
      • +
      • Chinese, Taiwan (zh_TW)
      • +
      • Czech (cs_CZ)
      • +
      • Dutch, Netherlands (nl_NL)
      • +
      • Dutch, Belgium (nl_BE)
      • +
      • English, US (en_US)
      • +
      • English, Britain (en_GB)
      • +
      • English, Canada (en_CA)
      • +
      • English, Australia (en_AU)
      • +
      • English, New Zealand (en_NZ)
      • +
      • English, Singapore(en_SG)
      • +
      • French, France (fr_FR)
      • +
      • French, Belgium (fr_BE)
      • +
      +
      +
    36. French, Canada (fr_CA)
    37. +
    38. French, Switzerland (fr_CH)
    39. +
    40. German, Germany (de_DE)
    41. +
    42. German, Austria (de_AT)
    43. +
    44. German, Switzerland (de_CH)
    45. +
    46. German, Liechtenstein (de_LI)
    47. +
    48. Italian, Italy (it_IT)
    49. +
    50. Italian, Switzerland (it_CH)
    51. +
    52. Japanese (ja_JP)
    53. +
    54. Korean (ko_KR)
    55. +
    56. Polish (pl_PL)
    57. +
    58. Russian (ru_RU)
    59. +
    60. Spanish (es_ES)
    61. +
      + +

      Localized UI strings match the locales that are accessible +through Settings.

      + +

      Emulator Skins

      + +

      The downloadable platform includes a set of emulator skins that you can use +for modeling your application in different screen sizes and resolutions. The +emulator skins are:

      + +
        +
      • + QVGA (240x320, low density, small screen) +
      • +
      • + WQVGA (240x400, low density, normal screen) +
      • +
      • + FWQVGA (240x432, low density, normal screen) +
      • +
      • + HVGA (320x480, medium density, normal screen) +
      • +
      • + WVGA800 (480x800, high density, normal screen) +
      • +
      • + WVGA854 (480x854 high density, normal screen) +
      • +
      + +

      For more information about how to develop an application that displays +and functions properly on all Android-powered devices, see Supporting Multiple +Screens.

      + +

      Framework API

      + +

      The sections below provide information about changes made to the application +framework API provided by the Android {@sdkPlatformVersion} platform.

      + + +

      API level

      + +

      The Android {@sdkPlatformVersion} platform delivers an updated version of +the framework API. The Android {@sdkPlatformVersion} API +is assigned an integer identifier — +{@sdkPlatformApiLevel} — that is +stored in the system itself. This identifier, called the "API Level", allows the +system to correctly determine whether an application is compatible with +the system, prior to installing the application.

      + +

      To use APIs introduced in Android {@sdkPlatformVersion} in your +application, you need to set the proper value, "{@sdkPlatformApiLevel}", in the +attributes of the <uses-sdk> element in your application's +manifest.

      + +

      For more information about how to use API Level, see the API Levels document.

      + + +

      API changes summary

      + +

      The following is a summary of some notable changes to the framework APIs.

      + +

      Live Wallpapers

      + +

      The following additions provide APIs for you to develop animated wallpapers:

      +
        +
      • New {@link android.service.wallpaper} package.
      • +
      • New {@link android.app.WallpaperInfo} class.
      • +
      • Updated {@link android.app.WallpaperManager}.
      • +
      + +

      Telephony

      + +
        +
      • New {@link android.telephony.SignalStrength} class provides information +about the device's current network signal. This can be acquired from the +new {@link +android.telephony.PhoneStateListener#onSignalStrengthsChanged(SignalStrength)} +callback.
      • + +
      • New {@link +android.telephony.PhoneStateListener#onDataConnectionStateChanged(int,int)} +callback.
      • +
      + +

      Views

      + +
        +
      • New {@link android.view.View} methods {@link android.view.View#isOpaque()} +and {@link android.view.View#onDrawScrollBars(Canvas)}.
      • + +
      • New {@link android.widget.RemoteViews} methods {@link +android.widget.RemoteViews#addView(int,RemoteViews)} and {@link +android.widget.RemoteViews#removeAllViews(int)}.
      • + +
      • New {@link android.view.ViewGroup} methods {@link +android.view.ViewGroup#isChildrenDrawingOrderEnabled()} and {@link +android.view.ViewGroup#setChildrenDrawingOrderEnabled(boolean)}.
      • +
      + +

      WebKit

      + +
        +
      • New {@link android.webkit.WebStorage} methods to manipulate web +storage databases.
      • + +
      • New {@link android.webkit.GeolocationPermissions} methods to +get Geolocation permissions from, and set them on the WebView.
      • + +
      • New {@link android.webkit.WebSettings} methods to manage settings for +app cache, web storage, and zooming based on screen density.
      • + +
      • New {@link android.webkit.WebChromeClient} methods for handling video, +browsing history, custom Views, app cache limits, and more.
      • +
      + + + + + +

      API differences report

      + +

      For a detailed view of all API changes in Android {@sdkPlatformVersion} (API +Level {@sdkPlatformApiLevel}), as compared to API Level 6, see the API +Differences Report.

      + diff --git a/docs/html/sdk/api_diff/3/changes.html b/docs/html/sdk/api_diff/3/changes.html index 9bc67b987711d6c077c67c23f179ef8fc5b302ae..2500357deeb995bac579c34ec569e815eedec8f0 100644 --- a/docs/html/sdk/api_diff/3/changes.html +++ b/docs/html/sdk/api_diff/3/changes.html @@ -4,7 +4,7 @@ - + @@ -23,24 +23,23 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </head> -<FRAMESET COLS="242,**" framespacing="1" frameborder="yes" border="1" bordercolor="#e9e9e9"> +<frameset cols="242,**" framespacing="1" frameborder="yes" border="1" bordercolor="#e9e9e9"> <frameset rows="174,**" framespacing="1" frameborder="yes" border="1" bordercolor="#e9e9e9"> - <FRAME SRC="changes/jdiff_topleftframe.html" SCROLLING="no" NAME="topleftframe" frameborder="1"> - <FRAME SRC="changes/alldiffs_index_all.html" SCROLLING="auto" NAME="bottomleftframe" frameborder="1"> - </FRAMESET> - <FRAME SRC="changes/changes-summary.html" SCROLLING="auto" NAME="rightframe" frameborder="1"> -</FRAMESET> -<NOFRAMES> -<H2> + <frame src="changes/jdiff_topleftframe.html" scrolling="no" name="topleftframe" frameborder="1"> + <frame src="changes/alldiffs_index_all.html" scrolling="auto" name="bottomleftframe" frameborder="1"> + </frameset> + <frame src="changes/changes-summary.html" scrolling="auto" name="rightframe" frameborder="1"> +</frameset> +<noframes> +<h2> Frame Alert -</H2> +</h2> -<P> +<p> This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. -<BR> -Link to <A HREF="changes/changes-summary.html" target="_top">Non-frame version.</A> -</NOFRAMES> -</HTML> +<br> +Link to <a href="changes/changes-summary.html" target="_top">Non-frame version.</A> +</noframes> +</html> diff --git a/docs/html/sdk/api_diff/3/changes/alldiffs_index_additions.html b/docs/html/sdk/api_diff/3/changes/alldiffs_index_additions.html index 41f78ab79d971fba377ebfccd861fc1600fea810..bf2c09f7e34aac47f36e96a7503dbd36d5af714b 100644 --- a/docs/html/sdk/api_diff/3/changes/alldiffs_index_additions.html +++ b/docs/html/sdk/api_diff/3/changes/alldiffs_index_additions.html @@ -22,10 +22,9 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> -<BODY class="gc-documentation"> +<BODY class="gc-documentation" style="padding:12px;"> <a NAME="topheader"></a> <table summary="Index for All Differences" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;"> <tr> @@ -45,8 +44,8 @@ body{background-image:url();padding:12px;} </td> </tr> </table> -<div id="indexTableCaption"> -<font size="-2"><strong>Bold</strong> indicates New; <strike>Strike</strike> indicates deleted. Plain indicates changed.</font> +<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:.5em;"> +Listed as: <span style="color:#069"><strong>Added</strong></span>, <span style="color:#069"><strike>Removed</strike></span>, <span style="color:#069">Changed</span></font> </div> <!-- Constructor AbsoluteSizeSpan --> <A NAME="A"></A> @@ -487,12 +486,12 @@ body{background-image:url();padding:12px;} (<code>int, String</code>)</A></nobr><br> <!-- Field CREATOR --> <i>CREATOR</i><br> - in  -<nobr><A HREF="android.content.res.AssetFileDescriptor.html#android.content.res.AssetFileDescriptor.CREATOR" class="hiddenlink" target="rightframe">android.content.res.AssetFileDescriptor</A> +<nobr> in  +<A HREF="android.content.res.AssetFileDescriptor.html#android.content.res.AssetFileDescriptor.CREATOR" class="hiddenlink" target="rightframe">android.content.res.AssetFileDescriptor</A> </nobr><br> <!-- Field CREATOR --> - in  -<nobr><A HREF="android.graphics.RectF.html#android.graphics.RectF.CREATOR" class="hiddenlink" target="rightframe">android.graphics.RectF</A> +<nobr> in  +<A HREF="android.graphics.RectF.html#android.graphics.RectF.CREATOR" class="hiddenlink" target="rightframe">android.graphics.RectF</A> </nobr><br> <!-- Field cut --> <nobr><A HREF="android.R.id.html#android.R.id.cut" class="hiddenlink" target="rightframe">cut</A> @@ -660,6 +659,10 @@ body{background-image:url();padding:12px;} (<code>InstrumentationTestCase, View, int, int, int</code>)</A></nobr><br> <!-- Method dragViewToBottom --> <i>dragViewToBottom</i><br> +  <nobr><A HREF="android.test.TouchUtils.html#android.test.TouchUtils.dragViewToBottom_added(android.test.InstrumentationTestCase, android.app.Activity, android.view.View)" class="hiddenlink" target="rightframe">type <b> +(<code>InstrumentationTestCase, Activity, View</code>)</b> in android.test.TouchUtils +</A></nobr><br> +<!-- Method dragViewToBottom -->   <nobr><A HREF="android.test.TouchUtils.html#android.test.TouchUtils.dragViewToBottom_added(android.test.ActivityInstrumentationTestCase, android.view.View, int)" class="hiddenlink" target="rightframe">type <b> (<code>ActivityInstrumentationTestCase, View, int</code>)</b> in android.test.TouchUtils </A></nobr><br> @@ -897,11 +900,23 @@ body{background-image:url();padding:12px;} <nobr><A HREF="android.text.style.ForegroundColorSpan.html#android.text.style.ForegroundColorSpan.ctor_added(android.os.Parcel)" class="hiddenlink" target="rightframe"><b>ForegroundColorSpan</b> (<code>Parcel</code>)</A></nobr> constructor<br> <!-- Method forkAndSpecialize --> -<nobr><A HREF="dalvik.system.Zygote.html#dalvik.system.Zygote.forkAndSpecialize_added(int, int, int[], int, int[][])" class="hiddenlink" target="rightframe"><b>forkAndSpecialize</b> -(<code>int, int, int[], int, int[][]</code>)</A></nobr><br> +<i>forkAndSpecialize</i><br> +  <nobr><A HREF="dalvik.system.Zygote.html#dalvik.system.Zygote.forkAndSpecialize_added(int, int, int[], int, int[][])" class="hiddenlink" target="rightframe">type <b> +(<code>int, int, int[], int, int[][]</code>)</b> in dalvik.system.Zygote +</A></nobr><br> +<!-- Method forkAndSpecialize --> +  <nobr><A HREF="dalvik.system.Zygote.html#dalvik.system.Zygote.forkAndSpecialize_added(int, int, int[], boolean, int[][])" class="hiddenlink" target="rightframe">type <b> +(<code>int, int, int[], boolean, int[][]</code>)</b> in dalvik.system.Zygote +</A></nobr><br> +<!-- Method forkSystemServer --> +<i>forkSystemServer</i><br> +  <nobr><A HREF="dalvik.system.Zygote.html#dalvik.system.Zygote.forkSystemServer_added(int, int, int[], int, int[][])" class="hiddenlink" target="rightframe">type <b> +(<code>int, int, int[], int, int[][]</code>)</b> in dalvik.system.Zygote +</A></nobr><br> <!-- Method forkSystemServer --> -<nobr><A HREF="dalvik.system.Zygote.html#dalvik.system.Zygote.forkSystemServer_added(int, int, int[], int, int[][])" class="hiddenlink" target="rightframe"><b>forkSystemServer</b> -(<code>int, int, int[], int, int[][]</code>)</A></nobr><br> +  <nobr><A HREF="dalvik.system.Zygote.html#dalvik.system.Zygote.forkSystemServer_added(int, int, int[], boolean, int[][])" class="hiddenlink" target="rightframe">type <b> +(<code>int, int, int[], boolean, int[][]</code>)</b> in dalvik.system.Zygote +</A></nobr><br> <!-- Field FORMAT_JAPAN --> <nobr><A HREF="android.telephony.PhoneNumberUtils.html#android.telephony.PhoneNumberUtils.FORMAT_JAPAN" class="hiddenlink" target="rightframe">FORMAT_JAPAN</A> </nobr><br> @@ -1391,12 +1406,12 @@ body{background-image:url();padding:12px;} <A HREF="pkg_android.os.html#Handler.Callback" class="hiddenlink" target="rightframe"><b><i>Handler.Callback</i></b></A><br> <!-- Field HAPTIC_FEEDBACK_ENABLED --> <i>HAPTIC_FEEDBACK_ENABLED</i><br> - in  -<nobr><A HREF="android.provider.Settings.System.html#android.provider.Settings.System.HAPTIC_FEEDBACK_ENABLED" class="hiddenlink" target="rightframe">android.provider.Settings.System</A> +<nobr> in  +<A HREF="android.provider.Settings.System.html#android.provider.Settings.System.HAPTIC_FEEDBACK_ENABLED" class="hiddenlink" target="rightframe">android.provider.Settings.System</A> </nobr><br> <!-- Field HAPTIC_FEEDBACK_ENABLED --> - in  -<nobr><A HREF="android.view.View.html#android.view.View.HAPTIC_FEEDBACK_ENABLED" class="hiddenlink" target="rightframe">android.view.View</A> +<nobr> in  +<A HREF="android.view.View.html#android.view.View.HAPTIC_FEEDBACK_ENABLED" class="hiddenlink" target="rightframe">android.view.View</A> </nobr><br> <!-- Class HapticFeedbackConstants --> <A HREF="pkg_android.view.html#HapticFeedbackConstants" class="hiddenlink" target="rightframe"><b>HapticFeedbackConstants</b></A><br> @@ -1633,9 +1648,62 @@ body{background-image:url();padding:12px;} <nobr><A HREF="android.widget.PopupWindow.html#android.widget.PopupWindow.isTouchable_added()" class="hiddenlink" target="rightframe"><b>isTouchable</b> ()</A></nobr><br> <!-- Package java.beans --> -<A NAME="J"></A> +<span class="letterIndexHead">J +<a href="#A"><font size="-2">A</font></a> +<a href="#B"><font size="-2">B</font></a> +<a href="#C"><font size="-2">C</font></a> +<a href="#D"><font size="-2">D</font></a> +<a href="#E"><font size="-2">E</font></a> +<a href="#F"><font size="-2">F</font></a> +<a href="#G"><font size="-2">G</font></a> +<a href="#H"><font size="-2">H</font></a> +<a href="#I"><font size="-2">I</font></a> +<a href="#K"><font size="-2">K</font></a> +<a href="#L"><font size="-2">L</font></a> +<a href="#M"><font size="-2">M</font></a> +<a href="#N"><font size="-2">N</font></a> +<a href="#O"><font size="-2">O</font></a> +<a href="#P"><font size="-2">P</font></a> +<a href="#Q"><font size="-2">Q</font></a> +<a href="#R"><font size="-2">R</font></a> +<a href="#S"><font size="-2">S</font></a> +<a href="#T"><font size="-2">T</font></a> +<a href="#U"><font size="-2">U</font></a> +<a href="#V"><font size="-2">V</font></a> +<a href="#W"><font size="-2">W</font></a> +<a href="#Y"><font size="-2">Y</font></a> + <a href="#topheader"><font size="-2">TOP</font></a> +<p><div style="line-height:1.5em;color:black"> +</span> <A HREF="changes-summary.html#java.beans" class="hiddenlink" target="rightframe"><b>java.beans</b></A><br> <!-- Class JetPlayer --> +<A NAME="J"></A> +<br><font size="+2">J</font>  +<a href="#A"><font size="-2">A</font></a> +<a href="#B"><font size="-2">B</font></a> +<a href="#C"><font size="-2">C</font></a> +<a href="#D"><font size="-2">D</font></a> +<a href="#E"><font size="-2">E</font></a> +<a href="#F"><font size="-2">F</font></a> +<a href="#G"><font size="-2">G</font></a> +<a href="#H"><font size="-2">H</font></a> +<a href="#I"><font size="-2">I</font></a> +<a href="#K"><font size="-2">K</font></a> +<a href="#L"><font size="-2">L</font></a> +<a href="#M"><font size="-2">M</font></a> +<a href="#N"><font size="-2">N</font></a> +<a href="#O"><font size="-2">O</font></a> +<a href="#P"><font size="-2">P</font></a> +<a href="#Q"><font size="-2">Q</font></a> +<a href="#R"><font size="-2">R</font></a> +<a href="#S"><font size="-2">S</font></a> +<a href="#T"><font size="-2">T</font></a> +<a href="#U"><font size="-2">U</font></a> +<a href="#V"><font size="-2">V</font></a> +<a href="#W"><font size="-2">W</font></a> +<a href="#Y"><font size="-2">Y</font></a> + <a href="#topheader"><font size="-2">TOP</font></a> +<p><div style="line-height:1.5em;color:black"> <A HREF="pkg_android.media.html#JetPlayer" class="hiddenlink" target="rightframe"><b>JetPlayer</b></A><br> <!-- Class JetPlayer.OnJetEventListener --> <A HREF="pkg_android.media.html#JetPlayer.OnJetEventListener" class="hiddenlink" target="rightframe"><b><i>JetPlayer.OnJetEventListener</i></b></A><br> @@ -2108,12 +2176,12 @@ body{background-image:url();padding:12px;} </A></nobr><br> <!-- Field PHONETIC_NAME --> <i>PHONETIC_NAME</i><br> - in  -<nobr><A HREF="android.provider.Contacts.Intents.Insert.html#android.provider.Contacts.Intents.Insert.PHONETIC_NAME" class="hiddenlink" target="rightframe">android.provider.Contacts.Intents.Insert</A> +<nobr> in  +<A HREF="android.provider.Contacts.Intents.Insert.html#android.provider.Contacts.Intents.Insert.PHONETIC_NAME" class="hiddenlink" target="rightframe">android.provider.Contacts.Intents.Insert</A> </nobr><br> <!-- Field PHONETIC_NAME --> - in  -<nobr><A HREF="android.provider.Contacts.PeopleColumns.html#android.provider.Contacts.PeopleColumns.PHONETIC_NAME" class="hiddenlink" target="rightframe">android.provider.Contacts.PeopleColumns</A> +<nobr> in  +<A HREF="android.provider.Contacts.PeopleColumns.html#android.provider.Contacts.PeopleColumns.PHONETIC_NAME" class="hiddenlink" target="rightframe">android.provider.Contacts.PeopleColumns</A> </nobr><br> <!-- Method playSoundEffect --> <nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.playSoundEffect_added(int, float)" class="hiddenlink" target="rightframe"><b>playSoundEffect</b> @@ -2402,6 +2470,14 @@ body{background-image:url();padding:12px;} (<code>boolean</code>)</A></nobr><br> <!-- Method setButton --> <i>setButton</i><br> +  <nobr><A HREF="android.app.AlertDialog.html#android.app.AlertDialog.setButton_added(int, java.lang.CharSequence, android.content.DialogInterface.OnClickListener)" class="hiddenlink" target="rightframe">type <b> +(<code>int, CharSequence, OnClickListener</code>)</b> in android.app.AlertDialog +</A></nobr><br> +<!-- Method setButton --> +  <nobr><A HREF="android.app.AlertDialog.html#android.app.AlertDialog.setButton_added(int, java.lang.CharSequence, android.os.Message)" class="hiddenlink" target="rightframe">type <b> +(<code>int, CharSequence, Message</code>)</b> in android.app.AlertDialog +</A></nobr><br> +<!-- Method setButton -->   <nobr><A HREF="android.app.AlertDialog.html#android.app.AlertDialog.setButton_added(java.lang.CharSequence, android.content.DialogInterface.OnClickListener)" class="hiddenlink" target="rightframe">type <b> (<code>CharSequence, OnClickListener</code>)</b> in android.app.AlertDialog </A></nobr><br> @@ -2620,12 +2696,12 @@ body{background-image:url();padding:12px;} </nobr><br> <!-- Field sharedUserLabel --> <i>sharedUserLabel</i><br> - in  -<nobr><A HREF="android.R.attr.html#android.R.attr.sharedUserLabel" class="hiddenlink" target="rightframe">android.R.attr</A> +<nobr> in  +<A HREF="android.R.attr.html#android.R.attr.sharedUserLabel" class="hiddenlink" target="rightframe">android.R.attr</A> </nobr><br> <!-- Field sharedUserLabel --> - in  -<nobr><A HREF="android.content.pm.PackageInfo.html#android.content.pm.PackageInfo.sharedUserLabel" class="hiddenlink" target="rightframe">android.content.pm.PackageInfo</A> +<nobr> in  +<A HREF="android.content.pm.PackageInfo.html#android.content.pm.PackageInfo.sharedUserLabel" class="hiddenlink" target="rightframe">android.content.pm.PackageInfo</A> </nobr><br> <!-- Field SHOW_OR_CREATE_CONTACT --> <nobr><A HREF="android.provider.Contacts.Intents.html#android.provider.Contacts.Intents.SHOW_OR_CREATE_CONTACT" class="hiddenlink" target="rightframe">SHOW_OR_CREATE_CONTACT</A> @@ -2682,12 +2758,12 @@ body{background-image:url();padding:12px;} </nobr><br> <!-- Field softInputMode --> <i>softInputMode</i><br> - in  -<nobr><A HREF="android.content.pm.ActivityInfo.html#android.content.pm.ActivityInfo.softInputMode" class="hiddenlink" target="rightframe">android.content.pm.ActivityInfo</A> +<nobr> in  +<A HREF="android.content.pm.ActivityInfo.html#android.content.pm.ActivityInfo.softInputMode" class="hiddenlink" target="rightframe">android.content.pm.ActivityInfo</A> </nobr><br> <!-- Field softInputMode --> - in  -<nobr><A HREF="android.view.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.softInputMode" class="hiddenlink" target="rightframe">android.view.WindowManager.LayoutParams</A> +<nobr> in  +<A HREF="android.view.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.softInputMode" class="hiddenlink" target="rightframe">android.view.WindowManager.LayoutParams</A> </nobr><br> <!-- Method sort --> <nobr><A HREF="android.widget.ArrayAdapter.html#android.widget.ArrayAdapter.sort_added(java.util.Comparator<? super T>)" class="hiddenlink" target="rightframe"><b>sort</b> diff --git a/docs/html/sdk/api_diff/3/changes/alldiffs_index_all.html b/docs/html/sdk/api_diff/3/changes/alldiffs_index_all.html index 48da98bb87766ad4f5d05bfefcee385b699472f4..055d4bfd609f57a2bc6d9f3c42091bb183dbb6dc 100644 --- a/docs/html/sdk/api_diff/3/changes/alldiffs_index_all.html +++ b/docs/html/sdk/api_diff/3/changes/alldiffs_index_all.html @@ -22,10 +22,9 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> -<BODY class="gc-documentation"> +<BODY class="gc-documentation" style="padding:12px;"> <a NAME="topheader"></a> <table summary="Index for All Differences" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;"> <tr> @@ -45,8 +44,8 @@ body{background-image:url();padding:12px;} </td> </tr> </table> -<div id="indexTableCaption"> -<font size="-2"><strong>Bold</strong> indicates New; <strike>Strike</strike> indicates deleted. Plain indicates changed.</font> +<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:.5em;"> +Listed as: <span style="color:#069"><strong>Added</strong></span>, <span style="color:#069"><strike>Removed</strike></span>, <span style="color:#069">Changed</span></font> </div> <!-- Class AbsListView --> <A NAME="A"></A> @@ -203,9 +202,6 @@ body{background-image:url();padding:12px;}   <nobr><A HREF="java.util.logging.LogManager.html#java.util.logging.LogManager.addPropertyChangeListener_added(java.beans.PropertyChangeListener)" class="hiddenlink" target="rightframe">type <b> (<code>PropertyChangeListener</code>)</b> in java.util.logging.LogManager </A></nobr><br> -<!-- Method addRequirements --> -<nobr><A HREF="android.test.suitebuilder.TestSuiteBuilder.html#android.test.suitebuilder.TestSuiteBuilder.addRequirements_changed(com.android.internal.util.Predicate<android.test.suitebuilder.TestMethod>...)" class="hiddenlink" target="rightframe">addRequirements -(<code>Predicate<TestMethod></code>)</A></nobr><br> <!-- Method addTestProvider --> <nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.addTestProvider_added(java.lang.String, boolean, boolean, boolean, boolean, boolean, boolean, boolean, int, int)" class="hiddenlink" target="rightframe"><b>addTestProvider</b> (<code>String, boolean, boolean, boolean, boolean, boolean, boolean, boolean, int, int</code>)</A></nobr><br> @@ -680,12 +676,12 @@ body{background-image:url();padding:12px;} (<code>int, String</code>)</A></nobr><br> <!-- Field CREATOR --> <i>CREATOR</i><br> - in  -<nobr><A HREF="android.content.res.AssetFileDescriptor.html#android.content.res.AssetFileDescriptor.CREATOR" class="hiddenlink" target="rightframe">android.content.res.AssetFileDescriptor</A> +<nobr> in  +<A HREF="android.content.res.AssetFileDescriptor.html#android.content.res.AssetFileDescriptor.CREATOR" class="hiddenlink" target="rightframe">android.content.res.AssetFileDescriptor</A> </nobr><br> <!-- Field CREATOR --> - in  -<nobr><A HREF="android.graphics.RectF.html#android.graphics.RectF.CREATOR" class="hiddenlink" target="rightframe">android.graphics.RectF</A> +<nobr> in  +<A HREF="android.graphics.RectF.html#android.graphics.RectF.CREATOR" class="hiddenlink" target="rightframe">android.graphics.RectF</A> </nobr><br> <!-- Class Cursor --> <A HREF="android.database.Cursor.html" class="hiddenlink" target="rightframe"><i>Cursor</i></A><br> @@ -697,9 +693,64 @@ body{background-image:url();padding:12px;} <nobr><A HREF="android.R.id.html#android.R.id.cut" class="hiddenlink" target="rightframe">cut</A> </nobr><br> <!-- Package dalvik.system --> -<A NAME="D"></A> +<span class="letterIndexHead">D +<a href="#A"><font size="-2">A</font></a> +<a href="#B"><font size="-2">B</font></a> +<a href="#C"><font size="-2">C</font></a> +<a href="#E"><font size="-2">E</font></a> +<a href="#F"><font size="-2">F</font></a> +<a href="#G"><font size="-2">G</font></a> +<a href="#H"><font size="-2">H</font></a> +<a href="#I"><font size="-2">I</font></a> +<a href="#J"><font size="-2">J</font></a> +<a href="#K"><font size="-2">K</font></a> +<a href="#L"><font size="-2">L</font></a> +<a href="#M"><font size="-2">M</font></a> +<a href="#N"><font size="-2">N</font></a> +<a href="#O"><font size="-2">O</font></a> +<a href="#P"><font size="-2">P</font></a> +<a href="#Q"><font size="-2">Q</font></a> +<a href="#R"><font size="-2">R</font></a> +<a href="#S"><font size="-2">S</font></a> +<a href="#T"><font size="-2">T</font></a> +<a href="#U"><font size="-2">U</font></a> +<a href="#V"><font size="-2">V</font></a> +<a href="#W"><font size="-2">W</font></a> +<a href="#Y"><font size="-2">Y</font></a> +<a href="#Z"><font size="-2">Z</font></a> + <a href="#topheader"><font size="-2">TOP</font></a> +<p><div style="line-height:1.5em;color:black"> +</span> <A HREF="pkg_dalvik.system.html" class="hiddenlink" target="rightframe">dalvik.system</A><br> <!-- Field dark_header --> +<A NAME="D"></A> +<br><font size="+2">D</font>  +<a href="#A"><font size="-2">A</font></a> +<a href="#B"><font size="-2">B</font></a> +<a href="#C"><font size="-2">C</font></a> +<a href="#E"><font size="-2">E</font></a> +<a href="#F"><font size="-2">F</font></a> +<a href="#G"><font size="-2">G</font></a> +<a href="#H"><font size="-2">H</font></a> +<a href="#I"><font size="-2">I</font></a> +<a href="#J"><font size="-2">J</font></a> +<a href="#K"><font size="-2">K</font></a> +<a href="#L"><font size="-2">L</font></a> +<a href="#M"><font size="-2">M</font></a> +<a href="#N"><font size="-2">N</font></a> +<a href="#O"><font size="-2">O</font></a> +<a href="#P"><font size="-2">P</font></a> +<a href="#Q"><font size="-2">Q</font></a> +<a href="#R"><font size="-2">R</font></a> +<a href="#S"><font size="-2">S</font></a> +<a href="#T"><font size="-2">T</font></a> +<a href="#U"><font size="-2">U</font></a> +<a href="#V"><font size="-2">V</font></a> +<a href="#W"><font size="-2">W</font></a> +<a href="#Y"><font size="-2">Y</font></a> +<a href="#Z"><font size="-2">Z</font></a> + <a href="#topheader"><font size="-2">TOP</font></a> +<p><div style="line-height:1.5em;color:black"> <nobr><A HREF="android.R.drawable.html#android.R.drawable.dark_header" class="hiddenlink" target="rightframe">dark_header</A> </nobr><br> <!-- Field DATA_ROAMING --> @@ -716,15 +767,6 @@ body{background-image:url();padding:12px;} </nobr><br> <!-- Class DatabaseUtils --> <A HREF="android.database.DatabaseUtils.html" class="hiddenlink" target="rightframe">DatabaseUtils</A><br> -<!-- Class Date --> -<i>Date</i><br> -  <A HREF="java.util.Date.html" class="hiddenlink" target="rightframe">java.util</A><br> -<!-- Constructor Date --> -  <nobr><A HREF="java.util.Date.html#java.util.Date.ctor_changed()" class="hiddenlink" target="rightframe">Date -()</A></nobr> constructor<br> -<!-- Constructor Date --> -  <nobr><A HREF="java.util.Date.html#java.util.Date.ctor_changed(int, int, int, int, int, int)" class="hiddenlink" target="rightframe">Date -(<code>int, int, int, int, int, int</code>)</A></nobr> constructor<br> <!-- Class DateKeyListener --> <A HREF="android.text.method.DateKeyListener.html" class="hiddenlink" target="rightframe">DateKeyListener</A><br> <!-- Class DateTimeKeyListener --> @@ -742,12 +784,12 @@ body{background-image:url();padding:12px;} </nobr><br> <!-- Field DEFAULT_SORT_ORDER --> <i>DEFAULT_SORT_ORDER</i><br> - in  -<nobr><A HREF="android.provider.MediaStore.Images.Media.html#android.provider.MediaStore.Images.Media.DEFAULT_SORT_ORDER" class="hiddenlink" target="rightframe">android.provider.MediaStore.Images.Media</A> +<nobr> in  +<A HREF="android.provider.MediaStore.Images.Media.html#android.provider.MediaStore.Images.Media.DEFAULT_SORT_ORDER" class="hiddenlink" target="rightframe">android.provider.MediaStore.Images.Media</A> </nobr><br> <!-- Field DEFAULT_SORT_ORDER --> - in  -<nobr><A HREF="android.provider.MediaStore.Video.html#android.provider.MediaStore.Video.DEFAULT_SORT_ORDER" class="hiddenlink" target="rightframe">android.provider.MediaStore.Video</A> +<nobr> in  +<A HREF="android.provider.MediaStore.Video.html#android.provider.MediaStore.Video.DEFAULT_SORT_ORDER" class="hiddenlink" target="rightframe">android.provider.MediaStore.Video</A> </nobr><br> <!-- Method describeContents --> <i>describeContents</i><br> @@ -916,6 +958,14 @@ body{background-image:url();padding:12px;} </A></nobr><br> <!-- Method dragViewToBottom --> <i>dragViewToBottom</i><br> +  <nobr><A HREF="android.test.TouchUtils.html#android.test.TouchUtils.dragViewToBottom_removed(android.test.ActivityInstrumentationTestCase, android.view.View, int)" class="hiddenlink" target="rightframe">type <strike> +(<code>ActivityInstrumentationTestCase, View, int</code>)</strike> in android.test.TouchUtils +</A></nobr><br> +<!-- Method dragViewToBottom --> +  <nobr><A HREF="android.test.TouchUtils.html#android.test.TouchUtils.dragViewToBottom_added(android.test.InstrumentationTestCase, android.app.Activity, android.view.View)" class="hiddenlink" target="rightframe">type <b> +(<code>InstrumentationTestCase, Activity, View</code>)</b> in android.test.TouchUtils +</A></nobr><br> +<!-- Method dragViewToBottom -->   <nobr><A HREF="android.test.TouchUtils.html#android.test.TouchUtils.dragViewToBottom_added(android.test.ActivityInstrumentationTestCase, android.view.View, int)" class="hiddenlink" target="rightframe">type <b> (<code>ActivityInstrumentationTestCase, View, int</code>)</b> in android.test.TouchUtils </A></nobr><br> @@ -927,10 +977,6 @@ body{background-image:url();padding:12px;}   <nobr><A HREF="android.test.TouchUtils.html#android.test.TouchUtils.dragViewToBottom_changed(android.test.ActivityInstrumentationTestCase, android.view.View)" class="hiddenlink" target="rightframe">type  (<code>ActivityInstrumentationTestCase, View</code>) in android.test.TouchUtils </A></nobr><br> -<!-- Method dragViewToBottom --> -  <nobr><A HREF="android.test.TouchUtils.html#android.test.TouchUtils.dragViewToBottom_changed(android.test.InstrumentationTestCase, android.app.Activity, android.view.View)" class="hiddenlink" target="rightframe">type  -(<code>InstrumentationTestCase, Activity, View</code>) in android.test.TouchUtils -</A></nobr><br> <!-- Method dragViewToTop --> <i>dragViewToTop</i><br>   <nobr><A HREF="android.test.TouchUtils.html#android.test.TouchUtils.dragViewToTop_added(android.test.InstrumentationTestCase, android.view.View)" class="hiddenlink" target="rightframe">type <b> @@ -1200,21 +1246,29 @@ body{background-image:url();padding:12px;} (<code>Parcel</code>)</A></nobr> constructor<br> <!-- Method forkAndSpecialize --> <i>forkAndSpecialize</i><br> +  <nobr><A HREF="dalvik.system.Zygote.html#dalvik.system.Zygote.forkAndSpecialize_removed(int, int, int[], boolean, int[][])" class="hiddenlink" target="rightframe">type <strike> +(<code>int, int, int[], boolean, int[][]</code>)</strike> in dalvik.system.Zygote +</A></nobr><br> +<!-- Method forkAndSpecialize -->   <nobr><A HREF="dalvik.system.Zygote.html#dalvik.system.Zygote.forkAndSpecialize_added(int, int, int[], int, int[][])" class="hiddenlink" target="rightframe">type <b> (<code>int, int, int[], int, int[][]</code>)</b> in dalvik.system.Zygote </A></nobr><br> <!-- Method forkAndSpecialize --> -  <nobr><A HREF="dalvik.system.Zygote.html#dalvik.system.Zygote.forkAndSpecialize_changed(int, int, int[], boolean, int[][])" class="hiddenlink" target="rightframe">type  -(<code>int, int, int[], boolean, int[][]</code>) in dalvik.system.Zygote +  <nobr><A HREF="dalvik.system.Zygote.html#dalvik.system.Zygote.forkAndSpecialize_added(int, int, int[], boolean, int[][])" class="hiddenlink" target="rightframe">type <b> +(<code>int, int, int[], boolean, int[][]</code>)</b> in dalvik.system.Zygote </A></nobr><br> <!-- Method forkSystemServer --> <i>forkSystemServer</i><br> +  <nobr><A HREF="dalvik.system.Zygote.html#dalvik.system.Zygote.forkSystemServer_removed(int, int, int[], boolean, int[][])" class="hiddenlink" target="rightframe">type <strike> +(<code>int, int, int[], boolean, int[][]</code>)</strike> in dalvik.system.Zygote +</A></nobr><br> +<!-- Method forkSystemServer -->   <nobr><A HREF="dalvik.system.Zygote.html#dalvik.system.Zygote.forkSystemServer_added(int, int, int[], int, int[][])" class="hiddenlink" target="rightframe">type <b> (<code>int, int, int[], int, int[][]</code>)</b> in dalvik.system.Zygote </A></nobr><br> <!-- Method forkSystemServer --> -  <nobr><A HREF="dalvik.system.Zygote.html#dalvik.system.Zygote.forkSystemServer_changed(int, int, int[], boolean, int[][])" class="hiddenlink" target="rightframe">type  -(<code>int, int, int[], boolean, int[][]</code>) in dalvik.system.Zygote +  <nobr><A HREF="dalvik.system.Zygote.html#dalvik.system.Zygote.forkSystemServer_added(int, int, int[], boolean, int[][])" class="hiddenlink" target="rightframe">type <b> +(<code>int, int, int[], boolean, int[][]</code>)</b> in dalvik.system.Zygote </A></nobr><br> <!-- Field FORMAT_JAPAN --> <nobr><A HREF="android.telephony.PhoneNumberUtils.html#android.telephony.PhoneNumberUtils.FORMAT_JAPAN" class="hiddenlink" target="rightframe">FORMAT_JAPAN</A> @@ -1564,9 +1618,6 @@ body{background-image:url();padding:12px;} <!-- Method getPrivateImeOptions --> <nobr><A HREF="android.widget.TextView.html#android.widget.TextView.getPrivateImeOptions_added()" class="hiddenlink" target="rightframe"><b>getPrivateImeOptions</b> ()</A></nobr><br> -<!-- Method getProxyClass --> -<nobr><A HREF="java.lang.reflect.Proxy.html#java.lang.reflect.Proxy.getProxyClass_changed(java.lang.ClassLoader, java.lang.Class<?>...)" class="hiddenlink" target="rightframe">getProxyClass -(<code>ClassLoader, Class<?></code>)</A></nobr><br> <!-- Method getRotationMatrix --> <nobr><A HREF="android.hardware.SensorManager.html#android.hardware.SensorManager.getRotationMatrix_added(float[], float[], float[], float[])" class="hiddenlink" target="rightframe"><b>getRotationMatrix</b> (<code>float[], float[], float[], float[]</code>)</A></nobr><br> @@ -1810,12 +1861,12 @@ body{background-image:url();padding:12px;} <A HREF="pkg_android.os.html#Handler.Callback" class="hiddenlink" target="rightframe"><b><i>Handler.Callback</i></b></A><br> <!-- Field HAPTIC_FEEDBACK_ENABLED --> <i>HAPTIC_FEEDBACK_ENABLED</i><br> - in  -<nobr><A HREF="android.provider.Settings.System.html#android.provider.Settings.System.HAPTIC_FEEDBACK_ENABLED" class="hiddenlink" target="rightframe">android.provider.Settings.System</A> +<nobr> in  +<A HREF="android.provider.Settings.System.html#android.provider.Settings.System.HAPTIC_FEEDBACK_ENABLED" class="hiddenlink" target="rightframe">android.provider.Settings.System</A> </nobr><br> <!-- Field HAPTIC_FEEDBACK_ENABLED --> - in  -<nobr><A HREF="android.view.View.html#android.view.View.HAPTIC_FEEDBACK_ENABLED" class="hiddenlink" target="rightframe">android.view.View</A> +<nobr> in  +<A HREF="android.view.View.html#android.view.View.HAPTIC_FEEDBACK_ENABLED" class="hiddenlink" target="rightframe">android.view.View</A> </nobr><br> <!-- Class HapticFeedbackConstants --> <A HREF="pkg_android.view.html#HapticFeedbackConstants" class="hiddenlink" target="rightframe"><b>HapticFeedbackConstants</b></A><br> @@ -2075,21 +2126,154 @@ body{background-image:url();padding:12px;} <nobr><A HREF="android.widget.PopupWindow.html#android.widget.PopupWindow.isTouchable_added()" class="hiddenlink" target="rightframe"><b>isTouchable</b> ()</A></nobr><br> <!-- Package java.beans --> -<A NAME="J"></A> +<span class="letterIndexHead">J +<a href="#A"><font size="-2">A</font></a> +<a href="#B"><font size="-2">B</font></a> +<a href="#C"><font size="-2">C</font></a> +<a href="#D"><font size="-2">D</font></a> +<a href="#E"><font size="-2">E</font></a> +<a href="#F"><font size="-2">F</font></a> +<a href="#G"><font size="-2">G</font></a> +<a href="#H"><font size="-2">H</font></a> +<a href="#I"><font size="-2">I</font></a> +<a href="#K"><font size="-2">K</font></a> +<a href="#L"><font size="-2">L</font></a> +<a href="#M"><font size="-2">M</font></a> +<a href="#N"><font size="-2">N</font></a> +<a href="#O"><font size="-2">O</font></a> +<a href="#P"><font size="-2">P</font></a> +<a href="#Q"><font size="-2">Q</font></a> +<a href="#R"><font size="-2">R</font></a> +<a href="#S"><font size="-2">S</font></a> +<a href="#T"><font size="-2">T</font></a> +<a href="#U"><font size="-2">U</font></a> +<a href="#V"><font size="-2">V</font></a> +<a href="#W"><font size="-2">W</font></a> +<a href="#Y"><font size="-2">Y</font></a> +<a href="#Z"><font size="-2">Z</font></a> + <a href="#topheader"><font size="-2">TOP</font></a> +<p><div style="line-height:1.5em;color:black"> +</span> <A HREF="changes-summary.html#java.beans" class="hiddenlink" target="rightframe"><b>java.beans</b></A><br> <!-- Package java.lang --> +<span class="letterIndexHead">J +<a href="#A"><font size="-2">A</font></a> +<a href="#B"><font size="-2">B</font></a> +<a href="#C"><font size="-2">C</font></a> +<a href="#D"><font size="-2">D</font></a> +<a href="#E"><font size="-2">E</font></a> +<a href="#F"><font size="-2">F</font></a> +<a href="#G"><font size="-2">G</font></a> +<a href="#H"><font size="-2">H</font></a> +<a href="#I"><font size="-2">I</font></a> +<a href="#K"><font size="-2">K</font></a> +<a href="#L"><font size="-2">L</font></a> +<a href="#M"><font size="-2">M</font></a> +<a href="#N"><font size="-2">N</font></a> +<a href="#O"><font size="-2">O</font></a> +<a href="#P"><font size="-2">P</font></a> +<a href="#Q"><font size="-2">Q</font></a> +<a href="#R"><font size="-2">R</font></a> +<a href="#S"><font size="-2">S</font></a> +<a href="#T"><font size="-2">T</font></a> +<a href="#U"><font size="-2">U</font></a> +<a href="#V"><font size="-2">V</font></a> +<a href="#W"><font size="-2">W</font></a> +<a href="#Y"><font size="-2">Y</font></a> +<a href="#Z"><font size="-2">Z</font></a> + <a href="#topheader"><font size="-2">TOP</font></a> +<p><div style="line-height:1.5em;color:black"> +</span> <A HREF="pkg_java.lang.html" class="hiddenlink" target="rightframe">java.lang</A><br> -<!-- Package java.lang.reflect --> -<A HREF="pkg_java.lang.reflect.html" class="hiddenlink" target="rightframe">java.lang.reflect</A><br> -<!-- Package java.net --> -<A HREF="pkg_java.net.html" class="hiddenlink" target="rightframe">java.net</A><br> -<!-- Package java.util --> -<A HREF="pkg_java.util.html" class="hiddenlink" target="rightframe">java.util</A><br> <!-- Package java.util.jar --> +<span class="letterIndexHead">J +<a href="#A"><font size="-2">A</font></a> +<a href="#B"><font size="-2">B</font></a> +<a href="#C"><font size="-2">C</font></a> +<a href="#D"><font size="-2">D</font></a> +<a href="#E"><font size="-2">E</font></a> +<a href="#F"><font size="-2">F</font></a> +<a href="#G"><font size="-2">G</font></a> +<a href="#H"><font size="-2">H</font></a> +<a href="#I"><font size="-2">I</font></a> +<a href="#K"><font size="-2">K</font></a> +<a href="#L"><font size="-2">L</font></a> +<a href="#M"><font size="-2">M</font></a> +<a href="#N"><font size="-2">N</font></a> +<a href="#O"><font size="-2">O</font></a> +<a href="#P"><font size="-2">P</font></a> +<a href="#Q"><font size="-2">Q</font></a> +<a href="#R"><font size="-2">R</font></a> +<a href="#S"><font size="-2">S</font></a> +<a href="#T"><font size="-2">T</font></a> +<a href="#U"><font size="-2">U</font></a> +<a href="#V"><font size="-2">V</font></a> +<a href="#W"><font size="-2">W</font></a> +<a href="#Y"><font size="-2">Y</font></a> +<a href="#Z"><font size="-2">Z</font></a> + <a href="#topheader"><font size="-2">TOP</font></a> +<p><div style="line-height:1.5em;color:black"> +</span> <A HREF="pkg_java.util.jar.html" class="hiddenlink" target="rightframe">java.util.jar</A><br> <!-- Package java.util.logging --> +<span class="letterIndexHead">J +<a href="#A"><font size="-2">A</font></a> +<a href="#B"><font size="-2">B</font></a> +<a href="#C"><font size="-2">C</font></a> +<a href="#D"><font size="-2">D</font></a> +<a href="#E"><font size="-2">E</font></a> +<a href="#F"><font size="-2">F</font></a> +<a href="#G"><font size="-2">G</font></a> +<a href="#H"><font size="-2">H</font></a> +<a href="#I"><font size="-2">I</font></a> +<a href="#K"><font size="-2">K</font></a> +<a href="#L"><font size="-2">L</font></a> +<a href="#M"><font size="-2">M</font></a> +<a href="#N"><font size="-2">N</font></a> +<a href="#O"><font size="-2">O</font></a> +<a href="#P"><font size="-2">P</font></a> +<a href="#Q"><font size="-2">Q</font></a> +<a href="#R"><font size="-2">R</font></a> +<a href="#S"><font size="-2">S</font></a> +<a href="#T"><font size="-2">T</font></a> +<a href="#U"><font size="-2">U</font></a> +<a href="#V"><font size="-2">V</font></a> +<a href="#W"><font size="-2">W</font></a> +<a href="#Y"><font size="-2">Y</font></a> +<a href="#Z"><font size="-2">Z</font></a> + <a href="#topheader"><font size="-2">TOP</font></a> +<p><div style="line-height:1.5em;color:black"> +</span> <A HREF="pkg_java.util.logging.html" class="hiddenlink" target="rightframe">java.util.logging</A><br> <!-- Class JetPlayer --> +<A NAME="J"></A> +<br><font size="+2">J</font>  +<a href="#A"><font size="-2">A</font></a> +<a href="#B"><font size="-2">B</font></a> +<a href="#C"><font size="-2">C</font></a> +<a href="#D"><font size="-2">D</font></a> +<a href="#E"><font size="-2">E</font></a> +<a href="#F"><font size="-2">F</font></a> +<a href="#G"><font size="-2">G</font></a> +<a href="#H"><font size="-2">H</font></a> +<a href="#I"><font size="-2">I</font></a> +<a href="#K"><font size="-2">K</font></a> +<a href="#L"><font size="-2">L</font></a> +<a href="#M"><font size="-2">M</font></a> +<a href="#N"><font size="-2">N</font></a> +<a href="#O"><font size="-2">O</font></a> +<a href="#P"><font size="-2">P</font></a> +<a href="#Q"><font size="-2">Q</font></a> +<a href="#R"><font size="-2">R</font></a> +<a href="#S"><font size="-2">S</font></a> +<a href="#T"><font size="-2">T</font></a> +<a href="#U"><font size="-2">U</font></a> +<a href="#V"><font size="-2">V</font></a> +<a href="#W"><font size="-2">W</font></a> +<a href="#Y"><font size="-2">Y</font></a> +<a href="#Z"><font size="-2">Z</font></a> + <a href="#topheader"><font size="-2">TOP</font></a> +<p><div style="line-height:1.5em;color:black"> <A HREF="pkg_android.media.html#JetPlayer" class="hiddenlink" target="rightframe"><b>JetPlayer</b></A><br> <!-- Class JetPlayer.OnJetEventListener --> <A HREF="pkg_android.media.html#JetPlayer.OnJetEventListener" class="hiddenlink" target="rightframe"><b><i>JetPlayer.OnJetEventListener</i></b></A><br> @@ -2704,12 +2888,12 @@ body{background-image:url();padding:12px;} <A HREF="android.telephony.PhoneNumberUtils.html" class="hiddenlink" target="rightframe">PhoneNumberUtils</A><br> <!-- Field PHONETIC_NAME --> <i>PHONETIC_NAME</i><br> - in  -<nobr><A HREF="android.provider.Contacts.Intents.Insert.html#android.provider.Contacts.Intents.Insert.PHONETIC_NAME" class="hiddenlink" target="rightframe">android.provider.Contacts.Intents.Insert</A> +<nobr> in  +<A HREF="android.provider.Contacts.Intents.Insert.html#android.provider.Contacts.Intents.Insert.PHONETIC_NAME" class="hiddenlink" target="rightframe">android.provider.Contacts.Intents.Insert</A> </nobr><br> <!-- Field PHONETIC_NAME --> - in  -<nobr><A HREF="android.provider.Contacts.PeopleColumns.html#android.provider.Contacts.PeopleColumns.PHONETIC_NAME" class="hiddenlink" target="rightframe">android.provider.Contacts.PeopleColumns</A> +<nobr> in  +<A HREF="android.provider.Contacts.PeopleColumns.html#android.provider.Contacts.PeopleColumns.PHONETIC_NAME" class="hiddenlink" target="rightframe">android.provider.Contacts.PeopleColumns</A> </nobr><br> <!-- Method playSoundEffect --> <i>playSoundEffect</i><br> @@ -2749,8 +2933,6 @@ body{background-image:url();padding:12px;} <A HREF="android.test.ProviderTestCase.html" class="hiddenlink" target="rightframe">ProviderTestCase</A><br> <!-- Class ProviderTestCase2 --> <A HREF="pkg_android.test.html#ProviderTestCase2" class="hiddenlink" target="rightframe"><b>ProviderTestCase2</b></A><br> -<!-- Class Proxy --> -<A HREF="java.lang.reflect.Proxy.html" class="hiddenlink" target="rightframe">Proxy</A><br> <!-- Method putLong --> <nobr><A HREF="android.provider.Settings.System.html#android.provider.Settings.System.putLong_added(android.content.ContentResolver, java.lang.String, long)" class="hiddenlink" target="rightframe"><b>putLong</b> (<code>ContentResolver, String, long</code>)</A></nobr><br> @@ -3151,20 +3333,28 @@ body{background-image:url();padding:12px;} (<code>boolean</code>)</A></nobr><br> <!-- Method setButton --> <i>setButton</i><br> -  <nobr><A HREF="android.app.AlertDialog.html#android.app.AlertDialog.setButton_added(java.lang.CharSequence, android.content.DialogInterface.OnClickListener)" class="hiddenlink" target="rightframe">type <b> -(<code>CharSequence, OnClickListener</code>)</b> in android.app.AlertDialog +  <nobr><A HREF="android.app.AlertDialog.html#android.app.AlertDialog.setButton_removed(java.lang.CharSequence, android.content.DialogInterface.OnClickListener)" class="hiddenlink" target="rightframe">type <strike> +(<code>CharSequence, OnClickListener</code>)</strike> in android.app.AlertDialog </A></nobr><br> <!-- Method setButton --> -  <nobr><A HREF="android.app.AlertDialog.html#android.app.AlertDialog.setButton_added(java.lang.CharSequence, android.os.Message)" class="hiddenlink" target="rightframe">type <b> -(<code>CharSequence, Message</code>)</b> in android.app.AlertDialog +  <nobr><A HREF="android.app.AlertDialog.html#android.app.AlertDialog.setButton_removed(java.lang.CharSequence, android.os.Message)" class="hiddenlink" target="rightframe">type <strike> +(<code>CharSequence, Message</code>)</strike> in android.app.AlertDialog </A></nobr><br> <!-- Method setButton --> -  <nobr><A HREF="android.app.AlertDialog.html#android.app.AlertDialog.setButton_changed(int, java.lang.CharSequence, android.content.DialogInterface.OnClickListener)" class="hiddenlink" target="rightframe">type  -(<code>int, CharSequence, OnClickListener</code>) in android.app.AlertDialog +  <nobr><A HREF="android.app.AlertDialog.html#android.app.AlertDialog.setButton_added(int, java.lang.CharSequence, android.content.DialogInterface.OnClickListener)" class="hiddenlink" target="rightframe">type <b> +(<code>int, CharSequence, OnClickListener</code>)</b> in android.app.AlertDialog </A></nobr><br> <!-- Method setButton --> -  <nobr><A HREF="android.app.AlertDialog.html#android.app.AlertDialog.setButton_changed(int, java.lang.CharSequence, android.os.Message)" class="hiddenlink" target="rightframe">type  -(<code>int, CharSequence, Message</code>) in android.app.AlertDialog +  <nobr><A HREF="android.app.AlertDialog.html#android.app.AlertDialog.setButton_added(int, java.lang.CharSequence, android.os.Message)" class="hiddenlink" target="rightframe">type <b> +(<code>int, CharSequence, Message</code>)</b> in android.app.AlertDialog +</A></nobr><br> +<!-- Method setButton --> +  <nobr><A HREF="android.app.AlertDialog.html#android.app.AlertDialog.setButton_added(java.lang.CharSequence, android.content.DialogInterface.OnClickListener)" class="hiddenlink" target="rightframe">type <b> +(<code>CharSequence, OnClickListener</code>)</b> in android.app.AlertDialog +</A></nobr><br> +<!-- Method setButton --> +  <nobr><A HREF="android.app.AlertDialog.html#android.app.AlertDialog.setButton_added(java.lang.CharSequence, android.os.Message)" class="hiddenlink" target="rightframe">type <b> +(<code>CharSequence, Message</code>)</b> in android.app.AlertDialog </A></nobr><br> <!-- Method setButton2 --> <i>setButton2</i><br> @@ -3410,12 +3600,12 @@ body{background-image:url();padding:12px;} </nobr><br> <!-- Field sharedUserLabel --> <i>sharedUserLabel</i><br> - in  -<nobr><A HREF="android.R.attr.html#android.R.attr.sharedUserLabel" class="hiddenlink" target="rightframe">android.R.attr</A> +<nobr> in  +<A HREF="android.R.attr.html#android.R.attr.sharedUserLabel" class="hiddenlink" target="rightframe">android.R.attr</A> </nobr><br> <!-- Field sharedUserLabel --> - in  -<nobr><A HREF="android.content.pm.PackageInfo.html#android.content.pm.PackageInfo.sharedUserLabel" class="hiddenlink" target="rightframe">android.content.pm.PackageInfo</A> +<nobr> in  +<A HREF="android.content.pm.PackageInfo.html#android.content.pm.PackageInfo.sharedUserLabel" class="hiddenlink" target="rightframe">android.content.pm.PackageInfo</A> </nobr><br> <!-- Field SHOW_OR_CREATE_CONTACT --> <nobr><A HREF="android.provider.Contacts.Intents.html#android.provider.Contacts.Intents.SHOW_OR_CREATE_CONTACT" class="hiddenlink" target="rightframe">SHOW_OR_CREATE_CONTACT</A> @@ -3438,24 +3628,6 @@ body{background-image:url();padding:12px;} </nobr><br> <!-- Class SmsMessage --> <A HREF="android.telephony.gsm.SmsMessage.html" class="hiddenlink" target="rightframe">SmsMessage</A><br> -<!-- Class Socket --> -<i>Socket</i><br> -  <A HREF="java.net.Socket.html" class="hiddenlink" target="rightframe">java.net</A><br> -<!-- Constructor Socket --> -  <nobr><A HREF="java.net.Socket.html#java.net.Socket.ctor_changed()" class="hiddenlink" target="rightframe">Socket -()</A></nobr> constructor<br> -<!-- Constructor Socket --> -  <nobr><A HREF="java.net.Socket.html#java.net.Socket.ctor_changed(java.lang.String, int)" class="hiddenlink" target="rightframe">Socket -(<code>String, int</code>)</A></nobr> constructor<br> -<!-- Constructor Socket --> -  <nobr><A HREF="java.net.Socket.html#java.net.Socket.ctor_changed(java.lang.String, int, java.net.InetAddress, int)" class="hiddenlink" target="rightframe">Socket -(<code>String, int, InetAddress, int</code>)</A></nobr> constructor<br> -<!-- Constructor Socket --> -  <nobr><A HREF="java.net.Socket.html#java.net.Socket.ctor_changed(java.net.Proxy)" class="hiddenlink" target="rightframe">Socket -(<code>Proxy</code>)</A></nobr> constructor<br> -<!-- Constructor Socket --> -  <nobr><A HREF="java.net.Socket.html#java.net.Socket.ctor_changed(java.net.SocketImpl)" class="hiddenlink" target="rightframe">Socket -(<code>SocketImpl</code>)</A></nobr> constructor<br> <!-- Field SOFT_INPUT_ADJUST_PAN --> <nobr><A HREF="android.view.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN" class="hiddenlink" target="rightframe">SOFT_INPUT_ADJUST_PAN</A> </nobr><br> @@ -3497,12 +3669,12 @@ body{background-image:url();padding:12px;} </nobr><br> <!-- Field softInputMode --> <i>softInputMode</i><br> - in  -<nobr><A HREF="android.content.pm.ActivityInfo.html#android.content.pm.ActivityInfo.softInputMode" class="hiddenlink" target="rightframe">android.content.pm.ActivityInfo</A> +<nobr> in  +<A HREF="android.content.pm.ActivityInfo.html#android.content.pm.ActivityInfo.softInputMode" class="hiddenlink" target="rightframe">android.content.pm.ActivityInfo</A> </nobr><br> <!-- Field softInputMode --> - in  -<nobr><A HREF="android.view.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.softInputMode" class="hiddenlink" target="rightframe">android.view.WindowManager.LayoutParams</A> +<nobr> in  +<A HREF="android.view.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.softInputMode" class="hiddenlink" target="rightframe">android.view.WindowManager.LayoutParams</A> </nobr><br> <!-- Method sort --> <nobr><A HREF="android.widget.ArrayAdapter.html#android.widget.ArrayAdapter.sort_added(java.util.Comparator<? super T>)" class="hiddenlink" target="rightframe"><b>sort</b> @@ -3547,24 +3719,6 @@ body{background-image:url();padding:12px;} <!-- Constructor StrikethroughSpan -->   <nobr><A HREF="android.text.style.StrikethroughSpan.html#android.text.style.StrikethroughSpan.ctor_added(android.os.Parcel)" class="hiddenlink" target="rightframe"><b>StrikethroughSpan</b> (<code>Parcel</code>)</A></nobr> constructor<br> -<!-- Class String --> -<i>String</i><br> -  <A HREF="java.lang.String.html" class="hiddenlink" target="rightframe">java.lang</A><br> -<!-- Constructor String --> -  <nobr><A HREF="java.lang.String.html#java.lang.String.ctor_changed()" class="hiddenlink" target="rightframe">String -()</A></nobr> constructor<br> -<!-- Constructor String --> -  <nobr><A HREF="java.lang.String.html#java.lang.String.ctor_changed(byte[])" class="hiddenlink" target="rightframe">String -(<code>byte[]</code>)</A></nobr> constructor<br> -<!-- Constructor String --> -  <nobr><A HREF="java.lang.String.html#java.lang.String.ctor_changed(byte[], int)" class="hiddenlink" target="rightframe">String -(<code>byte[], int</code>)</A></nobr> constructor<br> -<!-- Constructor String --> -  <nobr><A HREF="java.lang.String.html#java.lang.String.ctor_changed(byte[], int, int)" class="hiddenlink" target="rightframe">String -(<code>byte[], int, int</code>)</A></nobr> constructor<br> -<!-- Constructor String --> -  <nobr><A HREF="java.lang.String.html#java.lang.String.ctor_changed(byte[], int, int, int)" class="hiddenlink" target="rightframe">String -(<code>byte[], int, int, int</code>)</A></nobr> constructor<br> <!-- Class StyleSpan --> <i>StyleSpan</i><br>   <A HREF="android.text.style.StyleSpan.html" class="hiddenlink" target="rightframe">android.text.style</A><br> @@ -3637,8 +3791,6 @@ body{background-image:url();padding:12px;} <!-- Constructor TestMethod -->   <nobr><A HREF="android.test.suitebuilder.TestMethod.html#android.test.suitebuilder.TestMethod.ctor_added(junit.framework.TestCase)" class="hiddenlink" target="rightframe"><b>TestMethod</b> (<code>TestCase</code>)</A></nobr> constructor<br> -<!-- Class TestSuiteBuilder --> -<A HREF="android.test.suitebuilder.TestSuiteBuilder.html" class="hiddenlink" target="rightframe">TestSuiteBuilder</A><br> <!-- Class TextAppearanceSpan --> <i>TextAppearanceSpan</i><br>   <A HREF="android.text.style.TextAppearanceSpan.html" class="hiddenlink" target="rightframe">android.text.style</A><br> diff --git a/docs/html/sdk/api_diff/3/changes/alldiffs_index_changes.html b/docs/html/sdk/api_diff/3/changes/alldiffs_index_changes.html index b35bdb35ce4beb9be9a045dba71a19d8db2e623d..df82cd4f52bb98c04595f29f486053cebe267ce2 100644 --- a/docs/html/sdk/api_diff/3/changes/alldiffs_index_changes.html +++ b/docs/html/sdk/api_diff/3/changes/alldiffs_index_changes.html @@ -22,10 +22,9 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> -<BODY class="gc-documentation"> +<BODY class="gc-documentation" style="padding:12px;"> <a NAME="topheader"></a> <table summary="Index for All Differences" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;"> <tr> @@ -45,8 +44,8 @@ body{background-image:url();padding:12px;} </td> </tr> </table> -<div id="indexTableCaption"> -<font size="-2"><strong>Bold</strong> indicates New; <strike>Strike</strike> indicates deleted. Plain indicates changed.</font> +<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:.5em;"> +Listed as: <span style="color:#069"><strong>Added</strong></span>, <span style="color:#069"><strike>Removed</strike></span>, <span style="color:#069">Changed</span></font> </div> <!-- Class AbsListView --> <A NAME="A"></A> @@ -95,9 +94,6 @@ body{background-image:url();padding:12px;} <!-- Field ADB_ENABLED --> <nobr><A HREF="android.provider.Settings.System.html#android.provider.Settings.System.ADB_ENABLED" class="hiddenlink" target="rightframe">ADB_ENABLED</A> </nobr><br> -<!-- Method addRequirements --> -<nobr><A HREF="android.test.suitebuilder.TestSuiteBuilder.html#android.test.suitebuilder.TestSuiteBuilder.addRequirements_changed(com.android.internal.util.Predicate<android.test.suitebuilder.TestMethod>...)" class="hiddenlink" target="rightframe">addRequirements -(<code>Predicate<TestMethod></code>)</A></nobr><br> <!-- Class AlarmManager --> <A HREF="android.app.AlarmManager.html" class="hiddenlink" target="rightframe">AlarmManager</A><br> <!-- Class AlertDialog --> @@ -321,9 +317,64 @@ body{background-image:url();padding:12px;} <!-- Class CursorWrapper --> <A HREF="android.database.CursorWrapper.html" class="hiddenlink" target="rightframe">CursorWrapper</A><br> <!-- Package dalvik.system --> -<A NAME="D"></A> +<span class="letterIndexHead">D +<a href="#A"><font size="-2">A</font></a> +<a href="#B"><font size="-2">B</font></a> +<a href="#C"><font size="-2">C</font></a> +<a href="#E"><font size="-2">E</font></a> +<a href="#F"><font size="-2">F</font></a> +<a href="#G"><font size="-2">G</font></a> +<a href="#H"><font size="-2">H</font></a> +<a href="#I"><font size="-2">I</font></a> +<a href="#J"><font size="-2">J</font></a> +<a href="#K"><font size="-2">K</font></a> +<a href="#L"><font size="-2">L</font></a> +<a href="#M"><font size="-2">M</font></a> +<a href="#N"><font size="-2">N</font></a> +<a href="#O"><font size="-2">O</font></a> +<a href="#P"><font size="-2">P</font></a> +<a href="#Q"><font size="-2">Q</font></a> +<a href="#R"><font size="-2">R</font></a> +<a href="#S"><font size="-2">S</font></a> +<a href="#T"><font size="-2">T</font></a> +<a href="#U"><font size="-2">U</font></a> +<a href="#V"><font size="-2">V</font></a> +<a href="#W"><font size="-2">W</font></a> +<a href="#Y"><font size="-2">Y</font></a> +<a href="#Z"><font size="-2">Z</font></a> + <a href="#topheader"><font size="-2">TOP</font></a> +<p><div style="line-height:1.5em;color:black"> +</span> <A HREF="pkg_dalvik.system.html" class="hiddenlink" target="rightframe">dalvik.system</A><br> <!-- Field DATA_ROAMING --> +<A NAME="D"></A> +<br><font size="+2">D</font>  +<a href="#A"><font size="-2">A</font></a> +<a href="#B"><font size="-2">B</font></a> +<a href="#C"><font size="-2">C</font></a> +<a href="#E"><font size="-2">E</font></a> +<a href="#F"><font size="-2">F</font></a> +<a href="#G"><font size="-2">G</font></a> +<a href="#H"><font size="-2">H</font></a> +<a href="#I"><font size="-2">I</font></a> +<a href="#J"><font size="-2">J</font></a> +<a href="#K"><font size="-2">K</font></a> +<a href="#L"><font size="-2">L</font></a> +<a href="#M"><font size="-2">M</font></a> +<a href="#N"><font size="-2">N</font></a> +<a href="#O"><font size="-2">O</font></a> +<a href="#P"><font size="-2">P</font></a> +<a href="#Q"><font size="-2">Q</font></a> +<a href="#R"><font size="-2">R</font></a> +<a href="#S"><font size="-2">S</font></a> +<a href="#T"><font size="-2">T</font></a> +<a href="#U"><font size="-2">U</font></a> +<a href="#V"><font size="-2">V</font></a> +<a href="#W"><font size="-2">W</font></a> +<a href="#Y"><font size="-2">Y</font></a> +<a href="#Z"><font size="-2">Z</font></a> + <a href="#topheader"><font size="-2">TOP</font></a> +<p><div style="line-height:1.5em;color:black"> <nobr><A HREF="android.provider.Settings.System.html#android.provider.Settings.System.DATA_ROAMING" class="hiddenlink" target="rightframe">DATA_ROAMING</A> </nobr><br> <!-- Field DATA_X --> @@ -337,15 +388,6 @@ body{background-image:url();padding:12px;} </nobr><br> <!-- Class DatabaseUtils --> <A HREF="android.database.DatabaseUtils.html" class="hiddenlink" target="rightframe">DatabaseUtils</A><br> -<!-- Class Date --> -<i>Date</i><br> -  <A HREF="java.util.Date.html" class="hiddenlink" target="rightframe">java.util</A><br> -<!-- Constructor Date --> -  <nobr><A HREF="java.util.Date.html#java.util.Date.ctor_changed()" class="hiddenlink" target="rightframe">Date -()</A></nobr> constructor<br> -<!-- Constructor Date --> -  <nobr><A HREF="java.util.Date.html#java.util.Date.ctor_changed(int, int, int, int, int, int)" class="hiddenlink" target="rightframe">Date -(<code>int, int, int, int, int, int</code>)</A></nobr> constructor<br> <!-- Class DateKeyListener --> <A HREF="android.text.method.DateKeyListener.html" class="hiddenlink" target="rightframe">DateKeyListener</A><br> <!-- Class DateTimeKeyListener --> @@ -354,12 +396,12 @@ body{background-image:url();padding:12px;} <A HREF="android.os.Debug.html" class="hiddenlink" target="rightframe">Debug</A><br> <!-- Field DEFAULT_SORT_ORDER --> <i>DEFAULT_SORT_ORDER</i><br> - in  -<nobr><A HREF="android.provider.MediaStore.Images.Media.html#android.provider.MediaStore.Images.Media.DEFAULT_SORT_ORDER" class="hiddenlink" target="rightframe">android.provider.MediaStore.Images.Media</A> +<nobr> in  +<A HREF="android.provider.MediaStore.Images.Media.html#android.provider.MediaStore.Images.Media.DEFAULT_SORT_ORDER" class="hiddenlink" target="rightframe">android.provider.MediaStore.Images.Media</A> </nobr><br> <!-- Field DEFAULT_SORT_ORDER --> - in  -<nobr><A HREF="android.provider.MediaStore.Video.html#android.provider.MediaStore.Video.DEFAULT_SORT_ORDER" class="hiddenlink" target="rightframe">android.provider.MediaStore.Video</A> +<nobr> in  +<A HREF="android.provider.MediaStore.Video.html#android.provider.MediaStore.Video.DEFAULT_SORT_ORDER" class="hiddenlink" target="rightframe">android.provider.MediaStore.Video</A> </nobr><br> <!-- Field DEVICE_PROVISIONED --> <nobr><A HREF="android.provider.Settings.System.html#android.provider.Settings.System.DEVICE_PROVISIONED" class="hiddenlink" target="rightframe">DEVICE_PROVISIONED</A> @@ -390,14 +432,8 @@ body{background-image:url();padding:12px;} <nobr><A HREF="android.test.TouchUtils.html#android.test.TouchUtils.dragViewTo_changed(android.test.ActivityInstrumentationTestCase, android.view.View, int, int, int)" class="hiddenlink" target="rightframe">dragViewTo (<code>ActivityInstrumentationTestCase, View, int, int, int</code>)</A></nobr><br> <!-- Method dragViewToBottom --> -<i>dragViewToBottom</i><br> -  <nobr><A HREF="android.test.TouchUtils.html#android.test.TouchUtils.dragViewToBottom_changed(android.test.ActivityInstrumentationTestCase, android.view.View)" class="hiddenlink" target="rightframe">type  -(<code>ActivityInstrumentationTestCase, View</code>) in android.test.TouchUtils -</A></nobr><br> -<!-- Method dragViewToBottom --> -  <nobr><A HREF="android.test.TouchUtils.html#android.test.TouchUtils.dragViewToBottom_changed(android.test.InstrumentationTestCase, android.app.Activity, android.view.View)" class="hiddenlink" target="rightframe">type  -(<code>InstrumentationTestCase, Activity, View</code>) in android.test.TouchUtils -</A></nobr><br> +<nobr><A HREF="android.test.TouchUtils.html#android.test.TouchUtils.dragViewToBottom_changed(android.test.ActivityInstrumentationTestCase, android.view.View)" class="hiddenlink" target="rightframe">dragViewToBottom +(<code>ActivityInstrumentationTestCase, View</code>)</A></nobr><br> <!-- Method dragViewToTop --> <i>dragViewToTop</i><br>   <nobr><A HREF="android.test.TouchUtils.html#android.test.TouchUtils.dragViewToTop_changed(android.test.ActivityInstrumentationTestCase, android.view.View)" class="hiddenlink" target="rightframe">type  @@ -483,12 +519,6 @@ body{background-image:url();padding:12px;} <a href="#topheader"><font size="-2">TOP</font></a> <p><div style="line-height:1.5em;color:black"> <A HREF="android.text.style.ForegroundColorSpan.html" class="hiddenlink" target="rightframe">ForegroundColorSpan</A><br> -<!-- Method forkAndSpecialize --> -<nobr><A HREF="dalvik.system.Zygote.html#dalvik.system.Zygote.forkAndSpecialize_changed(int, int, int[], boolean, int[][])" class="hiddenlink" target="rightframe">forkAndSpecialize -(<code>int, int, int[], boolean, int[][]</code>)</A></nobr><br> -<!-- Method forkSystemServer --> -<nobr><A HREF="dalvik.system.Zygote.html#dalvik.system.Zygote.forkSystemServer_changed(int, int, int[], boolean, int[][])" class="hiddenlink" target="rightframe">forkSystemServer -(<code>int, int, int[], boolean, int[][]</code>)</A></nobr><br> <!-- Method forName --> <nobr><A HREF="java.lang.Character.UnicodeBlock.html#java.lang.Character.UnicodeBlock.forName_changed(java.lang.String)" class="hiddenlink" target="rightframe">forName (<code>String</code>)</A></nobr><br> @@ -585,9 +615,6 @@ body{background-image:url();padding:12px;} <!-- Method getMinimumFlingVelocity --> <nobr><A HREF="android.view.ViewConfiguration.html#android.view.ViewConfiguration.getMinimumFlingVelocity_changed()" class="hiddenlink" target="rightframe">getMinimumFlingVelocity ()</A></nobr><br> -<!-- Method getProxyClass --> -<nobr><A HREF="java.lang.reflect.Proxy.html#java.lang.reflect.Proxy.getProxyClass_changed(java.lang.ClassLoader, java.lang.Class<?>...)" class="hiddenlink" target="rightframe">getProxyClass -(<code>ClassLoader, Class<?></code>)</A></nobr><br> <!-- Method getScrollBarSize --> <nobr><A HREF="android.view.ViewConfiguration.html#android.view.ViewConfiguration.getScrollBarSize_changed()" class="hiddenlink" target="rightframe">getScrollBarSize ()</A></nobr><br> @@ -697,17 +724,94 @@ body{background-image:url();padding:12px;} <nobr><A HREF="android.webkit.URLUtil.html#android.webkit.URLUtil.isCookielessProxyUrl_changed(java.lang.String)" class="hiddenlink" target="rightframe">isCookielessProxyUrl (<code>String</code>)</A></nobr><br> <!-- Package java.lang --> -<A NAME="J"></A> +<span class="letterIndexHead">J +<a href="#A"><font size="-2">A</font></a> +<a href="#B"><font size="-2">B</font></a> +<a href="#C"><font size="-2">C</font></a> +<a href="#D"><font size="-2">D</font></a> +<a href="#E"><font size="-2">E</font></a> +<a href="#F"><font size="-2">F</font></a> +<a href="#G"><font size="-2">G</font></a> +<a href="#H"><font size="-2">H</font></a> +<a href="#I"><font size="-2">I</font></a> +<a href="#K"><font size="-2">K</font></a> +<a href="#L"><font size="-2">L</font></a> +<a href="#M"><font size="-2">M</font></a> +<a href="#N"><font size="-2">N</font></a> +<a href="#O"><font size="-2">O</font></a> +<a href="#P"><font size="-2">P</font></a> +<a href="#Q"><font size="-2">Q</font></a> +<a href="#R"><font size="-2">R</font></a> +<a href="#S"><font size="-2">S</font></a> +<a href="#T"><font size="-2">T</font></a> +<a href="#U"><font size="-2">U</font></a> +<a href="#V"><font size="-2">V</font></a> +<a href="#W"><font size="-2">W</font></a> +<a href="#Y"><font size="-2">Y</font></a> +<a href="#Z"><font size="-2">Z</font></a> + <a href="#topheader"><font size="-2">TOP</font></a> +<p><div style="line-height:1.5em;color:black"> +</span> <A HREF="pkg_java.lang.html" class="hiddenlink" target="rightframe">java.lang</A><br> -<!-- Package java.lang.reflect --> -<A HREF="pkg_java.lang.reflect.html" class="hiddenlink" target="rightframe">java.lang.reflect</A><br> -<!-- Package java.net --> -<A HREF="pkg_java.net.html" class="hiddenlink" target="rightframe">java.net</A><br> -<!-- Package java.util --> -<A HREF="pkg_java.util.html" class="hiddenlink" target="rightframe">java.util</A><br> <!-- Package java.util.jar --> +<span class="letterIndexHead">J +<a href="#A"><font size="-2">A</font></a> +<a href="#B"><font size="-2">B</font></a> +<a href="#C"><font size="-2">C</font></a> +<a href="#D"><font size="-2">D</font></a> +<a href="#E"><font size="-2">E</font></a> +<a href="#F"><font size="-2">F</font></a> +<a href="#G"><font size="-2">G</font></a> +<a href="#H"><font size="-2">H</font></a> +<a href="#I"><font size="-2">I</font></a> +<a href="#K"><font size="-2">K</font></a> +<a href="#L"><font size="-2">L</font></a> +<a href="#M"><font size="-2">M</font></a> +<a href="#N"><font size="-2">N</font></a> +<a href="#O"><font size="-2">O</font></a> +<a href="#P"><font size="-2">P</font></a> +<a href="#Q"><font size="-2">Q</font></a> +<a href="#R"><font size="-2">R</font></a> +<a href="#S"><font size="-2">S</font></a> +<a href="#T"><font size="-2">T</font></a> +<a href="#U"><font size="-2">U</font></a> +<a href="#V"><font size="-2">V</font></a> +<a href="#W"><font size="-2">W</font></a> +<a href="#Y"><font size="-2">Y</font></a> +<a href="#Z"><font size="-2">Z</font></a> + <a href="#topheader"><font size="-2">TOP</font></a> +<p><div style="line-height:1.5em;color:black"> +</span> <A HREF="pkg_java.util.jar.html" class="hiddenlink" target="rightframe">java.util.jar</A><br> <!-- Package java.util.logging --> +<span class="letterIndexHead">J +<a href="#A"><font size="-2">A</font></a> +<a href="#B"><font size="-2">B</font></a> +<a href="#C"><font size="-2">C</font></a> +<a href="#D"><font size="-2">D</font></a> +<a href="#E"><font size="-2">E</font></a> +<a href="#F"><font size="-2">F</font></a> +<a href="#G"><font size="-2">G</font></a> +<a href="#H"><font size="-2">H</font></a> +<a href="#I"><font size="-2">I</font></a> +<a href="#K"><font size="-2">K</font></a> +<a href="#L"><font size="-2">L</font></a> +<a href="#M"><font size="-2">M</font></a> +<a href="#N"><font size="-2">N</font></a> +<a href="#O"><font size="-2">O</font></a> +<a href="#P"><font size="-2">P</font></a> +<a href="#Q"><font size="-2">Q</font></a> +<a href="#R"><font size="-2">R</font></a> +<a href="#S"><font size="-2">S</font></a> +<a href="#T"><font size="-2">T</font></a> +<a href="#U"><font size="-2">U</font></a> +<a href="#V"><font size="-2">V</font></a> +<a href="#W"><font size="-2">W</font></a> +<a href="#Y"><font size="-2">Y</font></a> +<a href="#Z"><font size="-2">Z</font></a> + <a href="#topheader"><font size="-2">TOP</font></a> +<p><div style="line-height:1.5em;color:black"> +</span> <A HREF="pkg_java.util.logging.html" class="hiddenlink" target="rightframe">java.util.logging</A><br> <!-- Class KeyCharacterMap --> <A NAME="K"></A> @@ -1018,8 +1122,6 @@ body{background-image:url();padding:12px;} <A HREF="android.widget.ProgressBar.html" class="hiddenlink" target="rightframe">ProgressBar</A><br> <!-- Class ProviderTestCase --> <A HREF="android.test.ProviderTestCase.html" class="hiddenlink" target="rightframe">ProviderTestCase</A><br> -<!-- Class Proxy --> -<A HREF="java.lang.reflect.Proxy.html" class="hiddenlink" target="rightframe">Proxy</A><br> <!-- Class QuoteSpan --> <A NAME="Q"></A> <br><font size="+2">Q</font>  @@ -1225,15 +1327,6 @@ body{background-image:url();padding:12px;} <!-- Method service --> <nobr><A HREF="android.webkit.UrlInterceptHandler.html#android.webkit.UrlInterceptHandler.service_changed(java.lang.String, java.util.Map<java.lang.String, java.lang.String>)" class="hiddenlink" target="rightframe">service (<code>String, Map<String, String></code>)</A></nobr><br> -<!-- Method setButton --> -<i>setButton</i><br> -  <nobr><A HREF="android.app.AlertDialog.html#android.app.AlertDialog.setButton_changed(int, java.lang.CharSequence, android.content.DialogInterface.OnClickListener)" class="hiddenlink" target="rightframe">type  -(<code>int, CharSequence, OnClickListener</code>) in android.app.AlertDialog -</A></nobr><br> -<!-- Method setButton --> -  <nobr><A HREF="android.app.AlertDialog.html#android.app.AlertDialog.setButton_changed(int, java.lang.CharSequence, android.os.Message)" class="hiddenlink" target="rightframe">type  -(<code>int, CharSequence, Message</code>) in android.app.AlertDialog -</A></nobr><br> <!-- Method setButton2 --> <i>setButton2</i><br>   <nobr><A HREF="android.app.AlertDialog.html#android.app.AlertDialog.setButton2_changed(java.lang.CharSequence, android.content.DialogInterface.OnClickListener)" class="hiddenlink" target="rightframe">type  @@ -1274,24 +1367,6 @@ body{background-image:url();padding:12px;} </nobr><br> <!-- Class SmsMessage --> <A HREF="android.telephony.gsm.SmsMessage.html" class="hiddenlink" target="rightframe">SmsMessage</A><br> -<!-- Class Socket --> -<i>Socket</i><br> -  <A HREF="java.net.Socket.html" class="hiddenlink" target="rightframe">java.net</A><br> -<!-- Constructor Socket --> -  <nobr><A HREF="java.net.Socket.html#java.net.Socket.ctor_changed()" class="hiddenlink" target="rightframe">Socket -()</A></nobr> constructor<br> -<!-- Constructor Socket --> -  <nobr><A HREF="java.net.Socket.html#java.net.Socket.ctor_changed(java.lang.String, int)" class="hiddenlink" target="rightframe">Socket -(<code>String, int</code>)</A></nobr> constructor<br> -<!-- Constructor Socket --> -  <nobr><A HREF="java.net.Socket.html#java.net.Socket.ctor_changed(java.lang.String, int, java.net.InetAddress, int)" class="hiddenlink" target="rightframe">Socket -(<code>String, int, InetAddress, int</code>)</A></nobr> constructor<br> -<!-- Constructor Socket --> -  <nobr><A HREF="java.net.Socket.html#java.net.Socket.ctor_changed(java.net.Proxy)" class="hiddenlink" target="rightframe">Socket -(<code>Proxy</code>)</A></nobr> constructor<br> -<!-- Constructor Socket --> -  <nobr><A HREF="java.net.Socket.html#java.net.Socket.ctor_changed(java.net.SocketImpl)" class="hiddenlink" target="rightframe">Socket -(<code>SocketImpl</code>)</A></nobr> constructor<br> <!-- Class SoundPool --> <A HREF="android.media.SoundPool.html" class="hiddenlink" target="rightframe">SoundPool</A><br> <!-- Class Spanned --> @@ -1304,24 +1379,6 @@ body{background-image:url();padding:12px;} <A HREF="android.database.sqlite.SQLiteDatabase.html" class="hiddenlink" target="rightframe">SQLiteDatabase</A><br> <!-- Class StrikethroughSpan --> <A HREF="android.text.style.StrikethroughSpan.html" class="hiddenlink" target="rightframe">StrikethroughSpan</A><br> -<!-- Class String --> -<i>String</i><br> -  <A HREF="java.lang.String.html" class="hiddenlink" target="rightframe">java.lang</A><br> -<!-- Constructor String --> -  <nobr><A HREF="java.lang.String.html#java.lang.String.ctor_changed()" class="hiddenlink" target="rightframe">String -()</A></nobr> constructor<br> -<!-- Constructor String --> -  <nobr><A HREF="java.lang.String.html#java.lang.String.ctor_changed(byte[])" class="hiddenlink" target="rightframe">String -(<code>byte[]</code>)</A></nobr> constructor<br> -<!-- Constructor String --> -  <nobr><A HREF="java.lang.String.html#java.lang.String.ctor_changed(byte[], int)" class="hiddenlink" target="rightframe">String -(<code>byte[], int</code>)</A></nobr> constructor<br> -<!-- Constructor String --> -  <nobr><A HREF="java.lang.String.html#java.lang.String.ctor_changed(byte[], int, int)" class="hiddenlink" target="rightframe">String -(<code>byte[], int, int</code>)</A></nobr> constructor<br> -<!-- Constructor String --> -  <nobr><A HREF="java.lang.String.html#java.lang.String.ctor_changed(byte[], int, int, int)" class="hiddenlink" target="rightframe">String -(<code>byte[], int, int, int</code>)</A></nobr> constructor<br> <!-- Class StyleSpan --> <A HREF="android.text.style.StyleSpan.html" class="hiddenlink" target="rightframe">StyleSpan</A><br> <!-- Class SubscriptSpan --> @@ -1360,8 +1417,6 @@ body{background-image:url();padding:12px;} <A HREF="android.telephony.TelephonyManager.html" class="hiddenlink" target="rightframe">TelephonyManager</A><br> <!-- Class TestMethod --> <A HREF="android.test.suitebuilder.TestMethod.html" class="hiddenlink" target="rightframe">TestMethod</A><br> -<!-- Class TestSuiteBuilder --> -<A HREF="android.test.suitebuilder.TestSuiteBuilder.html" class="hiddenlink" target="rightframe">TestSuiteBuilder</A><br> <!-- Class TextAppearanceSpan --> <A HREF="android.text.style.TextAppearanceSpan.html" class="hiddenlink" target="rightframe">TextAppearanceSpan</A><br> <!-- Class TextKeyListener --> diff --git a/docs/html/sdk/api_diff/3/changes/alldiffs_index_removals.html b/docs/html/sdk/api_diff/3/changes/alldiffs_index_removals.html index 662b26690d2e3e6b75b21ddcad7e35e18b2a89ff..0f55f31f46b9305d467ac09b3bbdd736d162ab58 100644 --- a/docs/html/sdk/api_diff/3/changes/alldiffs_index_removals.html +++ b/docs/html/sdk/api_diff/3/changes/alldiffs_index_removals.html @@ -22,10 +22,9 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> -<BODY class="gc-documentation"> +<BODY class="gc-documentation" style="padding:12px;"> <a NAME="topheader"></a> <table summary="Index for All Differences" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;"> <tr> @@ -45,25 +44,73 @@ body{background-image:url();padding:12px;} </td> </tr> </table> -<div id="indexTableCaption"> -<font size="-2"><strong>Bold</strong> indicates New; <strike>Strike</strike> indicates deleted. Plain indicates changed.</font> +<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:.5em;"> +Listed as: <span style="color:#069"><strong>Added</strong></span>, <span style="color:#069"><strike>Removed</strike></span>, <span style="color:#069">Changed</span></font> </div> <!-- Field CATEGORY_GADGET --> <A NAME="C"></A> <br><font size="+2">C</font>  +<a href="#D"><font size="-2">D</font></a> +<a href="#F"><font size="-2">F</font></a> <a href="#N"><font size="-2">N</font></a> +<a href="#S"><font size="-2">S</font></a> <a href="#topheader"><font size="-2">TOP</font></a> <p><div style="line-height:1.5em;color:black"> <nobr><A HREF="android.content.Intent.html#android.content.Intent.CATEGORY_GADGET" class="hiddenlink" target="rightframe"><strike>CATEGORY_GADGET</strike></A> </nobr><br> +<!-- Method dragViewToBottom --> +<A NAME="D"></A> +<br><font size="+2">D</font>  +<a href="#C"><font size="-2">C</font></a> +<a href="#F"><font size="-2">F</font></a> +<a href="#N"><font size="-2">N</font></a> +<a href="#S"><font size="-2">S</font></a> + <a href="#topheader"><font size="-2">TOP</font></a> +<p><div style="line-height:1.5em;color:black"> +<nobr><A HREF="android.test.TouchUtils.html#android.test.TouchUtils.dragViewToBottom_removed(android.test.ActivityInstrumentationTestCase, android.view.View, int)" class="hiddenlink" target="rightframe"><strike>dragViewToBottom</strike> +(<code>ActivityInstrumentationTestCase, View, int</code>)</A></nobr><br> +<!-- Method forkAndSpecialize --> +<A NAME="F"></A> +<br><font size="+2">F</font>  +<a href="#C"><font size="-2">C</font></a> +<a href="#D"><font size="-2">D</font></a> +<a href="#N"><font size="-2">N</font></a> +<a href="#S"><font size="-2">S</font></a> + <a href="#topheader"><font size="-2">TOP</font></a> +<p><div style="line-height:1.5em;color:black"> +<nobr><A HREF="dalvik.system.Zygote.html#dalvik.system.Zygote.forkAndSpecialize_removed(int, int, int[], boolean, int[][])" class="hiddenlink" target="rightframe"><strike>forkAndSpecialize</strike> +(<code>int, int, int[], boolean, int[][]</code>)</A></nobr><br> +<!-- Method forkSystemServer --> +<nobr><A HREF="dalvik.system.Zygote.html#dalvik.system.Zygote.forkSystemServer_removed(int, int, int[], boolean, int[][])" class="hiddenlink" target="rightframe"><strike>forkSystemServer</strike> +(<code>int, int, int[], boolean, int[][]</code>)</A></nobr><br> <!-- Constructor NetworkInfo --> <A NAME="N"></A> <br><font size="+2">N</font>  <a href="#C"><font size="-2">C</font></a> +<a href="#D"><font size="-2">D</font></a> +<a href="#F"><font size="-2">F</font></a> +<a href="#S"><font size="-2">S</font></a> <a href="#topheader"><font size="-2">TOP</font></a> <p><div style="line-height:1.5em;color:black"> <nobr><A HREF="android.net.NetworkInfo.html#android.net.NetworkInfo.ctor_removed(int)" class="hiddenlink" target="rightframe"><strike>NetworkInfo</strike> (<code>int</code>)</A></nobr> constructor<br> +<!-- Method setButton --> +<A NAME="S"></A> +<br><font size="+2">S</font>  +<a href="#C"><font size="-2">C</font></a> +<a href="#D"><font size="-2">D</font></a> +<a href="#F"><font size="-2">F</font></a> +<a href="#N"><font size="-2">N</font></a> + <a href="#topheader"><font size="-2">TOP</font></a> +<p><div style="line-height:1.5em;color:black"> +<i>setButton</i><br> +  <nobr><A HREF="android.app.AlertDialog.html#android.app.AlertDialog.setButton_removed(java.lang.CharSequence, android.content.DialogInterface.OnClickListener)" class="hiddenlink" target="rightframe">type <strike> +(<code>CharSequence, OnClickListener</code>)</strike> in android.app.AlertDialog +</A></nobr><br> +<!-- Method setButton --> +  <nobr><A HREF="android.app.AlertDialog.html#android.app.AlertDialog.setButton_removed(java.lang.CharSequence, android.os.Message)" class="hiddenlink" target="rightframe">type <strike> +(<code>CharSequence, Message</code>)</strike> in android.app.AlertDialog +</A></nobr><br> <script src="http://www.google-analytics.com/ga.js" type="text/javascript"> </script> <script type="text/javascript"> diff --git a/docs/html/sdk/api_diff/3/changes/android.Manifest.permission.html b/docs/html/sdk/api_diff/3/changes/android.Manifest.permission.html index 76591022179eac5bd96814e55d605380cdaaaf48..fd78ed828063430d724e4984ba2f5c90864cebde 100644 --- a/docs/html/sdk/api_diff/3/changes/android.Manifest.permission.html +++ b/docs/html/sdk/api_diff/3/changes/android.Manifest.permission.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.<A HREF="../../../../reference/android/Manifest.permission.html" target="_top"><font size="+3"><tt>Manifest.permission</tt></font></A> +Class android.<A HREF="../../../../reference/android/Manifest.permission.html" target="_top"><font size="+2"><code>Manifest.permission</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -86,35 +85,35 @@ Class android.<A HREF="../../../../reference/android/Manifest.permission.html" t <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.Manifest.permission.BIND_APPWIDGET"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/Manifest.permission.html#BIND_APPWIDGET" target="_top"><xfont size="+1"><tt>BIND_APPWIDGET</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/Manifest.permission.html#BIND_APPWIDGET" target="_top"><code>BIND_APPWIDGET</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.Manifest.permission.BIND_INPUT_METHOD"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/Manifest.permission.html#BIND_INPUT_METHOD" target="_top"><xfont size="+1"><tt>BIND_INPUT_METHOD</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/Manifest.permission.html#BIND_INPUT_METHOD" target="_top"><code>BIND_INPUT_METHOD</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.Manifest.permission.MOUNT_FORMAT_FILESYSTEMS"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/Manifest.permission.html#MOUNT_FORMAT_FILESYSTEMS" target="_top"><xfont size="+1"><tt>MOUNT_FORMAT_FILESYSTEMS</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/Manifest.permission.html#MOUNT_FORMAT_FILESYSTEMS" target="_top"><code>MOUNT_FORMAT_FILESYSTEMS</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.Manifest.permission.UPDATE_DEVICE_STATS"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/Manifest.permission.html#UPDATE_DEVICE_STATS" target="_top"><xfont size="+1"><tt>UPDATE_DEVICE_STATS</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/Manifest.permission.html#UPDATE_DEVICE_STATS" target="_top"><code>UPDATE_DEVICE_STATS</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.Manifest.permission.WRITE_SECURE_SETTINGS"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/Manifest.permission.html#WRITE_SECURE_SETTINGS" target="_top"><xfont size="+1"><tt>WRITE_SECURE_SETTINGS</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/Manifest.permission.html#WRITE_SECURE_SETTINGS" target="_top"><code>WRITE_SECURE_SETTINGS</code></A></nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.R.attr.html b/docs/html/sdk/api_diff/3/changes/android.R.attr.html index 7df16a12132990b2ce887b815e93388852171182..d35804eb9cffa09114fe078e81d5ddc28e5aa31d 100644 --- a/docs/html/sdk/api_diff/3/changes/android.R.attr.html +++ b/docs/html/sdk/api_diff/3/changes/android.R.attr.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.<A HREF="../../../../reference/android/R.attr.html" target="_top"><font size="+3"><tt>R.attr</tt></font></A> +Class android.<A HREF="../../../../reference/android/R.attr.html" target="_top"><font size="+2"><code>R.attr</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -86,525 +85,525 @@ Class android.<A HREF="../../../../reference/android/R.attr.html" target="_top"> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.allowSingleTap"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#allowSingleTap" target="_top"><xfont size="+1"><tt>allowSingleTap</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#allowSingleTap" target="_top"><code>allowSingleTap</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.animateOnClick"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#animateOnClick" target="_top"><xfont size="+1"><tt>animateOnClick</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#animateOnClick" target="_top"><code>animateOnClick</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.backgroundDimEnabled"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#backgroundDimEnabled" target="_top"><xfont size="+1"><tt>backgroundDimEnabled</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#backgroundDimEnabled" target="_top"><code>backgroundDimEnabled</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.bottomOffset"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#bottomOffset" target="_top"><xfont size="+1"><tt>bottomOffset</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#bottomOffset" target="_top"><code>bottomOffset</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.candidatesTextStyleSpans"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#candidatesTextStyleSpans" target="_top"><xfont size="+1"><tt>candidatesTextStyleSpans</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#candidatesTextStyleSpans" target="_top"><code>candidatesTextStyleSpans</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.codes"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#codes" target="_top"><xfont size="+1"><tt>codes</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#codes" target="_top"><code>codes</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.configure"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#configure" target="_top"><xfont size="+1"><tt>configure</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#configure" target="_top"><code>configure</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.content"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#content" target="_top"><xfont size="+1"><tt>content</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#content" target="_top"><code>content</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.dropDownAnchor"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#dropDownAnchor" target="_top"><xfont size="+1"><tt>dropDownAnchor</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#dropDownAnchor" target="_top"><code>dropDownAnchor</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.dropDownWidth"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#dropDownWidth" target="_top"><xfont size="+1"><tt>dropDownWidth</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#dropDownWidth" target="_top"><code>dropDownWidth</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.editorExtras"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#editorExtras" target="_top"><xfont size="+1"><tt>editorExtras</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#editorExtras" target="_top"><code>editorExtras</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.fastScrollEnabled"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#fastScrollEnabled" target="_top"><xfont size="+1"><tt>fastScrollEnabled</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#fastScrollEnabled" target="_top"><code>fastScrollEnabled</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.fillEnabled"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#fillEnabled" target="_top"><xfont size="+1"><tt>fillEnabled</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#fillEnabled" target="_top"><code>fillEnabled</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.footerDividersEnabled"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#footerDividersEnabled" target="_top"><xfont size="+1"><tt>footerDividersEnabled</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#footerDividersEnabled" target="_top"><code>footerDividersEnabled</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.handle"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#handle" target="_top"><xfont size="+1"><tt>handle</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#handle" target="_top"><code>handle</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.hapticFeedbackEnabled"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#hapticFeedbackEnabled" target="_top"><xfont size="+1"><tt>hapticFeedbackEnabled</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#hapticFeedbackEnabled" target="_top"><code>hapticFeedbackEnabled</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.headerDividersEnabled"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#headerDividersEnabled" target="_top"><xfont size="+1"><tt>headerDividersEnabled</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#headerDividersEnabled" target="_top"><code>headerDividersEnabled</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.horizontalGap"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#horizontalGap" target="_top"><xfont size="+1"><tt>horizontalGap</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#horizontalGap" target="_top"><code>horizontalGap</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.iconPreview"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#iconPreview" target="_top"><xfont size="+1"><tt>iconPreview</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#iconPreview" target="_top"><code>iconPreview</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.imeActionId"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#imeActionId" target="_top"><xfont size="+1"><tt>imeActionId</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#imeActionId" target="_top"><code>imeActionId</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.imeActionLabel"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#imeActionLabel" target="_top"><xfont size="+1"><tt>imeActionLabel</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#imeActionLabel" target="_top"><code>imeActionLabel</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.imeExtractEnterAnimation"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#imeExtractEnterAnimation" target="_top"><xfont size="+1"><tt>imeExtractEnterAnimation</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#imeExtractEnterAnimation" target="_top"><code>imeExtractEnterAnimation</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.imeExtractExitAnimation"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#imeExtractExitAnimation" target="_top"><xfont size="+1"><tt>imeExtractExitAnimation</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#imeExtractExitAnimation" target="_top"><code>imeExtractExitAnimation</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.imeFullscreenBackground"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#imeFullscreenBackground" target="_top"><xfont size="+1"><tt>imeFullscreenBackground</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#imeFullscreenBackground" target="_top"><code>imeFullscreenBackground</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.imeOptions"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#imeOptions" target="_top"><xfont size="+1"><tt>imeOptions</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#imeOptions" target="_top"><code>imeOptions</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.initialLayout"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#initialLayout" target="_top"><xfont size="+1"><tt>initialLayout</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#initialLayout" target="_top"><code>initialLayout</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.innerRadius"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#innerRadius" target="_top"><xfont size="+1"><tt>innerRadius</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#innerRadius" target="_top"><code>innerRadius</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.inputType"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#inputType" target="_top"><xfont size="+1"><tt>inputType</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#inputType" target="_top"><code>inputType</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.isDefault"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#isDefault" target="_top"><xfont size="+1"><tt>isDefault</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#isDefault" target="_top"><code>isDefault</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.isModifier"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#isModifier" target="_top"><xfont size="+1"><tt>isModifier</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#isModifier" target="_top"><code>isModifier</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.isRepeatable"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#isRepeatable" target="_top"><xfont size="+1"><tt>isRepeatable</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#isRepeatable" target="_top"><code>isRepeatable</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.isScrollContainer"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#isScrollContainer" target="_top"><xfont size="+1"><tt>isScrollContainer</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#isScrollContainer" target="_top"><code>isScrollContainer</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.isSticky"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#isSticky" target="_top"><xfont size="+1"><tt>isSticky</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#isSticky" target="_top"><code>isSticky</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.keyBackground"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#keyBackground" target="_top"><xfont size="+1"><tt>keyBackground</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#keyBackground" target="_top"><code>keyBackground</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.keyEdgeFlags"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#keyEdgeFlags" target="_top"><xfont size="+1"><tt>keyEdgeFlags</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#keyEdgeFlags" target="_top"><code>keyEdgeFlags</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.keyHeight"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#keyHeight" target="_top"><xfont size="+1"><tt>keyHeight</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#keyHeight" target="_top"><code>keyHeight</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.keyIcon"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#keyIcon" target="_top"><xfont size="+1"><tt>keyIcon</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#keyIcon" target="_top"><code>keyIcon</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.keyLabel"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#keyLabel" target="_top"><xfont size="+1"><tt>keyLabel</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#keyLabel" target="_top"><code>keyLabel</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.keyOutputText"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#keyOutputText" target="_top"><xfont size="+1"><tt>keyOutputText</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#keyOutputText" target="_top"><code>keyOutputText</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.keyPreviewHeight"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#keyPreviewHeight" target="_top"><xfont size="+1"><tt>keyPreviewHeight</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#keyPreviewHeight" target="_top"><code>keyPreviewHeight</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.keyPreviewLayout"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#keyPreviewLayout" target="_top"><xfont size="+1"><tt>keyPreviewLayout</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#keyPreviewLayout" target="_top"><code>keyPreviewLayout</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.keyPreviewOffset"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#keyPreviewOffset" target="_top"><xfont size="+1"><tt>keyPreviewOffset</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#keyPreviewOffset" target="_top"><code>keyPreviewOffset</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.keyTextColor"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#keyTextColor" target="_top"><xfont size="+1"><tt>keyTextColor</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#keyTextColor" target="_top"><code>keyTextColor</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.keyTextSize"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#keyTextSize" target="_top"><xfont size="+1"><tt>keyTextSize</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#keyTextSize" target="_top"><code>keyTextSize</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.keyWidth"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#keyWidth" target="_top"><xfont size="+1"><tt>keyWidth</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#keyWidth" target="_top"><code>keyWidth</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.keyboardMode"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#keyboardMode" target="_top"><xfont size="+1"><tt>keyboardMode</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#keyboardMode" target="_top"><code>keyboardMode</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.labelTextSize"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#labelTextSize" target="_top"><xfont size="+1"><tt>labelTextSize</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#labelTextSize" target="_top"><code>labelTextSize</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.noHistory"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#noHistory" target="_top"><xfont size="+1"><tt>noHistory</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#noHistory" target="_top"><code>noHistory</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.popupCharacters"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#popupCharacters" target="_top"><xfont size="+1"><tt>popupCharacters</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#popupCharacters" target="_top"><code>popupCharacters</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.popupKeyboard"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#popupKeyboard" target="_top"><xfont size="+1"><tt>popupKeyboard</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#popupKeyboard" target="_top"><code>popupKeyboard</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.popupLayout"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#popupLayout" target="_top"><xfont size="+1"><tt>popupLayout</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#popupLayout" target="_top"><code>popupLayout</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.privateImeOptions"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#privateImeOptions" target="_top"><xfont size="+1"><tt>privateImeOptions</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#privateImeOptions" target="_top"><code>privateImeOptions</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.reqFiveWayNav"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#reqFiveWayNav" target="_top"><xfont size="+1"><tt>reqFiveWayNav</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#reqFiveWayNav" target="_top"><code>reqFiveWayNav</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.reqHardKeyboard"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#reqHardKeyboard" target="_top"><xfont size="+1"><tt>reqHardKeyboard</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#reqHardKeyboard" target="_top"><code>reqHardKeyboard</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.reqKeyboardType"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#reqKeyboardType" target="_top"><xfont size="+1"><tt>reqKeyboardType</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#reqKeyboardType" target="_top"><code>reqKeyboardType</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.reqNavigation"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#reqNavigation" target="_top"><xfont size="+1"><tt>reqNavigation</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#reqNavigation" target="_top"><code>reqNavigation</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.reqTouchScreen"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#reqTouchScreen" target="_top"><xfont size="+1"><tt>reqTouchScreen</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#reqTouchScreen" target="_top"><code>reqTouchScreen</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.rowEdgeFlags"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#rowEdgeFlags" target="_top"><xfont size="+1"><tt>rowEdgeFlags</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#rowEdgeFlags" target="_top"><code>rowEdgeFlags</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.settingsActivity"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#settingsActivity" target="_top"><xfont size="+1"><tt>settingsActivity</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#settingsActivity" target="_top"><code>settingsActivity</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.sharedUserLabel"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#sharedUserLabel" target="_top"><xfont size="+1"><tt>sharedUserLabel</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#sharedUserLabel" target="_top"><code>sharedUserLabel</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.smoothScrollbar"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#smoothScrollbar" target="_top"><xfont size="+1"><tt>smoothScrollbar</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#smoothScrollbar" target="_top"><code>smoothScrollbar</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.state_long_pressable"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#state_long_pressable" target="_top"><xfont size="+1"><tt>state_long_pressable</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#state_long_pressable" target="_top"><code>state_long_pressable</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.thickness"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#thickness" target="_top"><xfont size="+1"><tt>thickness</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#thickness" target="_top"><code>thickness</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.topOffset"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#topOffset" target="_top"><xfont size="+1"><tt>topOffset</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#topOffset" target="_top"><code>topOffset</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.updatePeriodMillis"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#updatePeriodMillis" target="_top"><xfont size="+1"><tt>updatePeriodMillis</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#updatePeriodMillis" target="_top"><code>updatePeriodMillis</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.verticalCorrection"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#verticalCorrection" target="_top"><xfont size="+1"><tt>verticalCorrection</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#verticalCorrection" target="_top"><code>verticalCorrection</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.verticalGap"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#verticalGap" target="_top"><xfont size="+1"><tt>verticalGap</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#verticalGap" target="_top"><code>verticalGap</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.voiceLanguage"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#voiceLanguage" target="_top"><xfont size="+1"><tt>voiceLanguage</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#voiceLanguage" target="_top"><code>voiceLanguage</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.voiceLanguageModel"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#voiceLanguageModel" target="_top"><xfont size="+1"><tt>voiceLanguageModel</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#voiceLanguageModel" target="_top"><code>voiceLanguageModel</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.voiceMaxResults"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#voiceMaxResults" target="_top"><xfont size="+1"><tt>voiceMaxResults</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#voiceMaxResults" target="_top"><code>voiceMaxResults</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.voicePromptText"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#voicePromptText" target="_top"><xfont size="+1"><tt>voicePromptText</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#voicePromptText" target="_top"><code>voicePromptText</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.voiceSearchMode"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#voiceSearchMode" target="_top"><xfont size="+1"><tt>voiceSearchMode</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#voiceSearchMode" target="_top"><code>voiceSearchMode</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.windowDisablePreview"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#windowDisablePreview" target="_top"><xfont size="+1"><tt>windowDisablePreview</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#windowDisablePreview" target="_top"><code>windowDisablePreview</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.windowNoDisplay"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#windowNoDisplay" target="_top"><xfont size="+1"><tt>windowNoDisplay</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#windowNoDisplay" target="_top"><code>windowNoDisplay</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.windowSoftInputMode"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#windowSoftInputMode" target="_top"><xfont size="+1"><tt>windowSoftInputMode</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#windowSoftInputMode" target="_top"><code>windowSoftInputMode</code></A></nobr> </TD> <TD> </TD> </TR> @@ -619,7 +618,7 @@ Class android.<A HREF="../../../../reference/android/R.attr.html" target="_top"> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.autoText"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#autoText" target="_top"><xfont size="+1"><tt>autoText</tt></font></A></nobr> </TD> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#autoText" target="_top"><code>autoText</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -628,7 +627,7 @@ Class android.<A HREF="../../../../reference/android/R.attr.html" target="_top"> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.capitalize"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#capitalize" target="_top"><xfont size="+1"><tt>capitalize</tt></font></A></nobr> </TD> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#capitalize" target="_top"><code>capitalize</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -637,7 +636,7 @@ Class android.<A HREF="../../../../reference/android/R.attr.html" target="_top"> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.editable"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#editable" target="_top"><xfont size="+1"><tt>editable</tt></font></A></nobr> </TD> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#editable" target="_top"><code>editable</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -646,7 +645,7 @@ Class android.<A HREF="../../../../reference/android/R.attr.html" target="_top"> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.enabled"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#enabled" target="_top"><xfont size="+1"><tt>enabled</tt></font></A></nobr> </TD> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#enabled" target="_top"><code>enabled</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -655,7 +654,7 @@ Class android.<A HREF="../../../../reference/android/R.attr.html" target="_top"> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.inputMethod"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#inputMethod" target="_top"><xfont size="+1"><tt>inputMethod</tt></font></A></nobr> </TD> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#inputMethod" target="_top"><code>inputMethod</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -664,7 +663,7 @@ Class android.<A HREF="../../../../reference/android/R.attr.html" target="_top"> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.numeric"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#numeric" target="_top"><xfont size="+1"><tt>numeric</tt></font></A></nobr> </TD> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#numeric" target="_top"><code>numeric</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -673,7 +672,7 @@ Class android.<A HREF="../../../../reference/android/R.attr.html" target="_top"> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.password"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#password" target="_top"><xfont size="+1"><tt>password</tt></font></A></nobr> </TD> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#password" target="_top"><code>password</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -682,7 +681,7 @@ Class android.<A HREF="../../../../reference/android/R.attr.html" target="_top"> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.phoneNumber"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#phoneNumber" target="_top"><xfont size="+1"><tt>phoneNumber</tt></font></A></nobr> </TD> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#phoneNumber" target="_top"><code>phoneNumber</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -691,7 +690,7 @@ Class android.<A HREF="../../../../reference/android/R.attr.html" target="_top"> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.searchButtonText"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#searchButtonText" target="_top"><xfont size="+1"><tt>searchButtonText</tt></font></A></nobr> </TD> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#searchButtonText" target="_top"><code>searchButtonText</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -700,7 +699,7 @@ Class android.<A HREF="../../../../reference/android/R.attr.html" target="_top"> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.attr.singleLine"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#singleLine" target="_top"><xfont size="+1"><tt>singleLine</tt></font></A></nobr> </TD> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.attr.html#singleLine" target="_top"><code>singleLine</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> diff --git a/docs/html/sdk/api_diff/3/changes/android.R.drawable.html b/docs/html/sdk/api_diff/3/changes/android.R.drawable.html index fe046dd7370f192f7a9f62071bced8518b0f344a..ec91c69d35c571373c2f1c01112c344c1e5fa5ac 100644 --- a/docs/html/sdk/api_diff/3/changes/android.R.drawable.html +++ b/docs/html/sdk/api_diff/3/changes/android.R.drawable.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.<A HREF="../../../../reference/android/R.drawable.html" target="_top"><font size="+3"><tt>R.drawable</tt></font></A> +Class android.<A HREF="../../../../reference/android/R.drawable.html" target="_top"><font size="+2"><code>R.drawable</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -86,21 +85,21 @@ Class android.<A HREF="../../../../reference/android/R.drawable.html" target="_t <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.drawable.dark_header"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.drawable.html#dark_header" target="_top"><xfont size="+1"><tt>dark_header</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.drawable.html#dark_header" target="_top"><code>dark_header</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.drawable.ic_btn_speak_now"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.drawable.html#ic_btn_speak_now" target="_top"><xfont size="+1"><tt>ic_btn_speak_now</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.drawable.html#ic_btn_speak_now" target="_top"><code>ic_btn_speak_now</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.drawable.title_bar_tall"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.drawable.html#title_bar_tall" target="_top"><xfont size="+1"><tt>title_bar_tall</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.drawable.html#title_bar_tall" target="_top"><code>title_bar_tall</code></A></nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.R.id.html b/docs/html/sdk/api_diff/3/changes/android.R.id.html index d30fc1da3b7f0cbcfe7ab3accc721a0f2a46a7ec..b4eed46ead6fe83eea6e288e5844cb9c15358bc3 100644 --- a/docs/html/sdk/api_diff/3/changes/android.R.id.html +++ b/docs/html/sdk/api_diff/3/changes/android.R.id.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.<A HREF="../../../../reference/android/R.id.html" target="_top"><font size="+3"><tt>R.id</tt></font></A> +Class android.<A HREF="../../../../reference/android/R.id.html" target="_top"><font size="+2"><code>R.id</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -86,105 +85,105 @@ Class android.<A HREF="../../../../reference/android/R.id.html" target="_top"><f <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.id.addToDictionary"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.id.html#addToDictionary" target="_top"><xfont size="+1"><tt>addToDictionary</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.id.html#addToDictionary" target="_top"><code>addToDictionary</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.id.candidatesArea"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.id.html#candidatesArea" target="_top"><xfont size="+1"><tt>candidatesArea</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.id.html#candidatesArea" target="_top"><code>candidatesArea</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.id.closeButton"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.id.html#closeButton" target="_top"><xfont size="+1"><tt>closeButton</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.id.html#closeButton" target="_top"><code>closeButton</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.id.copy"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.id.html#copy" target="_top"><xfont size="+1"><tt>copy</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.id.html#copy" target="_top"><code>copy</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.id.copyUrl"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.id.html#copyUrl" target="_top"><xfont size="+1"><tt>copyUrl</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.id.html#copyUrl" target="_top"><code>copyUrl</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.id.cut"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.id.html#cut" target="_top"><xfont size="+1"><tt>cut</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.id.html#cut" target="_top"><code>cut</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.id.extractArea"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.id.html#extractArea" target="_top"><xfont size="+1"><tt>extractArea</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.id.html#extractArea" target="_top"><code>extractArea</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.id.inputArea"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.id.html#inputArea" target="_top"><xfont size="+1"><tt>inputArea</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.id.html#inputArea" target="_top"><code>inputArea</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.id.inputExtractEditText"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.id.html#inputExtractEditText" target="_top"><xfont size="+1"><tt>inputExtractEditText</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.id.html#inputExtractEditText" target="_top"><code>inputExtractEditText</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.id.keyboardView"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.id.html#keyboardView" target="_top"><xfont size="+1"><tt>keyboardView</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.id.html#keyboardView" target="_top"><code>keyboardView</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.id.paste"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.id.html#paste" target="_top"><xfont size="+1"><tt>paste</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.id.html#paste" target="_top"><code>paste</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.id.selectAll"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.id.html#selectAll" target="_top"><xfont size="+1"><tt>selectAll</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.id.html#selectAll" target="_top"><code>selectAll</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.id.startSelectingText"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.id.html#startSelectingText" target="_top"><xfont size="+1"><tt>startSelectingText</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.id.html#startSelectingText" target="_top"><code>startSelectingText</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.id.stopSelectingText"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.id.html#stopSelectingText" target="_top"><xfont size="+1"><tt>stopSelectingText</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.id.html#stopSelectingText" target="_top"><code>stopSelectingText</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.id.switchInputMethod"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.id.html#switchInputMethod" target="_top"><xfont size="+1"><tt>switchInputMethod</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.id.html#switchInputMethod" target="_top"><code>switchInputMethod</code></A></nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.R.string.html b/docs/html/sdk/api_diff/3/changes/android.R.string.html index 5d18ffa187c6fab53f84570109a3bff9c1b311ba..8c700c02fe071012cbffd1bd73d94df5fb812bc6 100644 --- a/docs/html/sdk/api_diff/3/changes/android.R.string.html +++ b/docs/html/sdk/api_diff/3/changes/android.R.string.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.<A HREF="../../../../reference/android/R.string.html" target="_top"><font size="+3"><tt>R.string</tt></font></A> +Class android.<A HREF="../../../../reference/android/R.string.html" target="_top"><font size="+2"><code>R.string</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -86,14 +85,14 @@ Class android.<A HREF="../../../../reference/android/R.string.html" target="_top <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.string.VideoView_error_text_invalid_progressive_playback"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.string.html#VideoView_error_text_invalid_progressive_playback" target="_top"><xfont size="+1"><tt>VideoView_error_text_invalid_progressive_playback</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.string.html#VideoView_error_text_invalid_progressive_playback" target="_top"><code>VideoView_error_text_invalid_progressive_playback</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.string.dialog_alert_title"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.string.html#dialog_alert_title" target="_top"><xfont size="+1"><tt>dialog_alert_title</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.string.html#dialog_alert_title" target="_top"><code>dialog_alert_title</code></A></nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.R.style.html b/docs/html/sdk/api_diff/3/changes/android.R.style.html index 726bab9fb2b485d3ce1717ed3573bb36da1db73c..fa925bb5cf30d9ff5d9c08ed6a34c0add2f24040 100644 --- a/docs/html/sdk/api_diff/3/changes/android.R.style.html +++ b/docs/html/sdk/api_diff/3/changes/android.R.style.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.<A HREF="../../../../reference/android/R.style.html" target="_top"><font size="+3"><tt>R.style</tt></font></A> +Class android.<A HREF="../../../../reference/android/R.style.html" target="_top"><font size="+2"><code>R.style</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -86,35 +85,35 @@ Class android.<A HREF="../../../../reference/android/R.style.html" target="_top" <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.style.Theme_InputMethod"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.style.html#Theme_InputMethod" target="_top"><xfont size="+1"><tt>Theme_InputMethod</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.style.html#Theme_InputMethod" target="_top"><code>Theme_InputMethod</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.style.Theme_Light_Panel"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.style.html#Theme_Light_Panel" target="_top"><xfont size="+1"><tt>Theme_Light_Panel</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.style.html#Theme_Light_Panel" target="_top"><code>Theme_Light_Panel</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.style.Theme_NoDisplay"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.style.html#Theme_NoDisplay" target="_top"><xfont size="+1"><tt>Theme_NoDisplay</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.style.html#Theme_NoDisplay" target="_top"><code>Theme_NoDisplay</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.style.Theme_Panel"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.style.html#Theme_Panel" target="_top"><xfont size="+1"><tt>Theme_Panel</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.style.html#Theme_Panel" target="_top"><code>Theme_Panel</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.R.style.Widget_KeyboardView"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/R.style.html#Widget_KeyboardView" target="_top"><xfont size="+1"><tt>Widget_KeyboardView</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/R.style.html#Widget_KeyboardView" target="_top"><code>Widget_KeyboardView</code></A></nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.app.Activity.html b/docs/html/sdk/api_diff/3/changes/android.app.Activity.html index 7ff5871e76ce211a01b0e00b2c48e8cbff22b95e..59c2711f3e4f067d449d33fff0005baa516a0275 100644 --- a/docs/html/sdk/api_diff/3/changes/android.app.Activity.html +++ b/docs/html/sdk/api_diff/3/changes/android.app.Activity.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.app.<A HREF="../../../../reference/android/app/Activity.html" target="_top"><font size="+3"><tt>Activity</tt></font></A> +Class android.app.<A HREF="../../../../reference/android/app/Activity.html" target="_top"><font size="+2"><code>Activity</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,35 +84,35 @@ Class android.app.<A HREF="../../../../reference/android/app/Activity.html" targ <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.app.Activity.closeContextMenu_added()"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/app/Activity.html#closeContextMenu()" target="_top"><xfont size="+1"><tt>closeContextMenu</tt></font></A>()</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/app/Activity.html#closeContextMenu()" target="_top"><code>closeContextMenu</code></A>()</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.app.Activity.hasWindowFocus_added()"></A> - <nobr><code>boolean</code> <A HREF="../../../../reference/android/app/Activity.html#hasWindowFocus()" target="_top"><xfont size="+1"><tt>hasWindowFocus</tt></font></A>()</nobr> + <nobr><code>boolean</code> <A HREF="../../../../reference/android/app/Activity.html#hasWindowFocus()" target="_top"><code>hasWindowFocus</code></A>()</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.app.Activity.onUserInteraction_added()"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/app/Activity.html#onUserInteraction()" target="_top"><xfont size="+1"><tt>onUserInteraction</tt></font></A>()</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/app/Activity.html#onUserInteraction()" target="_top"><code>onUserInteraction</code></A>()</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.app.Activity.onUserLeaveHint_added()"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/app/Activity.html#onUserLeaveHint()" target="_top"><xfont size="+1"><tt>onUserLeaveHint</tt></font></A>()</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/app/Activity.html#onUserLeaveHint()" target="_top"><code>onUserLeaveHint</code></A>()</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.app.Activity.setVisible_added(boolean)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/app/Activity.html#setVisible(boolean)" target="_top"><xfont size="+1"><tt>setVisible</tt></font></A>(<code>boolean</code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/app/Activity.html#setVisible(boolean)" target="_top"><code>setVisible</code></A>(<code>boolean</code>)</nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.app.ActivityManager.html b/docs/html/sdk/api_diff/3/changes/android.app.ActivityManager.html index bd473fb8a393b8727c665910613e5f4bee754a02..422a675676ae48a11baee780a6eff1b392302bc8 100644 --- a/docs/html/sdk/api_diff/3/changes/android.app.ActivityManager.html +++ b/docs/html/sdk/api_diff/3/changes/android.app.ActivityManager.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.app.<A HREF="../../../../reference/android/app/ActivityManager.html" target="_top"><font size="+3"><tt>ActivityManager</tt></font></A> +Class android.app.<A HREF="../../../../reference/android/app/ActivityManager.html" target="_top"><font size="+2"><code>ActivityManager</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,21 +84,21 @@ Class android.app.<A HREF="../../../../reference/android/app/ActivityManager.htm <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.app.ActivityManager.getDeviceConfigurationInfo_added()"></A> - <nobr><code>ConfigurationInfo</code> <A HREF="../../../../reference/android/app/ActivityManager.html#getDeviceConfigurationInfo()" target="_top"><xfont size="+1"><tt>getDeviceConfigurationInfo</tt></font></A>()</nobr> + <nobr><code>ConfigurationInfo</code> <A HREF="../../../../reference/android/app/ActivityManager.html#getDeviceConfigurationInfo()" target="_top"><code>getDeviceConfigurationInfo</code></A>()</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.app.ActivityManager.getRunningAppProcesses_added()"></A> - <nobr><code>List<RunningAppProcessInfo></code> <A HREF="../../../../reference/android/app/ActivityManager.html#getRunningAppProcesses()" target="_top"><xfont size="+1"><tt>getRunningAppProcesses</tt></font></A>()</nobr> + <nobr><code>List<RunningAppProcessInfo></code> <A HREF="../../../../reference/android/app/ActivityManager.html#getRunningAppProcesses()" target="_top"><code>getRunningAppProcesses</code></A>()</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.app.ActivityManager.restartPackage_added(java.lang.String)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/app/ActivityManager.html#restartPackage(java.lang.String)" target="_top"><xfont size="+1"><tt>restartPackage</tt></font></A>(<code>String</code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/app/ActivityManager.html#restartPackage(java.lang.String)" target="_top"><code>restartPackage</code></A>(<code>String</code>)</nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.app.AlarmManager.html b/docs/html/sdk/api_diff/3/changes/android.app.AlarmManager.html index b8280f2fc9b60c1c71c698df542502ad920ba97f..1be5089ea2eb8b6f7d3454c805eb823cd2428c5a 100644 --- a/docs/html/sdk/api_diff/3/changes/android.app.AlarmManager.html +++ b/docs/html/sdk/api_diff/3/changes/android.app.AlarmManager.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.app.<A HREF="../../../../reference/android/app/AlarmManager.html" target="_top"><font size="+3"><tt>AlarmManager</tt></font></A> +Class android.app.<A HREF="../../../../reference/android/app/AlarmManager.html" target="_top"><font size="+2"><code>AlarmManager</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,7 +84,7 @@ Class android.app.<A HREF="../../../../reference/android/app/AlarmManager.html" <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.app.AlarmManager.setInexactRepeating_added(int, long, long, android.app.PendingIntent)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/app/AlarmManager.html#setInexactRepeating(int, long, long, android.app.PendingIntent)" target="_top"><xfont size="+1"><tt>setInexactRepeating</tt></font></A>(<code>int,</nobr> long<nobr>,</nobr> long<nobr>,</nobr> PendingIntent<nobr><nobr></code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/app/AlarmManager.html#setInexactRepeating(int, long, long, android.app.PendingIntent)" target="_top"><code>setInexactRepeating</code></A>(<code>int,</nobr> long<nobr>,</nobr> long<nobr>,</nobr> PendingIntent<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> @@ -101,35 +100,35 @@ Class android.app.<A HREF="../../../../reference/android/app/AlarmManager.html" <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.app.AlarmManager.INTERVAL_DAY"></A> - <nobr><code>long</code> <A HREF="../../../../reference/android/app/AlarmManager.html#INTERVAL_DAY" target="_top"><xfont size="+1"><tt>INTERVAL_DAY</tt></font></A></nobr> + <nobr><code>long</code> <A HREF="../../../../reference/android/app/AlarmManager.html#INTERVAL_DAY" target="_top"><code>INTERVAL_DAY</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.app.AlarmManager.INTERVAL_FIFTEEN_MINUTES"></A> - <nobr><code>long</code> <A HREF="../../../../reference/android/app/AlarmManager.html#INTERVAL_FIFTEEN_MINUTES" target="_top"><xfont size="+1"><tt>INTERVAL_FIFTEEN_MINUTES</tt></font></A></nobr> + <nobr><code>long</code> <A HREF="../../../../reference/android/app/AlarmManager.html#INTERVAL_FIFTEEN_MINUTES" target="_top"><code>INTERVAL_FIFTEEN_MINUTES</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.app.AlarmManager.INTERVAL_HALF_DAY"></A> - <nobr><code>long</code> <A HREF="../../../../reference/android/app/AlarmManager.html#INTERVAL_HALF_DAY" target="_top"><xfont size="+1"><tt>INTERVAL_HALF_DAY</tt></font></A></nobr> + <nobr><code>long</code> <A HREF="../../../../reference/android/app/AlarmManager.html#INTERVAL_HALF_DAY" target="_top"><code>INTERVAL_HALF_DAY</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.app.AlarmManager.INTERVAL_HALF_HOUR"></A> - <nobr><code>long</code> <A HREF="../../../../reference/android/app/AlarmManager.html#INTERVAL_HALF_HOUR" target="_top"><xfont size="+1"><tt>INTERVAL_HALF_HOUR</tt></font></A></nobr> + <nobr><code>long</code> <A HREF="../../../../reference/android/app/AlarmManager.html#INTERVAL_HALF_HOUR" target="_top"><code>INTERVAL_HALF_HOUR</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.app.AlarmManager.INTERVAL_HOUR"></A> - <nobr><code>long</code> <A HREF="../../../../reference/android/app/AlarmManager.html#INTERVAL_HOUR" target="_top"><xfont size="+1"><tt>INTERVAL_HOUR</tt></font></A></nobr> + <nobr><code>long</code> <A HREF="../../../../reference/android/app/AlarmManager.html#INTERVAL_HOUR" target="_top"><code>INTERVAL_HOUR</code></A></nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.app.AlertDialog.html b/docs/html/sdk/api_diff/3/changes/android.app.AlertDialog.html index bb8cdb1624fe566c9fa4d7d4fe4c796d5aa90ce5..37f5cd4bfc68038d53a4f35a888205abbbfe30aa 100644 --- a/docs/html/sdk/api_diff/3/changes/android.app.AlertDialog.html +++ b/docs/html/sdk/api_diff/3/changes/android.app.AlertDialog.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,15 +67,37 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.app.<A HREF="../../../../reference/android/app/AlertDialog.html" target="_top"><font size="+3"><tt>AlertDialog</tt></font></A> +Class android.app.<A HREF="../../../../reference/android/app/AlertDialog.html" target="_top"><font size="+2"><code>AlertDialog</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> <p> +<a NAME="Removed"></a> +<TABLE summary="Removed Methods" WIDTH="100%"> +<TR> + <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD> +</TH> +<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> + <TD VALIGN="TOP" WIDTH="25%"> + <A NAME="android.app.AlertDialog.setButton_removed(java.lang.CharSequence, android.content.DialogInterface.OnClickListener)"></A> + <nobr><code>void</code> setButton(<code>CharSequence,</nobr> OnClickListener<nobr><nobr></code>)</nobr> + </TD> + <TD> </TD> +</TR> +<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> + <TD VALIGN="TOP" WIDTH="25%"> + <A NAME="android.app.AlertDialog.setButton_removed(java.lang.CharSequence, android.os.Message)"></A> + <nobr><code>void</code> setButton(<code>CharSequence,</nobr> Message<nobr><nobr></code>)</nobr> + </TD> + <TD> </TD> +</TR> +</TABLE> +  +<p> <a NAME="Added"></a> <TABLE summary="Added Methods" WIDTH="100%"> <TR> @@ -85,35 +106,49 @@ Class android.app.<A HREF="../../../../reference/android/app/AlertDialog.html" t <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.app.AlertDialog.getButton_added(int)"></A> - <nobr><code>Button</code> <A HREF="../../../../reference/android/app/AlertDialog.html#getButton(int)" target="_top"><xfont size="+1"><tt>getButton</tt></font></A>(<code>int</code>)</nobr> + <nobr><code>Button</code> <A HREF="../../../../reference/android/app/AlertDialog.html#getButton(int)" target="_top"><code>getButton</code></A>(<code>int</code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.app.AlertDialog.getListView_added()"></A> - <nobr><code>ListView</code> <A HREF="../../../../reference/android/app/AlertDialog.html#getListView()" target="_top"><xfont size="+1"><tt>getListView</tt></font></A>()</nobr> + <nobr><code>ListView</code> <A HREF="../../../../reference/android/app/AlertDialog.html#getListView()" target="_top"><code>getListView</code></A>()</nobr> + </TD> + <TD> </TD> +</TR> +<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> + <TD VALIGN="TOP" WIDTH="25%"> + <A NAME="android.app.AlertDialog.setButton_added(int, java.lang.CharSequence, android.content.DialogInterface.OnClickListener)"></A> + <nobr><code>void</code> <A HREF="../../../../reference/android/app/AlertDialog.html#setButton(int, java.lang.CharSequence, android.content.DialogInterface.OnClickListener)" target="_top"><code>setButton</code></A>(<code>int,</nobr> CharSequence<nobr>,</nobr> OnClickListener<nobr><nobr></code>)</nobr> + </TD> + <TD> </TD> +</TR> +<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> + <TD VALIGN="TOP" WIDTH="25%"> + <A NAME="android.app.AlertDialog.setButton_added(int, java.lang.CharSequence, android.os.Message)"></A> + <nobr><code>void</code> <A HREF="../../../../reference/android/app/AlertDialog.html#setButton(int, java.lang.CharSequence, android.os.Message)" target="_top"><code>setButton</code></A>(<code>int,</nobr> CharSequence<nobr>,</nobr> Message<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.app.AlertDialog.setButton_added(java.lang.CharSequence, android.content.DialogInterface.OnClickListener)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/app/AlertDialog.html#setButton(java.lang.CharSequence, android.content.DialogInterface.OnClickListener)" target="_top"><xfont size="+1"><tt>setButton</tt></font></A>(<code>CharSequence,</nobr> OnClickListener<nobr><nobr></code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/app/AlertDialog.html#setButton(java.lang.CharSequence, android.content.DialogInterface.OnClickListener)" target="_top"><code>setButton</code></A>(<code>CharSequence,</nobr> OnClickListener<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.app.AlertDialog.setButton_added(java.lang.CharSequence, android.os.Message)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/app/AlertDialog.html#setButton(java.lang.CharSequence, android.os.Message)" target="_top"><xfont size="+1"><tt>setButton</tt></font></A>(<code>CharSequence,</nobr> Message<nobr><nobr></code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/app/AlertDialog.html#setButton(java.lang.CharSequence, android.os.Message)" target="_top"><code>setButton</code></A>(<code>CharSequence,</nobr> Message<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.app.AlertDialog.setView_added(android.view.View, int, int, int, int)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/app/AlertDialog.html#setView(android.view.View, int, int, int, int)" target="_top"><xfont size="+1"><tt>setView</tt></font></A>(<code>View,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/app/AlertDialog.html#setView(android.view.View, int, int, int, int)" target="_top"><code>setView</code></A>(<code>View,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> @@ -125,30 +160,10 @@ Class android.app.<A HREF="../../../../reference/android/app/AlertDialog.html" t <TR> <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD> </TH> -<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> - <TD VALIGN="TOP" WIDTH="25%"> - <A NAME="android.app.AlertDialog.setButton_changed(int, java.lang.CharSequence, android.content.DialogInterface.OnClickListener)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/app/AlertDialog.html#setButton(int, java.lang.CharSequence, android.content.DialogInterface.OnClickListener)" target="_top"><xfont size="+1"><tt>setButton</tt></font></A>(<code>int,</nobr> CharSequence<nobr>,</nobr> OnClickListener<nobr><nobr></code>) </nobr> - </TD> - <TD VALIGN="TOP" WIDTH="30%"> -Change in signature from (<code>CharSequence, OnClickListener</code>) to (<code>int, CharSequence, OnClickListener</code>).<br> - </TD> - <TD> </TD> -</TR> -<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> - <TD VALIGN="TOP" WIDTH="25%"> - <A NAME="android.app.AlertDialog.setButton_changed(int, java.lang.CharSequence, android.os.Message)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/app/AlertDialog.html#setButton(int, java.lang.CharSequence, android.os.Message)" target="_top"><xfont size="+1"><tt>setButton</tt></font></A>(<code>int,</nobr> CharSequence<nobr>,</nobr> Message<nobr><nobr></code>) </nobr> - </TD> - <TD VALIGN="TOP" WIDTH="30%"> -Change in signature from (<code>CharSequence, Message</code>) to (<code>int, CharSequence, Message</code>).<br> - </TD> - <TD> </TD> -</TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.app.AlertDialog.setButton2_changed(java.lang.CharSequence, android.content.DialogInterface.OnClickListener)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/app/AlertDialog.html#setButton2(java.lang.CharSequence, android.content.DialogInterface.OnClickListener)" target="_top"><xfont size="+1"><tt>setButton2</tt></font></A>(<code>CharSequence,</nobr> OnClickListener<nobr><nobr></code>) </nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/app/AlertDialog.html#setButton2(java.lang.CharSequence, android.content.DialogInterface.OnClickListener)" target="_top"><code>setButton2</code></A>(<code>CharSequence,</nobr> OnClickListener<nobr><nobr></code>) </nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> @@ -158,7 +173,7 @@ Change in signature from (<code>CharSequence, Message</code>) to (<code>int, Cha <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.app.AlertDialog.setButton2_changed(java.lang.CharSequence, android.os.Message)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/app/AlertDialog.html#setButton2(java.lang.CharSequence, android.os.Message)" target="_top"><xfont size="+1"><tt>setButton2</tt></font></A>(<code>CharSequence,</nobr> Message<nobr><nobr></code>) </nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/app/AlertDialog.html#setButton2(java.lang.CharSequence, android.os.Message)" target="_top"><code>setButton2</code></A>(<code>CharSequence,</nobr> Message<nobr><nobr></code>) </nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> @@ -168,7 +183,7 @@ Change in signature from (<code>CharSequence, Message</code>) to (<code>int, Cha <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.app.AlertDialog.setButton3_changed(java.lang.CharSequence, android.content.DialogInterface.OnClickListener)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/app/AlertDialog.html#setButton3(java.lang.CharSequence, android.content.DialogInterface.OnClickListener)" target="_top"><xfont size="+1"><tt>setButton3</tt></font></A>(<code>CharSequence,</nobr> OnClickListener<nobr><nobr></code>) </nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/app/AlertDialog.html#setButton3(java.lang.CharSequence, android.content.DialogInterface.OnClickListener)" target="_top"><code>setButton3</code></A>(<code>CharSequence,</nobr> OnClickListener<nobr><nobr></code>) </nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> @@ -178,7 +193,7 @@ Change in signature from (<code>CharSequence, Message</code>) to (<code>int, Cha <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.app.AlertDialog.setButton3_changed(java.lang.CharSequence, android.os.Message)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/app/AlertDialog.html#setButton3(java.lang.CharSequence, android.os.Message)" target="_top"><xfont size="+1"><tt>setButton3</tt></font></A>(<code>CharSequence,</nobr> Message<nobr><nobr></code>) </nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/app/AlertDialog.html#setButton3(java.lang.CharSequence, android.os.Message)" target="_top"><code>setButton3</code></A>(<code>CharSequence,</nobr> Message<nobr><nobr></code>) </nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> diff --git a/docs/html/sdk/api_diff/3/changes/android.app.Instrumentation.html b/docs/html/sdk/api_diff/3/changes/android.app.Instrumentation.html index b6f26a6df9621e43d0ea2cecdd4a9f7f568da769..0d56b9c74a3530295c8420a95844b0ab05ca43dc 100644 --- a/docs/html/sdk/api_diff/3/changes/android.app.Instrumentation.html +++ b/docs/html/sdk/api_diff/3/changes/android.app.Instrumentation.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.app.<A HREF="../../../../reference/android/app/Instrumentation.html" target="_top"><font size="+3"><tt>Instrumentation</tt></font></A> +Class android.app.<A HREF="../../../../reference/android/app/Instrumentation.html" target="_top"><font size="+2"><code>Instrumentation</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,7 +84,7 @@ Class android.app.<A HREF="../../../../reference/android/app/Instrumentation.htm <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.app.Instrumentation.callActivityOnUserLeaving_added(android.app.Activity)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/app/Instrumentation.html#callActivityOnUserLeaving(android.app.Activity)" target="_top"><xfont size="+1"><tt>callActivityOnUserLeaving</tt></font></A>(<code>Activity</code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/app/Instrumentation.html#callActivityOnUserLeaving(android.app.Activity)" target="_top"><code>callActivityOnUserLeaving</code></A>(<code>Activity</code>)</nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.app.LauncherActivity.html b/docs/html/sdk/api_diff/3/changes/android.app.LauncherActivity.html index 60f7f29a6071cd519b2980a69e207be2e90e5c48..bcfcabb42a989ff2c4a23bd795a0fd05b2853de5 100644 --- a/docs/html/sdk/api_diff/3/changes/android.app.LauncherActivity.html +++ b/docs/html/sdk/api_diff/3/changes/android.app.LauncherActivity.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.app.<A HREF="../../../../reference/android/app/LauncherActivity.html" target="_top"><font size="+3"><tt>LauncherActivity</tt></font></A> +Class android.app.<A HREF="../../../../reference/android/app/LauncherActivity.html" target="_top"><font size="+2"><code>LauncherActivity</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,14 +84,14 @@ Class android.app.<A HREF="../../../../reference/android/app/LauncherActivity.ht <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.app.LauncherActivity.intentForPosition_added(int)"></A> - <nobr><code>Intent</code> <A HREF="../../../../reference/android/app/LauncherActivity.html#intentForPosition(int)" target="_top"><xfont size="+1"><tt>intentForPosition</tt></font></A>(<code>int</code>)</nobr> + <nobr><code>Intent</code> <A HREF="../../../../reference/android/app/LauncherActivity.html#intentForPosition(int)" target="_top"><code>intentForPosition</code></A>(<code>int</code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.app.LauncherActivity.makeListItems_added()"></A> - <nobr><code>List<ListItem></code> <A HREF="../../../../reference/android/app/LauncherActivity.html#makeListItems()" target="_top"><xfont size="+1"><tt>makeListItems</tt></font></A>()</nobr> + <nobr><code>List<ListItem></code> <A HREF="../../../../reference/android/app/LauncherActivity.html#makeListItems()" target="_top"><code>makeListItems</code></A>()</nobr> </TD> <TD> </TD> </TR> @@ -107,7 +106,7 @@ Class android.app.<A HREF="../../../../reference/android/app/LauncherActivity.ht <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.app.LauncherActivity.getTargetIntent_changed()"></A> - <nobr><code>Intent</code> <A HREF="../../../../reference/android/app/LauncherActivity.html#getTargetIntent()" target="_top"><xfont size="+1"><tt>getTargetIntent</tt></font></A>() </nobr> + <nobr><code>Intent</code> <A HREF="../../../../reference/android/app/LauncherActivity.html#getTargetIntent()" target="_top"><code>getTargetIntent</code></A>() </nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> Changed from abstract to non-abstract. diff --git a/docs/html/sdk/api_diff/3/changes/android.app.PendingIntent.html b/docs/html/sdk/api_diff/3/changes/android.app.PendingIntent.html index 6155508fcd817c1de2c19128dcea1f5a0bbbdc8f..58421a383f871907a8402f24feada3040d4c4812 100644 --- a/docs/html/sdk/api_diff/3/changes/android.app.PendingIntent.html +++ b/docs/html/sdk/api_diff/3/changes/android.app.PendingIntent.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.app.<A HREF="../../../../reference/android/app/PendingIntent.html" target="_top"><font size="+3"><tt>PendingIntent</tt></font></A> +Class android.app.<A HREF="../../../../reference/android/app/PendingIntent.html" target="_top"><font size="+2"><code>PendingIntent</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -86,7 +85,7 @@ Class android.app.<A HREF="../../../../reference/android/app/PendingIntent.html" <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.app.PendingIntent.FLAG_UPDATE_CURRENT"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/app/PendingIntent.html#FLAG_UPDATE_CURRENT" target="_top"><xfont size="+1"><tt>FLAG_UPDATE_CURRENT</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/app/PendingIntent.html#FLAG_UPDATE_CURRENT" target="_top"><code>FLAG_UPDATE_CURRENT</code></A></nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.content.BroadcastReceiver.html b/docs/html/sdk/api_diff/3/changes/android.content.BroadcastReceiver.html index bd8cc8ccadb67371baa177d8388beb14f468fab0..8056fdb74ba5051852bcc79cead9197d329a2399 100644 --- a/docs/html/sdk/api_diff/3/changes/android.content.BroadcastReceiver.html +++ b/docs/html/sdk/api_diff/3/changes/android.content.BroadcastReceiver.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.content.<A HREF="../../../../reference/android/content/BroadcastReceiver.html" target="_top"><font size="+3"><tt>BroadcastReceiver</tt></font></A> +Class android.content.<A HREF="../../../../reference/android/content/BroadcastReceiver.html" target="_top"><font size="+2"><code>BroadcastReceiver</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,7 +84,7 @@ Class android.content.<A HREF="../../../../reference/android/content/BroadcastRe <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.BroadcastReceiver.peekService_added(android.content.Context, android.content.Intent)"></A> - <nobr><code>IBinder</code> <A HREF="../../../../reference/android/content/BroadcastReceiver.html#peekService(android.content.Context, android.content.Intent)" target="_top"><xfont size="+1"><tt>peekService</tt></font></A>(<code>Context,</nobr> Intent<nobr><nobr></code>)</nobr> + <nobr><code>IBinder</code> <A HREF="../../../../reference/android/content/BroadcastReceiver.html#peekService(android.content.Context, android.content.Intent)" target="_top"><code>peekService</code></A>(<code>Context,</nobr> Intent<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.content.ContentProvider.html b/docs/html/sdk/api_diff/3/changes/android.content.ContentProvider.html index c6de3260516609b243cd697b9a897f73472c7405..438aeb2595385b1e7d00bd6150d65b4a09b5315b 100644 --- a/docs/html/sdk/api_diff/3/changes/android.content.ContentProvider.html +++ b/docs/html/sdk/api_diff/3/changes/android.content.ContentProvider.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.content.<A HREF="../../../../reference/android/content/ContentProvider.html" target="_top"><font size="+3"><tt>ContentProvider</tt></font></A> +Class android.content.<A HREF="../../../../reference/android/content/ContentProvider.html" target="_top"><font size="+2"><code>ContentProvider</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,7 +84,7 @@ Class android.content.<A HREF="../../../../reference/android/content/ContentProv <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.ContentProvider.openAssetFile_added(android.net.Uri, java.lang.String)"></A> - <nobr><code>AssetFileDescriptor</code> <A HREF="../../../../reference/android/content/ContentProvider.html#openAssetFile(android.net.Uri, java.lang.String)" target="_top"><xfont size="+1"><tt>openAssetFile</tt></font></A>(<code>Uri,</nobr> String<nobr><nobr></code>)</nobr> + <nobr><code>AssetFileDescriptor</code> <A HREF="../../../../reference/android/content/ContentProvider.html#openAssetFile(android.net.Uri, java.lang.String)" target="_top"><code>openAssetFile</code></A>(<code>Uri,</nobr> String<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.content.ContentResolver.html b/docs/html/sdk/api_diff/3/changes/android.content.ContentResolver.html index 2101198a7f040ce538cfe71feb74cf12f57ac7b2..97bb8f7bea4567d034919a0d44b3bc7cac0d58d3 100644 --- a/docs/html/sdk/api_diff/3/changes/android.content.ContentResolver.html +++ b/docs/html/sdk/api_diff/3/changes/android.content.ContentResolver.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.content.<A HREF="../../../../reference/android/content/ContentResolver.html" target="_top"><font size="+3"><tt>ContentResolver</tt></font></A> +Class android.content.<A HREF="../../../../reference/android/content/ContentResolver.html" target="_top"><font size="+2"><code>ContentResolver</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,14 +84,14 @@ Class android.content.<A HREF="../../../../reference/android/content/ContentReso <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.ContentResolver.openAssetFileDescriptor_added(android.net.Uri, java.lang.String)"></A> - <nobr><code>AssetFileDescriptor</code> <A HREF="../../../../reference/android/content/ContentResolver.html#openAssetFileDescriptor(android.net.Uri, java.lang.String)" target="_top"><xfont size="+1"><tt>openAssetFileDescriptor</tt></font></A>(<code>Uri,</nobr> String<nobr><nobr></code>)</nobr> + <nobr><code>AssetFileDescriptor</code> <A HREF="../../../../reference/android/content/ContentResolver.html#openAssetFileDescriptor(android.net.Uri, java.lang.String)" target="_top"><code>openAssetFileDescriptor</code></A>(<code>Uri,</nobr> String<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.ContentResolver.openOutputStream_added(android.net.Uri, java.lang.String)"></A> - <nobr><code>OutputStream</code> <A HREF="../../../../reference/android/content/ContentResolver.html#openOutputStream(android.net.Uri, java.lang.String)" target="_top"><xfont size="+1"><tt>openOutputStream</tt></font></A>(<code>Uri,</nobr> String<nobr><nobr></code>)</nobr> + <nobr><code>OutputStream</code> <A HREF="../../../../reference/android/content/ContentResolver.html#openOutputStream(android.net.Uri, java.lang.String)" target="_top"><code>openOutputStream</code></A>(<code>Uri,</nobr> String<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.content.Context.html b/docs/html/sdk/api_diff/3/changes/android.content.Context.html index ac3d99da74f21940151516b6b5b2698282623b16..d41db1b59fac5f362d3930090039b39238460994 100644 --- a/docs/html/sdk/api_diff/3/changes/android.content.Context.html +++ b/docs/html/sdk/api_diff/3/changes/android.content.Context.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.content.<A HREF="../../../../reference/android/content/Context.html" target="_top"><font size="+3"><tt>Context</tt></font></A> +Class android.content.<A HREF="../../../../reference/android/content/Context.html" target="_top"><font size="+2"><code>Context</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -86,7 +85,7 @@ Class android.content.<A HREF="../../../../reference/android/content/Context.htm <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.Context.INPUT_METHOD_SERVICE"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/content/Context.html#INPUT_METHOD_SERVICE" target="_top"><xfont size="+1"><tt>INPUT_METHOD_SERVICE</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/content/Context.html#INPUT_METHOD_SERVICE" target="_top"><code>INPUT_METHOD_SERVICE</code></A></nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.content.DialogInterface.html b/docs/html/sdk/api_diff/3/changes/android.content.DialogInterface.html index 17dd651368bccc595c7e0ff9531933fac6ed0197..3cce190d224ded5792619cdf1f9d46f4bb88f3ef 100644 --- a/docs/html/sdk/api_diff/3/changes/android.content.DialogInterface.html +++ b/docs/html/sdk/api_diff/3/changes/android.content.DialogInterface.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Interface android.content.<A HREF="../../../../reference/android/content/DialogInterface.html" target="_top"><font size="+3"><tt>DialogInterface</tt></font></A> +Interface android.content.<A HREF="../../../../reference/android/content/DialogInterface.html" target="_top"><font size="+2"><code>DialogInterface</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -86,21 +85,21 @@ Interface android.content.<A HREF="../../../../reference/android/content/DialogI <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.DialogInterface.BUTTON_NEGATIVE"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/content/DialogInterface.html#BUTTON_NEGATIVE" target="_top"><xfont size="+1"><tt>BUTTON_NEGATIVE</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/content/DialogInterface.html#BUTTON_NEGATIVE" target="_top"><code>BUTTON_NEGATIVE</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.DialogInterface.BUTTON_NEUTRAL"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/content/DialogInterface.html#BUTTON_NEUTRAL" target="_top"><xfont size="+1"><tt>BUTTON_NEUTRAL</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/content/DialogInterface.html#BUTTON_NEUTRAL" target="_top"><code>BUTTON_NEUTRAL</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.DialogInterface.BUTTON_POSITIVE"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/content/DialogInterface.html#BUTTON_POSITIVE" target="_top"><xfont size="+1"><tt>BUTTON_POSITIVE</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/content/DialogInterface.html#BUTTON_POSITIVE" target="_top"><code>BUTTON_POSITIVE</code></A></nobr> </TD> <TD> </TD> </TR> @@ -115,7 +114,7 @@ Interface android.content.<A HREF="../../../../reference/android/content/DialogI <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.DialogInterface.BUTTON1"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/content/DialogInterface.html#BUTTON1" target="_top"><xfont size="+1"><tt>BUTTON1</tt></font></A></nobr> </TD> + <nobr><code>int</code> <A HREF="../../../../reference/android/content/DialogInterface.html#BUTTON1" target="_top"><code>BUTTON1</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -124,7 +123,7 @@ Interface android.content.<A HREF="../../../../reference/android/content/DialogI <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.DialogInterface.BUTTON2"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/content/DialogInterface.html#BUTTON2" target="_top"><xfont size="+1"><tt>BUTTON2</tt></font></A></nobr> </TD> + <nobr><code>int</code> <A HREF="../../../../reference/android/content/DialogInterface.html#BUTTON2" target="_top"><code>BUTTON2</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -133,7 +132,7 @@ Interface android.content.<A HREF="../../../../reference/android/content/DialogI <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.DialogInterface.BUTTON3"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/content/DialogInterface.html#BUTTON3" target="_top"><xfont size="+1"><tt>BUTTON3</tt></font></A></nobr> </TD> + <nobr><code>int</code> <A HREF="../../../../reference/android/content/DialogInterface.html#BUTTON3" target="_top"><code>BUTTON3</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> diff --git a/docs/html/sdk/api_diff/3/changes/android.content.Intent.html b/docs/html/sdk/api_diff/3/changes/android.content.Intent.html index edb02387b0aa9b095216853d7b5b497e1fd658ab..5053901b569c2ff868008164504b338ffc57e51a 100644 --- a/docs/html/sdk/api_diff/3/changes/android.content.Intent.html +++ b/docs/html/sdk/api_diff/3/changes/android.content.Intent.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.content.<A HREF="../../../../reference/android/content/Intent.html" target="_top"><font size="+3"><tt>Intent</tt></font></A> +Class android.content.<A HREF="../../../../reference/android/content/Intent.html" target="_top"><font size="+2"><code>Intent</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,14 +84,14 @@ Class android.content.<A HREF="../../../../reference/android/content/Intent.html <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.Intent.replaceExtras_added(android.content.Intent)"></A> - <nobr><code>Intent</code> <A HREF="../../../../reference/android/content/Intent.html#replaceExtras(android.content.Intent)" target="_top"><xfont size="+1"><tt>replaceExtras</tt></font></A>(<code>Intent</code>)</nobr> + <nobr><code>Intent</code> <A HREF="../../../../reference/android/content/Intent.html#replaceExtras(android.content.Intent)" target="_top"><code>replaceExtras</code></A>(<code>Intent</code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.Intent.replaceExtras_added(android.os.Bundle)"></A> - <nobr><code>Intent</code> <A HREF="../../../../reference/android/content/Intent.html#replaceExtras(android.os.Bundle)" target="_top"><xfont size="+1"><tt>replaceExtras</tt></font></A>(<code>Bundle</code>)</nobr> + <nobr><code>Intent</code> <A HREF="../../../../reference/android/content/Intent.html#replaceExtras(android.os.Bundle)" target="_top"><code>replaceExtras</code></A>(<code>Bundle</code>)</nobr> </TD> <TD> </TD> </TR> @@ -123,98 +122,98 @@ Class android.content.<A HREF="../../../../reference/android/content/Intent.html <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.Intent.ACTION_INPUT_METHOD_CHANGED"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/content/Intent.html#ACTION_INPUT_METHOD_CHANGED" target="_top"><xfont size="+1"><tt>ACTION_INPUT_METHOD_CHANGED</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/content/Intent.html#ACTION_INPUT_METHOD_CHANGED" target="_top"><code>ACTION_INPUT_METHOD_CHANGED</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.Intent.ACTION_MEDIA_CHECKING"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/content/Intent.html#ACTION_MEDIA_CHECKING" target="_top"><xfont size="+1"><tt>ACTION_MEDIA_CHECKING</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/content/Intent.html#ACTION_MEDIA_CHECKING" target="_top"><code>ACTION_MEDIA_CHECKING</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.Intent.ACTION_MEDIA_NOFS"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/content/Intent.html#ACTION_MEDIA_NOFS" target="_top"><xfont size="+1"><tt>ACTION_MEDIA_NOFS</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/content/Intent.html#ACTION_MEDIA_NOFS" target="_top"><code>ACTION_MEDIA_NOFS</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.Intent.ACTION_PACKAGE_DATA_CLEARED"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/content/Intent.html#ACTION_PACKAGE_DATA_CLEARED" target="_top"><xfont size="+1"><tt>ACTION_PACKAGE_DATA_CLEARED</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/content/Intent.html#ACTION_PACKAGE_DATA_CLEARED" target="_top"><code>ACTION_PACKAGE_DATA_CLEARED</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.Intent.ACTION_PACKAGE_REPLACED"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/content/Intent.html#ACTION_PACKAGE_REPLACED" target="_top"><xfont size="+1"><tt>ACTION_PACKAGE_REPLACED</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/content/Intent.html#ACTION_PACKAGE_REPLACED" target="_top"><code>ACTION_PACKAGE_REPLACED</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.Intent.ACTION_SEARCH_LONG_PRESS"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/content/Intent.html#ACTION_SEARCH_LONG_PRESS" target="_top"><xfont size="+1"><tt>ACTION_SEARCH_LONG_PRESS</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/content/Intent.html#ACTION_SEARCH_LONG_PRESS" target="_top"><code>ACTION_SEARCH_LONG_PRESS</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.Intent.ACTION_SYSTEM_TUTORIAL"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/content/Intent.html#ACTION_SYSTEM_TUTORIAL" target="_top"><xfont size="+1"><tt>ACTION_SYSTEM_TUTORIAL</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/content/Intent.html#ACTION_SYSTEM_TUTORIAL" target="_top"><code>ACTION_SYSTEM_TUTORIAL</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.Intent.ACTION_USER_PRESENT"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/content/Intent.html#ACTION_USER_PRESENT" target="_top"><xfont size="+1"><tt>ACTION_USER_PRESENT</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/content/Intent.html#ACTION_USER_PRESENT" target="_top"><code>ACTION_USER_PRESENT</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.Intent.CATEGORY_INFO"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/content/Intent.html#CATEGORY_INFO" target="_top"><xfont size="+1"><tt>CATEGORY_INFO</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/content/Intent.html#CATEGORY_INFO" target="_top"><code>CATEGORY_INFO</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.Intent.EXTRA_DATA_REMOVED"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/content/Intent.html#EXTRA_DATA_REMOVED" target="_top"><xfont size="+1"><tt>EXTRA_DATA_REMOVED</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/content/Intent.html#EXTRA_DATA_REMOVED" target="_top"><code>EXTRA_DATA_REMOVED</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.Intent.EXTRA_REPLACING"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/content/Intent.html#EXTRA_REPLACING" target="_top"><xfont size="+1"><tt>EXTRA_REPLACING</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/content/Intent.html#EXTRA_REPLACING" target="_top"><code>EXTRA_REPLACING</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET" target="_top"><xfont size="+1"><tt>FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET" target="_top"><code>FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.Intent.FLAG_ACTIVITY_NO_USER_ACTION"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/content/Intent.html#FLAG_ACTIVITY_NO_USER_ACTION" target="_top"><xfont size="+1"><tt>FLAG_ACTIVITY_NO_USER_ACTION</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/content/Intent.html#FLAG_ACTIVITY_NO_USER_ACTION" target="_top"><code>FLAG_ACTIVITY_NO_USER_ACTION</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.Intent.FLAG_ACTIVITY_REORDER_TO_FRONT"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/content/Intent.html#FLAG_ACTIVITY_REORDER_TO_FRONT" target="_top"><xfont size="+1"><tt>FLAG_ACTIVITY_REORDER_TO_FRONT</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/content/Intent.html#FLAG_ACTIVITY_REORDER_TO_FRONT" target="_top"><code>FLAG_ACTIVITY_REORDER_TO_FRONT</code></A></nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.content.pm.ActivityInfo.html b/docs/html/sdk/api_diff/3/changes/android.content.pm.ActivityInfo.html index 5c62f6b769d092a0dbaac63ddfa6a679c4c2638d..c8b3f786d01d14320da70e53bb7616b8bd5c7f72 100644 --- a/docs/html/sdk/api_diff/3/changes/android.content.pm.ActivityInfo.html +++ b/docs/html/sdk/api_diff/3/changes/android.content.pm.ActivityInfo.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.content.pm.<A HREF="../../../../reference/android/content/pm/ActivityInfo.html" target="_top"><font size="+3"><tt>ActivityInfo</tt></font></A> +Class android.content.pm.<A HREF="../../../../reference/android/content/pm/ActivityInfo.html" target="_top"><font size="+2"><code>ActivityInfo</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -86,14 +85,14 @@ Class android.content.pm.<A HREF="../../../../reference/android/content/pm/Activ <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.pm.ActivityInfo.FLAG_NO_HISTORY"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/content/pm/ActivityInfo.html#FLAG_NO_HISTORY" target="_top"><xfont size="+1"><tt>FLAG_NO_HISTORY</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/content/pm/ActivityInfo.html#FLAG_NO_HISTORY" target="_top"><code>FLAG_NO_HISTORY</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.pm.ActivityInfo.softInputMode"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/content/pm/ActivityInfo.html#softInputMode" target="_top"><xfont size="+1"><tt>softInputMode</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/content/pm/ActivityInfo.html#softInputMode" target="_top"><code>softInputMode</code></A></nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.content.pm.PackageInfo.html b/docs/html/sdk/api_diff/3/changes/android.content.pm.PackageInfo.html index b360d7c2bba27cc04947c3aaaa3345c3770e3607..d9fb46bdd716185d339afd58f6eaa22992d88ad1 100644 --- a/docs/html/sdk/api_diff/3/changes/android.content.pm.PackageInfo.html +++ b/docs/html/sdk/api_diff/3/changes/android.content.pm.PackageInfo.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.content.pm.<A HREF="../../../../reference/android/content/pm/PackageInfo.html" target="_top"><font size="+3"><tt>PackageInfo</tt></font></A> +Class android.content.pm.<A HREF="../../../../reference/android/content/pm/PackageInfo.html" target="_top"><font size="+2"><code>PackageInfo</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -86,21 +85,21 @@ Class android.content.pm.<A HREF="../../../../reference/android/content/pm/Packa <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.pm.PackageInfo.configPreferences"></A> - <nobr><code>ConfigurationInfo[]</code> <A HREF="../../../../reference/android/content/pm/PackageInfo.html#configPreferences" target="_top"><xfont size="+1"><tt>configPreferences</tt></font></A></nobr> + <nobr><code>ConfigurationInfo[]</code> <A HREF="../../../../reference/android/content/pm/PackageInfo.html#configPreferences" target="_top"><code>configPreferences</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.pm.PackageInfo.sharedUserId"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/content/pm/PackageInfo.html#sharedUserId" target="_top"><xfont size="+1"><tt>sharedUserId</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/content/pm/PackageInfo.html#sharedUserId" target="_top"><code>sharedUserId</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.pm.PackageInfo.sharedUserLabel"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/content/pm/PackageInfo.html#sharedUserLabel" target="_top"><xfont size="+1"><tt>sharedUserLabel</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/content/pm/PackageInfo.html#sharedUserLabel" target="_top"><code>sharedUserLabel</code></A></nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.content.pm.PackageManager.html b/docs/html/sdk/api_diff/3/changes/android.content.pm.PackageManager.html index efd37c54f3b177f39c8714f756a7fb1571c0879e..12395cca929a7e169f03f81192b69c5743222548 100644 --- a/docs/html/sdk/api_diff/3/changes/android.content.pm.PackageManager.html +++ b/docs/html/sdk/api_diff/3/changes/android.content.pm.PackageManager.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.content.pm.<A HREF="../../../../reference/android/content/pm/PackageManager.html" target="_top"><font size="+3"><tt>PackageManager</tt></font></A> +Class android.content.pm.<A HREF="../../../../reference/android/content/pm/PackageManager.html" target="_top"><font size="+2"><code>PackageManager</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,21 +84,21 @@ Class android.content.pm.<A HREF="../../../../reference/android/content/pm/Packa <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.pm.PackageManager.getLaunchIntentForPackage_added(java.lang.String)"></A> - <nobr><code>Intent</code> <A HREF="../../../../reference/android/content/pm/PackageManager.html#getLaunchIntentForPackage(java.lang.String)" target="_top"><xfont size="+1"><tt>getLaunchIntentForPackage</tt></font></A>(<code>String</code>)</nobr> + <nobr><code>Intent</code> <A HREF="../../../../reference/android/content/pm/PackageManager.html#getLaunchIntentForPackage(java.lang.String)" target="_top"><code>getLaunchIntentForPackage</code></A>(<code>String</code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.pm.PackageManager.getSystemSharedLibraryNames_added()"></A> - <nobr><code>String[]</code> <A HREF="../../../../reference/android/content/pm/PackageManager.html#getSystemSharedLibraryNames()" target="_top"><xfont size="+1"><tt>getSystemSharedLibraryNames</tt></font></A>()</nobr> + <nobr><code>String[]</code> <A HREF="../../../../reference/android/content/pm/PackageManager.html#getSystemSharedLibraryNames()" target="_top"><code>getSystemSharedLibraryNames</code></A>()</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.pm.PackageManager.isSafeMode_added()"></A> - <nobr><code>boolean</code> <A HREF="../../../../reference/android/content/pm/PackageManager.html#isSafeMode()" target="_top"><xfont size="+1"><tt>isSafeMode</tt></font></A>()</nobr> + <nobr><code>boolean</code> <A HREF="../../../../reference/android/content/pm/PackageManager.html#isSafeMode()" target="_top"><code>isSafeMode</code></A>()</nobr> </TD> <TD> </TD> </TR> @@ -115,21 +114,21 @@ Class android.content.pm.<A HREF="../../../../reference/android/content/pm/Packa <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.pm.PackageManager.GET_CONFIGURATIONS"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/content/pm/PackageManager.html#GET_CONFIGURATIONS" target="_top"><xfont size="+1"><tt>GET_CONFIGURATIONS</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/content/pm/PackageManager.html#GET_CONFIGURATIONS" target="_top"><code>GET_CONFIGURATIONS</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.pm.PackageManager.GET_UNINSTALLED_PACKAGES"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/content/pm/PackageManager.html#GET_UNINSTALLED_PACKAGES" target="_top"><xfont size="+1"><tt>GET_UNINSTALLED_PACKAGES</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/content/pm/PackageManager.html#GET_UNINSTALLED_PACKAGES" target="_top"><code>GET_UNINSTALLED_PACKAGES</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.pm.PackageManager.INSTALL_FAILED_CONFLICTING_PROVIDER"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/content/pm/PackageManager.html#INSTALL_FAILED_CONFLICTING_PROVIDER" target="_top"><xfont size="+1"><tt>INSTALL_FAILED_CONFLICTING_PROVIDER</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/content/pm/PackageManager.html#INSTALL_FAILED_CONFLICTING_PROVIDER" target="_top"><code>INSTALL_FAILED_CONFLICTING_PROVIDER</code></A></nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.content.res.AssetFileDescriptor.html b/docs/html/sdk/api_diff/3/changes/android.content.res.AssetFileDescriptor.html index 458a70a74ecf53d6515f234f16f7a96edfbc339f..4b08d377ba07042d41140d6ca3e9a059b705f68d 100644 --- a/docs/html/sdk/api_diff/3/changes/android.content.res.AssetFileDescriptor.html +++ b/docs/html/sdk/api_diff/3/changes/android.content.res.AssetFileDescriptor.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.content.res.<A HREF="../../../../reference/android/content/res/AssetFileDescriptor.html" target="_top"><font size="+3"><tt>AssetFileDescriptor</tt></font></A> +Class android.content.res.<A HREF="../../../../reference/android/content/res/AssetFileDescriptor.html" target="_top"><font size="+2"><code>AssetFileDescriptor</code></font></A> </H2> <p><font xsize="+1">Added interface <code>android.os.Parcelable</code>.<br></font> <a NAME="constructors"></a> @@ -86,35 +85,35 @@ Class android.content.res.<A HREF="../../../../reference/android/content/res/Ass <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.res.AssetFileDescriptor.createInputStream_added()"></A> - <nobr><code>FileInputStream</code> <A HREF="../../../../reference/android/content/res/AssetFileDescriptor.html#createInputStream()" target="_top"><xfont size="+1"><tt>createInputStream</tt></font></A>()</nobr> + <nobr><code>FileInputStream</code> <A HREF="../../../../reference/android/content/res/AssetFileDescriptor.html#createInputStream()" target="_top"><code>createInputStream</code></A>()</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.res.AssetFileDescriptor.createOutputStream_added()"></A> - <nobr><code>FileOutputStream</code> <A HREF="../../../../reference/android/content/res/AssetFileDescriptor.html#createOutputStream()" target="_top"><xfont size="+1"><tt>createOutputStream</tt></font></A>()</nobr> + <nobr><code>FileOutputStream</code> <A HREF="../../../../reference/android/content/res/AssetFileDescriptor.html#createOutputStream()" target="_top"><code>createOutputStream</code></A>()</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.res.AssetFileDescriptor.describeContents_added()"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/content/res/AssetFileDescriptor.html#describeContents()" target="_top"><xfont size="+1"><tt>describeContents</tt></font></A>()</nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/content/res/AssetFileDescriptor.html#describeContents()" target="_top"><code>describeContents</code></A>()</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.res.AssetFileDescriptor.getDeclaredLength_added()"></A> - <nobr><code>long</code> <A HREF="../../../../reference/android/content/res/AssetFileDescriptor.html#getDeclaredLength()" target="_top"><xfont size="+1"><tt>getDeclaredLength</tt></font></A>()</nobr> + <nobr><code>long</code> <A HREF="../../../../reference/android/content/res/AssetFileDescriptor.html#getDeclaredLength()" target="_top"><code>getDeclaredLength</code></A>()</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.res.AssetFileDescriptor.writeToParcel_added(android.os.Parcel, int)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/content/res/AssetFileDescriptor.html#writeToParcel(android.os.Parcel, int)" target="_top"><xfont size="+1"><tt>writeToParcel</tt></font></A>(<code>Parcel,</nobr> int<nobr><nobr></code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/content/res/AssetFileDescriptor.html#writeToParcel(android.os.Parcel, int)" target="_top"><code>writeToParcel</code></A>(<code>Parcel,</nobr> int<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> @@ -130,14 +129,14 @@ Class android.content.res.<A HREF="../../../../reference/android/content/res/Ass <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.res.AssetFileDescriptor.CREATOR"></A> - <nobr><code>Creator</code> <A HREF="../../../../reference/android/content/res/AssetFileDescriptor.html#CREATOR" target="_top"><xfont size="+1"><tt>CREATOR</tt></font></A></nobr> + <nobr><code>Creator</code> <A HREF="../../../../reference/android/content/res/AssetFileDescriptor.html#CREATOR" target="_top"><code>CREATOR</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.res.AssetFileDescriptor.UNKNOWN_LENGTH"></A> - <nobr><code>long</code> <A HREF="../../../../reference/android/content/res/AssetFileDescriptor.html#UNKNOWN_LENGTH" target="_top"><xfont size="+1"><tt>UNKNOWN_LENGTH</tt></font></A></nobr> + <nobr><code>long</code> <A HREF="../../../../reference/android/content/res/AssetFileDescriptor.html#UNKNOWN_LENGTH" target="_top"><code>UNKNOWN_LENGTH</code></A></nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.content.res.Configuration.html b/docs/html/sdk/api_diff/3/changes/android.content.res.Configuration.html index 3b8f943aceb7a117ce4a827810f39f68aae4598f..29023994f9d1da60a061b73d75df1c69f758e317 100644 --- a/docs/html/sdk/api_diff/3/changes/android.content.res.Configuration.html +++ b/docs/html/sdk/api_diff/3/changes/android.content.res.Configuration.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.content.res.<A HREF="../../../../reference/android/content/res/Configuration.html" target="_top"><font size="+3"><tt>Configuration</tt></font></A> +Class android.content.res.<A HREF="../../../../reference/android/content/res/Configuration.html" target="_top"><font size="+2"><code>Configuration</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -86,28 +85,28 @@ Class android.content.res.<A HREF="../../../../reference/android/content/res/Con <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.res.Configuration.HARDKEYBOARDHIDDEN_NO"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/content/res/Configuration.html#HARDKEYBOARDHIDDEN_NO" target="_top"><xfont size="+1"><tt>HARDKEYBOARDHIDDEN_NO</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/content/res/Configuration.html#HARDKEYBOARDHIDDEN_NO" target="_top"><code>HARDKEYBOARDHIDDEN_NO</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.res.Configuration.HARDKEYBOARDHIDDEN_UNDEFINED"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/content/res/Configuration.html#HARDKEYBOARDHIDDEN_UNDEFINED" target="_top"><xfont size="+1"><tt>HARDKEYBOARDHIDDEN_UNDEFINED</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/content/res/Configuration.html#HARDKEYBOARDHIDDEN_UNDEFINED" target="_top"><code>HARDKEYBOARDHIDDEN_UNDEFINED</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.res.Configuration.HARDKEYBOARDHIDDEN_YES"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/content/res/Configuration.html#HARDKEYBOARDHIDDEN_YES" target="_top"><xfont size="+1"><tt>HARDKEYBOARDHIDDEN_YES</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/content/res/Configuration.html#HARDKEYBOARDHIDDEN_YES" target="_top"><code>HARDKEYBOARDHIDDEN_YES</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.res.Configuration.hardKeyboardHidden"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/content/res/Configuration.html#hardKeyboardHidden" target="_top"><xfont size="+1"><tt>hardKeyboardHidden</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/content/res/Configuration.html#hardKeyboardHidden" target="_top"><code>hardKeyboardHidden</code></A></nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.content.res.Resources.html b/docs/html/sdk/api_diff/3/changes/android.content.res.Resources.html index 7fde1f9833109bd47901627610ddc0acd5e51ce1..c3c057317dd97826bbae455b714154315c884ee3 100644 --- a/docs/html/sdk/api_diff/3/changes/android.content.res.Resources.html +++ b/docs/html/sdk/api_diff/3/changes/android.content.res.Resources.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.content.res.<A HREF="../../../../reference/android/content/res/Resources.html" target="_top"><font size="+3"><tt>Resources</tt></font></A> +Class android.content.res.<A HREF="../../../../reference/android/content/res/Resources.html" target="_top"><font size="+2"><code>Resources</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,35 +84,35 @@ Class android.content.res.<A HREF="../../../../reference/android/content/res/Res <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.res.Resources.getBoolean_added(int)"></A> - <nobr><code>boolean</code> <A HREF="../../../../reference/android/content/res/Resources.html#getBoolean(int)" target="_top"><xfont size="+1"><tt>getBoolean</tt></font></A>(<code>int</code>)</nobr> + <nobr><code>boolean</code> <A HREF="../../../../reference/android/content/res/Resources.html#getBoolean(int)" target="_top"><code>getBoolean</code></A>(<code>int</code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.res.Resources.getFraction_added(int, int, int)"></A> - <nobr><code>float</code> <A HREF="../../../../reference/android/content/res/Resources.html#getFraction(int, int, int)" target="_top"><xfont size="+1"><tt>getFraction</tt></font></A>(<code>int,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr> + <nobr><code>float</code> <A HREF="../../../../reference/android/content/res/Resources.html#getFraction(int, int, int)" target="_top"><code>getFraction</code></A>(<code>int,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.res.Resources.openRawResource_added(int, android.util.TypedValue)"></A> - <nobr><code>InputStream</code> <A HREF="../../../../reference/android/content/res/Resources.html#openRawResource(int, android.util.TypedValue)" target="_top"><xfont size="+1"><tt>openRawResource</tt></font></A>(<code>int,</nobr> TypedValue<nobr><nobr></code>)</nobr> + <nobr><code>InputStream</code> <A HREF="../../../../reference/android/content/res/Resources.html#openRawResource(int, android.util.TypedValue)" target="_top"><code>openRawResource</code></A>(<code>int,</nobr> TypedValue<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.res.Resources.parseBundleExtra_added(java.lang.String, android.util.AttributeSet, android.os.Bundle)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/content/res/Resources.html#parseBundleExtra(java.lang.String, android.util.AttributeSet, android.os.Bundle)" target="_top"><xfont size="+1"><tt>parseBundleExtra</tt></font></A>(<code>String,</nobr> AttributeSet<nobr>,</nobr> Bundle<nobr><nobr></code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/content/res/Resources.html#parseBundleExtra(java.lang.String, android.util.AttributeSet, android.os.Bundle)" target="_top"><code>parseBundleExtra</code></A>(<code>String,</nobr> AttributeSet<nobr>,</nobr> Bundle<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.res.Resources.parseBundleExtras_added(android.content.res.XmlResourceParser, android.os.Bundle)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/content/res/Resources.html#parseBundleExtras(android.content.res.XmlResourceParser, android.os.Bundle)" target="_top"><xfont size="+1"><tt>parseBundleExtras</tt></font></A>(<code>XmlResourceParser,</nobr> Bundle<nobr><nobr></code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/content/res/Resources.html#parseBundleExtras(android.content.res.XmlResourceParser, android.os.Bundle)" target="_top"><code>parseBundleExtras</code></A>(<code>XmlResourceParser,</nobr> Bundle<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.content.res.TypedArray.html b/docs/html/sdk/api_diff/3/changes/android.content.res.TypedArray.html index f1336fc7d7ed93bc2fa53cfcb43d7f7a2348a8b8..bb67b6d7c9fb2dd56a9c4e92a0a8557429b781c3 100644 --- a/docs/html/sdk/api_diff/3/changes/android.content.res.TypedArray.html +++ b/docs/html/sdk/api_diff/3/changes/android.content.res.TypedArray.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.content.res.<A HREF="../../../../reference/android/content/res/TypedArray.html" target="_top"><font size="+3"><tt>TypedArray</tt></font></A> +Class android.content.res.<A HREF="../../../../reference/android/content/res/TypedArray.html" target="_top"><font size="+2"><code>TypedArray</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,7 +84,7 @@ Class android.content.res.<A HREF="../../../../reference/android/content/res/Typ <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.content.res.TypedArray.getLayoutDimension_added(int, int)"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/content/res/TypedArray.html#getLayoutDimension(int, int)" target="_top"><xfont size="+1"><tt>getLayoutDimension</tt></font></A>(<code>int,</nobr> int<nobr><nobr></code>)</nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/content/res/TypedArray.html#getLayoutDimension(int, int)" target="_top"><code>getLayoutDimension</code></A>(<code>int,</nobr> int<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.database.Cursor.html b/docs/html/sdk/api_diff/3/changes/android.database.Cursor.html index 020402a4c71416f3a9985d1f19934b6c0bb6f0ef..f07259838117264572b004d283f15e98d725fa36 100644 --- a/docs/html/sdk/api_diff/3/changes/android.database.Cursor.html +++ b/docs/html/sdk/api_diff/3/changes/android.database.Cursor.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Interface android.database.<A HREF="../../../../reference/android/database/Cursor.html" target="_top"><font size="+3"><tt>Cursor</tt></font></A> +Interface android.database.<A HREF="../../../../reference/android/database/Cursor.html" target="_top"><font size="+2"><code>Cursor</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,7 +84,7 @@ Interface android.database.<A HREF="../../../../reference/android/database/Curso <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.database.Cursor.getColumnIndex_changed(java.lang.String)"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/database/Cursor.html#getColumnIndex(java.lang.String)" target="_top"><xfont size="+1"><tt>getColumnIndex</tt></font></A>(<code>String</code>) </nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/database/Cursor.html#getColumnIndex(java.lang.String)" target="_top"><code>getColumnIndex</code></A>(<code>String</code>) </nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> Change from deprecated to undeprecated.<br> diff --git a/docs/html/sdk/api_diff/3/changes/android.database.CursorWrapper.html b/docs/html/sdk/api_diff/3/changes/android.database.CursorWrapper.html index 3a7675d57da6e02819c003bc3816567f8fc365da..ab1c183120396af76de314f39ba4741eed3a7a57 100644 --- a/docs/html/sdk/api_diff/3/changes/android.database.CursorWrapper.html +++ b/docs/html/sdk/api_diff/3/changes/android.database.CursorWrapper.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.database.<A HREF="../../../../reference/android/database/CursorWrapper.html" target="_top"><font size="+3"><tt>CursorWrapper</tt></font></A> +Class android.database.<A HREF="../../../../reference/android/database/CursorWrapper.html" target="_top"><font size="+2"><code>CursorWrapper</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,7 +84,7 @@ Class android.database.<A HREF="../../../../reference/android/database/CursorWra <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.database.CursorWrapper.getColumnIndex_changed(java.lang.String)"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/database/CursorWrapper.html#getColumnIndex(java.lang.String)" target="_top"><xfont size="+1"><tt>getColumnIndex</tt></font></A>(<code>String</code>) </nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/database/CursorWrapper.html#getColumnIndex(java.lang.String)" target="_top"><code>getColumnIndex</code></A>(<code>String</code>) </nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> Change from deprecated to undeprecated.<br> diff --git a/docs/html/sdk/api_diff/3/changes/android.database.DatabaseUtils.html b/docs/html/sdk/api_diff/3/changes/android.database.DatabaseUtils.html index 114beaeeee62320019ce4591ed7c41981f765130..fa57630811aa0fffa9442e318ecf5c0f89f269db 100644 --- a/docs/html/sdk/api_diff/3/changes/android.database.DatabaseUtils.html +++ b/docs/html/sdk/api_diff/3/changes/android.database.DatabaseUtils.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.database.<A HREF="../../../../reference/android/database/DatabaseUtils.html" target="_top"><font size="+3"><tt>DatabaseUtils</tt></font></A> +Class android.database.<A HREF="../../../../reference/android/database/DatabaseUtils.html" target="_top"><font size="+2"><code>DatabaseUtils</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,7 +84,7 @@ Class android.database.<A HREF="../../../../reference/android/database/DatabaseU <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.database.DatabaseUtils.appendEscapedSQLString_changed(java.lang.StringBuilder, java.lang.String)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/database/DatabaseUtils.html#appendEscapedSQLString(java.lang.StringBuilder, java.lang.String)" target="_top"><xfont size="+1"><tt>appendEscapedSQLString</tt></font></A>(<code>StringBuilder,</nobr> String<nobr><nobr></code>) </nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/database/DatabaseUtils.html#appendEscapedSQLString(java.lang.StringBuilder, java.lang.String)" target="_top"><code>appendEscapedSQLString</code></A>(<code>StringBuilder,</nobr> String<nobr><nobr></code>) </nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> Change from deprecated to undeprecated.<br> diff --git a/docs/html/sdk/api_diff/3/changes/android.database.sqlite.SQLiteDatabase.html b/docs/html/sdk/api_diff/3/changes/android.database.sqlite.SQLiteDatabase.html index cd59c1b854310edc0a4afde3c6f957669e967353..491a7076f28fc573d2eef459b4e3a50ff19aff0b 100644 --- a/docs/html/sdk/api_diff/3/changes/android.database.sqlite.SQLiteDatabase.html +++ b/docs/html/sdk/api_diff/3/changes/android.database.sqlite.SQLiteDatabase.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.database.sqlite.<A HREF="../../../../reference/android/database/sqlite/SQLiteDatabase.html" target="_top"><font size="+3"><tt>SQLiteDatabase</tt></font></A> +Class android.database.sqlite.<A HREF="../../../../reference/android/database/sqlite/SQLiteDatabase.html" target="_top"><font size="+2"><code>SQLiteDatabase</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,7 +84,7 @@ Class android.database.sqlite.<A HREF="../../../../reference/android/database/sq <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.database.sqlite.SQLiteDatabase.yieldIfContendedSafely_added()"></A> - <nobr><code>boolean</code> <A HREF="../../../../reference/android/database/sqlite/SQLiteDatabase.html#yieldIfContendedSafely()" target="_top"><xfont size="+1"><tt>yieldIfContendedSafely</tt></font></A>()</nobr> + <nobr><code>boolean</code> <A HREF="../../../../reference/android/database/sqlite/SQLiteDatabase.html#yieldIfContendedSafely()" target="_top"><code>yieldIfContendedSafely</code></A>()</nobr> </TD> <TD> </TD> </TR> @@ -100,7 +99,7 @@ Class android.database.sqlite.<A HREF="../../../../reference/android/database/sq <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.database.sqlite.SQLiteDatabase.yieldIfContended_changed()"></A> - <nobr><code>boolean</code> <A HREF="../../../../reference/android/database/sqlite/SQLiteDatabase.html#yieldIfContended()" target="_top"><xfont size="+1"><tt>yieldIfContended</tt></font></A>() </nobr> + <nobr><code>boolean</code> <A HREF="../../../../reference/android/database/sqlite/SQLiteDatabase.html#yieldIfContended()" target="_top"><code>yieldIfContended</code></A>() </nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> diff --git a/docs/html/sdk/api_diff/3/changes/android.graphics.Bitmap.html b/docs/html/sdk/api_diff/3/changes/android.graphics.Bitmap.html index f6ddc29c10bfb54c9584eae29af1f36bf01cc133..a2df5de1ad324ba53db82c8fc427dc9c0dbe8a3b 100644 --- a/docs/html/sdk/api_diff/3/changes/android.graphics.Bitmap.html +++ b/docs/html/sdk/api_diff/3/changes/android.graphics.Bitmap.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.graphics.<A HREF="../../../../reference/android/graphics/Bitmap.html" target="_top"><font size="+3"><tt>Bitmap</tt></font></A> +Class android.graphics.<A HREF="../../../../reference/android/graphics/Bitmap.html" target="_top"><font size="+2"><code>Bitmap</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,7 +84,7 @@ Class android.graphics.<A HREF="../../../../reference/android/graphics/Bitmap.ht <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.graphics.Bitmap.copyPixelsFromBuffer_added(java.nio.Buffer)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/graphics/Bitmap.html#copyPixelsFromBuffer(java.nio.Buffer)" target="_top"><xfont size="+1"><tt>copyPixelsFromBuffer</tt></font></A>(<code>Buffer</code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/graphics/Bitmap.html#copyPixelsFromBuffer(java.nio.Buffer)" target="_top"><code>copyPixelsFromBuffer</code></A>(<code>Buffer</code>)</nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.graphics.Canvas.html b/docs/html/sdk/api_diff/3/changes/android.graphics.Canvas.html index cf8ceef7ab5fb7f989b9c8aefe30e4596d0dd2b1..01842b7a11ab6e50da6bf33b8254c8be64478851 100644 --- a/docs/html/sdk/api_diff/3/changes/android.graphics.Canvas.html +++ b/docs/html/sdk/api_diff/3/changes/android.graphics.Canvas.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.graphics.<A HREF="../../../../reference/android/graphics/Canvas.html" target="_top"><font size="+3"><tt>Canvas</tt></font></A> +Class android.graphics.<A HREF="../../../../reference/android/graphics/Canvas.html" target="_top"><font size="+2"><code>Canvas</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,7 +84,7 @@ Class android.graphics.<A HREF="../../../../reference/android/graphics/Canvas.ht <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.graphics.Canvas.drawBitmap_added(int[], int, int, float, float, int, int, boolean, android.graphics.Paint)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/graphics/Canvas.html#drawBitmap(int[], int, int, float, float, int, int, boolean, android.graphics.Paint)" target="_top"><xfont size="+1"><tt>drawBitmap</tt></font></A>(<code>int[],</nobr> int<nobr>,</nobr> int<nobr>,</nobr> float<nobr>,</nobr> float<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> boolean<nobr>,</nobr> Paint<nobr><nobr></code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/graphics/Canvas.html#drawBitmap(int[], int, int, float, float, int, int, boolean, android.graphics.Paint)" target="_top"><code>drawBitmap</code></A>(<code>int[],</nobr> int<nobr>,</nobr> int<nobr>,</nobr> float<nobr>,</nobr> float<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> boolean<nobr>,</nobr> Paint<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.graphics.Rect.html b/docs/html/sdk/api_diff/3/changes/android.graphics.Rect.html index 1c0b1f342d377a324d5a5597e0beca32f92b3ae7..0db409c7b202f51e4b548352a9e6f44774427a64 100644 --- a/docs/html/sdk/api_diff/3/changes/android.graphics.Rect.html +++ b/docs/html/sdk/api_diff/3/changes/android.graphics.Rect.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.graphics.<A HREF="../../../../reference/android/graphics/Rect.html" target="_top"><font size="+3"><tt>Rect</tt></font></A> +Class android.graphics.<A HREF="../../../../reference/android/graphics/Rect.html" target="_top"><font size="+2"><code>Rect</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,7 +84,7 @@ Class android.graphics.<A HREF="../../../../reference/android/graphics/Rect.html <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.graphics.Rect.toShortString_added()"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/graphics/Rect.html#toShortString()" target="_top"><xfont size="+1"><tt>toShortString</tt></font></A>()</nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/graphics/Rect.html#toShortString()" target="_top"><code>toShortString</code></A>()</nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.graphics.RectF.html b/docs/html/sdk/api_diff/3/changes/android.graphics.RectF.html index 4e9b91b2a2ed36f33ece73442a5648c70f1df6a3..05c1da65e7718e0709b559463cc2ce2c3f626b8f 100644 --- a/docs/html/sdk/api_diff/3/changes/android.graphics.RectF.html +++ b/docs/html/sdk/api_diff/3/changes/android.graphics.RectF.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.graphics.<A HREF="../../../../reference/android/graphics/RectF.html" target="_top"><font size="+3"><tt>RectF</tt></font></A> +Class android.graphics.<A HREF="../../../../reference/android/graphics/RectF.html" target="_top"><font size="+2"><code>RectF</code></font></A> </H2> <p><font xsize="+1">Added interface <code>android.os.Parcelable</code>.<br></font> <a NAME="constructors"></a> @@ -86,21 +85,21 @@ Class android.graphics.<A HREF="../../../../reference/android/graphics/RectF.htm <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.graphics.RectF.describeContents_added()"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/graphics/RectF.html#describeContents()" target="_top"><xfont size="+1"><tt>describeContents</tt></font></A>()</nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/graphics/RectF.html#describeContents()" target="_top"><code>describeContents</code></A>()</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.graphics.RectF.readFromParcel_added(android.os.Parcel)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/graphics/RectF.html#readFromParcel(android.os.Parcel)" target="_top"><xfont size="+1"><tt>readFromParcel</tt></font></A>(<code>Parcel</code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/graphics/RectF.html#readFromParcel(android.os.Parcel)" target="_top"><code>readFromParcel</code></A>(<code>Parcel</code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.graphics.RectF.writeToParcel_added(android.os.Parcel, int)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/graphics/RectF.html#writeToParcel(android.os.Parcel, int)" target="_top"><xfont size="+1"><tt>writeToParcel</tt></font></A>(<code>Parcel,</nobr> int<nobr><nobr></code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/graphics/RectF.html#writeToParcel(android.os.Parcel, int)" target="_top"><code>writeToParcel</code></A>(<code>Parcel,</nobr> int<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> @@ -116,7 +115,7 @@ Class android.graphics.<A HREF="../../../../reference/android/graphics/RectF.htm <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.graphics.RectF.CREATOR"></A> - <nobr><code>Creator</code> <A HREF="../../../../reference/android/graphics/RectF.html#CREATOR" target="_top"><xfont size="+1"><tt>CREATOR</tt></font></A></nobr> + <nobr><code>Creator</code> <A HREF="../../../../reference/android/graphics/RectF.html#CREATOR" target="_top"><code>CREATOR</code></A></nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.graphics.drawable.Drawable.html b/docs/html/sdk/api_diff/3/changes/android.graphics.drawable.Drawable.html index faa70b96da44905538040325aedc4b516b0ee9f8..6b05cbfa3f2631fa020d337e392e1b24bd01f375 100644 --- a/docs/html/sdk/api_diff/3/changes/android.graphics.drawable.Drawable.html +++ b/docs/html/sdk/api_diff/3/changes/android.graphics.drawable.Drawable.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.graphics.drawable.<A HREF="../../../../reference/android/graphics/drawable/Drawable.html" target="_top"><font size="+3"><tt>Drawable</tt></font></A> +Class android.graphics.drawable.<A HREF="../../../../reference/android/graphics/drawable/Drawable.html" target="_top"><font size="+2"><code>Drawable</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,7 +84,7 @@ Class android.graphics.drawable.<A HREF="../../../../reference/android/graphics/ <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.graphics.drawable.Drawable.mutate_added()"></A> - <nobr><code>Drawable</code> <A HREF="../../../../reference/android/graphics/drawable/Drawable.html#mutate()" target="_top"><xfont size="+1"><tt>mutate</tt></font></A>()</nobr> + <nobr><code>Drawable</code> <A HREF="../../../../reference/android/graphics/drawable/Drawable.html#mutate()" target="_top"><code>mutate</code></A>()</nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.graphics.drawable.RotateDrawable.html b/docs/html/sdk/api_diff/3/changes/android.graphics.drawable.RotateDrawable.html index 8cffe1e0bdb9a038e8f325a86c9caca6b88a70b1..f4b8d7b3299412553e0acbdd31703c5847042283 100644 --- a/docs/html/sdk/api_diff/3/changes/android.graphics.drawable.RotateDrawable.html +++ b/docs/html/sdk/api_diff/3/changes/android.graphics.drawable.RotateDrawable.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.graphics.drawable.<A HREF="../../../../reference/android/graphics/drawable/RotateDrawable.html" target="_top"><font size="+3"><tt>RotateDrawable</tt></font></A> +Class android.graphics.drawable.<A HREF="../../../../reference/android/graphics/drawable/RotateDrawable.html" target="_top"><font size="+2"><code>RotateDrawable</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,7 +84,7 @@ Class android.graphics.drawable.<A HREF="../../../../reference/android/graphics/ <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.graphics.drawable.RotateDrawable.getDrawable_added()"></A> - <nobr><code>Drawable</code> <A HREF="../../../../reference/android/graphics/drawable/RotateDrawable.html#getDrawable()" target="_top"><xfont size="+1"><tt>getDrawable</tt></font></A>()</nobr> + <nobr><code>Drawable</code> <A HREF="../../../../reference/android/graphics/drawable/RotateDrawable.html#getDrawable()" target="_top"><code>getDrawable</code></A>()</nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.graphics.drawable.ScaleDrawable.html b/docs/html/sdk/api_diff/3/changes/android.graphics.drawable.ScaleDrawable.html index 529f38026ebef83be3f132135d71ed22db5017e0..d525dd73e236d63e309d30a97dc125369de0dc9c 100644 --- a/docs/html/sdk/api_diff/3/changes/android.graphics.drawable.ScaleDrawable.html +++ b/docs/html/sdk/api_diff/3/changes/android.graphics.drawable.ScaleDrawable.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.graphics.drawable.<A HREF="../../../../reference/android/graphics/drawable/ScaleDrawable.html" target="_top"><font size="+3"><tt>ScaleDrawable</tt></font></A> +Class android.graphics.drawable.<A HREF="../../../../reference/android/graphics/drawable/ScaleDrawable.html" target="_top"><font size="+2"><code>ScaleDrawable</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,7 +84,7 @@ Class android.graphics.drawable.<A HREF="../../../../reference/android/graphics/ <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.graphics.drawable.ScaleDrawable.getDrawable_added()"></A> - <nobr><code>Drawable</code> <A HREF="../../../../reference/android/graphics/drawable/ScaleDrawable.html#getDrawable()" target="_top"><xfont size="+1"><tt>getDrawable</tt></font></A>()</nobr> + <nobr><code>Drawable</code> <A HREF="../../../../reference/android/graphics/drawable/ScaleDrawable.html#getDrawable()" target="_top"><code>getDrawable</code></A>()</nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.graphics.drawable.TransitionDrawable.html b/docs/html/sdk/api_diff/3/changes/android.graphics.drawable.TransitionDrawable.html index d7dc8eafcf3c180b358fa272bfb117ecba0f9661..520dcd46a82eaf3264c11204ed6c7c0eaa9820bc 100644 --- a/docs/html/sdk/api_diff/3/changes/android.graphics.drawable.TransitionDrawable.html +++ b/docs/html/sdk/api_diff/3/changes/android.graphics.drawable.TransitionDrawable.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.graphics.drawable.<A HREF="../../../../reference/android/graphics/drawable/TransitionDrawable.html" target="_top"><font size="+3"><tt>TransitionDrawable</tt></font></A> +Class android.graphics.drawable.<A HREF="../../../../reference/android/graphics/drawable/TransitionDrawable.html" target="_top"><font size="+2"><code>TransitionDrawable</code></font></A> </H2> <a NAME="constructors"></a> <p> @@ -84,7 +83,7 @@ Class android.graphics.drawable.<A HREF="../../../../reference/android/graphics/ <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.graphics.drawable.TransitionDrawable.ctor_added(android.graphics.drawable.Drawable[])"></A> - <nobr><A HREF="../../../../reference/android/graphics/drawable/TransitionDrawable.html#TransitionDrawable(android.graphics.drawable.Drawable[])" target="_top"><xfont size="+1"><tt>TransitionDrawable</tt></font></A>(<code>Drawable[]</code>)</nobr> + <nobr><A HREF="../../../../reference/android/graphics/drawable/TransitionDrawable.html#TransitionDrawable(android.graphics.drawable.Drawable[])" target="_top"><code>TransitionDrawable</code></A>(<code>Drawable[]</code>)</nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.graphics.drawable.shapes.Shape.html b/docs/html/sdk/api_diff/3/changes/android.graphics.drawable.shapes.Shape.html index 836aa92159130bad7590c72dc6f80df6c6cda02f..5f03e03ed4b6bcaff87626c9d10d175f24af57b7 100644 --- a/docs/html/sdk/api_diff/3/changes/android.graphics.drawable.shapes.Shape.html +++ b/docs/html/sdk/api_diff/3/changes/android.graphics.drawable.shapes.Shape.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.graphics.drawable.shapes.<A HREF="../../../../reference/android/graphics/drawable/shapes/Shape.html" target="_top"><font size="+3"><tt>Shape</tt></font></A> +Class android.graphics.drawable.shapes.<A HREF="../../../../reference/android/graphics/drawable/shapes/Shape.html" target="_top"><font size="+2"><code>Shape</code></font></A> </H2> <p><font xsize="+1">Added interface <code>java.lang.Cloneable</code>.<br></font> <a NAME="constructors"></a> @@ -86,11 +85,11 @@ Class android.graphics.drawable.shapes.<A HREF="../../../../reference/android/gr <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.graphics.drawable.shapes.Shape.clone_changed()"></A> - <nobr><code>Shape</code> <A HREF="../../../../reference/android/graphics/drawable/shapes/Shape.html#clone()" target="_top"><xfont size="+1"><tt>clone</tt></font></A>() </nobr> + <nobr><code>Shape</code> <A HREF="../../../../reference/android/graphics/drawable/shapes/Shape.html#clone()" target="_top"><code>clone</code></A>() </nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> Change in return type from <code>Object</code> to <code>Shape</code>.<br> - Method was inherited from <tt>java.lang.Object</tt>, but is now defined locally. Change of visibility from protected to public.<br> + Method was inherited from <code>java.lang.Object</code>, but is now defined locally. Change of visibility from protected to public.<br> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.hardware.Camera.html b/docs/html/sdk/api_diff/3/changes/android.hardware.Camera.html index b7a0dd37a1222fa0cfb16f1025559e322b9ad00c..84fea2af51efa4f089b793855f9d31b2a701b946 100644 --- a/docs/html/sdk/api_diff/3/changes/android.hardware.Camera.html +++ b/docs/html/sdk/api_diff/3/changes/android.hardware.Camera.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.hardware.<A HREF="../../../../reference/android/hardware/Camera.html" target="_top"><font size="+3"><tt>Camera</tt></font></A> +Class android.hardware.<A HREF="../../../../reference/android/hardware/Camera.html" target="_top"><font size="+2"><code>Camera</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,7 +84,7 @@ Class android.hardware.<A HREF="../../../../reference/android/hardware/Camera.ht <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.Camera.setOneShotPreviewCallback_added(android.hardware.Camera.PreviewCallback)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/hardware/Camera.html#setOneShotPreviewCallback(android.hardware.Camera.PreviewCallback)" target="_top"><xfont size="+1"><tt>setOneShotPreviewCallback</tt></font></A>(<code>PreviewCallback</code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/hardware/Camera.html#setOneShotPreviewCallback(android.hardware.Camera.PreviewCallback)" target="_top"><code>setOneShotPreviewCallback</code></A>(<code>PreviewCallback</code>)</nobr> </TD> <TD> </TD> </TR> @@ -100,7 +99,7 @@ Class android.hardware.<A HREF="../../../../reference/android/hardware/Camera.ht <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.Camera.setPreviewDisplay_changed(android.view.SurfaceHolder)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/hardware/Camera.html#setPreviewDisplay(android.view.SurfaceHolder)" target="_top"><xfont size="+1"><tt>setPreviewDisplay</tt></font></A>(<code>SurfaceHolder</code>) </nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/hardware/Camera.html#setPreviewDisplay(android.view.SurfaceHolder)" target="_top"><code>setPreviewDisplay</code></A>(<code>SurfaceHolder</code>) </nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> Change in exceptions thrown from no exceptions to <code>java.io.IOException</code>.<br> diff --git a/docs/html/sdk/api_diff/3/changes/android.hardware.SensorListener.html b/docs/html/sdk/api_diff/3/changes/android.hardware.SensorListener.html index 9b63571fcf52ceb6b84550a6c6bab014f4940edb..8a4f15aadf85c137177f21337875b485d1051954 100644 --- a/docs/html/sdk/api_diff/3/changes/android.hardware.SensorListener.html +++ b/docs/html/sdk/api_diff/3/changes/android.hardware.SensorListener.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Interface android.hardware.<A HREF="../../../../reference/android/hardware/SensorListener.html" target="_top"><font size="+3"><tt>SensorListener</tt></font></A> +Interface android.hardware.<A HREF="../../../../reference/android/hardware/SensorListener.html" target="_top"><font size="+2"><code>SensorListener</code></font></A> </H2> <p><b>Now deprecated</b>.<br> <a NAME="constructors"></a> diff --git a/docs/html/sdk/api_diff/3/changes/android.hardware.SensorManager.html b/docs/html/sdk/api_diff/3/changes/android.hardware.SensorManager.html index e42eebaf21f9df99f753d8ec19e719b5c3265fb8..d276bd780946041e14c4401079383714cce8e454 100644 --- a/docs/html/sdk/api_diff/3/changes/android.hardware.SensorManager.html +++ b/docs/html/sdk/api_diff/3/changes/android.hardware.SensorManager.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.hardware.<A HREF="../../../../reference/android/hardware/SensorManager.html" target="_top"><font size="+3"><tt>SensorManager</tt></font></A> +Class android.hardware.<A HREF="../../../../reference/android/hardware/SensorManager.html" target="_top"><font size="+2"><code>SensorManager</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,70 +84,70 @@ Class android.hardware.<A HREF="../../../../reference/android/hardware/SensorMan <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.getDefaultSensor_added(int)"></A> - <nobr><code>Sensor</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#getDefaultSensor(int)" target="_top"><xfont size="+1"><tt>getDefaultSensor</tt></font></A>(<code>int</code>)</nobr> + <nobr><code>Sensor</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#getDefaultSensor(int)" target="_top"><code>getDefaultSensor</code></A>(<code>int</code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.getInclination_added(float[])"></A> - <nobr><code>float</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#getInclination(float[])" target="_top"><xfont size="+1"><tt>getInclination</tt></font></A>(<code>float[]</code>)</nobr> + <nobr><code>float</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#getInclination(float[])" target="_top"><code>getInclination</code></A>(<code>float[]</code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.getOrientation_added(float[], float[])"></A> - <nobr><code>float[]</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#getOrientation(float[], float[])" target="_top"><xfont size="+1"><tt>getOrientation</tt></font></A>(<code>float[],</nobr> float[]<nobr><nobr></code>)</nobr> + <nobr><code>float[]</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#getOrientation(float[], float[])" target="_top"><code>getOrientation</code></A>(<code>float[],</nobr> float[]<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.getRotationMatrix_added(float[], float[], float[], float[])"></A> - <nobr><code>boolean</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#getRotationMatrix(float[], float[], float[], float[])" target="_top"><xfont size="+1"><tt>getRotationMatrix</tt></font></A>(<code>float[],</nobr> float[]<nobr>,</nobr> float[]<nobr>,</nobr> float[]<nobr><nobr></code>)</nobr> + <nobr><code>boolean</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#getRotationMatrix(float[], float[], float[], float[])" target="_top"><code>getRotationMatrix</code></A>(<code>float[],</nobr> float[]<nobr>,</nobr> float[]<nobr>,</nobr> float[]<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.getSensorList_added(int)"></A> - <nobr><code>List<Sensor></code> <A HREF="../../../../reference/android/hardware/SensorManager.html#getSensorList(int)" target="_top"><xfont size="+1"><tt>getSensorList</tt></font></A>(<code>int</code>)</nobr> + <nobr><code>List<Sensor></code> <A HREF="../../../../reference/android/hardware/SensorManager.html#getSensorList(int)" target="_top"><code>getSensorList</code></A>(<code>int</code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.registerListener_added(android.hardware.SensorEventListener, android.hardware.Sensor, int)"></A> - <nobr><code>boolean</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int)" target="_top"><xfont size="+1"><tt>registerListener</tt></font></A>(<code>SensorEventListener,</nobr> Sensor<nobr>,</nobr> int<nobr><nobr></code>)</nobr> + <nobr><code>boolean</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int)" target="_top"><code>registerListener</code></A>(<code>SensorEventListener,</nobr> Sensor<nobr>,</nobr> int<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.registerListener_added(android.hardware.SensorEventListener, android.hardware.Sensor, int, android.os.Handler)"></A> - <nobr><code>boolean</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int, android.os.Handler)" target="_top"><xfont size="+1"><tt>registerListener</tt></font></A>(<code>SensorEventListener,</nobr> Sensor<nobr>,</nobr> int<nobr>,</nobr> Handler<nobr><nobr></code>)</nobr> + <nobr><code>boolean</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int, android.os.Handler)" target="_top"><code>registerListener</code></A>(<code>SensorEventListener,</nobr> Sensor<nobr>,</nobr> int<nobr>,</nobr> Handler<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.remapCoordinateSystem_added(float[], int, int, float[])"></A> - <nobr><code>boolean</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#remapCoordinateSystem(float[], int, int, float[])" target="_top"><xfont size="+1"><tt>remapCoordinateSystem</tt></font></A>(<code>float[],</nobr> int<nobr>,</nobr> int<nobr>,</nobr> float[]<nobr><nobr></code>)</nobr> + <nobr><code>boolean</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#remapCoordinateSystem(float[], int, int, float[])" target="_top"><code>remapCoordinateSystem</code></A>(<code>float[],</nobr> int<nobr>,</nobr> int<nobr>,</nobr> float[]<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.unregisterListener_added(android.hardware.SensorEventListener)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#unregisterListener(android.hardware.SensorEventListener)" target="_top"><xfont size="+1"><tt>unregisterListener</tt></font></A>(<code>SensorEventListener</code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#unregisterListener(android.hardware.SensorEventListener)" target="_top"><code>unregisterListener</code></A>(<code>SensorEventListener</code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.unregisterListener_added(android.hardware.SensorEventListener, android.hardware.Sensor)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#unregisterListener(android.hardware.SensorEventListener, android.hardware.Sensor)" target="_top"><xfont size="+1"><tt>unregisterListener</tt></font></A>(<code>SensorEventListener,</nobr> Sensor<nobr><nobr></code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#unregisterListener(android.hardware.SensorEventListener, android.hardware.Sensor)" target="_top"><code>unregisterListener</code></A>(<code>SensorEventListener,</nobr> Sensor<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> @@ -163,7 +162,7 @@ Class android.hardware.<A HREF="../../../../reference/android/hardware/SensorMan <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.getSensors_changed()"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#getSensors()" target="_top"><xfont size="+1"><tt>getSensors</tt></font></A>() </nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#getSensors()" target="_top"><code>getSensors</code></A>() </nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> @@ -173,7 +172,7 @@ Class android.hardware.<A HREF="../../../../reference/android/hardware/SensorMan <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.registerListener_changed(android.hardware.SensorListener, int)"></A> - <nobr><code>boolean</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#registerListener(android.hardware.SensorListener, int)" target="_top"><xfont size="+1"><tt>registerListener</tt></font></A>(<code>SensorListener,</nobr> int<nobr><nobr></code>) </nobr> + <nobr><code>boolean</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#registerListener(android.hardware.SensorListener, int)" target="_top"><code>registerListener</code></A>(<code>SensorListener,</nobr> int<nobr><nobr></code>) </nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> @@ -183,7 +182,7 @@ Class android.hardware.<A HREF="../../../../reference/android/hardware/SensorMan <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.registerListener_changed(android.hardware.SensorListener, int, int)"></A> - <nobr><code>boolean</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#registerListener(android.hardware.SensorListener, int, int)" target="_top"><xfont size="+1"><tt>registerListener</tt></font></A>(<code>SensorListener,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>) </nobr> + <nobr><code>boolean</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#registerListener(android.hardware.SensorListener, int, int)" target="_top"><code>registerListener</code></A>(<code>SensorListener,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>) </nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> @@ -193,7 +192,7 @@ Class android.hardware.<A HREF="../../../../reference/android/hardware/SensorMan <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.unregisterListener_changed(android.hardware.SensorListener)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#unregisterListener(android.hardware.SensorListener)" target="_top"><xfont size="+1"><tt>unregisterListener</tt></font></A>(<code>SensorListener</code>) </nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#unregisterListener(android.hardware.SensorListener)" target="_top"><code>unregisterListener</code></A>(<code>SensorListener</code>) </nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> @@ -203,7 +202,7 @@ Class android.hardware.<A HREF="../../../../reference/android/hardware/SensorMan <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.unregisterListener_changed(android.hardware.SensorListener, int)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#unregisterListener(android.hardware.SensorListener, int)" target="_top"><xfont size="+1"><tt>unregisterListener</tt></font></A>(<code>SensorListener,</nobr> int<nobr><nobr></code>) </nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#unregisterListener(android.hardware.SensorListener, int)" target="_top"><code>unregisterListener</code></A>(<code>SensorListener,</nobr> int<nobr><nobr></code>) </nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> @@ -222,42 +221,42 @@ Class android.hardware.<A HREF="../../../../reference/android/hardware/SensorMan <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.AXIS_MINUS_X"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#AXIS_MINUS_X" target="_top"><xfont size="+1"><tt>AXIS_MINUS_X</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#AXIS_MINUS_X" target="_top"><code>AXIS_MINUS_X</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.AXIS_MINUS_Y"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#AXIS_MINUS_Y" target="_top"><xfont size="+1"><tt>AXIS_MINUS_Y</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#AXIS_MINUS_Y" target="_top"><code>AXIS_MINUS_Y</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.AXIS_MINUS_Z"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#AXIS_MINUS_Z" target="_top"><xfont size="+1"><tt>AXIS_MINUS_Z</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#AXIS_MINUS_Z" target="_top"><code>AXIS_MINUS_Z</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.AXIS_X"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#AXIS_X" target="_top"><xfont size="+1"><tt>AXIS_X</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#AXIS_X" target="_top"><code>AXIS_X</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.AXIS_Y"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#AXIS_Y" target="_top"><xfont size="+1"><tt>AXIS_Y</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#AXIS_Y" target="_top"><code>AXIS_Y</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.AXIS_Z"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#AXIS_Z" target="_top"><xfont size="+1"><tt>AXIS_Z</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#AXIS_Z" target="_top"><code>AXIS_Z</code></A></nobr> </TD> <TD> </TD> </TR> @@ -272,7 +271,7 @@ Class android.hardware.<A HREF="../../../../reference/android/hardware/SensorMan <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.DATA_X"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#DATA_X" target="_top"><xfont size="+1"><tt>DATA_X</tt></font></A></nobr> </TD> + <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#DATA_X" target="_top"><code>DATA_X</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -281,7 +280,7 @@ Class android.hardware.<A HREF="../../../../reference/android/hardware/SensorMan <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.DATA_Y"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#DATA_Y" target="_top"><xfont size="+1"><tt>DATA_Y</tt></font></A></nobr> </TD> + <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#DATA_Y" target="_top"><code>DATA_Y</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -290,7 +289,7 @@ Class android.hardware.<A HREF="../../../../reference/android/hardware/SensorMan <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.DATA_Z"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#DATA_Z" target="_top"><xfont size="+1"><tt>DATA_Z</tt></font></A></nobr> </TD> + <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#DATA_Z" target="_top"><code>DATA_Z</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -299,7 +298,7 @@ Class android.hardware.<A HREF="../../../../reference/android/hardware/SensorMan <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.LIGHT_NO_MOON"></A> - <nobr><code>float</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#LIGHT_NO_MOON" target="_top"><xfont size="+1"><tt>LIGHT_NO_MOON</tt></font></A></nobr> </TD> + <nobr><code>float</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#LIGHT_NO_MOON" target="_top"><code>LIGHT_NO_MOON</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> Changed in value from 0.0010f to 0.001f. </TD> @@ -308,7 +307,7 @@ Changed in value from 0.0010f to 0.001f. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.RAW_DATA_INDEX"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#RAW_DATA_INDEX" target="_top"><xfont size="+1"><tt>RAW_DATA_INDEX</tt></font></A></nobr> </TD> + <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#RAW_DATA_INDEX" target="_top"><code>RAW_DATA_INDEX</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -317,7 +316,7 @@ Changed in value from 0.0010f to 0.001f. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.RAW_DATA_X"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#RAW_DATA_X" target="_top"><xfont size="+1"><tt>RAW_DATA_X</tt></font></A></nobr> </TD> + <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#RAW_DATA_X" target="_top"><code>RAW_DATA_X</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -326,7 +325,7 @@ Changed in value from 0.0010f to 0.001f. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.RAW_DATA_Y"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#RAW_DATA_Y" target="_top"><xfont size="+1"><tt>RAW_DATA_Y</tt></font></A></nobr> </TD> + <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#RAW_DATA_Y" target="_top"><code>RAW_DATA_Y</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -335,7 +334,7 @@ Changed in value from 0.0010f to 0.001f. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.RAW_DATA_Z"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#RAW_DATA_Z" target="_top"><xfont size="+1"><tt>RAW_DATA_Z</tt></font></A></nobr> </TD> + <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#RAW_DATA_Z" target="_top"><code>RAW_DATA_Z</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -344,7 +343,7 @@ Changed in value from 0.0010f to 0.001f. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.SENSOR_ACCELEROMETER"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#SENSOR_ACCELEROMETER" target="_top"><xfont size="+1"><tt>SENSOR_ACCELEROMETER</tt></font></A></nobr> </TD> + <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#SENSOR_ACCELEROMETER" target="_top"><code>SENSOR_ACCELEROMETER</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -353,7 +352,7 @@ Changed in value from 0.0010f to 0.001f. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.SENSOR_ALL"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#SENSOR_ALL" target="_top"><xfont size="+1"><tt>SENSOR_ALL</tt></font></A></nobr> </TD> + <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#SENSOR_ALL" target="_top"><code>SENSOR_ALL</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -362,7 +361,7 @@ Changed in value from 0.0010f to 0.001f. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.SENSOR_LIGHT"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#SENSOR_LIGHT" target="_top"><xfont size="+1"><tt>SENSOR_LIGHT</tt></font></A></nobr> </TD> + <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#SENSOR_LIGHT" target="_top"><code>SENSOR_LIGHT</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -371,7 +370,7 @@ Changed in value from 0.0010f to 0.001f. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.SENSOR_MAGNETIC_FIELD"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#SENSOR_MAGNETIC_FIELD" target="_top"><xfont size="+1"><tt>SENSOR_MAGNETIC_FIELD</tt></font></A></nobr> </TD> + <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#SENSOR_MAGNETIC_FIELD" target="_top"><code>SENSOR_MAGNETIC_FIELD</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -380,7 +379,7 @@ Changed in value from 0.0010f to 0.001f. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.SENSOR_MAX"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#SENSOR_MAX" target="_top"><xfont size="+1"><tt>SENSOR_MAX</tt></font></A></nobr> </TD> + <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#SENSOR_MAX" target="_top"><code>SENSOR_MAX</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -389,7 +388,7 @@ Changed in value from 0.0010f to 0.001f. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.SENSOR_MIN"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#SENSOR_MIN" target="_top"><xfont size="+1"><tt>SENSOR_MIN</tt></font></A></nobr> </TD> + <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#SENSOR_MIN" target="_top"><code>SENSOR_MIN</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -398,7 +397,7 @@ Changed in value from 0.0010f to 0.001f. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.SENSOR_ORIENTATION"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#SENSOR_ORIENTATION" target="_top"><xfont size="+1"><tt>SENSOR_ORIENTATION</tt></font></A></nobr> </TD> + <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#SENSOR_ORIENTATION" target="_top"><code>SENSOR_ORIENTATION</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -407,7 +406,7 @@ Changed in value from 0.0010f to 0.001f. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.SENSOR_ORIENTATION_RAW"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#SENSOR_ORIENTATION_RAW" target="_top"><xfont size="+1"><tt>SENSOR_ORIENTATION_RAW</tt></font></A></nobr> </TD> + <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#SENSOR_ORIENTATION_RAW" target="_top"><code>SENSOR_ORIENTATION_RAW</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -416,7 +415,7 @@ Changed in value from 0.0010f to 0.001f. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.SENSOR_PROXIMITY"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#SENSOR_PROXIMITY" target="_top"><xfont size="+1"><tt>SENSOR_PROXIMITY</tt></font></A></nobr> </TD> + <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#SENSOR_PROXIMITY" target="_top"><code>SENSOR_PROXIMITY</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -425,7 +424,7 @@ Changed in value from 0.0010f to 0.001f. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.SENSOR_TEMPERATURE"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#SENSOR_TEMPERATURE" target="_top"><xfont size="+1"><tt>SENSOR_TEMPERATURE</tt></font></A></nobr> </TD> + <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#SENSOR_TEMPERATURE" target="_top"><code>SENSOR_TEMPERATURE</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -434,7 +433,7 @@ Changed in value from 0.0010f to 0.001f. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.hardware.SensorManager.SENSOR_TRICORDER"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#SENSOR_TRICORDER" target="_top"><xfont size="+1"><tt>SENSOR_TRICORDER</tt></font></A></nobr> </TD> + <nobr><code>int</code> <A HREF="../../../../reference/android/hardware/SensorManager.html#SENSOR_TRICORDER" target="_top"><code>SENSOR_TRICORDER</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> diff --git a/docs/html/sdk/api_diff/3/changes/android.location.Location.html b/docs/html/sdk/api_diff/3/changes/android.location.Location.html index 03d3f894f33c7574ccf1e82e697defb436547493..05f5191fe15154da573404d144a30268cff49fbf 100644 --- a/docs/html/sdk/api_diff/3/changes/android.location.Location.html +++ b/docs/html/sdk/api_diff/3/changes/android.location.Location.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.location.<A HREF="../../../../reference/android/location/Location.html" target="_top"><font size="+3"><tt>Location</tt></font></A> +Class android.location.<A HREF="../../../../reference/android/location/Location.html" target="_top"><font size="+2"><code>Location</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,7 +84,7 @@ Class android.location.<A HREF="../../../../reference/android/location/Location. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.location.Location.dump_added(android.util.Printer, java.lang.String)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/location/Location.html#dump(android.util.Printer, java.lang.String)" target="_top"><xfont size="+1"><tt>dump</tt></font></A>(<code>Printer,</nobr> String<nobr><nobr></code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/location/Location.html#dump(android.util.Printer, java.lang.String)" target="_top"><code>dump</code></A>(<code>Printer,</nobr> String<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.location.LocationManager.html b/docs/html/sdk/api_diff/3/changes/android.location.LocationManager.html index 4cd68386cbd41974b1ce1261a108c7d52f49fa9e..d98b5f38c5647b1e289ac7a81e1d2bdd4920de88 100644 --- a/docs/html/sdk/api_diff/3/changes/android.location.LocationManager.html +++ b/docs/html/sdk/api_diff/3/changes/android.location.LocationManager.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.location.<A HREF="../../../../reference/android/location/LocationManager.html" target="_top"><font size="+3"><tt>LocationManager</tt></font></A> +Class android.location.<A HREF="../../../../reference/android/location/LocationManager.html" target="_top"><font size="+2"><code>LocationManager</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,98 +84,98 @@ Class android.location.<A HREF="../../../../reference/android/location/LocationM <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.location.LocationManager.addGpsStatusListener_added(android.location.GpsStatus.Listener)"></A> - <nobr><code>boolean</code> <A HREF="../../../../reference/android/location/LocationManager.html#addGpsStatusListener(android.location.GpsStatus.Listener)" target="_top"><xfont size="+1"><tt>addGpsStatusListener</tt></font></A>(<code>Listener</code>)</nobr> + <nobr><code>boolean</code> <A HREF="../../../../reference/android/location/LocationManager.html#addGpsStatusListener(android.location.GpsStatus.Listener)" target="_top"><code>addGpsStatusListener</code></A>(<code>Listener</code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.location.LocationManager.addTestProvider_added(java.lang.String, boolean, boolean, boolean, boolean, boolean, boolean, boolean, int, int)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/location/LocationManager.html#addTestProvider(java.lang.String, boolean, boolean, boolean, boolean, boolean, boolean, boolean, int, int)" target="_top"><xfont size="+1"><tt>addTestProvider</tt></font></A>(<code>String,</nobr> boolean<nobr>,</nobr> boolean<nobr>,</nobr> boolean<nobr>,</nobr> boolean<nobr>,</nobr> boolean<nobr>,</nobr> boolean<nobr>,</nobr> boolean<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/location/LocationManager.html#addTestProvider(java.lang.String, boolean, boolean, boolean, boolean, boolean, boolean, boolean, int, int)" target="_top"><code>addTestProvider</code></A>(<code>String,</nobr> boolean<nobr>,</nobr> boolean<nobr>,</nobr> boolean<nobr>,</nobr> boolean<nobr>,</nobr> boolean<nobr>,</nobr> boolean<nobr>,</nobr> boolean<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.location.LocationManager.clearTestProviderEnabled_added(java.lang.String)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/location/LocationManager.html#clearTestProviderEnabled(java.lang.String)" target="_top"><xfont size="+1"><tt>clearTestProviderEnabled</tt></font></A>(<code>String</code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/location/LocationManager.html#clearTestProviderEnabled(java.lang.String)" target="_top"><code>clearTestProviderEnabled</code></A>(<code>String</code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.location.LocationManager.clearTestProviderLocation_added(java.lang.String)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/location/LocationManager.html#clearTestProviderLocation(java.lang.String)" target="_top"><xfont size="+1"><tt>clearTestProviderLocation</tt></font></A>(<code>String</code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/location/LocationManager.html#clearTestProviderLocation(java.lang.String)" target="_top"><code>clearTestProviderLocation</code></A>(<code>String</code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.location.LocationManager.clearTestProviderStatus_added(java.lang.String)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/location/LocationManager.html#clearTestProviderStatus(java.lang.String)" target="_top"><xfont size="+1"><tt>clearTestProviderStatus</tt></font></A>(<code>String</code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/location/LocationManager.html#clearTestProviderStatus(java.lang.String)" target="_top"><code>clearTestProviderStatus</code></A>(<code>String</code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.location.LocationManager.getGpsStatus_added(android.location.GpsStatus)"></A> - <nobr><code>GpsStatus</code> <A HREF="../../../../reference/android/location/LocationManager.html#getGpsStatus(android.location.GpsStatus)" target="_top"><xfont size="+1"><tt>getGpsStatus</tt></font></A>(<code>GpsStatus</code>)</nobr> + <nobr><code>GpsStatus</code> <A HREF="../../../../reference/android/location/LocationManager.html#getGpsStatus(android.location.GpsStatus)" target="_top"><code>getGpsStatus</code></A>(<code>GpsStatus</code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.location.LocationManager.removeGpsStatusListener_added(android.location.GpsStatus.Listener)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/location/LocationManager.html#removeGpsStatusListener(android.location.GpsStatus.Listener)" target="_top"><xfont size="+1"><tt>removeGpsStatusListener</tt></font></A>(<code>Listener</code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/location/LocationManager.html#removeGpsStatusListener(android.location.GpsStatus.Listener)" target="_top"><code>removeGpsStatusListener</code></A>(<code>Listener</code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.location.LocationManager.removeTestProvider_added(java.lang.String)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/location/LocationManager.html#removeTestProvider(java.lang.String)" target="_top"><xfont size="+1"><tt>removeTestProvider</tt></font></A>(<code>String</code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/location/LocationManager.html#removeTestProvider(java.lang.String)" target="_top"><code>removeTestProvider</code></A>(<code>String</code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.location.LocationManager.removeUpdates_added(android.app.PendingIntent)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/location/LocationManager.html#removeUpdates(android.app.PendingIntent)" target="_top"><xfont size="+1"><tt>removeUpdates</tt></font></A>(<code>PendingIntent</code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/location/LocationManager.html#removeUpdates(android.app.PendingIntent)" target="_top"><code>removeUpdates</code></A>(<code>PendingIntent</code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.location.LocationManager.requestLocationUpdates_added(java.lang.String, long, float, android.app.PendingIntent)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/location/LocationManager.html#requestLocationUpdates(java.lang.String, long, float, android.app.PendingIntent)" target="_top"><xfont size="+1"><tt>requestLocationUpdates</tt></font></A>(<code>String,</nobr> long<nobr>,</nobr> float<nobr>,</nobr> PendingIntent<nobr><nobr></code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/location/LocationManager.html#requestLocationUpdates(java.lang.String, long, float, android.app.PendingIntent)" target="_top"><code>requestLocationUpdates</code></A>(<code>String,</nobr> long<nobr>,</nobr> float<nobr>,</nobr> PendingIntent<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.location.LocationManager.sendExtraCommand_added(java.lang.String, java.lang.String, android.os.Bundle)"></A> - <nobr><code>boolean</code> <A HREF="../../../../reference/android/location/LocationManager.html#sendExtraCommand(java.lang.String, java.lang.String, android.os.Bundle)" target="_top"><xfont size="+1"><tt>sendExtraCommand</tt></font></A>(<code>String,</nobr> String<nobr>,</nobr> Bundle<nobr><nobr></code>)</nobr> + <nobr><code>boolean</code> <A HREF="../../../../reference/android/location/LocationManager.html#sendExtraCommand(java.lang.String, java.lang.String, android.os.Bundle)" target="_top"><code>sendExtraCommand</code></A>(<code>String,</nobr> String<nobr>,</nobr> Bundle<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.location.LocationManager.setTestProviderEnabled_added(java.lang.String, boolean)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/location/LocationManager.html#setTestProviderEnabled(java.lang.String, boolean)" target="_top"><xfont size="+1"><tt>setTestProviderEnabled</tt></font></A>(<code>String,</nobr> boolean<nobr><nobr></code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/location/LocationManager.html#setTestProviderEnabled(java.lang.String, boolean)" target="_top"><code>setTestProviderEnabled</code></A>(<code>String,</nobr> boolean<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.location.LocationManager.setTestProviderLocation_added(java.lang.String, android.location.Location)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/location/LocationManager.html#setTestProviderLocation(java.lang.String, android.location.Location)" target="_top"><xfont size="+1"><tt>setTestProviderLocation</tt></font></A>(<code>String,</nobr> Location<nobr><nobr></code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/location/LocationManager.html#setTestProviderLocation(java.lang.String, android.location.Location)" target="_top"><code>setTestProviderLocation</code></A>(<code>String,</nobr> Location<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.location.LocationManager.setTestProviderStatus_added(java.lang.String, int, android.os.Bundle, long)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/location/LocationManager.html#setTestProviderStatus(java.lang.String, int, android.os.Bundle, long)" target="_top"><xfont size="+1"><tt>setTestProviderStatus</tt></font></A>(<code>String,</nobr> int<nobr>,</nobr> Bundle<nobr>,</nobr> long<nobr><nobr></code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/location/LocationManager.html#setTestProviderStatus(java.lang.String, int, android.os.Bundle, long)" target="_top"><code>setTestProviderStatus</code></A>(<code>String,</nobr> int<nobr>,</nobr> Bundle<nobr>,</nobr> long<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> @@ -192,21 +191,21 @@ Class android.location.<A HREF="../../../../reference/android/location/LocationM <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.location.LocationManager.KEY_LOCATION_CHANGED"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/location/LocationManager.html#KEY_LOCATION_CHANGED" target="_top"><xfont size="+1"><tt>KEY_LOCATION_CHANGED</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/location/LocationManager.html#KEY_LOCATION_CHANGED" target="_top"><code>KEY_LOCATION_CHANGED</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.location.LocationManager.KEY_PROVIDER_ENABLED"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/location/LocationManager.html#KEY_PROVIDER_ENABLED" target="_top"><xfont size="+1"><tt>KEY_PROVIDER_ENABLED</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/location/LocationManager.html#KEY_PROVIDER_ENABLED" target="_top"><code>KEY_PROVIDER_ENABLED</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.location.LocationManager.KEY_STATUS_CHANGED"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/location/LocationManager.html#KEY_STATUS_CHANGED" target="_top"><xfont size="+1"><tt>KEY_STATUS_CHANGED</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/location/LocationManager.html#KEY_STATUS_CHANGED" target="_top"><code>KEY_STATUS_CHANGED</code></A></nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.media.AudioManager.html b/docs/html/sdk/api_diff/3/changes/android.media.AudioManager.html index a98d840ffaf7f2ba708e10e48256f3f5c3f8d1e1..00c04bf77c009ad131112e524b989b0c4a2581e5 100644 --- a/docs/html/sdk/api_diff/3/changes/android.media.AudioManager.html +++ b/docs/html/sdk/api_diff/3/changes/android.media.AudioManager.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.media.<A HREF="../../../../reference/android/media/AudioManager.html" target="_top"><font size="+3"><tt>AudioManager</tt></font></A> +Class android.media.<A HREF="../../../../reference/android/media/AudioManager.html" target="_top"><font size="+2"><code>AudioManager</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,21 +84,21 @@ Class android.media.<A HREF="../../../../reference/android/media/AudioManager.ht <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.AudioManager.isBluetoothA2dpOn_added()"></A> - <nobr><code>boolean</code> <A HREF="../../../../reference/android/media/AudioManager.html#isBluetoothA2dpOn()" target="_top"><xfont size="+1"><tt>isBluetoothA2dpOn</tt></font></A>()</nobr> + <nobr><code>boolean</code> <A HREF="../../../../reference/android/media/AudioManager.html#isBluetoothA2dpOn()" target="_top"><code>isBluetoothA2dpOn</code></A>()</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.AudioManager.playSoundEffect_added(int, float)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/media/AudioManager.html#playSoundEffect(int, float)" target="_top"><xfont size="+1"><tt>playSoundEffect</tt></font></A>(<code>int,</nobr> float<nobr><nobr></code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/media/AudioManager.html#playSoundEffect(int, float)" target="_top"><code>playSoundEffect</code></A>(<code>int,</nobr> float<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.AudioManager.setBluetoothA2dpOn_added(boolean)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/media/AudioManager.html#setBluetoothA2dpOn(boolean)" target="_top"><xfont size="+1"><tt>setBluetoothA2dpOn</tt></font></A>(<code>boolean</code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/media/AudioManager.html#setBluetoothA2dpOn(boolean)" target="_top"><code>setBluetoothA2dpOn</code></A>(<code>boolean</code>)</nobr> </TD> <TD> </TD> </TR> @@ -115,56 +114,56 @@ Class android.media.<A HREF="../../../../reference/android/media/AudioManager.ht <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.AudioManager.ACTION_AUDIO_BECOMING_NOISY"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/media/AudioManager.html#ACTION_AUDIO_BECOMING_NOISY" target="_top"><xfont size="+1"><tt>ACTION_AUDIO_BECOMING_NOISY</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/media/AudioManager.html#ACTION_AUDIO_BECOMING_NOISY" target="_top"><code>ACTION_AUDIO_BECOMING_NOISY</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.AudioManager.FX_KEYPRESS_DELETE"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/media/AudioManager.html#FX_KEYPRESS_DELETE" target="_top"><xfont size="+1"><tt>FX_KEYPRESS_DELETE</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/media/AudioManager.html#FX_KEYPRESS_DELETE" target="_top"><code>FX_KEYPRESS_DELETE</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.AudioManager.FX_KEYPRESS_RETURN"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/media/AudioManager.html#FX_KEYPRESS_RETURN" target="_top"><xfont size="+1"><tt>FX_KEYPRESS_RETURN</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/media/AudioManager.html#FX_KEYPRESS_RETURN" target="_top"><code>FX_KEYPRESS_RETURN</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.AudioManager.FX_KEYPRESS_SPACEBAR"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/media/AudioManager.html#FX_KEYPRESS_SPACEBAR" target="_top"><xfont size="+1"><tt>FX_KEYPRESS_SPACEBAR</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/media/AudioManager.html#FX_KEYPRESS_SPACEBAR" target="_top"><code>FX_KEYPRESS_SPACEBAR</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.AudioManager.FX_KEYPRESS_STANDARD"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/media/AudioManager.html#FX_KEYPRESS_STANDARD" target="_top"><xfont size="+1"><tt>FX_KEYPRESS_STANDARD</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/media/AudioManager.html#FX_KEYPRESS_STANDARD" target="_top"><code>FX_KEYPRESS_STANDARD</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.AudioManager.ROUTE_BLUETOOTH_A2DP"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/media/AudioManager.html#ROUTE_BLUETOOTH_A2DP" target="_top"><xfont size="+1"><tt>ROUTE_BLUETOOTH_A2DP</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/media/AudioManager.html#ROUTE_BLUETOOTH_A2DP" target="_top"><code>ROUTE_BLUETOOTH_A2DP</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.AudioManager.ROUTE_BLUETOOTH_SCO"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/media/AudioManager.html#ROUTE_BLUETOOTH_SCO" target="_top"><xfont size="+1"><tt>ROUTE_BLUETOOTH_SCO</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/media/AudioManager.html#ROUTE_BLUETOOTH_SCO" target="_top"><code>ROUTE_BLUETOOTH_SCO</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.AudioManager.STREAM_NOTIFICATION"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/media/AudioManager.html#STREAM_NOTIFICATION" target="_top"><xfont size="+1"><tt>STREAM_NOTIFICATION</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/media/AudioManager.html#STREAM_NOTIFICATION" target="_top"><code>STREAM_NOTIFICATION</code></A></nobr> </TD> <TD> </TD> </TR> @@ -179,7 +178,7 @@ Class android.media.<A HREF="../../../../reference/android/media/AudioManager.ht <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.AudioManager.NUM_STREAMS"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/media/AudioManager.html#NUM_STREAMS" target="_top"><xfont size="+1"><tt>NUM_STREAMS</tt></font></A></nobr> </TD> + <nobr><code>int</code> <A HREF="../../../../reference/android/media/AudioManager.html#NUM_STREAMS" target="_top"><code>NUM_STREAMS</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -188,7 +187,7 @@ Class android.media.<A HREF="../../../../reference/android/media/AudioManager.ht <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.AudioManager.ROUTE_BLUETOOTH"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/media/AudioManager.html#ROUTE_BLUETOOTH" target="_top"><xfont size="+1"><tt>ROUTE_BLUETOOTH</tt></font></A></nobr> </TD> + <nobr><code>int</code> <A HREF="../../../../reference/android/media/AudioManager.html#ROUTE_BLUETOOTH" target="_top"><code>ROUTE_BLUETOOTH</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> diff --git a/docs/html/sdk/api_diff/3/changes/android.media.MediaPlayer.html b/docs/html/sdk/api_diff/3/changes/android.media.MediaPlayer.html index 7704e1232ee8e46c592a75f2235aee8b8fc080be..f3e24db7ec950680ec4707bdea2ad09b2f68c2d9 100644 --- a/docs/html/sdk/api_diff/3/changes/android.media.MediaPlayer.html +++ b/docs/html/sdk/api_diff/3/changes/android.media.MediaPlayer.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.media.<A HREF="../../../../reference/android/media/MediaPlayer.html" target="_top"><font size="+3"><tt>MediaPlayer</tt></font></A> +Class android.media.<A HREF="../../../../reference/android/media/MediaPlayer.html" target="_top"><font size="+2"><code>MediaPlayer</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,21 +84,21 @@ Class android.media.<A HREF="../../../../reference/android/media/MediaPlayer.htm <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.MediaPlayer.isLooping_added()"></A> - <nobr><code>boolean</code> <A HREF="../../../../reference/android/media/MediaPlayer.html#isLooping()" target="_top"><xfont size="+1"><tt>isLooping</tt></font></A>()</nobr> + <nobr><code>boolean</code> <A HREF="../../../../reference/android/media/MediaPlayer.html#isLooping()" target="_top"><code>isLooping</code></A>()</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.MediaPlayer.setOnInfoListener_added(android.media.MediaPlayer.OnInfoListener)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/media/MediaPlayer.html#setOnInfoListener(android.media.MediaPlayer.OnInfoListener)" target="_top"><xfont size="+1"><tt>setOnInfoListener</tt></font></A>(<code>OnInfoListener</code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/media/MediaPlayer.html#setOnInfoListener(android.media.MediaPlayer.OnInfoListener)" target="_top"><code>setOnInfoListener</code></A>(<code>OnInfoListener</code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.MediaPlayer.setOnVideoSizeChangedListener_added(android.media.MediaPlayer.OnVideoSizeChangedListener)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/media/MediaPlayer.html#setOnVideoSizeChangedListener(android.media.MediaPlayer.OnVideoSizeChangedListener)" target="_top"><xfont size="+1"><tt>setOnVideoSizeChangedListener</tt></font></A>(<code>OnVideoSizeChangedListener</code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/media/MediaPlayer.html#setOnVideoSizeChangedListener(android.media.MediaPlayer.OnVideoSizeChangedListener)" target="_top"><code>setOnVideoSizeChangedListener</code></A>(<code>OnVideoSizeChangedListener</code>)</nobr> </TD> <TD> </TD> </TR> @@ -115,35 +114,35 @@ Class android.media.<A HREF="../../../../reference/android/media/MediaPlayer.htm <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.MediaPlayer.MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/media/MediaPlayer.html#MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK" target="_top"><xfont size="+1"><tt>MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/media/MediaPlayer.html#MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK" target="_top"><code>MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.MediaPlayer.MEDIA_INFO_BAD_INTERLEAVING"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/media/MediaPlayer.html#MEDIA_INFO_BAD_INTERLEAVING" target="_top"><xfont size="+1"><tt>MEDIA_INFO_BAD_INTERLEAVING</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/media/MediaPlayer.html#MEDIA_INFO_BAD_INTERLEAVING" target="_top"><code>MEDIA_INFO_BAD_INTERLEAVING</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.MediaPlayer.MEDIA_INFO_NOT_SEEKABLE"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/media/MediaPlayer.html#MEDIA_INFO_NOT_SEEKABLE" target="_top"><xfont size="+1"><tt>MEDIA_INFO_NOT_SEEKABLE</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/media/MediaPlayer.html#MEDIA_INFO_NOT_SEEKABLE" target="_top"><code>MEDIA_INFO_NOT_SEEKABLE</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.MediaPlayer.MEDIA_INFO_UNKNOWN"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/media/MediaPlayer.html#MEDIA_INFO_UNKNOWN" target="_top"><xfont size="+1"><tt>MEDIA_INFO_UNKNOWN</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/media/MediaPlayer.html#MEDIA_INFO_UNKNOWN" target="_top"><code>MEDIA_INFO_UNKNOWN</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.MediaPlayer.MEDIA_INFO_VIDEO_TRACK_LAGGING"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/media/MediaPlayer.html#MEDIA_INFO_VIDEO_TRACK_LAGGING" target="_top"><xfont size="+1"><tt>MEDIA_INFO_VIDEO_TRACK_LAGGING</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/media/MediaPlayer.html#MEDIA_INFO_VIDEO_TRACK_LAGGING" target="_top"><code>MEDIA_INFO_VIDEO_TRACK_LAGGING</code></A></nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.media.MediaRecorder.OutputFormat.html b/docs/html/sdk/api_diff/3/changes/android.media.MediaRecorder.OutputFormat.html index 0967c567c7f4b3e5ffa564ff8463995049a35fee..d6340c165703c26c06e525f3c8def3bb8b71eb6b 100644 --- a/docs/html/sdk/api_diff/3/changes/android.media.MediaRecorder.OutputFormat.html +++ b/docs/html/sdk/api_diff/3/changes/android.media.MediaRecorder.OutputFormat.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.media.<A HREF="../../../../reference/android/media/MediaRecorder.OutputFormat.html" target="_top"><font size="+3"><tt>MediaRecorder.OutputFormat</tt></font></A> +Class android.media.<A HREF="../../../../reference/android/media/MediaRecorder.OutputFormat.html" target="_top"><font size="+2"><code>MediaRecorder.OutputFormat</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -86,7 +85,7 @@ Class android.media.<A HREF="../../../../reference/android/media/MediaRecorder.O <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.MediaRecorder.OutputFormat.RAW_AMR"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/media/MediaRecorder.OutputFormat.html#RAW_AMR" target="_top"><xfont size="+1"><tt>RAW_AMR</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/media/MediaRecorder.OutputFormat.html#RAW_AMR" target="_top"><code>RAW_AMR</code></A></nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.media.MediaRecorder.html b/docs/html/sdk/api_diff/3/changes/android.media.MediaRecorder.html index 9daf4c350aaa3b23a0edecc7189982084c655539..ff464811551e0127e98e7b230b0fa48ade2d339c 100644 --- a/docs/html/sdk/api_diff/3/changes/android.media.MediaRecorder.html +++ b/docs/html/sdk/api_diff/3/changes/android.media.MediaRecorder.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.media.<A HREF="../../../../reference/android/media/MediaRecorder.html" target="_top"><font size="+3"><tt>MediaRecorder</tt></font></A> +Class android.media.<A HREF="../../../../reference/android/media/MediaRecorder.html" target="_top"><font size="+2"><code>MediaRecorder</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,70 +84,70 @@ Class android.media.<A HREF="../../../../reference/android/media/MediaRecorder.h <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.MediaRecorder.setCamera_added(android.hardware.Camera)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/media/MediaRecorder.html#setCamera(android.hardware.Camera)" target="_top"><xfont size="+1"><tt>setCamera</tt></font></A>(<code>Camera</code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/media/MediaRecorder.html#setCamera(android.hardware.Camera)" target="_top"><code>setCamera</code></A>(<code>Camera</code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.MediaRecorder.setMaxDuration_added(int)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/media/MediaRecorder.html#setMaxDuration(int)" target="_top"><xfont size="+1"><tt>setMaxDuration</tt></font></A>(<code>int</code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/media/MediaRecorder.html#setMaxDuration(int)" target="_top"><code>setMaxDuration</code></A>(<code>int</code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.MediaRecorder.setMaxFileSize_added(long)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/media/MediaRecorder.html#setMaxFileSize(long)" target="_top"><xfont size="+1"><tt>setMaxFileSize</tt></font></A>(<code>long</code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/media/MediaRecorder.html#setMaxFileSize(long)" target="_top"><code>setMaxFileSize</code></A>(<code>long</code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.MediaRecorder.setOnErrorListener_added(android.media.MediaRecorder.OnErrorListener)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/media/MediaRecorder.html#setOnErrorListener(android.media.MediaRecorder.OnErrorListener)" target="_top"><xfont size="+1"><tt>setOnErrorListener</tt></font></A>(<code>OnErrorListener</code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/media/MediaRecorder.html#setOnErrorListener(android.media.MediaRecorder.OnErrorListener)" target="_top"><code>setOnErrorListener</code></A>(<code>OnErrorListener</code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.MediaRecorder.setOnInfoListener_added(android.media.MediaRecorder.OnInfoListener)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/media/MediaRecorder.html#setOnInfoListener(android.media.MediaRecorder.OnInfoListener)" target="_top"><xfont size="+1"><tt>setOnInfoListener</tt></font></A>(<code>OnInfoListener</code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/media/MediaRecorder.html#setOnInfoListener(android.media.MediaRecorder.OnInfoListener)" target="_top"><code>setOnInfoListener</code></A>(<code>OnInfoListener</code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.MediaRecorder.setOutputFile_added(java.io.FileDescriptor)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/media/MediaRecorder.html#setOutputFile(java.io.FileDescriptor)" target="_top"><xfont size="+1"><tt>setOutputFile</tt></font></A>(<code>FileDescriptor</code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/media/MediaRecorder.html#setOutputFile(java.io.FileDescriptor)" target="_top"><code>setOutputFile</code></A>(<code>FileDescriptor</code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.MediaRecorder.setVideoEncoder_added(int)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/media/MediaRecorder.html#setVideoEncoder(int)" target="_top"><xfont size="+1"><tt>setVideoEncoder</tt></font></A>(<code>int</code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/media/MediaRecorder.html#setVideoEncoder(int)" target="_top"><code>setVideoEncoder</code></A>(<code>int</code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.MediaRecorder.setVideoFrameRate_added(int)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/media/MediaRecorder.html#setVideoFrameRate(int)" target="_top"><xfont size="+1"><tt>setVideoFrameRate</tt></font></A>(<code>int</code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/media/MediaRecorder.html#setVideoFrameRate(int)" target="_top"><code>setVideoFrameRate</code></A>(<code>int</code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.MediaRecorder.setVideoSize_added(int, int)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/media/MediaRecorder.html#setVideoSize(int, int)" target="_top"><xfont size="+1"><tt>setVideoSize</tt></font></A>(<code>int,</nobr> int<nobr><nobr></code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/media/MediaRecorder.html#setVideoSize(int, int)" target="_top"><code>setVideoSize</code></A>(<code>int,</nobr> int<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.MediaRecorder.setVideoSource_added(int)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/media/MediaRecorder.html#setVideoSource(int)" target="_top"><xfont size="+1"><tt>setVideoSource</tt></font></A>(<code>int</code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/media/MediaRecorder.html#setVideoSource(int)" target="_top"><code>setVideoSource</code></A>(<code>int</code>)</nobr> </TD> <TD> </TD> </TR> @@ -163,7 +162,7 @@ Class android.media.<A HREF="../../../../reference/android/media/MediaRecorder.h <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.MediaRecorder.prepare_changed()"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/media/MediaRecorder.html#prepare()" target="_top"><xfont size="+1"><tt>prepare</tt></font></A>() </nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/media/MediaRecorder.html#prepare()" target="_top"><code>prepare</code></A>() </nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> Change in exceptions thrown from <code>java.lang.IllegalStateException</code> to (<code>java.io.IOException, java.lang.IllegalStateException</code>).<br> @@ -182,28 +181,28 @@ Change in exceptions thrown from <code>java.lang.IllegalStateException</code> to <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.MediaRecorder.MEDIA_RECORDER_ERROR_UNKNOWN"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/media/MediaRecorder.html#MEDIA_RECORDER_ERROR_UNKNOWN" target="_top"><xfont size="+1"><tt>MEDIA_RECORDER_ERROR_UNKNOWN</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/media/MediaRecorder.html#MEDIA_RECORDER_ERROR_UNKNOWN" target="_top"><code>MEDIA_RECORDER_ERROR_UNKNOWN</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.MediaRecorder.MEDIA_RECORDER_INFO_MAX_DURATION_REACHED"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/media/MediaRecorder.html#MEDIA_RECORDER_INFO_MAX_DURATION_REACHED" target="_top"><xfont size="+1"><tt>MEDIA_RECORDER_INFO_MAX_DURATION_REACHED</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/media/MediaRecorder.html#MEDIA_RECORDER_INFO_MAX_DURATION_REACHED" target="_top"><code>MEDIA_RECORDER_INFO_MAX_DURATION_REACHED</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.MediaRecorder.MEDIA_RECORDER_INFO_MAX_FILESIZE_REACHED"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/media/MediaRecorder.html#MEDIA_RECORDER_INFO_MAX_FILESIZE_REACHED" target="_top"><xfont size="+1"><tt>MEDIA_RECORDER_INFO_MAX_FILESIZE_REACHED</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/media/MediaRecorder.html#MEDIA_RECORDER_INFO_MAX_FILESIZE_REACHED" target="_top"><code>MEDIA_RECORDER_INFO_MAX_FILESIZE_REACHED</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.MediaRecorder.MEDIA_RECORDER_INFO_UNKNOWN"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/media/MediaRecorder.html#MEDIA_RECORDER_INFO_UNKNOWN" target="_top"><xfont size="+1"><tt>MEDIA_RECORDER_INFO_UNKNOWN</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/media/MediaRecorder.html#MEDIA_RECORDER_INFO_UNKNOWN" target="_top"><code>MEDIA_RECORDER_INFO_UNKNOWN</code></A></nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.media.RingtoneManager.html b/docs/html/sdk/api_diff/3/changes/android.media.RingtoneManager.html index e9fdbfc24b04d725358770d49d9e88d8688cc017..a4f729a1f4a9a5ec753c77ed11784420bce9ec5d 100644 --- a/docs/html/sdk/api_diff/3/changes/android.media.RingtoneManager.html +++ b/docs/html/sdk/api_diff/3/changes/android.media.RingtoneManager.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.media.<A HREF="../../../../reference/android/media/RingtoneManager.html" target="_top"><font size="+3"><tt>RingtoneManager</tt></font></A> +Class android.media.<A HREF="../../../../reference/android/media/RingtoneManager.html" target="_top"><font size="+2"><code>RingtoneManager</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,7 +84,7 @@ Class android.media.<A HREF="../../../../reference/android/media/RingtoneManager <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.RingtoneManager.inferStreamType_added()"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/media/RingtoneManager.html#inferStreamType()" target="_top"><xfont size="+1"><tt>inferStreamType</tt></font></A>()</nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/media/RingtoneManager.html#inferStreamType()" target="_top"><code>inferStreamType</code></A>()</nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.media.SoundPool.html b/docs/html/sdk/api_diff/3/changes/android.media.SoundPool.html index 6e765d837f78ca9956fd11e75a234978a9a3cb63..52f33011880bc0865421b79dc2be071b6613d104 100644 --- a/docs/html/sdk/api_diff/3/changes/android.media.SoundPool.html +++ b/docs/html/sdk/api_diff/3/changes/android.media.SoundPool.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.media.<A HREF="../../../../reference/android/media/SoundPool.html" target="_top"><font size="+3"><tt>SoundPool</tt></font></A> +Class android.media.<A HREF="../../../../reference/android/media/SoundPool.html" target="_top"><font size="+2"><code>SoundPool</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,14 +84,14 @@ Class android.media.<A HREF="../../../../reference/android/media/SoundPool.html" <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.SoundPool.load_added(android.content.res.AssetFileDescriptor, int)"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/media/SoundPool.html#load(android.content.res.AssetFileDescriptor, int)" target="_top"><xfont size="+1"><tt>load</tt></font></A>(<code>AssetFileDescriptor,</nobr> int<nobr><nobr></code>)</nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/media/SoundPool.html#load(android.content.res.AssetFileDescriptor, int)" target="_top"><code>load</code></A>(<code>AssetFileDescriptor,</nobr> int<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.media.SoundPool.load_added(java.io.FileDescriptor, long, long, int)"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/media/SoundPool.html#load(java.io.FileDescriptor, long, long, int)" target="_top"><xfont size="+1"><tt>load</tt></font></A>(<code>FileDescriptor,</nobr> long<nobr>,</nobr> long<nobr>,</nobr> int<nobr><nobr></code>)</nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/media/SoundPool.html#load(java.io.FileDescriptor, long, long, int)" target="_top"><code>load</code></A>(<code>FileDescriptor,</nobr> long<nobr>,</nobr> long<nobr>,</nobr> int<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.net.ConnectivityManager.html b/docs/html/sdk/api_diff/3/changes/android.net.ConnectivityManager.html index 7b0750e02f15f2e7586e6a1ea1146755c9d1b614..b78d6a0e9c26383ac3f95ce47aa3d97152dd5b5c 100644 --- a/docs/html/sdk/api_diff/3/changes/android.net.ConnectivityManager.html +++ b/docs/html/sdk/api_diff/3/changes/android.net.ConnectivityManager.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.net.<A HREF="../../../../reference/android/net/ConnectivityManager.html" target="_top"><font size="+3"><tt>ConnectivityManager</tt></font></A> +Class android.net.<A HREF="../../../../reference/android/net/ConnectivityManager.html" target="_top"><font size="+2"><code>ConnectivityManager</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,7 +84,7 @@ Class android.net.<A HREF="../../../../reference/android/net/ConnectivityManager <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.net.ConnectivityManager.getBackgroundDataSetting_added()"></A> - <nobr><code>boolean</code> <A HREF="../../../../reference/android/net/ConnectivityManager.html#getBackgroundDataSetting()" target="_top"><xfont size="+1"><tt>getBackgroundDataSetting</tt></font></A>()</nobr> + <nobr><code>boolean</code> <A HREF="../../../../reference/android/net/ConnectivityManager.html#getBackgroundDataSetting()" target="_top"><code>getBackgroundDataSetting</code></A>()</nobr> </TD> <TD> </TD> </TR> @@ -101,7 +100,7 @@ Class android.net.<A HREF="../../../../reference/android/net/ConnectivityManager <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.net.ConnectivityManager.ACTION_BACKGROUND_DATA_SETTING_CHANGED"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/net/ConnectivityManager.html#ACTION_BACKGROUND_DATA_SETTING_CHANGED" target="_top"><xfont size="+1"><tt>ACTION_BACKGROUND_DATA_SETTING_CHANGED</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/net/ConnectivityManager.html#ACTION_BACKGROUND_DATA_SETTING_CHANGED" target="_top"><code>ACTION_BACKGROUND_DATA_SETTING_CHANGED</code></A></nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.net.NetworkInfo.html b/docs/html/sdk/api_diff/3/changes/android.net.NetworkInfo.html index 6c3c26d2c4c426af3b0572a49074f0e0154b0bc7..1f3768ed964f126109f42566d1566ae41edfda3d 100644 --- a/docs/html/sdk/api_diff/3/changes/android.net.NetworkInfo.html +++ b/docs/html/sdk/api_diff/3/changes/android.net.NetworkInfo.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.net.<A HREF="../../../../reference/android/net/NetworkInfo.html" target="_top"><font size="+3"><tt>NetworkInfo</tt></font></A> +Class android.net.<A HREF="../../../../reference/android/net/NetworkInfo.html" target="_top"><font size="+2"><code>NetworkInfo</code></font></A> </H2> <a NAME="constructors"></a> <p> @@ -100,21 +99,21 @@ Class android.net.<A HREF="../../../../reference/android/net/NetworkInfo.html" t <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.net.NetworkInfo.getSubtype_added()"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/net/NetworkInfo.html#getSubtype()" target="_top"><xfont size="+1"><tt>getSubtype</tt></font></A>()</nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/net/NetworkInfo.html#getSubtype()" target="_top"><code>getSubtype</code></A>()</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.net.NetworkInfo.getSubtypeName_added()"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/net/NetworkInfo.html#getSubtypeName()" target="_top"><xfont size="+1"><tt>getSubtypeName</tt></font></A>()</nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/net/NetworkInfo.html#getSubtypeName()" target="_top"><code>getSubtypeName</code></A>()</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.net.NetworkInfo.isRoaming_added()"></A> - <nobr><code>boolean</code> <A HREF="../../../../reference/android/net/NetworkInfo.html#isRoaming()" target="_top"><xfont size="+1"><tt>isRoaming</tt></font></A>()</nobr> + <nobr><code>boolean</code> <A HREF="../../../../reference/android/net/NetworkInfo.html#isRoaming()" target="_top"><code>isRoaming</code></A>()</nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.net.wifi.WifiManager.html b/docs/html/sdk/api_diff/3/changes/android.net.wifi.WifiManager.html index 2e79642e7662267920adc75446445afaa1e71c76..4fd3f6e36f3ea654d6f475883f657b18f86b236a 100644 --- a/docs/html/sdk/api_diff/3/changes/android.net.wifi.WifiManager.html +++ b/docs/html/sdk/api_diff/3/changes/android.net.wifi.WifiManager.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.net.wifi.<A HREF="../../../../reference/android/net/wifi/WifiManager.html" target="_top"><font size="+3"><tt>WifiManager</tt></font></A> +Class android.net.wifi.<A HREF="../../../../reference/android/net/wifi/WifiManager.html" target="_top"><font size="+2"><code>WifiManager</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,7 +84,7 @@ Class android.net.wifi.<A HREF="../../../../reference/android/net/wifi/WifiManag <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.net.wifi.WifiManager.createWifiLock_added(int, java.lang.String)"></A> - <nobr><code>WifiLock</code> <A HREF="../../../../reference/android/net/wifi/WifiManager.html#createWifiLock(int, java.lang.String)" target="_top"><xfont size="+1"><tt>createWifiLock</tt></font></A>(<code>int,</nobr> String<nobr><nobr></code>)</nobr> + <nobr><code>WifiLock</code> <A HREF="../../../../reference/android/net/wifi/WifiManager.html#createWifiLock(int, java.lang.String)" target="_top"><code>createWifiLock</code></A>(<code>int,</nobr> String<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> @@ -101,14 +100,14 @@ Class android.net.wifi.<A HREF="../../../../reference/android/net/wifi/WifiManag <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.net.wifi.WifiManager.WIFI_MODE_FULL"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/net/wifi/WifiManager.html#WIFI_MODE_FULL" target="_top"><xfont size="+1"><tt>WIFI_MODE_FULL</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/net/wifi/WifiManager.html#WIFI_MODE_FULL" target="_top"><code>WIFI_MODE_FULL</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.net.wifi.WifiManager.WIFI_MODE_SCAN_ONLY"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/net/wifi/WifiManager.html#WIFI_MODE_SCAN_ONLY" target="_top"><xfont size="+1"><tt>WIFI_MODE_SCAN_ONLY</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/net/wifi/WifiManager.html#WIFI_MODE_SCAN_ONLY" target="_top"><code>WIFI_MODE_SCAN_ONLY</code></A></nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.os.Binder.html b/docs/html/sdk/api_diff/3/changes/android.os.Binder.html index 882803adaf42ad294af320e3ff1283f5ca926598..9fec6a46a3286c2b10f2aff4fd28ede2d14e12e4 100644 --- a/docs/html/sdk/api_diff/3/changes/android.os.Binder.html +++ b/docs/html/sdk/api_diff/3/changes/android.os.Binder.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.os.<A HREF="../../../../reference/android/os/Binder.html" target="_top"><font size="+3"><tt>Binder</tt></font></A> +Class android.os.<A HREF="../../../../reference/android/os/Binder.html" target="_top"><font size="+2"><code>Binder</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,7 +84,7 @@ Class android.os.<A HREF="../../../../reference/android/os/Binder.html" target=" <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.os.Binder.dump_added(java.io.FileDescriptor, java.lang.String[])"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/os/Binder.html#dump(java.io.FileDescriptor, java.lang.String[])" target="_top"><xfont size="+1"><tt>dump</tt></font></A>(<code>FileDescriptor,</nobr> String[]<nobr><nobr></code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/os/Binder.html#dump(java.io.FileDescriptor, java.lang.String[])" target="_top"><code>dump</code></A>(<code>FileDescriptor,</nobr> String[]<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.os.Build.html b/docs/html/sdk/api_diff/3/changes/android.os.Build.html index 2a69a8c7c204c15ac108129dbf11044b30839160..cf738eb760fb60a937ef6e8c143409b8a1a05c8f 100644 --- a/docs/html/sdk/api_diff/3/changes/android.os.Build.html +++ b/docs/html/sdk/api_diff/3/changes/android.os.Build.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.os.<A HREF="../../../../reference/android/os/Build.html" target="_top"><font size="+3"><tt>Build</tt></font></A> +Class android.os.<A HREF="../../../../reference/android/os/Build.html" target="_top"><font size="+2"><code>Build</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -86,7 +85,7 @@ Class android.os.<A HREF="../../../../reference/android/os/Build.html" target="_ <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.os.Build.DISPLAY"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/os/Build.html#DISPLAY" target="_top"><xfont size="+1"><tt>DISPLAY</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/os/Build.html#DISPLAY" target="_top"><code>DISPLAY</code></A></nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.os.Debug.html b/docs/html/sdk/api_diff/3/changes/android.os.Debug.html index 8e7e2db3eef8db20713fcdc074326490e32eb654..c2aead7b6515bf8bfec943a6f0fd5529317ac5d9 100644 --- a/docs/html/sdk/api_diff/3/changes/android.os.Debug.html +++ b/docs/html/sdk/api_diff/3/changes/android.os.Debug.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.os.<A HREF="../../../../reference/android/os/Debug.html" target="_top"><font size="+3"><tt>Debug</tt></font></A> +Class android.os.<A HREF="../../../../reference/android/os/Debug.html" target="_top"><font size="+2"><code>Debug</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,7 +84,7 @@ Class android.os.<A HREF="../../../../reference/android/os/Debug.html" target="_ <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.os.Debug.dumpHprofData_added(java.lang.String)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/os/Debug.html#dumpHprofData(java.lang.String)" target="_top"><xfont size="+1"><tt>dumpHprofData</tt></font></A>(<code>String</code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/os/Debug.html#dumpHprofData(java.lang.String)" target="_top"><code>dumpHprofData</code></A>(<code>String</code>)</nobr> </TD> <TD> </TD> </TR> @@ -100,7 +99,7 @@ Class android.os.<A HREF="../../../../reference/android/os/Debug.html" target="_ <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.os.Debug.changeDebugPort_changed(int)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/os/Debug.html#changeDebugPort(int)" target="_top"><xfont size="+1"><tt>changeDebugPort</tt></font></A>(<code>int</code>) </nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/os/Debug.html#changeDebugPort(int)" target="_top"><code>changeDebugPort</code></A>(<code>int</code>) </nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> diff --git a/docs/html/sdk/api_diff/3/changes/android.os.Environment.html b/docs/html/sdk/api_diff/3/changes/android.os.Environment.html index 4cc764375c6416e56d9710b604fd2b9cb14a96ee..115102177e95415f317cc01f418f8cf2b3771f95 100644 --- a/docs/html/sdk/api_diff/3/changes/android.os.Environment.html +++ b/docs/html/sdk/api_diff/3/changes/android.os.Environment.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.os.<A HREF="../../../../reference/android/os/Environment.html" target="_top"><font size="+3"><tt>Environment</tt></font></A> +Class android.os.<A HREF="../../../../reference/android/os/Environment.html" target="_top"><font size="+2"><code>Environment</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -86,14 +85,14 @@ Class android.os.<A HREF="../../../../reference/android/os/Environment.html" tar <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.os.Environment.MEDIA_CHECKING"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/os/Environment.html#MEDIA_CHECKING" target="_top"><xfont size="+1"><tt>MEDIA_CHECKING</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/os/Environment.html#MEDIA_CHECKING" target="_top"><code>MEDIA_CHECKING</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.os.Environment.MEDIA_NOFS"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/os/Environment.html#MEDIA_NOFS" target="_top"><xfont size="+1"><tt>MEDIA_NOFS</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/os/Environment.html#MEDIA_NOFS" target="_top"><code>MEDIA_NOFS</code></A></nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.os.Handler.html b/docs/html/sdk/api_diff/3/changes/android.os.Handler.html index fc10c9b29cd1a92d80e0ddf2c63d4451ed9303d3..dcc1da8ba03eaa04a6561e72cdbe23c2948baac4 100644 --- a/docs/html/sdk/api_diff/3/changes/android.os.Handler.html +++ b/docs/html/sdk/api_diff/3/changes/android.os.Handler.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.os.<A HREF="../../../../reference/android/os/Handler.html" target="_top"><font size="+3"><tt>Handler</tt></font></A> +Class android.os.<A HREF="../../../../reference/android/os/Handler.html" target="_top"><font size="+2"><code>Handler</code></font></A> </H2> <a NAME="constructors"></a> <p> @@ -84,14 +83,14 @@ Class android.os.<A HREF="../../../../reference/android/os/Handler.html" target= <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.os.Handler.ctor_added(android.os.Handler.Callback)"></A> - <nobr><A HREF="../../../../reference/android/os/Handler.html#Handler(android.os.Handler.Callback)" target="_top"><xfont size="+1"><tt>Handler</tt></font></A>(<code>Callback</code>)</nobr> + <nobr><A HREF="../../../../reference/android/os/Handler.html#Handler(android.os.Handler.Callback)" target="_top"><code>Handler</code></A>(<code>Callback</code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.os.Handler.ctor_added(android.os.Looper, android.os.Handler.Callback)"></A> - <nobr><A HREF="../../../../reference/android/os/Handler.html#Handler(android.os.Looper, android.os.Handler.Callback)" target="_top"><xfont size="+1"><tt>Handler</tt></font></A>(<code>Looper,</nobr> Callback<nobr><nobr></code>)</nobr> + <nobr><A HREF="../../../../reference/android/os/Handler.html#Handler(android.os.Looper, android.os.Handler.Callback)" target="_top"><code>Handler</code></A>(<code>Looper,</nobr> Callback<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.os.IBinder.html b/docs/html/sdk/api_diff/3/changes/android.os.IBinder.html index 95745dc7d4a345719542a0a44e5e4042d8808e4e..1328f2661d8b85b3f69c790308ab1f9a6c6d9bab 100644 --- a/docs/html/sdk/api_diff/3/changes/android.os.IBinder.html +++ b/docs/html/sdk/api_diff/3/changes/android.os.IBinder.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Interface android.os.<A HREF="../../../../reference/android/os/IBinder.html" target="_top"><font size="+3"><tt>IBinder</tt></font></A> +Interface android.os.<A HREF="../../../../reference/android/os/IBinder.html" target="_top"><font size="+2"><code>IBinder</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,7 +84,7 @@ Interface android.os.<A HREF="../../../../reference/android/os/IBinder.html" tar <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.os.IBinder.dump_added(java.io.FileDescriptor, java.lang.String[])"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/os/IBinder.html#dump(java.io.FileDescriptor, java.lang.String[])" target="_top"><xfont size="+1"><tt>dump</tt></font></A>(<code>FileDescriptor,</nobr> String[]<nobr><nobr></code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/os/IBinder.html#dump(java.io.FileDescriptor, java.lang.String[])" target="_top"><code>dump</code></A>(<code>FileDescriptor,</nobr> String[]<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.os.Looper.html b/docs/html/sdk/api_diff/3/changes/android.os.Looper.html index d79ae756786f49bbb5b1dfe228bf6b7de0342234..9910373a8adc2ddbe5a7f1e789a3edfdf5725189 100644 --- a/docs/html/sdk/api_diff/3/changes/android.os.Looper.html +++ b/docs/html/sdk/api_diff/3/changes/android.os.Looper.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.os.<A HREF="../../../../reference/android/os/Looper.html" target="_top"><font size="+3"><tt>Looper</tt></font></A> +Class android.os.<A HREF="../../../../reference/android/os/Looper.html" target="_top"><font size="+2"><code>Looper</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,7 +84,7 @@ Class android.os.<A HREF="../../../../reference/android/os/Looper.html" target=" <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.os.Looper.getThread_added()"></A> - <nobr><code>Thread</code> <A HREF="../../../../reference/android/os/Looper.html#getThread()" target="_top"><xfont size="+1"><tt>getThread</tt></font></A>()</nobr> + <nobr><code>Thread</code> <A HREF="../../../../reference/android/os/Looper.html#getThread()" target="_top"><code>getThread</code></A>()</nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.os.Parcel.html b/docs/html/sdk/api_diff/3/changes/android.os.Parcel.html index 317b722d9f0f350c5e10264e4bfe8ad3627a4f74..70eb25d8016e5e7f7e1ca4d70d678303161bcc46 100644 --- a/docs/html/sdk/api_diff/3/changes/android.os.Parcel.html +++ b/docs/html/sdk/api_diff/3/changes/android.os.Parcel.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.os.<A HREF="../../../../reference/android/os/Parcel.html" target="_top"><font size="+3"><tt>Parcel</tt></font></A> +Class android.os.<A HREF="../../../../reference/android/os/Parcel.html" target="_top"><font size="+2"><code>Parcel</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,7 +84,7 @@ Class android.os.<A HREF="../../../../reference/android/os/Parcel.html" target=" <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.os.Parcel.readHashMap_changed(java.lang.ClassLoader)"></A> - <nobr><code>HashMap</code> <A HREF="../../../../reference/android/os/Parcel.html#readHashMap(java.lang.ClassLoader)" target="_top"><xfont size="+1"><tt>readHashMap</tt></font></A>(<code>ClassLoader</code>) </nobr> + <nobr><code>HashMap</code> <A HREF="../../../../reference/android/os/Parcel.html#readHashMap(java.lang.ClassLoader)" target="_top"><code>readHashMap</code></A>(<code>ClassLoader</code>) </nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> Change from deprecated to undeprecated.<br> @@ -95,7 +94,7 @@ Change from deprecated to undeprecated.<br> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.os.Parcel.readMap_changed(java.util.Map, java.lang.ClassLoader)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/os/Parcel.html#readMap(java.util.Map, java.lang.ClassLoader)" target="_top"><xfont size="+1"><tt>readMap</tt></font></A>(<code>Map,</nobr> ClassLoader<nobr><nobr></code>) </nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/os/Parcel.html#readMap(java.util.Map, java.lang.ClassLoader)" target="_top"><code>readMap</code></A>(<code>Map,</nobr> ClassLoader<nobr><nobr></code>) </nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> Change from deprecated to undeprecated.<br> @@ -105,7 +104,7 @@ Change from deprecated to undeprecated.<br> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.os.Parcel.writeMap_changed(java.util.Map)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/os/Parcel.html#writeMap(java.util.Map)" target="_top"><xfont size="+1"><tt>writeMap</tt></font></A>(<code>Map</code>) </nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/os/Parcel.html#writeMap(java.util.Map)" target="_top"><code>writeMap</code></A>(<code>Map</code>) </nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> Change from deprecated to undeprecated.<br> diff --git a/docs/html/sdk/api_diff/3/changes/android.os.ParcelFileDescriptor.html b/docs/html/sdk/api_diff/3/changes/android.os.ParcelFileDescriptor.html index 77641d54c4dd1ce2ecc745fafaaf65f6851ffb8f..605c019857f828736b5aabcee9d55853e13187fe 100644 --- a/docs/html/sdk/api_diff/3/changes/android.os.ParcelFileDescriptor.html +++ b/docs/html/sdk/api_diff/3/changes/android.os.ParcelFileDescriptor.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.os.<A HREF="../../../../reference/android/os/ParcelFileDescriptor.html" target="_top"><font size="+3"><tt>ParcelFileDescriptor</tt></font></A> +Class android.os.<A HREF="../../../../reference/android/os/ParcelFileDescriptor.html" target="_top"><font size="+2"><code>ParcelFileDescriptor</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,7 +84,7 @@ Class android.os.<A HREF="../../../../reference/android/os/ParcelFileDescriptor. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.os.ParcelFileDescriptor.getStatSize_added()"></A> - <nobr><code>long</code> <A HREF="../../../../reference/android/os/ParcelFileDescriptor.html#getStatSize()" target="_top"><xfont size="+1"><tt>getStatSize</tt></font></A>()</nobr> + <nobr><code>long</code> <A HREF="../../../../reference/android/os/ParcelFileDescriptor.html#getStatSize()" target="_top"><code>getStatSize</code></A>()</nobr> </TD> <TD> </TD> </TR> @@ -101,7 +100,7 @@ Class android.os.<A HREF="../../../../reference/android/os/ParcelFileDescriptor. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.os.ParcelFileDescriptor.MODE_APPEND"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/os/ParcelFileDescriptor.html#MODE_APPEND" target="_top"><xfont size="+1"><tt>MODE_APPEND</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/os/ParcelFileDescriptor.html#MODE_APPEND" target="_top"><code>MODE_APPEND</code></A></nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.preference.DialogPreference.html b/docs/html/sdk/api_diff/3/changes/android.preference.DialogPreference.html index 93e05e7c6320ab4fc5e6e9dc6fb5bd7e4bbe866b..7acc308919b4357d149336320ece9426e7e76908 100644 --- a/docs/html/sdk/api_diff/3/changes/android.preference.DialogPreference.html +++ b/docs/html/sdk/api_diff/3/changes/android.preference.DialogPreference.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.preference.<A HREF="../../../../reference/android/preference/DialogPreference.html" target="_top"><font size="+3"><tt>DialogPreference</tt></font></A> +Class android.preference.<A HREF="../../../../reference/android/preference/DialogPreference.html" target="_top"><font size="+2"><code>DialogPreference</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,7 +84,7 @@ Class android.preference.<A HREF="../../../../reference/android/preference/Dialo <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.preference.DialogPreference.getDialog_added()"></A> - <nobr><code>Dialog</code> <A HREF="../../../../reference/android/preference/DialogPreference.html#getDialog()" target="_top"><xfont size="+1"><tt>getDialog</tt></font></A>()</nobr> + <nobr><code>Dialog</code> <A HREF="../../../../reference/android/preference/DialogPreference.html#getDialog()" target="_top"><code>getDialog</code></A>()</nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.provider.Browser.html b/docs/html/sdk/api_diff/3/changes/android.provider.Browser.html index 9a9a4b80ef09eba2025eb83792441f1eb74ee16b..110d28afe1bdeaeaed7ee504765af3c4a36d6402 100644 --- a/docs/html/sdk/api_diff/3/changes/android.provider.Browser.html +++ b/docs/html/sdk/api_diff/3/changes/android.provider.Browser.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.provider.<A HREF="../../../../reference/android/provider/Browser.html" target="_top"><font size="+3"><tt>Browser</tt></font></A> +Class android.provider.<A HREF="../../../../reference/android/provider/Browser.html" target="_top"><font size="+2"><code>Browser</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -86,7 +85,7 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Browser.h <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Browser.EXTRA_APPLICATION_ID"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Browser.html#EXTRA_APPLICATION_ID" target="_top"><xfont size="+1"><tt>EXTRA_APPLICATION_ID</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Browser.html#EXTRA_APPLICATION_ID" target="_top"><code>EXTRA_APPLICATION_ID</code></A></nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.provider.Contacts.Intents.Insert.html b/docs/html/sdk/api_diff/3/changes/android.provider.Contacts.Intents.Insert.html index 32541826a88813b4c4dcf3fbfbf654e691b0c2e6..0f2a63b1229473085e619b128413e2ad66a7c81a 100644 --- a/docs/html/sdk/api_diff/3/changes/android.provider.Contacts.Intents.Insert.html +++ b/docs/html/sdk/api_diff/3/changes/android.provider.Contacts.Intents.Insert.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.provider.<A HREF="../../../../reference/android/provider/Contacts.Intents.Insert.html" target="_top"><font size="+3"><tt>Contacts.Intents.Insert</tt></font></A> +Class android.provider.<A HREF="../../../../reference/android/provider/Contacts.Intents.Insert.html" target="_top"><font size="+2"><code>Contacts.Intents.Insert</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -86,63 +85,63 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Contacts. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Contacts.Intents.Insert.PHONETIC_NAME"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Contacts.Intents.Insert.html#PHONETIC_NAME" target="_top"><xfont size="+1"><tt>PHONETIC_NAME</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Contacts.Intents.Insert.html#PHONETIC_NAME" target="_top"><code>PHONETIC_NAME</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Contacts.Intents.Insert.SECONDARY_EMAIL"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Contacts.Intents.Insert.html#SECONDARY_EMAIL" target="_top"><xfont size="+1"><tt>SECONDARY_EMAIL</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Contacts.Intents.Insert.html#SECONDARY_EMAIL" target="_top"><code>SECONDARY_EMAIL</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Contacts.Intents.Insert.SECONDARY_EMAIL_TYPE"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Contacts.Intents.Insert.html#SECONDARY_EMAIL_TYPE" target="_top"><xfont size="+1"><tt>SECONDARY_EMAIL_TYPE</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Contacts.Intents.Insert.html#SECONDARY_EMAIL_TYPE" target="_top"><code>SECONDARY_EMAIL_TYPE</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Contacts.Intents.Insert.SECONDARY_PHONE"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Contacts.Intents.Insert.html#SECONDARY_PHONE" target="_top"><xfont size="+1"><tt>SECONDARY_PHONE</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Contacts.Intents.Insert.html#SECONDARY_PHONE" target="_top"><code>SECONDARY_PHONE</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Contacts.Intents.Insert.SECONDARY_PHONE_TYPE"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Contacts.Intents.Insert.html#SECONDARY_PHONE_TYPE" target="_top"><xfont size="+1"><tt>SECONDARY_PHONE_TYPE</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Contacts.Intents.Insert.html#SECONDARY_PHONE_TYPE" target="_top"><code>SECONDARY_PHONE_TYPE</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Contacts.Intents.Insert.TERTIARY_EMAIL"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Contacts.Intents.Insert.html#TERTIARY_EMAIL" target="_top"><xfont size="+1"><tt>TERTIARY_EMAIL</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Contacts.Intents.Insert.html#TERTIARY_EMAIL" target="_top"><code>TERTIARY_EMAIL</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Contacts.Intents.Insert.TERTIARY_EMAIL_TYPE"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Contacts.Intents.Insert.html#TERTIARY_EMAIL_TYPE" target="_top"><xfont size="+1"><tt>TERTIARY_EMAIL_TYPE</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Contacts.Intents.Insert.html#TERTIARY_EMAIL_TYPE" target="_top"><code>TERTIARY_EMAIL_TYPE</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Contacts.Intents.Insert.TERTIARY_PHONE"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Contacts.Intents.Insert.html#TERTIARY_PHONE" target="_top"><xfont size="+1"><tt>TERTIARY_PHONE</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Contacts.Intents.Insert.html#TERTIARY_PHONE" target="_top"><code>TERTIARY_PHONE</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Contacts.Intents.Insert.TERTIARY_PHONE_TYPE"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Contacts.Intents.Insert.html#TERTIARY_PHONE_TYPE" target="_top"><xfont size="+1"><tt>TERTIARY_PHONE_TYPE</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Contacts.Intents.Insert.html#TERTIARY_PHONE_TYPE" target="_top"><code>TERTIARY_PHONE_TYPE</code></A></nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.provider.Contacts.Intents.html b/docs/html/sdk/api_diff/3/changes/android.provider.Contacts.Intents.html index 1f758333c47ea19692611e0b180e9db40b18ba65..c2694d40537b3d03b8a2e42aa3e1a75e5b41915d 100644 --- a/docs/html/sdk/api_diff/3/changes/android.provider.Contacts.Intents.html +++ b/docs/html/sdk/api_diff/3/changes/android.provider.Contacts.Intents.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.provider.<A HREF="../../../../reference/android/provider/Contacts.Intents.html" target="_top"><font size="+3"><tt>Contacts.Intents</tt></font></A> +Class android.provider.<A HREF="../../../../reference/android/provider/Contacts.Intents.html" target="_top"><font size="+2"><code>Contacts.Intents</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -86,21 +85,21 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Contacts. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Contacts.Intents.EXTRA_CREATE_DESCRIPTION"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Contacts.Intents.html#EXTRA_CREATE_DESCRIPTION" target="_top"><xfont size="+1"><tt>EXTRA_CREATE_DESCRIPTION</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Contacts.Intents.html#EXTRA_CREATE_DESCRIPTION" target="_top"><code>EXTRA_CREATE_DESCRIPTION</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Contacts.Intents.EXTRA_FORCE_CREATE"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Contacts.Intents.html#EXTRA_FORCE_CREATE" target="_top"><xfont size="+1"><tt>EXTRA_FORCE_CREATE</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Contacts.Intents.html#EXTRA_FORCE_CREATE" target="_top"><code>EXTRA_FORCE_CREATE</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Contacts.Intents.SHOW_OR_CREATE_CONTACT"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Contacts.Intents.html#SHOW_OR_CREATE_CONTACT" target="_top"><xfont size="+1"><tt>SHOW_OR_CREATE_CONTACT</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Contacts.Intents.html#SHOW_OR_CREATE_CONTACT" target="_top"><code>SHOW_OR_CREATE_CONTACT</code></A></nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.provider.Contacts.PeopleColumns.html b/docs/html/sdk/api_diff/3/changes/android.provider.Contacts.PeopleColumns.html index e8c0f4d6d2c7cb110f9747124663d9ef4f532d2b..758917df36e3e29368a17e04fad4f08a1c9e4915 100644 --- a/docs/html/sdk/api_diff/3/changes/android.provider.Contacts.PeopleColumns.html +++ b/docs/html/sdk/api_diff/3/changes/android.provider.Contacts.PeopleColumns.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Interface android.provider.<A HREF="../../../../reference/android/provider/Contacts.PeopleColumns.html" target="_top"><font size="+3"><tt>Contacts.PeopleColumns</tt></font></A> +Interface android.provider.<A HREF="../../../../reference/android/provider/Contacts.PeopleColumns.html" target="_top"><font size="+2"><code>Contacts.PeopleColumns</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -86,7 +85,7 @@ Interface android.provider.<A HREF="../../../../reference/android/provider/Conta <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Contacts.PeopleColumns.PHONETIC_NAME"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Contacts.PeopleColumns.html#PHONETIC_NAME" target="_top"><xfont size="+1"><tt>PHONETIC_NAME</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Contacts.PeopleColumns.html#PHONETIC_NAME" target="_top"><code>PHONETIC_NAME</code></A></nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.provider.MediaStore.Audio.AlbumColumns.html b/docs/html/sdk/api_diff/3/changes/android.provider.MediaStore.Audio.AlbumColumns.html index ade1498b3082c5371e0be3fed54505523cec30c8..1b14ca53e3ea49dae792ebdd756ba909cf0f2213 100644 --- a/docs/html/sdk/api_diff/3/changes/android.provider.MediaStore.Audio.AlbumColumns.html +++ b/docs/html/sdk/api_diff/3/changes/android.provider.MediaStore.Audio.AlbumColumns.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Interface android.provider.<A HREF="../../../../reference/android/provider/MediaStore.Audio.AlbumColumns.html" target="_top"><font size="+3"><tt>MediaStore.Audio.AlbumColumns</tt></font></A> +Interface android.provider.<A HREF="../../../../reference/android/provider/MediaStore.Audio.AlbumColumns.html" target="_top"><font size="+2"><code>MediaStore.Audio.AlbumColumns</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -86,7 +85,7 @@ Interface android.provider.<A HREF="../../../../reference/android/provider/Media <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.MediaStore.Audio.AlbumColumns.NUMBER_OF_SONGS_FOR_ARTIST"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.Audio.AlbumColumns.html#NUMBER_OF_SONGS_FOR_ARTIST" target="_top"><xfont size="+1"><tt>NUMBER_OF_SONGS_FOR_ARTIST</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.Audio.AlbumColumns.html#NUMBER_OF_SONGS_FOR_ARTIST" target="_top"><code>NUMBER_OF_SONGS_FOR_ARTIST</code></A></nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.provider.MediaStore.Audio.Media.html b/docs/html/sdk/api_diff/3/changes/android.provider.MediaStore.Audio.Media.html index 52bae9d6f275aeb374f27eec3bfb2a76649bbaed..cecc4f60ed33f8db57f5bcd29373bf4e36153dc2 100644 --- a/docs/html/sdk/api_diff/3/changes/android.provider.MediaStore.Audio.Media.html +++ b/docs/html/sdk/api_diff/3/changes/android.provider.MediaStore.Audio.Media.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.provider.<A HREF="../../../../reference/android/provider/MediaStore.Audio.Media.html" target="_top"><font size="+3"><tt>MediaStore.Audio.Media</tt></font></A> +Class android.provider.<A HREF="../../../../reference/android/provider/MediaStore.Audio.Media.html" target="_top"><font size="+2"><code>MediaStore.Audio.Media</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -86,7 +85,7 @@ Class android.provider.<A HREF="../../../../reference/android/provider/MediaStor <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.MediaStore.Audio.Media.EXTRA_MAX_BYTES"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.Audio.Media.html#EXTRA_MAX_BYTES" target="_top"><xfont size="+1"><tt>EXTRA_MAX_BYTES</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.Audio.Media.html#EXTRA_MAX_BYTES" target="_top"><code>EXTRA_MAX_BYTES</code></A></nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.provider.MediaStore.Images.Media.html b/docs/html/sdk/api_diff/3/changes/android.provider.MediaStore.Images.Media.html index b375c3f9959fee75b0ef3f20e612a2beedc9c5fd..7eb4f8f5ac6ff31d34e2e4735361801448467c84 100644 --- a/docs/html/sdk/api_diff/3/changes/android.provider.MediaStore.Images.Media.html +++ b/docs/html/sdk/api_diff/3/changes/android.provider.MediaStore.Images.Media.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.provider.<A HREF="../../../../reference/android/provider/MediaStore.Images.Media.html" target="_top"><font size="+3"><tt>MediaStore.Images.Media</tt></font></A> +Class android.provider.<A HREF="../../../../reference/android/provider/MediaStore.Images.Media.html" target="_top"><font size="+2"><code>MediaStore.Images.Media</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -86,7 +85,7 @@ Class android.provider.<A HREF="../../../../reference/android/provider/MediaStor <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.MediaStore.Images.Media.DEFAULT_SORT_ORDER"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.Images.Media.html#DEFAULT_SORT_ORDER" target="_top"><xfont size="+1"><tt>DEFAULT_SORT_ORDER</tt></font></A></nobr> </TD> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.Images.Media.html#DEFAULT_SORT_ORDER" target="_top"><code>DEFAULT_SORT_ORDER</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> Changed in value from "name ASC" to "bucket_display_name". </TD> diff --git a/docs/html/sdk/api_diff/3/changes/android.provider.MediaStore.Video.VideoColumns.html b/docs/html/sdk/api_diff/3/changes/android.provider.MediaStore.Video.VideoColumns.html index 43494502563fa1a8d228fa9cac3085cbf3c399c9..d4ebdafe47fa273dd03e2038ada573b2b9d735ed 100644 --- a/docs/html/sdk/api_diff/3/changes/android.provider.MediaStore.Video.VideoColumns.html +++ b/docs/html/sdk/api_diff/3/changes/android.provider.MediaStore.Video.VideoColumns.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Interface android.provider.<A HREF="../../../../reference/android/provider/MediaStore.Video.VideoColumns.html" target="_top"><font size="+3"><tt>MediaStore.Video.VideoColumns</tt></font></A> +Interface android.provider.<A HREF="../../../../reference/android/provider/MediaStore.Video.VideoColumns.html" target="_top"><font size="+2"><code>MediaStore.Video.VideoColumns</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -86,21 +85,21 @@ Interface android.provider.<A HREF="../../../../reference/android/provider/Media <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.MediaStore.Video.VideoColumns.BOOKMARK"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.Video.VideoColumns.html#BOOKMARK" target="_top"><xfont size="+1"><tt>BOOKMARK</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.Video.VideoColumns.html#BOOKMARK" target="_top"><code>BOOKMARK</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.MediaStore.Video.VideoColumns.BUCKET_DISPLAY_NAME"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.Video.VideoColumns.html#BUCKET_DISPLAY_NAME" target="_top"><xfont size="+1"><tt>BUCKET_DISPLAY_NAME</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.Video.VideoColumns.html#BUCKET_DISPLAY_NAME" target="_top"><code>BUCKET_DISPLAY_NAME</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.MediaStore.Video.VideoColumns.BUCKET_ID"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.Video.VideoColumns.html#BUCKET_ID" target="_top"><xfont size="+1"><tt>BUCKET_ID</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.Video.VideoColumns.html#BUCKET_ID" target="_top"><code>BUCKET_ID</code></A></nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.provider.MediaStore.Video.html b/docs/html/sdk/api_diff/3/changes/android.provider.MediaStore.Video.html index 60437625988c1635d1e9d8d42d3a632b5d5cdd2d..76a3df394b83bc265e3100cfb999034b5bc2f2ed 100644 --- a/docs/html/sdk/api_diff/3/changes/android.provider.MediaStore.Video.html +++ b/docs/html/sdk/api_diff/3/changes/android.provider.MediaStore.Video.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.provider.<A HREF="../../../../reference/android/provider/MediaStore.Video.html" target="_top"><font size="+3"><tt>MediaStore.Video</tt></font></A> +Class android.provider.<A HREF="../../../../reference/android/provider/MediaStore.Video.html" target="_top"><font size="+2"><code>MediaStore.Video</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -86,7 +85,7 @@ Class android.provider.<A HREF="../../../../reference/android/provider/MediaStor <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.MediaStore.Video.DEFAULT_SORT_ORDER"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.Video.html#DEFAULT_SORT_ORDER" target="_top"><xfont size="+1"><tt>DEFAULT_SORT_ORDER</tt></font></A></nobr> </TD> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.Video.html#DEFAULT_SORT_ORDER" target="_top"><code>DEFAULT_SORT_ORDER</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> Changed in value from "name ASC" to "_display_name". </TD> diff --git a/docs/html/sdk/api_diff/3/changes/android.provider.MediaStore.html b/docs/html/sdk/api_diff/3/changes/android.provider.MediaStore.html index 0d6a4cdce690a0d80529e2b429070e1917edb7b1..8c61a9acd7aebcb57c4664674b11ebc2c8c26057 100644 --- a/docs/html/sdk/api_diff/3/changes/android.provider.MediaStore.html +++ b/docs/html/sdk/api_diff/3/changes/android.provider.MediaStore.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.provider.<A HREF="../../../../reference/android/provider/MediaStore.html" target="_top"><font size="+3"><tt>MediaStore</tt></font></A> +Class android.provider.<A HREF="../../../../reference/android/provider/MediaStore.html" target="_top"><font size="+2"><code>MediaStore</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -86,91 +85,91 @@ Class android.provider.<A HREF="../../../../reference/android/provider/MediaStor <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.MediaStore.ACTION_IMAGE_CAPTURE"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.html#ACTION_IMAGE_CAPTURE" target="_top"><xfont size="+1"><tt>ACTION_IMAGE_CAPTURE</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.html#ACTION_IMAGE_CAPTURE" target="_top"><code>ACTION_IMAGE_CAPTURE</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.MediaStore.ACTION_VIDEO_CAPTURE"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.html#ACTION_VIDEO_CAPTURE" target="_top"><xfont size="+1"><tt>ACTION_VIDEO_CAPTURE</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.html#ACTION_VIDEO_CAPTURE" target="_top"><code>ACTION_VIDEO_CAPTURE</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.MediaStore.EXTRA_FINISH_ON_COMPLETION"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.html#EXTRA_FINISH_ON_COMPLETION" target="_top"><xfont size="+1"><tt>EXTRA_FINISH_ON_COMPLETION</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.html#EXTRA_FINISH_ON_COMPLETION" target="_top"><code>EXTRA_FINISH_ON_COMPLETION</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.MediaStore.EXTRA_MEDIA_ALBUM"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.html#EXTRA_MEDIA_ALBUM" target="_top"><xfont size="+1"><tt>EXTRA_MEDIA_ALBUM</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.html#EXTRA_MEDIA_ALBUM" target="_top"><code>EXTRA_MEDIA_ALBUM</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.MediaStore.EXTRA_MEDIA_ARTIST"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.html#EXTRA_MEDIA_ARTIST" target="_top"><xfont size="+1"><tt>EXTRA_MEDIA_ARTIST</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.html#EXTRA_MEDIA_ARTIST" target="_top"><code>EXTRA_MEDIA_ARTIST</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.MediaStore.EXTRA_MEDIA_FOCUS"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.html#EXTRA_MEDIA_FOCUS" target="_top"><xfont size="+1"><tt>EXTRA_MEDIA_FOCUS</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.html#EXTRA_MEDIA_FOCUS" target="_top"><code>EXTRA_MEDIA_FOCUS</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.MediaStore.EXTRA_MEDIA_TITLE"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.html#EXTRA_MEDIA_TITLE" target="_top"><xfont size="+1"><tt>EXTRA_MEDIA_TITLE</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.html#EXTRA_MEDIA_TITLE" target="_top"><code>EXTRA_MEDIA_TITLE</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.MediaStore.EXTRA_OUTPUT"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.html#EXTRA_OUTPUT" target="_top"><xfont size="+1"><tt>EXTRA_OUTPUT</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.html#EXTRA_OUTPUT" target="_top"><code>EXTRA_OUTPUT</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.MediaStore.EXTRA_SCREEN_ORIENTATION"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.html#EXTRA_SCREEN_ORIENTATION" target="_top"><xfont size="+1"><tt>EXTRA_SCREEN_ORIENTATION</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.html#EXTRA_SCREEN_ORIENTATION" target="_top"><code>EXTRA_SCREEN_ORIENTATION</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.MediaStore.EXTRA_VIDEO_QUALITY"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.html#EXTRA_VIDEO_QUALITY" target="_top"><xfont size="+1"><tt>EXTRA_VIDEO_QUALITY</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.html#EXTRA_VIDEO_QUALITY" target="_top"><code>EXTRA_VIDEO_QUALITY</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.MediaStore.INTENT_ACTION_MEDIA_SEARCH"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.html#INTENT_ACTION_MEDIA_SEARCH" target="_top"><xfont size="+1"><tt>INTENT_ACTION_MEDIA_SEARCH</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.html#INTENT_ACTION_MEDIA_SEARCH" target="_top"><code>INTENT_ACTION_MEDIA_SEARCH</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.html#INTENT_ACTION_STILL_IMAGE_CAMERA" target="_top"><xfont size="+1"><tt>INTENT_ACTION_STILL_IMAGE_CAMERA</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.html#INTENT_ACTION_STILL_IMAGE_CAMERA" target="_top"><code>INTENT_ACTION_STILL_IMAGE_CAMERA</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.MediaStore.INTENT_ACTION_VIDEO_CAMERA"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.html#INTENT_ACTION_VIDEO_CAMERA" target="_top"><xfont size="+1"><tt>INTENT_ACTION_VIDEO_CAMERA</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/MediaStore.html#INTENT_ACTION_VIDEO_CAMERA" target="_top"><code>INTENT_ACTION_VIDEO_CAMERA</code></A></nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.provider.Settings.System.html b/docs/html/sdk/api_diff/3/changes/android.provider.Settings.System.html index b7ef86c6695adf9af772dd0535327b305e58bd17..0672182081664a42d49b38f8ca3ba93bb9dfdcd0 100644 --- a/docs/html/sdk/api_diff/3/changes/android.provider.Settings.System.html +++ b/docs/html/sdk/api_diff/3/changes/android.provider.Settings.System.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.provider.<A HREF="../../../../reference/android/provider/Settings.System.html" target="_top"><font size="+3"><tt>Settings.System</tt></font></A> +Class android.provider.<A HREF="../../../../reference/android/provider/Settings.System.html" target="_top"><font size="+2"><code>Settings.System</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,21 +84,21 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Settings. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.getLong_added(android.content.ContentResolver, java.lang.String)"></A> - <nobr><code>long</code> <A HREF="../../../../reference/android/provider/Settings.System.html#getLong(android.content.ContentResolver, java.lang.String)" target="_top"><xfont size="+1"><tt>getLong</tt></font></A>(<code>ContentResolver,</nobr> String<nobr><nobr></code>)</nobr> + <nobr><code>long</code> <A HREF="../../../../reference/android/provider/Settings.System.html#getLong(android.content.ContentResolver, java.lang.String)" target="_top"><code>getLong</code></A>(<code>ContentResolver,</nobr> String<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.getLong_added(android.content.ContentResolver, java.lang.String, long)"></A> - <nobr><code>long</code> <A HREF="../../../../reference/android/provider/Settings.System.html#getLong(android.content.ContentResolver, java.lang.String, long)" target="_top"><xfont size="+1"><tt>getLong</tt></font></A>(<code>ContentResolver,</nobr> String<nobr>,</nobr> long<nobr><nobr></code>)</nobr> + <nobr><code>long</code> <A HREF="../../../../reference/android/provider/Settings.System.html#getLong(android.content.ContentResolver, java.lang.String, long)" target="_top"><code>getLong</code></A>(<code>ContentResolver,</nobr> String<nobr>,</nobr> long<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.putLong_added(android.content.ContentResolver, java.lang.String, long)"></A> - <nobr><code>boolean</code> <A HREF="../../../../reference/android/provider/Settings.System.html#putLong(android.content.ContentResolver, java.lang.String, long)" target="_top"><xfont size="+1"><tt>putLong</tt></font></A>(<code>ContentResolver,</nobr> String<nobr>,</nobr> long<nobr><nobr></code>)</nobr> + <nobr><code>boolean</code> <A HREF="../../../../reference/android/provider/Settings.System.html#putLong(android.content.ContentResolver, java.lang.String, long)" target="_top"><code>putLong</code></A>(<code>ContentResolver,</nobr> String<nobr>,</nobr> long<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> @@ -115,70 +114,70 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Settings. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.ACCELEROMETER_ROTATION"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#ACCELEROMETER_ROTATION" target="_top"><xfont size="+1"><tt>ACCELEROMETER_ROTATION</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#ACCELEROMETER_ROTATION" target="_top"><code>ACCELEROMETER_ROTATION</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.HAPTIC_FEEDBACK_ENABLED"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#HAPTIC_FEEDBACK_ENABLED" target="_top"><xfont size="+1"><tt>HAPTIC_FEEDBACK_ENABLED</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#HAPTIC_FEEDBACK_ENABLED" target="_top"><code>HAPTIC_FEEDBACK_ENABLED</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED" target="_top"><xfont size="+1"><tt>LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED" target="_top"><code>LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.VOLUME_NOTIFICATION"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#VOLUME_NOTIFICATION" target="_top"><xfont size="+1"><tt>VOLUME_NOTIFICATION</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#VOLUME_NOTIFICATION" target="_top"><code>VOLUME_NOTIFICATION</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.WIFI_MAX_DHCP_RETRY_COUNT"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_MAX_DHCP_RETRY_COUNT" target="_top"><xfont size="+1"><tt>WIFI_MAX_DHCP_RETRY_COUNT</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_MAX_DHCP_RETRY_COUNT" target="_top"><code>WIFI_MAX_DHCP_RETRY_COUNT</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS" target="_top"><xfont size="+1"><tt>WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS" target="_top"><code>WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.WIFI_SLEEP_POLICY"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_SLEEP_POLICY" target="_top"><xfont size="+1"><tt>WIFI_SLEEP_POLICY</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_SLEEP_POLICY" target="_top"><code>WIFI_SLEEP_POLICY</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.WIFI_SLEEP_POLICY_DEFAULT"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_SLEEP_POLICY_DEFAULT" target="_top"><xfont size="+1"><tt>WIFI_SLEEP_POLICY_DEFAULT</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_SLEEP_POLICY_DEFAULT" target="_top"><code>WIFI_SLEEP_POLICY_DEFAULT</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.WIFI_SLEEP_POLICY_NEVER"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_SLEEP_POLICY_NEVER" target="_top"><xfont size="+1"><tt>WIFI_SLEEP_POLICY_NEVER</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_SLEEP_POLICY_NEVER" target="_top"><code>WIFI_SLEEP_POLICY_NEVER</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.WIFI_SLEEP_POLICY_NEVER_WHILE_PLUGGED"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_SLEEP_POLICY_NEVER_WHILE_PLUGGED" target="_top"><xfont size="+1"><tt>WIFI_SLEEP_POLICY_NEVER_WHILE_PLUGGED</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_SLEEP_POLICY_NEVER_WHILE_PLUGGED" target="_top"><code>WIFI_SLEEP_POLICY_NEVER_WHILE_PLUGGED</code></A></nobr> </TD> <TD> </TD> </TR> @@ -193,7 +192,7 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Settings. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.ADB_ENABLED"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#ADB_ENABLED" target="_top"><xfont size="+1"><tt>ADB_ENABLED</tt></font></A></nobr> </TD> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#ADB_ENABLED" target="_top"><code>ADB_ENABLED</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -202,7 +201,7 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Settings. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.ANDROID_ID"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#ANDROID_ID" target="_top"><xfont size="+1"><tt>ANDROID_ID</tt></font></A></nobr> </TD> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#ANDROID_ID" target="_top"><code>ANDROID_ID</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -211,7 +210,7 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Settings. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.BLUETOOTH_ON"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#BLUETOOTH_ON" target="_top"><xfont size="+1"><tt>BLUETOOTH_ON</tt></font></A></nobr> </TD> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#BLUETOOTH_ON" target="_top"><code>BLUETOOTH_ON</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -220,7 +219,7 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Settings. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.DATA_ROAMING"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#DATA_ROAMING" target="_top"><xfont size="+1"><tt>DATA_ROAMING</tt></font></A></nobr> </TD> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#DATA_ROAMING" target="_top"><code>DATA_ROAMING</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -229,7 +228,7 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Settings. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.DEVICE_PROVISIONED"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#DEVICE_PROVISIONED" target="_top"><xfont size="+1"><tt>DEVICE_PROVISIONED</tt></font></A></nobr> </TD> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#DEVICE_PROVISIONED" target="_top"><code>DEVICE_PROVISIONED</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -238,7 +237,7 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Settings. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.HTTP_PROXY"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#HTTP_PROXY" target="_top"><xfont size="+1"><tt>HTTP_PROXY</tt></font></A></nobr> </TD> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#HTTP_PROXY" target="_top"><code>HTTP_PROXY</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -247,7 +246,7 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Settings. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.INSTALL_NON_MARKET_APPS"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#INSTALL_NON_MARKET_APPS" target="_top"><xfont size="+1"><tt>INSTALL_NON_MARKET_APPS</tt></font></A></nobr> </TD> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#INSTALL_NON_MARKET_APPS" target="_top"><code>INSTALL_NON_MARKET_APPS</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -256,7 +255,7 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Settings. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.LOCATION_PROVIDERS_ALLOWED"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#LOCATION_PROVIDERS_ALLOWED" target="_top"><xfont size="+1"><tt>LOCATION_PROVIDERS_ALLOWED</tt></font></A></nobr> </TD> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#LOCATION_PROVIDERS_ALLOWED" target="_top"><code>LOCATION_PROVIDERS_ALLOWED</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -265,7 +264,7 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Settings. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.LOGGING_ID"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#LOGGING_ID" target="_top"><xfont size="+1"><tt>LOGGING_ID</tt></font></A></nobr> </TD> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#LOGGING_ID" target="_top"><code>LOGGING_ID</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -274,7 +273,7 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Settings. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.NETWORK_PREFERENCE"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#NETWORK_PREFERENCE" target="_top"><xfont size="+1"><tt>NETWORK_PREFERENCE</tt></font></A></nobr> </TD> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#NETWORK_PREFERENCE" target="_top"><code>NETWORK_PREFERENCE</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -283,7 +282,7 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Settings. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.PARENTAL_CONTROL_ENABLED"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#PARENTAL_CONTROL_ENABLED" target="_top"><xfont size="+1"><tt>PARENTAL_CONTROL_ENABLED</tt></font></A></nobr> </TD> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#PARENTAL_CONTROL_ENABLED" target="_top"><code>PARENTAL_CONTROL_ENABLED</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -292,7 +291,7 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Settings. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.PARENTAL_CONTROL_LAST_UPDATE"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#PARENTAL_CONTROL_LAST_UPDATE" target="_top"><xfont size="+1"><tt>PARENTAL_CONTROL_LAST_UPDATE</tt></font></A></nobr> </TD> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#PARENTAL_CONTROL_LAST_UPDATE" target="_top"><code>PARENTAL_CONTROL_LAST_UPDATE</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -301,7 +300,7 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Settings. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.PARENTAL_CONTROL_REDIRECT_URL"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#PARENTAL_CONTROL_REDIRECT_URL" target="_top"><xfont size="+1"><tt>PARENTAL_CONTROL_REDIRECT_URL</tt></font></A></nobr> </TD> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#PARENTAL_CONTROL_REDIRECT_URL" target="_top"><code>PARENTAL_CONTROL_REDIRECT_URL</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -310,7 +309,7 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Settings. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.SETTINGS_CLASSNAME"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#SETTINGS_CLASSNAME" target="_top"><xfont size="+1"><tt>SETTINGS_CLASSNAME</tt></font></A></nobr> </TD> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#SETTINGS_CLASSNAME" target="_top"><code>SETTINGS_CLASSNAME</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -319,7 +318,7 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Settings. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.USB_MASS_STORAGE_ENABLED"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#USB_MASS_STORAGE_ENABLED" target="_top"><xfont size="+1"><tt>USB_MASS_STORAGE_ENABLED</tt></font></A></nobr> </TD> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#USB_MASS_STORAGE_ENABLED" target="_top"><code>USB_MASS_STORAGE_ENABLED</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -328,7 +327,7 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Settings. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.USE_GOOGLE_MAIL"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#USE_GOOGLE_MAIL" target="_top"><xfont size="+1"><tt>USE_GOOGLE_MAIL</tt></font></A></nobr> </TD> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#USE_GOOGLE_MAIL" target="_top"><code>USE_GOOGLE_MAIL</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -337,7 +336,7 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Settings. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON" target="_top"><xfont size="+1"><tt>WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON</tt></font></A></nobr> </TD> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON" target="_top"><code>WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -346,7 +345,7 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Settings. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY" target="_top"><xfont size="+1"><tt>WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY</tt></font></A></nobr> </TD> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY" target="_top"><code>WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -355,7 +354,7 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Settings. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.WIFI_NUM_OPEN_NETWORKS_KEPT"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_NUM_OPEN_NETWORKS_KEPT" target="_top"><xfont size="+1"><tt>WIFI_NUM_OPEN_NETWORKS_KEPT</tt></font></A></nobr> </TD> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_NUM_OPEN_NETWORKS_KEPT" target="_top"><code>WIFI_NUM_OPEN_NETWORKS_KEPT</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -364,7 +363,7 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Settings. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.WIFI_ON"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_ON" target="_top"><xfont size="+1"><tt>WIFI_ON</tt></font></A></nobr> </TD> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_ON" target="_top"><code>WIFI_ON</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -373,7 +372,7 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Settings. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE" target="_top"><xfont size="+1"><tt>WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE</tt></font></A></nobr> </TD> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE" target="_top"><code>WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -382,7 +381,7 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Settings. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.WIFI_WATCHDOG_AP_COUNT"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_WATCHDOG_AP_COUNT" target="_top"><xfont size="+1"><tt>WIFI_WATCHDOG_AP_COUNT</tt></font></A></nobr> </TD> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_WATCHDOG_AP_COUNT" target="_top"><code>WIFI_WATCHDOG_AP_COUNT</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -391,7 +390,7 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Settings. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS" target="_top"><xfont size="+1"><tt>WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS</tt></font></A></nobr> </TD> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS" target="_top"><code>WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -400,7 +399,7 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Settings. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED" target="_top"><xfont size="+1"><tt>WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED</tt></font></A></nobr> </TD> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED" target="_top"><code>WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -409,7 +408,7 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Settings. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS" target="_top"><xfont size="+1"><tt>WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS</tt></font></A></nobr> </TD> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS" target="_top"><code>WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -418,7 +417,7 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Settings. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT" target="_top"><xfont size="+1"><tt>WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT</tt></font></A></nobr> </TD> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT" target="_top"><code>WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -427,7 +426,7 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Settings. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.WIFI_WATCHDOG_MAX_AP_CHECKS"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_WATCHDOG_MAX_AP_CHECKS" target="_top"><xfont size="+1"><tt>WIFI_WATCHDOG_MAX_AP_CHECKS</tt></font></A></nobr> </TD> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_WATCHDOG_MAX_AP_CHECKS" target="_top"><code>WIFI_WATCHDOG_MAX_AP_CHECKS</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -436,7 +435,7 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Settings. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.WIFI_WATCHDOG_ON"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_WATCHDOG_ON" target="_top"><xfont size="+1"><tt>WIFI_WATCHDOG_ON</tt></font></A></nobr> </TD> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_WATCHDOG_ON" target="_top"><code>WIFI_WATCHDOG_ON</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -445,7 +444,7 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Settings. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.WIFI_WATCHDOG_PING_COUNT"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_WATCHDOG_PING_COUNT" target="_top"><xfont size="+1"><tt>WIFI_WATCHDOG_PING_COUNT</tt></font></A></nobr> </TD> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_WATCHDOG_PING_COUNT" target="_top"><code>WIFI_WATCHDOG_PING_COUNT</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -454,7 +453,7 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Settings. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.WIFI_WATCHDOG_PING_DELAY_MS"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_WATCHDOG_PING_DELAY_MS" target="_top"><xfont size="+1"><tt>WIFI_WATCHDOG_PING_DELAY_MS</tt></font></A></nobr> </TD> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_WATCHDOG_PING_DELAY_MS" target="_top"><code>WIFI_WATCHDOG_PING_DELAY_MS</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> @@ -463,7 +462,7 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Settings. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.System.WIFI_WATCHDOG_PING_TIMEOUT_MS"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_WATCHDOG_PING_TIMEOUT_MS" target="_top"><xfont size="+1"><tt>WIFI_WATCHDOG_PING_TIMEOUT_MS</tt></font></A></nobr> </TD> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.System.html#WIFI_WATCHDOG_PING_TIMEOUT_MS" target="_top"><code>WIFI_WATCHDOG_PING_TIMEOUT_MS</code></font></A></nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> diff --git a/docs/html/sdk/api_diff/3/changes/android.provider.Settings.html b/docs/html/sdk/api_diff/3/changes/android.provider.Settings.html index 227b462ed957f62e02785a95a78da0b3a27a7636..00b0b1fdae8b6068fdf78135138d568e6085246b 100644 --- a/docs/html/sdk/api_diff/3/changes/android.provider.Settings.html +++ b/docs/html/sdk/api_diff/3/changes/android.provider.Settings.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.provider.<A HREF="../../../../reference/android/provider/Settings.html" target="_top"><font size="+3"><tt>Settings</tt></font></A> +Class android.provider.<A HREF="../../../../reference/android/provider/Settings.html" target="_top"><font size="+2"><code>Settings</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -86,84 +85,84 @@ Class android.provider.<A HREF="../../../../reference/android/provider/Settings. <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.ACTION_AIRPLANE_MODE_SETTINGS"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.html#ACTION_AIRPLANE_MODE_SETTINGS" target="_top"><xfont size="+1"><tt>ACTION_AIRPLANE_MODE_SETTINGS</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.html#ACTION_AIRPLANE_MODE_SETTINGS" target="_top"><code>ACTION_AIRPLANE_MODE_SETTINGS</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.ACTION_APPLICATION_DEVELOPMENT_SETTINGS"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.html#ACTION_APPLICATION_DEVELOPMENT_SETTINGS" target="_top"><xfont size="+1"><tt>ACTION_APPLICATION_DEVELOPMENT_SETTINGS</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.html#ACTION_APPLICATION_DEVELOPMENT_SETTINGS" target="_top"><code>ACTION_APPLICATION_DEVELOPMENT_SETTINGS</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.ACTION_DATA_ROAMING_SETTINGS"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.html#ACTION_DATA_ROAMING_SETTINGS" target="_top"><xfont size="+1"><tt>ACTION_DATA_ROAMING_SETTINGS</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.html#ACTION_DATA_ROAMING_SETTINGS" target="_top"><code>ACTION_DATA_ROAMING_SETTINGS</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.ACTION_INPUT_METHOD_SETTINGS"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.html#ACTION_INPUT_METHOD_SETTINGS" target="_top"><xfont size="+1"><tt>ACTION_INPUT_METHOD_SETTINGS</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.html#ACTION_INPUT_METHOD_SETTINGS" target="_top"><code>ACTION_INPUT_METHOD_SETTINGS</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.ACTION_INTERNAL_STORAGE_SETTINGS"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.html#ACTION_INTERNAL_STORAGE_SETTINGS" target="_top"><xfont size="+1"><tt>ACTION_INTERNAL_STORAGE_SETTINGS</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.html#ACTION_INTERNAL_STORAGE_SETTINGS" target="_top"><code>ACTION_INTERNAL_STORAGE_SETTINGS</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.ACTION_MANAGE_APPLICATIONS_SETTINGS"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.html#ACTION_MANAGE_APPLICATIONS_SETTINGS" target="_top"><xfont size="+1"><tt>ACTION_MANAGE_APPLICATIONS_SETTINGS</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.html#ACTION_MANAGE_APPLICATIONS_SETTINGS" target="_top"><code>ACTION_MANAGE_APPLICATIONS_SETTINGS</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.ACTION_MEMORY_CARD_SETTINGS"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.html#ACTION_MEMORY_CARD_SETTINGS" target="_top"><xfont size="+1"><tt>ACTION_MEMORY_CARD_SETTINGS</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.html#ACTION_MEMORY_CARD_SETTINGS" target="_top"><code>ACTION_MEMORY_CARD_SETTINGS</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.ACTION_NETWORK_OPERATOR_SETTINGS"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.html#ACTION_NETWORK_OPERATOR_SETTINGS" target="_top"><xfont size="+1"><tt>ACTION_NETWORK_OPERATOR_SETTINGS</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.html#ACTION_NETWORK_OPERATOR_SETTINGS" target="_top"><code>ACTION_NETWORK_OPERATOR_SETTINGS</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.ACTION_QUICK_LAUNCH_SETTINGS"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.html#ACTION_QUICK_LAUNCH_SETTINGS" target="_top"><xfont size="+1"><tt>ACTION_QUICK_LAUNCH_SETTINGS</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.html#ACTION_QUICK_LAUNCH_SETTINGS" target="_top"><code>ACTION_QUICK_LAUNCH_SETTINGS</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.ACTION_SYNC_SETTINGS"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.html#ACTION_SYNC_SETTINGS" target="_top"><xfont size="+1"><tt>ACTION_SYNC_SETTINGS</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.html#ACTION_SYNC_SETTINGS" target="_top"><code>ACTION_SYNC_SETTINGS</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.ACTION_USER_DICTIONARY_SETTINGS"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.html#ACTION_USER_DICTIONARY_SETTINGS" target="_top"><xfont size="+1"><tt>ACTION_USER_DICTIONARY_SETTINGS</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.html#ACTION_USER_DICTIONARY_SETTINGS" target="_top"><code>ACTION_USER_DICTIONARY_SETTINGS</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.provider.Settings.ACTION_WIFI_IP_SETTINGS"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.html#ACTION_WIFI_IP_SETTINGS" target="_top"><xfont size="+1"><tt>ACTION_WIFI_IP_SETTINGS</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/provider/Settings.html#ACTION_WIFI_IP_SETTINGS" target="_top"><code>ACTION_WIFI_IP_SETTINGS</code></A></nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.telephony.PhoneNumberUtils.html b/docs/html/sdk/api_diff/3/changes/android.telephony.PhoneNumberUtils.html index 6e0b240ca75b23efb2d691b9ccd5749e6a6cd307..5804c129f7790c446ec7cc539ba3b2b686a10c8b 100644 --- a/docs/html/sdk/api_diff/3/changes/android.telephony.PhoneNumberUtils.html +++ b/docs/html/sdk/api_diff/3/changes/android.telephony.PhoneNumberUtils.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.telephony.<A HREF="../../../../reference/android/telephony/PhoneNumberUtils.html" target="_top"><font size="+3"><tt>PhoneNumberUtils</tt></font></A> +Class android.telephony.<A HREF="../../../../reference/android/telephony/PhoneNumberUtils.html" target="_top"><font size="+2"><code>PhoneNumberUtils</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,7 +84,7 @@ Class android.telephony.<A HREF="../../../../reference/android/telephony/PhoneNu <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.telephony.PhoneNumberUtils.formatJapaneseNumber_added(android.text.Editable)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/telephony/PhoneNumberUtils.html#formatJapaneseNumber(android.text.Editable)" target="_top"><xfont size="+1"><tt>formatJapaneseNumber</tt></font></A>(<code>Editable</code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/telephony/PhoneNumberUtils.html#formatJapaneseNumber(android.text.Editable)" target="_top"><code>formatJapaneseNumber</code></A>(<code>Editable</code>)</nobr> </TD> <TD> </TD> </TR> @@ -101,7 +100,7 @@ Class android.telephony.<A HREF="../../../../reference/android/telephony/PhoneNu <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.telephony.PhoneNumberUtils.FORMAT_JAPAN"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/telephony/PhoneNumberUtils.html#FORMAT_JAPAN" target="_top"><xfont size="+1"><tt>FORMAT_JAPAN</tt></font></A></nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/telephony/PhoneNumberUtils.html#FORMAT_JAPAN" target="_top"><code>FORMAT_JAPAN</code></A></nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.telephony.TelephonyManager.html b/docs/html/sdk/api_diff/3/changes/android.telephony.TelephonyManager.html index aa02f5c1f3a858a6ae12d7cb225d4a63d0ade276..2948e229b07fdc150ec0b3d91434fac440a67634 100644 --- a/docs/html/sdk/api_diff/3/changes/android.telephony.TelephonyManager.html +++ b/docs/html/sdk/api_diff/3/changes/android.telephony.TelephonyManager.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.telephony.<A HREF="../../../../reference/android/telephony/TelephonyManager.html" target="_top"><font size="+3"><tt>TelephonyManager</tt></font></A> +Class android.telephony.<A HREF="../../../../reference/android/telephony/TelephonyManager.html" target="_top"><font size="+2"><code>TelephonyManager</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,7 +84,7 @@ Class android.telephony.<A HREF="../../../../reference/android/telephony/Telepho <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.telephony.TelephonyManager.getNeighboringCellInfo_added()"></A> - <nobr><code>List<NeighboringCellInfo></code> <A HREF="../../../../reference/android/telephony/TelephonyManager.html#getNeighboringCellInfo()" target="_top"><xfont size="+1"><tt>getNeighboringCellInfo</tt></font></A>()</nobr> + <nobr><code>List<NeighboringCellInfo></code> <A HREF="../../../../reference/android/telephony/TelephonyManager.html#getNeighboringCellInfo()" target="_top"><code>getNeighboringCellInfo</code></A>()</nobr> </TD> <TD> </TD> </TR> @@ -101,42 +100,42 @@ Class android.telephony.<A HREF="../../../../reference/android/telephony/Telepho <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.telephony.TelephonyManager.ACTION_PHONE_STATE_CHANGED"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/telephony/TelephonyManager.html#ACTION_PHONE_STATE_CHANGED" target="_top"><xfont size="+1"><tt>ACTION_PHONE_STATE_CHANGED</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/telephony/TelephonyManager.html#ACTION_PHONE_STATE_CHANGED" target="_top"><code>ACTION_PHONE_STATE_CHANGED</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.telephony.TelephonyManager.EXTRA_INCOMING_NUMBER"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/telephony/TelephonyManager.html#EXTRA_INCOMING_NUMBER" target="_top"><xfont size="+1"><tt>EXTRA_INCOMING_NUMBER</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/telephony/TelephonyManager.html#EXTRA_INCOMING_NUMBER" target="_top"><code>EXTRA_INCOMING_NUMBER</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.telephony.TelephonyManager.EXTRA_STATE"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/telephony/TelephonyManager.html#EXTRA_STATE" target="_top"><xfont size="+1"><tt>EXTRA_STATE</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/telephony/TelephonyManager.html#EXTRA_STATE" target="_top"><code>EXTRA_STATE</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.telephony.TelephonyManager.EXTRA_STATE_IDLE"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/telephony/TelephonyManager.html#EXTRA_STATE_IDLE" target="_top"><xfont size="+1"><tt>EXTRA_STATE_IDLE</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/telephony/TelephonyManager.html#EXTRA_STATE_IDLE" target="_top"><code>EXTRA_STATE_IDLE</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.telephony.TelephonyManager.EXTRA_STATE_OFFHOOK"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/telephony/TelephonyManager.html#EXTRA_STATE_OFFHOOK" target="_top"><xfont size="+1"><tt>EXTRA_STATE_OFFHOOK</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/telephony/TelephonyManager.html#EXTRA_STATE_OFFHOOK" target="_top"><code>EXTRA_STATE_OFFHOOK</code></A></nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.telephony.TelephonyManager.EXTRA_STATE_RINGING"></A> - <nobr><code>String</code> <A HREF="../../../../reference/android/telephony/TelephonyManager.html#EXTRA_STATE_RINGING" target="_top"><xfont size="+1"><tt>EXTRA_STATE_RINGING</tt></font></A></nobr> + <nobr><code>String</code> <A HREF="../../../../reference/android/telephony/TelephonyManager.html#EXTRA_STATE_RINGING" target="_top"><code>EXTRA_STATE_RINGING</code></A></nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.telephony.gsm.SmsMessage.html b/docs/html/sdk/api_diff/3/changes/android.telephony.gsm.SmsMessage.html index c6069043fe40d52b12ec9bc752db28453ff2a021..ce994dc60f3fa9e3e407da3534803c7d0254d3dd 100644 --- a/docs/html/sdk/api_diff/3/changes/android.telephony.gsm.SmsMessage.html +++ b/docs/html/sdk/api_diff/3/changes/android.telephony.gsm.SmsMessage.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.telephony.gsm.<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html" target="_top"><font size="+3"><tt>SmsMessage</tt></font></A> +Class android.telephony.gsm.<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html" target="_top"><font size="+2"><code>SmsMessage</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,7 +84,7 @@ Class android.telephony.gsm.<A HREF="../../../../reference/android/telephony/gsm <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.telephony.gsm.SmsMessage.calculateLength_added(java.lang.CharSequence, boolean)"></A> - <nobr><code>int[]</code> <A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#calculateLength(java.lang.CharSequence, boolean)" target="_top"><xfont size="+1"><tt>calculateLength</tt></font></A>(<code>CharSequence,</nobr> boolean<nobr><nobr></code>)</nobr> + <nobr><code>int[]</code> <A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#calculateLength(java.lang.CharSequence, boolean)" target="_top"><code>calculateLength</code></A>(<code>CharSequence,</nobr> boolean<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.test.ActivityInstrumentationTestCase.html b/docs/html/sdk/api_diff/3/changes/android.test.ActivityInstrumentationTestCase.html index c3360776828e14087f378947d3b980545422ba34..7574c36fdfeb7cb483442b437cc4325c57e31cbe 100644 --- a/docs/html/sdk/api_diff/3/changes/android.test.ActivityInstrumentationTestCase.html +++ b/docs/html/sdk/api_diff/3/changes/android.test.ActivityInstrumentationTestCase.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.test.<A HREF="../../../../reference/android/test/ActivityInstrumentationTestCase.html" target="_top"><font size="+3"><tt>ActivityInstrumentationTestCase</tt></font></A> +Class android.test.<A HREF="../../../../reference/android/test/ActivityInstrumentationTestCase.html" target="_top"><font size="+2"><code>ActivityInstrumentationTestCase</code></font></A> </H2> <p><b>Now deprecated</b>.<br> <a NAME="constructors"></a> diff --git a/docs/html/sdk/api_diff/3/changes/android.test.InstrumentationTestCase.html b/docs/html/sdk/api_diff/3/changes/android.test.InstrumentationTestCase.html index 1fb403aaabe59359332cb8fdcfec485b15706501..b8970e5a5c191f5939daf9e3a109aa5e3c4c337b 100644 --- a/docs/html/sdk/api_diff/3/changes/android.test.InstrumentationTestCase.html +++ b/docs/html/sdk/api_diff/3/changes/android.test.InstrumentationTestCase.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.test.<A HREF="../../../../reference/android/test/InstrumentationTestCase.html" target="_top"><font size="+3"><tt>InstrumentationTestCase</tt></font></A> +Class android.test.<A HREF="../../../../reference/android/test/InstrumentationTestCase.html" target="_top"><font size="+2"><code>InstrumentationTestCase</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,14 +84,14 @@ Class android.test.<A HREF="../../../../reference/android/test/InstrumentationTe <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.test.InstrumentationTestCase.launchActivityWithIntent_added(java.lang.String, java.lang.Class<T>, android.content.Intent)"></A> - <nobr><code>T</code> <A HREF="../../../../reference/android/test/InstrumentationTestCase.html#launchActivityWithIntent(java.lang.String, java.lang.Class<T>, android.content.Intent)" target="_top"><xfont size="+1"><tt>launchActivityWithIntent</tt></font></A>(<code>String,</nobr> Class<T><nobr>,</nobr> Intent<nobr><nobr></code>)</nobr> + <nobr><code>T</code> <A HREF="../../../../reference/android/test/InstrumentationTestCase.html#launchActivityWithIntent(java.lang.String, java.lang.Class<T>, android.content.Intent)" target="_top"><code>launchActivityWithIntent</code></A>(<code>String,</nobr> Class<T><nobr>,</nobr> Intent<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.test.InstrumentationTestCase.runTestOnUiThread_added(java.lang.Runnable)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/test/InstrumentationTestCase.html#runTestOnUiThread(java.lang.Runnable)" target="_top"><xfont size="+1"><tt>runTestOnUiThread</tt></font></A>(<code>Runnable</code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/test/InstrumentationTestCase.html#runTestOnUiThread(java.lang.Runnable)" target="_top"><code>runTestOnUiThread</code></A>(<code>Runnable</code>)</nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.test.ProviderTestCase.html b/docs/html/sdk/api_diff/3/changes/android.test.ProviderTestCase.html index ffbee6091afed74d4f1636581b4cd54b0b4f72fe..19c7eb58d3a2057e3502c502dece3fdf505e7934 100644 --- a/docs/html/sdk/api_diff/3/changes/android.test.ProviderTestCase.html +++ b/docs/html/sdk/api_diff/3/changes/android.test.ProviderTestCase.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.test.<A HREF="../../../../reference/android/test/ProviderTestCase.html" target="_top"><font size="+3"><tt>ProviderTestCase</tt></font></A> +Class android.test.<A HREF="../../../../reference/android/test/ProviderTestCase.html" target="_top"><font size="+2"><code>ProviderTestCase</code></font></A> </H2> <p><b>Now deprecated</b>.<br> <a NAME="constructors"></a> diff --git a/docs/html/sdk/api_diff/3/changes/android.test.TouchUtils.html b/docs/html/sdk/api_diff/3/changes/android.test.TouchUtils.html index 75f9e5e03e2afbbf54c8241c040290c9ee286d35..4606b9432645a6427400659717e25ce868f06a66 100644 --- a/docs/html/sdk/api_diff/3/changes/android.test.TouchUtils.html +++ b/docs/html/sdk/api_diff/3/changes/android.test.TouchUtils.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,15 +67,30 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.test.<A HREF="../../../../reference/android/test/TouchUtils.html" target="_top"><font size="+3"><tt>TouchUtils</tt></font></A> +Class android.test.<A HREF="../../../../reference/android/test/TouchUtils.html" target="_top"><font size="+2"><code>TouchUtils</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> <p> +<a NAME="Removed"></a> +<TABLE summary="Removed Methods" WIDTH="100%"> +<TR> + <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD> +</TH> +<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> + <TD VALIGN="TOP" WIDTH="25%"> + <A NAME="android.test.TouchUtils.dragViewToBottom_removed(android.test.ActivityInstrumentationTestCase, android.view.View, int)"></A> + <nobr><code>void</code> dragViewToBottom(<code>ActivityInstrumentationTestCase,</nobr> View<nobr>,</nobr> int<nobr><nobr></code>)</nobr> + </TD> + <TD> </TD> +</TR> +</TABLE> +  +<p> <a NAME="Added"></a> <TABLE summary="Added Methods" WIDTH="100%"> <TR> @@ -85,98 +99,105 @@ Class android.test.<A HREF="../../../../reference/android/test/TouchUtils.html" <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.test.TouchUtils.drag_added(android.test.InstrumentationTestCase, float, float, float, float, int)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#drag(android.test.InstrumentationTestCase, float, float, float, float, int)" target="_top"><xfont size="+1"><tt>drag</tt></font></A>(<code>InstrumentationTestCase,</nobr> float<nobr>,</nobr> float<nobr>,</nobr> float<nobr>,</nobr> float<nobr>,</nobr> int<nobr><nobr></code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#drag(android.test.InstrumentationTestCase, float, float, float, float, int)" target="_top"><code>drag</code></A>(<code>InstrumentationTestCase,</nobr> float<nobr>,</nobr> float<nobr>,</nobr> float<nobr>,</nobr> float<nobr>,</nobr> int<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.test.TouchUtils.dragQuarterScreenDown_added(android.test.InstrumentationTestCase, android.app.Activity)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragQuarterScreenDown(android.test.InstrumentationTestCase, android.app.Activity)" target="_top"><xfont size="+1"><tt>dragQuarterScreenDown</tt></font></A>(<code>InstrumentationTestCase,</nobr> Activity<nobr><nobr></code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragQuarterScreenDown(android.test.InstrumentationTestCase, android.app.Activity)" target="_top"><code>dragQuarterScreenDown</code></A>(<code>InstrumentationTestCase,</nobr> Activity<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.test.TouchUtils.dragQuarterScreenUp_added(android.test.InstrumentationTestCase, android.app.Activity)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragQuarterScreenUp(android.test.InstrumentationTestCase, android.app.Activity)" target="_top"><xfont size="+1"><tt>dragQuarterScreenUp</tt></font></A>(<code>InstrumentationTestCase,</nobr> Activity<nobr><nobr></code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragQuarterScreenUp(android.test.InstrumentationTestCase, android.app.Activity)" target="_top"><code>dragQuarterScreenUp</code></A>(<code>InstrumentationTestCase,</nobr> Activity<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.test.TouchUtils.dragViewBy_added(android.test.InstrumentationTestCase, android.view.View, int, int, int)"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragViewBy(android.test.InstrumentationTestCase, android.view.View, int, int, int)" target="_top"><xfont size="+1"><tt>dragViewBy</tt></font></A>(<code>InstrumentationTestCase,</nobr> View<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragViewBy(android.test.InstrumentationTestCase, android.view.View, int, int, int)" target="_top"><code>dragViewBy</code></A>(<code>InstrumentationTestCase,</nobr> View<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.test.TouchUtils.dragViewTo_added(android.test.InstrumentationTestCase, android.view.View, int, int, int)"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragViewTo(android.test.InstrumentationTestCase, android.view.View, int, int, int)" target="_top"><xfont size="+1"><tt>dragViewTo</tt></font></A>(<code>InstrumentationTestCase,</nobr> View<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragViewTo(android.test.InstrumentationTestCase, android.view.View, int, int, int)" target="_top"><code>dragViewTo</code></A>(<code>InstrumentationTestCase,</nobr> View<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr> + </TD> + <TD> </TD> +</TR> +<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> + <TD VALIGN="TOP" WIDTH="25%"> + <A NAME="android.test.TouchUtils.dragViewToBottom_added(android.test.InstrumentationTestCase, android.app.Activity, android.view.View)"></A> + <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragViewToBottom(android.test.InstrumentationTestCase, android.app.Activity, android.view.View)" target="_top"><code>dragViewToBottom</code></A>(<code>InstrumentationTestCase,</nobr> Activity<nobr>,</nobr> View<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.test.TouchUtils.dragViewToBottom_added(android.test.ActivityInstrumentationTestCase, android.view.View, int)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragViewToBottom(android.test.ActivityInstrumentationTestCase, android.view.View, int)" target="_top"><xfont size="+1"><tt>dragViewToBottom</tt></font></A>(<code>ActivityInstrumentationTestCase,</nobr> View<nobr>,</nobr> int<nobr><nobr></code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragViewToBottom(android.test.ActivityInstrumentationTestCase, android.view.View, int)" target="_top"><code>dragViewToBottom</code></A>(<code>ActivityInstrumentationTestCase,</nobr> View<nobr>,</nobr> int<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.test.TouchUtils.dragViewToBottom_added(android.test.InstrumentationTestCase, android.app.Activity, android.view.View, int)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragViewToBottom(android.test.InstrumentationTestCase, android.app.Activity, android.view.View, int)" target="_top"><xfont size="+1"><tt>dragViewToBottom</tt></font></A>(<code>InstrumentationTestCase,</nobr> Activity<nobr>,</nobr> View<nobr>,</nobr> int<nobr><nobr></code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragViewToBottom(android.test.InstrumentationTestCase, android.app.Activity, android.view.View, int)" target="_top"><code>dragViewToBottom</code></A>(<code>InstrumentationTestCase,</nobr> Activity<nobr>,</nobr> View<nobr>,</nobr> int<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.test.TouchUtils.dragViewToTop_added(android.test.InstrumentationTestCase, android.view.View)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragViewToTop(android.test.InstrumentationTestCase, android.view.View)" target="_top"><xfont size="+1"><tt>dragViewToTop</tt></font></A>(<code>InstrumentationTestCase,</nobr> View<nobr><nobr></code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragViewToTop(android.test.InstrumentationTestCase, android.view.View)" target="_top"><code>dragViewToTop</code></A>(<code>InstrumentationTestCase,</nobr> View<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.test.TouchUtils.dragViewToTop_added(android.test.InstrumentationTestCase, android.view.View, int)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragViewToTop(android.test.InstrumentationTestCase, android.view.View, int)" target="_top"><xfont size="+1"><tt>dragViewToTop</tt></font></A>(<code>InstrumentationTestCase,</nobr> View<nobr>,</nobr> int<nobr><nobr></code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragViewToTop(android.test.InstrumentationTestCase, android.view.View, int)" target="_top"><code>dragViewToTop</code></A>(<code>InstrumentationTestCase,</nobr> View<nobr>,</nobr> int<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.test.TouchUtils.dragViewToX_added(android.test.InstrumentationTestCase, android.view.View, int, int)"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragViewToX(android.test.InstrumentationTestCase, android.view.View, int, int)" target="_top"><xfont size="+1"><tt>dragViewToX</tt></font></A>(<code>InstrumentationTestCase,</nobr> View<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragViewToX(android.test.InstrumentationTestCase, android.view.View, int, int)" target="_top"><code>dragViewToX</code></A>(<code>InstrumentationTestCase,</nobr> View<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.test.TouchUtils.dragViewToY_added(android.test.InstrumentationTestCase, android.view.View, int, int)"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragViewToY(android.test.InstrumentationTestCase, android.view.View, int, int)" target="_top"><xfont size="+1"><tt>dragViewToY</tt></font></A>(<code>InstrumentationTestCase,</nobr> View<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragViewToY(android.test.InstrumentationTestCase, android.view.View, int, int)" target="_top"><code>dragViewToY</code></A>(<code>InstrumentationTestCase,</nobr> View<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.test.TouchUtils.longClickView_added(android.test.InstrumentationTestCase, android.view.View)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#longClickView(android.test.InstrumentationTestCase, android.view.View)" target="_top"><xfont size="+1"><tt>longClickView</tt></font></A>(<code>InstrumentationTestCase,</nobr> View<nobr><nobr></code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#longClickView(android.test.InstrumentationTestCase, android.view.View)" target="_top"><code>longClickView</code></A>(<code>InstrumentationTestCase,</nobr> View<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.test.TouchUtils.scrollToBottom_added(android.test.InstrumentationTestCase, android.app.Activity, android.view.ViewGroup)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#scrollToBottom(android.test.InstrumentationTestCase, android.app.Activity, android.view.ViewGroup)" target="_top"><xfont size="+1"><tt>scrollToBottom</tt></font></A>(<code>InstrumentationTestCase,</nobr> Activity<nobr>,</nobr> ViewGroup<nobr><nobr></code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#scrollToBottom(android.test.InstrumentationTestCase, android.app.Activity, android.view.ViewGroup)" target="_top"><code>scrollToBottom</code></A>(<code>InstrumentationTestCase,</nobr> Activity<nobr>,</nobr> ViewGroup<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.test.TouchUtils.scrollToTop_added(android.test.InstrumentationTestCase, android.app.Activity, android.view.ViewGroup)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#scrollToTop(android.test.InstrumentationTestCase, android.app.Activity, android.view.ViewGroup)" target="_top"><xfont size="+1"><tt>scrollToTop</tt></font></A>(<code>InstrumentationTestCase,</nobr> Activity<nobr>,</nobr> ViewGroup<nobr><nobr></code>)</nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#scrollToTop(android.test.InstrumentationTestCase, android.app.Activity, android.view.ViewGroup)" target="_top"><code>scrollToTop</code></A>(<code>InstrumentationTestCase,</nobr> Activity<nobr>,</nobr> ViewGroup<nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> @@ -191,7 +212,7 @@ Class android.test.<A HREF="../../../../reference/android/test/TouchUtils.html" <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.test.TouchUtils.drag_changed(android.test.ActivityInstrumentationTestCase, float, float, float, float, int)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#drag(android.test.ActivityInstrumentationTestCase, float, float, float, float, int)" target="_top"><xfont size="+1"><tt>drag</tt></font></A>(<code>ActivityInstrumentationTestCase,</nobr> float<nobr>,</nobr> float<nobr>,</nobr> float<nobr>,</nobr> float<nobr>,</nobr> int<nobr><nobr></code>) </nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#drag(android.test.ActivityInstrumentationTestCase, float, float, float, float, int)" target="_top"><code>drag</code></A>(<code>ActivityInstrumentationTestCase,</nobr> float<nobr>,</nobr> float<nobr>,</nobr> float<nobr>,</nobr> float<nobr>,</nobr> int<nobr><nobr></code>) </nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> @@ -201,7 +222,7 @@ Class android.test.<A HREF="../../../../reference/android/test/TouchUtils.html" <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.test.TouchUtils.dragQuarterScreenDown_changed(android.test.ActivityInstrumentationTestCase)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragQuarterScreenDown(android.test.ActivityInstrumentationTestCase)" target="_top"><xfont size="+1"><tt>dragQuarterScreenDown</tt></font></A>(<code>ActivityInstrumentationTestCase</code>) </nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragQuarterScreenDown(android.test.ActivityInstrumentationTestCase)" target="_top"><code>dragQuarterScreenDown</code></A>(<code>ActivityInstrumentationTestCase</code>) </nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> @@ -211,7 +232,7 @@ Class android.test.<A HREF="../../../../reference/android/test/TouchUtils.html" <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.test.TouchUtils.dragQuarterScreenUp_changed(android.test.ActivityInstrumentationTestCase)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragQuarterScreenUp(android.test.ActivityInstrumentationTestCase)" target="_top"><xfont size="+1"><tt>dragQuarterScreenUp</tt></font></A>(<code>ActivityInstrumentationTestCase</code>) </nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragQuarterScreenUp(android.test.ActivityInstrumentationTestCase)" target="_top"><code>dragQuarterScreenUp</code></A>(<code>ActivityInstrumentationTestCase</code>) </nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> @@ -221,7 +242,7 @@ Class android.test.<A HREF="../../../../reference/android/test/TouchUtils.html" <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.test.TouchUtils.dragViewBy_changed(android.test.ActivityInstrumentationTestCase, android.view.View, int, int, int)"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragViewBy(android.test.ActivityInstrumentationTestCase, android.view.View, int, int, int)" target="_top"><xfont size="+1"><tt>dragViewBy</tt></font></A>(<code>ActivityInstrumentationTestCase,</nobr> View<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>) </nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragViewBy(android.test.ActivityInstrumentationTestCase, android.view.View, int, int, int)" target="_top"><code>dragViewBy</code></A>(<code>ActivityInstrumentationTestCase,</nobr> View<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>) </nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> @@ -231,7 +252,7 @@ Class android.test.<A HREF="../../../../reference/android/test/TouchUtils.html" <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.test.TouchUtils.dragViewTo_changed(android.test.ActivityInstrumentationTestCase, android.view.View, int, int, int)"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragViewTo(android.test.ActivityInstrumentationTestCase, android.view.View, int, int, int)" target="_top"><xfont size="+1"><tt>dragViewTo</tt></font></A>(<code>ActivityInstrumentationTestCase,</nobr> View<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>) </nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragViewTo(android.test.ActivityInstrumentationTestCase, android.view.View, int, int, int)" target="_top"><code>dragViewTo</code></A>(<code>ActivityInstrumentationTestCase,</nobr> View<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>) </nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> @@ -241,27 +262,17 @@ Class android.test.<A HREF="../../../../reference/android/test/TouchUtils.html" <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.test.TouchUtils.dragViewToBottom_changed(android.test.ActivityInstrumentationTestCase, android.view.View)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragViewToBottom(android.test.ActivityInstrumentationTestCase, android.view.View)" target="_top"><xfont size="+1"><tt>dragViewToBottom</tt></font></A>(<code>ActivityInstrumentationTestCase,</nobr> View<nobr><nobr></code>) </nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragViewToBottom(android.test.ActivityInstrumentationTestCase, android.view.View)" target="_top"><code>dragViewToBottom</code></A>(<code>ActivityInstrumentationTestCase,</nobr> View<nobr><nobr></code>) </nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> </TD> <TD> </TD> </TR> -<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> - <TD VALIGN="TOP" WIDTH="25%"> - <A NAME="android.test.TouchUtils.dragViewToBottom_changed(android.test.InstrumentationTestCase, android.app.Activity, android.view.View)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragViewToBottom(android.test.InstrumentationTestCase, android.app.Activity, android.view.View)" target="_top"><xfont size="+1"><tt>dragViewToBottom</tt></font></A>(<code>InstrumentationTestCase,</nobr> Activity<nobr>,</nobr> View<nobr><nobr></code>) </nobr> - </TD> - <TD VALIGN="TOP" WIDTH="30%"> -Change in signature from (<code>ActivityInstrumentationTestCase, View, int</code>) to (<code>InstrumentationTestCase, Activity, View</code>).<br> - </TD> - <TD> </TD> -</TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.test.TouchUtils.dragViewToTop_changed(android.test.ActivityInstrumentationTestCase, android.view.View)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragViewToTop(android.test.ActivityInstrumentationTestCase, android.view.View)" target="_top"><xfont size="+1"><tt>dragViewToTop</tt></font></A>(<code>ActivityInstrumentationTestCase,</nobr> View<nobr><nobr></code>) </nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragViewToTop(android.test.ActivityInstrumentationTestCase, android.view.View)" target="_top"><code>dragViewToTop</code></A>(<code>ActivityInstrumentationTestCase,</nobr> View<nobr><nobr></code>) </nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> @@ -271,7 +282,7 @@ Change in signature from (<code>ActivityInstrumentationTestCase, View, int</code <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.test.TouchUtils.dragViewToTop_changed(android.test.ActivityInstrumentationTestCase, android.view.View, int)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragViewToTop(android.test.ActivityInstrumentationTestCase, android.view.View, int)" target="_top"><xfont size="+1"><tt>dragViewToTop</tt></font></A>(<code>ActivityInstrumentationTestCase,</nobr> View<nobr>,</nobr> int<nobr><nobr></code>) </nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragViewToTop(android.test.ActivityInstrumentationTestCase, android.view.View, int)" target="_top"><code>dragViewToTop</code></A>(<code>ActivityInstrumentationTestCase,</nobr> View<nobr>,</nobr> int<nobr><nobr></code>) </nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> @@ -281,7 +292,7 @@ Change in signature from (<code>ActivityInstrumentationTestCase, View, int</code <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.test.TouchUtils.dragViewToX_changed(android.test.ActivityInstrumentationTestCase, android.view.View, int, int)"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragViewToX(android.test.ActivityInstrumentationTestCase, android.view.View, int, int)" target="_top"><xfont size="+1"><tt>dragViewToX</tt></font></A>(<code>ActivityInstrumentationTestCase,</nobr> View<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>) </nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragViewToX(android.test.ActivityInstrumentationTestCase, android.view.View, int, int)" target="_top"><code>dragViewToX</code></A>(<code>ActivityInstrumentationTestCase,</nobr> View<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>) </nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> @@ -291,7 +302,7 @@ Change in signature from (<code>ActivityInstrumentationTestCase, View, int</code <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.test.TouchUtils.dragViewToY_changed(android.test.ActivityInstrumentationTestCase, android.view.View, int, int)"></A> - <nobr><code>int</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragViewToY(android.test.ActivityInstrumentationTestCase, android.view.View, int, int)" target="_top"><xfont size="+1"><tt>dragViewToY</tt></font></A>(<code>ActivityInstrumentationTestCase,</nobr> View<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>) </nobr> + <nobr><code>int</code> <A HREF="../../../../reference/android/test/TouchUtils.html#dragViewToY(android.test.ActivityInstrumentationTestCase, android.view.View, int, int)" target="_top"><code>dragViewToY</code></A>(<code>ActivityInstrumentationTestCase,</nobr> View<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>) </nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> @@ -301,7 +312,7 @@ Change in signature from (<code>ActivityInstrumentationTestCase, View, int</code <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.test.TouchUtils.longClickView_changed(android.test.ActivityInstrumentationTestCase, android.view.View)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#longClickView(android.test.ActivityInstrumentationTestCase, android.view.View)" target="_top"><xfont size="+1"><tt>longClickView</tt></font></A>(<code>ActivityInstrumentationTestCase,</nobr> View<nobr><nobr></code>) </nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#longClickView(android.test.ActivityInstrumentationTestCase, android.view.View)" target="_top"><code>longClickView</code></A>(<code>ActivityInstrumentationTestCase,</nobr> View<nobr><nobr></code>) </nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> @@ -311,7 +322,7 @@ Change in signature from (<code>ActivityInstrumentationTestCase, View, int</code <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.test.TouchUtils.scrollToBottom_changed(android.test.ActivityInstrumentationTestCase, android.view.ViewGroup)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#scrollToBottom(android.test.ActivityInstrumentationTestCase, android.view.ViewGroup)" target="_top"><xfont size="+1"><tt>scrollToBottom</tt></font></A>(<code>ActivityInstrumentationTestCase,</nobr> ViewGroup<nobr><nobr></code>) </nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#scrollToBottom(android.test.ActivityInstrumentationTestCase, android.view.ViewGroup)" target="_top"><code>scrollToBottom</code></A>(<code>ActivityInstrumentationTestCase,</nobr> ViewGroup<nobr><nobr></code>) </nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> @@ -321,7 +332,7 @@ Change in signature from (<code>ActivityInstrumentationTestCase, View, int</code <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.test.TouchUtils.scrollToTop_changed(android.test.ActivityInstrumentationTestCase, android.view.ViewGroup)"></A> - <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#scrollToTop(android.test.ActivityInstrumentationTestCase, android.view.ViewGroup)" target="_top"><xfont size="+1"><tt>scrollToTop</tt></font></A>(<code>ActivityInstrumentationTestCase,</nobr> ViewGroup<nobr><nobr></code>) </nobr> + <nobr><code>void</code> <A HREF="../../../../reference/android/test/TouchUtils.html#scrollToTop(android.test.ActivityInstrumentationTestCase, android.view.ViewGroup)" target="_top"><code>scrollToTop</code></A>(<code>ActivityInstrumentationTestCase,</nobr> ViewGroup<nobr><nobr></code>) </nobr> </TD> <TD VALIGN="TOP" WIDTH="30%"> <b>Now deprecated</b>.<br> diff --git a/docs/html/sdk/api_diff/3/changes/android.test.mock.MockPackageManager.html b/docs/html/sdk/api_diff/3/changes/android.test.mock.MockPackageManager.html index 8e727f35f6b83b601ae811f53cad8ea0f760301a..ff4e6071c009a97d54c931bb062e70f144628111 100644 --- a/docs/html/sdk/api_diff/3/changes/android.test.mock.MockPackageManager.html +++ b/docs/html/sdk/api_diff/3/changes/android.test.mock.MockPackageManager.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.test.mock.<A HREF="../../../../reference/android/test/mock/MockPackageManager.html" target="_top"><font size="+3"><tt>MockPackageManager</tt></font></A> +Class android.test.mock.<A HREF="../../../../reference/android/test/mock/MockPackageManager.html" target="_top"><font size="+2"><code>MockPackageManager</code></font></A> </H2> <a NAME="constructors"></a> <a NAME="methods"></a> @@ -85,21 +84,21 @@ Class android.test.mock.<A HREF="../../../../reference/android/test/mock/MockPac <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.test.mock.MockPackageManager.getLaunchIntentForPackage_added(java.lang.String)"></A> - <nobr><code>Intent</code> <A HREF="../../../../reference/android/test/mock/MockPackageManager.html#getLaunchIntentForPackage(java.lang.String)" target="_top"><xfont size="+1"><tt>getLaunchIntentForPackage</tt></font></A>(<code>String</code>)</nobr> + <nobr><code>Intent</code> <A HREF="../../../../reference/android/test/mock/MockPackageManager.html#getLaunchIntentForPackage(java.lang.String)" target="_top"><code>getLaunchIntentForPackage</code></A>(<code>String</code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.test.mock.MockPackageManager.getSystemSharedLibraryNames_added()"></A> - <nobr><code>String[]</code> <A HREF="../../../../reference/android/test/mock/MockPackageManager.html#getSystemSharedLibraryNames()" target="_top"><xfont size="+1"><tt>getSystemSharedLibraryNames</tt></font></A>()</nobr> + <nobr><code>String[]</code> <A HREF="../../../../reference/android/test/mock/MockPackageManager.html#getSystemSharedLibraryNames()" target="_top"><code>getSystemSharedLibraryNames</code></A>()</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.test.mock.MockPackageManager.isSafeMode_added()"></A> - <nobr><code>boolean</code> <A HREF="../../../../reference/android/test/mock/MockPackageManager.html#isSafeMode()" target="_top"><xfont size="+1"><tt>isSafeMode</tt></font></A>()</nobr> + <nobr><code>boolean</code> <A HREF="../../../../reference/android/test/mock/MockPackageManager.html#isSafeMode()" target="_top"><code>isSafeMode</code></A>()</nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.test.suitebuilder.TestMethod.html b/docs/html/sdk/api_diff/3/changes/android.test.suitebuilder.TestMethod.html index 52467f3fbb2fd6b520fbaec366c28ac1daeae73a..e98d2805533371a0bdaa6ce3afb7f789aadcf549 100644 --- a/docs/html/sdk/api_diff/3/changes/android.test.suitebuilder.TestMethod.html +++ b/docs/html/sdk/api_diff/3/changes/android.test.suitebuilder.TestMethod.html @@ -22,7 +22,6 @@ body{overflow:auto;} </style> </noscript> <style type="text/css"> -body{background-image:url();padding:12px;} </style> </HEAD> <BODY> @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} </tr> <tr> <td class="diffspec">Generated</td> - <td class="diffvalue">2009.04.20 09:15</td> + <td class="diffvalue">2009.11.19 19:35</td> </tr> </table> </div><!-- End and-diff-id --> @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} </div> <!-- End and-diff-id --> </div> <!-- End headerRight --> </div> <!-- End header --> -<div id="body-content"> +<div id="body-content" xstyle="padding:12px;padding-right:18px;"> <div id="doc-content" style="position:relative;"> <div id="mainBodyFluid"> <H2> -Class android.test.suitebuilder.<A HREF="../../../../reference/android/test/suitebuilder/TestMethod.html" target="_top"><font size="+3"><tt>TestMethod</tt></font></A> +Class android.test.suitebuilder.<A HREF="../../../../reference/android/test/suitebuilder/TestMethod.html" target="_top"><font size="+2"><code>TestMethod</code></font></A> </H2> <a NAME="constructors"></a> <p> @@ -84,14 +83,14 @@ Class android.test.suitebuilder.<A HREF="../../../../reference/android/test/suit <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.test.suitebuilder.TestMethod.ctor_added(java.lang.String, java.lang.Class<? extends junit.framework.TestCase>)"></A> - <nobr><A HREF="../../../../reference/android/test/suitebuilder/TestMethod.html#TestMethod(java.lang.String, java.lang.Class<? extends junit.framework.TestCase>)" target="_top"><xfont size="+1"><tt>TestMethod</tt></font></A>(<code>String,</nobr> Class<TestCase><nobr><nobr></code>)</nobr> + <nobr><A HREF="../../../../reference/android/test/suitebuilder/TestMethod.html#TestMethod(java.lang.String, java.lang.Class<? extends junit.framework.TestCase>)" target="_top"><code>TestMethod</code></A>(<code>String,</nobr> Class<TestCase><nobr><nobr></code>)</nobr> </TD> <TD> </TD> </TR> <TR BGCOLOR="#FFFFFF" CLASS="TableRowColor"> <TD VALIGN="TOP" WIDTH="25%"> <A NAME="android.test.suitebuilder.TestMethod.ctor_added(junit.framework.TestCase)"></A> - <nobr><A HREF="../../../../reference/android/test/suitebuilder/TestMethod.html#TestMethod(junit.framework.TestCase)" target="_top"><xfont size="+1"><tt>TestMethod</tt></font></A>(<code>TestCase</code>)</nobr> + <nobr><A HREF="../../../../reference/android/test/suitebuilder/TestMethod.html#TestMethod(junit.framework.TestCase)" target="_top"><code>TestMethod</code></A>(<code>TestCase</code>)</nobr> </TD> <TD> </TD> </TR> diff --git a/docs/html/sdk/api_diff/3/changes/android.test.suitebuilder.TestSuiteBuilder.html b/docs/html/sdk/api_diff/3/changes/android.test.suitebuilder.TestSuiteBuilder.html deleted file mode 100644 index 548f473b72f56b54b04055279267f41c27df5861..0000000000000000000000000000000000000000 --- a/docs/html/sdk/api_diff/3/changes/android.test.suitebuilder.TestSuiteBuilder.html +++ /dev/null @@ -1,126 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> -<HTML style="overflow:auto;"> -<HEAD> -<meta name="generator" content="JDiff v1.1.0"> -<!-- Generated by the JDiff Javadoc doclet --> -<!-- (http://www.jdiff.org) --> -<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared."> -<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet"> -<TITLE> -android.test.suitebuilder.TestSuiteBuilder - - - - - - - - - - -
      -
      -
      -

      -Class android.test.suitebuilder.TestSuiteBuilder -

      - - -

      - - - - - - - - - -
      Changed Methods -
      - - TestSuiteBuilder addRequirements(Predicate<TestMethod>) - -Change in signature from void to Predicate<TestMethod>.
      -
       
      -  - -

      - -
      -
      - - - - diff --git a/docs/html/sdk/api_diff/3/changes/android.text.Annotation.html b/docs/html/sdk/api_diff/3/changes/android.text.Annotation.html index 863f172ffa65ff5f9b6807dfadd30a86d81da974..cc1c872a7a8a53c322b80c1cfba4ed2157aedf77 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.Annotation.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.Annotation.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35 @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;} -
      +

      -Class android.text.Annotation +Class android.text.Annotation

      Added interface android.text.ParcelableSpan.
      @@ -85,7 +84,7 @@ Class android.text. - Annotation(Parcel) + Annotation(Parcel)   @@ -101,21 +100,21 @@ Class android.text. - int describeContents() + int describeContents()   - int getSpanTypeId() + int getSpanTypeId()   - void writeToParcel(Parcel, int) + void writeToParcel(Parcel, int)   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.AutoText.html b/docs/html/sdk/api_diff/3/changes/android.text.AutoText.html index 04ef46d33271e7d5626c74150ca7f851690932d5..fe1dac89321d0f01e94b26b5e5248b02e8b9c282 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.AutoText.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.AutoText.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.AutoText +Class android.text.AutoText

      @@ -85,7 +84,7 @@ Class android.text. - int getSize(View) + int getSize(View)   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.SpanWatcher.html b/docs/html/sdk/api_diff/3/changes/android.text.SpanWatcher.html index fd9943a56ff21f0c67db73a237f700ea74e05880..83524fd326612460e22c8aa287037377d6dc3f7a 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.SpanWatcher.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.SpanWatcher.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Interface android.text.SpanWatcher +Interface android.text.SpanWatcher

      Added interface android.text.NoCopySpan.
      diff --git a/docs/html/sdk/api_diff/3/changes/android.text.Spanned.html b/docs/html/sdk/api_diff/3/changes/android.text.Spanned.html index 1c861979d67176b6fca94feb2f168aaa2b708be0..0997f18ae2cc95b932865d5fb9ea0b66fd7c382d 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.Spanned.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.Spanned.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Interface android.text.Spanned +Interface android.text.Spanned

      @@ -86,21 +85,21 @@ Interface android.text. - int SPAN_COMPOSING + int SPAN_COMPOSING   - int SPAN_INTERMEDIATE + int SPAN_INTERMEDIATE   - int SPAN_POINT_MARK_MASK + int SPAN_POINT_MARK_MASK   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.TextUtils.html b/docs/html/sdk/api_diff/3/changes/android.text.TextUtils.html index 9fc8dae935ee9a2947f4f156ef5a0a610c504126..daf972483464b116f012ac8c09288b4643f87135 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.TextUtils.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.TextUtils.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.TextUtils +Class android.text.TextUtils

      @@ -85,14 +84,14 @@ Class android.text. - void dumpSpans(CharSequence, Printer, String) + void dumpSpans(CharSequence, Printer, String)   - int getCapsMode(CharSequence, int, int) + int getCapsMode(CharSequence, int, int)   @@ -108,21 +107,21 @@ Class android.text. - int CAP_MODE_CHARACTERS + int CAP_MODE_CHARACTERS   - int CAP_MODE_SENTENCES + int CAP_MODE_SENTENCES   - int CAP_MODE_WORDS + int CAP_MODE_WORDS   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.TextWatcher.html b/docs/html/sdk/api_diff/3/changes/android.text.TextWatcher.html index a3856f851c10205b84f9fe34e34e1dbb8ce121ab..4507a9f9b46a789845f8d6b47775f48de09b2b8b 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.TextWatcher.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.TextWatcher.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Interface android.text.TextWatcher +Interface android.text.TextWatcher

      Added interface android.text.NoCopySpan.
      diff --git a/docs/html/sdk/api_diff/3/changes/android.text.method.ArrowKeyMovementMethod.html b/docs/html/sdk/api_diff/3/changes/android.text.method.ArrowKeyMovementMethod.html index 6a1ce5eda08086cd61152c47d0952f9eb17b9f20..9842e35e7186008eb7d84320615381c34d59edf0 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.method.ArrowKeyMovementMethod.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.method.ArrowKeyMovementMethod.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.method.ArrowKeyMovementMethod +Class android.text.method.ArrowKeyMovementMethod

      @@ -85,7 +84,7 @@ Class android.text.method. - boolean onKeyOther(TextView, Spannable, KeyEvent) + boolean onKeyOther(TextView, Spannable, KeyEvent)   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.method.BaseKeyListener.html b/docs/html/sdk/api_diff/3/changes/android.text.method.BaseKeyListener.html index b8dddc31cea3fb23d124ee844e4b4ad7dce9e085..5771069ed6d72ac130bca1598dd3a297ee3a5367 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.method.BaseKeyListener.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.method.BaseKeyListener.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.method.BaseKeyListener +Class android.text.method.BaseKeyListener

      @@ -85,7 +84,7 @@ Class android.text.method. - boolean onKeyOther(View, Editable, KeyEvent) + boolean onKeyOther(View, Editable, KeyEvent)   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.method.DateKeyListener.html b/docs/html/sdk/api_diff/3/changes/android.text.method.DateKeyListener.html index d49752c259cfb3f1145ba455ef76a96e8425b529..55d951bd78b7229906adb92aadb07a85ca48f554 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.method.DateKeyListener.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.method.DateKeyListener.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.method.DateKeyListener +Class android.text.method.DateKeyListener

      @@ -85,7 +84,7 @@ Class android.text.method. - int getInputType() + int getInputType()   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.method.DateTimeKeyListener.html b/docs/html/sdk/api_diff/3/changes/android.text.method.DateTimeKeyListener.html index 82734d3833ef5c2980f2dfab66c0544289557cfc..fdc0694214549e6a4bf9ec1c3bc3d2a8f25a9de1 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.method.DateTimeKeyListener.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.method.DateTimeKeyListener.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.method.DateTimeKeyListener +Class android.text.method.DateTimeKeyListener

      @@ -85,7 +84,7 @@ Class android.text.method. - int getInputType() + int getInputType()   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.method.DialerKeyListener.html b/docs/html/sdk/api_diff/3/changes/android.text.method.DialerKeyListener.html index 435e701ed6891909ea648451127e31828db31d9e..665ddfb76008966e29c8da4090e43879b0f11c4e 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.method.DialerKeyListener.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.method.DialerKeyListener.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.method.DialerKeyListener +Class android.text.method.DialerKeyListener

      @@ -85,7 +84,7 @@ Class android.text.method. - int getInputType() + int getInputType()   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.method.DigitsKeyListener.html b/docs/html/sdk/api_diff/3/changes/android.text.method.DigitsKeyListener.html index f33d5fe695bd1809050f249571d2567004238eb0..e61658991e533520bd3b33ea7a25e03abc74bf0b 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.method.DigitsKeyListener.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.method.DigitsKeyListener.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.method.DigitsKeyListener +Class android.text.method.DigitsKeyListener

      @@ -85,7 +84,7 @@ Class android.text.method. - int getInputType() + int getInputType()   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.method.KeyListener.html b/docs/html/sdk/api_diff/3/changes/android.text.method.KeyListener.html index 2b24f03c022d3333e240782d9aff6b802ddb846f..e130b45f0cd7f11ab15c6e9f88a7fecd4648e5da 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.method.KeyListener.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.method.KeyListener.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Interface android.text.method.KeyListener +Interface android.text.method.KeyListener

      @@ -85,21 +84,21 @@ Interface android.text.method. - void clearMetaKeyState(View, Editable, int) + void clearMetaKeyState(View, Editable, int)   - int getInputType() + int getInputType()   - boolean onKeyOther(View, Editable, KeyEvent) + boolean onKeyOther(View, Editable, KeyEvent)   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.method.MetaKeyKeyListener.html b/docs/html/sdk/api_diff/3/changes/android.text.method.MetaKeyKeyListener.html index ecdedc1edb85be162124965e91c9c9d8801e3337..718952d6ec2483a0f922feb190172515f964db52 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.method.MetaKeyKeyListener.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.method.MetaKeyKeyListener.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.method.MetaKeyKeyListener +Class android.text.method.MetaKeyKeyListener

      @@ -85,70 +84,70 @@ Class android.text.method. - long adjustMetaAfterKeypress(long) + long adjustMetaAfterKeypress(long)   - long clearMetaKeyState(long, int) + long clearMetaKeyState(long, int)   - void clearMetaKeyState(View, Editable, int) + void clearMetaKeyState(View, Editable, int)   - void clearMetaKeyState(Editable, int) + void clearMetaKeyState(Editable, int)   - int getMetaState(long) + int getMetaState(long)   - int getMetaState(long, int) + int getMetaState(long, int)   - long handleKeyDown(long, int, KeyEvent) + long handleKeyDown(long, int, KeyEvent)   - long handleKeyUp(long, int, KeyEvent) + long handleKeyUp(long, int, KeyEvent)   - boolean isSelectingMetaTracker(CharSequence, Object) + boolean isSelectingMetaTracker(CharSequence, Object)   - long resetLockedMeta(long) + long resetLockedMeta(long)   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.method.MovementMethod.html b/docs/html/sdk/api_diff/3/changes/android.text.method.MovementMethod.html index a86dff5fea5643d0e8c8d7a421e568eb4f2e753f..a35816b3ef4a6de52d5b2ec7eaad3f8e57b3c762 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.method.MovementMethod.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.method.MovementMethod.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Interface android.text.method.MovementMethod +Interface android.text.method.MovementMethod

      @@ -85,7 +84,7 @@ Interface android.text.method. - boolean onKeyOther(TextView, Spannable, KeyEvent) + boolean onKeyOther(TextView, Spannable, KeyEvent)   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.method.MultiTapKeyListener.html b/docs/html/sdk/api_diff/3/changes/android.text.method.MultiTapKeyListener.html index b7c2f52694ec0354104780b79e3d11b59b84e05d..5dbcb76ca88ee32163c0574080a85310dd1a5f1f 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.method.MultiTapKeyListener.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.method.MultiTapKeyListener.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.method.MultiTapKeyListener +Class android.text.method.MultiTapKeyListener

      @@ -85,7 +84,7 @@ Class android.text.method. - int getInputType() + int getInputType()   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.method.QwertyKeyListener.html b/docs/html/sdk/api_diff/3/changes/android.text.method.QwertyKeyListener.html index fff86c659b1300ed598055f62f2a3d8a24cd3d8b..248d333c005aeaa6873c2b040a03ea845661e891 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.method.QwertyKeyListener.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.method.QwertyKeyListener.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.method.QwertyKeyListener +Class android.text.method.QwertyKeyListener

      @@ -85,7 +84,7 @@ Class android.text.method. - int getInputType() + int getInputType()   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.method.ScrollingMovementMethod.html b/docs/html/sdk/api_diff/3/changes/android.text.method.ScrollingMovementMethod.html index acf5dcd844aafbb2b05ebd0a389006ea328e93e2..7f01b23cf3334bc99e7b415e2efcba99f6bcd30d 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.method.ScrollingMovementMethod.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.method.ScrollingMovementMethod.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.method.ScrollingMovementMethod +Class android.text.method.ScrollingMovementMethod

      @@ -85,7 +84,7 @@ Class android.text.method. - boolean onKeyOther(TextView, Spannable, KeyEvent) + boolean onKeyOther(TextView, Spannable, KeyEvent)   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.method.TextKeyListener.html b/docs/html/sdk/api_diff/3/changes/android.text.method.TextKeyListener.html index f905b3fe75f36f314798984c53291ee7a23921d4..132e8ac304600930afc877ec9f401ad4c74eac35 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.method.TextKeyListener.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.method.TextKeyListener.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.method.TextKeyListener +Class android.text.method.TextKeyListener

      @@ -85,7 +84,7 @@ Class android.text.method. - int getInputType() + int getInputType()   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.method.TimeKeyListener.html b/docs/html/sdk/api_diff/3/changes/android.text.method.TimeKeyListener.html index 0545b2fb42662eb29ed3bbde6918c3639bde29e9..0b69f9625606ceb4c1699d08f1f32d38d408900a 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.method.TimeKeyListener.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.method.TimeKeyListener.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.method.TimeKeyListener +Class android.text.method.TimeKeyListener

      @@ -85,7 +84,7 @@ Class android.text.method. - int getInputType() + int getInputType()   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.method.Touch.html b/docs/html/sdk/api_diff/3/changes/android.text.method.Touch.html index fd0f64a6a3c8869395f1d7187b265be65ecc91fd..8ee56c8a2ba625f43271e167b76fc2c44f446b74 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.method.Touch.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.method.Touch.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.method.Touch +Class android.text.method.Touch

      @@ -85,14 +84,14 @@ Class android.text.method. - int getInitialScrollX(TextView, Spannable) + int getInitialScrollX(TextView, Spannable)   - int getInitialScrollY(TextView, Spannable) + int getInitialScrollY(TextView, Spannable)   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.style.AbsoluteSizeSpan.html b/docs/html/sdk/api_diff/3/changes/android.text.style.AbsoluteSizeSpan.html index 32b1098ef891f5e847a697b684b98263998659f1..bce6cac92e1fec5d5291de84d89196e0823d87b5 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.style.AbsoluteSizeSpan.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.style.AbsoluteSizeSpan.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.style.AbsoluteSizeSpan +Class android.text.style.AbsoluteSizeSpan

      Added interface android.text.ParcelableSpan.
      @@ -85,7 +84,7 @@ Class android.text.style. - AbsoluteSizeSpan(Parcel) + AbsoluteSizeSpan(Parcel)   @@ -101,21 +100,21 @@ Class android.text.style. - int describeContents() + int describeContents()   - int getSpanTypeId() + int getSpanTypeId()   - void writeToParcel(Parcel, int) + void writeToParcel(Parcel, int)   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.style.AlignmentSpan.Standard.html b/docs/html/sdk/api_diff/3/changes/android.text.style.AlignmentSpan.Standard.html index 86b03d47bbfbee46b6ee6bda25e8aaa2963f73f1..c05042e75dd88c4039f2faede1f179cd28ab3964 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.style.AlignmentSpan.Standard.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.style.AlignmentSpan.Standard.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.style.AlignmentSpan.Standard +Class android.text.style.AlignmentSpan.Standard

      Added interface android.text.ParcelableSpan.
      @@ -85,7 +84,7 @@ Class android.text.style. - AlignmentSpan.Standard(Parcel) + AlignmentSpan.Standard(Parcel)   @@ -101,21 +100,21 @@ Class android.text.style. - int describeContents() + int describeContents()   - int getSpanTypeId() + int getSpanTypeId()   - void writeToParcel(Parcel, int) + void writeToParcel(Parcel, int)   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.style.BackgroundColorSpan.html b/docs/html/sdk/api_diff/3/changes/android.text.style.BackgroundColorSpan.html index b7705aaee5f18ec60bca30777e8f09ce8c45aca6..f6f111a7ef051e44239074fc6b32d18d305bdfc8 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.style.BackgroundColorSpan.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.style.BackgroundColorSpan.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.style.BackgroundColorSpan +Class android.text.style.BackgroundColorSpan

      Added interfaces android.text.ParcelableSpan, android.text.style.UpdateAppearance.
      @@ -85,7 +84,7 @@ Class android.text.style. - BackgroundColorSpan(Parcel) + BackgroundColorSpan(Parcel)   @@ -101,21 +100,21 @@ Class android.text.style. - int describeContents() + int describeContents()   - int getSpanTypeId() + int getSpanTypeId()   - void writeToParcel(Parcel, int) + void writeToParcel(Parcel, int)   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.style.BulletSpan.html b/docs/html/sdk/api_diff/3/changes/android.text.style.BulletSpan.html index 10f6d2aa0445a9f0762c9ef193a0a0e2932267eb..6c1afa4097deb1ebc4000870b9331d8b9380d9b6 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.style.BulletSpan.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.style.BulletSpan.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.style.BulletSpan +Class android.text.style.BulletSpan

      Added interface android.text.ParcelableSpan.
      @@ -85,7 +84,7 @@ Class android.text.style. - BulletSpan(Parcel) + BulletSpan(Parcel)   @@ -101,21 +100,21 @@ Class android.text.style. - int describeContents() + int describeContents()   - int getSpanTypeId() + int getSpanTypeId()   - void writeToParcel(Parcel, int) + void writeToParcel(Parcel, int)   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.style.ClickableSpan.html b/docs/html/sdk/api_diff/3/changes/android.text.style.ClickableSpan.html index 0d7fecb93a4d44641799ee0785076a777c38ee7f..d6665d83a209087f6b50d39253e68134bcc00793 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.style.ClickableSpan.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.style.ClickableSpan.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.style.ClickableSpan +Class android.text.style.ClickableSpan

      Added interface android.text.style.UpdateAppearance.
      diff --git a/docs/html/sdk/api_diff/3/changes/android.text.style.DynamicDrawableSpan.html b/docs/html/sdk/api_diff/3/changes/android.text.style.DynamicDrawableSpan.html index 2bc83fa5da736de4145b18f59c6b10cd7eb573f4..d0c72f85c0c3024ee754eb821274fdb69d9c1bef 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.style.DynamicDrawableSpan.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.style.DynamicDrawableSpan.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.style.DynamicDrawableSpan +Class android.text.style.DynamicDrawableSpan

      @@ -84,7 +83,7 @@ Class android.text.style. - DynamicDrawableSpan(int) + DynamicDrawableSpan(int)   @@ -100,7 +99,7 @@ Class android.text.style. - int getVerticalAlignment() + int getVerticalAlignment()   @@ -116,21 +115,21 @@ Class android.text.style. - int ALIGN_BASELINE + int ALIGN_BASELINE   - int ALIGN_BOTTOM + int ALIGN_BOTTOM   - int mVerticalAlignment + int mVerticalAlignment   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.style.ForegroundColorSpan.html b/docs/html/sdk/api_diff/3/changes/android.text.style.ForegroundColorSpan.html index fa483c002d9f04ff0d77c4f84614684b2e483271..2008d443db63eb6ce89525e9fba01e7369579ef9 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.style.ForegroundColorSpan.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.style.ForegroundColorSpan.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.style.ForegroundColorSpan +Class android.text.style.ForegroundColorSpan

      Added interfaces android.text.ParcelableSpan, android.text.style.UpdateAppearance.
      @@ -85,7 +84,7 @@ Class android.text.style. - ForegroundColorSpan(Parcel) + ForegroundColorSpan(Parcel)   @@ -101,21 +100,21 @@ Class android.text.style. - int describeContents() + int describeContents()   - int getSpanTypeId() + int getSpanTypeId()   - void writeToParcel(Parcel, int) + void writeToParcel(Parcel, int)   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.style.ImageSpan.html b/docs/html/sdk/api_diff/3/changes/android.text.style.ImageSpan.html index 459e2b7e510c3924c6ab21fb2b9e62674e76c736..08ba87a06a69b554cb01fa0b1505170dce811aaf 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.style.ImageSpan.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.style.ImageSpan.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.style.ImageSpan +Class android.text.style.ImageSpan

      @@ -84,35 +83,35 @@ Class android.text.style. - ImageSpan(Context, Uri, int) + ImageSpan(Context, Uri, int)   - ImageSpan(Context, int, int) + ImageSpan(Context, int, int)   - ImageSpan(Bitmap, int) + ImageSpan(Bitmap, int)   - ImageSpan(Drawable, int) + ImageSpan(Drawable, int)   - ImageSpan(Drawable, String, int) + ImageSpan(Drawable, String, int)   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.style.LeadingMarginSpan.Standard.html b/docs/html/sdk/api_diff/3/changes/android.text.style.LeadingMarginSpan.Standard.html index 922bcbc607bc28fcc05994e08ee7735b2c6d1566..77b798dfacb59771405e3ed0a5bf6c37201bac08 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.style.LeadingMarginSpan.Standard.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.style.LeadingMarginSpan.Standard.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.style.LeadingMarginSpan.Standard +Class android.text.style.LeadingMarginSpan.Standard

      Added interface android.text.ParcelableSpan.
      @@ -85,7 +84,7 @@ Class android.text.style. - LeadingMarginSpan.Standard(Parcel) + LeadingMarginSpan.Standard(Parcel)   @@ -101,21 +100,21 @@ Class android.text.style. - int describeContents() + int describeContents()   - int getSpanTypeId() + int getSpanTypeId()   - void writeToParcel(Parcel, int) + void writeToParcel(Parcel, int)   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.style.MaskFilterSpan.html b/docs/html/sdk/api_diff/3/changes/android.text.style.MaskFilterSpan.html index fbd8db93560c21d61ed69a3c484fee009a181076..c71892fb263608da01f859df7e82221d6bba1ee7 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.style.MaskFilterSpan.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.style.MaskFilterSpan.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.style.MaskFilterSpan +Class android.text.style.MaskFilterSpan

      Added interface android.text.style.UpdateAppearance.
      diff --git a/docs/html/sdk/api_diff/3/changes/android.text.style.QuoteSpan.html b/docs/html/sdk/api_diff/3/changes/android.text.style.QuoteSpan.html index 334c2233552a45eafb013ea0e255e8eb65542bfe..90dd564349739837832b50b8860ee9f840a88840 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.style.QuoteSpan.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.style.QuoteSpan.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.style.QuoteSpan +Class android.text.style.QuoteSpan

      Added interface android.text.ParcelableSpan.
      @@ -85,7 +84,7 @@ Class android.text.style. - QuoteSpan(Parcel) + QuoteSpan(Parcel)   @@ -101,21 +100,21 @@ Class android.text.style. - int describeContents() + int describeContents()   - int getSpanTypeId() + int getSpanTypeId()   - void writeToParcel(Parcel, int) + void writeToParcel(Parcel, int)   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.style.RasterizerSpan.html b/docs/html/sdk/api_diff/3/changes/android.text.style.RasterizerSpan.html index 62fb6479f8f72050ea94a86a4f723972dfe6ac3b..bac6148eceb75ffa318fcacad2476ec602609fc1 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.style.RasterizerSpan.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.style.RasterizerSpan.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.style.RasterizerSpan +Class android.text.style.RasterizerSpan

      Added interface android.text.style.UpdateAppearance.
      diff --git a/docs/html/sdk/api_diff/3/changes/android.text.style.RelativeSizeSpan.html b/docs/html/sdk/api_diff/3/changes/android.text.style.RelativeSizeSpan.html index 17d97fba524b120d7fc3b2f36b76c7fb611264dc..e9ea96426d29bdba181d47b3c6fe3205802c58f6 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.style.RelativeSizeSpan.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.style.RelativeSizeSpan.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.style.RelativeSizeSpan +Class android.text.style.RelativeSizeSpan

      Added interface android.text.ParcelableSpan.
      @@ -85,7 +84,7 @@ Class android.text.style. - RelativeSizeSpan(Parcel) + RelativeSizeSpan(Parcel)   @@ -101,21 +100,21 @@ Class android.text.style. - int describeContents() + int describeContents()   - int getSpanTypeId() + int getSpanTypeId()   - void writeToParcel(Parcel, int) + void writeToParcel(Parcel, int)   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.style.ScaleXSpan.html b/docs/html/sdk/api_diff/3/changes/android.text.style.ScaleXSpan.html index ee289f518ff290fd754ed383531be12e4d69fc26..6fafb9a8c010b31ed1b056de8c8646b339698db0 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.style.ScaleXSpan.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.style.ScaleXSpan.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.style.ScaleXSpan +Class android.text.style.ScaleXSpan

      Added interface android.text.ParcelableSpan.
      @@ -85,7 +84,7 @@ Class android.text.style. - ScaleXSpan(Parcel) + ScaleXSpan(Parcel)   @@ -101,21 +100,21 @@ Class android.text.style. - int describeContents() + int describeContents()   - int getSpanTypeId() + int getSpanTypeId()   - void writeToParcel(Parcel, int) + void writeToParcel(Parcel, int)   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.style.StrikethroughSpan.html b/docs/html/sdk/api_diff/3/changes/android.text.style.StrikethroughSpan.html index f045b964395f95add3b7d51bc78e556aeb8914b4..123f7d17d68d72a5fb876566c62fe85a097c8daa 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.style.StrikethroughSpan.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.style.StrikethroughSpan.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.style.StrikethroughSpan +Class android.text.style.StrikethroughSpan

      Added interfaces android.text.ParcelableSpan, android.text.style.UpdateAppearance.
      @@ -85,7 +84,7 @@ Class android.text.style. - StrikethroughSpan(Parcel) + StrikethroughSpan(Parcel)   @@ -101,21 +100,21 @@ Class android.text.style. - int describeContents() + int describeContents()   - int getSpanTypeId() + int getSpanTypeId()   - void writeToParcel(Parcel, int) + void writeToParcel(Parcel, int)   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.style.StyleSpan.html b/docs/html/sdk/api_diff/3/changes/android.text.style.StyleSpan.html index fcc16080d017bb71a13ad8489a867be8537c2c5e..2c2d71f6d35bbc93d8da357ec10b91fff0e82945 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.style.StyleSpan.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.style.StyleSpan.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.style.StyleSpan +Class android.text.style.StyleSpan

      Added interface android.text.ParcelableSpan.
      @@ -85,7 +84,7 @@ Class android.text.style. - StyleSpan(Parcel) + StyleSpan(Parcel)   @@ -101,21 +100,21 @@ Class android.text.style. - int describeContents() + int describeContents()   - int getSpanTypeId() + int getSpanTypeId()   - void writeToParcel(Parcel, int) + void writeToParcel(Parcel, int)   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.style.SubscriptSpan.html b/docs/html/sdk/api_diff/3/changes/android.text.style.SubscriptSpan.html index ec3d56242b156d6c710388ea19eba12a1067da09..feca47467997631333fac44e0a1200668fbd3f7c 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.style.SubscriptSpan.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.style.SubscriptSpan.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.style.SubscriptSpan +Class android.text.style.SubscriptSpan

      Added interface android.text.ParcelableSpan.
      @@ -85,7 +84,7 @@ Class android.text.style. - SubscriptSpan(Parcel) + SubscriptSpan(Parcel)   @@ -101,21 +100,21 @@ Class android.text.style. - int describeContents() + int describeContents()   - int getSpanTypeId() + int getSpanTypeId()   - void writeToParcel(Parcel, int) + void writeToParcel(Parcel, int)   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.style.SuperscriptSpan.html b/docs/html/sdk/api_diff/3/changes/android.text.style.SuperscriptSpan.html index 853be697af2423313c1c6f917f8b8b77fc66fe87..b112ec7844ca914acb40465546e5e1738f8a8b15 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.style.SuperscriptSpan.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.style.SuperscriptSpan.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.style.SuperscriptSpan +Class android.text.style.SuperscriptSpan

      Added interface android.text.ParcelableSpan.
      @@ -85,7 +84,7 @@ Class android.text.style. - SuperscriptSpan(Parcel) + SuperscriptSpan(Parcel)   @@ -101,21 +100,21 @@ Class android.text.style. - int describeContents() + int describeContents()   - int getSpanTypeId() + int getSpanTypeId()   - void writeToParcel(Parcel, int) + void writeToParcel(Parcel, int)   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.style.TextAppearanceSpan.html b/docs/html/sdk/api_diff/3/changes/android.text.style.TextAppearanceSpan.html index 719e68f0ce143cd2e8ed6b225204622f657327ac..fd3b0ea98771d66216f7ed2a7498982fe4e38148 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.style.TextAppearanceSpan.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.style.TextAppearanceSpan.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.style.TextAppearanceSpan +Class android.text.style.TextAppearanceSpan

      Added interface android.text.ParcelableSpan.
      @@ -85,7 +84,7 @@ Class android.text.style. - TextAppearanceSpan(Parcel) + TextAppearanceSpan(Parcel)   @@ -101,21 +100,21 @@ Class android.text.style. - int describeContents() + int describeContents()   - int getSpanTypeId() + int getSpanTypeId()   - void writeToParcel(Parcel, int) + void writeToParcel(Parcel, int)   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.style.TypefaceSpan.html b/docs/html/sdk/api_diff/3/changes/android.text.style.TypefaceSpan.html index 01b74e73408e84b70704b95d0b2b0121429442d8..2a3c149445a954b6169e4f06ea36dfc36fde90fb 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.style.TypefaceSpan.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.style.TypefaceSpan.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.style.TypefaceSpan +Class android.text.style.TypefaceSpan

      Added interface android.text.ParcelableSpan.
      @@ -85,7 +84,7 @@ Class android.text.style. - TypefaceSpan(Parcel) + TypefaceSpan(Parcel)   @@ -101,21 +100,21 @@ Class android.text.style. - int describeContents() + int describeContents()   - int getSpanTypeId() + int getSpanTypeId()   - void writeToParcel(Parcel, int) + void writeToParcel(Parcel, int)   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.style.URLSpan.html b/docs/html/sdk/api_diff/3/changes/android.text.style.URLSpan.html index 2a659a4e35c0c625a74e166f6b526155d3ed741f..a100c675d9b89f75e0940c95227cc3844672c505 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.style.URLSpan.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.style.URLSpan.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.style.URLSpan +Class android.text.style.URLSpan

      Added interface android.text.ParcelableSpan.
      @@ -85,7 +84,7 @@ Class android.text.style. - URLSpan(Parcel) + URLSpan(Parcel)   @@ -101,21 +100,21 @@ Class android.text.style. - int describeContents() + int describeContents()   - int getSpanTypeId() + int getSpanTypeId()   - void writeToParcel(Parcel, int) + void writeToParcel(Parcel, int)   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.style.UnderlineSpan.html b/docs/html/sdk/api_diff/3/changes/android.text.style.UnderlineSpan.html index 6c596a03da917515bf4d96a3e418c76aa50d4828..95123cedd4f17e708e260fd264d88a6d69f8509a 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.style.UnderlineSpan.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.style.UnderlineSpan.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.text.style.UnderlineSpan +Class android.text.style.UnderlineSpan

      Added interfaces android.text.ParcelableSpan, android.text.style.UpdateAppearance.
      @@ -85,7 +84,7 @@ Class android.text.style. - UnderlineSpan(Parcel) + UnderlineSpan(Parcel)   @@ -101,21 +100,21 @@ Class android.text.style. - int describeContents() + int describeContents()   - int getSpanTypeId() + int getSpanTypeId()   - void writeToParcel(Parcel, int) + void writeToParcel(Parcel, int)   diff --git a/docs/html/sdk/api_diff/3/changes/android.text.style.UpdateLayout.html b/docs/html/sdk/api_diff/3/changes/android.text.style.UpdateLayout.html index 4cca7b4334760de7af7b124ef413fd9eeb05d466..81251dc0da8d267ab6917dd3656d9cc6d10c01d7 100644 --- a/docs/html/sdk/api_diff/3/changes/android.text.style.UpdateLayout.html +++ b/docs/html/sdk/api_diff/3/changes/android.text.style.UpdateLayout.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Interface android.text.style.UpdateLayout +Interface android.text.style.UpdateLayout

      Added interface android.text.style.UpdateAppearance.
      diff --git a/docs/html/sdk/api_diff/3/changes/android.util.SparseIntArray.html b/docs/html/sdk/api_diff/3/changes/android.util.SparseIntArray.html index 5657765133fd71a64e00a25797490bb0149a6e03..6a04ea8a2987231fced4ecb4092946ab0f112769 100644 --- a/docs/html/sdk/api_diff/3/changes/android.util.SparseIntArray.html +++ b/docs/html/sdk/api_diff/3/changes/android.util.SparseIntArray.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.util.SparseIntArray +Class android.util.SparseIntArray

      @@ -85,7 +84,7 @@ Class android.util. - void removeAt(int) + void removeAt(int)   diff --git a/docs/html/sdk/api_diff/3/changes/android.util.TimeUtils.html b/docs/html/sdk/api_diff/3/changes/android.util.TimeUtils.html index 3317fae27bb3347cb6aa163c4e86b918b39c31d8..4635a73b6bf3d3819bf4874363ea51980a63c0ca 100644 --- a/docs/html/sdk/api_diff/3/changes/android.util.TimeUtils.html +++ b/docs/html/sdk/api_diff/3/changes/android.util.TimeUtils.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.util.TimeUtils +Class android.util.TimeUtils

      @@ -85,7 +84,7 @@ Class android.util. - String getTimeZoneDatabaseVersion() + String getTimeZoneDatabaseVersion()   diff --git a/docs/html/sdk/api_diff/3/changes/android.view.GestureDetector.SimpleOnGestureListener.html b/docs/html/sdk/api_diff/3/changes/android.view.GestureDetector.SimpleOnGestureListener.html index 0e00c6047a5eb0fa751f33a9ed5a3e2e453f7e03..0248e7a98c42e4957e669657aac2614f27c85b36 100644 --- a/docs/html/sdk/api_diff/3/changes/android.view.GestureDetector.SimpleOnGestureListener.html +++ b/docs/html/sdk/api_diff/3/changes/android.view.GestureDetector.SimpleOnGestureListener.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.view.GestureDetector.SimpleOnGestureListener +Class android.view.GestureDetector.SimpleOnGestureListener

      Added interface android.view.GestureDetector.OnDoubleTapListener.
      @@ -86,21 +85,21 @@ Class android.view. - boolean onDoubleTap(MotionEvent) + boolean onDoubleTap(MotionEvent)   - boolean onDoubleTapEvent(MotionEvent) + boolean onDoubleTapEvent(MotionEvent)   - boolean onSingleTapConfirmed(MotionEvent) + boolean onSingleTapConfirmed(MotionEvent)   diff --git a/docs/html/sdk/api_diff/3/changes/android.view.GestureDetector.html b/docs/html/sdk/api_diff/3/changes/android.view.GestureDetector.html index dec5a4d9da9a5f1dc989d325049cff4c2aa3d85d..c06eb5747af086f3a24d46f8bd76b9d265e5986c 100644 --- a/docs/html/sdk/api_diff/3/changes/android.view.GestureDetector.html +++ b/docs/html/sdk/api_diff/3/changes/android.view.GestureDetector.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.view.GestureDetector +Class android.view.GestureDetector

      @@ -84,14 +83,14 @@ Class android.view. - GestureDetector(Context, OnGestureListener) + GestureDetector(Context, OnGestureListener)   - GestureDetector(Context, OnGestureListener, Handler) + GestureDetector(Context, OnGestureListener, Handler)   @@ -106,7 +105,7 @@ Class android.view. - GestureDetector(OnGestureListener) + GestureDetector(OnGestureListener) Now deprecated.
      @@ -116,7 +115,7 @@ Class android.view. - GestureDetector(OnGestureListener, Handler) + GestureDetector(OnGestureListener, Handler) Now deprecated.
      @@ -135,7 +134,7 @@ Class android.view. - void setOnDoubleTapListener(OnDoubleTapListener) + void setOnDoubleTapListener(OnDoubleTapListener)   diff --git a/docs/html/sdk/api_diff/3/changes/android.view.Gravity.html b/docs/html/sdk/api_diff/3/changes/android.view.Gravity.html index 1aa10d3682fbd1c0b10eef66ced242770fe7a3d5..2d430f6e33797c42c63ed0b7605ce5fe2e9fada6 100644 --- a/docs/html/sdk/api_diff/3/changes/android.view.Gravity.html +++ b/docs/html/sdk/api_diff/3/changes/android.view.Gravity.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.view.Gravity +Class android.view.Gravity

      @@ -85,7 +84,7 @@ Class android.view. - void applyDisplay(int, Rect, Rect) + void applyDisplay(int, Rect, Rect)   @@ -101,35 +100,35 @@ Class android.view. - int AXIS_CLIP + int AXIS_CLIP   - int CLIP_HORIZONTAL + int CLIP_HORIZONTAL   - int CLIP_VERTICAL + int CLIP_VERTICAL   - int DISPLAY_CLIP_HORIZONTAL + int DISPLAY_CLIP_HORIZONTAL   - int DISPLAY_CLIP_VERTICAL + int DISPLAY_CLIP_VERTICAL   diff --git a/docs/html/sdk/api_diff/3/changes/android.view.KeyCharacterMap.html b/docs/html/sdk/api_diff/3/changes/android.view.KeyCharacterMap.html index 7a409cbe130886f5c8868d21e27bb4d7fef0d63f..c6f5a773820630ec49e7f67014e89028c866b9d6 100644 --- a/docs/html/sdk/api_diff/3/changes/android.view.KeyCharacterMap.html +++ b/docs/html/sdk/api_diff/3/changes/android.view.KeyCharacterMap.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.view.KeyCharacterMap +Class android.view.KeyCharacterMap

      @@ -85,14 +84,14 @@ Class android.view. - boolean deviceHasKey(int) + boolean deviceHasKey(int)   - boolean[] deviceHasKeys(int[]) + boolean[] deviceHasKeys(int[])   diff --git a/docs/html/sdk/api_diff/3/changes/android.view.KeyEvent.html b/docs/html/sdk/api_diff/3/changes/android.view.KeyEvent.html index bf3ec6b22e018ef25ed8f8389b73dfae0e0b40dd..ae096926259483142acbac3b4cdc1170678f0ee6 100644 --- a/docs/html/sdk/api_diff/3/changes/android.view.KeyEvent.html +++ b/docs/html/sdk/api_diff/3/changes/android.view.KeyEvent.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.view.KeyEvent +Class android.view.KeyEvent

      @@ -84,14 +83,14 @@ Class android.view. - KeyEvent(KeyEvent) + KeyEvent(KeyEvent)   - KeyEvent(long, String, int, int) + KeyEvent(long, String, int, int)   @@ -107,35 +106,35 @@ Class android.view. - KeyEvent changeAction(KeyEvent, int) + KeyEvent changeAction(KeyEvent, int)   - KeyEvent changeFlags(KeyEvent, int) + KeyEvent changeFlags(KeyEvent, int)   - KeyEvent changeTimeRepeat(KeyEvent, long, int) + KeyEvent changeTimeRepeat(KeyEvent, long, int)   - String getCharacters() + String getCharacters()   - int getMaxKeyCode() + int getMaxKeyCode()   @@ -151,77 +150,77 @@ Class android.view. - int FLAG_EDITOR_ACTION + int FLAG_EDITOR_ACTION   - int FLAG_FROM_SYSTEM + int FLAG_FROM_SYSTEM   - int FLAG_KEEP_TOUCH_MODE + int FLAG_KEEP_TOUCH_MODE   - int FLAG_SOFT_KEYBOARD + int FLAG_SOFT_KEYBOARD   - int KEYCODE_MEDIA_FAST_FORWARD + int KEYCODE_MEDIA_FAST_FORWARD   - int KEYCODE_MEDIA_NEXT + int KEYCODE_MEDIA_NEXT   - int KEYCODE_MEDIA_PLAY_PAUSE + int KEYCODE_MEDIA_PLAY_PAUSE   - int KEYCODE_MEDIA_PREVIOUS + int KEYCODE_MEDIA_PREVIOUS   - int KEYCODE_MEDIA_REWIND + int KEYCODE_MEDIA_REWIND   - int KEYCODE_MEDIA_STOP + int KEYCODE_MEDIA_STOP   - int KEYCODE_MUTE + int KEYCODE_MUTE   @@ -236,7 +235,7 @@ Class android.view. - int MAX_KEYCODE + int MAX_KEYCODE Now deprecated.
      diff --git a/docs/html/sdk/api_diff/3/changes/android.view.Menu.html b/docs/html/sdk/api_diff/3/changes/android.view.Menu.html index 09b910a426888a3981302ae3d4ad01dfbc24081d..aa93fb8ef77c9bbdf05216dd9fd35147bc0c5907 100644 --- a/docs/html/sdk/api_diff/3/changes/android.view.Menu.html +++ b/docs/html/sdk/api_diff/3/changes/android.view.Menu.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Interface android.view.Menu +Interface android.view.Menu

      @@ -85,14 +84,14 @@ Interface android.view. - void close() + void close()   - MenuItem getItem(int) + MenuItem getItem(int)   diff --git a/docs/html/sdk/api_diff/3/changes/android.view.MotionEvent.html b/docs/html/sdk/api_diff/3/changes/android.view.MotionEvent.html index 5291df778213573655faddc6894cd8450d2f2477..41c690e0a8d0f7b397876b3b3cdcb1210f82778d 100644 --- a/docs/html/sdk/api_diff/3/changes/android.view.MotionEvent.html +++ b/docs/html/sdk/api_diff/3/changes/android.view.MotionEvent.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.view.MotionEvent +Class android.view.MotionEvent

      @@ -86,7 +85,7 @@ Class android.view. - int ACTION_OUTSIDE + int ACTION_OUTSIDE   diff --git a/docs/html/sdk/api_diff/3/changes/android.view.OrientationListener.html b/docs/html/sdk/api_diff/3/changes/android.view.OrientationListener.html index ac58489da46a311c5d2e1e3b81ff54b7262c7bf6..4b7421f2de3766bd76d5e36e6975a460ed7483ed 100644 --- a/docs/html/sdk/api_diff/3/changes/android.view.OrientationListener.html +++ b/docs/html/sdk/api_diff/3/changes/android.view.OrientationListener.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.view.OrientationListener +Class android.view.OrientationListener

      Now deprecated.
      @@ -85,7 +84,7 @@ Class android.view. - OrientationListener(Context, int) + OrientationListener(Context, int)   diff --git a/docs/html/sdk/api_diff/3/changes/android.view.View.html b/docs/html/sdk/api_diff/3/changes/android.view.View.html index ccd58a9d2c8a77736d0694216ca67a0c8d236677..86f9ca6a457b7ac032c86ba6d662ff517f224a8e 100644 --- a/docs/html/sdk/api_diff/3/changes/android.view.View.html +++ b/docs/html/sdk/api_diff/3/changes/android.view.View.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.view.View +Class android.view.View

      @@ -85,98 +84,98 @@ Class android.view. - boolean checkInputConnectionProxy(View) + boolean checkInputConnectionProxy(View)   - boolean dispatchKeyEventPreIme(KeyEvent) + boolean dispatchKeyEventPreIme(KeyEvent)   - void getWindowVisibleDisplayFrame(Rect) + void getWindowVisibleDisplayFrame(Rect)   - boolean isHapticFeedbackEnabled() + boolean isHapticFeedbackEnabled()   - boolean isInEditMode() + boolean isInEditMode()   - boolean onCheckIsTextEditor() + boolean onCheckIsTextEditor()   - InputConnection onCreateInputConnection(EditorInfo) + InputConnection onCreateInputConnection(EditorInfo)   - void onFinishTemporaryDetach() + void onFinishTemporaryDetach()   - boolean onKeyPreIme(int, KeyEvent) + boolean onKeyPreIme(int, KeyEvent)   - void onStartTemporaryDetach() + void onStartTemporaryDetach()   - boolean performHapticFeedback(int) + boolean performHapticFeedback(int)   - boolean performHapticFeedback(int, int) + boolean performHapticFeedback(int, int)   - void setHapticFeedbackEnabled(boolean) + void setHapticFeedbackEnabled(boolean)   - void setScrollContainer(boolean) + void setScrollContainer(boolean)   @@ -191,7 +190,7 @@ Class android.view. - Handler getHandler() + Handler getHandler() Change of visibility from protected to public.
      @@ -201,7 +200,7 @@ Change of visibility from protected to public.
      - void playSoundEffect(int) + void playSoundEffect(int) Change of visibility from protected to public.
      @@ -220,7 +219,7 @@ Change of visibility from protected to public.
      - int HAPTIC_FEEDBACK_ENABLED + int HAPTIC_FEEDBACK_ENABLED   diff --git a/docs/html/sdk/api_diff/3/changes/android.view.ViewConfiguration.html b/docs/html/sdk/api_diff/3/changes/android.view.ViewConfiguration.html index 0bf487c289d7889c8c1b66e7a19fe3924fc0e8d9..e1083baa9fcbe43321ce9a5332f22b335e26279d 100644 --- a/docs/html/sdk/api_diff/3/changes/android.view.ViewConfiguration.html +++ b/docs/html/sdk/api_diff/3/changes/android.view.ViewConfiguration.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.view.ViewConfiguration +Class android.view.ViewConfiguration

      @@ -84,7 +83,7 @@ Class android.view. - ViewConfiguration() + ViewConfiguration() Now deprecated.
      @@ -103,70 +102,70 @@ Class android.view. - ViewConfiguration get(Context) + ViewConfiguration get(Context)   - int getDoubleTapTimeout() + int getDoubleTapTimeout()   - int getScaledDoubleTapSlop() + int getScaledDoubleTapSlop()   - int getScaledEdgeSlop() + int getScaledEdgeSlop()   - int getScaledFadingEdgeLength() + int getScaledFadingEdgeLength()   - int getScaledMaximumDrawingCacheSize() + int getScaledMaximumDrawingCacheSize()   - int getScaledMinimumFlingVelocity() + int getScaledMinimumFlingVelocity()   - int getScaledScrollBarSize() + int getScaledScrollBarSize()   - int getScaledTouchSlop() + int getScaledTouchSlop()   - int getScaledWindowTouchSlop() + int getScaledWindowTouchSlop()   @@ -181,7 +180,7 @@ Class android.view. - int getEdgeSlop() + int getEdgeSlop() Now deprecated.
      @@ -191,7 +190,7 @@ Class android.view. - int getFadingEdgeLength() + int getFadingEdgeLength() Now deprecated.
      @@ -201,7 +200,7 @@ Class android.view. - int getMaximumDrawingCacheSize() + int getMaximumDrawingCacheSize() Now deprecated.
      @@ -211,7 +210,7 @@ Class android.view. - int getMinimumFlingVelocity() + int getMinimumFlingVelocity() Now deprecated.
      @@ -221,7 +220,7 @@ Class android.view. - int getScrollBarSize() + int getScrollBarSize() Now deprecated.
      @@ -231,7 +230,7 @@ Class android.view. - int getTouchSlop() + int getTouchSlop() Now deprecated.
      @@ -241,7 +240,7 @@ Class android.view. - int getWindowTouchSlop() + int getWindowTouchSlop() Now deprecated.
      diff --git a/docs/html/sdk/api_diff/3/changes/android.view.ViewDebug.html b/docs/html/sdk/api_diff/3/changes/android.view.ViewDebug.html index 17c0c8a34ebe3a3e04bb939339f17c0529f6fd3d..90b2d20cd9c78c8511f0cb4fc8a758dd0d8bf1aa 100644 --- a/docs/html/sdk/api_diff/3/changes/android.view.ViewDebug.html +++ b/docs/html/sdk/api_diff/3/changes/android.view.ViewDebug.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.view.ViewDebug +Class android.view.ViewDebug

      @@ -85,7 +84,7 @@ Class android.view. - void dumpCapturedView(String, Object) + void dumpCapturedView(String, Object)   diff --git a/docs/html/sdk/api_diff/3/changes/android.view.ViewGroup.html b/docs/html/sdk/api_diff/3/changes/android.view.ViewGroup.html index 589f266ff2cfa1fb9c37df237a3e935bd45ec9ac..a8457dac990e66d32047c21a3101152a33717c5d 100644 --- a/docs/html/sdk/api_diff/3/changes/android.view.ViewGroup.html +++ b/docs/html/sdk/api_diff/3/changes/android.view.ViewGroup.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.view.ViewGroup +Class android.view.ViewGroup

      @@ -85,7 +84,7 @@ Class android.view. - void setStaticTransformationsEnabled(boolean) + void setStaticTransformationsEnabled(boolean)   diff --git a/docs/html/sdk/api_diff/3/changes/android.view.ViewParent.html b/docs/html/sdk/api_diff/3/changes/android.view.ViewParent.html index 536e7e95c4fd13d860d6dd5652245310c136023a..5f9fc0279d4cec92124b1552326df2c3411a9e0e 100644 --- a/docs/html/sdk/api_diff/3/changes/android.view.ViewParent.html +++ b/docs/html/sdk/api_diff/3/changes/android.view.ViewParent.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Interface android.view.ViewParent +Interface android.view.ViewParent

      @@ -85,7 +84,7 @@ Interface android.view. - boolean requestChildRectangleOnScreen(View, Rect, boolean) + boolean requestChildRectangleOnScreen(View, Rect, boolean)   diff --git a/docs/html/sdk/api_diff/3/changes/android.view.ViewTreeObserver.html b/docs/html/sdk/api_diff/3/changes/android.view.ViewTreeObserver.html index 41753a737d448c65bb25467f0135045707b934df..6cd97242e71b66e2c10f4eae4a17da60c7fcc1c1 100644 --- a/docs/html/sdk/api_diff/3/changes/android.view.ViewTreeObserver.html +++ b/docs/html/sdk/api_diff/3/changes/android.view.ViewTreeObserver.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.view.ViewTreeObserver +Class android.view.ViewTreeObserver

      @@ -85,14 +84,14 @@ Class android.view. - void addOnScrollChangedListener(OnScrollChangedListener) + void addOnScrollChangedListener(OnScrollChangedListener)   - void removeOnScrollChangedListener(OnScrollChangedListener) + void removeOnScrollChangedListener(OnScrollChangedListener)   diff --git a/docs/html/sdk/api_diff/3/changes/android.view.Window.html b/docs/html/sdk/api_diff/3/changes/android.view.Window.html index d84eb2b11810b824fec12633bb913b1b3e6818ca..bf5347e7e4f058dad198e3d0d81762831fee3ab1 100644 --- a/docs/html/sdk/api_diff/3/changes/android.view.Window.html +++ b/docs/html/sdk/api_diff/3/changes/android.view.Window.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.view.Window +Class android.view.Window

      @@ -85,21 +84,21 @@ Class android.view. - boolean hasSoftInputMode() + boolean hasSoftInputMode()   - void setSoftInputMode(int) + void setSoftInputMode(int)   - void setWindowAnimations(int) + void setWindowAnimations(int)   diff --git a/docs/html/sdk/api_diff/3/changes/android.view.WindowManager.LayoutParams.html b/docs/html/sdk/api_diff/3/changes/android.view.WindowManager.LayoutParams.html index 7304b0ea78767593b2b94f53696087d8dc08dc23..c59fef8a2301583c25c23193a08f4e648ce781fd 100644 --- a/docs/html/sdk/api_diff/3/changes/android.view.WindowManager.LayoutParams.html +++ b/docs/html/sdk/api_diff/3/changes/android.view.WindowManager.LayoutParams.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.view.WindowManager.LayoutParams +Class android.view.WindowManager.LayoutParams

      @@ -85,7 +84,7 @@ Class android.view. - boolean mayUseInputMethod(int) + boolean mayUseInputMethod(int)   @@ -101,161 +100,161 @@ Class android.view. - int FLAG_ALT_FOCUSABLE_IM + int FLAG_ALT_FOCUSABLE_IM   - int FLAG_WATCH_OUTSIDE_TOUCH + int FLAG_WATCH_OUTSIDE_TOUCH   - int SCREEN_BRIGHTNESS_CHANGED + int SCREEN_BRIGHTNESS_CHANGED   - int SCREEN_ORIENTATION_CHANGED + int SCREEN_ORIENTATION_CHANGED   - int SOFT_INPUT_ADJUST_PAN + int SOFT_INPUT_ADJUST_PAN   - int SOFT_INPUT_ADJUST_RESIZE + int SOFT_INPUT_ADJUST_RESIZE   - int SOFT_INPUT_ADJUST_UNSPECIFIED + int SOFT_INPUT_ADJUST_UNSPECIFIED   - int SOFT_INPUT_IS_FORWARD_NAVIGATION + int SOFT_INPUT_IS_FORWARD_NAVIGATION   - int SOFT_INPUT_MASK_ADJUST + int SOFT_INPUT_MASK_ADJUST   - int SOFT_INPUT_MASK_STATE + int SOFT_INPUT_MASK_STATE   - int SOFT_INPUT_MODE_CHANGED + int SOFT_INPUT_MODE_CHANGED   - int SOFT_INPUT_STATE_ALWAYS_HIDDEN + int SOFT_INPUT_STATE_ALWAYS_HIDDEN   - int SOFT_INPUT_STATE_ALWAYS_VISIBLE + int SOFT_INPUT_STATE_ALWAYS_VISIBLE   - int SOFT_INPUT_STATE_HIDDEN + int SOFT_INPUT_STATE_HIDDEN   - int SOFT_INPUT_STATE_UNCHANGED + int SOFT_INPUT_STATE_UNCHANGED   - int SOFT_INPUT_STATE_UNSPECIFIED + int SOFT_INPUT_STATE_UNSPECIFIED   - int SOFT_INPUT_STATE_VISIBLE + int SOFT_INPUT_STATE_VISIBLE   - int TYPE_APPLICATION_ATTACHED_DIALOG + int TYPE_APPLICATION_ATTACHED_DIALOG   - int TYPE_INPUT_METHOD + int TYPE_INPUT_METHOD   - int TYPE_INPUT_METHOD_DIALOG + int TYPE_INPUT_METHOD_DIALOG   - float screenBrightness + float screenBrightness   - int screenOrientation + int screenOrientation   - int softInputMode + int softInputMode   diff --git a/docs/html/sdk/api_diff/3/changes/android.view.animation.Animation.html b/docs/html/sdk/api_diff/3/changes/android.view.animation.Animation.html index 9cdf434cb74e163554823c83a781057d61dd8e01..d0e860b1213b1cfbf89807062ca42ec767e7bf54 100644 --- a/docs/html/sdk/api_diff/3/changes/android.view.animation.Animation.html +++ b/docs/html/sdk/api_diff/3/changes/android.view.animation.Animation.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.view.animation.Animation +Class android.view.animation.Animation

      Added interface java.lang.Cloneable.
      @@ -86,21 +85,21 @@ Class android.view.animation. - long computeDurationHint() + long computeDurationHint()   - boolean isFillEnabled() + boolean isFillEnabled()   - void setFillEnabled(boolean) + void setFillEnabled(boolean)   diff --git a/docs/html/sdk/api_diff/3/changes/android.view.animation.Transformation.html b/docs/html/sdk/api_diff/3/changes/android.view.animation.Transformation.html index 8c5cbf55cf32b8ff1d597612920f3e45ef17b625..62120f6eaa9eb724435ebc0050bd5d4585f93368 100644 --- a/docs/html/sdk/api_diff/3/changes/android.view.animation.Transformation.html +++ b/docs/html/sdk/api_diff/3/changes/android.view.animation.Transformation.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.view.animation.Transformation +Class android.view.animation.Transformation

      @@ -85,7 +84,7 @@ Class android.view.animation. - String toShortString() + String toShortString()   diff --git a/docs/html/sdk/api_diff/3/changes/android.webkit.URLUtil.html b/docs/html/sdk/api_diff/3/changes/android.webkit.URLUtil.html index cff874168f2d4d1d330a2bc20d5006b3f5a5eeb3..bb49443eb7f0a131fa9c7a24eddf1ac0814295fb 100644 --- a/docs/html/sdk/api_diff/3/changes/android.webkit.URLUtil.html +++ b/docs/html/sdk/api_diff/3/changes/android.webkit.URLUtil.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.webkit.URLUtil +Class android.webkit.URLUtil

      @@ -85,7 +84,7 @@ Class android.webkit. - boolean isCookielessProxyUrl(String) + boolean isCookielessProxyUrl(String) Now deprecated.
      diff --git a/docs/html/sdk/api_diff/3/changes/android.webkit.UrlInterceptHandler.html b/docs/html/sdk/api_diff/3/changes/android.webkit.UrlInterceptHandler.html index 8664bc6e18f7a643952ad1c0fa03e561361cb4ef..ea2b6108a0521b0275305d97b1f04d0417b17d3b 100644 --- a/docs/html/sdk/api_diff/3/changes/android.webkit.UrlInterceptHandler.html +++ b/docs/html/sdk/api_diff/3/changes/android.webkit.UrlInterceptHandler.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Interface android.webkit.UrlInterceptHandler +Interface android.webkit.UrlInterceptHandler

      @@ -85,7 +84,7 @@ Interface android.webkit. - PluginData getPluginData(String, Map<String, String>) + PluginData getPluginData(String, Map<String, String>)   @@ -100,7 +99,7 @@ Interface android.webkit. - CacheResult service(String, Map<String, String>) + CacheResult service(String, Map<String, String>) Now deprecated.
      diff --git a/docs/html/sdk/api_diff/3/changes/android.webkit.UrlInterceptRegistry.html b/docs/html/sdk/api_diff/3/changes/android.webkit.UrlInterceptRegistry.html index 09d11496ddf4abfaa93083107ad83c19d5f86695..ca0addd98eaf58aa0ab6e2b57fe24144ef3eeaf5 100644 --- a/docs/html/sdk/api_diff/3/changes/android.webkit.UrlInterceptRegistry.html +++ b/docs/html/sdk/api_diff/3/changes/android.webkit.UrlInterceptRegistry.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.webkit.UrlInterceptRegistry +Class android.webkit.UrlInterceptRegistry

      @@ -85,7 +84,7 @@ Class android.webkit. - PluginData getPluginData(String, Map<String, String>) + PluginData getPluginData(String, Map<String, String>)   @@ -100,7 +99,7 @@ Class android.webkit. - CacheResult getSurrogate(String, Map<String, String>) + CacheResult getSurrogate(String, Map<String, String>) Now deprecated.
      diff --git a/docs/html/sdk/api_diff/3/changes/android.webkit.WebHistoryItem.html b/docs/html/sdk/api_diff/3/changes/android.webkit.WebHistoryItem.html index 10140196bb07441a3ca8a4933e7163187378ec55..e22308070f75166f2698b25bf1dc48b656d3c3be 100644 --- a/docs/html/sdk/api_diff/3/changes/android.webkit.WebHistoryItem.html +++ b/docs/html/sdk/api_diff/3/changes/android.webkit.WebHistoryItem.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.webkit.WebHistoryItem +Class android.webkit.WebHistoryItem

      @@ -85,7 +84,7 @@ Class android.webkit. - String getOriginalUrl() + String getOriginalUrl()   diff --git a/docs/html/sdk/api_diff/3/changes/android.webkit.WebSettings.html b/docs/html/sdk/api_diff/3/changes/android.webkit.WebSettings.html index eb421cf63ad7bbdf575ce7bbbe442cecdf399d9f..7c7161dabbef3a744f202462e5a0ae630805d9fe 100644 --- a/docs/html/sdk/api_diff/3/changes/android.webkit.WebSettings.html +++ b/docs/html/sdk/api_diff/3/changes/android.webkit.WebSettings.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.webkit.WebSettings +Class android.webkit.WebSettings

      @@ -85,42 +84,42 @@ Class android.webkit. - boolean getAllowFileAccess() + boolean getAllowFileAccess()   - boolean getBuiltInZoomControls() + boolean getBuiltInZoomControls()   - String getUserAgentString() + String getUserAgentString()   - void setAllowFileAccess(boolean) + void setAllowFileAccess(boolean)   - void setBuiltInZoomControls(boolean) + void setBuiltInZoomControls(boolean)   - void setUserAgentString(String) + void setUserAgentString(String)   @@ -135,7 +134,7 @@ Class android.webkit. - int getUserAgent() + int getUserAgent() Now deprecated.
      @@ -145,7 +144,7 @@ Class android.webkit. - void setUserAgent(int) + void setUserAgent(int) Now deprecated.
      diff --git a/docs/html/sdk/api_diff/3/changes/android.webkit.WebView.html b/docs/html/sdk/api_diff/3/changes/android.webkit.WebView.html index cd721c8fdfffd7fc2fdcbafdd7a9dccbda04ffc7..acc289cbfb2afd96d7401cc1d19e603df56f381f 100644 --- a/docs/html/sdk/api_diff/3/changes/android.webkit.WebView.html +++ b/docs/html/sdk/api_diff/3/changes/android.webkit.WebView.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.webkit.WebView +Class android.webkit.WebView

      @@ -85,49 +84,49 @@ Class android.webkit. - void clearMatches() + void clearMatches()   - int findAll(String) + int findAll(String)   - void findNext(boolean) + void findNext(boolean)   - String getOriginalUrl() + String getOriginalUrl()   - boolean restorePicture(Bundle, File) + boolean restorePicture(Bundle, File)   - boolean savePicture(Bundle, File) + boolean savePicture(Bundle, File)   - void setNetworkAvailable(boolean) + void setNetworkAvailable(boolean)   @@ -142,7 +141,7 @@ Class android.webkit. - View getZoomControls() + View getZoomControls() Now deprecated.
      @@ -152,7 +151,7 @@ Class android.webkit. - void onGlobalFocusChanged(View, View) + void onGlobalFocusChanged(View, View) Now deprecated.
      diff --git a/docs/html/sdk/api_diff/3/changes/android.widget.AbsListView.html b/docs/html/sdk/api_diff/3/changes/android.widget.AbsListView.html index 6d1ed3535a440092c9c726ffed3ff24fc3c18b81..f3dc8e74a984235cb4ccfc3eaa6bd076075efcae 100644 --- a/docs/html/sdk/api_diff/3/changes/android.widget.AbsListView.html +++ b/docs/html/sdk/api_diff/3/changes/android.widget.AbsListView.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.widget.AbsListView +Class android.widget.AbsListView

      @@ -85,35 +84,35 @@ Class android.widget. - CharSequence getTextFilter() + CharSequence getTextFilter()   - boolean isFastScrollEnabled() + boolean isFastScrollEnabled()   - boolean isSmoothScrollbarEnabled() + boolean isSmoothScrollbarEnabled()   - void setFastScrollEnabled(boolean) + void setFastScrollEnabled(boolean)   - void setSmoothScrollbarEnabled(boolean) + void setSmoothScrollbarEnabled(boolean)   diff --git a/docs/html/sdk/api_diff/3/changes/android.widget.AbsSeekBar.html b/docs/html/sdk/api_diff/3/changes/android.widget.AbsSeekBar.html index 128b31f182e9aebbfb7337ed69d4e63cf3229c76..830ea55d6f432923a526edf81eaf801572ec8a12 100644 --- a/docs/html/sdk/api_diff/3/changes/android.widget.AbsSeekBar.html +++ b/docs/html/sdk/api_diff/3/changes/android.widget.AbsSeekBar.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.widget.AbsSeekBar +Class android.widget.AbsSeekBar

      @@ -85,14 +84,14 @@ Class android.widget. - int getKeyProgressIncrement() + int getKeyProgressIncrement()   - void setKeyProgressIncrement(int) + void setKeyProgressIncrement(int)   diff --git a/docs/html/sdk/api_diff/3/changes/android.widget.AbsoluteLayout.html b/docs/html/sdk/api_diff/3/changes/android.widget.AbsoluteLayout.html index 77025f08c08e519b5b2b1e5f4b7e3df764f49b71..b43d34b25dadefd3a9923244341002c1fabc5d45 100644 --- a/docs/html/sdk/api_diff/3/changes/android.widget.AbsoluteLayout.html +++ b/docs/html/sdk/api_diff/3/changes/android.widget.AbsoluteLayout.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.widget.AbsoluteLayout +Class android.widget.AbsoluteLayout

      Now deprecated.
      diff --git a/docs/html/sdk/api_diff/3/changes/android.widget.ArrayAdapter.html b/docs/html/sdk/api_diff/3/changes/android.widget.ArrayAdapter.html index 0beed263f3fbb1729474ca2da1ed5cd71e2aeb28..e7b65ad2a3f34a9bb1d2645ef4752dfc0366f7d1 100644 --- a/docs/html/sdk/api_diff/3/changes/android.widget.ArrayAdapter.html +++ b/docs/html/sdk/api_diff/3/changes/android.widget.ArrayAdapter.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.widget.ArrayAdapter +Class android.widget.ArrayAdapter

      @@ -85,7 +84,7 @@ Class android.widget. - void sort(Comparator<? super T>) + void sort(Comparator<? super T>)   diff --git a/docs/html/sdk/api_diff/3/changes/android.widget.AutoCompleteTextView.html b/docs/html/sdk/api_diff/3/changes/android.widget.AutoCompleteTextView.html index a6e89e41b5641dc21c91a63233d33edd34ed0426..de125641d6eaab2c1041403a3795683bf79bc934 100644 --- a/docs/html/sdk/api_diff/3/changes/android.widget.AutoCompleteTextView.html +++ b/docs/html/sdk/api_diff/3/changes/android.widget.AutoCompleteTextView.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.widget.AutoCompleteTextView +Class android.widget.AutoCompleteTextView

      @@ -85,70 +84,70 @@ Class android.widget. - void clearListSelection() + void clearListSelection()   - int getDropDownAnchor() + int getDropDownAnchor()   - int getDropDownWidth() + int getDropDownWidth()   - int getListSelection() + int getListSelection()   - OnItemClickListener getOnItemClickListener() + OnItemClickListener getOnItemClickListener()   - OnItemSelectedListener getOnItemSelectedListener() + OnItemSelectedListener getOnItemSelectedListener()   - boolean isPerformingCompletion() + boolean isPerformingCompletion()   - void setDropDownAnchor(int) + void setDropDownAnchor(int)   - void setDropDownWidth(int) + void setDropDownWidth(int)   - void setListSelection(int) + void setListSelection(int)   @@ -163,7 +162,7 @@ Class android.widget. - OnItemClickListener getItemClickListener() + OnItemClickListener getItemClickListener() Now deprecated.
      @@ -173,7 +172,7 @@ Class android.widget. - OnItemSelectedListener getItemSelectedListener() + OnItemSelectedListener getItemSelectedListener() Now deprecated.
      diff --git a/docs/html/sdk/api_diff/3/changes/android.widget.Chronometer.html b/docs/html/sdk/api_diff/3/changes/android.widget.Chronometer.html index 2a82a201933a78bf372a5435b22657c2bf66ff37..428ece80299786133e23ffe2737ddb3a7d71d7fb 100644 --- a/docs/html/sdk/api_diff/3/changes/android.widget.Chronometer.html +++ b/docs/html/sdk/api_diff/3/changes/android.widget.Chronometer.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.widget.Chronometer +Class android.widget.Chronometer

      @@ -85,14 +84,14 @@ Class android.widget. - OnChronometerTickListener getOnChronometerTickListener() + OnChronometerTickListener getOnChronometerTickListener()   - void setOnChronometerTickListener(OnChronometerTickListener) + void setOnChronometerTickListener(OnChronometerTickListener)   diff --git a/docs/html/sdk/api_diff/3/changes/android.widget.CursorAdapter.html b/docs/html/sdk/api_diff/3/changes/android.widget.CursorAdapter.html index 0a890300efd132670c2e755bc05cdcc96bb07adc..d0f54917edf8432f5575a949a657a97a9af23872 100644 --- a/docs/html/sdk/api_diff/3/changes/android.widget.CursorAdapter.html +++ b/docs/html/sdk/api_diff/3/changes/android.widget.CursorAdapter.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.widget.CursorAdapter +Class android.widget.CursorAdapter

      @@ -85,7 +84,7 @@ Class android.widget. - void onContentChanged() + void onContentChanged()   @@ -100,7 +99,7 @@ Class android.widget. - int getCount() + int getCount() Change from final to non-final.
      @@ -110,7 +109,7 @@ Change from final to non-final.
      - Object getItem(int) + Object getItem(int) Change from final to non-final.
      @@ -120,7 +119,7 @@ Change from final to non-final.
      - long getItemId(int) + long getItemId(int) Change from final to non-final.
      diff --git a/docs/html/sdk/api_diff/3/changes/android.widget.GridView.html b/docs/html/sdk/api_diff/3/changes/android.widget.GridView.html index 86e019ba9ce0ba55b4ebf0512939c256eb506e39..3304a1ab18367f0597baea226b3f35a47eb57764 100644 --- a/docs/html/sdk/api_diff/3/changes/android.widget.GridView.html +++ b/docs/html/sdk/api_diff/3/changes/android.widget.GridView.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.widget.GridView +Class android.widget.GridView

      @@ -86,7 +85,7 @@ Class android.widget. - int STRETCH_SPACING_UNIFORM + int STRETCH_SPACING_UNIFORM   diff --git a/docs/html/sdk/api_diff/3/changes/android.widget.ListView.html b/docs/html/sdk/api_diff/3/changes/android.widget.ListView.html index ecaf3096e5989f6a8a008fbf8a00e269e57e1746..dbef56f2ece8fd35ad8065cf0568f5473d81978f 100644 --- a/docs/html/sdk/api_diff/3/changes/android.widget.ListView.html +++ b/docs/html/sdk/api_diff/3/changes/android.widget.ListView.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.widget.ListView +Class android.widget.ListView

      @@ -85,14 +84,14 @@ Class android.widget. - void setFooterDividersEnabled(boolean) + void setFooterDividersEnabled(boolean)   - void setHeaderDividersEnabled(boolean) + void setHeaderDividersEnabled(boolean)   diff --git a/docs/html/sdk/api_diff/3/changes/android.widget.PopupWindow.OnDismissListener.html b/docs/html/sdk/api_diff/3/changes/android.widget.PopupWindow.OnDismissListener.html index 2e08886708b916f6d011496d42481afa25f42650..7ef698de4f08b771b88160cd3d9b1e6a44ed33ee 100644 --- a/docs/html/sdk/api_diff/3/changes/android.widget.PopupWindow.OnDismissListener.html +++ b/docs/html/sdk/api_diff/3/changes/android.widget.PopupWindow.OnDismissListener.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Interface android.widget.PopupWindow.OnDismissListener +Interface android.widget.PopupWindow.OnDismissListener

      Change of visibility from to public.
      diff --git a/docs/html/sdk/api_diff/3/changes/android.widget.PopupWindow.html b/docs/html/sdk/api_diff/3/changes/android.widget.PopupWindow.html index b3a33037a77ef87cbf9c2f06cb43be6d4f1df7fe..409ccc556569ed0e4ca3391d97813e8746e4797e 100644 --- a/docs/html/sdk/api_diff/3/changes/android.widget.PopupWindow.html +++ b/docs/html/sdk/api_diff/3/changes/android.widget.PopupWindow.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.widget.PopupWindow +Class android.widget.PopupWindow

      @@ -85,98 +84,98 @@ Class android.widget. - int getInputMethodMode() + int getInputMethodMode()   - int getMaxAvailableHeight(View, int) + int getMaxAvailableHeight(View, int)   - boolean isAboveAnchor() + boolean isAboveAnchor()   - boolean isClippingEnabled() + boolean isClippingEnabled()   - boolean isOutsideTouchable() + boolean isOutsideTouchable()   - boolean isTouchable() + boolean isTouchable()   - void setClippingEnabled(boolean) + void setClippingEnabled(boolean)   - void setInputMethodMode(int) + void setInputMethodMode(int)   - void setOutsideTouchable(boolean) + void setOutsideTouchable(boolean)   - void setTouchInterceptor(OnTouchListener) + void setTouchInterceptor(OnTouchListener)   - void setTouchable(boolean) + void setTouchable(boolean)   - void setWindowLayoutMode(int, int) + void setWindowLayoutMode(int, int)   - void update() + void update()   - void update(int, int, int, int, boolean) + void update(int, int, int, int, boolean)   @@ -192,21 +191,21 @@ Class android.widget. - int INPUT_METHOD_FROM_FOCUSABLE + int INPUT_METHOD_FROM_FOCUSABLE   - int INPUT_METHOD_NEEDED + int INPUT_METHOD_NEEDED   - int INPUT_METHOD_NOT_NEEDED + int INPUT_METHOD_NOT_NEEDED   diff --git a/docs/html/sdk/api_diff/3/changes/android.widget.ProgressBar.html b/docs/html/sdk/api_diff/3/changes/android.widget.ProgressBar.html index eea94f2b5e04125753c4a9563b67b791d2b1765e..9d1e13a08130285d6d4c7ca0083af4cce801260d 100644 --- a/docs/html/sdk/api_diff/3/changes/android.widget.ProgressBar.html +++ b/docs/html/sdk/api_diff/3/changes/android.widget.ProgressBar.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.widget.ProgressBar +Class android.widget.ProgressBar

      @@ -85,20 +84,20 @@ Class android.widget. - void onRestoreInstanceState(Parcelable) + void onRestoreInstanceState(Parcelable) -Method was inherited from android.view.View, but is now defined locally. Change of visibility from protected to public.
      +Method was inherited from android.view.View, but is now defined locally. Change of visibility from protected to public.
        - Parcelable onSaveInstanceState() + Parcelable onSaveInstanceState() -Method was inherited from android.view.View, but is now defined locally. Change of visibility from protected to public.
      +Method was inherited from android.view.View, but is now defined locally. Change of visibility from protected to public.
        diff --git a/docs/html/sdk/api_diff/3/changes/android.widget.RemoteViews.ActionException.html b/docs/html/sdk/api_diff/3/changes/android.widget.RemoteViews.ActionException.html index c2f5c9623291f4c22d004562aa6f7cc3479b1c21..ce206f5e83f514e2a63767c02d756f045b9cb97d 100644 --- a/docs/html/sdk/api_diff/3/changes/android.widget.RemoteViews.ActionException.html +++ b/docs/html/sdk/api_diff/3/changes/android.widget.RemoteViews.ActionException.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.widget.RemoteViews.ActionException +Class android.widget.RemoteViews.ActionException

      @@ -84,7 +83,7 @@ Class android.widget. - RemoteViews.ActionException(Exception) + RemoteViews.ActionException(Exception)   diff --git a/docs/html/sdk/api_diff/3/changes/android.widget.RemoteViews.html b/docs/html/sdk/api_diff/3/changes/android.widget.RemoteViews.html index ef8eb08260802e3c7bbd56585ad9c231e593fa65..0a2719218d70a3fce028549c962b6ede94d520a4 100644 --- a/docs/html/sdk/api_diff/3/changes/android.widget.RemoteViews.html +++ b/docs/html/sdk/api_diff/3/changes/android.widget.RemoteViews.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.widget.RemoteViews +Class android.widget.RemoteViews

      @@ -85,105 +84,105 @@ Class android.widget. - void setBitmap(int, String, Bitmap) + void setBitmap(int, String, Bitmap)   - void setBoolean(int, String, boolean) + void setBoolean(int, String, boolean)   - void setByte(int, String, byte) + void setByte(int, String, byte)   - void setChar(int, String, char) + void setChar(int, String, char)   - void setCharSequence(int, String, CharSequence) + void setCharSequence(int, String, CharSequence)   - void setDouble(int, String, double) + void setDouble(int, String, double)   - void setFloat(int, String, float) + void setFloat(int, String, float)   - void setImageViewBitmap(int, Bitmap) + void setImageViewBitmap(int, Bitmap)   - void setInt(int, String, int) + void setInt(int, String, int)   - void setLong(int, String, long) + void setLong(int, String, long)   - void setOnClickPendingIntent(int, PendingIntent) + void setOnClickPendingIntent(int, PendingIntent)   - void setShort(int, String, short) + void setShort(int, String, short)   - void setString(int, String, String) + void setString(int, String, String)   - void setTextColor(int, int) + void setTextColor(int, int)   - void setUri(int, String, Uri) + void setUri(int, String, Uri)   diff --git a/docs/html/sdk/api_diff/3/changes/android.widget.ResourceCursorAdapter.html b/docs/html/sdk/api_diff/3/changes/android.widget.ResourceCursorAdapter.html index cee8f59b3d293311209f05d8b6a2efd4e0b7e112..2cf9c82cf8bdb62748c9e0fbb8925b349cfefb9f 100644 --- a/docs/html/sdk/api_diff/3/changes/android.widget.ResourceCursorAdapter.html +++ b/docs/html/sdk/api_diff/3/changes/android.widget.ResourceCursorAdapter.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.widget.ResourceCursorAdapter +Class android.widget.ResourceCursorAdapter

      @@ -84,7 +83,7 @@ Class android.widget. - ResourceCursorAdapter(Context, int, Cursor, boolean) + ResourceCursorAdapter(Context, int, Cursor, boolean)   @@ -100,7 +99,7 @@ Class android.widget. - void setViewResource(int) + void setViewResource(int)   diff --git a/docs/html/sdk/api_diff/3/changes/android.widget.Scroller.html b/docs/html/sdk/api_diff/3/changes/android.widget.Scroller.html index e5b524df665889f49af775bc73de8ebdc605acd3..c72001d627303d4c1dc11d5a42da5a2d0dbd5fa4 100644 --- a/docs/html/sdk/api_diff/3/changes/android.widget.Scroller.html +++ b/docs/html/sdk/api_diff/3/changes/android.widget.Scroller.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35

      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.widget.Scroller +Class android.widget.Scroller

      @@ -85,14 +84,14 @@ Class android.widget. - int getStartX() + int getStartX()   - int getStartY() + int getStartY()   diff --git a/docs/html/sdk/api_diff/3/changes/android.widget.SimpleCursorAdapter.html b/docs/html/sdk/api_diff/3/changes/android.widget.SimpleCursorAdapter.html index 63b7b132902cac541174819f15f0a5da91b00909..7ceecd6f8922a7e638c2708e0c6f4502a82d6654 100644 --- a/docs/html/sdk/api_diff/3/changes/android.widget.SimpleCursorAdapter.html +++ b/docs/html/sdk/api_diff/3/changes/android.widget.SimpleCursorAdapter.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.widget.SimpleCursorAdapter +Class android.widget.SimpleCursorAdapter

      @@ -85,7 +84,7 @@ Class android.widget. - void changeCursorAndColumns(Cursor, String[], int[]) + void changeCursorAndColumns(Cursor, String[], int[])   diff --git a/docs/html/sdk/api_diff/3/changes/android.widget.TextView.html b/docs/html/sdk/api_diff/3/changes/android.widget.TextView.html index 42ecdc9f58fa3ae86c4ba4c5edb40f829852bdf5..08f745409601b7aaca88c5debfb79ec94d1c2e63 100644 --- a/docs/html/sdk/api_diff/3/changes/android.widget.TextView.html +++ b/docs/html/sdk/api_diff/3/changes/android.widget.TextView.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class android.widget.TextView +Class android.widget.TextView

      @@ -85,217 +84,217 @@ Class android.widget. - void beginBatchEdit() + void beginBatchEdit()   - boolean bringPointIntoView(int) + boolean bringPointIntoView(int)   - void clearComposingText() + void clearComposingText()   - boolean didTouchFocusSelect() + boolean didTouchFocusSelect()   - void endBatchEdit() + void endBatchEdit()   - boolean extractText(ExtractedTextRequest, ExtractedText) + boolean extractText(ExtractedTextRequest, ExtractedText)   - Editable getEditableText() + Editable getEditableText()   - int getImeActionId() + int getImeActionId()   - CharSequence getImeActionLabel() + CharSequence getImeActionLabel()   - int getImeOptions() + int getImeOptions()   - Bundle getInputExtras(boolean) + Bundle getInputExtras(boolean)   - int getInputType() + int getInputType()   - String getPrivateImeOptions() + String getPrivateImeOptions()   - boolean isInputMethodTarget() + boolean isInputMethodTarget()   - boolean moveCursorToVisibleOffset() + boolean moveCursorToVisibleOffset()   - void onBeginBatchEdit() + void onBeginBatchEdit()   - void onCommitCompletion(CompletionInfo) + void onCommitCompletion(CompletionInfo)   - void onEditorAction(int) + void onEditorAction(int)   - void onEndBatchEdit() + void onEndBatchEdit()   - boolean onPrivateIMECommand(String, Bundle) + boolean onPrivateIMECommand(String, Bundle)   - void onSelectionChanged(int, int) + void onSelectionChanged(int, int)   - boolean onTextContextMenuItem(int) + boolean onTextContextMenuItem(int)   - void setCompoundDrawablesWithIntrinsicBounds(int, int, int, int) + void setCompoundDrawablesWithIntrinsicBounds(int, int, int, int)   - void setExtractedText(ExtractedText) + void setExtractedText(ExtractedText)   - void setImeActionLabel(CharSequence, int) + void setImeActionLabel(CharSequence, int)   - void setImeOptions(int) + void setImeOptions(int)   - void setInputExtras(int) + void setInputExtras(int)   - void setInputType(int) + void setInputType(int)   - void setOnEditorActionListener(OnEditorActionListener) + void setOnEditorActionListener(OnEditorActionListener)   - void setPrivateImeOptions(String) + void setPrivateImeOptions(String)   - void setRawInputType(int) + void setRawInputType(int)   diff --git a/docs/html/sdk/api_diff/3/changes/changes-summary.html b/docs/html/sdk/api_diff/3/changes/changes-summary.html index bf52a96580769a8388c08eda333c466c3a7c9a31..65a37f8d3b316e7136c4fbaaf8c7b2815b9bcee4 100644 --- a/docs/html/sdk/api_diff/3/changes/changes-summary.html +++ b/docs/html/sdk/api_diff/3/changes/changes-summary.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,12 +67,13 @@ body{background-image:url();padding:12px;}
      -
      +

      Android API Differences Report

      -

      This report details the changes in the core Android framework API between two API Level +

      This report details the changes in the core Android framework API between two API Level specifications. It shows additions, modifications, and removals for packages, classes, methods, and fields. The report also includes general statistics that characterize the extent and type of the differences.

      This report is based a comparison of the Android API specifications @@ -83,7 +83,7 @@ older API. So, for example, API elements marked as removed are no longer present API specification.

      To navigate the report, use the "Select a Diffs Index" and "Filter the Index" controls on the left. The report uses text formatting to indicate interface names, -links to reference documentation, and links to change +links to reference documentation, and links to change description. The statistics are accessible from the "Statistics" link in the upper-right corner.

      For more information about the Android framework API and SDK, see the Android Developers site.

      @@ -96,42 +96,42 @@ see the Android - android.appwidget + android.appwidget   - android.inputmethodservice + android.inputmethodservice   - android.speech + android.speech   - android.text.format + android.text.format   - android.view.inputmethod + android.view.inputmethod   - java.beans + java.beans   @@ -381,27 +381,6 @@ see the Android   - - - - java.lang.reflect - -   - - - - - java.net - -   - - - - - java.util - -   - diff --git a/docs/html/sdk/api_diff/3/changes/classes_index_additions.html b/docs/html/sdk/api_diff/3/changes/classes_index_additions.html index 32a68e3117fd903a3fff840bbb72484cec13277f..f15b280b0a499bcb5d07fe4635d79960ff22056c 100644 --- a/docs/html/sdk/api_diff/3/changes/classes_index_additions.html +++ b/docs/html/sdk/api_diff/3/changes/classes_index_additions.html @@ -22,10 +22,9 @@ body{overflow:auto;} - + @@ -45,8 +44,8 @@ body{background-image:url();padding:12px;}
      -
      -Bold indicates New; Strike indicates deleted. Plain indicates changed. +
      +Listed as: Added, Removed, Changed

      A  diff --git a/docs/html/sdk/api_diff/3/changes/classes_index_all.html b/docs/html/sdk/api_diff/3/changes/classes_index_all.html index 5815c29ca5a544edb21c4dba6dccc0cd983268a5..408e7498e101cdb0a84fb5557a0a17aedd2edd38 100644 --- a/docs/html/sdk/api_diff/3/changes/classes_index_all.html +++ b/docs/html/sdk/api_diff/3/changes/classes_index_all.html @@ -22,10 +22,9 @@ body{overflow:auto;} - + @@ -45,8 +44,8 @@ body{background-image:url();padding:12px;}
      -
      -Bold indicates New; Strike indicates deleted. Plain indicates changed. +
      +Listed as: Added, Removed, Changed

      A  @@ -215,7 +214,6 @@ body{background-image:url();padding:12px;} TOP

      DatabaseUtils
      -Date
      DateKeyListener
      DateTimeKeyListener
      Debug
      @@ -638,7 +636,6 @@ body{background-image:url();padding:12px;} ProgressBar
      ProviderTestCase
      ProviderTestCase2
      -Proxy

      Q  A @@ -760,14 +757,12 @@ body{background-image:url();padding:12px;} SlidingDrawer.OnDrawerOpenListener
      SlidingDrawer.OnDrawerScrollListener
      SmsMessage
      -Socket
      SoundPool
      Spanned
      SpanWatcher
      SparseIntArray
      SQLiteDatabase
      StrikethroughSpan
      -String
      StyleSpan
      SubscriptSpan
      SuperscriptSpan
      @@ -800,7 +795,6 @@ body{background-image:url();padding:12px;}

      TelephonyManager
      TestMethod
      -TestSuiteBuilder
      TextAppearanceSpan
      TextKeyListener
      TextUtils
      diff --git a/docs/html/sdk/api_diff/3/changes/classes_index_changes.html b/docs/html/sdk/api_diff/3/changes/classes_index_changes.html index 58d4edcbc8a75c11f67e0994a83e8d21a8377482..df07718a1013f97e5f49706f561f0b6485e6b649 100644 --- a/docs/html/sdk/api_diff/3/changes/classes_index_changes.html +++ b/docs/html/sdk/api_diff/3/changes/classes_index_changes.html @@ -22,10 +22,9 @@ body{overflow:auto;} - + @@ -45,8 +44,8 @@ body{background-image:url();padding:12px;}
      -
      -Bold indicates New; Strike indicates deleted. Plain indicates changed. +
      +Listed as: Added, Removed, Changed

      A  @@ -197,7 +196,6 @@ body{background-image:url();padding:12px;} TOP

      DatabaseUtils
      -Date
      DateKeyListener
      DateTimeKeyListener
      Debug
      @@ -548,7 +546,6 @@ body{background-image:url();padding:12px;} PopupWindow.OnDismissListener
      ProgressBar
      ProviderTestCase
      -Proxy

      Q  A @@ -655,14 +652,12 @@ body{background-image:url();padding:12px;} Shape
      SimpleCursorAdapter
      SmsMessage
      -Socket
      SoundPool
      Spanned
      SpanWatcher
      SparseIntArray
      SQLiteDatabase
      StrikethroughSpan
      -String
      StyleSpan
      SubscriptSpan
      SuperscriptSpan
      @@ -694,7 +689,6 @@ body{background-image:url();padding:12px;}

      TelephonyManager
      TestMethod
      -TestSuiteBuilder
      TextAppearanceSpan
      TextKeyListener
      TextUtils
      diff --git a/docs/html/sdk/api_diff/3/changes/classes_index_removals.html b/docs/html/sdk/api_diff/3/changes/classes_index_removals.html index bc5e2e821957abf36496bd53c2c21cc5cf1c33a3..5b3898840549f601f1fead2b8e26b45c4b3ae6e6 100644 --- a/docs/html/sdk/api_diff/3/changes/classes_index_removals.html +++ b/docs/html/sdk/api_diff/3/changes/classes_index_removals.html @@ -22,10 +22,9 @@ body{overflow:auto;} - + @@ -45,8 +44,8 @@ body{background-image:url();padding:12px;}
      -
      -Bold indicates New; Strike indicates deleted. Plain indicates changed. +
      +Listed as: Added, Removed, Changed
      diff --git a/docs/html/sdk/api_diff/3/changes/constructors_index_additions.html b/docs/html/sdk/api_diff/3/changes/constructors_index_additions.html index 0dff7fe55a9610924a8147f34ced00361c8d7562..e934822a2eb25dec7046d28370c9b339d8aa00f6 100644 --- a/docs/html/sdk/api_diff/3/changes/constructors_index_additions.html +++ b/docs/html/sdk/api_diff/3/changes/constructors_index_additions.html @@ -22,10 +22,9 @@ body{overflow:auto;} - + @@ -45,8 +44,8 @@ body{background-image:url();padding:12px;}
      -
      -Bold indicates New; Strike indicates deleted. Plain indicates changed. +
      +Listed as: Added, Removed, Changed

      A  diff --git a/docs/html/sdk/api_diff/3/changes/constructors_index_all.html b/docs/html/sdk/api_diff/3/changes/constructors_index_all.html index 49ad673c48aa56552668a88c761b4d4f0c9c2c0a..937254861b582aea23d822dd82deb6ca13e0d71e 100644 --- a/docs/html/sdk/api_diff/3/changes/constructors_index_all.html +++ b/docs/html/sdk/api_diff/3/changes/constructors_index_all.html @@ -22,10 +22,9 @@ body{overflow:auto;} - + @@ -45,8 +44,8 @@ body{background-image:url();padding:12px;}
      -
      -Bold indicates New; Strike indicates deleted. Plain indicates changed. +
      +Listed as: Added, Removed, Changed

      A  @@ -118,11 +117,6 @@ body{background-image:url();padding:12px;} V TOP

      -Date
      -  Date -() constructor
      -  Date -(int, int, int, int, int, int) constructor
      DynamicDrawableSpan (int) constructor
      @@ -393,30 +387,8 @@ body{background-image:url();padding:12px;}

      ScaleXSpan (Parcel) constructor
      -Socket
      -  Socket -() constructor
      -  Socket -(String, int) constructor
      -  Socket -(String, int, InetAddress, int) constructor
      -  Socket -(Proxy) constructor
      -  Socket -(SocketImpl) constructor
      StrikethroughSpan (Parcel) constructor
      -String
      -  String -() constructor
      -  String -(byte[]) constructor
      -  String -(byte[], int) constructor
      -  String -(byte[], int, int) constructor
      -  String -(byte[], int, int, int) constructor
      StyleSpan (Parcel) constructor
      SubscriptSpan diff --git a/docs/html/sdk/api_diff/3/changes/constructors_index_changes.html b/docs/html/sdk/api_diff/3/changes/constructors_index_changes.html index 8ea3eec7b0342ede9966f8a07214893c02196357..34bc39135c5a0e880a96e98ec2d9ece964f81811 100644 --- a/docs/html/sdk/api_diff/3/changes/constructors_index_changes.html +++ b/docs/html/sdk/api_diff/3/changes/constructors_index_changes.html @@ -22,10 +22,9 @@ body{overflow:auto;} - + @@ -45,25 +44,11 @@ body{background-image:url();padding:12px;}
      -
      -Bold indicates New; Strike indicates deleted. Plain indicates changed. +
      +Listed as: Added, Removed, Changed
      - -
      D  -G -S -V - TOP -

      -Date
      -  
      Date -() constructor
      -  Date -(int, int, int, int, int, int) constructor

      G  -D -S V TOP

      @@ -72,40 +57,9 @@ body{background-image:url();padding:12px;} (OnGestureListener) constructor
        GestureDetector (OnGestureListener, Handler) constructor
      - -
      S  -D -G -V - TOP -

      -Socket
      -  Socket -() constructor
      -  Socket -(String, int) constructor
      -  Socket -(String, int, InetAddress, int) constructor
      -  Socket -(Proxy) constructor
      -  Socket -(SocketImpl) constructor
      -String
      -  String -() constructor
      -  String -(byte[]) constructor
      -  String -(byte[], int) constructor
      -  String -(byte[], int, int) constructor
      -  String -(byte[], int, int, int) constructor

      V  -D G -S TOP

      ViewConfiguration diff --git a/docs/html/sdk/api_diff/3/changes/constructors_index_removals.html b/docs/html/sdk/api_diff/3/changes/constructors_index_removals.html index 8e591c1e3fd5108d338192e716d6edf85a07b04d..5306e8d3528104fc5361d50af940636f41f556f5 100644 --- a/docs/html/sdk/api_diff/3/changes/constructors_index_removals.html +++ b/docs/html/sdk/api_diff/3/changes/constructors_index_removals.html @@ -22,10 +22,9 @@ body{overflow:auto;} - + @@ -45,8 +44,8 @@ body{background-image:url();padding:12px;}
      -
      -Bold indicates New; Strike indicates deleted. Plain indicates changed. +
      +Listed as: Added, Removed, Changed

      N  diff --git a/docs/html/sdk/api_diff/3/changes/dalvik.system.DexFile.html b/docs/html/sdk/api_diff/3/changes/dalvik.system.DexFile.html index ef3937c0a195858e7b8e0376d3fcf9679c054905..b8517aa6a7e3ceff991a4091a93f4aa72bf7e668 100644 --- a/docs/html/sdk/api_diff/3/changes/dalvik.system.DexFile.html +++ b/docs/html/sdk/api_diff/3/changes/dalvik.system.DexFile.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class dalvik.system.DexFile +Class dalvik.system.DexFile

      @@ -85,7 +84,7 @@ Class dalvik.system. -
      DexFile loadDex(String, String, int) + DexFile loadDex(String, String, int)   diff --git a/docs/html/sdk/api_diff/3/changes/dalvik.system.VMDebug.html b/docs/html/sdk/api_diff/3/changes/dalvik.system.VMDebug.html index c7ee90942566cd04a2efa226d977c66e067da1d2..3f53e4484ec170ae9a4bda2e5b345f20be16fcfd 100644 --- a/docs/html/sdk/api_diff/3/changes/dalvik.system.VMDebug.html +++ b/docs/html/sdk/api_diff/3/changes/dalvik.system.VMDebug.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class dalvik.system.VMDebug +Class dalvik.system.VMDebug

      @@ -85,14 +84,14 @@ Class dalvik.system. - void dumpHprofData(String) + void dumpHprofData(String)   - boolean isDebuggingEnabled() + boolean isDebuggingEnabled()   diff --git a/docs/html/sdk/api_diff/3/changes/dalvik.system.Zygote.html b/docs/html/sdk/api_diff/3/changes/dalvik.system.Zygote.html index d26e9e64abe2acc997bbfa31d6cfd10363ecc3e0..4282162da68dd341799de0972f3d23b1fea288c5 100644 --- a/docs/html/sdk/api_diff/3/changes/dalvik.system.Zygote.html +++ b/docs/html/sdk/api_diff/3/changes/dalvik.system.Zygote.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,59 +67,67 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class dalvik.system.Zygote +Class dalvik.system.Zygote

      - - + +
      -
      Added Methods + Removed Methods
      - - int forkAndSpecialize(int, int, int[], int, int[][]) + + int forkAndSpecialize(int, int, int[], boolean, int[][])  
      - - int forkSystemServer(int, int, int[], int, int[][]) + + int forkSystemServer(int, int, int[], boolean, int[][])  
       

      - - + +
      - - + + + - + + + @@ -136,21 +143,21 @@ Class dalvik.system. diff --git a/docs/html/sdk/api_diff/3/changes/fields_index_additions.html b/docs/html/sdk/api_diff/3/changes/fields_index_additions.html index c2c3b494595c4738bcab821f162526938be4abb4..5c24079052f355cf4e36e8ae43393abdd69fae52 100644 --- a/docs/html/sdk/api_diff/3/changes/fields_index_additions.html +++ b/docs/html/sdk/api_diff/3/changes/fields_index_additions.html @@ -22,10 +22,9 @@ body{overflow:auto;} - +
      Changed Methods + Added Methods
      - - int forkAndSpecialize(int, int, int[], boolean, int[][]) + + int forkAndSpecialize(int, int, int[], int, int[][]) -Now deprecated.
      +
       
      + + int forkAndSpecialize(int, int, int[], boolean, int[][])  
      - - int forkSystemServer(int, int, int[], boolean, int[][]) + + int forkSystemServer(int, int, int[], int, int[][]) -Now deprecated.
      +
       
      + + int forkSystemServer(int, int, int[], boolean, int[][])  
      - int DEBUG_ENABLE_ASSERT + int DEBUG_ENABLE_ASSERT  
      - int DEBUG_ENABLE_CHECKJNI + int DEBUG_ENABLE_CHECKJNI  
      - int DEBUG_ENABLE_DEBUGGER + int DEBUG_ENABLE_DEBUGGER  
      @@ -45,8 +44,8 @@ body{background-image:url();padding:12px;}
      -

      -Bold indicates New; Strike indicates deleted. Plain indicates changed. +
      +Listed as: Added, Removed, Changed

      A  @@ -246,11 +245,11 @@ body{background-image:url();padding:12px;} copyUrl
      CREATOR
      - in  -android.content.res.AssetFileDescriptor + in  +android.content.res.AssetFileDescriptor
      - in  -android.graphics.RectF + in  +android.graphics.RectF
      cut
      @@ -476,11 +475,11 @@ body{background-image:url();padding:12px;} handle
      HAPTIC_FEEDBACK_ENABLED
      - in  -android.provider.Settings.System + in  +android.provider.Settings.System
      - in  -android.view.View + in  +android.view.View
      hapticFeedbackEnabled
      @@ -783,11 +782,11 @@ body{background-image:url();padding:12px;} paste
      PHONETIC_NAME
      - in  -android.provider.Contacts.Intents.Insert + in  +android.provider.Contacts.Intents.Insert
      - in  -android.provider.Contacts.PeopleColumns + in  +android.provider.Contacts.PeopleColumns
      popupCharacters
      @@ -884,11 +883,11 @@ body{background-image:url();padding:12px;} sharedUserId
      sharedUserLabel
      - in  -android.R.attr + in  +android.R.attr
      - in  -android.content.pm.PackageInfo + in  +android.content.pm.PackageInfo
      SHOW_OR_CREATE_CONTACT
      @@ -921,11 +920,11 @@ body{background-image:url();padding:12px;} SOFT_INPUT_STATE_VISIBLE
      softInputMode
      - in  -android.content.pm.ActivityInfo + in  +android.content.pm.ActivityInfo
      - in  -android.view.WindowManager.LayoutParams + in  +android.view.WindowManager.LayoutParams
      SPAN_COMPOSING
      diff --git a/docs/html/sdk/api_diff/3/changes/fields_index_all.html b/docs/html/sdk/api_diff/3/changes/fields_index_all.html index 786a360054524aca002f0729a957e98616760108..49c429fd1d03338fe5e9854da1aa60b9e956e167 100644 --- a/docs/html/sdk/api_diff/3/changes/fields_index_all.html +++ b/docs/html/sdk/api_diff/3/changes/fields_index_all.html @@ -22,10 +22,9 @@ body{overflow:auto;} - + @@ -45,8 +44,8 @@ body{background-image:url();padding:12px;}
      -
      -Bold indicates New; Strike indicates deleted. Plain indicates changed. +
      +Listed as: Added, Removed, Changed

      A  @@ -264,11 +263,11 @@ body{background-image:url();padding:12px;} copyUrl
      CREATOR
      - in  -android.content.res.AssetFileDescriptor + in  +android.content.res.AssetFileDescriptor
      - in  -android.graphics.RectF + in  +android.graphics.RectF
      cut
      @@ -312,11 +311,11 @@ body{background-image:url();padding:12px;} DEBUG_ENABLE_DEBUGGER
      DEFAULT_SORT_ORDER
      - in  -android.provider.MediaStore.Images.Media + in  +android.provider.MediaStore.Images.Media
      - in  -android.provider.MediaStore.Video + in  +android.provider.MediaStore.Video
      DEVICE_PROVISIONED
      @@ -515,11 +514,11 @@ body{background-image:url();padding:12px;} handle
      HAPTIC_FEEDBACK_ENABLED
      - in  -android.provider.Settings.System + in  +android.provider.Settings.System
      - in  -android.view.View + in  +android.view.View
      hapticFeedbackEnabled
      @@ -852,11 +851,11 @@ body{background-image:url();padding:12px;} phoneNumber
      PHONETIC_NAME
      - in  -android.provider.Contacts.Intents.Insert + in  +android.provider.Contacts.Intents.Insert
      - in  -android.provider.Contacts.PeopleColumns + in  +android.provider.Contacts.PeopleColumns
      popupCharacters
      @@ -989,11 +988,11 @@ body{background-image:url();padding:12px;} sharedUserId
      sharedUserLabel
      - in  -android.R.attr + in  +android.R.attr
      - in  -android.content.pm.PackageInfo + in  +android.content.pm.PackageInfo
      SHOW_OR_CREATE_CONTACT
      @@ -1028,11 +1027,11 @@ body{background-image:url();padding:12px;} SOFT_INPUT_STATE_VISIBLE
      softInputMode
      - in  -android.content.pm.ActivityInfo + in  +android.content.pm.ActivityInfo
      - in  -android.view.WindowManager.LayoutParams + in  +android.view.WindowManager.LayoutParams
      SPAN_COMPOSING
      diff --git a/docs/html/sdk/api_diff/3/changes/fields_index_changes.html b/docs/html/sdk/api_diff/3/changes/fields_index_changes.html index 3f5dd5a9b77523c99c20ea0fcb332c0917c25bf7..5059b344a1ea9761ad7fb909201d6842f75ff235 100644 --- a/docs/html/sdk/api_diff/3/changes/fields_index_changes.html +++ b/docs/html/sdk/api_diff/3/changes/fields_index_changes.html @@ -22,10 +22,9 @@ body{overflow:auto;} - + @@ -45,8 +44,8 @@ body{background-image:url();padding:12px;}
      -
      -Bold indicates New; Strike indicates deleted. Plain indicates changed. +
      +Listed as: Added, Removed, Changed

      A  @@ -145,11 +144,11 @@ body{background-image:url();padding:12px;} DATA_Z
      DEFAULT_SORT_ORDER
      - in  -android.provider.MediaStore.Images.Media + in  +android.provider.MediaStore.Images.Media
      - in  -android.provider.MediaStore.Video + in  +android.provider.MediaStore.Video
      DEVICE_PROVISIONED
      diff --git a/docs/html/sdk/api_diff/3/changes/fields_index_removals.html b/docs/html/sdk/api_diff/3/changes/fields_index_removals.html index 58ad6557e1ebcbc5481b522933fc35c9cbec676e..fc49c41f6c93bd3d60e9bfce6b5ddda970fff3ab 100644 --- a/docs/html/sdk/api_diff/3/changes/fields_index_removals.html +++ b/docs/html/sdk/api_diff/3/changes/fields_index_removals.html @@ -22,10 +22,9 @@ body{overflow:auto;} - + @@ -45,8 +44,8 @@ body{background-image:url();padding:12px;}
      -
      -Bold indicates New; Strike indicates deleted. Plain indicates changed. +
      +Listed as: Added, Removed, Changed

      C  diff --git a/docs/html/sdk/api_diff/3/changes/java.lang.Character.UnicodeBlock.html b/docs/html/sdk/api_diff/3/changes/java.lang.Character.UnicodeBlock.html index f7c9d8f64068f1d6013d71581a75d639ce64b189..0e04731d6cbbf5b7b9e1703102b3736bbb82e783 100644 --- a/docs/html/sdk/api_diff/3/changes/java.lang.Character.UnicodeBlock.html +++ b/docs/html/sdk/api_diff/3/changes/java.lang.Character.UnicodeBlock.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class java.lang.Character.UnicodeBlock +Class java.lang.Character.UnicodeBlock

      @@ -85,7 +84,7 @@ Class java.lang. - UnicodeBlock forName(String) + UnicodeBlock forName(String) Change from non-final to final.
      diff --git a/docs/html/sdk/api_diff/3/changes/java.lang.Class.html b/docs/html/sdk/api_diff/3/changes/java.lang.Class.html index fa0b0563995258fcb8410c2f1b6fbf9587f59ad9..212899a58aaac2293f6485f14c970bd4f0cd5b3b 100644 --- a/docs/html/sdk/api_diff/3/changes/java.lang.Class.html +++ b/docs/html/sdk/api_diff/3/changes/java.lang.Class.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class java.lang.Class +Class java.lang.Class

      @@ -85,7 +84,7 @@ Class java.lang. - Class[] getClasses() + Class[] getClasses() Change in return type from Class<?> to Class[].
      @@ -95,7 +94,7 @@ Change in return type from Class<?> to Class[].< - Constructor[] getConstructors() + Constructor[] getConstructors() Change in return type from Constructor<T> to Constructor[].
      @@ -105,7 +104,7 @@ Change in return type from Constructor<T> to Constructo - Class[] getDeclaredClasses() + Class[] getDeclaredClasses() Change in return type from Class<?> to Class[].
      @@ -115,7 +114,7 @@ Change in return type from Class<?> to Class[].< - Constructor[] getDeclaredConstructors() + Constructor[] getDeclaredConstructors() Change in return type from Constructor<T> to Constructor[].
      @@ -125,7 +124,7 @@ Change in return type from Constructor<T> to Constructo - Class[] getInterfaces() + Class[] getInterfaces() Change in return type from Class<?> to Class[].
      diff --git a/docs/html/sdk/api_diff/3/changes/java.lang.String.html b/docs/html/sdk/api_diff/3/changes/java.lang.String.html deleted file mode 100644 index 5c41b8cc893e57213bbed02a95d320c5002863ec..0000000000000000000000000000000000000000 --- a/docs/html/sdk/api_diff/3/changes/java.lang.String.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - - - -java.lang.String - - - - - - - - - - -
      -
      -
      -

      -Class java.lang.String -

      - -

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      Changed Constructors -
      - - String() - -  
      - - String(byte[]) - -  
      - - String(byte[], int) - -  
      - - String(byte[], int, int) - -  
      - - String(byte[], int, int, int) - -  
      -  - - -

      - -
      -
      - - - - diff --git a/docs/html/sdk/api_diff/3/changes/java.lang.reflect.Proxy.html b/docs/html/sdk/api_diff/3/changes/java.lang.reflect.Proxy.html deleted file mode 100644 index f593c0ee8e7304725fe06d031fba2a2ce7f501fb..0000000000000000000000000000000000000000 --- a/docs/html/sdk/api_diff/3/changes/java.lang.reflect.Proxy.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - - - -java.lang.reflect.Proxy - - - - - - - - - - -
      -
      -
      -

      -Class java.lang.reflect.Proxy -

      - - -

      - - - - - - - - - -
      Changed Methods -
      - - Class<?> getProxyClass(ClassLoader, Class<?>) - -Change in signature from (ClassLoader, ) to (ClassLoader, Class<?>).
      -
       
      -  - -

      - -
      -
      - - - - diff --git a/docs/html/sdk/api_diff/3/changes/java.net.Socket.html b/docs/html/sdk/api_diff/3/changes/java.net.Socket.html deleted file mode 100644 index 6027217d619c2a0cf04a7bcada2f3d4d0ec9fe41..0000000000000000000000000000000000000000 --- a/docs/html/sdk/api_diff/3/changes/java.net.Socket.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - - - -java.net.Socket - - - - - - - - - - -
      -
      -
      -

      -Class java.net.Socket -

      - -

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      Changed Constructors -
      - - Socket() - -  
      - - Socket(String, int) - -  
      - - Socket(String, int, InetAddress, int) - -  
      - - Socket(Proxy) - -  
      - - Socket(SocketImpl) - -  
      -  - - -

      - -
      -
      - - - - diff --git a/docs/html/sdk/api_diff/3/changes/java.util.Date.html b/docs/html/sdk/api_diff/3/changes/java.util.Date.html deleted file mode 100644 index 6a8dd268563568aeb719425fc4b2b78af47f2e11..0000000000000000000000000000000000000000 --- a/docs/html/sdk/api_diff/3/changes/java.util.Date.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - - - -java.util.Date - - - - - - - - - - -
      -
      -
      -

      -Class java.util.Date -

      - -

      - - - - - - - - - - - - - - -
      Changed Constructors -
      - - Date() - -  
      - - Date(int, int, int, int, int, int) - -  
      -  - - -

      - -
      -
      - - - - diff --git a/docs/html/sdk/api_diff/3/changes/java.util.jar.Pack200.Packer.html b/docs/html/sdk/api_diff/3/changes/java.util.jar.Pack200.Packer.html index 75b4cbc4a8f8efa329d505ca215768fd9309ba74..c27ba0c7f1dac362a3384bc8b38952b92b57d477 100644 --- a/docs/html/sdk/api_diff/3/changes/java.util.jar.Pack200.Packer.html +++ b/docs/html/sdk/api_diff/3/changes/java.util.jar.Pack200.Packer.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Interface java.util.jar.Pack200.Packer +Interface java.util.jar.Pack200.Packer

      @@ -85,14 +84,14 @@ Interface java.util.jar. - void addPropertyChangeListener(PropertyChangeListener) + void addPropertyChangeListener(PropertyChangeListener)   - void removePropertyChangeListener(PropertyChangeListener) + void removePropertyChangeListener(PropertyChangeListener)   diff --git a/docs/html/sdk/api_diff/3/changes/java.util.jar.Pack200.Unpacker.html b/docs/html/sdk/api_diff/3/changes/java.util.jar.Pack200.Unpacker.html index 382fdea8428e97f848b1c71e31f3975556a49df3..ca185e032c89a02c6e28c25f7c5188765a8c4a2b 100644 --- a/docs/html/sdk/api_diff/3/changes/java.util.jar.Pack200.Unpacker.html +++ b/docs/html/sdk/api_diff/3/changes/java.util.jar.Pack200.Unpacker.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Interface java.util.jar.Pack200.Unpacker +Interface java.util.jar.Pack200.Unpacker

      @@ -85,14 +84,14 @@ Interface java.util.jar. - void addPropertyChangeListener(PropertyChangeListener) + void addPropertyChangeListener(PropertyChangeListener)   - void removePropertyChangeListener(PropertyChangeListener) + void removePropertyChangeListener(PropertyChangeListener)   diff --git a/docs/html/sdk/api_diff/3/changes/java.util.logging.Level.html b/docs/html/sdk/api_diff/3/changes/java.util.logging.Level.html index 7f5fd19782c8b7571f2b0f934233155fbf5f8343..e85b8a64974d01b5998eba57f6fab72a21065cca 100644 --- a/docs/html/sdk/api_diff/3/changes/java.util.logging.Level.html +++ b/docs/html/sdk/api_diff/3/changes/java.util.logging.Level.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class java.util.logging.Level +Class java.util.logging.Level

      @@ -85,7 +84,7 @@ Class java.util.logging. - Level parse(String) + Level parse(String) Change in exceptions thrown from no exceptions to java.lang.IllegalArgumentException.
      diff --git a/docs/html/sdk/api_diff/3/changes/java.util.logging.LogManager.html b/docs/html/sdk/api_diff/3/changes/java.util.logging.LogManager.html index d259077f26d999fe9281fad8a14a0e38814fd3ff..9682ddc2dc0b3d648b20ad071759b56cf3990ec9 100644 --- a/docs/html/sdk/api_diff/3/changes/java.util.logging.LogManager.html +++ b/docs/html/sdk/api_diff/3/changes/java.util.logging.LogManager.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -55,7 +54,7 @@ body{background-image:url();padding:12px;} Generated - 2009.04.20 09:15 + 2009.11.19 19:35
      @@ -68,11 +67,11 @@ body{background-image:url();padding:12px;}
      -
      +

      -Class java.util.logging.LogManager +Class java.util.logging.LogManager

      @@ -85,21 +84,21 @@ Class java.util.logging. - void addPropertyChangeListener(PropertyChangeListener) + void addPropertyChangeListener(PropertyChangeListener)   - LoggingMXBean getLoggingMXBean() + LoggingMXBean getLoggingMXBean()   - void removePropertyChangeListener(PropertyChangeListener) + void removePropertyChangeListener(PropertyChangeListener)   diff --git a/docs/html/sdk/api_diff/3/changes/jdiff_help.html b/docs/html/sdk/api_diff/3/changes/jdiff_help.html index 21a59f92d5261b54f562de26ad1c5b809341ff4e..08f8704559d4b553f0408293b7d9875893e2f824 100644 --- a/docs/html/sdk/api_diff/3/changes/jdiff_help.html +++ b/docs/html/sdk/api_diff/3/changes/jdiff_help.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -32,7 +31,7 @@ body{background-image:url();padding:12px;} - + @@ -74,11 +73,11 @@ These indexes all use the same format:
      You can always tell when you are reading a JDiff page, rather than a Javadoc page, by the color of the index bar and the color of the background. -Links which take you to a Javadoc page are always in a typewriter font. +Links which take you to a Javadoc page are always in a typewriter font. Just like Javadoc, all interface names are in italic, and class names are not italicized. Where there are multiple entries in an index with the same name, the heading for them is also in italics, but is not a link.
      -

      Javadoc

      +

      Javadoc

      This is a link to the top-level Javadoc page for the new version of the product.
      diff --git a/docs/html/sdk/api_diff/3/changes/jdiff_statistics.html b/docs/html/sdk/api_diff/3/changes/jdiff_statistics.html index 6faea52ee8f0d6fe9be23e119a763ce591c1cebb..e39c5b9d83faeefa3423343dc5432bf09f6fb9dc 100644 --- a/docs/html/sdk/api_diff/3/changes/jdiff_statistics.html +++ b/docs/html/sdk/api_diff/3/changes/jdiff_statistics.html @@ -22,7 +22,6 @@ body{overflow:auto;} @@ -46,16 +45,16 @@ body{background-image:url();padding:12px;}
      - + - + - +
      API Diff Specification
      To Version:To Level: 3
      From Version:From Level: 2
      Generated2009.04.20 09:152009.11.19 19:35
      @@ -72,29 +71,71 @@ body{background-image:url();padding:12px;}

      API Change Statistics

      +

      The overall difference between API Levels 2 and 3 is approximately 4.33%. +

      +
      + +

      Total of Differences, by Number and Type

      -The percent change statistic reported for all elements in the "to" API Level specification is defined recursively as follows:

      -
      -Percentage difference = 100 * (added + removed + 2*changed)
      -                        -----------------------------------
      -                        sum of public elements in BOTH APIs
      -
      -

      where added is the number of packages added, removed is the number of packages removed, and changed is the number of packages changed. -This definition is applied recursively for the classes and their program elements, so the value for a changed package will be less than 1, unless every class in that package has changed. -The definition ensures that if all packages are removed and all new packages are -added, the change will be 100%. Values are rounded here, so a value of 0% indicates a percentage difference of less than 0.5%.

      -

      The overall difference between the two APIs is approximately 4%. +The table below lists the numbers of program elements (packages, classes, constructors, methods, and fields) that were added, changed, or removed. The table includes only the highest-level program elements — that is, if a class with two methods was added, the number of methods added does not include those two methods, but the number of classes added does include that class.

      -

      Contents

      -
      Changed Packages
      Sorted by percentage difference
      -
      Changed Classes and Interfaces
      Sorted by percentage difference
      -
      Total of Differences
      Listed by number and type
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      TypeAdditionsChangesRemovalsTotal
      Packages636042
      Classes and Interfaces671810248
      Constructors363140
      Methods386645455
      Fields296681365
      Total79135271150

      Changed Packages, Sorted by Percentage Difference

      - + @@ -141,10 +182,6 @@ added, the change will be 100%. Values are rounded here, so a value of 0% indica - - - - @@ -169,6 +206,10 @@ added, the change will be 100%. Values are rounded here, so a value of 0% indica + + + + @@ -209,10 +250,6 @@ added, the change will be 100%. Values are rounded here, so a value of 0% indica - - - - @@ -225,10 +262,6 @@ added, the change will be 100%. Values are rounded here, so a value of 0% indica - - - - @@ -237,10 +270,6 @@ added, the change will be 100%. Values are rounded here, so a value of 0% indica - - - - @@ -251,15 +280,16 @@ added, the change will be 100%. Values are rounded here, so a value of 0% indica - +
      Percentage DifferencePercentage Difference* Package
      8 android.test
      8android.test.suitebuilder
      7 android5 android.os
      4android.test.suitebuilder
      4 android.webkit<1 android.test.mock
      <1java.lang.reflect
      <1 android.view.animation<1 android.telephony.gsm
      <1java.net
      <1 android.database<1 android.graphics
      <1java.lang
      <1 android.database.sqlite
      <1java.utiljava.lang
      +

      * See Calculation of Change Percentages, below.


      Changed Classes and Interfaces, Sorted by Percentage Difference

      - + @@ -677,21 +707,11 @@ android.media.MediaPlayer - - - - - - - - - - - - - - - - - - - -android.text.style.UpdateLayout
      Percentage
      Difference
      Percentage
      Difference*
      Class or Interface
      android.test.ProviderTestCase
      10 -android.test.suitebuilder.TestSuiteBuilder
      10 android.widget.Chronometer
      10 -java.net.Socket
      9 @@ -712,11 +732,6 @@ android.media.AudioManager android.view.ViewTreeObserver
      8 -java.lang.reflect.Proxy
      8 @@ -762,11 +777,6 @@ android.os.Environment android.view.KeyEvent
      6 -java.lang.String
      6 @@ -787,11 +797,6 @@ android.view.OrientationListener dalvik.system.DexFile
      6 -java.util.Date
      6 @@ -1193,67 +1198,20 @@ java.lang.Character.UnicodeBlock
      +

      * See Calculation of Change Percentages, below.


      - -

      Total of Differences, by Number and Type

      +

      Calculation of Change Percentages

      -The table below lists the numbers of program elements (packages, classes, constructors, methods, and fields) that were removed, added or changed. The table includes only the highest-level program elements — that is, if a class with two methods was added, the number of methods added does not include those two methods, but the number of classes added does include that class. -

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      - Number of Differences
        - RemovalsAdditionsChangesTotal
      Packages063945
      Classes and Interfaces067186253
      Constructors1361552
      Methods038171452
      Fields129668365
      Total27863791167
      +The percent change statistic reported for all elements in the "to" API Level specification is defined recursively as follows:

      +
      +Percentage difference = 100 * (added + removed + 2*changed)
      +                        -----------------------------------
      +                        sum of public elements in BOTH APIs
      +
      +

      where added is the number of packages added, removed is the number of packages removed, and changed is the number of packages changed. +This definition is applied recursively for the classes and their program elements, so the value for a changed package will be less than 1, unless every class in that package has changed. +The definition ensures that if all packages are removed and all new packages are +added, the change will be 100%.

      diff --git a/docs/html/sdk/api_diff/4/changes/android.view.Window.Callback.html b/docs/html/sdk/api_diff/4/changes/android.view.Window.Callback.html index de1d3547524f026f37cd52b835d59310897bae19..a76ab489cd600b03a503daa83637ba06d393937c 100644 --- a/docs/html/sdk/api_diff/4/changes/android.view.Window.Callback.html +++ b/docs/html/sdk/api_diff/4/changes/android.view.Window.Callback.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.09.02 18:26 + 2009.11.19 19:34
      diff --git a/docs/html/sdk/api_diff/4/changes/android.widget.AutoCompleteTextView.html b/docs/html/sdk/api_diff/4/changes/android.widget.AutoCompleteTextView.html index bad2b22ced46f1e5ebc2ea7498bab7e31086193f..6a123acbe0e872bb0d67fbb99c6b45dd7cc3ea2b 100644 --- a/docs/html/sdk/api_diff/4/changes/android.widget.AutoCompleteTextView.html +++ b/docs/html/sdk/api_diff/4/changes/android.widget.AutoCompleteTextView.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.09.02 18:26 + 2009.11.19 19:34
      diff --git a/docs/html/sdk/api_diff/4/changes/android.widget.CheckedTextView.html b/docs/html/sdk/api_diff/4/changes/android.widget.CheckedTextView.html index 79e40a8b60f3294cf1040edf6bdf63d7a001b7cc..9629a79d48e3e37144068c8dd02e6f07ec38e05a 100644 --- a/docs/html/sdk/api_diff/4/changes/android.widget.CheckedTextView.html +++ b/docs/html/sdk/api_diff/4/changes/android.widget.CheckedTextView.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.09.02 18:26 + 2009.11.19 19:34
      diff --git a/docs/html/sdk/api_diff/4/changes/android.widget.ListView.html b/docs/html/sdk/api_diff/4/changes/android.widget.ListView.html index 487c69b337ea51988a69b4bb3cd97aa286e92d92..1f2d3d65cfc9ed71f0de1b02d7f5f587250971c8 100644 --- a/docs/html/sdk/api_diff/4/changes/android.widget.ListView.html +++ b/docs/html/sdk/api_diff/4/changes/android.widget.ListView.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.09.02 18:26 + 2009.11.19 19:34
      diff --git a/docs/html/sdk/api_diff/4/changes/android.widget.PopupWindow.html b/docs/html/sdk/api_diff/4/changes/android.widget.PopupWindow.html index 6ce83af6e85abf04401ab3882a0195278ee8a599..8b52b3f16ffcaf8c90aa6e043d420003636aab24 100644 --- a/docs/html/sdk/api_diff/4/changes/android.widget.PopupWindow.html +++ b/docs/html/sdk/api_diff/4/changes/android.widget.PopupWindow.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.09.02 18:26 + 2009.11.19 19:34
      diff --git a/docs/html/sdk/api_diff/4/changes/android.widget.TabHost.TabSpec.html b/docs/html/sdk/api_diff/4/changes/android.widget.TabHost.TabSpec.html index 8940867ba2247b6f05484478404b14bdf6793c0e..65286bd15b1ba7ad1c2d7b1e83ca5877b96bfbad 100644 --- a/docs/html/sdk/api_diff/4/changes/android.widget.TabHost.TabSpec.html +++ b/docs/html/sdk/api_diff/4/changes/android.widget.TabHost.TabSpec.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.09.02 18:26 + 2009.11.19 19:34
      diff --git a/docs/html/sdk/api_diff/4/changes/android.widget.TabWidget.html b/docs/html/sdk/api_diff/4/changes/android.widget.TabWidget.html index 17b2a5edba2fb1b83555b222ae202caf8e312f7d..f080dc52087955789467f0b7cfc21705af7aeeb8 100644 --- a/docs/html/sdk/api_diff/4/changes/android.widget.TabWidget.html +++ b/docs/html/sdk/api_diff/4/changes/android.widget.TabWidget.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.09.02 18:26 + 2009.11.19 19:34
      diff --git a/docs/html/sdk/api_diff/4/changes/changes-summary.html b/docs/html/sdk/api_diff/4/changes/changes-summary.html index a4850a52a193a75db8174290320b75e1a8a6a556..88b8be6820fd9e786d733bdc87f7a7c821121d27 100644 --- a/docs/html/sdk/api_diff/4/changes/changes-summary.html +++ b/docs/html/sdk/api_diff/4/changes/changes-summary.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.09.02 18:26 + 2009.11.19 19:34
      @@ -72,7 +72,8 @@ body{overflow:auto;}

      Android API Differences Report

      -

      This report details the changes in the core Android framework API between two API Level +

      This report details the changes in the core Android framework API between two API Level specifications. It shows additions, modifications, and removals for packages, classes, methods, and fields. The report also includes general statistics that characterize the extent and type of the differences.

      This report is based a comparison of the Android API specifications @@ -298,22 +299,15 @@ see the Android - - java.lang + + java.util.concurrent   - - java.net - -   - - - - - java.util + + java.util.concurrent.locks   diff --git a/docs/html/sdk/api_diff/4/changes/classes_index_additions.html b/docs/html/sdk/api_diff/4/changes/classes_index_additions.html index d59f6660d4679b37c85d73962787d078618b21ac..71e2423836fc701a6e3e864db318dca26ef60c06 100644 --- a/docs/html/sdk/api_diff/4/changes/classes_index_additions.html +++ b/docs/html/sdk/api_diff/4/changes/classes_index_additions.html @@ -44,8 +44,8 @@ body{overflow:auto;} -

      -Bold indicates New; Strike indicates deleted. Plain indicates changed. +
      +Listed as: Added, Removed, Changed

      A  diff --git a/docs/html/sdk/api_diff/4/changes/classes_index_all.html b/docs/html/sdk/api_diff/4/changes/classes_index_all.html index 4af271601e262ee8c486f78dcfd558d23d08244c..5415cf4d3dc9af3a307c43265f8e724021a7e6e7 100644 --- a/docs/html/sdk/api_diff/4/changes/classes_index_all.html +++ b/docs/html/sdk/api_diff/4/changes/classes_index_all.html @@ -44,8 +44,8 @@ body{overflow:auto;} -
      -Bold indicates New; Strike indicates deleted. Plain indicates changed. +
      +Listed as: Added, Removed, Changed

      A  @@ -68,6 +68,7 @@ body{overflow:auto;} Z TOP

      +AbstractQueuedSynchronizer
      Activity
      ActivityInfo
      Address
      @@ -159,7 +160,6 @@ body{overflow:auto;} Z TOP

      -Date
      Dialog
      DisplayMetrics
      Drawable
      @@ -425,8 +425,6 @@ body{overflow:auto;} SmsMessage.SubmitPdu
        android.telephony
        android.telephony.gsm
      -Socket
      -String
      Surface

      T  @@ -451,6 +449,8 @@ body{overflow:auto;}

      TabHost.TabSpec
      TabWidget
      +TelephonyManager
      +TimeUnit
      ToneGenerator
      TypedValue
      Typeface
      diff --git a/docs/html/sdk/api_diff/4/changes/classes_index_changes.html b/docs/html/sdk/api_diff/4/changes/classes_index_changes.html index 193e21cb5687ab52cfa80c2578782a1f4c5e5e74..f74c85779907f8a4b45c51e551b1ac4fcf3dcaa9 100644 --- a/docs/html/sdk/api_diff/4/changes/classes_index_changes.html +++ b/docs/html/sdk/api_diff/4/changes/classes_index_changes.html @@ -44,8 +44,8 @@ body{overflow:auto;} -
      -Bold indicates New; Strike indicates deleted. Plain indicates changed. +
      +Listed as: Added, Removed, Changed

      A  @@ -65,6 +65,7 @@ body{overflow:auto;} W TOP

      +AbstractQueuedSynchronizer
      Activity
      ActivityInfo
      Address
      @@ -142,7 +143,6 @@ body{overflow:auto;} W TOP

      -Date
      Dialog
      DisplayMetrics
      Drawable
      @@ -323,8 +323,6 @@ body{overflow:auto;} SmsMessage
      SmsMessage.MessageClass
      SmsMessage.SubmitPdu
      -Socket
      -String
      Surface

      T  @@ -346,6 +344,8 @@ body{overflow:auto;}

      TabHost.TabSpec
      TabWidget
      +TelephonyManager
      +TimeUnit
      ToneGenerator
      TypedValue
      Typeface
      diff --git a/docs/html/sdk/api_diff/4/changes/classes_index_removals.html b/docs/html/sdk/api_diff/4/changes/classes_index_removals.html index f5cb9dd69b9e6ab98502bbcc168dfc231009809b..9b37279d28db344f87b31ea02bf83152733e7600 100644 --- a/docs/html/sdk/api_diff/4/changes/classes_index_removals.html +++ b/docs/html/sdk/api_diff/4/changes/classes_index_removals.html @@ -44,8 +44,8 @@ body{overflow:auto;} -
      -Bold indicates New; Strike indicates deleted. Plain indicates changed. +
      +Listed as: Added, Removed, Changed

      I  diff --git a/docs/html/sdk/api_diff/4/changes/constructors_index_additions.html b/docs/html/sdk/api_diff/4/changes/constructors_index_additions.html index 7d6ad75380b2a150febe353e76dfd8744c35ebb5..85db6804a5a197fc97592ec1cd351edc7d791ca2 100644 --- a/docs/html/sdk/api_diff/4/changes/constructors_index_additions.html +++ b/docs/html/sdk/api_diff/4/changes/constructors_index_additions.html @@ -44,8 +44,8 @@ body{overflow:auto;} -
      -Bold indicates New; Strike indicates deleted. Plain indicates changed. +
      +Listed as: Added, Removed, Changed

      B  diff --git a/docs/html/sdk/api_diff/4/changes/constructors_index_all.html b/docs/html/sdk/api_diff/4/changes/constructors_index_all.html index 87ed25915feab08249fb2ee0b04db3a6db1c132f..cd80e6d854ae724706281ea362dc8dadfd868ffa 100644 --- a/docs/html/sdk/api_diff/4/changes/constructors_index_all.html +++ b/docs/html/sdk/api_diff/4/changes/constructors_index_all.html @@ -44,12 +44,11 @@ body{overflow:auto;} -
      -Bold indicates New; Strike indicates deleted. Plain indicates changed. +
      +Listed as: Added, Removed, Changed

      B  -D I N S @@ -64,23 +63,9 @@ body{overflow:auto;} () constructor
        BitmapDrawable (Bitmap) constructor
      - -
      D  -B -I -N -S - TOP -

      -Date
      -  Date -() constructor
      -  Date -(int, int, int, int, int, int) constructor

      I  B -D N S TOP @@ -97,7 +82,6 @@ body{overflow:auto;}
      N  B -D I S TOP @@ -114,7 +98,6 @@ body{overflow:auto;}
      S  B -D I N TOP @@ -123,28 +106,6 @@ body{overflow:auto;} () constructor
      SmsMessage.SubmitPdu () constructor
      -Socket
      -  Socket -() constructor
      -  Socket -(String, int) constructor
      -  Socket -(String, int, InetAddress, int) constructor
      -  Socket -(Proxy) constructor
      -  Socket -(SocketImpl) constructor
      -String
      -  String -() constructor
      -  String -(byte[]) constructor
      -  String -(byte[], int) constructor
      -  String -(byte[], int, int) constructor
      -  String -(byte[], int, int, int) constructor
      diff --git a/docs/html/sdk/api_diff/4/changes/fields_index_additions.html b/docs/html/sdk/api_diff/4/changes/fields_index_additions.html index 8ab19bae74aaa6cc8d472a56e338b55e2cd8f843..d1bb48f1037c1b812e6cfe7e65c4fce3e9335631 100644 --- a/docs/html/sdk/api_diff/4/changes/fields_index_additions.html +++ b/docs/html/sdk/api_diff/4/changes/fields_index_additions.html @@ -44,8 +44,8 @@ body{overflow:auto;} -
      -Bold indicates New; Strike indicates deleted. Plain indicates changed. +
      +Listed as: Added, Removed, Changed

      A  @@ -181,14 +181,16 @@ body{overflow:auto;} W TOP

      +DATA_ACTIVITY_DORMANT +
      density
      DENSITY_DEFAULT
      - in  -android.util.DisplayMetrics + in  +android.util.DisplayMetrics
      - in  -android.util.TypedValue + in  +android.util.TypedValue
      DENSITY_HIGH
      @@ -197,11 +199,11 @@ body{overflow:auto;} DENSITY_MEDIUM
      DENSITY_NONE
      - in  -android.graphics.Bitmap + in  +android.graphics.Bitmap
      - in  -android.util.TypedValue + in  +android.util.TypedValue
      densityDpi
      @@ -450,6 +452,14 @@ body{overflow:auto;} W TOP

      +NETWORK_TYPE_1xRTT +
      +NETWORK_TYPE_CDMA +
      +NETWORK_TYPE_EVDO_0 +
      +NETWORK_TYPE_EVDO_A +
      normalScreens
      @@ -504,6 +514,8 @@ body{overflow:auto;}

      pathPermissions
      +PHONE_TYPE_CDMA +
      progressBarStyleInverse
      progressBarStyleLargeInverse @@ -663,11 +675,11 @@ body{overflow:auto;} TOP

      targetSdkVersion
      - in  -
      android.R.attr + in  +android.R.attr
      - in  -android.content.pm.ApplicationInfo + in  +android.content.pm.ApplicationInfo
      tension
      diff --git a/docs/html/sdk/api_diff/4/changes/fields_index_all.html b/docs/html/sdk/api_diff/4/changes/fields_index_all.html index 3d155b7bfa7e2879785a36c1661bb39b9fa0d0df..05afee5237b6b9a40c13345351bf07563d9cd7ac 100644 --- a/docs/html/sdk/api_diff/4/changes/fields_index_all.html +++ b/docs/html/sdk/api_diff/4/changes/fields_index_all.html @@ -44,8 +44,8 @@ body{overflow:auto;} -
      -Bold indicates New; Strike indicates deleted. Plain indicates changed. +
      +Listed as: Added, Removed, Changed

      A  @@ -183,21 +183,23 @@ body{overflow:auto;} W TOP

      +DATA_ACTIVITY_DORMANT +
      DEFAULT_SORT_ORDER
      - in  -android.provider.MediaStore.Audio.Genres.Members + in  +android.provider.MediaStore.Audio.Genres.Members
      - in  -android.provider.MediaStore.Audio.Media + in  +android.provider.MediaStore.Audio.Media
      density
      DENSITY_DEFAULT
      - in  -android.util.DisplayMetrics + in  +android.util.DisplayMetrics
      - in  -android.util.TypedValue + in  +android.util.TypedValue
      DENSITY_HIGH
      @@ -206,11 +208,11 @@ body{overflow:auto;} DENSITY_MEDIUM
      DENSITY_NONE
      - in  -android.graphics.Bitmap + in  +android.graphics.Bitmap
      - in  -android.util.TypedValue + in  +android.util.TypedValue
      densityDpi
      @@ -535,6 +537,14 @@ body{overflow:auto;} W TOP

      +NETWORK_TYPE_1xRTT +
      +NETWORK_TYPE_CDMA +
      +NETWORK_TYPE_EVDO_0 +
      +NETWORK_TYPE_EVDO_A +
      normalScreens
      @@ -589,6 +599,8 @@ body{overflow:auto;}

      pathPermissions
      +PHONE_TYPE_CDMA +
      PROFILE
      progressBarStyleInverse @@ -778,11 +790,11 @@ body{overflow:auto;} TOP

      targetSdkVersion
      - in  -
      android.R.attr + in  +android.R.attr
      - in  -android.content.pm.ApplicationInfo + in  +android.content.pm.ApplicationInfo
      tension
      diff --git a/docs/html/sdk/api_diff/4/changes/fields_index_changes.html b/docs/html/sdk/api_diff/4/changes/fields_index_changes.html index bd7a48f9b8c3a3489abb354f83a063278bcc008d..5d600341e8b339b31fb8442f15c2caa3f164fa70 100644 --- a/docs/html/sdk/api_diff/4/changes/fields_index_changes.html +++ b/docs/html/sdk/api_diff/4/changes/fields_index_changes.html @@ -44,8 +44,8 @@ body{overflow:auto;} -
      -Bold indicates New; Strike indicates deleted. Plain indicates changed. +
      +Listed as: Added, Removed, Changed

      D  @@ -58,11 +58,11 @@ body{overflow:auto;} TOP

      DEFAULT_SORT_ORDER
      - in  -android.provider.MediaStore.Audio.Genres.Members + in  +android.provider.MediaStore.Audio.Genres.Members
      - in  -android.provider.MediaStore.Audio.Media + in  +android.provider.MediaStore.Audio.Media

      E  diff --git a/docs/html/sdk/api_diff/4/changes/fields_index_removals.html b/docs/html/sdk/api_diff/4/changes/fields_index_removals.html index a249a9e011e6fc69f4ec402054b39511df683354..1ec4ff5388225390ab65483425a9af97abf84295 100644 --- a/docs/html/sdk/api_diff/4/changes/fields_index_removals.html +++ b/docs/html/sdk/api_diff/4/changes/fields_index_removals.html @@ -44,8 +44,8 @@ body{overflow:auto;} -
      -Bold indicates New; Strike indicates deleted. Plain indicates changed. +
      +Listed as: Added, Removed, Changed

      A  diff --git a/docs/html/sdk/api_diff/4/changes/java.util.concurrent.TimeUnit.html b/docs/html/sdk/api_diff/4/changes/java.util.concurrent.TimeUnit.html new file mode 100644 index 0000000000000000000000000000000000000000..41c1be363c28fb9538d8dcd1ca6b73a4ab20473c --- /dev/null +++ b/docs/html/sdk/api_diff/4/changes/java.util.concurrent.TimeUnit.html @@ -0,0 +1,108 @@ + + + + + + + + + +java.util.concurrent.TimeUnit + + + + + + + + + + +
      +
      +
      +

      +Class java.util.concurrent.TimeUnit +

      +

      Change from final to non-final.
      + + + +

      + +
      +
      + + + + diff --git a/docs/html/sdk/api_diff/4/changes/java.util.concurrent.locks.AbstractQueuedSynchronizer.html b/docs/html/sdk/api_diff/4/changes/java.util.concurrent.locks.AbstractQueuedSynchronizer.html new file mode 100644 index 0000000000000000000000000000000000000000..1c6ae14d786dbd0129a7545cfd10c328cdce4306 --- /dev/null +++ b/docs/html/sdk/api_diff/4/changes/java.util.concurrent.locks.AbstractQueuedSynchronizer.html @@ -0,0 +1,108 @@ + + + + + + + + + +java.util.concurrent.locks.AbstractQueuedSynchronizer + + + + + + + + + + +
      +
      +
      +

      +Class java.util.concurrent.locks.AbstractQueuedSynchronizer +

      +

      The superclass changed from java.lang.Object to java.util.concurrent.locks.AbstractOwnableSynchronizer.
      + + + +

      + +
      +
      + + + + diff --git a/docs/html/sdk/api_diff/4/changes/jdiff_statistics.html b/docs/html/sdk/api_diff/4/changes/jdiff_statistics.html index 3244a173a4f8365b3a139083d2c1f9c981b2cf7a..c21b8753710e7be4dd6927f6cf7298ea04b6cce0 100644 --- a/docs/html/sdk/api_diff/4/changes/jdiff_statistics.html +++ b/docs/html/sdk/api_diff/4/changes/jdiff_statistics.html @@ -45,16 +45,16 @@ body{overflow:auto;} API Diff Specification - To Version: + To Level: 4 - From Version: + From Level: 3 Generated - 2009.09.02 18:26 + 2009.11.19 19:34
      @@ -71,29 +71,71 @@ body{overflow:auto;}

      API Change Statistics

      +

      The overall difference between API Levels 3 and 4 is approximately 2.45%. +

      +
      + +

      Total of Differences, by Number and Type

      -The percent change statistic reported for all elements in the "to" API Level specification is defined recursively as follows:

      -
      -Percentage difference = 100 * (added + removed + 2*changed)
      -                        -----------------------------------
      -                        sum of public elements in BOTH APIs
      -
      -

      where added is the number of packages added, removed is the number of packages removed, and changed is the number of packages changed. -This definition is applied recursively for the classes and their program elements, so the value for a changed package will be less than 1, unless every class in that package has changed. -The definition ensures that if all packages are removed and all new packages are -added, the change will be 100%. Values are rounded here, so a value of 0% indicates a percentage difference of less than 0.5%.

      -

      The overall difference between the two APIs is approximately 2%. +The table below lists the numbers of program elements (packages, classes, constructors, methods, and fields) that were added, changed, or removed. The table includes only the highest-level program elements — that is, if a class with two methods was added, the number of methods added does not include those two methods, but the number of classes added does include that class.

      -

      Contents

      -
      Changed Packages
      Sorted by percentage difference
      -
      Changed Classes and Interfaces
      Sorted by percentage difference
      -
      Total of Differences
      Listed by number and type
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      TypeAdditionsChangesRemovalsTotal
      Packages426030
      Classes and Interfaces2273297
      Constructors68014
      Methods80433126
      Fields2082729264
      Total32017734531

      Changed Packages, Sorted by Percentage Difference

      - + @@ -190,27 +232,24 @@ added, the change will be 100%. Values are rounded here, so a value of 0% indica - + - - - - - +
      Percentage DifferencePercentage Difference* Package
      <1java.netjava.util.concurrent.locks
      <1java.util
      <1java.langjava.util.concurrent
      <1 android.hardware
      +

      * See Calculation of Change Percentages, below.


      Changed Classes and Interfaces, Sorted by Percentage Difference

      - + @@ -338,11 +377,6 @@ android.app.LauncherActivity - - - - - - - - - - - - + + + + + + + + + + + + android.app.Activity
      Percentage
      Difference
      Percentage
      Difference*
      Class or Interface
      android.content.res.Configuration
      10 -java.net.Socket
      8 @@ -363,11 +397,6 @@ android.app.LauncherActivity.ListItem android.location.Address
      6 -java.lang.String
      6 @@ -378,11 +407,6 @@ android.os.Build android.view.VelocityTracker
      6 -java.util.Date
      6 @@ -398,6 +422,16 @@ android.graphics.Typeface android.provider.MediaStore.Audio.Media
      5 +android.telephony.TelephonyManager
      5 +java.util.concurrent.TimeUnit
      4 @@ -508,6 +542,11 @@ android.media.MediaRecorder android.test.mock.MockPackageManager
      1 +java.util.concurrent.locks.AbstractQueuedSynchronizer
      1 @@ -579,67 +618,20 @@ android.provider.Settings.System
      +

      * See Calculation of Change Percentages, below.


      - -

      Total of Differences, by Number and Type

      +

      Calculation of Change Percentages

      -The table below lists the numbers of program elements (packages, classes, constructors, methods, and fields) that were removed, added or changed. The table includes only the highest-level program elements — that is, if a class with two methods was added, the number of methods added does not include those two methods, but the number of classes added does include that class. -

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      - Number of Differences
        - RemovalsAdditionsChangesTotal
      Packages042731
      Classes and Interfaces2227397
      Constructors062026
      Methods38043126
      Fields2920227258
      Total34314190538
      +The percent change statistic reported for all elements in the "to" API Level specification is defined recursively as follows:

      +
      +Percentage difference = 100 * (added + removed + 2*changed)
      +                        -----------------------------------
      +                        sum of public elements in BOTH APIs
      +
      +

      where added is the number of packages added, removed is the number of packages removed, and changed is the number of packages changed. +This definition is applied recursively for the classes and their program elements, so the value for a changed package will be less than 1, unless every class in that package has changed. +The definition ensures that if all packages are removed and all new packages are +added, the change will be 100%.

      diff --git a/docs/html/sdk/api_diff/5/changes/android.os.BatteryManager.html b/docs/html/sdk/api_diff/5/changes/android.os.BatteryManager.html index 9ac9fadbf48705f45fa642dd2cf680c70a547fda..9bf76d31fa9457b9c1d04e35b449b13ebb9e1673 100644 --- a/docs/html/sdk/api_diff/5/changes/android.os.BatteryManager.html +++ b/docs/html/sdk/api_diff/5/changes/android.os.BatteryManager.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.os.Build.VERSION_CODES.html b/docs/html/sdk/api_diff/5/changes/android.os.Build.VERSION_CODES.html index 3cb73c838d0a88159b20edd3ebe8b7b84b0e7587..58ae354979cb1e606077fe138d3da9247f04d199 100644 --- a/docs/html/sdk/api_diff/5/changes/android.os.Build.VERSION_CODES.html +++ b/docs/html/sdk/api_diff/5/changes/android.os.Build.VERSION_CODES.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.os.Debug.MemoryInfo.html b/docs/html/sdk/api_diff/5/changes/android.os.Debug.MemoryInfo.html index 65c8eb8329df105671128c2b57d745433ad0a732..8f49b3a8281e2e1550d97a968c4f1b66c503236d 100644 --- a/docs/html/sdk/api_diff/5/changes/android.os.Debug.MemoryInfo.html +++ b/docs/html/sdk/api_diff/5/changes/android.os.Debug.MemoryInfo.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.os.HandlerThread.html b/docs/html/sdk/api_diff/5/changes/android.os.HandlerThread.html index 57b149ff42bd50cc11cf7180edeb69c917475237..c45faf38333b2b7913ebbef29ceed63039264bcc 100644 --- a/docs/html/sdk/api_diff/5/changes/android.os.HandlerThread.html +++ b/docs/html/sdk/api_diff/5/changes/android.os.HandlerThread.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.ContactMethods.html b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.ContactMethods.html index 633a65f9b9607aadc3ed0f8f5cc7c704d8f196fd..7619936defa697d3b830cd5d676554bddeedc0eb 100644 --- a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.ContactMethods.html +++ b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.ContactMethods.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.ContactMethodsColumns.html b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.ContactMethodsColumns.html index bb2ae04879fc16796905293fd671ecd82bce31cd..abd9fe0b4f0416defd88581f8960d0c79fa317ce 100644 --- a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.ContactMethodsColumns.html +++ b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.ContactMethodsColumns.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Extensions.html b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Extensions.html index 763accb50d5729c65b16e7e0066919fd2c8e1d90..b3e68bb9c6098f1d39aa67d18749bffca822a118 100644 --- a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Extensions.html +++ b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Extensions.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.ExtensionsColumns.html b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.ExtensionsColumns.html index 09a6434ba194e85a493fc0c8064b36d9886b2ff8..ba94393518dd0fa3dca28a88103be702fbfad65c 100644 --- a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.ExtensionsColumns.html +++ b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.ExtensionsColumns.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.GroupMembership.html b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.GroupMembership.html index 8ede257b2c16ead7b305c332eaa8c233c7a58f00..f9ecf01a9eb5f9353fb6338f4ee492cc7bd9b8fc 100644 --- a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.GroupMembership.html +++ b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.GroupMembership.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Groups.html b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Groups.html index 556c60e6bff7c851f89540e30f9e011f9e82d193..9a2003ab5eb430e06b7dcce879e65bbddcc64c64 100644 --- a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Groups.html +++ b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Groups.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.GroupsColumns.html b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.GroupsColumns.html index ef6b86c25bb7deae1eddd9aa12b0bf43f9d332b0..a7a8c9992238ea96278d17cdd0d3600c78a52da7 100644 --- a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.GroupsColumns.html +++ b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.GroupsColumns.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Intents.Insert.html b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Intents.Insert.html index 1c0b74adb305b7ca59ea7d62da10af084003692b..72ce6a106fb55bc540d9e7b2cd491d1bfce1bded 100644 --- a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Intents.Insert.html +++ b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Intents.Insert.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Intents.UI.html b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Intents.UI.html index fb629f794b3b32cf7156783c9e3f643c2b1f1e95..607190cd665285357e125b9159c0eb8272e978e4 100644 --- a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Intents.UI.html +++ b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Intents.UI.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Intents.html b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Intents.html index a18a7940c98f22dfc4f738b7c1058ef2e60bf3db..5db9c26969b5b08701c15359f2a64bdec0cd7c5c 100644 --- a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Intents.html +++ b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Intents.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.OrganizationColumns.html b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.OrganizationColumns.html index 45a241c1664922e759a0751ea258bd58445e8613..b0b54d2235901a37bc56155542e4296adf7948b2 100644 --- a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.OrganizationColumns.html +++ b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.OrganizationColumns.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Organizations.html b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Organizations.html index 64c0cf73baf1c4e2eaacb2143e561dc707ad27c7..c55bc68ccad8c9c5936705728524afded11acdb8 100644 --- a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Organizations.html +++ b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Organizations.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.People.ContactMethods.html b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.People.ContactMethods.html index 0c9340a5a64d47690a70314e1f27806a03adc631..31befa0c34363d19a7fc28a3dbd3fa6a7f115854 100644 --- a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.People.ContactMethods.html +++ b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.People.ContactMethods.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.People.Extensions.html b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.People.Extensions.html index 63b77f3bb6142826abcea379e0bbce296f70acd8..2ce04917c030a549b9d7f85a001a853cbf5aaec8 100644 --- a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.People.Extensions.html +++ b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.People.Extensions.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.People.Phones.html b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.People.Phones.html index f9f708793d8668f119c9e67f96e1fec2c333275a..afe96f254d57472b20210f55a0caa99e2e00361a 100644 --- a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.People.Phones.html +++ b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.People.Phones.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.People.html b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.People.html index 5cf4e05185cb9f171f037bb35850bafde552f94b..87231ab78a2c408f5e76c6d3c886497adf12e390 100644 --- a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.People.html +++ b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.People.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.PeopleColumns.html b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.PeopleColumns.html index 4a0e979a91f21854ebffed28db16fdc817193d84..037acd6b18e317523410489314556209a12d858f 100644 --- a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.PeopleColumns.html +++ b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.PeopleColumns.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Phones.html b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Phones.html index e3cf5738f42a224b9454dbc1c20284bef8461ca3..a604145ee6dddd3ff450aa5811ef634452f38b96 100644 --- a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Phones.html +++ b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Phones.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.PhonesColumns.html b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.PhonesColumns.html index e7786d8bd6eee211c82c7794a3672501bf560023..e42a51e2b422f843f4ac5010a5025fae270510d5 100644 --- a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.PhonesColumns.html +++ b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.PhonesColumns.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Photos.html b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Photos.html index 05d64cea34b9d3d4b49ec00bc96f8efb0dd1a9c1..0aeaa9cb96a4e4b646ca674be303406b0734d6d1 100644 --- a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Photos.html +++ b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Photos.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.PhotosColumns.html b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.PhotosColumns.html index b0ae613b6d57ba11865208a4125624bf84d64c48..f13d55daf81220d160a58bd613bbad2b4b6304e2 100644 --- a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.PhotosColumns.html +++ b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.PhotosColumns.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.PresenceColumns.html b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.PresenceColumns.html index d1fd127aca546706e67f97e832cd093259c6a693..ec5ec5b3544814add6e65ad823dd57d2a76d1dd1 100644 --- a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.PresenceColumns.html +++ b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.PresenceColumns.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Settings.html b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Settings.html index bcbf2658a840a5f440f924e8e6f7a2d80bcd9fca..65020e9dde490726f053381d887efa7cdd57c949 100644 --- a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Settings.html +++ b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.Settings.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.SettingsColumns.html b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.SettingsColumns.html index 91a710381d7b9e2738f43a840858fbb9d1355232..d03da384642b0972662ec2828b7df52bb3189fc2 100644 --- a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.SettingsColumns.html +++ b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.SettingsColumns.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.html b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.html index e7ee2603ec8f6f59a2e0a5f9f6ed264d6d4afe24..6ed2ae86e1be9b2bbf99ef88d930fc8e716f1317 100644 --- a/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.html +++ b/docs/html/sdk/api_diff/5/changes/android.provider.Contacts.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.provider.MediaStore.Images.Thumbnails.html b/docs/html/sdk/api_diff/5/changes/android.provider.MediaStore.Images.Thumbnails.html index b90610d1802e8e4cdefdcf80fccb94903ee99eb9..67f1d1893cc6c374f440103e49ac7673037813a5 100644 --- a/docs/html/sdk/api_diff/5/changes/android.provider.MediaStore.Images.Thumbnails.html +++ b/docs/html/sdk/api_diff/5/changes/android.provider.MediaStore.Images.Thumbnails.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.provider.Settings.System.html b/docs/html/sdk/api_diff/5/changes/android.provider.Settings.System.html index 21fba1e45c08c5ad5d11c7b1d5be7fd0115521c7..ac417e69df90fd164793d07e650a89b2af938302 100644 --- a/docs/html/sdk/api_diff/5/changes/android.provider.Settings.System.html +++ b/docs/html/sdk/api_diff/5/changes/android.provider.Settings.System.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.provider.Settings.html b/docs/html/sdk/api_diff/5/changes/android.provider.Settings.html index 800830cb819b021b18b8b982dddc110d59491962..0e2f350665edd29b1439dc8d66949a3fcb57f2b2 100644 --- a/docs/html/sdk/api_diff/5/changes/android.provider.Settings.html +++ b/docs/html/sdk/api_diff/5/changes/android.provider.Settings.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.telephony.NeighboringCellInfo.html b/docs/html/sdk/api_diff/5/changes/android.telephony.NeighboringCellInfo.html index 328187bfd2b9d250abe76be57ce528cc43fb62fa..a7b0204efcd6acc84f6cbdd5f4838848233f404a 100644 --- a/docs/html/sdk/api_diff/5/changes/android.telephony.NeighboringCellInfo.html +++ b/docs/html/sdk/api_diff/5/changes/android.telephony.NeighboringCellInfo.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.telephony.PhoneNumberUtils.html b/docs/html/sdk/api_diff/5/changes/android.telephony.PhoneNumberUtils.html index e54f8d1702ce31946f932d45a10f79d227a924b0..b4b41f2463d04bf5b83fcf6ab8749306deb18504 100644 --- a/docs/html/sdk/api_diff/5/changes/android.telephony.PhoneNumberUtils.html +++ b/docs/html/sdk/api_diff/5/changes/android.telephony.PhoneNumberUtils.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.telephony.PhoneStateListener.html b/docs/html/sdk/api_diff/5/changes/android.telephony.PhoneStateListener.html index d881cdcd32ccab117a7ed279b6802c97aef05b76..57d7cf72db49d76fbcb4b2c796edc12754e0245c 100644 --- a/docs/html/sdk/api_diff/5/changes/android.telephony.PhoneStateListener.html +++ b/docs/html/sdk/api_diff/5/changes/android.telephony.PhoneStateListener.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.telephony.TelephonyManager.html b/docs/html/sdk/api_diff/5/changes/android.telephony.TelephonyManager.html index 87607285d7cf0727dacc1148275c49614875ced1..80c80bf1215846f8abf0ade39ea5865f64f7e4f7 100644 --- a/docs/html/sdk/api_diff/5/changes/android.telephony.TelephonyManager.html +++ b/docs/html/sdk/api_diff/5/changes/android.telephony.TelephonyManager.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      @@ -97,41 +97,6 @@ Class android.telephony.Added Fields - - - - int DATA_ACTIVITY_DORMANT - -   - - - - - int NETWORK_TYPE_1xRTT - -   - - - - - int NETWORK_TYPE_CDMA - -   - - - - - int NETWORK_TYPE_EVDO_0 - -   - - - - - int NETWORK_TYPE_EVDO_A - -   - @@ -153,13 +118,6 @@ Class android.telephony. - - - int PHONE_TYPE_CDMA - -   -  
      diff --git a/docs/html/sdk/api_diff/5/changes/android.test.AndroidTestRunner.html b/docs/html/sdk/api_diff/5/changes/android.test.AndroidTestRunner.html index dca92c318ff428d07a2aa5b14e56ef6053c64215..3cfa8af7bd61c8bd92f211b72e1e03a8fefdc7a0 100644 --- a/docs/html/sdk/api_diff/5/changes/android.test.AndroidTestRunner.html +++ b/docs/html/sdk/api_diff/5/changes/android.test.AndroidTestRunner.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.test.InstrumentationTestCase.html b/docs/html/sdk/api_diff/5/changes/android.test.InstrumentationTestCase.html index 1b4964a6ce8b252125d5c00fc80f437feebddcce..0a67d9cf9530953aa29e68064989902605cddc74 100644 --- a/docs/html/sdk/api_diff/5/changes/android.test.InstrumentationTestCase.html +++ b/docs/html/sdk/api_diff/5/changes/android.test.InstrumentationTestCase.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.test.mock.MockContext.html b/docs/html/sdk/api_diff/5/changes/android.test.mock.MockContext.html index da28c6c0954ab716cd683179ce9ae7c1761df4fe..b39747055a2d5326796fd66ca57215994a57705a 100644 --- a/docs/html/sdk/api_diff/5/changes/android.test.mock.MockContext.html +++ b/docs/html/sdk/api_diff/5/changes/android.test.mock.MockContext.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.test.mock.MockPackageManager.html b/docs/html/sdk/api_diff/5/changes/android.test.mock.MockPackageManager.html index 3091d99aaeb23efc8085c33bea63567d11dc9de5..f81699ccdb0012873d0d82dbe732e9ef20b7575f 100644 --- a/docs/html/sdk/api_diff/5/changes/android.test.mock.MockPackageManager.html +++ b/docs/html/sdk/api_diff/5/changes/android.test.mock.MockPackageManager.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.text.InputType.html b/docs/html/sdk/api_diff/5/changes/android.text.InputType.html index eb6f17c19ce38d7135e9db0e8158cb917f9efd67..ba05eb33fc993b535da09ff3226748dfc483ca64 100644 --- a/docs/html/sdk/api_diff/5/changes/android.text.InputType.html +++ b/docs/html/sdk/api_diff/5/changes/android.text.InputType.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.text.TextPaint.html b/docs/html/sdk/api_diff/5/changes/android.text.TextPaint.html index ac7967f09934dbfc38e40f77487f71856c76a4f2..c6569d67b68ccedf062e3831bbabc3b5bfbb6a13 100644 --- a/docs/html/sdk/api_diff/5/changes/android.text.TextPaint.html +++ b/docs/html/sdk/api_diff/5/changes/android.text.TextPaint.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.text.format.DateUtils.html b/docs/html/sdk/api_diff/5/changes/android.text.format.DateUtils.html index ecb8dc50efd70310f6a889b4f033e77dc7c812f9..fdebbe0e5b80b2a291b5bead80897eb44188baaa 100644 --- a/docs/html/sdk/api_diff/5/changes/android.text.format.DateUtils.html +++ b/docs/html/sdk/api_diff/5/changes/android.text.format.DateUtils.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.text.format.Formatter.html b/docs/html/sdk/api_diff/5/changes/android.text.format.Formatter.html index c1d91d9300d3234da13102a42f877b454edc6b51..96fbe10fac5be20e13dfa7b390413c89693b77c0 100644 --- a/docs/html/sdk/api_diff/5/changes/android.text.format.Formatter.html +++ b/docs/html/sdk/api_diff/5/changes/android.text.format.Formatter.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.text.style.AbsoluteSizeSpan.html b/docs/html/sdk/api_diff/5/changes/android.text.style.AbsoluteSizeSpan.html index db93ec3bd8dde4656381e8814dad50040072e45e..4b44bd15506f780d44b62f4f634b277351520f73 100644 --- a/docs/html/sdk/api_diff/5/changes/android.text.style.AbsoluteSizeSpan.html +++ b/docs/html/sdk/api_diff/5/changes/android.text.style.AbsoluteSizeSpan.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.text.style.ImageSpan.html b/docs/html/sdk/api_diff/5/changes/android.text.style.ImageSpan.html deleted file mode 100644 index 856bd8cb2ccaba658ab30af86513afb24aff8c41..0000000000000000000000000000000000000000 --- a/docs/html/sdk/api_diff/5/changes/android.text.style.ImageSpan.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - - - -android.text.style.ImageSpan - - - - - - - - - - -
      -
      -
      -

      -Class android.text.style.ImageSpan -

      - -

      - - - - - - - - - - - - - - -
      Changed Constructors -
      - - ImageSpan(Bitmap) - -  
      - - ImageSpan(Bitmap, int) - -  
      -  - - -

      - -
      -
      - - - - diff --git a/docs/html/sdk/api_diff/5/changes/android.view.HapticFeedbackConstants.html b/docs/html/sdk/api_diff/5/changes/android.view.HapticFeedbackConstants.html index 78c745aa45b86b480eb5dba4750673d233ab9f15..9d853546678eca60accb4467c8fb8eec19343886 100644 --- a/docs/html/sdk/api_diff/5/changes/android.view.HapticFeedbackConstants.html +++ b/docs/html/sdk/api_diff/5/changes/android.view.HapticFeedbackConstants.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.view.KeyEvent.Callback.html b/docs/html/sdk/api_diff/5/changes/android.view.KeyEvent.Callback.html index 23c449720f3fc85d1c54803fdbecacb76f17f8bc..7412049274e7eb57440f6dcc770f1ee9c9650244 100644 --- a/docs/html/sdk/api_diff/5/changes/android.view.KeyEvent.Callback.html +++ b/docs/html/sdk/api_diff/5/changes/android.view.KeyEvent.Callback.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35 diff --git a/docs/html/sdk/api_diff/5/changes/android.view.KeyEvent.html b/docs/html/sdk/api_diff/5/changes/android.view.KeyEvent.html index 8cb61a6e12f48941ce3c96dec9de62381613b000..c8820ca43b8f5b9831ce060361f91d34fdb930de 100644 --- a/docs/html/sdk/api_diff/5/changes/android.view.KeyEvent.html +++ b/docs/html/sdk/api_diff/5/changes/android.view.KeyEvent.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35 diff --git a/docs/html/sdk/api_diff/5/changes/android.view.MotionEvent.html b/docs/html/sdk/api_diff/5/changes/android.view.MotionEvent.html index f63171e2cc2845788b06b270780db3e5f58c6f45..f3380771b527947271a9f1e789f1659e55c6dd78 100644 --- a/docs/html/sdk/api_diff/5/changes/android.view.MotionEvent.html +++ b/docs/html/sdk/api_diff/5/changes/android.view.MotionEvent.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35 diff --git a/docs/html/sdk/api_diff/5/changes/android.view.Surface.html b/docs/html/sdk/api_diff/5/changes/android.view.Surface.html index 928c582b5e2722c86d5ba0ff7cb4c771e9335ee0..5f3625820d940dc38f28faa0f899879518b5ab0d 100644 --- a/docs/html/sdk/api_diff/5/changes/android.view.Surface.html +++ b/docs/html/sdk/api_diff/5/changes/android.view.Surface.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35 diff --git a/docs/html/sdk/api_diff/5/changes/android.view.SurfaceHolder.html b/docs/html/sdk/api_diff/5/changes/android.view.SurfaceHolder.html index 47a5c5c4a093fbd19172fc79929429937b99b36e..2487e9bc815433d3f344005adbb2ae8d21366be5 100644 --- a/docs/html/sdk/api_diff/5/changes/android.view.SurfaceHolder.html +++ b/docs/html/sdk/api_diff/5/changes/android.view.SurfaceHolder.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35 diff --git a/docs/html/sdk/api_diff/5/changes/android.view.SurfaceView.html b/docs/html/sdk/api_diff/5/changes/android.view.SurfaceView.html index eb986599f7df156141699c375a4c0ff9b6aa9468..1736f2fff17a70ba40ba00a8ba2d44518ec1db44 100644 --- a/docs/html/sdk/api_diff/5/changes/android.view.SurfaceView.html +++ b/docs/html/sdk/api_diff/5/changes/android.view.SurfaceView.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35 diff --git a/docs/html/sdk/api_diff/5/changes/android.view.View.html b/docs/html/sdk/api_diff/5/changes/android.view.View.html index 44486d7a34ea9881dbdc558d29cb1b21001ba00a..1f7e9af6e0142c54c741ea9ddbc8a293083e4969 100644 --- a/docs/html/sdk/api_diff/5/changes/android.view.View.html +++ b/docs/html/sdk/api_diff/5/changes/android.view.View.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35 diff --git a/docs/html/sdk/api_diff/5/changes/android.view.ViewConfiguration.html b/docs/html/sdk/api_diff/5/changes/android.view.ViewConfiguration.html index 186e8eed57f6e6dd782ff2bb9e14314dc18b9002..cc2b05e33714a7f095fa368534ca1970eb9d1439 100644 --- a/docs/html/sdk/api_diff/5/changes/android.view.ViewConfiguration.html +++ b/docs/html/sdk/api_diff/5/changes/android.view.ViewConfiguration.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35 diff --git a/docs/html/sdk/api_diff/5/changes/pkg_java.net.html b/docs/html/sdk/api_diff/5/changes/android.view.ViewGroup.html similarity index 88% rename from docs/html/sdk/api_diff/5/changes/pkg_java.net.html rename to docs/html/sdk/api_diff/5/changes/android.view.ViewGroup.html index e98015ab4c4db9f6abc2af8fa8543e9ff55d1e29..83d3a2909602c4b74316b24e668e51bd7894aa55 100644 --- a/docs/html/sdk/api_diff/5/changes/pkg_java.net.html +++ b/docs/html/sdk/api_diff/5/changes/android.view.ViewGroup.html @@ -7,7 +7,7 @@ -java.net +android.view.ViewGroup @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35 @@ -71,18 +71,21 @@ body{overflow:auto;}

      -Package java.net +Class android.view.ViewGroup

      + + +

      - - + +
      - diff --git a/docs/html/sdk/api_diff/5/changes/android.view.Window.Callback.html b/docs/html/sdk/api_diff/5/changes/android.view.Window.Callback.html index bafee6095cc8072ba6c4f996166b8f5c67c240fc..335896886ff081db114ee8cfe339ee80643ddae4 100644 --- a/docs/html/sdk/api_diff/5/changes/android.view.Window.Callback.html +++ b/docs/html/sdk/api_diff/5/changes/android.view.Window.Callback.html @@ -54,7 +54,7 @@ body{overflow:auto;} - +
      Changed Classes + Removed Fields
      - - Socket + + int FLAG_USE_CHILD_DRAWING_ORDER  
      Generated2009.10.21 21:052009.11.19 19:35

      diff --git a/docs/html/sdk/api_diff/5/changes/android.view.WindowManager.LayoutParams.html b/docs/html/sdk/api_diff/5/changes/android.view.WindowManager.LayoutParams.html index 1c707164ef488e639c090892aeb36062b59421b4..f43f3dd201fc569d994e6c113bdc858e00f828d8 100644 --- a/docs/html/sdk/api_diff/5/changes/android.view.WindowManager.LayoutParams.html +++ b/docs/html/sdk/api_diff/5/changes/android.view.WindowManager.LayoutParams.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/android.view.animation.Animation.html b/docs/html/sdk/api_diff/5/changes/android.view.animation.Animation.html index bc0a2840892718b078765244239b2da114b1af6e..d784700e0df1711a0532c8346682b25d21ec72dc 100644 --- a/docs/html/sdk/api_diff/5/changes/android.view.animation.Animation.html +++ b/docs/html/sdk/api_diff/5/changes/android.view.animation.Animation.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35 diff --git a/docs/html/sdk/api_diff/5/changes/android.webkit.CallbackProxy.html b/docs/html/sdk/api_diff/5/changes/android.webkit.CallbackProxy.html index 515cd8a79a1b0b961e7690645d9dc6964e60d939..3cdd68b65ecb495a16a92a9c4f9ff9f29a65009f 100644 --- a/docs/html/sdk/api_diff/5/changes/android.webkit.CallbackProxy.html +++ b/docs/html/sdk/api_diff/5/changes/android.webkit.CallbackProxy.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35 diff --git a/docs/html/sdk/api_diff/5/changes/android.webkit.Plugin.html b/docs/html/sdk/api_diff/5/changes/android.webkit.Plugin.html index 82f70839d17485f80c572da75a32499918f89d07..52638aca60685a18d50ec9519de67331a7511ff8 100644 --- a/docs/html/sdk/api_diff/5/changes/android.webkit.Plugin.html +++ b/docs/html/sdk/api_diff/5/changes/android.webkit.Plugin.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35 diff --git a/docs/html/sdk/api_diff/5/changes/android.webkit.PluginData.html b/docs/html/sdk/api_diff/5/changes/android.webkit.PluginData.html index c500356c42130f9ed8adeb57df1d32a5789c65a7..1e5a2417f51524ea9b7dffb9ddb04d503d62e291 100644 --- a/docs/html/sdk/api_diff/5/changes/android.webkit.PluginData.html +++ b/docs/html/sdk/api_diff/5/changes/android.webkit.PluginData.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35 diff --git a/docs/html/sdk/api_diff/5/changes/android.webkit.PluginList.html b/docs/html/sdk/api_diff/5/changes/android.webkit.PluginList.html index 7bb7aea2fb6b4fca71b7432f320342555396fad4..564a341c42838af91e69d8bc5bb3c171493c63e2 100644 --- a/docs/html/sdk/api_diff/5/changes/android.webkit.PluginList.html +++ b/docs/html/sdk/api_diff/5/changes/android.webkit.PluginList.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35 diff --git a/docs/html/sdk/api_diff/5/changes/android.webkit.UrlInterceptHandler.html b/docs/html/sdk/api_diff/5/changes/android.webkit.UrlInterceptHandler.html index 2824ce3f649e3cc67a0515e88703c5ae3ecf0408..0fa07873e1f53afb3808691f4e5a5d9e109fa99a 100644 --- a/docs/html/sdk/api_diff/5/changes/android.webkit.UrlInterceptHandler.html +++ b/docs/html/sdk/api_diff/5/changes/android.webkit.UrlInterceptHandler.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35 diff --git a/docs/html/sdk/api_diff/5/changes/android.webkit.UrlInterceptRegistry.html b/docs/html/sdk/api_diff/5/changes/android.webkit.UrlInterceptRegistry.html index 4fdd232f7a15a4587d9efaa74c0b2f237468cb70..e562019802fce7f401683b1b7eb68f6e5a9d218d 100644 --- a/docs/html/sdk/api_diff/5/changes/android.webkit.UrlInterceptRegistry.html +++ b/docs/html/sdk/api_diff/5/changes/android.webkit.UrlInterceptRegistry.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35 diff --git a/docs/html/sdk/api_diff/5/changes/android.webkit.WebChromeClient.html b/docs/html/sdk/api_diff/5/changes/android.webkit.WebChromeClient.html index f9813e697e420e672eb2e2ad5ee3f82280439054..e9ca0e089629fa3a000065b7e9316082b3e895dc 100644 --- a/docs/html/sdk/api_diff/5/changes/android.webkit.WebChromeClient.html +++ b/docs/html/sdk/api_diff/5/changes/android.webkit.WebChromeClient.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35 diff --git a/docs/html/sdk/api_diff/5/changes/android.webkit.WebSettings.html b/docs/html/sdk/api_diff/5/changes/android.webkit.WebSettings.html index ba6649d87986a5c2ecf95f3f68369c86bb39fcbd..3b10d1a3b515996aec48d0743c1f0ff494a2d342 100644 --- a/docs/html/sdk/api_diff/5/changes/android.webkit.WebSettings.html +++ b/docs/html/sdk/api_diff/5/changes/android.webkit.WebSettings.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35 diff --git a/docs/html/sdk/api_diff/5/changes/android.webkit.WebView.html b/docs/html/sdk/api_diff/5/changes/android.webkit.WebView.html index dffe6823a879248412d69e1198771f164c4a3803..7c287cbb84e7ce10dfa59369de24b869b544b87a 100644 --- a/docs/html/sdk/api_diff/5/changes/android.webkit.WebView.html +++ b/docs/html/sdk/api_diff/5/changes/android.webkit.WebView.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35 diff --git a/docs/html/sdk/api_diff/5/changes/android.webkit.WebViewClient.html b/docs/html/sdk/api_diff/5/changes/android.webkit.WebViewClient.html index 0c5378d6cf8aa6e49532b8c27d93ac0289fdef26..49e517a0922ec2f83dc4c67ea3f75f273df41993 100644 --- a/docs/html/sdk/api_diff/5/changes/android.webkit.WebViewClient.html +++ b/docs/html/sdk/api_diff/5/changes/android.webkit.WebViewClient.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35 diff --git a/docs/html/sdk/api_diff/5/changes/android.widget.AutoCompleteTextView.html b/docs/html/sdk/api_diff/5/changes/android.widget.AutoCompleteTextView.html index 50f79961e9b900e7004228b7e7799c7954461cfc..5b2294b1edb2b16232f5acdfdd1a7b8210d5feb9 100644 --- a/docs/html/sdk/api_diff/5/changes/android.widget.AutoCompleteTextView.html +++ b/docs/html/sdk/api_diff/5/changes/android.widget.AutoCompleteTextView.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35 diff --git a/docs/html/sdk/api_diff/5/changes/android.widget.MediaController.MediaPlayerControl.html b/docs/html/sdk/api_diff/5/changes/android.widget.MediaController.MediaPlayerControl.html index a6a964be741b8ba0b53501fdcabb92484b303ca0..f19a279c5f6338de0e1c8fba106e6a218842db46 100644 --- a/docs/html/sdk/api_diff/5/changes/android.widget.MediaController.MediaPlayerControl.html +++ b/docs/html/sdk/api_diff/5/changes/android.widget.MediaController.MediaPlayerControl.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35 diff --git a/docs/html/sdk/api_diff/5/changes/android.widget.SimpleCursorTreeAdapter.html b/docs/html/sdk/api_diff/5/changes/android.widget.SimpleCursorTreeAdapter.html index 8c5d0427416c85a388df74e43e0c3e23ec001d97..ee9e73fb6be5c730115b098f63bc00ec667e1837 100644 --- a/docs/html/sdk/api_diff/5/changes/android.widget.SimpleCursorTreeAdapter.html +++ b/docs/html/sdk/api_diff/5/changes/android.widget.SimpleCursorTreeAdapter.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35 diff --git a/docs/html/sdk/api_diff/5/changes/android.widget.VideoView.html b/docs/html/sdk/api_diff/5/changes/android.widget.VideoView.html index ad72d772c72cdb14b9ca5094359bc879cf35ddab..edbbd6c49c03dd6af2bdad1517d04a22e777c836 100644 --- a/docs/html/sdk/api_diff/5/changes/android.widget.VideoView.html +++ b/docs/html/sdk/api_diff/5/changes/android.widget.VideoView.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35 diff --git a/docs/html/sdk/api_diff/5/changes/changes-summary.html b/docs/html/sdk/api_diff/5/changes/changes-summary.html index f85de1970171fce36c35cefa532ce98858958493..3a06d9871cab412ee28d5a72523a91bd604b26b2 100644 --- a/docs/html/sdk/api_diff/5/changes/changes-summary.html +++ b/docs/html/sdk/api_diff/5/changes/changes-summary.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35 @@ -72,7 +72,8 @@ body{overflow:auto;}

      Android API Differences Report

      -

      This report details the changes in the core Android framework API between two API Level +

      This report details the changes in the core Android framework API between two API Level specifications. It shows additions, modifications, and removals for packages, classes, methods, and fields. The report also includes general statistics that characterize the extent and type of the differences.

      This report is based a comparison of the Android API specifications @@ -317,27 +318,6 @@ see the Android   - - - - java.lang - -   - - - - - java.net - -   - - - - - java.util - -   - diff --git a/docs/html/sdk/api_diff/5/changes/classes_index_additions.html b/docs/html/sdk/api_diff/5/changes/classes_index_additions.html index 84fbce7056d9db796bfc7206ccbc2bb969d015d7..f8c9c046f71051c2609c298cfe43e16c2133a6ad 100644 --- a/docs/html/sdk/api_diff/5/changes/classes_index_additions.html +++ b/docs/html/sdk/api_diff/5/changes/classes_index_additions.html @@ -44,8 +44,8 @@ body{overflow:auto;} -

      -Bold indicates New; Strike indicates deleted. Plain indicates changed. +
      +Listed as: Added, Removed, Changed

      A  diff --git a/docs/html/sdk/api_diff/5/changes/classes_index_all.html b/docs/html/sdk/api_diff/5/changes/classes_index_all.html index 21f10dc48379fc4ffef7904c344460f61bba9a78..973dade2036f8e07aa3d3a2974e21cbe76d66e9a 100644 --- a/docs/html/sdk/api_diff/5/changes/classes_index_all.html +++ b/docs/html/sdk/api_diff/5/changes/classes_index_all.html @@ -44,8 +44,8 @@ body{overflow:auto;} -
      -Bold indicates New; Strike indicates deleted. Plain indicates changed. +
      +Listed as: Added, Removed, Changed

      A  @@ -260,7 +260,6 @@ body{overflow:auto;} TOP

      DatabaseUtils
      -Date
      DateUtils
      Debug.MemoryInfo
      Dialog
      @@ -407,7 +406,6 @@ body{overflow:auto;} Z TOP

      -ImageSpan
      InputMethodService
      InputType
      InstrumentationTestCase
      @@ -533,7 +531,6 @@ body{overflow:auto;} TOP

      NeighboringCellInfo
      -NinePatchDrawable
      Notification
      NotificationManager
      @@ -692,11 +689,9 @@ body{overflow:auto;} Settings.System
      SimpleCursorTreeAdapter
      SimpleCursorTreeAdapter.ViewBinder
      -Socket
      SQLiteDatabase
      SQLiteTransactionListener
      StaleDexCacheError
      -String
      Surface
      SurfaceHolder
      SurfaceView
      @@ -797,6 +792,7 @@ body{overflow:auto;} VideoView
      View
      ViewConfiguration
      +ViewGroup
      VMDebug
      VMRuntime
      VMStack
      diff --git a/docs/html/sdk/api_diff/5/changes/classes_index_changes.html b/docs/html/sdk/api_diff/5/changes/classes_index_changes.html index dd4d643c7e4781a62ac1d109de1f83d638141938..4ff9b603ae7595129f6b334f80a270ee070b8178 100644 --- a/docs/html/sdk/api_diff/5/changes/classes_index_changes.html +++ b/docs/html/sdk/api_diff/5/changes/classes_index_changes.html @@ -44,8 +44,8 @@ body{overflow:auto;} -
      -Bold indicates New; Strike indicates deleted. Plain indicates changed. +
      +Listed as: Added, Removed, Changed

      A  @@ -193,7 +193,6 @@ body{overflow:auto;} TOP

      DatabaseUtils
      -Date
      DateUtils
      Debug.MemoryInfo
      Dialog
      @@ -295,7 +294,6 @@ body{overflow:auto;} Z TOP

      -ImageSpan
      InputMethodService
      InputType
      InstrumentationTestCase
      @@ -405,7 +403,6 @@ body{overflow:auto;} TOP

      NeighboringCellInfo
      -NinePatchDrawable
      Notification
      NotificationManager
      @@ -497,10 +494,8 @@ body{overflow:auto;} Settings
      Settings.System
      SimpleCursorTreeAdapter
      -Socket
      SQLiteDatabase
      StaleDexCacheError
      -String
      Surface
      SurfaceHolder
      SurfaceView
      @@ -583,6 +578,7 @@ body{overflow:auto;} VideoView
      View
      ViewConfiguration
      +ViewGroup
      VMDebug
      VMRuntime
      VMStack
      diff --git a/docs/html/sdk/api_diff/5/changes/classes_index_removals.html b/docs/html/sdk/api_diff/5/changes/classes_index_removals.html index 1389b2d7820654638f90fca15f7b39c34d12cf3d..5b3898840549f601f1fead2b8e26b45c4b3ae6e6 100644 --- a/docs/html/sdk/api_diff/5/changes/classes_index_removals.html +++ b/docs/html/sdk/api_diff/5/changes/classes_index_removals.html @@ -44,8 +44,8 @@ body{overflow:auto;} -
      -Bold indicates New; Strike indicates deleted. Plain indicates changed. +
      +Listed as: Added, Removed, Changed
      diff --git a/docs/html/sdk/api_diff/5/changes/constructors_index_additions.html b/docs/html/sdk/api_diff/5/changes/constructors_index_additions.html index 174691204e64a4fb4aad8540eea0883ee4a79d9f..cbd4302c17f5b0eb4999367367e4e5e1ca0651d0 100644 --- a/docs/html/sdk/api_diff/5/changes/constructors_index_additions.html +++ b/docs/html/sdk/api_diff/5/changes/constructors_index_additions.html @@ -36,7 +36,7 @@ body{overflow:auto;} All Constructors
      -Removals +Removals
      Additions
      @@ -44,8 +44,8 @@ body{overflow:auto;} -
      -Bold indicates New; Strike indicates deleted. Plain indicates changed. +
      +Listed as: Added, Removed, Changed

      A  @@ -60,8 +60,6 @@ body{overflow:auto;} TOP

      BitmapDrawable
      -  BitmapDrawable -(Resources) constructor
        BitmapDrawable (Resources, String) constructor
        BitmapDrawable diff --git a/docs/html/sdk/api_diff/5/changes/constructors_index_all.html b/docs/html/sdk/api_diff/5/changes/constructors_index_all.html index 8cc72931acd1267a794a86b771de1d4f0479946d..ced2ea8391c2e308254974eb35103fb9f4367bd2 100644 --- a/docs/html/sdk/api_diff/5/changes/constructors_index_all.html +++ b/docs/html/sdk/api_diff/5/changes/constructors_index_all.html @@ -36,7 +36,7 @@ body{overflow:auto;} Constructors
      -
      Removals +Removals
      Additions
      @@ -44,19 +44,16 @@ body{overflow:auto;} -
      -Bold indicates New; Strike indicates deleted. Plain indicates changed. +
      +Listed as: Added, Removed, Changed

      A  B C -D -I K N P -S TOP

      AbsoluteSizeSpan @@ -65,21 +62,12 @@ body{overflow:auto;}
      B 
      A C -D -I K N P -S TOP

      BitmapDrawable
      -  
      BitmapDrawable -() constructor
      -  BitmapDrawable -(Bitmap) constructor
      -  BitmapDrawable -(Resources) constructor
        BitmapDrawable (Resources, String) constructor
        BitmapDrawable @@ -92,12 +80,9 @@ body{overflow:auto;}
      C 
      A B -D -I K N P -S TOP

      Contacts.Intents @@ -106,50 +91,13 @@ body{overflow:auto;} () constructor
      Contacts.Intents.UI () constructor
      - -
      D  -A -B -C -I -K -N -P -S - TOP -

      -Date
      -  Date -() constructor
      -  Date -(int, int, int, int, int, int) constructor
      - -
      I  -A -B -C -D -K -N -P -S - TOP -

      -ImageSpan
      -  ImageSpan -(Bitmap) constructor
      -  ImageSpan -(Bitmap, int) constructor

      K  A B C -D -I N P -S TOP

      KeyEvent @@ -159,11 +107,8 @@ body{overflow:auto;} A B C -D -I K P -S TOP

      NeighboringCellInfo
      @@ -171,18 +116,13 @@ body{overflow:auto;} ()
       constructor
        NeighboringCellInfo (int, int) constructor
      -NinePatchDrawable -(Bitmap, byte[], Rect, String) constructor

      P  A B C -D -I K N -S TOP

      Plugin @@ -191,40 +131,6 @@ body{overflow:auto;} (InputStream, long, Map<String, String[]>, int) constructor
      PluginList () constructor
      - -
      S  -A -B -C -D -I -K -N -P - TOP -

      -Socket
      -  Socket -() constructor
      -  Socket -(String, int) constructor
      -  Socket -(String, int, InetAddress, int) constructor
      -  Socket -(Proxy) constructor
      -  Socket -(SocketImpl) constructor
      -String
      -  String -() constructor
      -  String -(byte[]) constructor
      -  String -(byte[], int) constructor
      -  String -(byte[], int, int) constructor
      -  String -(byte[], int, int, int) constructor
      diff --git a/docs/html/sdk/api_diff/5/changes/fields_index_removals.html b/docs/html/sdk/api_diff/5/changes/fields_index_removals.html index be3f17e23822374a2b2b74a01622f79ad192c231..9bbd9e6c4437d1ebab3d2e720bd53dd24bbd00a4 100644 --- a/docs/html/sdk/api_diff/5/changes/fields_index_removals.html +++ b/docs/html/sdk/api_diff/5/changes/fields_index_removals.html @@ -36,7 +36,7 @@ body{overflow:auto;} All Fields
      -Removals +Removals
      Additions
      @@ -44,9 +44,15 @@ body{overflow:auto;} -
      -Bold indicates New; Strike indicates deleted. Plain indicates changed. +
      +Listed as: Added, Removed, Changed
      + +
      F  + TOP +

      +FLAG_USE_CHILD_DRAWING_ORDER +
      - - - diff --git a/docs/html/sdk/api_diff/5/changes/java.util.Date.html b/docs/html/sdk/api_diff/5/changes/java.util.Date.html deleted file mode 100644 index 3bf23c2e76a280227fdf9494e66e81e960f67ffa..0000000000000000000000000000000000000000 --- a/docs/html/sdk/api_diff/5/changes/java.util.Date.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - - - -java.util.Date - - - - - - - - - - -
      -
      -
      -

      -Class java.util.Date -

      - -

      - - - - - - - - - - - - - - -
      Changed Constructors -
      - - Date() - -  
      - - Date(int, int, int, int, int, int) - -  
      -  - - -

      - -
      -
      - - - - diff --git a/docs/html/sdk/api_diff/5/changes/java.util.concurrent.BlockingQueue.html b/docs/html/sdk/api_diff/5/changes/java.util.concurrent.BlockingQueue.html index f3dc420e52c5bd8b186765bf4876381c7d813378..d383b7050cdf5566dff3d0773b6140dd523cfa10 100644 --- a/docs/html/sdk/api_diff/5/changes/java.util.concurrent.BlockingQueue.html +++ b/docs/html/sdk/api_diff/5/changes/java.util.concurrent.BlockingQueue.html @@ -54,7 +54,7 @@ body{overflow:auto;} Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      diff --git a/docs/html/sdk/api_diff/5/changes/jdiff_statistics.html b/docs/html/sdk/api_diff/5/changes/jdiff_statistics.html index f3fcd0611f885f34006a5b4585db655d43486efd..0fb1ba9175a332ee2874f74b3b8123dedeec8bee 100644 --- a/docs/html/sdk/api_diff/5/changes/jdiff_statistics.html +++ b/docs/html/sdk/api_diff/5/changes/jdiff_statistics.html @@ -45,16 +45,16 @@ body{overflow:auto;} API Diff Specification - To Version: + To Level: 5 - From Version: + From Level: 4 Generated - 2009.10.21 21:05 + 2009.11.19 19:35
      @@ -71,29 +71,71 @@ body{overflow:auto;}

      API Change Statistics

      +

      The overall difference between API Levels 4 and 5 is approximately 2.16%. +

      +
      + +

      Total of Differences, by Number and Type

      -The percent change statistic reported for all elements in the "to" API Level specification is defined recursively as follows:

      -
      -Percentage difference = 100 * (added + removed + 2*changed)
      -                        -----------------------------------
      -                        sum of public elements in BOTH APIs
      -
      -

      where added is the number of packages added, removed is the number of packages removed, and changed is the number of packages changed. -This definition is applied recursively for the classes and their program elements, so the value for a changed package will be less than 1, unless every class in that package has changed. -The definition ensures that if all packages are removed and all new packages are -added, the change will be 100%. Values are rounded here, so a value of 0% indicates a percentage difference of less than 0.5%.

      -

      The overall difference between the two APIs is approximately 2%. +The table below lists the numbers of program elements (packages, classes, constructors, methods, and fields) that were added, changed, or removed. The table includes only the highest-level program elements — that is, if a class with two methods was added, the number of methods added does not include those two methods, but the number of classes added does include that class.

      -

      Contents

      -
      Changed Packages
      Sorted by percentage difference
      -
      Changed Classes and Interfaces
      Sorted by percentage difference
      -
      Total of Differences
      Listed by number and type
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      TypeAdditionsChangesRemovalsTotal
      Packages330033
      Classes and Interfaces851280213
      Constructors311014
      Methods202670269
      Fields2342051440
      Total5274411969

      Changed Packages, Sorted by Percentage Difference

      - + @@ -136,10 +178,6 @@ added, the change will be 100%. Values are rounded here, so a value of 0% indica - - - - @@ -148,6 +186,10 @@ added, the change will be 100%. Values are rounded here, so a value of 0% indica + + + + @@ -158,10 +200,6 @@ added, the change will be 100%. Values are rounded here, so a value of 0% indica - - - - @@ -170,12 +208,16 @@ added, the change will be 100%. Values are rounded here, so a value of 0% indica - + + + + + @@ -204,10 +246,6 @@ added, the change will be 100%. Values are rounded here, so a value of 0% indica - - - - @@ -216,25 +254,18 @@ added, the change will be 100%. Values are rounded here, so a value of 0% indica - - - - - - - -
      Percentage DifferencePercentage Difference* Package
      4 android.app
      4android.telephony
      3 android.media3 android.text.format
      3android.telephony
      2 android.database.sqlite
      2android.text.style
      1 android.view
      1android.graphics.drawableandroid.text.style
      1 android.widget
      1android.graphics.drawable
      <1 android.test.mock<1 java.util.concurrent
      <1java.net
      <1 android.text<1 android.view.animation
      <1java.util
      <1java.lang
      <1 android.graphics
      +

      * See Calculation of Change Percentages, below.


      Changed Classes and Interfaces, Sorted by Percentage Difference

      - + @@ -462,11 +493,6 @@ android.app.ActivityManager.RunningServiceInfo - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + +
      Percentage
      Difference
      Percentage
      Difference*
      Class or Interface
      android.widget.SimpleCursorTreeAdapter
      18 -android.graphics.drawable.BitmapDrawable
      17 @@ -517,11 +543,6 @@ android.graphics.drawable.Drawable.ConstantState android.text.format.Formatter
      14 -android.text.style.ImageSpan
      14 @@ -537,6 +558,11 @@ android.view.HapticFeedbackConstants android.hardware.Camera
      12 +android.graphics.drawable.BitmapDrawable
      12 @@ -562,11 +588,6 @@ android.test.InstrumentationTestCase dalvik.system.VMStack
      10 -java.net.Socket
      10 @@ -587,11 +608,6 @@ android.inputmethodservice.AbstractInputMethodService android.os.HandlerThread
      8 -android.telephony.TelephonyManager
      8 @@ -602,11 +618,6 @@ android.widget.AutoCompleteTextView android.provider.MediaStore.Images.Thumbnails
      8 -android.graphics.drawable.NinePatchDrawable
      7 @@ -622,21 +633,11 @@ android.widget.VideoView android.media.AudioManager
      6 -java.lang.String
      6 android.view.Window.Callback
      6 -java.util.Date
      6 @@ -722,6 +723,11 @@ android.test.mock.MockPackageManager android.view.ViewConfiguration
      3 +android.telephony.TelephonyManager
      3 @@ -892,73 +898,31 @@ android.text.format.DateUtils android.inputmethodservice.InputMethodService
      <1 +android.view.ViewGroup
      <1 android.media.ToneGenerator
      +

      * See Calculation of Change Percentages, below.


      - -

      Total of Differences, by Number and Type

      +

      Calculation of Change Percentages

      -The table below lists the numbers of program elements (packages, classes, constructors, methods, and fields) that were removed, added or changed. The table includes only the highest-level program elements — that is, if a class with two methods was added, the number of methods added does not include those two methods, but the number of classes added does include that class. -

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      - Number of Differences
        - RemovalsAdditionsChangesTotal
      Packages033336
      Classes and Interfaces085132217
      Constructors242632
      Methods020267269
      Fields0240205445
      Total2534463999
      +The percent change statistic reported for all elements in the "to" API Level specification is defined recursively as follows:

      +
      +Percentage difference = 100 * (added + removed + 2*changed)
      +                        -----------------------------------
      +                        sum of public elements in BOTH APIs
      +
      +

      where added is the number of packages added, removed is the number of packages removed, and changed is the number of packages changed. +This definition is applied recursively for the classes and their program elements, so the value for a changed package will be less than 1, unless every class in that package has changed. +The definition ensures that if all packages are removed and all new packages are +added, the change will be 100%.