Merge "Change the default JS engine for Android-specific layout test results in DRT from JSC to V8"
diff --git a/Android.mk b/Android.mk
index bd0d620..5eb5dda 100644
--- a/Android.mk
+++ b/Android.mk
@@ -192,7 +192,7 @@
 			$(framework-res-source-path)/com/android/internal/R.java
 
 LOCAL_NO_STANDARD_LIBRARIES := true
-LOCAL_JAVA_LIBRARIES := core ext
+LOCAL_JAVA_LIBRARIES := core core-junit ext
 
 LOCAL_MODULE := framework
 LOCAL_MODULE_CLASS := JAVA_LIBRARIES
@@ -418,6 +418,10 @@
 		            resources/samples/Spinner "Spinner" \
 		-samplecode $(sample_dir)/SpinnerTest \
 		            resources/samples/SpinnerTest "SpinnerTest" \
+		-samplecode $(sample_dir)/TicTacToeLib  \
+		            resources/samples/TicTacToeLib "TicTacToeLib" \
+		-samplecode $(sample_dir)/TicTacToeMain \
+		            resources/samples/TicTacToeMain "TicTacToeMain" \
 		-samplecode $(sample_dir)/Wiktionary \
 		            resources/samples/Wiktionary "Wiktionary" \
 		-samplecode $(sample_dir)/WiktionarySimple \
@@ -427,7 +431,7 @@
 
 ## SDK version identifiers used in the published docs
   # major[.minor] version for current SDK. (full releases only)
-framework_docs_SDK_VERSION:=2.1
+framework_docs_SDK_VERSION:=2.2
   # release version (ie "Release x")  (full releases only)
 framework_docs_SDK_REL_ID:=1
   # name of current SDK directory (full releases only)
@@ -436,10 +440,10 @@
 framework_docs_SDK_PREVIEW:=0
 
 ## Latest ADT version identifiers, for reference from published docs
-framework_docs_ADT_VERSION:=0.9.6
-framework_docs_ADT_DOWNLOAD:=ADT-0.9.6.zip
-framework_docs_ADT_BYTES:=7456339
-framework_docs_ADT_CHECKSUM:=ea45d271be52b87b5dd1c9fb17536223
+framework_docs_ADT_VERSION:=0.9.7
+framework_docs_ADT_DOWNLOAD:=ADT-0.9.7.zip
+framework_docs_ADT_BYTES:=na
+framework_docs_ADT_CHECKSUM:=na
 
 framework_docs_LOCAL_DROIDDOC_OPTIONS += \
 		-hdf sdk.version $(framework_docs_SDK_VERSION) \
diff --git a/api/8.xml b/api/8.xml
index e757db2..9d259f3 100644
--- a/api/8.xml
+++ b/api/8.xml
@@ -80490,19 +80490,6 @@
 <parameter name="volume" type="float">
 </parameter>
 </method>
-<method name="registerAudioFocusListener"
- return="void"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="l" type="android.media.AudioManager.OnAudioFocusChangeListener">
-</parameter>
-</method>
 <method name="registerMediaButtonEventReceiver"
  return="void"
  abstract="false"
@@ -80762,19 +80749,6 @@
  visibility="public"
 >
 </method>
-<method name="unregisterAudioFocusListener"
- return="void"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="l" type="android.media.AudioManager.OnAudioFocusChangeListener">
-</parameter>
-</method>
 <method name="unregisterMediaButtonEventReceiver"
  return="void"
  abstract="false"
diff --git a/api/9.xml b/api/9.xml
index 256a388..1408351 100644
--- a/api/9.xml
+++ b/api/9.xml
@@ -80435,19 +80435,6 @@
 <parameter name="volume" type="float">
 </parameter>
 </method>
-<method name="registerAudioFocusListener"
- return="void"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="l" type="android.media.AudioManager.OnAudioFocusChangeListener">
-</parameter>
-</method>
 <method name="registerMediaButtonEventReceiver"
  return="void"
  abstract="false"
@@ -80707,19 +80694,6 @@
  visibility="public"
 >
 </method>
-<method name="unregisterAudioFocusListener"
- return="void"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="l" type="android.media.AudioManager.OnAudioFocusChangeListener">
-</parameter>
-</method>
 <method name="unregisterMediaButtonEventReceiver"
  return="void"
  abstract="false"
@@ -147808,17 +147782,6 @@
  visibility="public"
 >
 </constructor>
-<method name="abortUpdates"
- return="void"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-</method>
 <method name="close"
  return="void"
  abstract="false"
@@ -147830,30 +147793,6 @@
  visibility="public"
 >
 </method>
-<method name="commitUpdates"
- return="boolean"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-</method>
-<method name="commitUpdates"
- return="boolean"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="values" type="java.util.Map&lt;? extends java.lang.Long, ? extends java.util.Map&lt;java.lang.String, java.lang.Object&gt;&gt;">
-</parameter>
-</method>
 <method name="copyStringToBuffer"
  return="void"
  abstract="false"
@@ -147880,17 +147819,6 @@
  visibility="public"
 >
 </method>
-<method name="deleteRow"
- return="boolean"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-</method>
 <method name="getBlob"
  return="byte[]"
  abstract="false"
@@ -148087,17 +148015,6 @@
  visibility="public"
 >
 </method>
-<method name="hasUpdates"
- return="boolean"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-</method>
 <method name="isAfterLast"
  return="boolean"
  abstract="false"
@@ -148301,17 +148218,6 @@
 <parameter name="uri" type="android.net.Uri">
 </parameter>
 </method>
-<method name="supportsUpdates"
- return="boolean"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-</method>
 <method name="unregisterContentObserver"
  return="void"
  abstract="false"
@@ -148338,124 +148244,6 @@
 <parameter name="observer" type="android.database.DataSetObserver">
 </parameter>
 </method>
-<method name="updateBlob"
- return="boolean"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="columnIndex" type="int">
-</parameter>
-<parameter name="value" type="byte[]">
-</parameter>
-</method>
-<method name="updateDouble"
- return="boolean"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="columnIndex" type="int">
-</parameter>
-<parameter name="value" type="double">
-</parameter>
-</method>
-<method name="updateFloat"
- return="boolean"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="columnIndex" type="int">
-</parameter>
-<parameter name="value" type="float">
-</parameter>
-</method>
-<method name="updateInt"
- return="boolean"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="columnIndex" type="int">
-</parameter>
-<parameter name="value" type="int">
-</parameter>
-</method>
-<method name="updateLong"
- return="boolean"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="columnIndex" type="int">
-</parameter>
-<parameter name="value" type="long">
-</parameter>
-</method>
-<method name="updateShort"
- return="boolean"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="columnIndex" type="int">
-</parameter>
-<parameter name="value" type="short">
-</parameter>
-</method>
-<method name="updateString"
- return="boolean"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="columnIndex" type="int">
-</parameter>
-<parameter name="value" type="java.lang.String">
-</parameter>
-</method>
-<method name="updateToNull"
- return="boolean"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="columnIndex" type="int">
-</parameter>
-</method>
 </class>
 <class name="MockDialogInterface"
  extends="java.lang.Object"
diff --git a/api/current.xml b/api/current.xml
index 8f96f9e..9eaff9a 100644
--- a/api/current.xml
+++ b/api/current.xml
@@ -3188,6 +3188,17 @@
  visibility="public"
 >
 </field>
+<field name="customNavigationLayout"
+ type="int"
+ transient="false"
+ volatile="false"
+ value="16843539"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
 <field name="cycles"
  type="int"
  transient="false"
@@ -3452,6 +3463,17 @@
  visibility="public"
 >
 </field>
+<field name="displayOptions"
+ type="int"
+ transient="false"
+ volatile="false"
+ value="16843537"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
 <field name="dither"
  type="int"
  transient="false"
@@ -6884,6 +6906,17 @@
  visibility="public"
 >
 </field>
+<field name="navigationMode"
+ type="int"
+ transient="false"
+ volatile="false"
+ value="16843536"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
 <field name="negativeButtonText"
  type="int"
  transient="false"
@@ -8930,6 +8963,17 @@
  visibility="public"
 >
 </field>
+<field name="subtitle"
+ type="int"
+ transient="false"
+ volatile="false"
+ value="16843538"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
 <field name="suggestActionMsg"
  type="int"
  transient="false"
@@ -10338,6 +10382,28 @@
  visibility="public"
 >
 </field>
+<field name="windowActionBar"
+ type="int"
+ transient="false"
+ volatile="false"
+ value="16843534"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+<field name="windowActionBarStyle"
+ type="int"
+ transient="false"
+ volatile="false"
+ value="16843535"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
 <field name="windowAnimationStyle"
  type="int"
  transient="false"
@@ -14218,6 +14284,17 @@
  visibility="public"
 >
 </field>
+<field name="home"
+ type="int"
+ transient="false"
+ volatile="false"
+ value="16908353"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
 <field name="icon"
  type="int"
  transient="false"
@@ -16388,6 +16465,17 @@
  visibility="public"
 >
 </field>
+<field name="Theme_WithActionBar"
+ type="int"
+ transient="false"
+ volatile="false"
+ value="16973969"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
 <field name="Widget"
  type="int"
  transient="false"
@@ -19210,6 +19298,454 @@
 </package>
 <package name="android.app"
 >
+<class name="ActionBar"
+ extends="java.lang.Object"
+ abstract="true"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<constructor name="ActionBar"
+ type="android.app.ActionBar"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</constructor>
+<method name="getCustomNavigationView"
+ return="android.view.View"
+ abstract="true"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
+<method name="getDisplayOptions"
+ return="int"
+ abstract="true"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
+<method name="getNavigationMode"
+ return="int"
+ abstract="true"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
+<method name="getSubtitle"
+ return="java.lang.CharSequence"
+ abstract="true"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
+<method name="getTitle"
+ return="java.lang.CharSequence"
+ abstract="true"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
+<method name="setBackgroundDrawable"
+ return="void"
+ abstract="true"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="d" type="android.graphics.drawable.Drawable">
+</parameter>
+</method>
+<method name="setCallback"
+ return="void"
+ abstract="true"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="callback" type="android.app.ActionBar.Callback">
+</parameter>
+</method>
+<method name="setCustomNavigationView"
+ return="void"
+ abstract="true"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="view" type="android.view.View">
+</parameter>
+</method>
+<method name="setDisplayOptions"
+ return="void"
+ abstract="true"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="options" type="int">
+</parameter>
+</method>
+<method name="setDividerDrawable"
+ return="void"
+ abstract="true"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="d" type="android.graphics.drawable.Drawable">
+</parameter>
+</method>
+<method name="setNavigationMode"
+ return="void"
+ abstract="true"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="mode" type="int">
+</parameter>
+</method>
+<method name="setSubtitle"
+ return="void"
+ abstract="true"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="subtitle" type="java.lang.CharSequence">
+</parameter>
+</method>
+<method name="setTitle"
+ return="void"
+ abstract="true"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="title" type="java.lang.CharSequence">
+</parameter>
+</method>
+<method name="updateActionMenu"
+ return="void"
+ abstract="true"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
+<field name="DISPLAY_HIDE_HOME"
+ type="int"
+ transient="false"
+ volatile="false"
+ value="2"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+<field name="DISPLAY_USE_LOGO"
+ type="int"
+ transient="false"
+ volatile="false"
+ value="1"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+<field name="NAVIGATION_MODE_CUSTOM"
+ type="int"
+ transient="false"
+ volatile="false"
+ value="3"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+<field name="NAVIGATION_MODE_DROPDOWN_LIST"
+ type="int"
+ transient="false"
+ volatile="false"
+ value="1"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+<field name="NAVIGATION_MODE_NORMAL"
+ type="int"
+ transient="false"
+ volatile="false"
+ value="0"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+<field name="NAVIGATION_MODE_TABS"
+ type="int"
+ transient="false"
+ volatile="false"
+ value="2"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+</class>
+<interface name="ActionBar.Callback"
+ abstract="true"
+ static="true"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<method name="onActionItemSelected"
+ return="boolean"
+ abstract="true"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="item" type="android.view.MenuItem">
+</parameter>
+</method>
+<method name="onContextItemSelected"
+ return="boolean"
+ abstract="true"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="modeId" type="int">
+</parameter>
+<parameter name="item" type="android.view.MenuItem">
+</parameter>
+</method>
+<method name="onCreateActionMenu"
+ return="boolean"
+ abstract="true"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="menu" type="android.view.Menu">
+</parameter>
+</method>
+<method name="onCreateContextMode"
+ return="boolean"
+ abstract="true"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="modeId" type="int">
+</parameter>
+<parameter name="menu" type="android.view.Menu">
+</parameter>
+</method>
+<method name="onPrepareContextMode"
+ return="boolean"
+ abstract="true"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="modeId" type="int">
+</parameter>
+<parameter name="menu" type="android.view.Menu">
+</parameter>
+</method>
+<method name="onUpdateActionMenu"
+ return="boolean"
+ abstract="true"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="menu" type="android.view.Menu">
+</parameter>
+</method>
+</interface>
+<class name="ActionBar.SimpleCallback"
+ extends="java.lang.Object"
+ abstract="false"
+ static="true"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<implements name="android.app.ActionBar.Callback">
+</implements>
+<constructor name="ActionBar.SimpleCallback"
+ type="android.app.ActionBar.SimpleCallback"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</constructor>
+<method name="onActionItemSelected"
+ return="boolean"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="item" type="android.view.MenuItem">
+</parameter>
+</method>
+<method name="onContextItemSelected"
+ return="boolean"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="modeId" type="int">
+</parameter>
+<parameter name="item" type="android.view.MenuItem">
+</parameter>
+</method>
+<method name="onCreateActionMenu"
+ return="boolean"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="menu" type="android.view.Menu">
+</parameter>
+</method>
+<method name="onCreateContextMode"
+ return="boolean"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="modeId" type="int">
+</parameter>
+<parameter name="menu" type="android.view.Menu">
+</parameter>
+</method>
+<method name="onPrepareContextMode"
+ return="boolean"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="modeId" type="int">
+</parameter>
+<parameter name="menu" type="android.view.Menu">
+</parameter>
+</method>
+<method name="onUpdateActionMenu"
+ return="boolean"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="menu" type="android.view.Menu">
+</parameter>
+</method>
+</class>
 <class name="Activity"
  extends="android.view.ContextThemeWrapper"
  abstract="false"
@@ -19368,6 +19904,19 @@
 <parameter name="id" type="int">
 </parameter>
 </method>
+<method name="findFragmentByTag"
+ return="android.app.Fragment"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="tag" type="java.lang.String">
+</parameter>
+</method>
 <method name="findViewById"
  return="android.view.View"
  abstract="false"
@@ -19433,6 +19982,17 @@
 <parameter name="child" type="android.app.Activity">
 </parameter>
 </method>
+<method name="getActionBar"
+ return="android.app.ActionBar"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
 <method name="getApplication"
  return="android.app.Application"
  abstract="false"
@@ -19677,6 +20237,17 @@
  visibility="public"
 >
 </method>
+<method name="isChangingConfigurations"
+ return="boolean"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
 <method name="isChild"
  return="boolean"
  abstract="false"
@@ -24856,6 +25427,19 @@
  visibility="public"
 >
 </constructor>
+<method name="equals"
+ return="boolean"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="o" type="java.lang.Object">
+</parameter>
+</method>
 <method name="getActivity"
  return="android.app.Activity"
  abstract="false"
@@ -24867,6 +25451,61 @@
  visibility="public"
 >
 </method>
+<method name="getId"
+ return="int"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
+<method name="getRetainInstance"
+ return="boolean"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
+<method name="getTag"
+ return="java.lang.String"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
+<method name="getView"
+ return="android.view.View"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
+<method name="hashCode"
+ return="int"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
 <method name="onAttach"
  return="void"
  abstract="false"
@@ -24935,6 +25574,8 @@
 </parameter>
 <parameter name="container" type="android.view.ViewGroup">
 </parameter>
+<parameter name="savedInstanceState" type="android.os.Bundle">
+</parameter>
 </method>
 <method name="onDestroy"
  return="void"
@@ -24995,7 +25636,7 @@
  visibility="public"
 >
 </method>
-<method name="onRestoreInstanceState"
+<method name="onReady"
  return="void"
  abstract="false"
  native="false"
@@ -25019,17 +25660,6 @@
  visibility="public"
 >
 </method>
-<method name="onRetainNonConfigurationInstance"
- return="java.lang.Object"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-</method>
 <method name="onSaveInstanceState"
  return="void"
  abstract="false"
@@ -25065,6 +25695,19 @@
  visibility="public"
 >
 </method>
+<method name="setRetainInstance"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="retain" type="boolean">
+</parameter>
+</method>
 </class>
 <interface name="FragmentTransaction"
  abstract="true"
@@ -25085,6 +25728,8 @@
 >
 <parameter name="fragment" type="android.app.Fragment">
 </parameter>
+<parameter name="tag" type="java.lang.String">
+</parameter>
 </method>
 <method name="add"
  return="android.app.FragmentTransaction"
@@ -63945,7 +64590,7 @@
 <method name="drawText"
  return="void"
  abstract="false"
- native="true"
+ native="false"
  synchronized="false"
  static="false"
  final="false"
@@ -85056,19 +85701,6 @@
 <parameter name="volume" type="float">
 </parameter>
 </method>
-<method name="registerAudioFocusListener"
- return="void"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="l" type="android.media.AudioManager.OnAudioFocusChangeListener">
-</parameter>
-</method>
 <method name="registerMediaButtonEventReceiver"
  return="void"
  abstract="false"
@@ -85328,19 +85960,6 @@
  visibility="public"
 >
 </method>
-<method name="unregisterAudioFocusListener"
- return="void"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="l" type="android.media.AudioManager.OnAudioFocusChangeListener">
-</parameter>
-</method>
 <method name="unregisterMediaButtonEventReceiver"
  return="void"
  abstract="false"
@@ -147250,6 +147869,17 @@
  visibility="public"
 >
 </field>
+<field name="NETWORK_TYPE_EVDO_B"
+ type="int"
+ transient="false"
+ volatile="false"
+ value="12"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
 <field name="NETWORK_TYPE_GPRS"
  type="int"
  transient="false"
@@ -152849,17 +153479,6 @@
  visibility="public"
 >
 </constructor>
-<method name="abortUpdates"
- return="void"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-</method>
 <method name="close"
  return="void"
  abstract="false"
@@ -152871,30 +153490,6 @@
  visibility="public"
 >
 </method>
-<method name="commitUpdates"
- return="boolean"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-</method>
-<method name="commitUpdates"
- return="boolean"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="values" type="java.util.Map&lt;? extends java.lang.Long, ? extends java.util.Map&lt;java.lang.String, java.lang.Object&gt;&gt;">
-</parameter>
-</method>
 <method name="copyStringToBuffer"
  return="void"
  abstract="false"
@@ -152921,17 +153516,6 @@
  visibility="public"
 >
 </method>
-<method name="deleteRow"
- return="boolean"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-</method>
 <method name="getBlob"
  return="byte[]"
  abstract="false"
@@ -153128,17 +153712,6 @@
  visibility="public"
 >
 </method>
-<method name="hasUpdates"
- return="boolean"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-</method>
 <method name="isAfterLast"
  return="boolean"
  abstract="false"
@@ -153342,17 +153915,6 @@
 <parameter name="uri" type="android.net.Uri">
 </parameter>
 </method>
-<method name="supportsUpdates"
- return="boolean"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-</method>
 <method name="unregisterContentObserver"
  return="void"
  abstract="false"
@@ -153379,124 +153941,6 @@
 <parameter name="observer" type="android.database.DataSetObserver">
 </parameter>
 </method>
-<method name="updateBlob"
- return="boolean"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="columnIndex" type="int">
-</parameter>
-<parameter name="value" type="byte[]">
-</parameter>
-</method>
-<method name="updateDouble"
- return="boolean"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="columnIndex" type="int">
-</parameter>
-<parameter name="value" type="double">
-</parameter>
-</method>
-<method name="updateFloat"
- return="boolean"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="columnIndex" type="int">
-</parameter>
-<parameter name="value" type="float">
-</parameter>
-</method>
-<method name="updateInt"
- return="boolean"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="columnIndex" type="int">
-</parameter>
-<parameter name="value" type="int">
-</parameter>
-</method>
-<method name="updateLong"
- return="boolean"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="columnIndex" type="int">
-</parameter>
-<parameter name="value" type="long">
-</parameter>
-</method>
-<method name="updateShort"
- return="boolean"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="columnIndex" type="int">
-</parameter>
-<parameter name="value" type="short">
-</parameter>
-</method>
-<method name="updateString"
- return="boolean"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="columnIndex" type="int">
-</parameter>
-<parameter name="value" type="java.lang.String">
-</parameter>
-</method>
-<method name="updateToNull"
- return="boolean"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="columnIndex" type="int">
-</parameter>
-</method>
 </class>
 <class name="MockDialogInterface"
  extends="java.lang.Object"
@@ -180958,6 +181402,17 @@
  visibility="public"
 >
 </method>
+<method name="isSaveFromParentEnabled"
+ return="boolean"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
 <method name="isScrollbarFadingEnabled"
  return="boolean"
  abstract="false"
@@ -182436,6 +182891,19 @@
 <parameter name="enabled" type="boolean">
 </parameter>
 </method>
+<method name="setSaveFromParentEnabled"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="enabled" type="boolean">
+</parameter>
+</method>
 <method name="setScrollBarStyle"
  return="void"
  abstract="false"
@@ -186761,6 +187229,19 @@
  visibility="public"
 >
 </method>
+<method name="hasFeature"
+ return="boolean"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="feature" type="int">
+</parameter>
+</method>
 <method name="hasSoftInputMode"
  return="boolean"
  abstract="false"
@@ -187411,6 +187892,17 @@
  visibility="protected"
 >
 </field>
+<field name="FEATURE_ACTION_BAR"
+ type="int"
+ transient="false"
+ volatile="false"
+ value="9"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
 <field name="FEATURE_CONTEXT_MENU"
  type="int"
  transient="false"
@@ -207529,6 +208021,17 @@
  visibility="public"
 >
 </method>
+<method name="getNumColumns"
+ return="int"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
 <method name="getStretchMode"
  return="int"
  abstract="false"
diff --git a/camera/tests/CameraServiceTest/CameraServiceTest.cpp b/camera/tests/CameraServiceTest/CameraServiceTest.cpp
index 41670af..cb69534 100644
--- a/camera/tests/CameraServiceTest/CameraServiceTest.cpp
+++ b/camera/tests/CameraServiceTest/CameraServiceTest.cpp
@@ -298,6 +298,7 @@
     virtual sp<OverlayRef> createOverlay(
             uint32_t w, uint32_t h, int32_t format, int32_t orientation);
     virtual sp<GraphicBuffer> requestBuffer(int bufferIdx, int usage);
+    virtual status_t setBufferCount(int bufferCount);
 
     // new functions
     void clearStat();
@@ -339,6 +340,11 @@
     return NULL;
 }
 
+status_t MSurface::setBufferCount(int bufferCount) {
+    INFO(__func__);
+    return NULL;
+}
+
 void MSurface::clearStat() {
     Mutex::Autolock _l(mLock);
     registerBuffersCount = 0;
diff --git a/common/java/com/android/common/GoogleLogTags.logtags b/common/java/com/android/common/GoogleLogTags.logtags
index a5c9bb0..f848ddf 100644
--- a/common/java/com/android/common/GoogleLogTags.logtags
+++ b/common/java/com/android/common/GoogleLogTags.logtags
@@ -80,7 +80,7 @@
 204004 gtalk_heartbeat_reset (interval_and_nt|1),(ip|3)
 
 # This event is logged when an Rmq v2 packet is sent or received.
-204005 push_messaging (packet_type|1),(persistent_id|3),(stream_id|1),(last_stream_id|1)
+204005 c2dm (packet_type|1),(persistent_id|3),(stream_id|1),(last_stream_id|1)
 
 #####
 # Google Login Service and Setup Wizard
diff --git a/core/java/android/app/ActionBar.java b/core/java/android/app/ActionBar.java
new file mode 100644
index 0000000..e28d3d3
--- /dev/null
+++ b/core/java/android/app/ActionBar.java
@@ -0,0 +1,253 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.app;
+
+import android.graphics.drawable.Drawable;
+import android.view.ActionBarView;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.View;
+
+/**
+ * This is the public interface to the contextual ActionBar.
+ * The ActionBar acts as a replacement for the title bar in Activities.
+ * It provides facilities for creating toolbar actions as well as
+ * methods of navigating around an application. 
+ */
+public abstract class ActionBar {
+	/**
+	 * Normal/standard navigation mode. Consists of either a logo or icon
+	 * and title text with an optional subtitle. Clicking any of these elements
+	 * will dispatch onActionItemSelected to the registered Callback with
+	 * a MenuItem with item ID android.R.id.home.
+	 */
+    public static final int NAVIGATION_MODE_NORMAL = 0;
+    
+    /**
+     * Dropdown list navigation mode. Instead of static title text this mode
+     * presents a dropdown menu for navigation within the activity.
+     */
+    public static final int NAVIGATION_MODE_DROPDOWN_LIST = 1;
+    
+    /**
+     * Tab navigation mode. Instead of static title text this mode
+     * presents a series of tabs for navigation within the activity.
+     */
+    public static final int NAVIGATION_MODE_TABS = 2;
+    
+    /**
+     * Custom navigation mode. This navigation mode is set implicitly whenever
+     * a custom navigation view is set. See {@link #setCustomNavigationView(View)}.
+     */
+    public static final int NAVIGATION_MODE_CUSTOM = 3;
+
+    /**
+     * Use logo instead of icon if available. This flag will cause appropriate
+     * navigation modes to use a wider logo in place of the standard icon.
+     */
+    public static final int DISPLAY_USE_LOGO = 0x1;
+    
+    /**
+     * Hide 'home' elements in this action bar, leaving more space for other
+     * navigation elements. This includes logo and icon.
+     */
+    public static final int DISPLAY_HIDE_HOME = 0x2;
+    
+    /**
+     * Set the callback that the ActionBar will use to handle events
+     * and populate menus.
+     * @param callback Callback to use
+     */
+    public abstract void setCallback(Callback callback);
+    
+    /**
+     * Set a custom navigation view.
+     * 
+     * Custom navigation views appear between the application icon and
+     * any action buttons and may use any space available there. Common
+     * use cases for custom navigation views might include an address bar
+     * for a browser or other navigation mechanisms that do not translate
+     * well to provided navigation modes.
+     * 
+     * Setting a non-null custom navigation view will also set the
+     * navigation mode to NAVMODE_CUSTOM.
+     * 
+     * @param view Custom navigation view to place in the ActionBar.
+     */
+    public abstract void setCustomNavigationView(View view);
+    
+    /**
+     * Set the ActionBar's title.
+     * 
+     * This is set automatically to the name of your Activity,
+     * but may be changed here.
+     * 
+     * @param title Title text
+     */
+    public abstract void setTitle(CharSequence title);
+    
+    /**
+     * Set the ActionBar's subtitle.
+     * 
+     * The subtitle is usually displayed as a second line of text
+     * under the title. Good for extended descriptions of activity state.
+     * 
+     * @param subtitle Subtitle text. 
+     */
+    public abstract void setSubtitle(CharSequence subtitle);
+    
+    /**
+     * Set the navigation mode.
+     *
+     * @param mode One of {@link #NAVIGATION_MODE_NORMAL}, {@link #NAVIGATION_MODE_DROPDOWN_LIST},
+     * {@link #NAVIGATION_MODE_TABS}, or {@link #NAVIGATION_MODE_CUSTOM}.
+     */
+    public abstract void setNavigationMode(int mode);
+    
+    /**
+     * Set display options.
+     * 
+     * @param options A combination of the bits defined by the DISPLAY_ constants
+     *                defined in ActionBar.
+     */
+    public abstract void setDisplayOptions(int options);
+    
+    /**
+     * Set the ActionBar's background.
+     * 
+     * @param d Background drawable
+     */
+    public abstract void setBackgroundDrawable(Drawable d);
+    
+    /**
+     * Set a drawable to use as a divider between sections of the ActionBar.
+     * 
+     * @param d Divider drawable
+     */
+    public abstract void setDividerDrawable(Drawable d);
+    
+    /**
+     * @return The current custom navigation view.
+     */
+    public abstract View getCustomNavigationView();
+    
+    /**
+     * @return The current ActionBar title.
+     */
+    public abstract CharSequence getTitle();
+    
+    /**
+     * @return The current ActionBar subtitle.
+     */
+    public abstract CharSequence getSubtitle();
+    
+    /**
+     * @return The current navigation mode.
+     */
+    public abstract int getNavigationMode();
+    
+    /**
+     * @return The current set of display options. 
+     */
+    public abstract int getDisplayOptions();
+    
+    /**
+     * Request an update of the items in the action menu.
+     * This will result in a call to Callback.onUpdateActionMenu(Menu)
+     * and the ActionBar will update based on any changes made there.
+     */
+    public abstract void updateActionMenu();
+    
+    /**
+     * Callback interface for ActionBar events. 
+     */
+    public interface Callback {
+        /**
+         * Initialize the always-visible contents of the action bar.
+         * You should place your menu items into <var>menu</var>.
+         * 
+         * <p>This is only called once, the first time the action bar is displayed.
+         *
+         * @param menu The action menu in which to place your items.
+         * @return You must return true for actions to be displayed;
+         *         if you return false they will not be shown.
+         *
+         * @see #onActionItemSelected(MenuItem)
+         */
+        public boolean onCreateActionMenu(Menu menu);
+
+        /**
+         * Update the action bar. This is called in response to {@link #updateActionMenu()}
+         * calls, which may be application-initiated or the result of changing fragment state.
+         * 
+         * @return true if the action bar should update based on altered menu contents,
+         *         false if no changes are necessary.
+         */
+        public boolean onUpdateActionMenu(Menu menu);
+
+        /**
+         * This hook is called whenever an item in your action bar is selected.
+         * The default implementation simply returns false to have the normal
+         * processing happen (sending a message to its handler). You can use this
+         * method for any items for which you would like to do processing without
+         * those other facilities.
+         * 
+         * @param item The action bar item that was selected.
+         * @return boolean Return false to allow normal menu processing to proceed,
+         *         true to consume it here.
+         */
+        public boolean onActionItemSelected(MenuItem item);
+
+        /*
+         * In progress
+         */
+        public boolean onCreateContextMode(int modeId, Menu menu);
+        public boolean onPrepareContextMode(int modeId, Menu menu);
+        public boolean onContextItemSelected(int modeId, MenuItem item);
+    }
+    
+    /**
+     * Simple stub implementations of ActionBar.Callback methods.
+     * Extend this if you only need a subset of Callback functionality.
+     */
+    public static class SimpleCallback implements Callback {
+        public boolean onCreateActionMenu(Menu menu) {
+            return false;
+        }
+        
+        public boolean onUpdateActionMenu(Menu menu) {
+            return false;
+        }
+        
+        public boolean onActionItemSelected(MenuItem item) {
+            return false;
+        }
+        
+        public boolean onCreateContextMode(int modeId, Menu menu) {
+            return false;
+        }
+        
+        public boolean onPrepareContextMode(int modeId, Menu menu) {
+            return false;
+        }
+        
+        public boolean onContextItemSelected(int modeId, MenuItem item) {
+            return false;
+        }
+    }
+
+}
diff --git a/core/java/android/app/Activity.java b/core/java/android/app/Activity.java
index 5cb8f89..5b0af67 100644
--- a/core/java/android/app/Activity.java
+++ b/core/java/android/app/Activity.java
@@ -16,14 +16,16 @@
 
 package android.app;
 
-import com.android.internal.policy.PolicyManager;
+import java.lang.reflect.Constructor;
+import java.util.ArrayList;
+import java.util.HashMap;
 
 import android.content.ComponentCallbacks;
 import android.content.ComponentName;
 import android.content.ContentResolver;
 import android.content.Context;
-import android.content.Intent;
 import android.content.IIntentSender;
+import android.content.Intent;
 import android.content.IntentSender;
 import android.content.SharedPreferences;
 import android.content.pm.ActivityInfo;
@@ -40,6 +42,7 @@
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.IBinder;
+import android.os.Parcelable;
 import android.os.RemoteException;
 import android.text.Selection;
 import android.text.SpannableStringBuilder;
@@ -50,6 +53,7 @@
 import android.util.EventLog;
 import android.util.Log;
 import android.util.SparseArray;
+import android.view.ActionBarView;
 import android.view.ContextMenu;
 import android.view.ContextThemeWrapper;
 import android.view.InflateException;
@@ -69,8 +73,11 @@
 import android.view.ViewGroup.LayoutParams;
 import android.view.accessibility.AccessibilityEvent;
 import android.widget.AdapterView;
+import android.widget.LinearLayout;
 
-import java.lang.reflect.Constructor;
+import com.android.internal.app.SplitActionBar;
+import com.android.internal.policy.PolicyManager;
+
 import java.util.ArrayList;
 import java.util.HashMap;
 
@@ -608,6 +615,7 @@
     private static long sInstanceCount = 0;
 
     private static final String WINDOW_HIERARCHY_TAG = "android:viewHierarchyState";
+    private static final String FRAGMENTS_TAG = "android:fragments";
     private static final String SAVED_DIALOG_IDS_KEY = "android:savedDialogIds";
     private static final String SAVED_DIALOGS_TAG = "android:savedDialogs";
     private static final String SAVED_DIALOG_KEY_PREFIX = "android:dialog_";
@@ -629,18 +637,25 @@
     private ComponentName mComponent;
     /*package*/ ActivityInfo mActivityInfo;
     /*package*/ ActivityThread mMainThread;
-    /*package*/ Object mLastNonConfigurationInstance;
-    /*package*/ HashMap<String,Object> mLastNonConfigurationChildInstances;
     Activity mParent;
     boolean mCalled;
     private boolean mResumed;
     private boolean mStopped;
     boolean mFinished;
     boolean mStartedActivity;
+    /** true if the activity is being destroyed in order to recreate it with a new configuration */
+    /*package*/ boolean mChangingConfigurations = false;
     /*package*/ int mConfigChangeFlags;
     /*package*/ Configuration mCurrentConfig;
     private SearchManager mSearchManager;
 
+    static final class NonConfigurationInstances {
+        Object activity;
+        HashMap<String, Object> children;
+        ArrayList<Fragment> fragments;
+    }
+    /* package */ NonConfigurationInstances mLastNonConfigurationInstances;
+    
     private Window mWindow;
 
     private WindowManager mWindowManager;
@@ -648,154 +663,13 @@
     /*package*/ boolean mWindowAdded = false;
     /*package*/ boolean mVisibleFromServer = false;
     /*package*/ boolean mVisibleFromClient = true;
+    /*package*/ ActionBar mActionBar = null;
 
     private CharSequence mTitle;
     private int mTitleColor = 0;
 
     final FragmentManager mFragments = new FragmentManager();
     
-    private final Object[] sConstructorArgs = new Object[0];
-
-    private static final Class[] sConstructorSignature = new Class[] { };
-
-    private static final HashMap<String, Constructor> sConstructorMap =
-            new HashMap<String, Constructor>();
-    
-    private final class FragmentTransactionImpl implements FragmentTransaction,
-            Runnable, BackStackState {
-        ArrayList<Fragment> mAdded;
-        ArrayList<Fragment> mRemoved;
-        int mTransition;
-        int mTransitionStyle;
-        boolean mAddToBackStack;
-        String mName;
-        boolean mCommitted;
-        
-        public FragmentTransaction add(Fragment fragment) {
-            return add(fragment, 0);
-        }
-
-        public FragmentTransaction add(Fragment fragment, int containerViewId) {
-            if (fragment.mActivity != null) {
-                throw new IllegalStateException("Fragment already added: " + fragment);
-            }
-            if (mRemoved != null) {
-                mRemoved.remove(fragment);
-            }
-            if (mAdded == null) {
-                mAdded = new ArrayList<Fragment>();
-            }
-            fragment.mContainerId = containerViewId;
-            mAdded.add(fragment);
-            return this;
-        }
-
-        public FragmentTransaction replace(Fragment fragment, int containerViewId) {
-            if (containerViewId == 0) {
-                throw new IllegalArgumentException("Must use non-zero containerViewId");
-            }
-            if (mFragments.mFragments != null) {
-                for (int i=0; i<mFragments.mFragments.size(); i++) {
-                    Fragment old = mFragments.mFragments.get(i);
-                    if (old.mContainerId == containerViewId) {
-                        remove(old);
-                    }
-                }
-            }
-            return add(fragment, containerViewId);
-        }
-        
-        public FragmentTransaction remove(Fragment fragment) {
-            if (fragment.mActivity == null) {
-                throw new IllegalStateException("Fragment not added: " + fragment);
-            }
-            if (mAdded != null) {
-                mAdded.remove(fragment);
-            }
-            if (mRemoved == null) {
-                mRemoved = new ArrayList<Fragment>();
-            }
-            mRemoved.add(fragment);
-            return this;
-        }
-
-        public FragmentTransaction setTransition(int transition) {
-            mTransition = transition;
-            return this;
-        }
-        
-        public FragmentTransaction setTransitionStyle(int styleRes) {
-            mTransitionStyle = styleRes;
-            return this;
-        }
-        
-        public FragmentTransaction addToBackStack(String name) {
-            mAddToBackStack = true;
-            mName = name;
-            return this;
-        }
-
-        public void commit() {
-            if (mCommitted) throw new IllegalStateException("commit already called");
-            mCommitted = true;
-            mHandler.post(this);
-        }
-        
-        public void run() {
-            if (mRemoved != null) {
-                for (int i=mRemoved.size()-1; i>=0; i--) {
-                    mFragments.removeFragment(mRemoved.get(i), mTransition,
-                            mTransitionStyle);
-                }
-            }
-            if (mAdded != null) {
-                for (int i=mAdded.size()-1; i>=0; i--) {
-                    Fragment f = mAdded.get(i);
-                    mFragments.addFragment(f, false);
-                    if (mAddToBackStack) {
-                        f.mBackStackNesting++;
-                    }
-                }
-            }
-            mFragments.moveToState(mFragments.mCurState, mTransition,
-                    mTransitionStyle, true);
-            if (mAddToBackStack) {
-                mFragments.addBackStackState(this);
-            }
-        }
-        
-        public void popFromBackStack() {
-            if (mAdded != null) {
-                for (int i=mAdded.size()-1; i>=0; i--) {
-                    Fragment f = mAdded.get(i);
-                    if (mAddToBackStack) {
-                        f.mBackStackNesting--;
-                    }
-                    mFragments.removeFragment(f,
-                            FragmentManager.reverseTransit(mTransition),
-                            mTransitionStyle);
-                }
-            }
-            if (mRemoved != null) {
-                for (int i=mRemoved.size()-1; i>=0; i--) {
-                    mFragments.addFragment(mRemoved.get(i), false);
-                }
-            }
-        }
-        
-        public String getName() {
-            return mName;
-        }
-        
-        public int getTransition() {
-            return mTransition;
-        }
-        
-        public int getTransitionStyle() {
-            return mTransitionStyle;
-        }
-    }
-    
     private static final class ManagedCursor {
         ManagedCursor(Cursor cursor) {
             mCursor = cursor;
@@ -822,7 +696,7 @@
     protected static final int[] FOCUSED_STATE_SET = {com.android.internal.R.attr.state_focused};
 
     private Thread mUiThread;
-    private final Handler mHandler = new Handler();
+    final Handler mHandler = new Handler();
 
     // Used for debug only
     /*
@@ -946,7 +820,12 @@
     protected void onCreate(Bundle savedInstanceState) {
         mVisibleFromClient = !mWindow.getWindowStyle().getBoolean(
                 com.android.internal.R.styleable.Window_windowNoDisplay, false);
-        mFragments.dispatchCreate(savedInstanceState);
+        if (savedInstanceState != null) {
+            Parcelable p = savedInstanceState.getParcelable(FRAGMENTS_TAG);
+            mFragments.restoreAllState(p, mLastNonConfigurationInstances != null
+                    ? mLastNonConfigurationInstances.fragments : null);
+        }
+        mFragments.dispatchCreate();
         mCalled = true;
     }
 
@@ -1231,6 +1110,10 @@
      */
     protected void onSaveInstanceState(Bundle outState) {
         outState.putBundle(WINDOW_HIERARCHY_TAG, mWindow.saveHierarchyState());
+        Parcelable p = mFragments.saveAllState();
+        if (p != null) {
+            outState.putParcelable(FRAGMENTS_TAG, p);
+        }
     }
 
     /**
@@ -1535,7 +1418,8 @@
      * {@link #onRetainNonConfigurationInstance()}.
      */
     public Object getLastNonConfigurationInstance() {
-        return mLastNonConfigurationInstance;
+        return mLastNonConfigurationInstances != null
+                ? mLastNonConfigurationInstances.activity : null;
     }
     
     /**
@@ -1591,8 +1475,9 @@
      * @return Returns the object previously returned by
      * {@link #onRetainNonConfigurationChildInstances()}
      */
-    HashMap<String,Object> getLastNonConfigurationChildInstances() {
-        return mLastNonConfigurationChildInstances;
+    HashMap<String, Object> getLastNonConfigurationChildInstances() {
+        return mLastNonConfigurationInstances != null
+                ? mLastNonConfigurationInstances.children : null;
     }
     
     /**
@@ -1606,6 +1491,21 @@
         return null;
     }
     
+    NonConfigurationInstances retainNonConfigurationInstances() {
+        Object activity = onRetainNonConfigurationInstance();
+        HashMap<String, Object> children = onRetainNonConfigurationChildInstances();
+        ArrayList<Fragment> fragments = mFragments.retainNonConfig();
+        if (activity == null && children == null && fragments == null) {
+            return null;
+        }
+        
+        NonConfigurationInstances nci = new NonConfigurationInstances();
+        nci.activity = activity;
+        nci.children = children;
+        nci.fragments = fragments;
+        return nci;
+    }
+    
     public void onLowMemory() {
         mCalled = true;
     }
@@ -1615,7 +1515,7 @@
      * this activity.
      */
     public FragmentTransaction openFragmentTransaction() {
-        return new FragmentTransactionImpl();
+        return new BackStackEntry(mFragments);
     }
     
     /**
@@ -1680,40 +1580,6 @@
     }
 
     /**
-     * Wrapper around {@link Cursor#commitUpdates()} that takes care of noting
-     * that the Cursor needs to be requeried.  You can call this method in
-     * {@link #onPause} or {@link #onStop} to have the system call
-     * {@link Cursor#requery} for you if the activity is later resumed.  This
-     * allows you to avoid determing when to do the requery yourself (which is
-     * required for the Cursor to see any data changes that were committed with
-     * it).
-     * 
-     * @param c The Cursor whose changes are to be committed.
-     * 
-     * @see #managedQuery(android.net.Uri , String[], String, String[], String)
-     * @see #startManagingCursor
-     * @see Cursor#commitUpdates()
-     * @see Cursor#requery
-     * @hide
-     */
-    @Deprecated
-    public void managedCommitUpdates(Cursor c) {
-        synchronized (mManagedCursors) {
-            final int N = mManagedCursors.size();
-            for (int i=0; i<N; i++) {
-                ManagedCursor mc = mManagedCursors.get(i);
-                if (mc.mCursor == c) {
-                    c.commitUpdates();
-                    mc.mUpdated = true;
-                    return;
-                }
-            }
-            throw new RuntimeException(
-                "Cursor " + c + " is not currently managed");
-        }
-    }
-
-    /**
      * This method allows the activity to take care of managing the given
      * {@link Cursor}'s lifecycle for you based on the activity's lifecycle.
      * That is, when the activity is stopped it will automatically call
@@ -1791,7 +1657,40 @@
     public View findViewById(int id) {
         return getWindow().findViewById(id);
     }
-
+    
+    /**
+     * Retrieve a reference to this activity's ActionBar.
+     * 
+     * <p><em>Note:</em> The ActionBar is initialized when a content view
+     * is set. This function will return null if called before {@link #setContentView}
+     * or {@link #addContentView}.
+     * @return The Activity's ActionBar, or null if it does not have one.
+     */
+    public ActionBar getActionBar() {
+        return mActionBar;
+    }
+    
+    /**
+     * Creates a new ActionBar, locates the inflated ActionBarView,
+     * initializes the ActionBar with the view, and sets mActionBar.
+     */
+    private void initActionBar() {
+        if (!getWindow().hasFeature(Window.FEATURE_ACTION_BAR)) {
+            return;
+        }
+        
+        ActionBarView view = (ActionBarView) findViewById(com.android.internal.R.id.action_bar);
+        if (view != null) {
+        	LinearLayout splitView = 
+        		(LinearLayout) findViewById(com.android.internal.R.id.context_action_bar);
+        	if (splitView != null) {
+        		mActionBar = new SplitActionBar(view, splitView);
+        	}
+        } else {
+            Log.e(TAG, "Could not create action bar; view not found in window decor.");
+        }
+    }
+    
     /**
      * Finds a fragment that was identified by the given id either when inflated
      * from XML or as the container ID when added in a transaction.  This only
@@ -1803,6 +1702,16 @@
     }
     
     /**
+     * Finds a fragment that was identified by the given tag either when inflated
+     * from XML or as supplied when added in a transaction.  This only
+     * returns fragments that are currently added to the activity's content.
+     * @return The fragment if found or null otherwise.
+     */
+    public Fragment findFragmentByTag(String tag) {
+        return mFragments.findFragmentByTag(tag);
+    }
+    
+    /**
      * Set the activity content from a layout resource.  The resource will be
      * inflated, adding all top-level views to the activity.
      * 
@@ -1810,6 +1719,7 @@
      */
     public void setContentView(int layoutResID) {
         getWindow().setContentView(layoutResID);
+        initActionBar();
     }
 
     /**
@@ -1821,6 +1731,7 @@
      */
     public void setContentView(View view) {
         getWindow().setContentView(view);
+        initActionBar();
     }
 
     /**
@@ -1833,6 +1744,7 @@
      */
     public void setContentView(View view, ViewGroup.LayoutParams params) {
         getWindow().setContentView(view, params);
+        initActionBar();
     }
 
     /**
@@ -1844,6 +1756,7 @@
      */
     public void addContentView(View view, ViewGroup.LayoutParams params) {
         getWindow().addContentView(view, params);
+        initActionBar();
     }
 
     /**
@@ -2155,6 +2068,11 @@
     }
 
     public void onContentChanged() {
+        // First time content is available, let the fragment manager
+        // attach all of the fragments to it.
+        if (mFragments.mCurState < Fragment.CONTENT) {
+            mFragments.moveToState(Fragment.CONTENT, false);
+        }
     }
 
     /**
@@ -3402,6 +3320,19 @@
     }
 
     /**
+     * Check to see whether this activity is in the process of being destroyed in order to be
+     * recreated with a new configuration. This is often used in
+     * {@link #onStop} to determine whether the state needs to be cleaned up or will be passed
+     * on to the next instance of the activity via {@link #onRetainNonConfigurationInstance()}.
+     * 
+     * @return If the activity is being torn down in order to be recreated with a new configuration,
+     * returns true; else returns false.
+     */
+    public boolean isChangingConfigurations() {
+        return mChangingConfigurations;
+    }
+
+    /**
      * Call this when your activity is done and should be closed.  The
      * ActivityResult is propagated back to whoever launched you via
      * onActivityResult().
@@ -3904,44 +3835,42 @@
         TypedArray a = 
             context.obtainStyledAttributes(attrs, com.android.internal.R.styleable.Fragment);
         String fname = a.getString(com.android.internal.R.styleable.Fragment_name);
-        int id = a.getInt(com.android.internal.R.styleable.Fragment_id, 0);
+        int id = a.getResourceId(com.android.internal.R.styleable.Fragment_id, 0);
         String tag = a.getString(com.android.internal.R.styleable.Fragment_tag);
         a.recycle();
         
-        Constructor constructor = sConstructorMap.get(fname);
-        Class clazz = null;
-
+        if (id == 0) {
+            throw new IllegalArgumentException(attrs.getPositionDescription()
+                    + ": Must specify unique android:id for " + fname);
+        }
+        
         try {
-            if (constructor == null) {
-                // Class not found in the cache, see if it's real, and try to add it
-                clazz = getClassLoader().loadClass(fname);
-                constructor = clazz.getConstructor(sConstructorSignature);
-                sConstructorMap.put(fname, constructor);
+            // If we restored from a previous state, we may already have
+            // instantiated this fragment from the state and should use
+            // that instance instead of making a new one.
+            Fragment fragment = mFragments.findFragmentById(id);
+            if (fragment == null) {
+                fragment = Fragment.instantiate(this, fname);
+                fragment.mFromLayout = true;
+                fragment.mFragmentId = id;
+                fragment.mTag = tag;
+                fragment.onInflate(this, attrs);
+                mFragments.addFragment(fragment, true);
             }
-            Fragment fragment = (Fragment)constructor.newInstance(sConstructorArgs);
-            fragment.onInflate(this, attrs);
-            mFragments.addFragment(fragment, true);
             if (fragment.mView == null) {
                 throw new IllegalStateException("Fragment " + fname
                         + " did not create a view.");
             }
+            fragment.mView.setId(id);
+            if (fragment.mView.getTag() == null) {
+                fragment.mView.setTag(tag);
+            }
             return fragment.mView;
-
-        } catch (NoSuchMethodException e) {
-            InflateException ie = new InflateException(attrs.getPositionDescription()
-                    + ": Error inflating class " + fname);
-            ie.initCause(e);
-            throw ie;
-
-        } catch (ClassNotFoundException e) {
-            // If loadClass fails, we should propagate the exception.
-            throw new RuntimeException(e);
         } catch (Exception e) {
             InflateException ie = new InflateException(attrs.getPositionDescription()
-                    + ": Error inflating class "
-                    + (clazz == null ? "<unknown>" : clazz.getName()));
+                    + ": Error inflating fragment " + fname);
             ie.initCause(e);
-            throw new RuntimeException(ie);
+            throw ie;
         }
     }
 
@@ -3953,18 +3882,17 @@
 
     final void attach(Context context, ActivityThread aThread, Instrumentation instr, IBinder token,
             Application application, Intent intent, ActivityInfo info, CharSequence title, 
-            Activity parent, String id, Object lastNonConfigurationInstance,
+            Activity parent, String id, NonConfigurationInstances lastNonConfigurationInstances,
             Configuration config) {
         attach(context, aThread, instr, token, 0, application, intent, info, title, parent, id,
-            lastNonConfigurationInstance, null, config);
+            lastNonConfigurationInstances, config);
     }
     
     final void attach(Context context, ActivityThread aThread,
             Instrumentation instr, IBinder token, int ident,
             Application application, Intent intent, ActivityInfo info,
             CharSequence title, Activity parent, String id,
-            Object lastNonConfigurationInstance,
-            HashMap<String,Object> lastNonConfigurationChildInstances,
+            NonConfigurationInstances lastNonConfigurationInstances,
             Configuration config) {
         attachBaseContext(context);
 
@@ -3989,8 +3917,7 @@
         mTitle = title;
         mParent = parent;
         mEmbeddedID = id;
-        mLastNonConfigurationInstance = lastNonConfigurationInstance;
-        mLastNonConfigurationChildInstances = lastNonConfigurationChildInstances;
+        mLastNonConfigurationInstances = lastNonConfigurationInstances;
 
         mWindow.setWindowManager(null, mToken, mComponent.flattenToString());
         if (mParent != null) {
@@ -4048,7 +3975,7 @@
     final void performResume() {
         performRestart();
         
-        mLastNonConfigurationInstance = null;
+        mLastNonConfigurationInstances = null;
         
         // First call onResume() -before- setting mResumed, so we don't
         // send out any status bar / menu notifications the client makes.
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java
index acedcdb..1f2fa26 100644
--- a/core/java/android/app/ActivityThread.java
+++ b/core/java/android/app/ActivityThread.java
@@ -1300,8 +1300,7 @@
         Window window;
         Activity parent;
         String embeddedID;
-        Object lastNonConfigurationInstance;
-        HashMap<String,Object> lastNonConfigurationChildInstances;
+        Activity.NonConfigurationInstances lastNonConfigurationInstances;
         boolean paused;
         boolean stopped;
         boolean hideForNow;
@@ -2479,7 +2478,7 @@
 
     public final Activity startActivityNow(Activity parent, String id,
         Intent intent, ActivityInfo activityInfo, IBinder token, Bundle state,
-        Object lastNonConfigurationInstance) {
+        Activity.NonConfigurationInstances lastNonConfigurationInstances) {
         ActivityRecord r = new ActivityRecord();
             r.token = token;
             r.ident = 0;
@@ -2488,7 +2487,7 @@
             r.parent = parent;
             r.embeddedID = id;
             r.activityInfo = activityInfo;
-            r.lastNonConfigurationInstance = lastNonConfigurationInstance;
+            r.lastNonConfigurationInstances = lastNonConfigurationInstances;
         if (localLOGV) {
             ComponentName compname = intent.getComponent();
             String name;
@@ -2610,14 +2609,12 @@
                         + r.activityInfo.name + " with config " + config);
                 activity.attach(appContext, this, getInstrumentation(), r.token,
                         r.ident, app, r.intent, r.activityInfo, title, r.parent,
-                        r.embeddedID, r.lastNonConfigurationInstance,
-                        r.lastNonConfigurationChildInstances, config);
+                        r.embeddedID, r.lastNonConfigurationInstances, config);
 
                 if (customIntent != null) {
                     activity.mIntent = customIntent;
                 }
-                r.lastNonConfigurationInstance = null;
-                r.lastNonConfigurationChildInstances = null;
+                r.lastNonConfigurationInstances = null;
                 activity.mStartedActivity = false;
                 int theme = r.activityInfo.getThemeResource();
                 if (theme != 0) {
@@ -3575,6 +3572,9 @@
             if (finishing) {
                 r.activity.mFinished = true;
             }
+            if (getNonConfigInstance) {
+                r.activity.mChangingConfigurations = true;
+            }
             if (!r.paused) {
                 try {
                     r.activity.mCalled = false;
@@ -3615,8 +3615,8 @@
             }
             if (getNonConfigInstance) {
                 try {
-                    r.lastNonConfigurationInstance
-                            = r.activity.onRetainNonConfigurationInstance();
+                    r.lastNonConfigurationInstances
+                            = r.activity.retainNonConfigurationInstances();
                 } catch (Exception e) {
                     if (!mInstrumentation.onException(r.activity, e)) {
                         throw new RuntimeException(
@@ -3625,18 +3625,6 @@
                                 + ": " + e.toString(), e);
                     }
                 }
-                try {
-                    r.lastNonConfigurationChildInstances
-                            = r.activity.onRetainNonConfigurationChildInstances();
-                } catch (Exception e) {
-                    if (!mInstrumentation.onException(r.activity, e)) {
-                        throw new RuntimeException(
-                                "Unable to retain child activities "
-                                + safeToComponentShortString(r.intent)
-                                + ": " + e.toString(), e);
-                    }
-                }
-
             }
             try {
                 r.activity.mCalled = false;
diff --git a/core/java/android/app/Fragment.java b/core/java/android/app/Fragment.java
index c5e9e6f..1b877b2 100644
--- a/core/java/android/app/Fragment.java
+++ b/core/java/android/app/Fragment.java
@@ -17,46 +17,281 @@
 package android.app;
 
 import android.content.ComponentCallbacks;
-import android.content.Context;
 import android.content.res.Configuration;
 import android.os.Bundle;
+import android.os.Parcel;
+import android.os.Parcelable;
 import android.util.AttributeSet;
+import android.util.SparseArray;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.animation.Animation;
 
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.util.HashMap;
+
+final class FragmentState implements Parcelable {
+    static final String VIEW_STATE_TAG = "android:view_state";
+    
+    final String mClassName;
+    final boolean mFromLayout;
+    final int mSavedStateId;
+    final int mFragmentId;
+    final int mContainerId;
+    final String mTag;
+    final boolean mRetainInstance;
+    
+    Bundle mSavedFragmentState;
+    
+    Fragment mInstance;
+    
+    public FragmentState(Fragment frag) {
+        mClassName = frag.getClass().getName();
+        mFromLayout = frag.mFromLayout;
+        mSavedStateId = frag.mSavedStateId;
+        mFragmentId = frag.mFragmentId;
+        mContainerId = frag.mContainerId;
+        mTag = frag.mTag;
+        mRetainInstance = frag.mRetainInstance;
+    }
+    
+    public FragmentState(Parcel in) {
+        mClassName = in.readString();
+        mFromLayout = in.readInt() != 0;
+        mSavedStateId = in.readInt();
+        mFragmentId = in.readInt();
+        mContainerId = in.readInt();
+        mTag = in.readString();
+        mRetainInstance = in.readInt() != 0;
+        mSavedFragmentState = in.readBundle();
+    }
+    
+    public Fragment instantiate(Activity activity) {
+        if (mFromLayout) {
+            return null;
+        }
+        
+        if (mInstance != null) {
+            return mInstance;
+        }
+        
+        try {
+            mInstance = Fragment.instantiate(activity, mClassName);
+        } catch (Exception e) {
+            throw new RuntimeException("Unable to restore fragment " + mClassName, e);
+        }
+        
+        if (mSavedFragmentState != null) {
+            mSavedFragmentState.setClassLoader(activity.getClassLoader());
+            mInstance.mSavedFragmentState = mSavedFragmentState;
+            mInstance.mSavedViewState
+                    = mSavedFragmentState.getSparseParcelableArray(VIEW_STATE_TAG);
+        }
+        mInstance.mSavedStateId = mSavedStateId;
+        mInstance.mFragmentId = mFragmentId;
+        mInstance.mContainerId = mContainerId;
+        mInstance.mTag = mTag;
+        mInstance.mRetainInstance = mRetainInstance;
+        
+        return mInstance;
+    }
+    
+    public int describeContents() {
+        return 0;
+    }
+
+    public void writeToParcel(Parcel dest, int flags) {
+        dest.writeString(mClassName);
+        dest.writeInt(mFromLayout ? 1 : 0);
+        dest.writeInt(mSavedStateId);
+        dest.writeInt(mFragmentId);
+        dest.writeInt(mContainerId);
+        dest.writeString(mTag);
+        dest.writeInt(mRetainInstance ? 1 : 0);
+        dest.writeBundle(mSavedFragmentState);
+    }
+    
+    public static final Parcelable.Creator<FragmentState> CREATOR
+            = new Parcelable.Creator<FragmentState>() {
+        public FragmentState createFromParcel(Parcel in) {
+            return new FragmentState(in);
+        }
+        
+        public FragmentState[] newArray(int size) {
+            return new FragmentState[size];
+        }
+    };
+}
+
 /**
  * A Fragment is a piece of an application's user interface or behavior
  * that can be placed in an {@link Activity}.
  */
 public class Fragment implements ComponentCallbacks {
+    private static final Object[] sConstructorArgs = new Object[0];
+
+    private static final Class[] sConstructorSignature = new Class[] { };
+
+    private static final HashMap<String, Constructor> sConstructorMap =
+            new HashMap<String, Constructor>();
+    
     static final int INITIALIZING = 0;  // Not yet created.
     static final int CREATED = 1;       // Created.
-    static final int STARTED = 2;       // Created and started, not resumed.
-    static final int RESUMED = 3;       // Created started and resumed.
+    static final int CONTENT = 2;       // View hierarchy content available.
+    static final int STARTED = 3;       // Created and started, not resumed.
+    static final int RESUMED = 4;       // Created started and resumed.
     
     int mState = INITIALIZING;
+    
+    // When instantiated from saved state, this is the saved state.
+    Bundle mSavedFragmentState;
+    SparseArray<Parcelable> mSavedViewState;
+    
+    // Set to true if this fragment was instantiated from a layout file.
+    boolean mFromLayout;
+    
+    // Number of active back stack entries this fragment is in.
     int mBackStackNesting;
+    
+    // Activity this fragment is attached to.
     Activity mActivity;
     
-    boolean mCalled;
+    // The optional identifier for this fragment -- either the container ID if it
+    // was dynamically added to the view hierarchy, or the ID supplied in
+    // layout.
+    int mFragmentId;
+    
+    // When a fragment is being dynamically added to the view hierarchy, this
+    // is the identifier of the parent container it is being added to.
     int mContainerId;
     
+    // The optional named tag for this fragment -- usually used to find
+    // fragments that are not part of the layout.
+    String mTag;
+    
+    // If set this fragment would like its instance retained across
+    // configuration changes.
+    boolean mRetainInstance;
+    
+    // If set this fragment is being retained across the current config change.
+    boolean mRetaining;
+    
+    // Used to verify that subclasses call through to super class.
+    boolean mCalled;
+    
+    // The parent container of the fragment after dynamically added to UI.
     ViewGroup mContainer;
+    
+    // The View generated for this fragment.
     View mView;
     
+    // Used for performing save state of fragments.
+    int mSavedStateSeq = 0;
+    int mSavedStateId;
+    
     public Fragment() {
     }
+
+    static Fragment instantiate(Activity activity, String fname)
+            throws NoSuchMethodException, ClassNotFoundException,
+            IllegalArgumentException, InstantiationException,
+            IllegalAccessException, InvocationTargetException {
+        Constructor constructor = sConstructorMap.get(fname);
+        Class clazz = null;
+
+        if (constructor == null) {
+            // Class not found in the cache, see if it's real, and try to add it
+            clazz = activity.getClassLoader().loadClass(fname);
+            constructor = clazz.getConstructor(sConstructorSignature);
+            sConstructorMap.put(fname, constructor);
+        }
+        return (Fragment)constructor.newInstance(sConstructorArgs);
+    }
     
+    void restoreViewState() {
+        if (mSavedViewState != null) {
+            mView.restoreHierarchyState(mSavedViewState);
+            mSavedViewState = null;
+        }
+    }
+    
+    /**
+     * Subclasses can not override equals().
+     */
+    @Override final public boolean equals(Object o) {
+        return super.equals(o);
+    }
+
+    /**
+     * Subclasses can not override hashCode().
+     */
+    @Override final public int hashCode() {
+        return super.hashCode();
+    }
+    
+    /**
+     * Return the identifier this fragment is known by.  This is either
+     * the android:id value supplied in a layout or the container view ID
+     * supplied when adding the fragment.
+     */
+    public int getId() {
+        return mFragmentId;
+    }
+    
+    /**
+     * Get the tag name of the fragment, if specified.
+     */
+    public String getTag() {
+        return mTag;
+    }
+    
+    /**
+     * Return the Activity this fragment is currently associated with.
+     */
     public Activity getActivity() {
         return mActivity;
     }
     
+    /**
+     * Control whether a fragment instance is retained across Activity
+     * re-creation (such as from a configuration change).  This can only
+     * be used with fragments not in the back stack.  If set, the fragment
+     * lifecycle will be slightly different when an activity is recreated:
+     * <ul>
+     * <li> {@link #onDestroy()} will not be called (but {@link #onDetach()} still
+     * will be, because the fragment is being detached from its current activity).
+     * <li> {@link #onCreate(Bundle)} will not be called since the fragment
+     * is not being re-created.
+     * <li> {@link #onAttach(Activity)} and {@link #onReady(Bundle)} <b>will</b>
+     * still be called.
+     * </ul>
+     */
+    public void setRetainInstance(boolean retain) {
+        mRetainInstance = retain;
+    }
+    
+    public boolean getRetainInstance() {
+        return mRetainInstance;
+    }
+    
+    /**
+     * Called when a fragment is being created as part of a view layout
+     * inflation, typically from setting the content view of an activity.
+     * 
+     * @param activity The Activity that is inflating the fragment.
+     * @param attrs The attributes at the tag where the fragment is
+     * being created.
+     */
     public void onInflate(Activity activity, AttributeSet attrs) {
         mCalled = true;
     }
     
+    /**
+     * Called when a fragment is first attached to its activity.
+     * {@link #onCreate(Bundle)} will be called after this.
+     */
     public void onAttach(Activity activity) {
         mCalled = true;
     }
@@ -65,21 +300,70 @@
         return null;
     }
     
+    /**
+     * Called to do initial creation of a fragment.  This is called after
+     * {@link #onAttach(Activity)} and before {@link #onReady(Bundle)}.
+     * @param savedInstanceState If the fragment is being re-created from
+     * a previous saved state, this is the state.
+     */
     public void onCreate(Bundle savedInstanceState) {
         mCalled = true;
     }
     
-    public View onCreateView(LayoutInflater inflater, ViewGroup container) {
+    /**
+     * Called to have the fragment instantiate its user interface view.
+     * This is optional, and non-graphical fragments can return null (which
+     * is the default implementation).  This will be called between
+     * {@link #onCreate(Bundle)} and {@link #onReady(Bundle)}.
+     * 
+     * @param inflater The LayoutInflater object that can be used to inflate
+     * any views in the fragment,
+     * @param container If non-null, this is the parent view that the fragment's
+     * UI should be attached to.  The fragment should not add the view itself,
+     * but this can be used to generate the LayoutParams of the view.
+     * @param savedInstanceState If non-null, this fragment is being re-constructed
+     * from a previous saved state as given here.
+     * 
+     * @return Return the View for the fragment's UI, or null.
+     */
+    public View onCreateView(LayoutInflater inflater, ViewGroup container,
+            Bundle savedInstanceState) {
         return null;
     }
     
-    public void onRestoreInstanceState(Bundle savedInstanceState) {
+    public View getView() {
+        return mView;
     }
     
+    /**
+     * Called when the activity is ready for the fragment to run.  This is
+     * most useful for fragments that use {@link #setRetainInstance(boolean)}
+     * instance, as this tells the fragment when it is fully associated with
+     * the new activity instance.  This is called after {@link #onCreate(Bundle)}
+     * and before {@link #onStart()}.
+     * 
+     * @param savedInstanceState If the fragment is being re-created from
+     * a previous saved state, this is the state.
+     */
+    public void onReady(Bundle savedInstanceState) {
+        mCalled = true;
+    }
+    
+    /**
+     * Called when the Fragment is visible to the user.  This is generally
+     * tied to {@link Activity#onStart() Activity.onStart} of the containing
+     * Activity's lifecycle.
+     */
     public void onStart() {
         mCalled = true;
     }
     
+    /**
+     * Called when the fragment is visible to the user and actively running.
+     * This is generally
+     * tied to {@link Activity#onResume() Activity.onResume} of the containing
+     * Activity's lifecycle.
+     */
     public void onResume() {
         mCalled = true;
     }
@@ -91,14 +375,20 @@
         mCalled = true;
     }
     
-    public Object onRetainNonConfigurationInstance() {
-        return null;
-    }
-    
+    /**
+     * Called when the Fragment is no longer resumed.  This is generally
+     * tied to {@link Activity#onPause() Activity.onPause} of the containing
+     * Activity's lifecycle.
+     */
     public void onPause() {
         mCalled = true;
     }
     
+    /**
+     * Called when the Fragment is no longer started.  This is generally
+     * tied to {@link Activity#onStop() Activity.onStop} of the containing
+     * Activity's lifecycle.
+     */
     public void onStop() {
         mCalled = true;
     }
@@ -107,10 +397,18 @@
         mCalled = true;
     }
     
+    /**
+     * Called when the fragment is no longer in use.  This is called
+     * after {@link #onStop()} and before {@link #onDetach()}.
+     */
     public void onDestroy() {
         mCalled = true;
     }
     
+    /**
+     * Called when the fragment is no longer attached to its activity.  This
+     * is called after {@link #onDestroy()}.
+     */
     public void onDetach() {
         mCalled = true;
     }
diff --git a/core/java/android/app/FragmentManager.java b/core/java/android/app/FragmentManager.java
index 9a4580e..0bc1b832 100644
--- a/core/java/android/app/FragmentManager.java
+++ b/core/java/android/app/FragmentManager.java
@@ -19,17 +19,269 @@
 import android.content.res.TypedArray;
 import android.os.Bundle;
 import android.os.Handler;
+import android.os.Parcel;
+import android.os.Parcelable;
+import android.util.SparseArray;
 import android.view.ViewGroup;
 import android.view.animation.Animation;
 import android.view.animation.AnimationUtils;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 
-interface BackStackState {
-    public void popFromBackStack();
-    public String getName();
-    public int getTransition();
-    public int getTransitionStyle();
+final class BackStackEntry implements FragmentTransaction, Runnable {
+    final FragmentManager mManager;
+    
+    ArrayList<Fragment> mAdded;
+    ArrayList<Fragment> mRemoved;
+    int mTransition;
+    int mTransitionStyle;
+    boolean mAddToBackStack;
+    String mName;
+    boolean mCommitted;
+    
+    public BackStackEntry(FragmentManager manager) {
+        mManager = manager;
+    }
+    
+    public FragmentTransaction add(Fragment fragment, String tag) {
+        fragment.mTag = tag;
+        return add(fragment, 0);
+    }
+
+    public FragmentTransaction add(Fragment fragment, int containerViewId) {
+        if (fragment.mActivity != null) {
+            throw new IllegalStateException("Fragment already added: " + fragment);
+        }
+        if (mRemoved != null) {
+            mRemoved.remove(fragment);
+        }
+        if (mAdded == null) {
+            mAdded = new ArrayList<Fragment>();
+        }
+        fragment.mContainerId = fragment.mFragmentId = containerViewId;
+        mAdded.add(fragment);
+        return this;
+    }
+
+    public FragmentTransaction replace(Fragment fragment, int containerViewId) {
+        if (containerViewId == 0) {
+            throw new IllegalArgumentException("Must use non-zero containerViewId");
+        }
+        if (mManager.mFragments != null) {
+            for (int i=0; i<mManager.mFragments.size(); i++) {
+                Fragment old = mManager.mFragments.get(i);
+                if (old.mContainerId == containerViewId) {
+                    remove(old);
+                }
+            }
+        }
+        return add(fragment, containerViewId);
+    }
+    
+    public FragmentTransaction remove(Fragment fragment) {
+        if (fragment.mActivity == null) {
+            throw new IllegalStateException("Fragment not added: " + fragment);
+        }
+        if (mAdded != null) {
+            mAdded.remove(fragment);
+        }
+        if (mRemoved == null) {
+            mRemoved = new ArrayList<Fragment>();
+        }
+        mRemoved.add(fragment);
+        return this;
+    }
+
+    public FragmentTransaction setTransition(int transition) {
+        mTransition = transition;
+        return this;
+    }
+    
+    public FragmentTransaction setTransitionStyle(int styleRes) {
+        mTransitionStyle = styleRes;
+        return this;
+    }
+    
+    public FragmentTransaction addToBackStack(String name) {
+        mAddToBackStack = true;
+        mName = name;
+        return this;
+    }
+
+    public void commit() {
+        if (mCommitted) throw new IllegalStateException("commit already called");
+        mCommitted = true;
+        mManager.mActivity.mHandler.post(this);
+    }
+    
+    public void run() {
+        if (mRemoved != null) {
+            for (int i=mRemoved.size()-1; i>=0; i--) {
+                mManager.removeFragment(mRemoved.get(i), mTransition,
+                        mTransitionStyle);
+            }
+        }
+        if (mAdded != null) {
+            for (int i=mAdded.size()-1; i>=0; i--) {
+                Fragment f = mAdded.get(i);
+                mManager.addFragment(f, false);
+                if (mAddToBackStack) {
+                    f.mBackStackNesting++;
+                }
+            }
+        }
+        mManager.moveToState(mManager.mCurState, mTransition,
+                mTransitionStyle, true);
+        if (mAddToBackStack) {
+            mManager.addBackStackState(this);
+        }
+    }
+    
+    public void popFromBackStack() {
+        if (mAdded != null) {
+            for (int i=mAdded.size()-1; i>=0; i--) {
+                Fragment f = mAdded.get(i);
+                if (mAddToBackStack) {
+                    f.mBackStackNesting--;
+                }
+                mManager.removeFragment(f,
+                        FragmentManager.reverseTransit(mTransition),
+                        mTransitionStyle);
+            }
+        }
+        if (mRemoved != null) {
+            for (int i=mRemoved.size()-1; i>=0; i--) {
+                mManager.addFragment(mRemoved.get(i), false);
+            }
+        }
+    }
+    
+    public String getName() {
+        return mName;
+    }
+    
+    public int getTransition() {
+        return mTransition;
+    }
+    
+    public int getTransitionStyle() {
+        return mTransitionStyle;
+    }
+}
+
+final class BackStackState implements Parcelable {
+    final int[] mAdded;
+    final int[] mRemoved;
+    final int mTransition;
+    final int mTransitionStyle;
+    final String mName;
+    
+    public BackStackState(FragmentManager fm, BackStackEntry bse) {
+        mAdded = buildFragmentStateList(fm, bse.mAdded);
+        mRemoved = buildFragmentStateList(fm, bse.mRemoved);
+        mTransition = bse.mTransition;
+        mTransitionStyle = bse.mTransitionStyle;
+        mName = bse.mName;
+    }
+    
+    public BackStackState(Parcel in) {
+        mAdded = in.createIntArray();
+        mRemoved = in.createIntArray();
+        mTransition = in.readInt();
+        mTransitionStyle = in.readInt();
+        mName = in.readString();
+    }
+    
+    public BackStackEntry instantiate(FragmentManager fm) {
+        BackStackEntry bse = new BackStackEntry(fm);
+        bse.mAdded = buildFragmentList(fm, mAdded);
+        bse.mRemoved = buildFragmentList(fm, mRemoved);
+        bse.mTransition = mTransition;
+        bse.mTransitionStyle = mTransitionStyle;
+        bse.mName = mName;
+        return bse;
+    }
+    
+    static int[] buildFragmentStateList(FragmentManager fm, ArrayList<Fragment> frags) {
+        if (frags == null) return null;
+        final int N = frags.size();
+        int[] ids = new int[N];
+        for (int i=0; i<N; i++) {
+            FragmentState fs = fm.saveFragment(frags.get(i));
+            ids[i] = fs.mSavedStateId;
+        }
+        return ids;
+    }
+    
+    static ArrayList<Fragment> buildFragmentList(FragmentManager fm, int[] states) {
+        if (states == null) return null;
+        final int N = states.length;
+        ArrayList<Fragment> frags = new ArrayList<Fragment>(N);
+        for (int i=0; i<N; i++) {
+            frags.add(fm.mRestoredFragments.get(states[i]).instantiate(fm.mActivity));
+        }
+        return frags;
+    }
+    
+    public int describeContents() {
+        return 0;
+    }
+
+    public void writeToParcel(Parcel dest, int flags) {
+        dest.writeIntArray(mAdded);
+        dest.writeIntArray(mRemoved);
+        dest.writeInt(mTransition);
+        dest.writeInt(mTransitionStyle);
+        dest.writeString(mName);
+    }
+    
+    public static final Parcelable.Creator<BackStackState> CREATOR
+            = new Parcelable.Creator<BackStackState>() {
+        public BackStackState createFromParcel(Parcel in) {
+            return new BackStackState(in);
+        }
+        
+        public BackStackState[] newArray(int size) {
+            return new BackStackState[size];
+        }
+    };
+}
+
+final class FragmentManagerState implements Parcelable {
+    FragmentState[] mFragments;
+    int[] mAdded;
+    BackStackState[] mBackStack;
+    
+    public FragmentManagerState() {
+    }
+    
+    public FragmentManagerState(Parcel in) {
+        mFragments = in.createTypedArray(FragmentState.CREATOR);
+        mAdded = in.createIntArray();
+        mBackStack = in.createTypedArray(BackStackState.CREATOR);
+    }
+    
+    public int describeContents() {
+        return 0;
+    }
+
+    public void writeToParcel(Parcel dest, int flags) {
+        dest.writeTypedArray(mFragments, flags);
+        dest.writeIntArray(mAdded);
+        dest.writeTypedArray(mBackStack, flags);
+    }
+    
+    public static final Parcelable.Creator<FragmentManagerState> CREATOR
+            = new Parcelable.Creator<FragmentManagerState>() {
+        public FragmentManagerState createFromParcel(Parcel in) {
+            return new FragmentManagerState(in);
+        }
+        
+        public FragmentManagerState[] newArray(int size) {
+            return new FragmentManagerState[size];
+        }
+    };
 }
 
 /**
@@ -38,11 +290,20 @@
  */
 public class FragmentManager {
     ArrayList<Fragment> mFragments;
-    ArrayList<BackStackState> mBackStack;
+    ArrayList<BackStackEntry> mBackStack;
     
     int mCurState = Fragment.INITIALIZING;
     Activity mActivity;
     
+    int mSaveStateSeq = 0;
+    
+    // Temporary vars for state save and restore.
+    int mCurSaveId = 0;
+    HashMap<Fragment, FragmentState> mSavedFragments;
+    SparseArray<FragmentState> mRestoredFragments;
+    Bundle mStateBundle = null;
+    SparseArray<Parcelable> mStateArray = null;
+    
     Animation loadAnimation(Fragment fragment, int transit, boolean enter,
             int transitionStyle) {
         Animation animObj = fragment.onCreateAnimation(transitionStyle, enter);
@@ -89,32 +350,60 @@
                         throw new SuperNotCalledException("Fragment " + f
                                 + " did not call through to super.onAttach()");
                     }
-                    f.mCalled = false;
-                    f.onCreate(null);
-                    if (!f.mCalled) {
-                        throw new SuperNotCalledException("Fragment " + f
-                                + " did not call through to super.onCreate()");
-                    }
                     
-                    ViewGroup container = null;
-                    if (f.mContainerId != 0) {
-                        container = (ViewGroup)mActivity.findViewById(f.mContainerId);
-                        if (container == null) {
-                            throw new IllegalArgumentException("New view found for id 0x"
-                                    + Integer.toHexString(f.mContainerId)
-                                    + " for fragment " + f);
+                    if (!f.mRetaining) {
+                        f.mCalled = false;
+                        f.onCreate(f.mSavedFragmentState);
+                        if (!f.mCalled) {
+                            throw new SuperNotCalledException("Fragment " + f
+                                    + " did not call through to super.onCreate()");
                         }
                     }
-                    f.mContainer = container;
-                    f.mView = f.onCreateView(mActivity.getLayoutInflater(), container);
-                    if (container != null && f.mView != null) {
-                        Animation anim = loadAnimation(f, transit, true, transitionStyle);
-                        if (anim != null) {
-                            f.mView.setAnimation(anim);
-                        }
-                        container.addView(f.mView);
+                    f.mRetaining = false;
+                    if (f.mFromLayout) {
+                        // For fragments that are part of the content view
+                        // layout, we need to instantiate the view immediately
+                        // and the inflater will take care of adding it.
+                        f.mView = f.onCreateView(mActivity.getLayoutInflater(),
+                                null, f.mSavedFragmentState);
                     }
-                    
+                case Fragment.CONTENT:
+                    if (newState > Fragment.CONTENT) {
+                        if (!f.mFromLayout) {
+                            ViewGroup container = null;
+                            if (f.mContainerId != 0) {
+                                container = (ViewGroup)mActivity.findViewById(f.mContainerId);
+                                if (container == null) {
+                                    throw new IllegalArgumentException("New view found for id 0x"
+                                            + Integer.toHexString(f.mContainerId)
+                                            + " for fragment " + f);
+                                }
+                            }
+                            f.mContainer = container;
+                            f.mView = f.onCreateView(mActivity.getLayoutInflater(),
+                                    container, f.mSavedFragmentState);
+                            if (f.mView != null) {
+                                f.mView.setSaveFromParentEnabled(false);
+                                if (container != null) {
+                                    Animation anim = loadAnimation(f, transit, true,
+                                            transitionStyle);
+                                    if (anim != null) {
+                                        f.mView.setAnimation(anim);
+                                    }
+                                    container.addView(f.mView);
+                                    f.restoreViewState();
+                                }
+                            }
+                        }
+                        
+                        f.mCalled = false;
+                        f.onReady(f.mSavedFragmentState);
+                        if (!f.mCalled) {
+                            throw new SuperNotCalledException("Fragment " + f
+                                    + " did not call through to super.onReady()");
+                        }
+                        f.mSavedFragmentState = null;
+                    }
                 case Fragment.CREATED:
                     if (newState > Fragment.CREATED) {
                         f.mCalled = false;
@@ -154,24 +443,39 @@
                                     + " did not call through to super.onStop()");
                         }
                     }
-                case Fragment.CREATED:
-                    if (newState < Fragment.CREATED) {
-                        if (f.mContainer != null) {
-                            Animation anim = loadAnimation(f, transit, false, transitionStyle);
-                            if (anim != null) {
-                                f.mView.setAnimation(anim);
+                case Fragment.CONTENT:
+                    if (newState < Fragment.CONTENT) {
+                        if (f.mView != null) {
+                            // Need to save the current view state if not
+                            // done already.
+                            if (!mActivity.isFinishing()) {
+                                saveFragmentViewState(f);
                             }
-                            f.mContainer.removeView(f.mView);
+                            if (f.mContainer != null) {
+                                if (mCurState > Fragment.INITIALIZING) {
+                                    Animation anim = loadAnimation(f, transit, false,
+                                            transitionStyle);
+                                    if (anim != null) {
+                                        f.mView.setAnimation(anim);
+                                    }
+                                }
+                                f.mContainer.removeView(f.mView);
+                            }
                         }
                         f.mContainer = null;
                         f.mView = null;
-                        
-                        f.mCalled = false;
-                        f.onDestroy();
-                        if (!f.mCalled) {
-                            throw new SuperNotCalledException("Fragment " + f
-                                    + " did not call through to super.onDestroy()");
+                    }
+                case Fragment.CREATED:
+                    if (newState < Fragment.CREATED) {
+                        if (!f.mRetaining) {
+                            f.mCalled = false;
+                            f.onDestroy();
+                            if (!f.mCalled) {
+                                throw new SuperNotCalledException("Fragment " + f
+                                        + " did not call through to super.onDestroy()");
+                            }
                         }
+                        
                         f.mCalled = false;
                         f.onDetach();
                         if (!f.mCalled) {
@@ -227,7 +531,7 @@
         if (mFragments != null) {
             for (int i=mFragments.size()-1; i>=0; i--) {
                 Fragment f = mFragments.get(i);
-                if (f.mContainerId == id) {
+                if (f.mFragmentId == id) {
                     return f;
                 }
             }
@@ -235,9 +539,21 @@
         return null;
     }
     
-    public void addBackStackState(BackStackState state) {
+    public Fragment findFragmentByTag(String tag) {
+        if (mFragments != null && tag != null) {
+            for (int i=mFragments.size()-1; i>=0; i--) {
+                Fragment f = mFragments.get(i);
+                if (tag.equals(f.mTag)) {
+                    return f;
+                }
+            }
+        }
+        return null;
+    }
+    
+    public void addBackStackState(BackStackEntry state) {
         if (mBackStack == null) {
-            mBackStack = new ArrayList<BackStackState>();
+            mBackStack = new ArrayList<BackStackEntry>();
         }
         mBackStack.add(state);
     }
@@ -251,7 +567,7 @@
             if (last < 0) {
                 return false;
             }
-            final BackStackState bss = mBackStack.remove(last);
+            final BackStackEntry bss = mBackStack.remove(last);
             handler.post(new Runnable() {
                 public void run() {
                     bss.popFromBackStack();
@@ -262,7 +578,7 @@
         } else {
             int index = mBackStack.size()-1;
             while (index >= 0) {
-                BackStackState bss = mBackStack.get(index);
+                BackStackEntry bss = mBackStack.get(index);
                 if (name.equals(bss.getName())) {
                     break;
                 }
@@ -270,7 +586,8 @@
             if (index < 0 || index == mBackStack.size()-1) {
                 return false;
             }
-            final ArrayList<BackStackState> states = new ArrayList<BackStackState>();
+            final ArrayList<BackStackEntry> states
+                    = new ArrayList<BackStackEntry>();
             for (int i=mBackStack.size()-1; i>index; i--) {
                 states.add(mBackStack.remove(i));
             }
@@ -286,12 +603,189 @@
         return true;
     }
     
+    ArrayList<Fragment> retainNonConfig() {
+        ArrayList<Fragment> fragments = null;
+        if (mFragments != null) {
+            for (int i=0; i<mFragments.size(); i++) {
+                Fragment f = mFragments.get(i);
+                if (f.mBackStackNesting <= 0 && f.mRetainInstance && f.mTag != null) {
+                    if (fragments == null) {
+                        fragments = new ArrayList<Fragment>();
+                    }
+                    fragments.add(f);
+                    f.mRetaining = true;
+                }
+            }
+        }
+        return fragments;
+    }
+    
+    void saveFragmentViewState(Fragment f) {
+        if (f.mSavedViewState != null) {
+            return;
+        }
+        if (mStateArray == null) {
+            mStateArray = new SparseArray<Parcelable>();
+        }
+        f.mView.saveHierarchyState(mStateArray);
+        if (mStateArray.size() > 0) {
+            f.mSavedViewState = mStateArray;
+            mStateArray = null;
+        }
+    }
+    
+    FragmentState saveFragment(Fragment f) {
+        if (mSavedFragments != null) {
+            FragmentState fs = mSavedFragments.get(f);
+            if (fs != null) {
+                return fs;
+            }
+        } else {
+            mSavedFragments = new HashMap<Fragment, FragmentState>();
+        }
+        
+        f.mSavedStateSeq = mSaveStateSeq;
+        f.mSavedStateId = ++mCurSaveId;
+        
+        FragmentState fs = new FragmentState(f);
+        mSavedFragments.put(f, fs);
+        
+        if (mStateBundle == null) {
+            mStateBundle = new Bundle();
+        }
+        f.onSaveInstanceState(mStateBundle);
+        if (!mStateBundle.isEmpty()) {
+            fs.mSavedFragmentState = mStateBundle;
+            mStateBundle = null;
+        }
+        
+        if (f.mView != null) {
+            saveFragmentViewState(f);
+            if (f.mSavedViewState != null) {
+                if (fs.mSavedFragmentState == null) {
+                    fs.mSavedFragmentState = new Bundle();
+                }
+                fs.mSavedFragmentState.putSparseParcelableArray(
+                        FragmentState.VIEW_STATE_TAG, f.mSavedViewState);
+            }
+        }
+        
+        return fs;
+    }
+    
+    Parcelable saveAllState() {
+        mSavedFragments = null;
+        mSaveStateSeq++;
+        
+        if (mFragments == null) {
+            return null;
+        }
+        
+        int[] added = null;
+        BackStackState[] backStack = null;
+        
+        // First collect all active fragments.
+        int N = mFragments.size();
+        if (N > 0) {
+            added = new int[N];
+            for (int i=0; i<N; i++) {
+                added[i] = saveFragment(mFragments.get(i)).mSavedStateId;
+            }
+        }
+        
+        // Now save back stack.
+        if (mBackStack != null) {
+            N = mBackStack.size();
+            if (N > 0) {
+                backStack = new BackStackState[N];
+                for (int i=0; i<N; i++) {
+                    backStack[i] = new BackStackState(this, mBackStack.get(i));
+                }
+            }
+        }
+        
+        if (mSavedFragments == null) {
+            return null;
+        }
+        N = mSavedFragments.size();
+        if (N <= 0) {
+            return null;
+        }
+        
+        FragmentManagerState fms = new FragmentManagerState();
+        fms.mFragments = new FragmentState[N];
+        int i = 0;
+        for (FragmentState fs : mSavedFragments.values()) {
+            fms.mFragments[i] = fs;
+            i++;
+        }
+        fms.mAdded = added;
+        fms.mBackStack = backStack;
+        return fms;
+    }
+    
+    void restoreAllState(Parcelable state, ArrayList<Fragment> nonConfig) {
+        // If there is no saved state at all, then there can not be
+        // any nonConfig fragments either, so that is that.
+        if (state == null) return;
+        FragmentManagerState fms = (FragmentManagerState)state;
+        if (fms.mFragments == null) return;
+        
+        // First build our lookup table of all known Fragment objects.
+        mRestoredFragments = new SparseArray<FragmentState>();
+        for (int i=0; i<fms.mFragments.length; i++) {
+            FragmentState fs = fms.mFragments[i];
+            mRestoredFragments.put(fs.mSavedStateId, fs);
+        }
+        
+        // Stick any non-config instances we are retaining directly
+        // into the lookup table, so we don't try to instantiate them again.
+        if (nonConfig != null) {
+            for (int i=0; i<nonConfig.size(); i++) {
+                Fragment f = nonConfig.get(i);
+                FragmentState fs = mRestoredFragments.get(f.mSavedStateId);
+                fs.mInstance = f;
+                f.mSavedViewState = null;
+                if (fs.mSavedFragmentState != null) {
+                    f.mSavedViewState = fs.mSavedFragmentState.getSparseParcelableArray(
+                            FragmentState.VIEW_STATE_TAG);
+                }
+                addFragment(f, false);
+            }
+        }
+        
+        // Now build our data structures from the saved state, instantiating
+        // the fragment objects as needed.
+        if (fms.mAdded != null) {
+            if (mFragments == null) {
+                mFragments = new ArrayList<Fragment>(fms.mAdded.length);
+            }
+            for (int i=0; i<fms.mAdded.length; i++) {
+                FragmentState fs = mRestoredFragments.get(fms.mAdded[i]);
+                Fragment f = fs.instantiate(mActivity);
+                // This will return null if this is a layout fragment,
+                // since the instance for such a fragment will be created
+                // later during layout inflation.
+                if (f != null) {
+                    mFragments.add(f);
+                }
+            }
+        }
+        if (fms.mBackStack != null) {
+            mBackStack = new ArrayList<BackStackEntry>(fms.mBackStack.length);
+            for (int i=0; i<fms.mBackStack.length; i++) {
+                BackStackEntry bse = fms.mBackStack[i].instantiate(this);
+                mBackStack.add(bse);
+            }
+        }
+    }
+    
     public void attachActivity(Activity activity) {
         if (mActivity != null) throw new IllegalStateException();
         mActivity = activity;
     }
     
-    public void dispatchCreate(Bundle state) {
+    public void dispatchCreate() {
         moveToState(Fragment.CREATED, false);
     }
     
diff --git a/core/java/android/app/FragmentTransaction.java b/core/java/android/app/FragmentTransaction.java
index 94d3b88..a28530fe 100644
--- a/core/java/android/app/FragmentTransaction.java
+++ b/core/java/android/app/FragmentTransaction.java
@@ -4,7 +4,7 @@
  * API for performing a set of Fragment operations.
  */
 public interface FragmentTransaction {
-    public FragmentTransaction add(Fragment fragment);
+    public FragmentTransaction add(Fragment fragment, String tag);
     public FragmentTransaction add(Fragment fragment, int containerViewId);
     public FragmentTransaction replace(Fragment fragment, int containerViewId);
     public FragmentTransaction remove(Fragment fragment);
diff --git a/core/java/android/app/Instrumentation.java b/core/java/android/app/Instrumentation.java
index 7ed7c49..cbb1c1a 100644
--- a/core/java/android/app/Instrumentation.java
+++ b/core/java/android/app/Instrumentation.java
@@ -997,8 +997,10 @@
             IllegalAccessException {
         Activity activity = (Activity)clazz.newInstance();
         ActivityThread aThread = null;
-        activity.attach(context, aThread, this, token, application, intent, info, title,
-                parent, id, lastNonConfigurationInstance, new Configuration());
+        activity.attach(context, aThread, this, token, application, intent,
+                info, title, parent, id,
+                (Activity.NonConfigurationInstances)lastNonConfigurationInstance,
+                new Configuration());
         return activity;
     }
 
@@ -1058,19 +1060,21 @@
     }
     
     public void callActivityOnDestroy(Activity activity) {
-      if (mWaitingActivities != null) {
-          synchronized (mSync) {
-              final int N = mWaitingActivities.size();
-              for (int i=0; i<N; i++) {
-                  final ActivityWaiter aw = mWaitingActivities.get(i);
-                  final Intent intent = aw.intent;
-                  if (intent.filterEquals(activity.getIntent())) {
-                      aw.activity = activity;
-                      mMessageQueue.addIdleHandler(new ActivityGoing(aw));
-                  }
-              }
-          }
-      }
+      // TODO: the following block causes intermittent hangs when using startActivity
+      // temporarily comment out until root cause is fixed (bug 2630683)
+//      if (mWaitingActivities != null) {
+//          synchronized (mSync) {
+//              final int N = mWaitingActivities.size();
+//              for (int i=0; i<N; i++) {
+//                  final ActivityWaiter aw = mWaitingActivities.get(i);
+//                  final Intent intent = aw.intent;
+//                  if (intent.filterEquals(activity.getIntent())) {
+//                      aw.activity = activity;
+//                      mMessageQueue.addIdleHandler(new ActivityGoing(aw));
+//                  }
+//              }
+//          }
+//      }
       
       activity.performDestroy();
       
diff --git a/core/java/android/app/LocalActivityManager.java b/core/java/android/app/LocalActivityManager.java
index a24fcae..be8f413 100644
--- a/core/java/android/app/LocalActivityManager.java
+++ b/core/java/android/app/LocalActivityManager.java
@@ -112,11 +112,16 @@
         
         if (r.curState == INITIALIZING) {
             // Get the lastNonConfigurationInstance for the activity
-            HashMap<String,Object> lastNonConfigurationInstances =
-                mParent.getLastNonConfigurationChildInstances();
-            Object instance = null;
+            HashMap<String, Object> lastNonConfigurationInstances =
+                    mParent.getLastNonConfigurationChildInstances();
+            Object instanceObj = null;
             if (lastNonConfigurationInstances != null) {
-                instance = lastNonConfigurationInstances.get(r.id);
+                instanceObj = lastNonConfigurationInstances.get(r.id);
+            }
+            Activity.NonConfigurationInstances instance = null;
+            if (instanceObj != null) {
+                instance = new Activity.NonConfigurationInstances();
+                instance.activity = instanceObj;
             }
             
             // We need to have always created the activity.
diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java
index ed548c5..2acc4a0 100644
--- a/core/java/android/content/Intent.java
+++ b/core/java/android/content/Intent.java
@@ -1866,7 +1866,7 @@
      * @hide
      */
     public static final String ACTION_REMOTE_INTENT =
-            "com.google.android.pushmessaging.intent.RECEIVE";
+            "com.google.android.c2dm.intent.RECEIVE";
 
     /**
      * Broadcast Action: hook for permforming cleanup after a system update.
diff --git a/core/java/android/database/AbstractCursor.java b/core/java/android/database/AbstractCursor.java
index 541f91a2..6170bae 100644
--- a/core/java/android/database/AbstractCursor.java
+++ b/core/java/android/database/AbstractCursor.java
@@ -104,22 +104,6 @@
     }
 
     /**
-     * @hide
-     * @deprecated
-     */
-    public boolean commitUpdates(Map<? extends Long,? extends Map<String,Object>> values) {
-        return false;
-    }
-
-    /**
-     * @hide
-     * @deprecated
-     */
-    public boolean deleteRow() {
-        return false;
-    }
-
-    /**
      * This function is called every time the cursor is successfully scrolled
      * to a new position, giving the subclass a chance to update any state it
      * may have. If it returns false the move function will also do so and the
@@ -315,137 +299,6 @@
         return getColumnNames()[columnIndex];
     }
 
-    /**
-     * @hide
-     * @deprecated
-     */
-    public boolean updateBlob(int columnIndex, byte[] value) {
-        return update(columnIndex, value);
-    }
-
-    /**
-     * @hide
-     * @deprecated
-     */
-    public boolean updateString(int columnIndex, String value) {
-        return update(columnIndex, value);
-    }
-
-    /**
-     * @hide
-     * @deprecated
-     */
-    public boolean updateShort(int columnIndex, short value) {
-        return update(columnIndex, Short.valueOf(value));
-    }
-
-    /**
-     * @hide
-     * @deprecated
-     */
-    public boolean updateInt(int columnIndex, int value) {
-        return update(columnIndex, Integer.valueOf(value));
-    }
-
-    /**
-     * @hide
-     * @deprecated
-     */
-    public boolean updateLong(int columnIndex, long value) {
-        return update(columnIndex, Long.valueOf(value));
-    }
-
-    /**
-     * @hide
-     * @deprecated
-     */
-    public boolean updateFloat(int columnIndex, float value) {
-        return update(columnIndex, Float.valueOf(value));
-    }
-
-    /**
-     * @hide
-     * @deprecated
-     */
-    public boolean updateDouble(int columnIndex, double value) {
-        return update(columnIndex, Double.valueOf(value));
-    }
-
-    /**
-     * @hide
-     * @deprecated
-     */
-    public boolean updateToNull(int columnIndex) {
-        return update(columnIndex, null);
-    }
-
-    /**
-     * @hide
-     * @deprecated
-     */
-    public boolean update(int columnIndex, Object obj) {
-        if (!supportsUpdates()) {
-            return false;
-        }
-
-        // Long.valueOf() returns null sometimes!
-//        Long rowid = Long.valueOf(getLong(mRowIdColumnIndex));
-        Long rowid = new Long(getLong(mRowIdColumnIndex));
-        if (rowid == null) {
-            throw new IllegalStateException("null rowid. mRowIdColumnIndex = " + mRowIdColumnIndex);
-        }
-
-        synchronized(mUpdatedRows) {
-            Map<String, Object> row = mUpdatedRows.get(rowid);
-            if (row == null) {
-                row = new HashMap<String, Object>();
-                mUpdatedRows.put(rowid, row);
-            }
-            row.put(getColumnNames()[columnIndex], obj);
-        }
-
-        return true;
-    }
-
-    /**
-     * Returns <code>true</code> if there are pending updates that have not yet been committed.
-     * 
-     * @return <code>true</code> if there are pending updates that have not yet been committed.
-     * @hide
-     * @deprecated
-     */
-    public boolean hasUpdates() {
-        synchronized(mUpdatedRows) {
-            return mUpdatedRows.size() > 0;
-        }
-    }
-
-    /**
-     * @hide
-     * @deprecated
-     */
-    public void abortUpdates() {
-        synchronized(mUpdatedRows) {
-            mUpdatedRows.clear();
-        }
-    }
-
-    /**
-     * @hide
-     * @deprecated
-     */
-    public boolean commitUpdates() {
-        return commitUpdates(null);
-    }
-
-    /**
-     * @hide
-     * @deprecated
-     */
-    public boolean supportsUpdates() {
-        return mRowIdColumnIndex != -1;
-    }
-
     public void registerContentObserver(ContentObserver observer) {
         mContentObservable.registerObserver(observer);
     }
diff --git a/core/java/android/database/BulkCursorNative.java b/core/java/android/database/BulkCursorNative.java
index baa94d8..fa62d69 100644
--- a/core/java/android/database/BulkCursorNative.java
+++ b/core/java/android/database/BulkCursorNative.java
@@ -17,13 +17,10 @@
 package android.database;
 
 import android.os.Binder;
-import android.os.RemoteException;
+import android.os.Bundle;
 import android.os.IBinder;
 import android.os.Parcel;
-import android.os.Bundle;
-
-import java.util.HashMap;
-import java.util.Map;
+import android.os.RemoteException;
 
 /**
  * Native implementation of the bulk cursor. This is only for use in implementing
@@ -120,26 +117,6 @@
                     return true;
                 }
 
-                case UPDATE_ROWS_TRANSACTION: {
-                    data.enforceInterface(IBulkCursor.descriptor);
-                    // TODO - what ClassLoader should be passed to readHashMap?
-                    // TODO - switch to Bundle
-                    HashMap<Long, Map<String, Object>> values = data.readHashMap(null);
-                    boolean result = updateRows(values);
-                    reply.writeNoException();
-                    reply.writeInt((result == true ? 1 : 0));
-                    return true;
-                }
-
-                case DELETE_ROW_TRANSACTION: {
-                    data.enforceInterface(IBulkCursor.descriptor);
-                    int position = data.readInt();
-                    boolean result = deleteRow(position);
-                    reply.writeNoException();
-                    reply.writeInt((result == true ? 1 : 0));
-                    return true;
-                }
-
                 case ON_MOVE_TRANSACTION: {
                     data.enforceInterface(IBulkCursor.descriptor);
                     int position = data.readInt();
@@ -343,48 +320,6 @@
         return count;
     }
 
-    public boolean updateRows(Map values) throws RemoteException
-    {
-        Parcel data = Parcel.obtain();
-        Parcel reply = Parcel.obtain();
-
-        data.writeInterfaceToken(IBulkCursor.descriptor);
-
-        data.writeMap(values);
-
-        mRemote.transact(UPDATE_ROWS_TRANSACTION, data, reply, 0);
-
-        DatabaseUtils.readExceptionFromParcel(reply);
-        
-        boolean result = (reply.readInt() == 1 ? true : false);
-
-        data.recycle();
-        reply.recycle();
-
-        return result;
-    }
-
-    public boolean deleteRow(int position) throws RemoteException
-    {
-        Parcel data = Parcel.obtain();
-        Parcel reply = Parcel.obtain();
-
-        data.writeInterfaceToken(IBulkCursor.descriptor);
-
-        data.writeInt(position);
-
-        mRemote.transact(DELETE_ROW_TRANSACTION, data, reply, 0);
-
-        DatabaseUtils.readExceptionFromParcel(reply);
-        
-        boolean result = (reply.readInt() == 1 ? true : false);
-
-        data.recycle();
-        reply.recycle();
-
-        return result;
-    }
-
     public boolean getWantsAllOnMoveCalls() throws RemoteException {
         Parcel data = Parcel.obtain();
         Parcel reply = Parcel.obtain();
diff --git a/core/java/android/database/BulkCursorToCursorAdaptor.java b/core/java/android/database/BulkCursorToCursorAdaptor.java
index 1469ea2..2cb2aec 100644
--- a/core/java/android/database/BulkCursorToCursorAdaptor.java
+++ b/core/java/android/database/BulkCursorToCursorAdaptor.java
@@ -16,12 +16,10 @@
 
 package android.database;
 
-import android.os.RemoteException;
 import android.os.Bundle;
+import android.os.RemoteException;
 import android.util.Log;
 
-import java.util.Map;
-
 /**
  * Adapts an {@link IBulkCursor} to a {@link Cursor} for use in the local
  * process.
@@ -174,38 +172,6 @@
         }
     }
 
-    /**
-     * @hide
-     * @deprecated
-     */
-    @Override
-    public boolean deleteRow() {
-        try {
-            boolean result = mBulkCursor.deleteRow(mPos);
-            if (result != false) {
-                // The window contains the old value, discard it
-                mWindow = null;
-    
-                // Fix up the position
-                mCount = mBulkCursor.count();
-                if (mPos < mCount) {
-                    int oldPos = mPos;
-                    mPos = -1;
-                    moveToPosition(oldPos);
-                } else {
-                    mPos = mCount;
-                }
-
-                // Send the change notification
-                onChange(true);
-            }
-            return result;
-        } catch (RemoteException ex) {
-            Log.e(TAG, "Unable to delete row because the remote process is dead");
-            return false;
-        }
-    }
-
     @Override
     public String[] getColumnNames() {
         if (mColumns == null) {
@@ -219,44 +185,6 @@
         return mColumns;
     }
 
-    /**
-     * @hide
-     * @deprecated
-     */
-    @Override
-    public boolean commitUpdates(Map<? extends Long,
-            ? extends Map<String,Object>> additionalValues) {
-        if (!supportsUpdates()) {
-            Log.e(TAG, "commitUpdates not supported on this cursor, did you include the _id column?");
-            return false;
-        }
-
-        synchronized(mUpdatedRows) {
-            if (additionalValues != null) {
-                mUpdatedRows.putAll(additionalValues);
-            }
-
-            if (mUpdatedRows.size() <= 0) {
-                return false;
-            }
-
-            try {
-                boolean result = mBulkCursor.updateRows(mUpdatedRows);
-    
-                if (result == true) {
-                    mUpdatedRows.clear();
-
-                    // Send the change notification
-                    onChange(true);
-                }
-                return result;
-            } catch (RemoteException ex) {
-                Log.e(TAG, "Unable to commit updates because the remote process is dead");
-                return false;
-            }
-        }
-    }
-
     @Override
     public Bundle getExtras() {
         try {
diff --git a/core/java/android/database/Cursor.java b/core/java/android/database/Cursor.java
index dc4471e..fee658a 100644
--- a/core/java/android/database/Cursor.java
+++ b/core/java/android/database/Cursor.java
@@ -25,6 +25,9 @@
 /**
  * This interface provides random read-write access to the result set returned
  * by a database query.
+ *
+ * Cursor implementations are not required to be synchronized so code using a Cursor from multiple
+ * threads should perform its own synchronization when using the Cursor.
  */
 public interface Cursor {
     /**
@@ -143,22 +146,6 @@
     boolean isAfterLast();
 
     /**
-     * Removes the row at the current cursor position from the underlying data
-     * store. After this method returns the cursor will be pointing to the row
-     * after the row that is deleted. This has the side effect of decrementing
-     * the result of count() by one.
-     * <p>
-     * The query must have the row ID column in its selection, otherwise this
-     * call will fail.
-     * 
-     * @hide
-     * @return whether the record was successfully deleted.
-     * @deprecated use {@link ContentResolver#delete(Uri, String, String[])}
-     */
-    @Deprecated
-    boolean deleteRow();
-
-    /**
      * Returns the zero-based index for the given column name, or -1 if the column doesn't exist.
      * If you expect the column to exist use {@link #getColumnIndexOrThrow(String)} instead, which
      * will make the error more clear.
@@ -300,188 +287,6 @@
     boolean isNull(int columnIndex);
 
     /**
-     * Returns <code>true</code> if the cursor supports updates.
-     *
-     * @return whether the cursor supports updates.
-     * @hide
-     * @deprecated use the {@link ContentResolver} update methods instead of the Cursor
-     * update methods
-     */
-    @Deprecated
-    boolean supportsUpdates();
-
-    /**
-     * Returns <code>true</code> if there are pending updates that have not yet been committed.
-     * 
-     * @return <code>true</code> if there are pending updates that have not yet been committed.
-     * @hide
-     * @deprecated use the {@link ContentResolver} update methods instead of the Cursor
-     * update methods
-     */
-    @Deprecated
-    boolean hasUpdates();
-
-    /**
-     * Updates the value for the given column in the row the cursor is
-     * currently pointing at. Updates are not committed to the backing store
-     * until {@link #commitUpdates()} is called.
-     *
-     * @param columnIndex the zero-based index of the target column.
-     * @param value the new value.
-     * @return whether the operation succeeded.
-     * @hide
-     * @deprecated use the {@link ContentResolver} update methods instead of the Cursor
-     * update methods
-     */
-    @Deprecated
-    boolean updateBlob(int columnIndex, byte[] value);
-
-    /**
-     * Updates the value for the given column in the row the cursor is
-     * currently pointing at. Updates are not committed to the backing store
-     * until {@link #commitUpdates()} is called.
-     *
-     * @param columnIndex the zero-based index of the target column.
-     * @param value the new value.
-     * @return whether the operation succeeded.
-     * @hide
-     * @deprecated use the {@link ContentResolver} update methods instead of the Cursor
-     * update methods
-     */
-    @Deprecated
-    boolean updateString(int columnIndex, String value);
-
-    /**
-     * Updates the value for the given column in the row the cursor is
-     * currently pointing at. Updates are not committed to the backing store
-     * until {@link #commitUpdates()} is called.
-     *
-     * @param columnIndex the zero-based index of the target column.
-     * @param value the new value.
-     * @return whether the operation succeeded.
-     * @hide
-     * @deprecated use the {@link ContentResolver} update methods instead of the Cursor
-     * update methods
-     */
-    @Deprecated
-    boolean updateShort(int columnIndex, short value);
-
-    /**
-     * Updates the value for the given column in the row the cursor is
-     * currently pointing at. Updates are not committed to the backing store
-     * until {@link #commitUpdates()} is called.
-     *
-     * @param columnIndex the zero-based index of the target column.
-     * @param value the new value.
-     * @return whether the operation succeeded.
-     * @hide
-     * @deprecated use the {@link ContentResolver} update methods instead of the Cursor
-     * update methods
-     */
-    @Deprecated
-    boolean updateInt(int columnIndex, int value);
-
-    /**
-     * Updates the value for the given column in the row the cursor is
-     * currently pointing at. Updates are not committed to the backing store
-     * until {@link #commitUpdates()} is called.
-     *
-     * @param columnIndex the zero-based index of the target column.
-     * @param value the new value.
-     * @return whether the operation succeeded.
-     * @hide
-     * @deprecated use the {@link ContentResolver} update methods instead of the Cursor
-     * update methods
-     */
-    @Deprecated
-    boolean updateLong(int columnIndex, long value);
-
-    /**
-     * Updates the value for the given column in the row the cursor is
-     * currently pointing at. Updates are not committed to the backing store
-     * until {@link #commitUpdates()} is called.
-     *
-     * @param columnIndex the zero-based index of the target column.
-     * @param value the new value.
-     * @return whether the operation succeeded.
-     * @hide
-     * @deprecated use the {@link ContentResolver} update methods instead of the Cursor
-     * update methods
-     */
-    @Deprecated
-    boolean updateFloat(int columnIndex, float value);
-
-    /**
-     * Updates the value for the given column in the row the cursor is
-     * currently pointing at. Updates are not committed to the backing store
-     * until {@link #commitUpdates()} is called.
-     *
-     * @param columnIndex the zero-based index of the target column.
-     * @param value the new value.
-     * @return whether the operation succeeded.
-     * @hide
-     * @deprecated use the {@link ContentResolver} update methods instead of the Cursor
-     * update methods
-     */
-    @Deprecated
-    boolean updateDouble(int columnIndex, double value);
-
-    /**
-     * Removes the value for the given column in the row the cursor is
-     * currently pointing at. Updates are not committed to the backing store
-     * until {@link #commitUpdates()} is called.
-     *
-     * @param columnIndex the zero-based index of the target column.
-     * @return whether the operation succeeded.
-     * @hide
-     * @deprecated use the {@link ContentResolver} update methods instead of the Cursor
-     * update methods
-     */
-    @Deprecated
-    boolean updateToNull(int columnIndex);
-
-    /**
-     * Atomically commits all updates to the backing store. After completion,
-     * this method leaves the data in an inconsistent state and you should call
-     * {@link #requery} before reading data from the cursor again.
-     *
-     * @return whether the operation succeeded.
-     * @hide
-     * @deprecated use the {@link ContentResolver} update methods instead of the Cursor
-     * update methods
-     */
-    @Deprecated
-    boolean commitUpdates();
-
-    /**
-     * Atomically commits all updates to the backing store, as well as the
-     * updates included in values. After completion,
-     * this method leaves the data in an inconsistent state and you should call
-     * {@link #requery} before reading data from the cursor again.
-     *
-     * @param values A map from row IDs to Maps associating column names with
-     *               updated values. A null value indicates the field should be
-                     removed.
-     * @return whether the operation succeeded.
-     * @hide
-     * @deprecated use the {@link ContentResolver} update methods instead of the Cursor
-     * update methods
-     */
-    @Deprecated
-    boolean commitUpdates(Map<? extends Long,
-            ? extends Map<String,Object>> values);
-
-    /**
-     * Reverts all updates made to the cursor since the last call to
-     * commitUpdates.
-     * @hide
-     * @deprecated use the {@link ContentResolver} update methods instead of the Cursor
-     * update methods
-     */
-    @Deprecated
-    void abortUpdates();
-
-    /**
      * Deactivates the Cursor, making all calls on it fail until {@link #requery} is called.
      * Inactive Cursors use fewer resources than active Cursors.
      * Calling {@link #requery} will make the cursor active again.
diff --git a/core/java/android/database/CursorToBulkCursorAdaptor.java b/core/java/android/database/CursorToBulkCursorAdaptor.java
index 748eb99..8bc7de2 100644
--- a/core/java/android/database/CursorToBulkCursorAdaptor.java
+++ b/core/java/android/database/CursorToBulkCursorAdaptor.java
@@ -16,16 +16,12 @@
 
 package android.database;
 
-import android.database.sqlite.SQLiteMisuseException;
-import android.os.Binder;
 import android.os.Bundle;
 import android.os.IBinder;
 import android.os.RemoteException;
 import android.util.Config;
 import android.util.Log;
 
-import java.util.Map;
-
 
 /**
  * Wraps a BulkCursor around an existing Cursor making it remotable.
@@ -38,7 +34,6 @@
     private final CrossProcessCursor mCursor;
     private CursorWindow mWindow;
     private final String mProviderName;
-    private final boolean mReadOnly;
     private ContentObserverProxy mObserver;
 
     private static final class ContentObserverProxy extends ContentObserver 
@@ -98,7 +93,6 @@
                     "Only CrossProcessCursor cursors are supported across process for now", e);
         }
         mProviderName = providerName;
-        mReadOnly = !allowWrite;
 
         createAndRegisterObserverProxy(observer);
     }
@@ -197,31 +191,6 @@
         }
     }
 
-    public boolean updateRows(Map<? extends Long, ? extends Map<String, Object>> values) {
-        if (mReadOnly) {
-            Log.w("ContentProvider", "Permission Denial: modifying "
-                    + mProviderName
-                    + " from pid=" + Binder.getCallingPid()
-                    + ", uid=" + Binder.getCallingUid());
-            return false;
-        }
-        return mCursor.commitUpdates(values);
-    }
-
-    public boolean deleteRow(int position) {
-        if (mReadOnly) {
-            Log.w("ContentProvider", "Permission Denial: modifying "
-                    + mProviderName
-                    + " from pid=" + Binder.getCallingPid()
-                    + ", uid=" + Binder.getCallingUid());
-            return false;
-        }
-        if (mCursor.moveToPosition(position) == false) {
-            return false;
-        }
-        return mCursor.deleteRow();
-    }
-
     public Bundle getExtras() {
         return mCursor.getExtras();
     }
diff --git a/core/java/android/database/CursorWrapper.java b/core/java/android/database/CursorWrapper.java
index f0aa7d7..633b2b3 100644
--- a/core/java/android/database/CursorWrapper.java
+++ b/core/java/android/database/CursorWrapper.java
@@ -32,14 +32,6 @@
     public CursorWrapper(Cursor cursor) {
         mCursor = cursor;
     }
-    
-    /**
-     * @hide
-     * @deprecated
-     */
-    public void abortUpdates() {
-        mCursor.abortUpdates();
-    }
 
     public void close() {
         mCursor.close(); 
@@ -49,23 +41,6 @@
         return mCursor.isClosed();
     }
 
-    /**
-     * @hide
-     * @deprecated
-     */
-    public boolean commitUpdates() {
-        return mCursor.commitUpdates();
-    }
-
-    /**
-     * @hide
-     * @deprecated
-     */
-    public boolean commitUpdates(
-            Map<? extends Long, ? extends Map<String, Object>> values) {
-        return mCursor.commitUpdates(values);
-    }
-
     public int getCount() {
         return mCursor.getCount();
     }
@@ -74,14 +49,6 @@
         mCursor.deactivate();
     }
 
-    /**
-     * @hide
-     * @deprecated
-     */
-    public boolean deleteRow() {
-        return mCursor.deleteRow();
-    }
-
     public boolean moveToFirst() {
         return mCursor.moveToFirst();
     }
@@ -147,14 +114,6 @@
         return mCursor.getWantsAllOnMoveCalls();
     }
 
-    /**
-     * @hide
-     * @deprecated
-     */
-    public boolean hasUpdates() {
-        return mCursor.hasUpdates();
-    }
-
     public boolean isAfterLast() {
         return mCursor.isAfterLast();
     }
@@ -219,14 +178,6 @@
         mCursor.setNotificationUri(cr, uri);        
     }
 
-    /**
-     * @hide
-     * @deprecated
-     */
-    public boolean supportsUpdates() {
-        return mCursor.supportsUpdates();
-    }
-
     public void unregisterContentObserver(ContentObserver observer) {
         mCursor.unregisterContentObserver(observer);        
     }
@@ -235,71 +186,6 @@
         mCursor.unregisterDataSetObserver(observer);
     }
 
-    /**
-     * @hide
-     * @deprecated
-     */
-    public boolean updateDouble(int columnIndex, double value) {
-        return mCursor.updateDouble(columnIndex, value);
-    }
-
-    /**
-     * @hide
-     * @deprecated
-     */
-    public boolean updateFloat(int columnIndex, float value) {
-        return mCursor.updateFloat(columnIndex, value);
-    }
-
-    /**
-     * @hide
-     * @deprecated
-     */
-    public boolean updateInt(int columnIndex, int value) {
-        return mCursor.updateInt(columnIndex, value);
-    }
-
-    /**
-     * @hide
-     * @deprecated
-     */
-    public boolean updateLong(int columnIndex, long value) {
-        return mCursor.updateLong(columnIndex, value);
-    }
-
-    /**
-     * @hide
-     * @deprecated
-     */
-    public boolean updateShort(int columnIndex, short value) {
-        return mCursor.updateShort(columnIndex, value);
-    }
-
-    /**
-     * @hide
-     * @deprecated
-     */
-    public boolean updateString(int columnIndex, String value) {
-        return mCursor.updateString(columnIndex, value);
-    }
-
-    /**
-     * @hide
-     * @deprecated
-     */
-    public boolean updateBlob(int columnIndex, byte[] value) {
-        return mCursor.updateBlob(columnIndex, value);
-    }
-
-    /**
-     * @hide
-     * @deprecated
-     */
-    public boolean updateToNull(int columnIndex) {
-        return mCursor.updateToNull(columnIndex);
-    }
-    
-    private Cursor mCursor;
-    
+    private Cursor mCursor;    
 }
 
diff --git a/core/java/android/database/IBulkCursor.java b/core/java/android/database/IBulkCursor.java
index 46790a3..244c88f 100644
--- a/core/java/android/database/IBulkCursor.java
+++ b/core/java/android/database/IBulkCursor.java
@@ -16,16 +16,14 @@
 
 package android.database;
 
-import android.os.RemoteException;
+import android.os.Bundle;
 import android.os.IBinder;
 import android.os.IInterface;
-import android.os.Bundle;
-
-import java.util.Map;
+import android.os.RemoteException;
 
 /**
  * This interface provides a low-level way to pass bulk cursor data across
- * both process and language boundries. Application code should use the Cursor
+ * both process and language boundaries. Application code should use the Cursor
  * interface directly.
  *
  * {@hide}
@@ -54,10 +52,6 @@
      */
     public String[] getColumnNames() throws RemoteException;
 
-    public boolean updateRows(Map<? extends Long, ? extends Map<String, Object>> values) throws RemoteException;
-
-    public boolean deleteRow(int position) throws RemoteException;
-
     public void deactivate() throws RemoteException;
 
     public void close() throws RemoteException;
@@ -76,8 +70,6 @@
     static final int GET_CURSOR_WINDOW_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION;
     static final int COUNT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 1;
     static final int GET_COLUMN_NAMES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 2;
-    static final int UPDATE_ROWS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 3;
-    static final int DELETE_ROW_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 4;
     static final int DEACTIVATE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 5;
     static final int REQUERY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 6;
     static final int ON_MOVE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION + 7;
diff --git a/core/java/android/database/MergeCursor.java b/core/java/android/database/MergeCursor.java
index 722d707..cb6d7ac 100644
--- a/core/java/android/database/MergeCursor.java
+++ b/core/java/android/database/MergeCursor.java
@@ -92,32 +92,6 @@
         return false;
     }
 
-    /**
-     * @hide
-     * @deprecated
-     */
-    @Override
-    public boolean deleteRow()
-    {
-        return mCursor.deleteRow();
-    }
-    
-    /**
-     * @hide
-     * @deprecated
-     */
-    @Override
-    public boolean commitUpdates() {
-        int length = mCursors.length;
-        for (int i = 0 ; i < length ; i++) {
-            if (mCursors[i] != null) {
-                mCursors[i].commitUpdates();
-            }
-        }
-        onChange(true);
-        return true;
-    }
-
     @Override
     public String getString(int column)
     {
diff --git a/core/java/android/database/sqlite/SQLiteCursor.java b/core/java/android/database/sqlite/SQLiteCursor.java
index fea3438..eecd01e 100644
--- a/core/java/android/database/sqlite/SQLiteCursor.java
+++ b/core/java/android/database/sqlite/SQLiteCursor.java
@@ -21,23 +21,23 @@
 import android.database.CursorWindow;
 import android.database.DataSetObserver;
 import android.database.RequeryOnUiThreadException;
-import android.database.SQLException;
 import android.os.Handler;
 import android.os.Looper;
 import android.os.Message;
 import android.os.Process;
-import android.text.TextUtils;
 import android.util.Config;
 import android.util.Log;
 
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.Map;
 import java.util.concurrent.locks.ReentrantLock;
 
 /**
  * A Cursor implementation that exposes results from a query on a
  * {@link SQLiteDatabase}.
+ *
+ * SQLiteCursor is not internally synchronized so code using a SQLiteCursor from multiple
+ * threads should perform its own synchronization when using the SQLiteCursor.
  */
 public class SQLiteCursor extends AbstractWindowedCursor {
     static final String TAG = "Cursor";
@@ -325,166 +325,11 @@
         }
     }
 
-    /**
-     * @hide
-     * @deprecated
-     */
-    @Override
-    public boolean deleteRow() {
-        checkPosition();
-
-        // Only allow deletes if there is an ID column, and the ID has been read from it
-        if (mRowIdColumnIndex == -1 || mCurrentRowID == null) {
-            Log.e(TAG,
-                    "Could not delete row because either the row ID column is not available or it" +
-                    "has not been read.");
-            return false;
-        }
-
-        boolean success;
-
-        /*
-         * Ensure we don't change the state of the database when another
-         * thread is holding the database lock. requery() and moveTo() are also
-         * synchronized here to make sure they get the state of the database
-         * immediately following the DELETE.
-         */
-        mDatabase.lock();
-        try {
-            try {
-                mDatabase.delete(mEditTable, mColumns[mRowIdColumnIndex] + "=?",
-                        new String[] {mCurrentRowID.toString()});
-                success = true;
-            } catch (SQLException e) {
-                success = false;
-            }
-
-            int pos = mPos;
-            requery();
-
-            /*
-             * Ensure proper cursor state. Note that mCurrentRowID changes
-             * in this call.
-             */
-            moveToPosition(pos);
-        } finally {
-            mDatabase.unlock();
-        }
-
-        if (success) {
-            onChange(true);
-            return true;
-        } else {
-            return false;
-        }
-    }
-
     @Override
     public String[] getColumnNames() {
         return mColumns;
     }
 
-    /**
-     * @hide
-     * @deprecated
-     */
-    @Override
-    public boolean supportsUpdates() {
-        return super.supportsUpdates() && !TextUtils.isEmpty(mEditTable);
-    }
-
-    /**
-     * @hide
-     * @deprecated
-     */
-    @Override
-    public boolean commitUpdates(Map<? extends Long,
-            ? extends Map<String, Object>> additionalValues) {
-        if (!supportsUpdates()) {
-            Log.e(TAG, "commitUpdates not supported on this cursor, did you "
-                    + "include the _id column?");
-            return false;
-        }
-
-        /*
-         * Prevent other threads from changing the updated rows while they're
-         * being processed here.
-         */
-        synchronized (mUpdatedRows) {
-            if (additionalValues != null) {
-                mUpdatedRows.putAll(additionalValues);
-            }
-
-            if (mUpdatedRows.size() == 0) {
-                return true;
-            }
-
-            /*
-             * Prevent other threads from changing the database state while
-             * we process the updated rows, and prevents us from changing the
-             * database behind the back of another thread.
-             */
-            mDatabase.beginTransaction();
-            try {
-                StringBuilder sql = new StringBuilder(128);
-
-                // For each row that has been updated
-                for (Map.Entry<Long, Map<String, Object>> rowEntry :
-                        mUpdatedRows.entrySet()) {
-                    Map<String, Object> values = rowEntry.getValue();
-                    Long rowIdObj = rowEntry.getKey();
-
-                    if (rowIdObj == null || values == null) {
-                        throw new IllegalStateException("null rowId or values found! rowId = "
-                                + rowIdObj + ", values = " + values);
-                    }
-
-                    if (values.size() == 0) {
-                        continue;
-                    }
-
-                    long rowId = rowIdObj.longValue();
-
-                    Iterator<Map.Entry<String, Object>> valuesIter =
-                            values.entrySet().iterator();
-
-                    sql.setLength(0);
-                    sql.append("UPDATE " + mEditTable + " SET ");
-
-                    // For each column value that has been updated
-                    Object[] bindings = new Object[values.size()];
-                    int i = 0;
-                    while (valuesIter.hasNext()) {
-                        Map.Entry<String, Object> entry = valuesIter.next();
-                        sql.append(entry.getKey());
-                        sql.append("=?");
-                        bindings[i] = entry.getValue();
-                        if (valuesIter.hasNext()) {
-                            sql.append(", ");
-                        }
-                        i++;
-                    }
-
-                    sql.append(" WHERE " + mColumns[mRowIdColumnIndex]
-                            + '=' + rowId);
-                    sql.append(';');
-                    mDatabase.execSQL(sql.toString(), bindings);
-                    mDatabase.rowUpdated(mEditTable, rowId);
-                }
-                mDatabase.setTransactionSuccessful();
-            } finally {
-                mDatabase.endTransaction();
-            }
-
-            mUpdatedRows.clear();
-        }
-
-        // Let any change observers know about the update
-        onChange(true);
-
-        return true;
-    }
-
     private void deactivateCommon() {
         if (Config.LOGV) Log.v(TAG, "<<< Releasing cursor " + this);
         mCursorState = 0;
diff --git a/core/java/android/database/sqlite/SQLiteDatabase.java b/core/java/android/database/sqlite/SQLiteDatabase.java
index e64e2c3..47de286 100644
--- a/core/java/android/database/sqlite/SQLiteDatabase.java
+++ b/core/java/android/database/sqlite/SQLiteDatabase.java
@@ -1180,7 +1180,8 @@
      *
      * @param sql The raw SQL statement, may contain ? for unknown values to be
      *            bound later.
-     * @return a pre-compiled statement object.
+     * @return A pre-compiled {@link SQLiteStatement} object. Note that
+     * {@link SQLiteStatement}s are not synchronized, see the documentation for more details.
      */
     public SQLiteStatement compileStatement(String sql) throws SQLException {
         lock();
@@ -1221,7 +1222,8 @@
      *            default sort order, which may be unordered.
      * @param limit Limits the number of rows returned by the query,
      *            formatted as LIMIT clause. Passing null denotes no LIMIT clause.
-     * @return A Cursor object, which is positioned before the first entry
+     * @return A {@link Cursor} object, which is positioned before the first entry. Note that
+     * {@link Cursor}s are not synchronized, see the documentation for more details.
      * @see Cursor
      */
     public Cursor query(boolean distinct, String table, String[] columns,
@@ -1259,7 +1261,8 @@
      *            default sort order, which may be unordered.
      * @param limit Limits the number of rows returned by the query,
      *            formatted as LIMIT clause. Passing null denotes no LIMIT clause.
-     * @return A Cursor object, which is positioned before the first entry
+     * @return A {@link Cursor} object, which is positioned before the first entry. Note that
+     * {@link Cursor}s are not synchronized, see the documentation for more details.
      * @see Cursor
      */
     public Cursor queryWithFactory(CursorFactory cursorFactory,
@@ -1300,7 +1303,8 @@
      * @param orderBy How to order the rows, formatted as an SQL ORDER BY clause
      *            (excluding the ORDER BY itself). Passing null will use the
      *            default sort order, which may be unordered.
-     * @return A {@link Cursor} object, which is positioned before the first entry
+     * @return A {@link Cursor} object, which is positioned before the first entry. Note that
+     * {@link Cursor}s are not synchronized, see the documentation for more details.
      * @see Cursor
      */
     public Cursor query(String table, String[] columns, String selection,
@@ -1337,7 +1341,8 @@
      *            default sort order, which may be unordered.
      * @param limit Limits the number of rows returned by the query,
      *            formatted as LIMIT clause. Passing null denotes no LIMIT clause.
-     * @return A {@link Cursor} object, which is positioned before the first entry
+     * @return A {@link Cursor} object, which is positioned before the first entry. Note that
+     * {@link Cursor}s are not synchronized, see the documentation for more details.
      * @see Cursor
      */
     public Cursor query(String table, String[] columns, String selection,
@@ -1355,7 +1360,8 @@
      * @param selectionArgs You may include ?s in where clause in the query,
      *     which will be replaced by the values from selectionArgs. The
      *     values will be bound as Strings.
-     * @return A {@link Cursor} object, which is positioned before the first entry
+     * @return A {@link Cursor} object, which is positioned before the first entry. Note that
+     * {@link Cursor}s are not synchronized, see the documentation for more details.
      */
     public Cursor rawQuery(String sql, String[] selectionArgs) {
         return rawQueryWithFactory(null, sql, selectionArgs, null);
@@ -1370,7 +1376,8 @@
      *     which will be replaced by the values from selectionArgs. The
      *     values will be bound as Strings.
      * @param editTable the name of the first table, which is editable
-     * @return A {@link Cursor} object, which is positioned before the first entry
+     * @return A {@link Cursor} object, which is positioned before the first entry. Note that
+     * {@link Cursor}s are not synchronized, see the documentation for more details.
      */
     public Cursor rawQueryWithFactory(
             CursorFactory cursorFactory, String sql, String[] selectionArgs,
@@ -1425,7 +1432,8 @@
      *     values will be bound as Strings.
      * @param initialRead set the initial count of items to read from the cursor
      * @param maxRead set the count of items to read on each iteration after the first
-     * @return A {@link Cursor} object, which is positioned before the first entry
+     * @return A {@link Cursor} object, which is positioned before the first entry. Note that
+     * {@link Cursor}s are not synchronized, see the documentation for more details.
      *
      * This work is incomplete and not fully tested or reviewed, so currently
      * hidden.
diff --git a/core/java/android/database/sqlite/SQLiteProgram.java b/core/java/android/database/sqlite/SQLiteProgram.java
index a9c1ac6..c37385c0 100644
--- a/core/java/android/database/sqlite/SQLiteProgram.java
+++ b/core/java/android/database/sqlite/SQLiteProgram.java
@@ -20,6 +20,9 @@
 
 /**
  * A base class for compiled SQLite programs.
+ *
+ * SQLiteProgram is not internally synchronized so code using a SQLiteProgram from multiple
+ * threads should perform its own synchronization when using the SQLiteProgram.
  */
 public abstract class SQLiteProgram extends SQLiteClosable {
 
diff --git a/core/java/android/database/sqlite/SQLiteQuery.java b/core/java/android/database/sqlite/SQLiteQuery.java
index 43d2fac..905b66b 100644
--- a/core/java/android/database/sqlite/SQLiteQuery.java
+++ b/core/java/android/database/sqlite/SQLiteQuery.java
@@ -23,6 +23,9 @@
 /**
  * A SQLite program that represents a query that reads the resulting rows into a CursorWindow.
  * This class is used by SQLiteCursor and isn't useful itself.
+ *
+ * SQLiteQuery is not internally synchronized so code using a SQLiteQuery from multiple
+ * threads should perform its own synchronization when using the SQLiteQuery.
  */
 public class SQLiteQuery extends SQLiteProgram {
     private static final String TAG = "Cursor";
diff --git a/core/java/android/database/sqlite/SQLiteStatement.java b/core/java/android/database/sqlite/SQLiteStatement.java
index 98da414..47cca87 100644
--- a/core/java/android/database/sqlite/SQLiteStatement.java
+++ b/core/java/android/database/sqlite/SQLiteStatement.java
@@ -23,6 +23,9 @@
  * The statement cannot return multiple rows, but 1x1 result sets are allowed.
  * Don't use SQLiteStatement constructor directly, please use
  * {@link SQLiteDatabase#compileStatement(String)}
+ *
+ * SQLiteStatement is not internally synchronized so code using a SQLiteStatement from multiple
+ * threads should perform its own synchronization when using the SQLiteStatement.
  */
 public class SQLiteStatement extends SQLiteProgram
 {
diff --git a/core/java/android/net/MobileDataStateTracker.java b/core/java/android/net/MobileDataStateTracker.java
index 98f32b3..214510d 100644
--- a/core/java/android/net/MobileDataStateTracker.java
+++ b/core/java/android/net/MobileDataStateTracker.java
@@ -310,6 +310,9 @@
         case TelephonyManager.NETWORK_TYPE_EVDO_A:
             networkTypeStr = "evdo";
             break;
+        case TelephonyManager.NETWORK_TYPE_EVDO_B:
+            networkTypeStr = "evdo";
+            break;
         }
         return "net.tcp.buffersize." + networkTypeStr;
     }
diff --git a/core/java/android/net/Uri.java b/core/java/android/net/Uri.java
index eca4569..47faaba 100644
--- a/core/java/android/net/Uri.java
+++ b/core/java/android/net/Uri.java
@@ -1588,6 +1588,9 @@
                 break;
             }
             final int equalsIndex = keyIndex + encodedKeyLength;
+            if (equalsIndex >= query.length()) {
+                break;
+            }
             if (query.charAt(equalsIndex) != '=') {
                 encodedKeySearchIndex = equalsIndex + 1;
                 continue;
diff --git a/core/java/android/os/Process.java b/core/java/android/os/Process.java
index 4887783..5640a06 100644
--- a/core/java/android/os/Process.java
+++ b/core/java/android/os/Process.java
@@ -747,6 +747,24 @@
      */
     public static final native void sendSignal(int pid, int signal);
     
+    /**
+     * @hide
+     * Private impl for avoiding a log message...  DO NOT USE without doing
+     * your own log, or the Android Illuminati will find you some night and
+     * beat you up.
+     */
+    public static final void killProcessQuiet(int pid) {
+        sendSignalQuiet(pid, SIGNAL_KILL);
+    }
+
+    /**
+     * @hide
+     * Private impl for avoiding a log message...  DO NOT USE without doing
+     * your own log, or the Android Illuminati will find you some night and
+     * beat you up.
+     */
+    public static final native void sendSignalQuiet(int pid, int signal);
+    
     /** @hide */
     public static final native long getFreeMemory();
     
diff --git a/core/java/android/pim/vcard/VCardConfig.java b/core/java/android/pim/vcard/VCardConfig.java
index 6c25216..80709f3 100644
--- a/core/java/android/pim/vcard/VCardConfig.java
+++ b/core/java/android/pim/vcard/VCardConfig.java
@@ -476,4 +476,4 @@
 
     private VCardConfig() {
     }
-}
\ No newline at end of file
+}
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index e8c09b0..460e9b4 100644
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -3532,20 +3532,8 @@
             // If a shortcut is supplied, and it is already defined for
             // another bookmark, then remove the old definition.
             if (shortcut != 0) {
-                Cursor c = cr.query(CONTENT_URI,
-                        sShortcutProjection, sShortcutSelection,
-                        new String[] { String.valueOf((int) shortcut) }, null);
-                try {
-                    if (c.moveToFirst()) {
-                        while (c.getCount() > 0) {
-                            if (!c.deleteRow()) {
-                                Log.w(TAG, "Could not delete existing shortcut row");
-                            }
-                        }
-                    }
-                } finally {
-                    if (c != null) c.close();
-                }
+                cr.delete(CONTENT_URI, sShortcutSelection,
+                        new String[] { String.valueOf((int) shortcut) });
             }
 
             ContentValues values = new ContentValues();
diff --git a/core/java/android/text/GraphicsOperations.java b/core/java/android/text/GraphicsOperations.java
index c3bd0ae..05697c6 100644
--- a/core/java/android/text/GraphicsOperations.java
+++ b/core/java/android/text/GraphicsOperations.java
@@ -34,6 +34,13 @@
                          float x, float y, Paint p);
 
     /**
+     * Just like {@link Canvas#drawTextRun}.
+     * {@hide}
+     */
+    void drawTextRun(Canvas c, int start, int end,
+                         float x, float y, int flags, Paint p);
+
+   /**
      * Just like {@link Paint#measureText}.
      */
     float measureText(int start, int end, Paint p);
diff --git a/core/java/android/text/SpannableStringBuilder.java b/core/java/android/text/SpannableStringBuilder.java
index caaafa1..7563179 100644
--- a/core/java/android/text/SpannableStringBuilder.java
+++ b/core/java/android/text/SpannableStringBuilder.java
@@ -17,8 +17,9 @@
 package android.text;
 
 import com.android.internal.util.ArrayUtils;
-import android.graphics.Paint;
+
 import android.graphics.Canvas;
+import android.graphics.Paint;
 
 import java.lang.reflect.Array;
 
@@ -780,7 +781,7 @@
         }
 
         if (count == 0) {
-            return (T[]) ArrayUtils.emptyArray(kind);
+            return ArrayUtils.emptyArray(kind);
         }
         if (count == 1) {
             ret = (Object[]) Array.newInstance(kind, 1);
@@ -1055,6 +1056,39 @@
     }
 
     /**
+     * Don't call this yourself -- exists for Canvas to use internally.
+     * {@hide}
+     */
+    public void drawTextRun(Canvas c, int start, int end,
+                         float x, float y, int flags, Paint p) {
+        checkRange("drawTextRun", start, end);
+
+        // Assume context requires no more than 8 chars on either side.
+        // This is ample, only decomposed U+FDFA falls into this
+        // category, and no one should put a style break within it 
+        // anyway.
+        int cstart = start - 8;
+        if (cstart < 0) {
+            cstart = 0;
+        }
+        int cend = end + 8;
+        int max = length();
+        if (cend > max) {
+            cend = max;
+        }
+        if (cend <= mGapStart) {
+            c.drawTextRun(mText, start, end - start, x, y, flags, p);
+        } else if (cstart >= mGapStart) {
+            c.drawTextRun(mText, start + mGapLength, end - start, x, y, flags, p);
+        } else {
+            char[] buf = TextUtils.obtain(cend - cstart);
+            getChars(cstart, cend, buf, 0);
+            c.drawTextRun(buf, start - cstart, end - start, x, y, flags, p);
+            TextUtils.recycle(buf);
+        }
+    }
+
+   /**
      * Don't call this yourself -- exists for Paint to use internally.
      * {@hide}
      */
diff --git a/core/java/android/text/TextLine.java b/core/java/android/text/TextLine.java
index 4aeabf3..fae3fc3 100644
--- a/core/java/android/text/TextLine.java
+++ b/core/java/android/text/TextLine.java
@@ -951,48 +951,11 @@
     private void drawTextRun(Canvas c, TextPaint wp, int start, int limit,
             boolean runIsRtl, float x, int y) {
 
-        // Since currently skia only renders text left-to-right, we need to
-        // put the shaped characters into visual order before rendering.
-        // Since we might want to re-render the line again, we swap them
-        // back when we're done.  If we left them swapped, measurement
-        // would be broken since it expects the characters in logical order.
-        if (runIsRtl) {
-            swapRun(start, limit);
-        }
+        int flags = runIsRtl ? Canvas.DIRECTION_RTL : Canvas.DIRECTION_LTR;
         if (mCharsValid) {
-            c.drawText(mChars, start, limit - start, x, y, wp);
+            c.drawTextRun(mChars, start, limit - start, x, y, flags, wp);
         } else {
-            c.drawText(mText, mStart + start, mStart + limit, x, y, wp);
-        }
-        if (runIsRtl) {
-            swapRun(start, limit);
-        }
-    }
-
-    /**
-     * Reverses the order of characters in the chars array between start and
-     * limit, used by drawTextRun.
-     * @param start the start of the run to reverse
-     * @param limit the limit of the run to reverse
-     */
-    private void swapRun(int start, int limit) {
-        // First we swap all the characters one for one, then we
-        // do another pass looking for surrogate pairs and swapping them
-        // back into their logical order.
-        char[] chars = mChars;
-        for (int s = start, e = limit - 1; s < e; ++s, --e) {
-            char ch = chars[s]; chars[s] = chars[e]; chars[e] = ch;
-        }
-
-        for (int s = start, e = limit - 1; s < e; ++s) {
-            char c1 = chars[s];
-            if (c1 >= 0xdc00 && c1 < 0xe000) {
-                char c2 = chars[s+1];
-                if (c2 >= 0xd800 && c2 < 0xdc00) {
-                    chars[s++] = c2;
-                    chars[s] = c1;
-                }
-            }
+            c.drawTextRun(mText, mStart + start, mStart + limit, x, y, flags, wp);
         }
     }
 
diff --git a/core/java/android/view/ActionBarView.java b/core/java/android/view/ActionBarView.java
new file mode 100644
index 0000000..941ef21
--- /dev/null
+++ b/core/java/android/view/ActionBarView.java
@@ -0,0 +1,625 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.view;
+
+import java.util.ArrayList;
+
+import android.app.ActionBar;
+import android.app.Activity;
+import android.app.ActionBar.Callback;
+import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.content.res.TypedArray;
+import android.graphics.PorterDuff;
+import android.graphics.PorterDuffColorFilter;
+import android.graphics.drawable.Drawable;
+import android.util.AttributeSet;
+import android.util.DisplayMetrics;
+import android.util.SparseArray;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.android.internal.R;
+import com.android.internal.view.menu.ActionMenu;
+import com.android.internal.view.menu.ActionMenuItem;
+
+/**
+ * @hide
+ */
+public class ActionBarView extends ViewGroup {
+    private static final String TAG = "ActionBarView";
+    
+    // TODO: This must be defined in the default theme
+    private static final int CONTENT_HEIGHT_DIP = 50;
+    private static final int CONTENT_PADDING_DIP = 3;
+    private static final int CONTENT_SPACING_DIP = 6;
+    private static final int CONTENT_ACTION_SPACING_DIP = 12;
+    
+    /**
+     * Display options applied by default
+     */
+    public static final int DISPLAY_DEFAULT = 0;
+
+    /**
+     * Display options that require re-layout as opposed to a simple invalidate
+     */
+    private static final int DISPLAY_RELAYOUT_MASK = ActionBar.DISPLAY_USE_LOGO;
+    
+    private final int mContentHeight;
+
+    private int mNavigationMode;
+    private int mDisplayOptions;
+    private int mSpacing;
+    private int mActionSpacing;
+    private CharSequence mTitle;
+    private CharSequence mSubtitle;
+    private Drawable mIcon;
+    private Drawable mLogo;
+    private Drawable mDivider;
+
+    private ImageView mIconView;
+    private ImageView mLogoView;
+    private TextView mTitleView;
+    private TextView mSubtitleView;
+    private View mNavigationView;
+    
+    private boolean mShowMenu;
+
+    private ActionMenuItem mLogoNavItem;
+    private ActionMenu mNavMenu;
+    private ActionMenu mActionMenu;
+    private ActionMenu mOptionsMenu;
+    
+    private SparseArray<ActionMenu> mContextMenus;
+    
+    private Callback mCallback;
+    
+    private final ArrayList<ActionView> mActions = new ArrayList<ActionView>();
+    private final OnClickListener mActionClickHandler = new OnClickListener() {
+        public void onClick(View v) {
+            ActionView av = (ActionView) v;
+            ActionMenuItem item = (ActionMenuItem) av.menuItem;
+
+            if (!mCallback.onActionItemSelected(item)) {
+                item.invoke();
+            }
+        }
+    };
+
+    private OnClickListener mHomeClickListener = null;
+
+    public ActionBarView(Context context, AttributeSet attrs) {
+        super(context, attrs);
+
+        final DisplayMetrics metrics = context.getResources().getDisplayMetrics();
+        mContentHeight = (int) (CONTENT_HEIGHT_DIP * metrics.density + 0.5f);
+
+        TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.ActionBar);
+
+        final int colorFilter = a.getColor(R.styleable.ActionBar_colorFilter, 0);
+
+        if (colorFilter != 0) {
+            final Drawable d = getBackground();
+            d.setDither(true);
+            d.setColorFilter(new PorterDuffColorFilter(colorFilter, PorterDuff.Mode.OVERLAY));
+        }
+
+        ApplicationInfo info = context.getApplicationInfo();
+        PackageManager pm = context.getPackageManager();
+        mNavigationMode = a.getInt(R.styleable.ActionBar_navigationMode, ActionBar.NAVIGATION_MODE_NORMAL);
+        mTitle = a.getText(R.styleable.ActionBar_title);
+        mSubtitle = a.getText(R.styleable.ActionBar_subtitle);
+        mDisplayOptions = a.getInt(R.styleable.ActionBar_displayOptions, DISPLAY_DEFAULT);
+        
+        mLogo = a.getDrawable(R.styleable.ActionBar_logo);
+        if (mLogo == null) {
+            mLogo = info.loadLogo(pm);
+        }
+        mIcon = a.getDrawable(R.styleable.ActionBar_icon);
+        if (mIcon == null) {
+            mIcon = info.loadIcon(pm);
+        }
+        mDivider = a.getDrawable(R.styleable.ActionBar_divider);
+        
+        Drawable background = a.getDrawable(R.styleable.ActionBar_background);
+        if (background != null) {
+            setBackgroundDrawable(background);
+        }
+        
+        final int customNavId = a.getResourceId(R.styleable.ActionBar_customNavigationLayout, 0);
+        if (customNavId != 0) {
+            LayoutInflater inflater = LayoutInflater.from(context);
+            mNavigationView = (View) inflater.inflate(customNavId, null);
+            mNavigationMode = ActionBar.NAVIGATION_MODE_CUSTOM;
+        }
+
+        a.recycle();
+
+        // TODO: Set this in the theme
+        int padding = (int) (CONTENT_PADDING_DIP * metrics.density + 0.5f);
+        setPadding(padding, padding, padding, padding);
+
+        mSpacing = (int) (CONTENT_SPACING_DIP * metrics.density + 0.5f);
+        mActionSpacing = (int) (CONTENT_ACTION_SPACING_DIP * metrics.density + 0.5f);
+        
+        if (mLogo != null || mIcon != null || mTitle != null) {
+            mLogoNavItem = new ActionMenuItem(context, 0, android.R.id.home, 0, 0, mTitle);
+            mHomeClickListener = new OnClickListener() {
+                public void onClick(View v) {
+                    if (mCallback != null) {
+                        mCallback.onActionItemSelected(mLogoNavItem);
+                    }
+                }
+            };
+        }
+        
+        mContextMenus = new SparseArray<ActionMenu>();
+    }
+    
+    private boolean initOptionsMenu() {
+        final Context context = getContext();
+        if (!(context instanceof Activity)) {
+            return false;
+        }
+        
+        final Activity activity = (Activity) context;
+        ActionMenu optionsMenu = new ActionMenu(context);
+        if (activity.onCreateOptionsMenu(optionsMenu)) {
+            mOptionsMenu = optionsMenu;
+            return true;
+        }
+        
+        return false;
+    }
+    
+    public void setCallback(Callback callback) {
+        final Context context = getContext();
+        mCallback = callback;
+        
+        ActionMenu actionMenu = new ActionMenu(context);
+        if (callback.onCreateActionMenu(actionMenu)) {
+            mActionMenu = actionMenu;
+            performUpdateActionMenu();
+        }
+    }
+    
+    public void setCustomNavigationView(View view) {
+        mNavigationView = view;
+        if (view != null) {
+            setNavigationMode(ActionBar.NAVIGATION_MODE_CUSTOM);
+        }
+        requestLayout();
+    }
+    
+    public void setDividerDrawable(Drawable d) {
+        mDivider = d;
+    }
+    
+    public CharSequence getTitle() {
+        return mTitle;
+    }
+    
+    public void setTitle(CharSequence title) {
+        mTitle = title;
+        if (mTitleView != null) {
+            mTitleView.setText(title);
+        }
+        if (mLogoNavItem != null) {
+            mLogoNavItem.setTitle(title);
+        }
+    }
+    
+    public CharSequence getSubtitle() {
+        return mSubtitle;
+    }
+    
+    public void setSubtitle(CharSequence subtitle) {
+        mSubtitle = subtitle;
+        if (mSubtitleView != null) {
+            mSubtitleView.setText(subtitle);
+        }
+    }
+    
+    public void setDisplayOptions(int options) {
+        final int flagsChanged = options & mDisplayOptions;
+        mDisplayOptions = options;
+        if ((flagsChanged & DISPLAY_RELAYOUT_MASK) != 0) {
+            requestLayout();
+        } else {
+            invalidate();
+        }
+    }
+
+    public void setNavigationMode(int mode) {
+        if (mode != mNavigationMode) {
+            mNavigationMode = mode;
+            requestLayout();
+        }
+    }
+    
+    public View getCustomNavigationView() {
+        return mNavigationView;
+    }
+    
+    public int getNavigationMode() {
+        return mNavigationMode;
+    }
+    
+    public int getDisplayOptions() {
+        return mDisplayOptions;
+    }
+    
+    private ActionView findActionViewForItem(MenuItem item) {
+        final ArrayList<ActionView> actions = mActions;
+        final int actionCount = actions.size();
+        for (int i = 0; i < actionCount; i++) {
+            ActionView av = actions.get(i);
+            if (av.menuItem.equals(item)) {
+                return av;
+            }
+        }
+        return null;
+    }
+    
+    public void setContextMode(int mode) {
+        Callback callback = mCallback;
+        if (callback == null) {
+            throw new IllegalStateException(
+                    "Attempted to set ActionBar context mode with no callback");
+        }
+        
+        ActionMenu menu = mContextMenus.get(mode);
+        if (menu == null) {
+            // Initialize the new mode
+            menu = new ActionMenu(getContext());
+
+            if (!callback.onCreateContextMode(mode, menu)) {
+                throw new IllegalArgumentException(
+                        "ActionBar callback does not know how to create context mode " + mode);
+            }
+            mContextMenus.put(mode, menu);
+        }
+        
+        if (callback.onPrepareContextMode(mode, menu)) {
+            // TODO Set mode, animate, etc.
+        }
+    }
+    
+    public void exitContextMode() {
+        // TODO Turn off context mode; go back to normal.
+    }
+    
+    public void updateActionMenu() {
+        final ActionMenu menu = mActionMenu;
+        if (menu == null || mCallback == null || !mCallback.onUpdateActionMenu(menu)) {
+            return;
+        }
+        performUpdateActionMenu();
+    }
+    
+    private void performUpdateActionMenu() {
+        final ActionMenu menu = mActionMenu;
+        if (menu == null) {
+            return;
+        }
+        final Context context = getContext();
+
+        int childCount = getChildCount();
+        int childIndex = 0;
+        while (childIndex < childCount) {
+            View v = getChildAt(childIndex);
+            if (v instanceof ActionView) {
+                detachViewFromParent(childIndex);
+                childCount--;
+            } else {
+                childIndex++;
+            }
+        }
+        
+        ArrayList<ActionView> detachedViews = new ArrayList<ActionView>(mActions); 
+        final int itemCount = menu.size();
+        for (int i = 0; i < itemCount; i++) {
+            final MenuItem item = menu.getItem(i);
+            
+            boolean newView = false;
+            ActionView actionView = findActionViewForItem(item);
+            if (actionView == null) {
+                actionView = new ActionView(context);
+                newView = true;
+            }
+            actionView.actionId = item.getItemId();
+            actionView.menuItem = item;
+            actionView.actionLabel = item.getTitle();
+            actionView.setAdjustViewBounds(true);
+            actionView.setImageDrawable(item.getIcon());
+            actionView.setOnClickListener(mActionClickHandler);
+            
+            LayoutParams layoutParams = new LayoutParams(LayoutParams.WRAP_CONTENT,
+                    LayoutParams.MATCH_PARENT, LayoutParams.ITEM_TYPE_ACTION);
+            actionView.setLayoutParams(layoutParams);
+            
+            if (newView) {
+                addView(actionView);
+                mActions.add(actionView);
+            } else {
+                attachViewToParent(actionView, -1, layoutParams);
+                detachedViews.remove(actionView);
+                actionView.invalidate();
+            }
+        }
+        
+        final int detachedCount = detachedViews.size();
+        for (int i = 0; i < detachedCount; i++) {
+            removeDetachedView(detachedViews.get(i), false);
+        }
+        
+        requestLayout();
+    }
+
+    public void addAction(int id, Drawable icon, CharSequence label, OnActionListener listener) {
+        ActionView actionView = new ActionView(getContext());
+        actionView.actionId = id;
+        actionView.actionLabel = label;
+        actionView.actionListener = listener;
+        actionView.setAdjustViewBounds(true);
+        actionView.setImageDrawable(icon);
+        actionView.setOnClickListener(mActionClickHandler);
+
+        actionView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
+                LayoutParams.MATCH_PARENT, LayoutParams.ITEM_TYPE_ACTION));
+
+        addView(actionView);
+        mActions.add(actionView);
+        
+        requestLayout();
+    }
+    
+    @Override
+    protected void onFinishInflate() {
+        super.onFinishInflate();
+
+        if ((mDisplayOptions & ActionBar.DISPLAY_HIDE_HOME) == 0) {
+            if (mLogo != null && (mDisplayOptions & ActionBar.DISPLAY_USE_LOGO) != 0) {
+                mLogoView = new ImageView(getContext());
+                mLogoView.setAdjustViewBounds(true);
+                mLogoView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
+                        LayoutParams.MATCH_PARENT, LayoutParams.ITEM_TYPE_ICON));
+                mLogoView.setImageDrawable(mLogo);
+                mLogoView.setClickable(true);
+                mLogoView.setOnClickListener(mHomeClickListener);
+                addView(mLogoView);
+            } else if (mIcon != null) {
+                mIconView = new ImageView(getContext());
+                mIconView.setAdjustViewBounds(true);
+                mIconView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
+                        LayoutParams.MATCH_PARENT, LayoutParams.ITEM_TYPE_ICON));
+                mIconView.setImageDrawable(mIcon);
+                mIconView.setClickable(true);
+                mIconView.setOnClickListener(mHomeClickListener);
+                addView(mIconView);
+            }
+        }
+
+        switch (mNavigationMode) {
+        case ActionBar.NAVIGATION_MODE_NORMAL:
+            if (mLogoView == null) {
+                LayoutInflater inflater = LayoutInflater.from(getContext());
+                mTitleView = (TextView) inflater.inflate(R.layout.action_bar_title_item, null);
+                mTitleView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
+                        LayoutParams.WRAP_CONTENT, LayoutParams.ITEM_TYPE_TITLE));
+                if (mTitle != null) {
+                    mTitleView.setText(mTitle);
+                }
+                mTitleView.setClickable(true);
+                mTitleView.setOnClickListener(mHomeClickListener);
+                addView(mTitleView);
+            }
+            break;
+            
+        case ActionBar.NAVIGATION_MODE_DROPDOWN_LIST:
+            throw new UnsupportedOperationException(
+                    "Dropdown list navigation isn't supported yet!");
+            
+        case ActionBar.NAVIGATION_MODE_TABS:
+            throw new UnsupportedOperationException(
+                    "Tab navigation isn't supported yet!");
+            
+        case ActionBar.NAVIGATION_MODE_CUSTOM:
+            if (mNavigationView != null) {
+                mNavigationView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
+                        LayoutParams.WRAP_CONTENT, LayoutParams.ITEM_TYPE_CUSTOM_NAV));
+                addView(mNavigationView);
+            }
+            break;
+        }
+    }
+
+    @Override
+    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+        int widthMode = MeasureSpec.getMode(widthMeasureSpec);
+        if (widthMode != MeasureSpec.EXACTLY) {
+            throw new IllegalStateException(getClass().getSimpleName() + " can only be used " +
+                    "with android:layout_width=\"match_parent\" (or fill_parent)");
+        }
+        
+        int heightMode = MeasureSpec.getMode(heightMeasureSpec);
+        if (heightMode != MeasureSpec.AT_MOST) {
+            throw new IllegalStateException(getClass().getSimpleName() + " can only be used " +
+                    "with android:layout_height=\"wrap_content\"");
+        }
+
+        int contentWidth = MeasureSpec.getSize(widthMeasureSpec);
+        
+        int availableWidth = contentWidth - getPaddingLeft() - getPaddingRight();
+        int childSpecHeight = MeasureSpec.makeMeasureSpec(mContentHeight - getPaddingTop() -
+                getPaddingBottom(), MeasureSpec.AT_MOST);
+
+        if (mLogoView != null) {
+            availableWidth = measureChildView(mLogoView, availableWidth, childSpecHeight, mSpacing);
+        }
+        if (mIconView != null) {
+            availableWidth = measureChildView(mIconView, availableWidth, childSpecHeight, mSpacing);
+        }
+
+        final ArrayList<ActionView> actions = mActions;
+        final int actionCount = actions.size();
+        for (int i = 0; i < actionCount; i++) {
+            ActionView action = actions.get(i);
+            availableWidth = measureChildView(action, availableWidth,
+                    childSpecHeight, mActionSpacing);
+        }
+        
+        switch (mNavigationMode) {
+        case ActionBar.NAVIGATION_MODE_NORMAL:
+            if (mTitleView != null) {
+                availableWidth = measureChildView(mTitleView, availableWidth,
+                        childSpecHeight, mSpacing);
+            }
+            break;
+        case ActionBar.NAVIGATION_MODE_CUSTOM:
+            if (mNavigationView != null) {
+                availableWidth = measureChildView(mNavigationView, availableWidth,
+                        childSpecHeight, mSpacing);
+            }
+            break;
+        }
+
+        setMeasuredDimension(contentWidth, mContentHeight);
+    }
+
+    private int measureChildView(View child, int availableWidth, int childSpecHeight, int spacing) {
+        measureChild(child,
+                MeasureSpec.makeMeasureSpec(availableWidth, MeasureSpec.AT_MOST),
+                childSpecHeight);
+
+        availableWidth -= child.getMeasuredWidth();
+        availableWidth -= spacing;
+
+        return availableWidth;
+    }
+
+    @Override
+    protected void onLayout(boolean changed, int l, int t, int r, int b) {
+        int x = getPaddingLeft();
+        final int y = getPaddingTop();
+        final int contentHeight = b - t - getPaddingTop() - getPaddingBottom();
+
+        if (mLogoView != null) {
+            x += positionChild(mLogoView, x, y, contentHeight) + mSpacing;
+        }
+        if (mIconView != null) {
+            x += positionChild(mIconView, x, y, contentHeight) + mSpacing;
+        }
+        
+        switch (mNavigationMode) {
+        case ActionBar.NAVIGATION_MODE_NORMAL:
+            if (mTitleView != null) {
+                x += positionChild(mTitleView, x, y, contentHeight) + mSpacing;
+            }
+            break;
+            
+        case ActionBar.NAVIGATION_MODE_CUSTOM:
+            if (mNavigationView != null) {
+                x += positionChild(mNavigationView, x, y, contentHeight) + mSpacing;
+            }
+            break;
+        }
+
+        x = r - l - getPaddingRight();
+
+        final int count = mActions.size();
+        for (int i = count - 1; i >= 0; i--) {
+            ActionView action = mActions.get(i);
+            x -= (positionChildInverse(action, x, y, contentHeight) + mActionSpacing);
+        }
+    }
+
+    private int positionChild(View child, int x, int y, int contentHeight) {
+        int childWidth = child.getMeasuredWidth();
+        int childHeight = child.getMeasuredHeight();
+        int childTop = y + (contentHeight - childHeight) / 2;
+
+        child.layout(x, childTop, x + childWidth, childTop + childHeight);
+
+        return childWidth;
+    }
+    
+    private int positionChildInverse(View child, int x, int y, int contentHeight) {
+        int childWidth = child.getMeasuredWidth();
+        int childHeight = child.getMeasuredHeight();
+        int childTop = y + (contentHeight - childHeight) / 2;
+
+        child.layout(x - childWidth, childTop, x, childTop + childHeight);
+
+        return childWidth;
+    }
+
+    @Override
+    public ViewGroup.LayoutParams generateLayoutParams(AttributeSet attrs) {
+        return new ViewGroup.LayoutParams(getContext(), attrs);
+    }
+
+    @Override
+    protected boolean checkLayoutParams(ViewGroup.LayoutParams p) {
+        return p != null && p instanceof LayoutParams;
+    }
+
+    private static class LayoutParams extends ViewGroup.LayoutParams {
+        static final int ITEM_TYPE_UNKNOWN = -1;
+        static final int ITEM_TYPE_ICON = 0;
+        static final int ITEM_TYPE_TITLE = 1;
+        static final int ITEM_TYPE_CUSTOM_NAV = 2;
+        static final int ITEM_TYPE_ACTION = 3;
+        static final int ITEM_TYPE_MORE = 4;
+
+        int type = ITEM_TYPE_UNKNOWN;
+
+        public LayoutParams(Context c, AttributeSet attrs) {
+            super(c, attrs);
+        }
+
+        public LayoutParams(int width, int height) {
+            super(width, height);
+        }
+        
+        public LayoutParams(int width, int height, int type) {
+            this(width, height);
+            this.type = type;
+        }
+        
+
+        public LayoutParams(ViewGroup.LayoutParams source) {
+            super(source);
+        }
+    }
+
+    public interface OnActionListener {
+        void onAction(int id);
+    }
+    
+    private static class ActionView extends ImageView {
+        int actionId;
+        CharSequence actionLabel;
+        OnActionListener actionListener;
+        MenuItem menuItem;
+
+        public ActionView(Context context) {
+            super(context);
+        }
+    }
+}
diff --git a/core/java/android/view/MenuInflater.java b/core/java/android/view/MenuInflater.java
index 46c805c..a37d83d 100644
--- a/core/java/android/view/MenuInflater.java
+++ b/core/java/android/view/MenuInflater.java
@@ -16,9 +16,8 @@
 
 package android.view;
 
-import com.android.internal.view.menu.MenuItemImpl;
-
 import java.io.IOException;
+import java.lang.reflect.Method;
 
 import org.xmlpull.v1.XmlPullParser;
 import org.xmlpull.v1.XmlPullParserException;
@@ -30,6 +29,8 @@
 import android.util.AttributeSet;
 import android.util.Xml;
 
+import com.android.internal.view.menu.MenuItemImpl;
+
 /**
  * This class is used to instantiate menu XML files into Menu objects.
  * <p>
@@ -166,6 +167,41 @@
         }
     }
     
+    private static class InflatedOnMenuItemClickListener
+            implements MenuItem.OnMenuItemClickListener {
+        private static final Class[] PARAM_TYPES = new Class[] { MenuItem.class };
+        
+        private Context mContext;
+        private Method mMethod;
+        
+        public InflatedOnMenuItemClickListener(Context context, String methodName) {
+            mContext = context;
+            Class c = context.getClass();
+            try {
+                mMethod = c.getMethod(methodName, PARAM_TYPES);
+            } catch (Exception e) {
+                InflateException ex = new InflateException(
+                        "Couldn't resolve menu item onClick handler " + methodName +
+                        " in class " + c.getName());
+                ex.initCause(e);
+                throw ex;
+            }
+        }
+        
+        public boolean onMenuItemClick(MenuItem item) {
+            try {
+                if (mMethod.getReturnType() == Boolean.TYPE) {
+                    return (Boolean) mMethod.invoke(mContext, item);
+                } else {
+                    mMethod.invoke(mContext, item);
+                    return true;
+                }
+            } catch (Exception e) {
+                throw new RuntimeException(e);
+            }
+        }
+    }
+    
     /**
      * State for the current menu.
      * <p>
@@ -205,6 +241,8 @@
         private boolean itemVisible;
         private boolean itemEnabled;
         
+        private String itemListenerMethodName;
+        
         private static final int defaultGroupId = NO_ID;
         private static final int defaultItemId = NO_ID;
         private static final int defaultItemCategory = 0;
@@ -276,6 +314,7 @@
             itemChecked = a.getBoolean(com.android.internal.R.styleable.MenuItem_checked, defaultItemChecked);
             itemVisible = a.getBoolean(com.android.internal.R.styleable.MenuItem_visible, groupVisible);
             itemEnabled = a.getBoolean(com.android.internal.R.styleable.MenuItem_enabled, groupEnabled);
+            itemListenerMethodName = a.getString(com.android.internal.R.styleable.MenuItem_onClick);
             
             a.recycle();
             
@@ -299,8 +338,13 @@
                 .setIcon(itemIconResId)
                 .setAlphabeticShortcut(itemAlphabeticShortcut)
                 .setNumericShortcut(itemNumericShortcut);
+            
+            if (itemListenerMethodName != null) {
+                item.setOnMenuItemClickListener(
+                        new InflatedOnMenuItemClickListener(mContext, itemListenerMethodName));
+            }
 
-            if (itemCheckable >= 2) {
+            if (itemCheckable >= 2 && item instanceof MenuItemImpl) {
                 ((MenuItemImpl) item).setExclusiveCheckable(true);
             }
         }
diff --git a/core/java/android/view/VelocityTracker.java b/core/java/android/view/VelocityTracker.java
index aab76c4..e69b807 100644
--- a/core/java/android/view/VelocityTracker.java
+++ b/core/java/android/view/VelocityTracker.java
@@ -206,7 +206,7 @@
             final long oldestTime = pastTime[oldestTouch];
             float accumX = 0;
             float accumY = 0;
-            float N = (lastTouch - oldestTouch + NUM_PAST) % NUM_PAST + 1;
+            int N = (lastTouch - oldestTouch + NUM_PAST) % NUM_PAST + 1;
             // Skip the last received event, since it is probably pretty noisy.
             if (N > 3) N--;
 
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index 11e5ad1..527b4f4 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -887,6 +887,20 @@
     public static final int HAPTIC_FEEDBACK_ENABLED = 0x10000000;
 
     /**
+     * <p>Indicates that the view hierarchy should stop saving state when
+     * it reaches this view.  If state saving is initiated immediately at
+     * the view, it will be allowed.
+     * {@hide}
+     */
+    static final int PARENT_SAVE_DISABLED = 0x20000000;
+
+    /**
+     * <p>Mask for use with setFlags indicating bits used for PARENT_SAVE_DISABLED.</p>
+     * {@hide}
+     */
+    static final int PARENT_SAVE_DISABLED_MASK = 0x20000000;
+
+    /**
      * View flag indicating whether {@link #addFocusables(ArrayList, int, int)}
      * should add all focusable Views regardless if they are focusable in touch mode.
      */
@@ -3342,6 +3356,38 @@
 
 
     /**
+     * Indicates whether the entire hierarchy under this view will save its
+     * state when a state saving traversal occurs from its parent.  The default
+     * is true; if false, these views will not be saved unless
+     * {@link #saveHierarchyState(SparseArray)} is called directly on this view.
+     *
+     * @return Returns true if the view state saving from parent is enabled, else false.
+     *
+     * @see #setSaveFromParentEnabled(boolean)
+     */
+    public boolean isSaveFromParentEnabled() {
+        return (mViewFlags & PARENT_SAVE_DISABLED_MASK) != PARENT_SAVE_DISABLED;
+    }
+
+    /**
+     * Controls whether the entire hierarchy under this view will save its
+     * state when a state saving traversal occurs from its parent.  The default
+     * is true; if false, these views will not be saved unless
+     * {@link #saveHierarchyState(SparseArray)} is called directly on this view.
+     *
+     * @param enabled Set to false to <em>disable</em> state saving, or true
+     * (the default) to allow it.
+     *
+     * @see #isSaveFromParentEnabled()
+     * @see #setId(int)
+     * @see #onSaveInstanceState()
+     */
+    public void setSaveFromParentEnabled(boolean enabled) {
+        setFlags(enabled ? 0 : PARENT_SAVE_DISABLED, PARENT_SAVE_DISABLED_MASK);
+    }
+
+
+    /**
      * Returns whether this View is able to take focus.
      *
      * @return True if this view can take focus, or false otherwise.
diff --git a/core/java/android/view/ViewGroup.java b/core/java/android/view/ViewGroup.java
index eca583f..9329d94 100644
--- a/core/java/android/view/ViewGroup.java
+++ b/core/java/android/view/ViewGroup.java
@@ -1181,7 +1181,10 @@
         final int count = mChildrenCount;
         final View[] children = mChildren;
         for (int i = 0; i < count; i++) {
-            children[i].dispatchSaveInstanceState(container);
+            View c = children[i];
+            if ((c.mViewFlags & PARENT_SAVE_DISABLED_MASK) != PARENT_SAVE_DISABLED) {
+                c.dispatchSaveInstanceState(container);
+            }
         }
     }
 
@@ -1206,7 +1209,10 @@
         final int count = mChildrenCount;
         final View[] children = mChildren;
         for (int i = 0; i < count; i++) {
-            children[i].dispatchRestoreInstanceState(container);
+            View c = children[i];
+            if ((c.mViewFlags & PARENT_SAVE_DISABLED_MASK) != PARENT_SAVE_DISABLED) {
+                c.dispatchRestoreInstanceState(container);
+            }
         }
     }
 
@@ -2869,7 +2875,7 @@
      */
     @ViewDebug.ExportedProperty(mapping = {
         @ViewDebug.IntToString(from = PERSISTENT_NO_CACHE,        to = "NONE"),
-        @ViewDebug.IntToString(from = PERSISTENT_ALL_CACHES,      to = "ANIMATION"),
+        @ViewDebug.IntToString(from = PERSISTENT_ANIMATION_CACHE, to = "ANIMATION"),
         @ViewDebug.IntToString(from = PERSISTENT_SCROLLING_CACHE, to = "SCROLLING"),
         @ViewDebug.IntToString(from = PERSISTENT_ALL_CACHES,      to = "ALL")
     })
diff --git a/core/java/android/view/Window.java b/core/java/android/view/Window.java
index 7dd5085..e1ff4e8 100644
--- a/core/java/android/view/Window.java
+++ b/core/java/android/view/Window.java
@@ -61,6 +61,13 @@
         @hide
     */
     public static final int FEATURE_OPENGL = 8;
+    /**
+     * Flag for enabling the Action Bar.
+     * This is enabled by default for some devices. The Action Bar
+     * replaces the title bar and provides an alternate location
+     * for an on-screen menu button on some devices.
+     */
+    public static final int FEATURE_ACTION_BAR = 9;
     /** Flag for setting the progress bar's visibility to VISIBLE */
     public static final int PROGRESS_VISIBILITY_ON = -1;
     /** Flag for setting the progress bar's visibility to GONE */
@@ -981,6 +988,16 @@
     {
         return mFeatures;
     }
+    
+    /**
+     * Query for the availability of a certain feature.
+     * 
+     * @param feature The feature ID to check
+     * @return true if the feature is enabled, false otherwise.
+     */
+    public boolean hasFeature(int feature) {
+        return (getFeatures() & (1 << feature)) != 0;
+    }
 
     /**
      * Return the feature bits that are being implemented by this Window.
diff --git a/core/java/android/webkit/CallbackProxy.java b/core/java/android/webkit/CallbackProxy.java
index 8af2492..0e0e032 100644
--- a/core/java/android/webkit/CallbackProxy.java
+++ b/core/java/android/webkit/CallbackProxy.java
@@ -542,6 +542,13 @@
                                                     int which) {
                                                 res.cancel();
                                             }})
+                                .setOnCancelListener(
+                                        new DialogInterface.OnCancelListener() {
+                                            public void onCancel(
+                                                    DialogInterface dialog) {
+                                                res.cancel();
+                                            }
+                                        })
                                 .show();
                     }
                     // Tell the JsResult that it is ready for client
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index 2d9e452..e7517205 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -2256,12 +2256,12 @@
         Rect ri = new Rect(0,0,0,0);
         calcOurVisibleRect(ri);
         // pin the rect to the bounds of the content
-        r.left = Math.max(viewToContentXf(ri.left), 0f);
+        r.left = Math.max(viewToContentXf(ri.left), 0.0f);
         // viewToContentY will remove the total height of the title bar.  Add
         // the visible height back in to account for the fact that if the title
         // bar is partially visible, the part of the visible rect which is
         // displaying our content is displaced by that amount.
-        r.top = Math.max(viewToContentYf(ri.top + getVisibleTitleHeight()), 0f);
+        r.top = Math.max(viewToContentYf(ri.top + getVisibleTitleHeight()), 0.0f);
         r.right = Math.min(viewToContentXf(ri.right), (float)mContentWidth);
         r.bottom = Math.min(viewToContentYf(ri.bottom), (float)mContentHeight);
     }
@@ -3208,6 +3208,8 @@
             // Send the click so that the textfield is in focus
             centerKeyPressOnTextField();
             rebuildWebTextView();
+        } else {
+            clearTextEntry(true);
         }
         if (inEditingMode()) {
             return mWebTextView.performLongClick();
@@ -6255,7 +6257,6 @@
                     } else if (mPreventDefault != PREVENT_DEFAULT_YES) {
                         mTouchMode = TOUCH_DONE_MODE;
                         performLongClick();
-                        rebuildWebTextView();
                     }
                     break;
                 }
@@ -6588,7 +6589,6 @@
                                 if (hitTest != null && hitTest.mType
                                         != HitTestResult.UNKNOWN_TYPE) {
                                     performLongClick();
-                                    rebuildWebTextView();
                                 }
                                 mDeferTouchMode = TOUCH_DONE_MODE;
                                 break;
diff --git a/core/java/android/widget/AbsListView.java b/core/java/android/widget/AbsListView.java
index 0a39ab6..78bbbce 100644
--- a/core/java/android/widget/AbsListView.java
+++ b/core/java/android/widget/AbsListView.java
@@ -1585,6 +1585,11 @@
                 treeObserver.addOnGlobalLayoutListener(this);
             }
         }
+        
+        if (mAdapter != null && mDataSetObserver == null) {
+            mDataSetObserver = new AdapterDataSetObserver();
+            mAdapter.registerDataSetObserver(mDataSetObserver);
+        }
     }
 
     @Override
@@ -1605,6 +1610,11 @@
                 mGlobalLayoutListenerAddedFilter = false;
             }
         }
+
+        if (mAdapter != null) {
+            mAdapter.unregisterDataSetObserver(mDataSetObserver);
+            mDataSetObserver = null;
+        }
     }
 
     @Override
diff --git a/core/java/android/widget/GridView.java b/core/java/android/widget/GridView.java
index d2829db..363e0a2 100644
--- a/core/java/android/widget/GridView.java
+++ b/core/java/android/widget/GridView.java
@@ -23,6 +23,7 @@
 import android.view.Gravity;
 import android.view.KeyEvent;
 import android.view.View;
+import android.view.ViewDebug;
 import android.view.ViewGroup;
 import android.view.SoundEffectConstants;
 import android.view.animation.GridLayoutAnimationController;
@@ -1774,6 +1775,19 @@
             requestLayoutIfNecessary();
         }
     }
+    
+    /**
+     * Get the number of columns in the grid. 
+     * Returns {@link #AUTO_FIT} if the Grid has never been laid out.
+     *
+     * @attr ref android.R.styleable#GridView_numColumns
+     * 
+     * @see #setNumColumns(int)
+     */
+    @ViewDebug.ExportedProperty
+    public int getNumColumns() {  
+        return mNumColumns;
+    }
 
     /**
      * Make sure views are touching the top or bottom edge, as appropriate for
diff --git a/core/java/android/widget/ListView.java b/core/java/android/widget/ListView.java
index 892c44a..5382894 100644
--- a/core/java/android/widget/ListView.java
+++ b/core/java/android/widget/ListView.java
@@ -415,7 +415,7 @@
      */
     @Override
     public void setAdapter(ListAdapter adapter) {
-        if (null != mAdapter) {
+        if (mAdapter != null) {
             mAdapter.unregisterDataSetObserver(mDataSetObserver);
         }
 
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index 64c9c99..968636b 100644
--- a/core/java/android/widget/TextView.java
+++ b/core/java/android/widget/TextView.java
@@ -2781,6 +2781,11 @@
             c.drawText(mChars, start + mStart, end - start, x, y, p);
         }
 
+        public void drawTextRun(Canvas c, int start, int end,
+                float x, float y, int flags, Paint p) {
+            c.drawTextRun(mChars, start + mStart, end - start, x, y, flags, p);
+        }
+
         public float measureText(int start, int end, Paint p) {
             return p.measureText(mChars, start + mStart, end - start);
         }
diff --git a/core/java/com/android/internal/app/ShutdownThread.java b/core/java/com/android/internal/app/ShutdownThread.java
index 83614a8..a96253b 100644
--- a/core/java/com/android/internal/app/ShutdownThread.java
+++ b/core/java/com/android/internal/app/ShutdownThread.java
@@ -199,10 +199,10 @@
         mContext.sendOrderedBroadcast(new Intent(Intent.ACTION_SHUTDOWN), null,
                 br, mHandler, 0, null, null);
         
-        final long endTime = System.currentTimeMillis() + MAX_BROADCAST_TIME;
+        final long endTime = SystemClock.elapsedRealtime() + MAX_BROADCAST_TIME;
         synchronized (mActionDoneSync) {
             while (!mActionDone) {
-                long delay = endTime - System.currentTimeMillis();
+                long delay = endTime - SystemClock.elapsedRealtime();
                 if (delay <= 0) {
                     Log.w(TAG, "Shutdown broadcast timed out");
                     break;
@@ -297,7 +297,7 @@
         Log.i(TAG, "Shutting down MountService");
         // Set initial variables and time out time.
         mActionDone = false;
-        final long endShutTime = System.currentTimeMillis() + MAX_SHUTDOWN_WAIT_TIME;
+        final long endShutTime = SystemClock.elapsedRealtime() + MAX_SHUTDOWN_WAIT_TIME;
         synchronized (mActionDoneSync) {
             try {
                 if (mount != null) {
@@ -309,7 +309,7 @@
                 Log.e(TAG, "Exception during MountService shutdown", e);
             }
             while (!mActionDone) {
-                long delay = endShutTime - System.currentTimeMillis();
+                long delay = endShutTime - SystemClock.elapsedRealtime();
                 if (delay <= 0) {
                     Log.w(TAG, "Shutdown wait timed out");
                     break;
diff --git a/core/java/com/android/internal/app/SplitActionBar.java b/core/java/com/android/internal/app/SplitActionBar.java
new file mode 100644
index 0000000..4e19e04
--- /dev/null
+++ b/core/java/com/android/internal/app/SplitActionBar.java
@@ -0,0 +1,97 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.internal.app;
+
+import android.app.ActionBar;
+import android.graphics.drawable.Drawable;
+import android.view.ActionBarView;
+import android.view.View;
+import android.widget.LinearLayout;
+
+/**
+ * SplitActionBar is the ActionBar implementation used
+ * by small-screen devices. It expects to split contextual
+ * modes across both the ActionBarView at the top of the screen
+ * and a horizontal LinearLayout at the bottom which is normally
+ * hidden.
+ */
+public class SplitActionBar extends ActionBar {
+    private ActionBarView mActionView;
+    private LinearLayout mContextView;
+    
+    public SplitActionBar(ActionBarView view, LinearLayout contextView) {
+        mActionView = view;
+        mContextView = contextView;
+    }
+    
+    public void setCallback(Callback callback) {
+        mActionView.setCallback(callback);
+    }
+
+    public void setCustomNavigationView(View view) {
+        mActionView.setCustomNavigationView(view);
+    }
+
+    public void setTitle(CharSequence title) {
+        mActionView.setTitle(title);
+    }
+
+    public void setSubtitle(CharSequence subtitle) {
+        mActionView.setSubtitle(subtitle);
+    }
+
+    public void setNavigationMode(int mode) {
+        mActionView.setNavigationMode(mode);
+    }
+
+    public void setDisplayOptions(int options) {
+        mActionView.setDisplayOptions(options);
+    }
+
+    public void setBackgroundDrawable(Drawable d) {
+        mActionView.setBackgroundDrawable(d);
+    }
+
+    public void setDividerDrawable(Drawable d) {
+        mActionView.setDividerDrawable(d);
+    }
+
+    public View getCustomNavigationView() {
+        return mActionView.getCustomNavigationView();
+    }
+
+    public CharSequence getTitle() {
+        return mActionView.getTitle();
+    }
+
+    public CharSequence getSubtitle() {
+        return mActionView.getSubtitle();
+    }
+
+    public int getNavigationMode() {
+        return mActionView.getNavigationMode();
+    }
+
+    public int getDisplayOptions() {
+        return mActionView.getDisplayOptions();
+    }
+
+    public void updateActionMenu() {
+        mActionView.updateActionMenu();
+    }
+
+}
diff --git a/core/java/com/android/internal/database/SortCursor.java b/core/java/com/android/internal/database/SortCursor.java
index 99410bc..12248a2 100644
--- a/core/java/com/android/internal/database/SortCursor.java
+++ b/core/java/com/android/internal/database/SortCursor.java
@@ -182,24 +182,6 @@
     }
 
     @Override
-    public boolean deleteRow()
-    {
-        return mCursor.deleteRow();
-    }
-
-    @Override
-    public boolean commitUpdates() {
-        int length = mCursors.length;
-        for (int i = 0 ; i < length ; i++) {
-            if (mCursors[i] != null) {
-                mCursors[i].commitUpdates();
-            }
-        }
-        onChange(true);
-        return true;
-    }
-
-    @Override
     public String getString(int column)
     {
         return mCursor.getString(column);
diff --git a/core/java/com/android/internal/view/menu/ActionMenu.java b/core/java/com/android/internal/view/menu/ActionMenu.java
new file mode 100644
index 0000000..3d44ebc
--- /dev/null
+++ b/core/java/com/android/internal/view/menu/ActionMenu.java
@@ -0,0 +1,263 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.internal.view.menu;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+import android.view.KeyEvent;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.SubMenu;
+
+/**
+ * @hide
+ */
+public class ActionMenu implements Menu {
+    private Context mContext;
+    
+    private boolean mIsQwerty;
+    
+    private ArrayList<ActionMenuItem> mItems;
+    
+    public ActionMenu(Context context) {
+        mContext = context;
+        mItems = new ArrayList<ActionMenuItem>();
+    }
+    
+    public Context getContext() {
+        return mContext;
+    }
+
+    public MenuItem add(CharSequence title) {
+        return add(0, 0, 0, title);
+    }
+
+    public MenuItem add(int titleRes) {
+        return add(0, 0, 0, titleRes);
+    }
+
+    public MenuItem add(int groupId, int itemId, int order, int titleRes) {
+        return add(groupId, itemId, order, mContext.getResources().getString(titleRes));
+    }
+    
+    public MenuItem add(int groupId, int itemId, int order, CharSequence title) {
+        ActionMenuItem item = new ActionMenuItem(getContext(),
+                groupId, itemId, 0, order, title);
+        mItems.add(order, item);
+        return item;
+    }
+
+    public int addIntentOptions(int groupId, int itemId, int order,
+            ComponentName caller, Intent[] specifics, Intent intent, int flags,
+            MenuItem[] outSpecificItems) {
+        PackageManager pm = mContext.getPackageManager();
+        final List<ResolveInfo> lri =
+                pm.queryIntentActivityOptions(caller, specifics, intent, 0);
+        final int N = lri != null ? lri.size() : 0;
+
+        if ((flags & FLAG_APPEND_TO_GROUP) == 0) {
+            removeGroup(groupId);
+        }
+
+        for (int i=0; i<N; i++) {
+            final ResolveInfo ri = lri.get(i);
+            Intent rintent = new Intent(
+                ri.specificIndex < 0 ? intent : specifics[ri.specificIndex]);
+            rintent.setComponent(new ComponentName(
+                    ri.activityInfo.applicationInfo.packageName,
+                    ri.activityInfo.name));
+            final MenuItem item = add(groupId, itemId, order, ri.loadLabel(pm))
+                    .setIcon(ri.loadIcon(pm))
+                    .setIntent(rintent);
+            if (outSpecificItems != null && ri.specificIndex >= 0) {
+                outSpecificItems[ri.specificIndex] = item;
+            }
+        }
+
+        return N;
+    }
+
+    public SubMenu addSubMenu(CharSequence title) {
+        // TODO Implement submenus
+        return null;
+    }
+
+    public SubMenu addSubMenu(int titleRes) {
+        // TODO Implement submenus
+        return null;
+    }
+
+    public SubMenu addSubMenu(int groupId, int itemId, int order,
+            CharSequence title) {
+        // TODO Implement submenus
+        return null;
+    }
+
+    public SubMenu addSubMenu(int groupId, int itemId, int order, int titleRes) {
+        // TODO Implement submenus
+        return null;
+    }
+
+    public void clear() {
+        mItems.clear();
+    }
+
+    public void close() {
+    }
+    
+    private int findItemIndex(int id) {
+        final ArrayList<ActionMenuItem> items = mItems;
+        final int itemCount = items.size();
+        for (int i = 0; i < itemCount; i++) {
+            if (items.get(i).getItemId() == id) {
+                return i;
+            }
+        }
+        
+        return -1;
+    }
+
+    public MenuItem findItem(int id) {
+        return mItems.get(findItemIndex(id));
+    }
+
+    public MenuItem getItem(int index) {
+        return mItems.get(index);
+    }
+
+    public boolean hasVisibleItems() {
+        final ArrayList<ActionMenuItem> items = mItems;
+        final int itemCount = items.size();
+        
+        for (int i = 0; i < itemCount; i++) {
+            if (items.get(i).isVisible()) {
+                return true;
+            }
+        }
+        
+        return false;
+    }
+    
+    private ActionMenuItem findItemWithShortcut(int keyCode, KeyEvent event) {
+        // TODO Make this smarter.
+        final boolean qwerty = mIsQwerty;
+        final ArrayList<ActionMenuItem> items = mItems;
+        final int itemCount = items.size();
+        
+        for (int i = 0; i < itemCount; i++) {
+            ActionMenuItem item = items.get(i);
+            final char shortcut = qwerty ? item.getAlphabeticShortcut() :
+                    item.getNumericShortcut();
+            if (keyCode == shortcut) {
+                return item;
+            }
+        }
+        return null;
+    }
+
+    public boolean isShortcutKey(int keyCode, KeyEvent event) {
+        return findItemWithShortcut(keyCode, event) != null;
+    }
+
+    public boolean performIdentifierAction(int id, int flags) {
+        final int index = findItemIndex(id);
+        if (index < 0) {
+            return false;
+        }
+
+        return mItems.get(index).invoke();
+    }
+
+    public boolean performShortcut(int keyCode, KeyEvent event, int flags) {
+        ActionMenuItem item = findItemWithShortcut(keyCode, event);
+        if (item == null) {
+            return false;
+        }
+        
+        return item.invoke();
+    }
+
+    public void removeGroup(int groupId) {
+        final ArrayList<ActionMenuItem> items = mItems;
+        int itemCount = items.size();
+        int i = 0;
+        while (i < itemCount) {
+            if (items.get(i).getGroupId() == groupId) {
+                items.remove(i);
+                itemCount--;
+            } else {
+                i++;
+            }
+        }
+    }
+
+    public void removeItem(int id) {
+        mItems.remove(findItemIndex(id));
+    }
+
+    public void setGroupCheckable(int group, boolean checkable,
+            boolean exclusive) {
+        final ArrayList<ActionMenuItem> items = mItems;
+        final int itemCount = items.size();
+        
+        for (int i = 0; i < itemCount; i++) {
+            ActionMenuItem item = items.get(i);
+            if (item.getGroupId() == group) {
+                item.setCheckable(checkable);
+                item.setExclusiveCheckable(exclusive);
+            }
+        }
+    }
+
+    public void setGroupEnabled(int group, boolean enabled) {
+        final ArrayList<ActionMenuItem> items = mItems;
+        final int itemCount = items.size();
+        
+        for (int i = 0; i < itemCount; i++) {
+            ActionMenuItem item = items.get(i);
+            if (item.getGroupId() == group) {
+                item.setEnabled(enabled);
+            }
+        }
+    }
+
+    public void setGroupVisible(int group, boolean visible) {
+        final ArrayList<ActionMenuItem> items = mItems;
+        final int itemCount = items.size();
+        
+        for (int i = 0; i < itemCount; i++) {
+            ActionMenuItem item = items.get(i);
+            if (item.getGroupId() == group) {
+                item.setVisible(visible);
+            }
+        }
+    }
+
+    public void setQwertyMode(boolean isQwerty) {
+        mIsQwerty = isQwerty;
+    }
+
+    public int size() {
+        return mItems.size();
+    }
+}
diff --git a/core/java/com/android/internal/view/menu/ActionMenuItem.java b/core/java/com/android/internal/view/menu/ActionMenuItem.java
new file mode 100644
index 0000000..47d5fb9
--- /dev/null
+++ b/core/java/com/android/internal/view/menu/ActionMenuItem.java
@@ -0,0 +1,221 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.internal.view.menu;
+
+import android.content.Context;
+import android.content.Intent;
+import android.graphics.drawable.Drawable;
+import android.view.MenuItem;
+import android.view.SubMenu;
+import android.view.ContextMenu.ContextMenuInfo;
+
+/**
+ * @hide
+ */
+public class ActionMenuItem implements MenuItem {
+    private final int mId;
+    private final int mGroup;
+    private final int mCategoryOrder;
+    private final int mOrdering;
+    
+    private CharSequence mTitle;
+    private CharSequence mTitleCondensed;
+    private Intent mIntent;
+    private char mShortcutNumericChar;
+    private char mShortcutAlphabeticChar;
+    
+    private Drawable mIconDrawable;
+    private int mIconResId = NO_ICON;
+    
+    private Context mContext;
+    
+    private MenuItem.OnMenuItemClickListener mClickListener;
+    
+    private static final int NO_ICON = 0;
+    
+    private int mFlags = ENABLED;
+    private static final int CHECKABLE      = 0x00000001;
+    private static final int CHECKED        = 0x00000002;
+    private static final int EXCLUSIVE      = 0x00000004;
+    private static final int HIDDEN         = 0x00000008;
+    private static final int ENABLED        = 0x00000010;
+    
+    public ActionMenuItem(Context context, int group, int id, int categoryOrder, int ordering,
+            CharSequence title) {
+        mContext = context;
+        mId = id;
+        mGroup = group;
+        mCategoryOrder = categoryOrder;
+        mOrdering = ordering;
+        mTitle = title;
+    }
+    
+    public char getAlphabeticShortcut() {
+        return mShortcutAlphabeticChar;
+    }
+
+    public int getGroupId() {
+        return mGroup;
+    }
+
+    public Drawable getIcon() {
+        return mIconDrawable;
+    }
+
+    public Intent getIntent() {
+        return mIntent;
+    }
+
+    public int getItemId() {
+        return mId;
+    }
+
+    public ContextMenuInfo getMenuInfo() {
+        return null;
+    }
+
+    public char getNumericShortcut() {
+        return mShortcutNumericChar;
+    }
+
+    public int getOrder() {
+        return mOrdering;
+    }
+
+    public SubMenu getSubMenu() {
+        return null;
+    }
+
+    public CharSequence getTitle() {
+        return mTitle;
+    }
+
+    public CharSequence getTitleCondensed() {
+        return mTitleCondensed;
+    }
+
+    public boolean hasSubMenu() {
+        return false;
+    }
+
+    public boolean isCheckable() {
+        return (mFlags & CHECKABLE) != 0; 
+    }
+
+    public boolean isChecked() {
+        return (mFlags & CHECKED) != 0;
+    }
+
+    public boolean isEnabled() {
+        return (mFlags & ENABLED) != 0;
+    }
+
+    public boolean isVisible() {
+        return (mFlags & HIDDEN) == 0;
+    }
+
+    public MenuItem setAlphabeticShortcut(char alphaChar) {
+        mShortcutAlphabeticChar = alphaChar;
+        return this;
+    }
+
+    public MenuItem setCheckable(boolean checkable) {
+        mFlags = (mFlags & ~CHECKABLE) | (checkable ? CHECKABLE : 0);
+        return this;
+    }
+    
+    public ActionMenuItem setExclusiveCheckable(boolean exclusive) {
+        mFlags = (mFlags & ~EXCLUSIVE) | (exclusive ? EXCLUSIVE : 0);
+        return this;
+    }
+
+    public MenuItem setChecked(boolean checked) {
+        mFlags = (mFlags & ~CHECKED) | (checked ? CHECKED : 0);
+        return this;
+    }
+
+    public MenuItem setEnabled(boolean enabled) {
+        mFlags = (mFlags & ~ENABLED) | (enabled ? ENABLED : 0);
+        return this;
+    }
+
+    public MenuItem setIcon(Drawable icon) {
+        mIconDrawable = icon;
+        mIconResId = NO_ICON;
+        return this;
+    }
+
+    public MenuItem setIcon(int iconRes) {
+        mIconResId = iconRes;
+        mIconDrawable = mContext.getResources().getDrawable(iconRes);
+        return this;
+    }
+
+    public MenuItem setIntent(Intent intent) {
+        mIntent = intent;
+        return this;
+    }
+
+    public MenuItem setNumericShortcut(char numericChar) {
+        mShortcutNumericChar = numericChar;
+        return this;
+    }
+
+    public MenuItem setOnMenuItemClickListener(OnMenuItemClickListener menuItemClickListener) {
+        mClickListener = menuItemClickListener;
+        return this;
+    }
+
+    public MenuItem setShortcut(char numericChar, char alphaChar) {
+        mShortcutNumericChar = numericChar;
+        mShortcutAlphabeticChar = alphaChar;
+        return this;
+    }
+
+    public MenuItem setTitle(CharSequence title) {
+        mTitle = title;
+        return this;
+    }
+
+    public MenuItem setTitle(int title) {
+        mTitle = mContext.getResources().getString(title);
+        return this;
+    }
+
+    public MenuItem setTitleCondensed(CharSequence title) {
+        mTitleCondensed = title;
+        return this;
+    }
+
+    public MenuItem setVisible(boolean visible) {
+        mFlags = (mFlags & HIDDEN) | (visible ? 0 : HIDDEN);
+        return this;
+    }
+
+    public boolean invoke() {
+        if (mClickListener != null && mClickListener.onMenuItemClick(this)) {
+            return true;
+        }
+        
+        if (mIntent != null) {
+            mContext.startActivity(mIntent);
+            return true;
+        }
+        
+        return false;
+    }
+}
diff --git a/core/java/com/android/internal/widget/LockPatternUtils.java b/core/java/com/android/internal/widget/LockPatternUtils.java
index dbbd286..56bc851 100644
--- a/core/java/com/android/internal/widget/LockPatternUtils.java
+++ b/core/java/com/android/internal/widget/LockPatternUtils.java
@@ -86,12 +86,20 @@
      */
     public static final int MIN_PATTERN_REGISTER_FAIL = 3;
 
+    /**
+     * The number of previous password hashes to store. This is used to prevent
+     * the user from setting the same password as any of the stored ones.
+     */
+    public static final int MAX_PASSWORD_HISTORY_LENGTH = 5;
+
     private final static String LOCKOUT_PERMANENT_KEY = "lockscreen.lockedoutpermanently";
     private final static String LOCKOUT_ATTEMPT_DEADLINE = "lockscreen.lockoutattemptdeadline";
     private final static String PATTERN_EVER_CHOSEN_KEY = "lockscreen.patterneverchosen";
     public final static String PASSWORD_TYPE_KEY = "lockscreen.password_type";
     private final static String LOCK_PASSWORD_SALT_KEY = "lockscreen.password_salt";
 
+    private final static String PASSWORD_HISTORY_KEY = "lockscreen.passwordhistory";
+
     private final Context mContext;
     private final ContentResolver mContentResolver;
     private DevicePolicyManager mDevicePolicyManager;
@@ -202,8 +210,22 @@
     }
 
     /**
-     * Checks to see if the given file exists and contains any data. Returns true if it does,
-     * false otherwise.
+     * Check to see if a password matches any of the passwords stored in the
+     * password history.
+     *
+     * @param password The password to check.
+     * @return Whether the password matches any in the history.
+     */
+    public boolean checkPasswordHistory(String password) {
+        String passwordHashString = new String(passwordToHash(password));
+        String passwordHistory = getString(PASSWORD_HISTORY_KEY);
+        return passwordHistory != null && passwordHistory.contains(passwordHashString);
+    }
+
+    /**
+     * Checks to see if the given file exists and contains any data. Returns
+     * true if it does, false otherwise.
+     *
      * @param filename
      * @return true if file exists and is non-empty.
      */
@@ -384,6 +406,20 @@
                     dpm.setActivePasswordState(
                             DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED, 0);
                 }
+                // Add the password to the password history. We assume all
+                // password
+                // hashes have the same length for simplicity of implementation.
+                String passwordHistory = getString(PASSWORD_HISTORY_KEY);
+                if (passwordHistory == null) {
+                    passwordHistory = new String();
+                }
+                passwordHistory = new String(hash) + "," + passwordHistory;
+                // Cut it to contain MAX_PASSWORD_HISTORY_LENGTH hashes
+                // and MAX_PASSWORD_HISTORY_LENGTH -1 commas.
+                passwordHistory = passwordHistory.substring(0, Math.min(hash.length
+                        * MAX_PASSWORD_HISTORY_LENGTH + MAX_PASSWORD_HISTORY_LENGTH - 1,
+                        passwordHistory.length()));
+                setString(PASSWORD_HISTORY_KEY, passwordHistory);
             } else {
                 dpm.setActivePasswordState(
                         DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED, 0);
@@ -650,6 +686,14 @@
         android.provider.Settings.Secure.putLong(mContentResolver, secureSettingKey, value);
     }
 
+    private String getString(String secureSettingKey) {
+        return android.provider.Settings.Secure.getString(mContentResolver, secureSettingKey);
+    }
+
+    private void setString(String secureSettingKey, String value) {
+        android.provider.Settings.Secure.putString(mContentResolver, secureSettingKey, value);
+    }
+
     public boolean isSecure() {
         long mode = getKeyguardStoredPasswordQuality();
         final boolean isPattern = mode == DevicePolicyManager.PASSWORD_QUALITY_SOMETHING;
diff --git a/core/jni/android/graphics/Canvas.cpp b/core/jni/android/graphics/Canvas.cpp
index e1e9536..4c7e762 100644
--- a/core/jni/android/graphics/Canvas.cpp
+++ b/core/jni/android/graphics/Canvas.cpp
@@ -30,6 +30,8 @@
 #include "SkBoundaryPatch.h"
 #include "SkMeshUtils.h"
 
+#include "unicode/ubidi.h"
+
 #define TIME_DRAWx
 
 static uint32_t get_thread_msec() {
@@ -52,6 +54,24 @@
 class SkCanvasGlue {
 public:
 
+    enum {
+      kDirection_LTR = 0,
+      kDirection_RTL = 1
+    };
+
+    enum {
+      kDirection_Mask = 0x1
+    };
+
+    enum {
+      kBidi_LTR = 0,
+      kBidi_RTL = 1,
+      kBidi_Default_LTR = 2,
+      kBidi_Default_RTL = 3,
+      kBidi_Force_LTR = 4,
+      kBidi_Force_RTL = 5
+    };
+
     static void finalizer(JNIEnv* env, jobject clazz, SkCanvas* canvas) {
         canvas->unref();
     }
@@ -743,45 +763,206 @@
         canvas->drawVertices(mode, ptCount, verts, texs, colors, NULL,
                              indices, indexCount, *paint);
     }
-    
-    static void drawText___CIIFFPaint(JNIEnv* env, jobject, SkCanvas* canvas,
-                                      jcharArray text, int index, int count,
-                                      jfloat x, jfloat y, SkPaint* paint) {
-        jchar* textArray = env->GetCharArrayElements(text, NULL);
-        jsize textCount = env->GetArrayLength(text);
+
+    static void shapeRtlText__(const jchar* text, jsize len, jsize start, jsize count, jchar* shaped) {
+        // fake shaping, just reverse the text
+        for (int i = 0; i < count; ++i) {
+            shaped[i] = text[start + count - 1 - i];
+        }
+        // fix surrogate pairs, if any
+        for (int i = 1; i < count; ++i) {
+            if (shaped[i] >= 0xd800 && shaped[i] < 0xdc00 && 
+                    shaped[i-1] >= 0xdc00 && shaped[i-1] < 0xe000) {
+                jchar c = shaped[i]; shaped[i] = shaped[i-1]; shaped[i-1] = c;
+                i += 1;
+            }
+        }
+    }
+
+    static void drawText__(JNIEnv* env, SkCanvas* canvas, const jchar* text, jsize len,
+                           jfloat x, jfloat y, int flags, SkPaint* paint) {
         SkScalar x_ = SkFloatToScalar(x);
         SkScalar y_ = SkFloatToScalar(y);
-        canvas->drawText(textArray + index, count << 1, x_, y_, *paint);
-        env->ReleaseCharArrayElements(text, textArray, 0);
+
+	SkPaint::Align horiz = paint->getTextAlign();
+
+        bool needBidi = (flags == kBidi_RTL) || (flags == kBidi_Default_RTL);
+        if (!needBidi && flags < kBidi_Force_LTR) {
+            for (int i = 0; i < len; ++i) {
+                if (text[i] >= 0x0590) {
+                    needBidi = TRUE;
+                    break;
+                }
+            }
+        }
+
+        int dir = (flags == kBidi_Force_RTL) ? kDirection_RTL : kDirection_LTR; // will be reset if we run bidi
+        UErrorCode status = U_ZERO_ERROR;
+        jchar *shaped = NULL;
+        int32_t slen = 0;
+        if (needBidi || (flags == kBidi_Force_RTL)) {
+            shaped = (jchar *)malloc(len * sizeof(jchar));
+            if (!shaped) {
+                status = U_MEMORY_ALLOCATION_ERROR;
+            } else {
+                if (needBidi) {
+                    static int RTL_OPTS = UBIDI_DO_MIRRORING | UBIDI_KEEP_BASE_COMBINING |
+                            UBIDI_REMOVE_BIDI_CONTROLS | UBIDI_OUTPUT_REVERSE;
+                    jint lineDir = 0;
+                    switch (flags) {
+                    case kBidi_LTR: lineDir = 0; break; // no ICU constant, canonical LTR level
+                    case kBidi_RTL: lineDir = 1; break; // no ICU constant, canonical RTL level
+                    case kBidi_Default_LTR: lineDir = UBIDI_DEFAULT_LTR; break;
+                    case kBidi_Default_RTL: lineDir = UBIDI_DEFAULT_RTL; break;
+                    }
+                      
+                    UBiDi* bidi = ubidi_open();
+                    ubidi_setPara(bidi, text, len, lineDir, NULL, &status);
+                    if (U_SUCCESS(status)) {
+                        dir = ubidi_getParaLevel(bidi) & 0x1;
+
+                        int rc = ubidi_countRuns(bidi, &status);
+                        if (U_SUCCESS(status)) {
+                            int32_t start;
+                            int32_t length;
+                            UBiDiDirection dir;
+                            jchar *buffer = NULL;
+                            for (int i = 0; i < rc; ++i) {
+                                dir = ubidi_getVisualRun(bidi, i, &start, &length);
+                                // fake shaping, except it doesn't shape, just mirrors and reverses
+                                // use harfbuzz when available
+                                if (dir == UBIDI_RTL) {
+                                    slen += ubidi_writeReverse(text + start, length, shaped + slen,
+                                                               length, RTL_OPTS, &status);
+                                } else {
+                                    for (int i = 0; i < length; ++i) {
+                                        shaped[slen + i] = text[start + i];
+                                    }
+                                    slen += length;
+                                }
+                            }
+                        }
+                        ubidi_close(bidi);
+                    } 
+                } else {
+                    shapeRtlText__(text, len, 0, len, shaped);
+                }
+            }
+        }
+
+        if (!U_SUCCESS(status)) {
+            char buffer[35];
+            sprintf(buffer, "DrawText bidi error %d", status);
+            doThrowIAE(env, buffer);
+        } else {
+            bool trimLeft = false;
+            bool trimRight = false;
+
+            switch (horiz) {
+            case SkPaint::kLeft_Align: trimLeft = dir & kDirection_Mask; break;
+            case SkPaint::kCenter_Align: trimLeft = trimRight = true; break;
+            case SkPaint::kRight_Align: trimRight = !(dir & kDirection_Mask);
+            default: break;
+            }
+            const jchar* workText = shaped ? shaped : text;
+            const jchar* workLimit = workText + len;
+
+            if (trimLeft) {
+                while (workText < workLimit && *workText == ' ') {
+                    ++workText;
+                }
+            }
+            if (trimRight) {
+                while (workLimit > workText && *(workLimit - 1) == ' ') {
+                    --workLimit;
+                }
+            }
+            int32_t workBytes = (workLimit - workText) << 1;
+
+            canvas->drawText(workText, workBytes, x_, y_, *paint);
+        }
+
+        if (shaped) {
+            free(shaped);
+        }
+    }
+    
+    static void drawText___CIIFFIPaint(JNIEnv* env, jobject, SkCanvas* canvas,
+                                      jcharArray text, int index, int count,
+                                      jfloat x, jfloat y, int flags, SkPaint* paint) {
+        jchar* textArray = env->GetCharArrayElements(text, NULL);
+        drawText__(env, canvas, textArray + index, count, x, y, flags, paint);
+        env->ReleaseCharArrayElements(text, textArray, JNI_ABORT);
     }
  
-    static void drawText__StringIIFFPaint(JNIEnv* env, jobject,
-                            SkCanvas* canvas, jstring text, int start, int end,
-                                          jfloat x, jfloat y, SkPaint* paint) {
-        const void* text_ = env->GetStringChars(text, NULL);
+    static void drawText__StringIIFFIPaint(JNIEnv* env, jobject,
+                                          SkCanvas* canvas, jstring text, 
+                                          int start, int end,
+                                          jfloat x, jfloat y, int flags, SkPaint* paint) {
+        const jchar* textArray = env->GetStringChars(text, NULL);
+        drawText__(env, canvas, textArray + start, end - start, x, y, flags, paint);
+        env->ReleaseStringChars(text, textArray);
+    }
+    
+    // Draws a unidirectional run of text.  Does not run bidi, but does reorder the
+    // text and run shaping (or will, when we have harfbuzz support).
+    static void drawTextRun__(JNIEnv* env, SkCanvas* canvas, const jchar* chars, int len, 
+                              int start, int count,
+                              jfloat x, jfloat y, int flags, SkPaint* paint) {
+
         SkScalar x_ = SkFloatToScalar(x);
         SkScalar y_ = SkFloatToScalar(y);
-        canvas->drawText((const uint16_t*)text_ + start, (end - start) << 1,
-                         x_, y_, *paint);
-        env->ReleaseStringChars(text, (const jchar*) text_);
-    }
-    
-    static void drawString(JNIEnv* env, jobject canvas, jstring text,
-                           jfloat x, jfloat y, jobject paint) {
-        NPE_CHECK_RETURN_VOID(env, canvas);
-        NPE_CHECK_RETURN_VOID(env, paint);
-        NPE_CHECK_RETURN_VOID(env, text);
-        size_t count = env->GetStringLength(text);
-        if (0 == count) {
-            return;
+
+        uint8_t rtl = flags & 0x1;
+
+        UErrorCode status = U_ZERO_ERROR;
+        jchar *shaped = NULL;
+        if (rtl) {
+            shaped = (jchar *)malloc(count * sizeof(jchar));
+            if (!shaped) {
+                status = U_MEMORY_ALLOCATION_ERROR;
+            } else {
+                shapeRtlText__(chars, len, start, count, shaped);
+            }
         }
-        const jchar* text_ = env->GetStringChars(text, NULL);
-        SkCanvas* c = GraphicsJNI::getNativeCanvas(env, canvas);
-        c->drawText(text_, count << 1, SkFloatToScalar(x), SkFloatToScalar(y),
-                    *GraphicsJNI::getNativePaint(env, paint));
-        env->ReleaseStringChars(text, text_);
+
+        if (!U_SUCCESS(status)) {
+            char buffer[30];
+            sprintf(buffer, "DrawTextRun error %d", status);
+            doThrowIAE(env, buffer);
+        } else {
+            if (shaped) {
+                canvas->drawText(shaped, count << 1, x_, y_, *paint);
+            } else {
+                canvas->drawText(chars + start, count << 1, x_, y_, *paint);
+            }
+        }
+
+        if (shaped) {
+            free(shaped);
+        }
     }
-    
+
+    static void drawTextRun___CIIFFIPaint(
+        JNIEnv* env, jobject, SkCanvas* canvas, jcharArray text, int index,
+        int count, jfloat x, jfloat y, int flags, SkPaint* paint) {
+
+        jint len = env->GetArrayLength(text);
+        jchar* chars = env->GetCharArrayElements(text, NULL);
+        drawTextRun__(env, canvas, chars, len, index, count, x, y, flags, paint);
+        env->ReleaseCharArrayElements(text, chars, JNI_ABORT);
+    }
+
+    static void drawTextRun__StringIIFFIPaint(
+        JNIEnv* env, jobject obj, SkCanvas* canvas, jstring text, int start,
+        int end, jfloat x, jfloat y, int flags, SkPaint* paint) {
+
+        jint len = env->GetStringLength(text);
+        const jchar* chars = env->GetStringChars(text, NULL);
+        drawTextRun__(env, canvas, chars, len, start, end - start, x, y, flags, paint);
+        env->ReleaseStringChars(text, chars);
+    }
+
     static void drawPosText___CII_FPaint(JNIEnv* env, jobject, SkCanvas* canvas,
                                          jcharArray text, int index, int count,
                                          jfloatArray pos, SkPaint* paint) {
@@ -947,12 +1128,14 @@
         (void*)SkCanvasGlue::drawBitmapMesh},
     {"nativeDrawVertices", "(III[FI[FI[II[SIII)V",
         (void*)SkCanvasGlue::drawVertices},
-    {"native_drawText","(I[CIIFFI)V",
-        (void*) SkCanvasGlue::drawText___CIIFFPaint},
-    {"native_drawText","(ILjava/lang/String;IIFFI)V",
-        (void*) SkCanvasGlue::drawText__StringIIFFPaint},
-    {"drawText","(Ljava/lang/String;FFLandroid/graphics/Paint;)V",
-        (void*) SkCanvasGlue::drawString},
+    {"native_drawText","(I[CIIFFII)V",
+        (void*) SkCanvasGlue::drawText___CIIFFIPaint},
+    {"native_drawText","(ILjava/lang/String;IIFFII)V",
+        (void*) SkCanvasGlue::drawText__StringIIFFIPaint},
+    {"native_drawTextRun","(I[CIIFFII)V",
+        (void*) SkCanvasGlue::drawTextRun___CIIFFIPaint},
+    {"native_drawTextRun","(ILjava/lang/String;IIFFII)V",
+        (void*) SkCanvasGlue::drawTextRun__StringIIFFIPaint},
     {"native_drawPosText","(I[CII[FI)V",
         (void*) SkCanvasGlue::drawPosText___CII_FPaint},
     {"native_drawPosText","(ILjava/lang/String;[FI)V",
diff --git a/core/jni/android_bluetooth_HeadsetBase.cpp b/core/jni/android_bluetooth_HeadsetBase.cpp
index b0b0cb8..5593a26 100644
--- a/core/jni/android_bluetooth_HeadsetBase.cpp
+++ b/core/jni/android_bluetooth_HeadsetBase.cpp
@@ -169,7 +169,7 @@
     // never receive non-ASCII UTF-8).
     // This was added because of the BMW 2005 E46 which sends binary junk.
     if (is_ascii(buf)) {
-        LOG(LOG_INFO, "Bluetooth AT recv", buf);
+        LOG(LOG_INFO, "Bluetooth AT recv", "%s", buf);
     } else {
         LOGW("Ignoring invalid AT command: %s", buf);
         buf[0] = NULL;
@@ -494,7 +494,7 @@
             }
         }
     }
-    LOG(LOG_INFO, "Bluetooth AT sent", buf);
+    LOG(LOG_INFO, "Bluetooth AT sent", "%s", buf);
 
     free(buf);
 }
diff --git a/core/jni/android_util_Process.cpp b/core/jni/android_util_Process.cpp
index e84f2e5..68be741 100644
--- a/core/jni/android_util_Process.cpp
+++ b/core/jni/android_util_Process.cpp
@@ -311,8 +311,8 @@
             sprintf(text, "%d", adj);
             write(fd, text, strlen(text));
             close(fd);
-            return true;
         }
+        return true;
     }
 #endif
     return false;
@@ -797,6 +797,13 @@
     }
 }
 
+void android_os_Process_sendSignalQuiet(JNIEnv* env, jobject clazz, jint pid, jint sig)
+{
+    if (pid > 0) {
+        kill(pid, sig);
+    }
+}
+
 static jlong android_os_Process_getElapsedCpuTime(JNIEnv* env, jobject clazz)
 {
     struct timespec ts;
@@ -854,6 +861,7 @@
     {"setUid", "(I)I", (void*)android_os_Process_setUid},
     {"setGid", "(I)I", (void*)android_os_Process_setGid},
     {"sendSignal", "(II)V", (void*)android_os_Process_sendSignal},
+    {"sendSignalQuiet", "(II)V", (void*)android_os_Process_sendSignalQuiet},
     {"supportsProcesses", "()Z", (void*)android_os_Process_supportsProcesses},
     {"getFreeMemory", "()J", (void*)android_os_Process_getFreeMemory},
     {"readProcLines", "(Ljava/lang/String;[Ljava/lang/String;[J)V", (void*)android_os_Process_readProcLines},
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index ccfeae3..216c387 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -1233,12 +1233,12 @@
         android:description="@string/permlab_copyProtectedData"
         android:protectionLevel="signature" />
 
-    <!-- Push messaging permission. 
+    <!-- C2DM permission. 
          @hide Used internally.
      -->
-    <permission android:name="android.intent.category.MASTER_CLEAR.permission.PUSH_MESSAGE"
+    <permission android:name="android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE"
           android:protectionLevel="signature" />
-    <uses-permission android:name="android.intent.category.MASTER_CLEAR.permission.PUSH_MESSAGE"/>
+    <uses-permission android:name="android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE"/>
 
     <application android:process="system"
                  android:persistent="true"
@@ -1322,7 +1322,7 @@
                 <action android:name="android.intent.action.MASTER_CLEAR" />
 
                 <!-- MCS always uses REMOTE_INTENT: category=MASTER_CLEAR -->
-                <action android:name="com.google.android.pushmessaging.intent.RECEIVE" />
+                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
                 <category android:name="android.intent.category.MASTER_CLEAR" />
             </intent-filter>
         </receiver>
diff --git a/core/res/res/drawable/action_bar_background.xml b/core/res/res/drawable/action_bar_background.xml
new file mode 100644
index 0000000..3929d7f
--- /dev/null
+++ b/core/res/res/drawable/action_bar_background.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2010 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <gradient
+        android:startColor="#ffd1d2d4"
+        android:endColor="#ff85878a"
+        android:angle="270" />
+</shape>
diff --git a/core/res/res/drawable/action_bar_divider.xml b/core/res/res/drawable/action_bar_divider.xml
new file mode 100644
index 0000000..414309f
--- /dev/null
+++ b/core/res/res/drawable/action_bar_divider.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2010 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <gradient
+        android:startColor="#ffe1e2e4"
+        android:endColor="#ff95979a"
+        android:angle="270" />
+</shape>
diff --git a/core/res/res/layout/action_bar_title_item.xml b/core/res/res/layout/action_bar_title_item.xml
new file mode 100644
index 0000000..d7f7c13
--- /dev/null
+++ b/core/res/res/layout/action_bar_title_item.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2010 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+  
+          http://www.apache.org/licenses/LICENSE-2.0
+  
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<TextView
+    xmlns:android="http://schemas.android.com/apk/res/android"
+
+    android:singleLine="true"
+    android:ellipsize="end"
+    android:textAppearance="?android:attr/textAppearanceMediumInverse" />
diff --git a/core/res/res/layout/screen_action_bar.xml b/core/res/res/layout/screen_action_bar.xml
new file mode 100644
index 0000000..01a4b42
--- /dev/null
+++ b/core/res/res/layout/screen_action_bar.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2010 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+  
+          http://www.apache.org/licenses/LICENSE-2.0
+  
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!--
+This is an optimized layout for a screen with the Action Bar enabled.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:fitsSystemWindows="true">
+    <ActionBarView android:id="@+id/action_bar"
+               android:layout_width="match_parent"
+               android:layout_height="wrap_content"
+               style="?android:attr/windowActionBarStyle" />
+    <FrameLayout android:id="@android:id/content"
+        android:layout_width="match_parent" 
+        android:layout_height="0dip"
+        android:layout_weight="1"
+        android:foregroundGravity="fill_horizontal|top"
+        android:foreground="?android:attr/windowContentOverlay" />
+    <LinearLayout android:id="@+id/context_action_bar"
+                  android:layout_width="match_parent"
+                  android:layout_height="wrap_content"
+                  style="?android:attr/windowActionBarStyle"
+                  android:visibility="gone" />
+</LinearLayout>
+
diff --git a/core/res/res/values/arrays.xml b/core/res/res/values/arrays.xml
index 0c065ef..4672c0e 100644
--- a/core/res/res/values/arrays.xml
+++ b/core/res/res/values/arrays.xml
@@ -71,6 +71,20 @@
         <item>@drawable/indicator_code_lock_point_area_default</item>
         <item>@drawable/indicator_code_lock_point_area_green</item>
         <item>@drawable/indicator_code_lock_point_area_red</item>
+        <!-- SlidingTab drawables shared by InCallScreen and LockScreen -->
+        <item>@drawable/jog_tab_bar_left_end_confirm_gray</item>
+        <item>@drawable/jog_tab_bar_left_end_normal</item>
+        <item>@drawable/jog_tab_bar_left_end_pressed</item>
+        <item>@drawable/jog_tab_bar_right_end_confirm_gray</item>
+        <item>@drawable/jog_tab_bar_right_end_normal</item>
+        <item>@drawable/jog_tab_bar_right_end_pressed</item>
+        <item>@drawable/jog_tab_left_confirm_gray</item>
+        <item>@drawable/jog_tab_left_normal</item>
+        <item>@drawable/jog_tab_left_pressed</item>
+        <item>@drawable/jog_tab_right_confirm_gray</item>
+        <item>@drawable/jog_tab_right_normal</item>
+        <item>@drawable/jog_tab_right_pressed</item>
+        <item>@drawable/jog_tab_target_gray</item>
     </array>
 
     <!-- Do not translate. These are all of the color state list resources that should be
diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml
index 1449b02..e7b83c7 100755
--- a/core/res/res/values/attrs.xml
+++ b/core/res/res/values/attrs.xml
@@ -244,6 +244,13 @@
              {@link android.R.styleable#WindowAnimation}. -->
         <attr name="windowAnimationStyle" format="reference" />
 
+        <!-- Flag indicating whether this window should have an Action Bar
+             in place of the usual title bar. -->
+        <attr name="windowActionBar" format="boolean" />
+
+        <!-- Reference to a style for the Action Bar -->
+        <attr name="windowActionBarStyle" format="reference" />
+
         <!-- Defines the default soft input state that this window would
              like when it is displayed. -->
         <attr name="windowSoftInputMode">
@@ -948,6 +955,8 @@
         <attr name="textColor" />
         <attr name="backgroundDimEnabled" />
         <attr name="backgroundDimAmount" />
+        <attr name="windowActionBar" />
+        <attr name="windowActionBarStyle" />
     </declare-styleable>
 
     <!-- The set of attributes that describe a AlertDialog's theme. -->
@@ -3243,6 +3252,10 @@
         <!-- Whether the item is enabled. -->
         <attr name="enabled" />
 
+        <!-- Name of a method on the Context used to inflate the menu that will be
+             called when the item is clicked. -->
+        <attr name="onClick" />
+
     </declare-styleable>
 
     <!-- **************************************************************** -->
@@ -3762,4 +3775,42 @@
         <attr name="withClass" format="string" />
     </declare-styleable>
 
+    <!-- Attributes used to style the Action Bar. -->
+    <declare-styleable name="ActionBar">
+        <!-- The type of navigation to use. -->
+        <attr name="navigationMode">
+            <!-- Normal static title text -->
+            <enum name="normal" value="0" />
+            <!-- The action bar will use a drop-down selection in place of title text. -->
+            <enum name="dropdownList" value="1" />
+            <!-- The action bar will use a series of horizontal tabs in place of title text. -->
+            <enum name="tabBar" value="2" />
+        </attr>
+        <!-- Options affecting how the action bar is displayed. -->
+        <attr name="displayOptions">
+            <flag name="useLogo" value="1" />
+            <flag name="hideHome" value="2" />
+        </attr>
+        <!-- Specifies the color used to style the action bar. -->
+        <attr name="colorFilter" format="color" />
+        <!-- Specifies title text used for navigationMode="normal" -->
+        <attr name="title" />
+        <!-- Specifies subtitle text used for navigationMode="normal" -->
+        <attr name="subtitle" format="string" />
+        <!-- Specifies a style to use for title text. -->
+        <attr name="titleTextStyle" format="reference" />
+        <!-- Specifies a style to use for subtitle text. -->
+        <attr name="subtitleTextStyle" format="reference" />
+        <!-- Specifies the drawable used for the application icon. -->
+        <attr name="icon" />
+        <!-- Specifies the drawable used for the application logo. -->
+        <attr name="logo" />
+        <!-- Specifies the drawable used for item dividers. -->
+        <attr name="divider" />
+        <!-- Specifies a background drawable for the action bar. -->
+        <attr name="background" />
+        <!-- Specifies a layout for custom navigation. Overrides navigationMode. -->
+        <attr name="customNavigationLayout" format="reference" />
+    </declare-styleable>
+
 </resources>
diff --git a/core/res/res/values/ids.xml b/core/res/res/values/ids.xml
index 8b6af71..e607fad5 100644
--- a/core/res/res/values/ids.xml
+++ b/core/res/res/values/ids.xml
@@ -68,4 +68,5 @@
   <item type="id" name="accountPreferences" />
   <item type="id" name="smallIcon" />
   <item type="id" name="custom" />
+  <item type="id" name="home" />
 </resources>
diff --git a/core/res/res/values/public.xml b/core/res/res/values/public.xml
index fe27174..9055970 100644
--- a/core/res/res/values/public.xml
+++ b/core/res/res/values/public.xml
@@ -1275,5 +1275,15 @@
   <public type="attr" name="withExpression" />
   <public type="attr" name="withClass" />
   <public type="attr" name="allContactsName" />
+  <public type="attr" name="windowActionBar" />
+  <public type="attr" name="windowActionBarStyle" />
+  <public type="attr" name="navigationMode" />
+  <public type="attr" name="displayOptions" />
+  <public type="attr" name="subtitle" />
+  <public type="attr" name="customNavigationLayout" />
+
+  <public type="id" name="home" />
+
+  <public type="style" name="Theme.WithActionBar" />
 
 </resources>
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
index 96d30a3..870770f 100644
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -60,6 +60,10 @@
     <!-- Displayed when the user dialed an MMI code whose function
          could not be performed. This will be displayed in a toast. -->
     <string name="mmiError">Connection problem or invalid MMI code.</string>
+    <!-- Displayed when the user dialed an MMI code whose function
+         could not be performed because FDN is enabled. This will be displayed in a toast. -->
+    <string name="mmiFdnError">Operation is restricted to fixed dialing numbers only.</string>
+
     <!-- Displayed when a phone feature such as call barring was activated. -->
     <string name="serviceEnabled">Service was enabled.</string>
     <!-- Displayed in front of the list of a set of service classes
diff --git a/core/res/res/values/styles.xml b/core/res/res/values/styles.xml
index f9b0667..73c3444 100644
--- a/core/res/res/values/styles.xml
+++ b/core/res/res/values/styles.xml
@@ -840,4 +840,10 @@
         <item name="android:paddingBottom">1dip</item>
         <item name="android:background">@android:drawable/bottom_bar</item>
     </style>
+
+    <style name="ActionBar">
+        <item name="android:background">@android:drawable/action_bar_background</item>
+        <item name="android:displayOptions">useLogo</item>
+        <item name="android:divider">@android:drawable/action_bar_divider</item>
+    </style>
 </resources>
diff --git a/core/res/res/values/themes.xml b/core/res/res/values/themes.xml
index d585d9e..32c5f47 100644
--- a/core/res/res/values/themes.xml
+++ b/core/res/res/values/themes.xml
@@ -115,6 +115,8 @@
         <item name="windowTitleBackgroundStyle">@android:style/WindowTitleBackground</item>
         <item name="android:windowAnimationStyle">@android:style/Animation.Activity</item>
         <item name="android:windowSoftInputMode">stateUnspecified|adjustUnspecified</item>
+        <item name="windowActionBar">false</item>
+        <item name="windowActionBarStyle">@android:style/ActionBar</item>
 
         <!-- Dialog attributes -->
         <item name="alertDialogStyle">@android:style/AlertDialog</item>
@@ -521,5 +523,9 @@
         <item name="android:windowAnimationStyle">@android:style/Animation.RecentApplications</item>
         <item name="android:textColor">@android:color/secondary_text_nofocus</item>
     </style>
+
+    <style name="Theme.WithActionBar">
+        <item name="android:windowActionBar">true</item>
+    </style>
     
 </resources>
diff --git a/core/tests/coretests/src/android/content/pm/PackageManagerTests.java b/core/tests/coretests/src/android/content/pm/PackageManagerTests.java
index 82834b6..5571341 100755
--- a/core/tests/coretests/src/android/content/pm/PackageManagerTests.java
+++ b/core/tests/coretests/src/android/content/pm/PackageManagerTests.java
@@ -2346,6 +2346,49 @@
 
         }
     }
+
+    /* This test installs an application on sdcard and unmounts media.
+     * The app is then re-installed on internal storage. The sdcard is mounted
+     * and verified that the re-installation on internal storage takes precedence.
+     */
+    @MediumTest
+    public void testInstallSdcardStaleContainerReinstall() {
+        boolean origMediaState = getMediaState();
+        try {
+            // Mount media first
+            mountMedia();
+            String outFileName = "install.apk";
+            int rawResId = R.raw.install;
+            PackageManager pm = mContext.getPackageManager();
+            File filesDir = mContext.getFilesDir();
+            File outFile = new File(filesDir, outFileName);
+            Uri packageURI = getInstallablePackage(rawResId, outFile);
+            PackageParser.Package pkg = parsePackage(packageURI);
+            assertNotNull(pkg);
+            // Install an app on sdcard.
+            installFromRawResource(outFileName, rawResId,
+                    PackageManager.INSTALL_EXTERNAL, false,
+                    false, -1, PackageInfo.INSTALL_LOCATION_UNSPECIFIED);
+            // Unmount sdcard
+            unmountMedia();
+            // Reinstall the app and make sure it gets installed on internal storage.
+            installFromRawResource(outFileName, rawResId,
+                    PackageManager.INSTALL_REPLACE_EXISTING, false,
+                    false, -1, PackageInfo.INSTALL_LOCATION_UNSPECIFIED);
+            mountMedia();
+            // Verify that the app installed is on internal storage.
+            assertInstall(pkg, 0, PackageInfo.INSTALL_LOCATION_INTERNAL_ONLY);            
+        } catch (Exception e) {
+            failStr(e.getMessage());
+        } finally {
+            if (origMediaState) {
+                mountMedia();
+            } else {
+                unmountMedia();
+            }
+
+        }
+    }
     /*
      * The following series of tests are related to upgrading apps with
      * different certificates.
diff --git a/core/tests/coretests/src/android/database/DatabaseCursorTest.java b/core/tests/coretests/src/android/database/DatabaseCursorTest.java
index fb5a36f..0265c87 100644
--- a/core/tests/coretests/src/android/database/DatabaseCursorTest.java
+++ b/core/tests/coretests/src/android/database/DatabaseCursorTest.java
@@ -92,43 +92,6 @@
     }
 
     @MediumTest
-    public void testCursorUpdate() {
-        mDatabase.execSQL(
-            "CREATE TABLE test (_id INTEGER PRIMARY KEY, d INTEGER, s INTEGER);");
-        for(int i = 0; i < 20; i++) {
-            mDatabase.execSQL("INSERT INTO test (d, s) VALUES (" + i + 
-                "," + i%2 + ");");
-        }
-        
-        Cursor c = mDatabase.query("test", null, "s = 0", null, null, null, null);
-        int dCol = c.getColumnIndexOrThrow("d");
-        int sCol = c.getColumnIndexOrThrow("s");
-        
-        int count = 0;
-        while (c.moveToNext()) {
-            assertTrue(c.updateInt(dCol, 3));
-            count++;
-        }
-        assertEquals(10, count);
-        
-        assertTrue(c.commitUpdates());
-        
-        assertTrue(c.requery());
-        
-        count = 0;
-        while (c.moveToNext()) {
-            assertEquals(3, c.getInt(dCol));
-            count++;
-        }
-        
-        assertEquals(10, count);
-        assertTrue(c.moveToFirst());
-        assertTrue(c.deleteRow());
-        assertEquals(9, c.getCount());
-        c.close();
-    }
-    
-    @MediumTest
     public void testBlob() throws Exception {
         // create table
         mDatabase.execSQL(
@@ -164,24 +127,7 @@
         assertTrue(Arrays.equals(blob, cBlob));
         assertEquals(s, c.getString(sCol));
         assertEquals((double)d, c.getDouble(dCol));
-        assertEquals((long)l, c.getLong(lCol));
-        
-        // new byte[]
-        byte[] newblob = new byte[1000];
-        value = 98;
-        Arrays.fill(blob, value);        
-        
-        c.updateBlob(bCol, newblob);
-        cBlob =  c.getBlob(bCol);
-        assertTrue(Arrays.equals(newblob, cBlob));
-        
-        // commit
-        assertTrue(c.commitUpdates());
-        assertTrue(c.requery());
-        c.moveToNext();
-        cBlob =  c.getBlob(bCol);
-        assertTrue(Arrays.equals(newblob, cBlob));        
-        c.close();
+        assertEquals((long)l, c.getLong(lCol));        
     }
     
     @MediumTest
diff --git a/core/tests/coretests/src/android/database/DatabaseGeneralTest.java b/core/tests/coretests/src/android/database/DatabaseGeneralTest.java
index 34434d2..350d600 100644
--- a/core/tests/coretests/src/android/database/DatabaseGeneralTest.java
+++ b/core/tests/coretests/src/android/database/DatabaseGeneralTest.java
@@ -468,45 +468,6 @@
     }
 
     @MediumTest
-    public void testNotificationTest1() throws Exception {
-        /*
-        Cursor c = mContentResolver.query(Notes.CONTENT_URI,
-                new String[] {Notes._ID, Notes.NOTE},
-                null, null);
-        c.registerContentObserver(new MyContentObserver(true));
-        int count = c.count();
-
-        MyContentObserver observer = new MyContentObserver(false);
-        mContentResolver.registerContentObserver(Notes.CONTENT_URI, true, observer);
-
-        Uri uri;
-
-        HashMap<String, String> values = new HashMap<String, String>();
-        values.put(Notes.NOTE, "test note1");
-        uri = mContentResolver.insert(Notes.CONTENT_URI, values);
-        assertEquals(1, mCursorNotificationCount);
-        assertEquals(1, mNotificationCount);
-
-        c.requery();
-        assertEquals(count + 1, c.count());
-        c.first();
-        assertEquals("test note1", c.getString(c.getColumnIndex(Notes.NOTE)));
-        c.updateString(c.getColumnIndex(Notes.NOTE), "test note2");
-        c.commitUpdates();
-
-        assertEquals(2, mCursorNotificationCount);
-        assertEquals(2, mNotificationCount);
-
-        mContentResolver.delete(uri, null);
-
-        assertEquals(3, mCursorNotificationCount);
-        assertEquals(3, mNotificationCount);
-
-        mContentResolver.unregisterContentObserver(observer);
-        */
-    }
-
-    @MediumTest
     public void testSelectionArgs() throws Exception {
         mDatabase.execSQL("CREATE TABLE test (_id INTEGER PRIMARY KEY, data TEXT);");
         ContentValues values = new ContentValues(1);
diff --git a/core/tests/coretests/src/android/net/UriTest.java b/core/tests/coretests/src/android/net/UriTest.java
index 095ee13..a5fda20 100644
--- a/core/tests/coretests/src/android/net/UriTest.java
+++ b/core/tests/coretests/src/android/net/UriTest.java
@@ -582,5 +582,25 @@
             .appendQueryParameter("bkey", "e f")
             .build();
         assertNull(uri.getQueryParameter("key"));
+
+        // key is a prefix or suffix of the query
+        uri = Uri.parse("http://test/?qq=foo");
+        assertNull(uri.getQueryParameter("q"));
+        assertNull(uri.getQueryParameter("oo"));
+
+        // escaped keys
+        uri = Uri.parse("http://www.google.com/?a%20b=foo&c%20d=");
+        assertEquals("foo", uri.getQueryParameter("a b"));
+        assertEquals("", uri.getQueryParameter("c d"));
+        assertNull(uri.getQueryParameter("e f"));
+        assertNull(uri.getQueryParameter("b"));
+        assertNull(uri.getQueryParameter("c"));
+        assertNull(uri.getQueryParameter(" d"));
+
+        // empty values
+        uri = Uri.parse("http://www.google.com/?a=&b=&&c=");
+        assertEquals("", uri.getQueryParameter("a"));
+        assertEquals("", uri.getQueryParameter("b"));
+        assertEquals("", uri.getQueryParameter("c"));
     }
 }
diff --git a/core/tests/coretests/src/android/view/VelocityTest.java b/core/tests/coretests/src/android/view/VelocityTest.java
new file mode 100644
index 0000000..fb28e1e
--- /dev/null
+++ b/core/tests/coretests/src/android/view/VelocityTest.java
@@ -0,0 +1,285 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.frameworktest.view;
+
+import junit.framework.Assert;
+
+import android.test.InstrumentationTestCase;
+import android.test.suitebuilder.annotation.MediumTest;
+import android.view.MotionEvent;
+import android.view.VelocityTracker;
+import android.view.animation.AccelerateInterpolator;
+import android.view.animation.DecelerateInterpolator;
+import android.view.animation.Interpolator;
+import android.view.animation.LinearInterpolator;
+
+/**
+ * Exercises {@link android.view.VelocityTracker} to compute correct velocity.<br>
+ * To launch this test, use :<br>
+ * <code>./development/testrunner/runtest.py framework -c com.android.frameworktest.view.VelocityTest</code>
+ */
+public class VelocityTest extends InstrumentationTestCase {
+
+    @MediumTest
+    public void testInitialCondiditions() {
+        VelocityTracker vt = VelocityTracker.obtain();
+        assertNotNull(vt);
+        vt.recycle();
+    }
+
+    /**
+     * Test that {@link android.view.VelocityTracker}.clear() clears
+     * the previous values after a call to computeCurrentVelocity()
+     */
+    @MediumTest
+    public void testClear() {
+        long t = System.currentTimeMillis();
+        VelocityTracker vt = VelocityTracker.obtain();
+        drag(vt, 100, 200, 100, 200, 10, t, 300);
+        vt.computeCurrentVelocity(1);
+        assertFalse("Velocity should not be null", vt.getXVelocity() == 0.0f);
+        assertFalse("Velocity should not be null", vt.getYVelocity() == 0.0f);
+        vt.clear();
+        vt.computeCurrentVelocity(1);
+        assertEquals(0.0f, vt.getXVelocity());
+        assertEquals(0.0f, vt.getYVelocity());
+        vt.recycle();
+    }
+
+    @MediumTest
+    public void testDragAcceleration () {
+        long t = System.currentTimeMillis();
+        VelocityTracker vt = VelocityTracker.obtain();
+        drag(vt, 100, 200, 100, 200, 15, t, 400, new AccelerateInterpolator());
+        vt.computeCurrentVelocity(1000);
+        assertGreater(250.0f, vt.getXVelocity());
+        assertGreater(250.0f, vt.getYVelocity());
+        vt.recycle();
+    }
+
+    @MediumTest
+    public void testDragDeceleration () {
+        long t = System.currentTimeMillis();
+        VelocityTracker vt = VelocityTracker.obtain();
+        drag(vt, 100, 200, 100, 200, 15, t, 400, new DecelerateInterpolator());
+        vt.computeCurrentVelocity(1000);
+        assertLower(250.0f, vt.getXVelocity());
+        assertLower(250.0f, vt.getYVelocity());
+        vt.recycle();
+    }
+
+    @MediumTest
+    public void testDragLinearHorizontal() {
+        long t = System.currentTimeMillis();
+        VelocityTracker vt = VelocityTracker.obtain();
+        // 100px in 400ms => 250px/s
+        drag(vt, 100, 200, 200, 200, 15, t, 400);
+        vt.computeCurrentVelocity(1000);
+        assertEquals(0.0f, vt.getYVelocity());
+        assertEqualFuzzy(250.0f, vt.getXVelocity(), 4f);
+        vt.recycle();
+    }
+
+    @MediumTest
+    public void testDragLinearVertical() {
+        long t = System.currentTimeMillis();
+        VelocityTracker vt = VelocityTracker.obtain();
+        // 100px in 400ms => 250px/s
+        drag(vt, 200, 200, 100, 200, 15, t, 400);
+        vt.computeCurrentVelocity(1000);
+        assertEquals(0.0f, vt.getXVelocity());
+        assertEqualFuzzy(250.0f, vt.getYVelocity(), 4f);
+        vt.recycle();
+    }
+
+    /**
+     * Test dragging with two points only
+     * (velocity must be an exact value)
+     */
+    @MediumTest
+    public void testDragWith2Points () {
+        long t = System.currentTimeMillis();
+        VelocityTracker vt = VelocityTracker.obtain();
+        // 100px, 2 steps, 100ms => 1000px/s
+        drag(vt, 100, 200, 100, 200, 2, t, 100);
+        vt.computeCurrentVelocity(1000);
+        assertEquals(1000.0f, vt.getXVelocity());
+        assertEquals(1000.0f, vt.getYVelocity());
+        vt.recycle();
+    }
+
+    /**
+     * Velocity is independent of the number of points used during
+     * the same interval
+     */
+    @MediumTest
+    public void testStabilityInNbPoints () {
+        long t = System.currentTimeMillis();
+        VelocityTracker vt = VelocityTracker.obtain();
+        drag(vt, 100, 200, 100, 200, 10, t, 400); // 10 steps over 400ms
+        vt.computeCurrentVelocity(1);
+        float firstX = vt.getXVelocity();
+        float firstY = vt.getYVelocity();
+        vt.clear();
+        drag(vt, 100, 200, 100, 200, 20, t, 400); // 20 steps over 400ms
+        vt.computeCurrentVelocity(1);
+        float secondX = vt.getXVelocity();
+        float secondY = vt.getYVelocity();
+        assertEqualFuzzy(firstX, secondX, 0.1f);
+        assertEqualFuzzy(firstY, secondY, 0.1f);
+        vt.recycle();
+    }
+
+    /**
+     * Velocity is independent of the time when the events occurs,
+     * it only depends on delays between the events.
+     */
+    @MediumTest
+    public void testStabilityInTime () {
+        long t = System.currentTimeMillis();
+        VelocityTracker vt = VelocityTracker.obtain();
+        drag(vt, 100, 200, 100, 200, 10, t, 400);
+        vt.computeCurrentVelocity(1);
+        float firstX = vt.getXVelocity();
+        float firstY = vt.getYVelocity();
+        vt.clear();
+        drag(vt, 100, 200, 100, 200, 10, t + 3600*1000, 400); // on hour later
+        vt.computeCurrentVelocity(1);
+        float secondX = vt.getXVelocity();
+        float secondY = vt.getYVelocity();
+        assertEqualFuzzy(firstX, secondX, 0.1f);
+        assertEqualFuzzy(firstY, secondY, 0.1f);
+        vt.recycle();
+    }
+
+    /**
+     * Velocity is independent of the position of the events,
+     * it only depends on their relative distance.
+     */
+    @MediumTest
+    public void testStabilityInSpace () {
+        long t = System.currentTimeMillis();
+        VelocityTracker vt = VelocityTracker.obtain();
+        drag(vt, 100, 200, 100, 200, 10, t, 400);
+        vt.computeCurrentVelocity(1);
+        float firstX = vt.getXVelocity();
+        float firstY = vt.getYVelocity();
+        vt.clear();
+        drag(vt, 200, 300, 200, 300, 10, t, 400); // 100px further
+        vt.computeCurrentVelocity(1);
+        float secondX = vt.getXVelocity();
+        float secondY = vt.getYVelocity();
+        assertEqualFuzzy(firstX, secondX, 0.1f);
+        assertEqualFuzzy(firstY, secondY, 0.1f);
+        vt.recycle();
+    }
+
+    /**
+     * Test that calls to {@link android.view.VelocityTracker}.computeCurrentVelocity()
+     * will output same values when using the same data.
+     */
+    @MediumTest
+    public void testStabilityOfComputation() {
+        long t = System.currentTimeMillis();
+        VelocityTracker vt = VelocityTracker.obtain();
+        drag(vt, 100, 200, 100, 200, 10, t, 300);
+        vt.computeCurrentVelocity(1);
+        float firstX = vt.getXVelocity();
+        float firstY = vt.getYVelocity();
+        vt.computeCurrentVelocity(1);
+        float secondX = vt.getXVelocity();
+        float secondY = vt.getYVelocity();
+        assertEquals(firstX, secondX);
+        assertEquals(firstY, secondY);
+        vt.recycle();
+    }
+
+    /**
+     * Test the units parameter of {@link android.view.VelocityTracker}.computeCurrentVelocity()
+     */
+    @MediumTest
+    public void testStabilityOfUnits() {
+        long t = System.currentTimeMillis();
+        VelocityTracker vt = VelocityTracker.obtain();
+        drag(vt, 100, 200, 100, 200, 10, t, 300);
+        vt.computeCurrentVelocity(1);
+        float firstX = vt.getXVelocity();
+        float firstY = vt.getYVelocity();
+        vt.computeCurrentVelocity(1000);
+        float secondX = vt.getXVelocity();
+        float secondY = vt.getYVelocity();
+        assertEqualFuzzy(firstX, secondX / 1000.0f, 0.1f);
+        assertEqualFuzzy(firstY, secondY / 1000.0f, 0.1f);
+        vt.recycle();
+    }
+
+    /**
+     * Simulate a drag by giving directly MotionEvents to
+     * the VelocityTracker using a linear interpolator
+     */
+    private void drag(VelocityTracker vt, int startX, int endX, int startY, int endY, int steps,
+            long startime, int duration) {
+        drag(vt, startX, endX, startY, endY, steps, startime, duration, new LinearInterpolator());
+    }
+
+    /**
+     * Simulate a drag by giving directly MotionEvents to
+     * the VelocityTracker using a given interpolator
+     */
+    private void drag(VelocityTracker vt, int startX, int endX, int startY, int endY, int steps,
+            long startime, int duration, Interpolator interpolator) {
+        addMotionEvent(vt, startX, startY, startime, MotionEvent.ACTION_DOWN);
+        float dt = duration / (float)steps;
+        int distX = endX - startX;
+        int distY = endY - startY;
+        for (int i=1; i<steps-1; i++) {
+            float ii = interpolator.getInterpolation(i / (float)steps);
+            int x = (int) (startX + distX * ii);
+            int y = (int) (startY + distY * ii);
+            long time = startime + (int) (i * dt);
+            addMotionEvent(vt, x, y, time, MotionEvent.ACTION_MOVE);
+        }
+        addMotionEvent(vt, endX, endY, startime + duration, MotionEvent.ACTION_UP);
+    }
+
+    private void addMotionEvent(VelocityTracker vt, int x, int y, long time, int action) {
+        MotionEvent me = MotionEvent.obtain(time, time, action, x, y, 0);
+        vt.addMovement(me);
+        me.recycle();
+    }
+
+    /**
+     * Float imprecision of the average computations and filtering
+     * (removing last MotionEvent for N > 3) implies that tests
+     *  accepts some approximated values.
+     */
+    private void assertEqualFuzzy(float expected, float actual, float threshold) {
+        boolean fuzzyEqual = actual >= expected - threshold && actual <= expected + threshold;
+        Assert.assertTrue("Expected: <"+expected+"> but was: <"+actual+
+                "> while accepting a variation of: <"+threshold+">", fuzzyEqual);
+    }
+
+    private void assertGreater(float minExpected, float actual) {
+        Assert.assertTrue("Expected: minimum <"+minExpected+"> but was: <"+actual+">",
+                actual > minExpected);
+    }
+
+    private void assertLower(float maxExpected, float actual) {
+        Assert.assertTrue("Expected: maximum <"+maxExpected+"> but was: <"+actual+">",
+                actual < maxExpected);
+    }
+}
diff --git a/docs/html/guide/appendix/api-levels.jd b/docs/html/guide/appendix/api-levels.jd
index 398d863..c5112f6 100644
--- a/docs/html/guide/appendix/api-levels.jd
+++ b/docs/html/guide/appendix/api-levels.jd
@@ -83,6 +83,7 @@
 
 <table>
   <tr><th>Platform Version</th><th>API Level</th></tr>
+  <tr><td>Android 2.2</td><td>8</td></tr>
   <tr><td>Android 2.1</td><td>7</td></tr>
   <tr><td>Android 2.0.1</td><td>6</td></tr>
   <tr><td>Android 2.0</td><td>5</td></tr>
diff --git a/docs/html/guide/appendix/install-location.jd b/docs/html/guide/appendix/install-location.jd
new file mode 100644
index 0000000..be89caf
--- /dev/null
+++ b/docs/html/guide/appendix/install-location.jd
@@ -0,0 +1,197 @@
+page.title=App Install Location
+@jd:body
+
+
+<div id="qv-wrapper">
+<div id="qv">
+
+  <h2>Quickview</h2>
+  <ul>
+    <li>You can allow your application to install on the device's external storage.</li>
+    <li>Some types of applications should <strong>not</strong> allow installation on the external
+storage.</li>
+    <li>Installing on the external storage is ideal for large applications that are not tightly
+integrated with the system (most commonly, games).</li>
+  </ul>
+
+  <h2>In this document</h2>
+  <ol>
+    <li><a href="#Compatiblity">Backward Compatibility</a></li>
+    <li><a href="#ShouldNot">Applications That Should NOT Install on External Storage</a></li>
+    <li><a href="#Should">Applications That Should Install on External Storage</a></li>
+  </ol>
+
+  <h2>See also</h2>
+  <ol>
+    <li><code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">
+&lt;manifest&gt;</a></code></li>
+  </ol>
+
+</div>
+</div>
+
+<p>Beginning with API Level 8, you can allow your application to be installed on the
+external storage (for example, the device's SD card). This is an optional feature you can declare
+for your application with the <a
+href="{@docRoot}guide/topics/manifest/manifest-element.html#install">{@code
+android:installLocation}</a> manifest attribute. If you do
+<em>not</em> declare this attribute, your application will be installed on the internal storage
+only and it cannot be moved to the external storage.</p>
+
+<p>To allow the system to install your application on the external storage, modify your
+manifest file to include the <a
+href="{@docRoot}guide/topics/manifest/manifest-element.html#install">{@code
+android:installLocation}</a> attribute in the <code><a
+href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code> element,
+with a value of either "{@code preferExternal}" or "{@code auto}". For example:</p>
+
+<pre>
+&lt;manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    android:installLocation="preferExternal"
+    ... &gt;
+</pre>
+
+<p>If you declare "{@code preferExternal}", you request that your application be installed on the
+external storage, but the system does not guarantee that your application will be installed on
+the external storage. If the external storage is full, the system will install it on the internal
+storage. The user can also move your application between the two locations.</p>
+
+<p>If you declare "{@code auto}", you indicate that your application may be installed on the
+external storage, but you don't have a preference of install location. The system will
+decide where to install your application based on several factors. The user can also move your
+application between the two locations.</p>
+
+<p>When your application is installed on the external storage:</p>
+<ul>
+  <li>There is no effect on the application performance so long
+as the external storage is mounted on the device.</li>
+  <li>The {@code .apk} file is saved on the external storage, but all private user data,
+databases, optimized {@code .dex} files, and extracted native code are saved on the
+internal device memory.</li>
+  <li>The unique container in which your application is stored is encrypted with a randomly
+generated key that can be decrypted only by the device that originally installed it. Thus, an
+application installed on an SD card works for only one device.</li>
+  <li>The user can move your application to the internal storage through the system settings.</li>
+</ul>
+
+<p class="warning"><strong>Warning:</strong> When the user enables USB mass storage to share files
+with a computer or unmounts the SD card via the system settings, the external storage is unmounted
+from the device and all applications running on the external storage are immediately killed.</p>
+
+
+
+<h2 id="Compatiblity">Backward Compatibility</h2>
+
+<p>The ability for your application to install on the external storage is a feature available only
+on devices running API Level 8 (Android 2.2) or greater. Existing applications that were built prior
+to API Level 8 will always install on the internal storage and cannot be moved to the external
+storage (even on devices with API Level 8). However, if your application is designed to support an
+API Level <em>lower than</em> 8, you can choose to support this feature for devices with API Level 8
+or greater and still be compatible with devices using an API Level lower than 8.</p>
+
+<p>To allow installation on external storage and remain compatible with versions lower than API
+Level 8:</p>
+<ol>
+  <li>Include the {@code android:installLocation} attribute with a value of "{@code auto}" or
+"{@code preferExternal}" in the <code><a
+href="{@docRoot}guide/topics/manifest/uses-sdk-element.html">&lt;manifest&gt;</a></code>
+element.</li>
+  <li>Leave your {@code android:minSdkVersion} attribute as is (something <em>less
+than</em> "8") and be certain that your application code uses only APIs compatible with that
+level.</li>
+  <li>In order to compile your application, change your build target to API Level 8. This is
+necessary because older Android libraries don't understand the {@code android:installLocation}
+attribute and will not compile your application when it's present.</li>
+</ol>
+
+<p>When your application is installed on a device with an API Level lower than 8, the {@code
+android:installLocation} attribute is ignored and the application is installed on the internal
+storage.</p>
+
+<p class="caution"><strong>Caution:</strong> Although XML markup such as this will be ignored by
+older platforms, you must be careful not to use programming APIs introduced in API Level 8
+while your {@code minSdkVersion} is less than "8", unless you perform the work necessary to
+provide backward compatiblity in your code. For information about building
+backward compatibility in your application code, see the <a
+href="{@docRoot}resources/articles/backward-compatibility.html">Backward Compatibility</a>
+article.</p>
+
+
+
+<h2 id="ShouldNot">Applications That Should NOT Install on External Storage</h2>
+
+<p>When the user enables USB mass storage to share files with their computer (or otherwise
+unmounts or removes the external storage), any application
+installed on the external storage and currently running is killed. The system effectively becomes
+unaware of the application until mass storage is disabled and the external storage is
+remounted on the device. Besides killing the application and making it unavailable to the user,
+this can break some types of applications in a more serious way. In order for your application to
+consistently behave as expected, you <strong>should not</strong> allow your application to be
+installed on the external storage if it uses any of the following features, due to the cited
+consequences when the external storage is unmounted:</p>
+
+<dl>
+  <dt>Services</dt>
+    <dd>Your running {@link android.app.Service} will be killed and will not be restarted when
+external storage is remounted. You can, however, register for the {@link
+android.content.Intent#ACTION_EXTERNAL_APPLICATIONS_AVAILABLE} broadcast Intent, which will notify
+your application when applications installed on external storage have become available to the
+system again. At which time, you can restart your Service.</dd>
+  <dt>Alarm Services</dt>
+    <dd>Your alarms registered with {@link android.app.AlarmManager} will be cancelled. You must
+manually re-register any alarms when external storage is remounted.</dd>
+  <dt>Input Method Engines</dt>
+    <dd>Your <a href="{@docRoot}resources/articles/on-screen-inputs.html">IME</a> will be
+replaced by the default IME. When external storage is remounted, the user can open system settings
+to enable your IME again.</dd>
+  <dt>Live Wallpapers</dt>
+    <dd>Your running <a href="{@docRoot}resources/articles/live-wallpapers.html">Live Wallpaper</a>
+will be replaced by the default Live Wallpaper. When external storage is remounted, the user can
+select your Live Wallpaper again.</dd>
+  <dt>Live Folders</dt>
+    <dd>Your <a href="{@docRoot}resources/articles/live-folders.html">Live Folder</a> will be
+removed from the home screen. When external storage is remounted, the user can add your Live Folder
+to the home screen again.</dd>
+  <dt>App Widgets</dt>
+    <dd>Your <a href="{@docRoot}guide/topics/appwidgets/index.html">App Widget</a> will be removed
+from the home screen. When external storage is remounted, your App Widget will <em>not</em> be
+available for the user to select until the system resets the home application (usually not until a
+system reboot).</dd>
+  <dt>Account Managers</dt>
+    <dd>Your accounts created with {@link android.accounts.AccountManager} will disappear until
+external storage is remounted.</dd>
+  <dt>Sync Adapters</dt>
+    <dd>Your {@link android.content.AbstractThreadedSyncAdapter} and all its sync functionality will
+not work until external storage is remounted.</dd>
+  <dt>Device Administrators</dt>
+    <dd>Your {@link android.app.admin.DeviceAdminReceiver} and all its admin capabilities will
+be disabled, which can have unforeseeable consequences for the device functionality, which may
+persist after external storage is remounted.</dd>
+</dl>
+
+<p>If your application uses any of the features listed above, you <strong>should not</strong> allow
+your application to install on external storage. By default, the system <em>will not</em> allow your
+application to install on the external storage, so you don't need to worry about your existing
+applications. However, if you're certain that your application should never be installed on the
+external storage, then you should make this clear by declaring <a
+href="{@docRoot}guide/topics/manifest/manifest-element.html#install">{@code
+android:installLocation}</a> with a value of "{@code internalOnly}". Though this does not
+change the default behavior, it explicitly states that your application should only be installed
+on the internal storage and serves as a reminder to you and other developers that this decision has
+been made.</p>
+
+
+<h2 id="Should">Applications That Should Install on External Storage</h2>
+
+<p>In simple terms, anything that does not use the features listed in the previous section
+are safe when installed on external storage. Large games are more commonly the types of
+applications that should allow installation on external storage, because games don't typically
+provide additional services when innactive. When external storage becomes unavailable and a game
+process is killed, there should be no visible effect when the storage becomes available again and
+the user restarts the game (assuming that the game properly saved its state during the normal
+<a href="{@docRoot}guide/topics/fundamentals.html#lcycles">Activity lifecycle</a>).</p>
+
+<p>If your application requires several megabytes for the APK file, you should
+carefully consider whether to enable the application to install on the external storage so that
+users can preserve space on their internal storage.</p>
+
diff --git a/docs/html/guide/appendix/market-filters.jd b/docs/html/guide/appendix/market-filters.jd
index 0b1afae..0797892 100644
--- a/docs/html/guide/appendix/market-filters.jd
+++ b/docs/html/guide/appendix/market-filters.jd
@@ -4,25 +4,24 @@
 <div id="qv-wrapper">

 <div id="qv">

 

-<h2 align="left">Market Filters quickview</h2>

-<ul> <li>Android Market applies filters to control which apps are visible to a

-user.</li> <li>Filtering is determined by elements in an app's manifest file,

+<h2 align="left">Market filters quickview</h2>

+<ul> <li>Android Market applies filters to that let you control whether your app is shown to a

+user who is browing or searching for apps.</li> 

+<li>Filtering is determined by elements in an app's manifest file,

 aspects of the device being used, and other factors.</li> </ul>

 

 <h2>In this document</h2>

 

 <ol> <li><a href="#how-filters-work">How Filters Work in Android Market</a></li>

-<li><a href="#manifest-filters">The Manifest File</a>

-  <ol>

-    <li><a href="#affects-filtering">Elements that affect filtering</a></li>

-  </ol>

-</li>

+<li><a href="#manifest-filters">Filtering based on Manifest File Elements</a></li>

 <li><a href="#other-filters">Other Filters</a></li> 

 </ol>

 

 <h2>See also</h2>

  <ol> 

-<li><code><a

+<li><a

+href="{@docRoot}guide/practices/compatibility.html">Compatibility</a></li>

+<li style="margin-top:2px;"><code><a

 href="{@docRoot}guide/topics/manifest/supports-screens-element.html">&lt;supports-screens&gt;</a></code></li>

 <li><code><a

 href="{@docRoot}guide/topics/manifest/uses-configuration-element.html">&lt;uses-configuration&gt;</a></code></li>

@@ -55,18 +54,29 @@
 

 <p>Changes to the Android Market filters are independent of changes 

 to the Android platform itself. This document will be updated periodically to reflect 

-any changes that might occur. </p>

+any changes that occur. </p>

 

 <h2 id="how-filters-work">How Filters Work in Android Market</h2>

 

-<p>If any one of the filter restrictions described in the following sections applies to

-an application, then the application will not appear in search results or category

-browsing on Android Market. </p><p> You can request any combination of the available filters for your

-app &#8212; for example, you could set a <code>minSdkVersion</code> of 4 and set

-<code>smallScreens</code> to false in the app, then when uploading the app to

+<p>Android Market uses the filter restrictions described below to determine

+whether to show your application to a user who is browsing or searching for

+applications on a given device. When determining whether to display your app,

+Market checks the device's hardware and software capabilities, as well as it's

+carrier, location, and other characteristics. It then compares those against the

+restrictions and dependencies expressed by the application itself, in its

+manifest, <code>.apk</code>, and publishing details. If the application is

+compatible with the device according to the filter rules, Market displays the

+application to the user. Otherwise, Market hides your application from search

+results and category browsing. </p>

+

+<p> You can use the filters described below to control whether Market shows or

+hides your application to users. You can request any combination of the

+available filters for your app &#8212; for example, you could set a

+<code>minSdkVersion</code> requirement of <code>"4"</code> and set

+<code>smallScreens="false"</code> in the app, then when uploading the app to

 Market you could target European countries (carriers) only. Android Market's

-filters would prevent the application from being visible on any device that did not

-match all three of these requirements. </p>

+filters would prevent the application from being visible on any device that did

+not match all three of these requirements. </p>

 

  <p>A filtered app is not visible within Market, even if a user specifically requests 

 the app by clicking a deep link that points directly to the app's ID within Market. 

@@ -74,22 +84,26 @@
 change between versions. For example:</p> 

 

 <ul> 

-<li>If you publish a new version of

-your app with stricter restrictions, the app will not be visible to users for whom

-it is filtered, even if those users were able see the previous version.</li> <li>If

-a user has installed your application and you publish an upgrade that makes the app

-invisible to the user, the user will not see that an upgrade is available. 

-</li>

+<li>If you publish a new version of your app with stricter restrictions, the app

+will not be visible to users for whom it is filtered, even if those users were

+able see the previous version.</li>

+<li>If a user has installed your application and you publish an upgrade that

+makes the app invisible to the user, the user will not see that an upgrade is

+available. </li>

 </ul>

 

-<h2 id="manifest-filters">The Manifest File</h2>

-<p>Most Market filters are triggered by elements within an application's manifest file, <a

-href="{@docRoot}guide/topics/manifest/manifest-intro.html">AndroidManifest.xml</a>, 

-although not everything in the manifest file can trigger filtering. </p>

-<h3 id="affects-filtering">Elements that affect filtering</h3>

-<p>The following table lists the manifest elements that can be used to trigger 

-Android Market filtering, and explains how they work.</p>

-<table border="1">

+<h2 id="manifest-filters">Filtering based on Manifest Elements</h2>

+

+<p>Most Market filters are triggered by elements within an application's

+manifest file, <a

+href="{@docRoot}guide/topics/manifest/manifest-intro.html">AndroidManifest.xml</a>,

+although not everything in the manifest file can trigger filtering. The

+table below lists the manifest elements that you can use to trigger Android

+Market filtering, and explains how the filtering works.</p>

+

+<p class="table-caption"><strong>Table 1.</strong> Manifest elements that

+trigger filtering on Market.</p>

+<table>

   <tr>

     <th>Manifest Element</th>

     <th>Filter Name</th>

@@ -126,7 +140,7 @@
 

 <p>This behavior is especially significant for applications that set their

 <code><a

-href="@docRoot}guide/topics/manifest/uses-sdk-element.html">android:

+href="{@docRoot}guide/topics/manifest/uses-sdk-element.html">android:

 minSdkVersion</a></code> to 3 or lower, since Market will filter them from

 small-screen devices by default. Such applications can enable support for

 small-screen devices by adding a <code>android:targetSdkVersion="4"</code>

@@ -164,7 +178,7 @@
     <p>For more information on how to declare support for screen sizes in your

     application, see <code><a

     href="{@docRoot}guide/topics/manifest/supports-screens-element.html">&lt;supports-screens&gt;</a></code>

-    and <a href="{@docRoot}guide/practices/screens-support.html">Supporting Multiple

+    and <a href="{@docRoot}guide/practices/screens_support.html">Supporting Multiple

     Screens</a>.</p>

 </td>

   </tr>

@@ -199,7 +213,7 @@
 <p><em>A note about camera:</em> If an

         application requests the CAMERA permission using the <a

 href="{@docRoot}guide/topics/manifest/uses-permission-element.html"> <code>&lt;uses-permission&gt;</code></a> element, Market assumes that the

-        application requires the camera and autofocus features. For applications that require the camera and are designed to run on Android 1.5 (API Level 3), declaring the CAMERA permission is an effective way of ensuring that Market filters your app properly, since <code>uses-feature</code> filtering is not available to applications compiled against the Android 1.5 platform. For more details about requiring or requesting a camera, see the <a href="{@docRoot}guide/topics/manifest/uses-library-element.html#required"> <code>required</code></a> attribute of <code>&lt;uses-feature&gt;</code>. </p></td>

+        application requires the camera and all camera features (such as autofocus). For applications that require the camera and are designed to run on Android 1.5 (API Level 3), declaring the CAMERA permission is an effective way of ensuring that Market filters your app properly, since <code>uses-feature</code> filtering is not available to applications compiled against the Android 1.5 platform. For more details about requiring or requesting a camera, see the <a href="{@docRoot}guide/topics/manifest/uses-library-element.html#required"> <code>required</code></a> attribute of <code>&lt;uses-feature&gt;</code>. </p></td>

   </tr>

   <tr>

     <td valign="top">OpenGL-ES

@@ -269,9 +283,10 @@
 </table>

 

 <h2 id="other-filters">Other Filters</h2>

-<p>The following table describes other application characteristics that trigger Android Market filtering. </p>

+<p>Android Market uses other application characteristics to determine whether to show or hide an application for a particular user on a given device, as described in the table below. </p>

 

-<table border="1"> <tr>

+<p class="table-caption"><strong>Table 2.</strong> Application and publishing characteristics that affect filtering on Market.</p>

+<table> <tr>

     <th>Filter Name</th> <th>How It Works</th> </tr>

 

   <tr>

diff --git a/docs/html/guide/developing/testing/index.jd b/docs/html/guide/developing/testing/index.jd
new file mode 100644
index 0000000..ea61cc3
--- /dev/null
+++ b/docs/html/guide/developing/testing/index.jd
@@ -0,0 +1,37 @@
+page.title=Testing Overview
+@jd:body
+
+<p>
+    Android includes powerful tools for setting up and running test applications.
+    Whether you are working in Eclipse with ADT or working from the command line, these tools
+    help you set up and run your tests within an emulator or the device you are targeting.
+    The documents listed below explain how to work with the tools in your development environment.
+</p>
+<p>
+    If you aren't yet familiar with the Android testing framework, please read the topic
+    <a href="{@docRoot}guide/topics/testing/testing_android.html">Testing and Instrumentation</a>
+    before you get started.
+    For a step-by-step introduction to Android testing, try the <a
+    href="{@docRoot}resources/tutorials/testing/helloandroid_test.html">Hello, Testing</a>
+    tutorial, which introduces basic testing concepts and procedures.
+    For a more advanced tutorial, try <a
+    href="{@docRoot}resources/tutorials/testing/activity_test.html">Activity Testing</a>,
+    which guides you through a more complex testing scenario.
+</p>
+<dl>
+  <dt><a href="testing_eclipse.html">Testing in Eclipse, with ADT</a></dt>
+          <dd>
+            The ADT plugin lets you quickly set up and manage test projects directly in
+            the Eclipse UI. Once you have written your tests, you can build and run them and
+            then see the results in the Eclipse JUnit view. You can also use the SDK command-line
+            tools to execute your tests if needed.
+          </dd>
+  <dt><a href="testing_otheride.html">Testing in Other IDEs</a></dt>
+    <dd>
+        The SDK command-line tools provide the same capabilities as the ADT plugin. You can
+        use them to set up and manage test projects, build your test application,
+        run your tests, and see the results. You use
+        the <code>android</code> tool to create and manage test projects, the Ant build system
+        to compile them, and the <code>adb</code> tool to install and run them.
+    </dd>
+</dl>
diff --git a/docs/html/guide/developing/testing/testing_eclipse.jd b/docs/html/guide/developing/testing/testing_eclipse.jd
new file mode 100644
index 0000000..da1c0f0
--- /dev/null
+++ b/docs/html/guide/developing/testing/testing_eclipse.jd
@@ -0,0 +1,370 @@
+page.title=Testing In Eclipse, with ADT
+@jd:body
+
+<div id="qv-wrapper">
+  <div id="qv">
+  <h2>In this document</h2>
+  <ol>
+    <li><a href="#CreateTestProjectEclipse">Creating a Test Project</a></li>
+    <li><a href="#CreateTestAppEclipse">Creating a Test Application</a></li>
+    <li><a href="#RunTestEclipse">Running Tests</a></li>
+  </ol>
+  </div>
+</div>
+<p>
+  This topic explains how create and run tests of Android applications in Eclipse with ADT.
+
+  with the basic processes for creating and running applications with ADT, as described in
+  <a href="{@docRoot}guide/developing/eclipse-adt.html">Developing In Eclipse, with ADT</a>.
+
+  Before you read this topic, you should read about how to create a Android application with the
+  basic processes for creating and running applications with ADT, as described in
+  <a href="{@docRoot}guide/developing/eclipse-adt.html">Developing In Eclipse, with ADT</a>.
+  You may also want to read
+  <a href="{@docRoot}guide/topics/testing/testing_android.html">Testing and Instrumentation</a>,
+  which provides an overview of the Android testing framework.
+</p>
+<p>
+    ADT provides several features that help you set up and manage your testing environment
+    effectively:
+</p>
+    <ul>
+        <li>
+            It lets you quickly create a test project and link it to the application under test.
+            When it creates the test project, it automatically inserts the necessary
+            <code>&lt;instrumentation&gt;</code> element in the test application's manifest file.
+        </li>
+        <li>
+            It lets you quickly import the classes of the application under test, so that your
+            tests can inspect them.
+        </li>
+        <li>
+            It lets you create run configurations for your test application and include in
+            them flags that are passed to the Android testing framework.
+        </li>
+        <li>
+            It lets you run your test application without leaving Eclipse. ADT builds both the
+            application under test and the test application automatically, installs them if
+            necessary to your device or emulator, runs the test application, and displays the
+            results in a separate window in Eclipse.
+        </li>
+    </ul>
+<p>
+    If you are not developing in Eclipse or you want to learn how to create and run tests from the
+    command line, see
+    <a href="{@docRoot}guide/developing/testing/testing_otheride.html">Testing in Other IDEs</a>.
+</p>
+<h2 id="CreateTestProjectEclipse">Creating a Test Project</h2>
+  <p>
+    To set up a test environment for your Android application, you must first create a separate
+    application project that holds the test code. The new project follows the directory structure
+    used for any Android application. It includes the same types of content and files, such as
+    source code, resources, a manifest file, and so forth. The test application you
+    create is connected to the application under test by an
+    <a href="{@docRoot}guide/topics/manifest/instrumentation-element.html">
+    <code>&lt;instrumentation&gt;</code></a> element in its manifest file.
+  </p>
+  <p>
+    The <strong>New Android Test Project</strong> dialog makes it easy for you to generate a
+    new test project that has the proper structure, including the
+    <code>&lt;instrumentation&gt;</code> element in the manifest file. You can use the New Android
+    Test Project dialog to generate the test project at any time. The dialog appears just after you
+    create a new Android main application project, but you can also run it to create a test project
+    for a project that you created previously.
+  </p>
+<p>
+  To create a test project in Eclipse with ADT:
+</p>
+<ol>
+  <li>
+    In Eclipse, select <strong>File &gt; New &gt; Other</strong>. This
+    opens the Select a Wizard dialog.
+  </li>
+  <li>
+    In the dialog, in the Wizards drop-down list,
+    find the entry for Android, then click the toggle to the left. Select
+    Android Test Project, then at the bottom
+    of the dialog click Next. The New Android Test Project wizard appears.
+  </li>
+  <li>
+    Enter a project name. You may use any name, but you may want to
+    associate the name with the project name for your Application. One
+    way to do this is to take the Application's project name, append the
+    string "Test" to it, and then use this as the test case project name.
+  </li>
+  <li>
+    In the Test Target panel, set
+    An Existing Android Project, click
+    Browse, then select your Android application from
+    the list. You now see that the wizard has completed the Test
+    Target Package, Application Name, and
+    Package Name fields for you (the latter two are in
+    the Properties panel).
+  </li>
+  <li>
+    In the Build Target panel, select the Android SDK
+    platform that you will use to test your application. Make this the same as the
+    build target of the application under test.
+  </li>
+  <li>
+    Click Finish to complete the wizard. If
+    Finish is disabled, look
+    for error messages at the top of the wizard dialog, and then fix
+    any problems.
+  </li>
+</ol>
+<p>
+
+</p>
+<h2 id="CreateTestAppEclipse">Creating a Test Application</h2>
+<p>
+  Once you have created a test project, you populate it with a test
+  Android application. This application does not require an {@link android.app.Activity Activity},
+  although you can define one if you wish. Although your test application can
+  combine Activities, Android test class extensions, JUnit extensions, or
+  ordinary classes, you should extend one of the Android test classes or JUnit classes,
+  because these provide the best testing features.
+</p>
+<p>
+  Test applications do not have an Android GUI. Instead, when you run the application in
+  Eclipse with ADT, its results appear in the JUnit view. If you run
+  your tests with {@link android.test.InstrumentationTestRunner InstrumentationTestRunner} (or a related test runner),
+  then it will run all the methods in each class. You can modify this behavior
+  by using the {@link junit.framework.TestSuite TestSuite} class.
+</p>
+
+<p>
+  To create a test application, start with one of Android's test classes in the Java package {@link android.test android.test}.
+  These extend the JUnit {@link junit.framework.TestCase TestCase} class. With a few exceptions, the Android test classes
+  also provide instrumentation for testing.
+</p>
+<p>
+  For test classes that extend {@link junit.framework.TestCase TestCase}, you probably want to override
+  the <code>setUp()</code> and <code>tearDown()</code> methods:
+</p>
+<ul>
+  <li>
+    <code>setUp()</code>: This method is invoked before any of the test methods in the class.
+      Use it to set up the environment for the test. You can use <code>setUp()</code>
+      to instantiate a new <code>Intent</code> object with the action <code>ACTION_MAIN</code>. You can
+      then use this intent to start the Activity under test.
+      <p class="note"><strong>Note:</strong> If you override this method, call
+        <code>super.setUp()</code> as the first statement in your code.
+      </p>
+  </li>
+  <li>
+    <code>tearDown()</code>: This method is invoked after all the test methods in the class. Use
+    it to do garbage collection and re-setting before moving on to the next set of tests.
+    <p class="note"><strong>Note:</strong> If you override this method, you must call
+    <code>super.tearDown()</code> as the <em>last</em> statement in your code.</p>
+  </li>
+</ul>
+<p>
+  Another useful convention is to add the method <code>testPreConditions()</code> to your test
+  class. Use this method to test that the application under test is initialized correctly. If this
+  test fails, you know that that the initial conditions were in error. When this happens, further test
+  results are suspect, regardless of whether or not the tests succeeded.
+</p>
+<p>
+  The Resources tab contains an <a href="{@docRoot}resources/tutorials/testing/activity_test.html">Activity Testing</a>
+  tutorial with more information about creating test classes and methods.
+</p>
+<h2 id="RunTestEclipse">Running Tests</h2>
+<div class="sidebox-wrapper">
+    <div class="sidebox">
+        <h2>Running tests from the command line</h2>
+            <p>
+                If you've created your tests in Eclipse, you can still run your tests and test
+                suites by using command-line tools included with the Android SDK. You may want to
+                do this, for example, if you have a large number of tests to run, if you have a
+                large test case, or if you want a fine level of control over which tests are run at
+                a particular time.
+            </p>
+            <p>
+                To run tests created in Eclipse with ADT with command-line tools, you must first
+                install additional files into the test project using the <code>android</code> tool's
+                "create test-project" option. To see how to do this, read the section
+                <a href="{@docRoot}guide/developing/testing/testing_otheride.html#CreateProject">
+                Creating a test project</a> in the topic
+                <a href="{@docRoot}guide/developing/testing/testing_otheride.html">Testing in Other
+                IDEs</a>.
+            </p>
+    </div>
+</div>
+<p>
+  When you run a test application in Eclipse with ADT, the output appears in
+  an Eclipse view panel. You can run the entire test application, one class, or one
+  method of a class. To do this, Eclipse runs the <code>adb</code> command for running a test application, and
+  displays the output, so there is no difference between running tests inside Eclipse and running them from the command line.
+</p>
+<p>
+    As with any other application, to run a test application in Eclipse with ADT you must either attach a device to your
+    computer or use the Android emulator. If you use the emulator, you must have an Android Virtual Device (AVD) that uses
+    the same target
+</p>
+<p>
+  To run a test in Eclipse, you have two choices:</p>
+<ol>
+  <li>
+  Run a test just as you run an application, by selecting
+  <strong>Run As... &gt; Android JUnit Test</strong> from the project's context menu or
+  from the main menu's <strong>Run</strong> item.
+  </li>
+  <li>
+  Create an Eclipse run configuration for your test project. This is useful if you want multiple test suites, each consisting of selected tests from the project. To run
+  a test suite, you run the test configuration.
+  <p>
+    Creating and running test configurations is described in the next section.
+  </p>
+  </li>
+</ol>
+<p>To create and run a test suite using a run configuration:</p>
+<ol>
+  <li>
+    In the Package Explorer, select the test
+    project, then from the main menu, select
+    <strong>Run &gt; Run Configurations...</strong>. The
+    Run Configurations dialog appears.
+  </li>
+  <li>
+    In the left-hand pane, find the
+    Android JUnit Test entry.
+    In the right-hand pane, click the Test tab.
+    The Name: text box
+    shows the name of your project. The
+    Test class: dropdown box shows one your project's classes
+    test classes in your project.
+  </li>
+  <li>
+    To run one test class, click  Run a single test, then enter your project
+    name in the Project: text box and the class name in the
+    Test class: text box.
+    <p>
+        To run all the test classes,
+        click Run all tests in the selected project or package,
+        then enter the project or package name in the text box.
+    </p>
+ </li>
+  <li>
+    Now click the Target tab.
+    <ul>
+        <li>
+            Optional: If you are using the emulator, click
+            Automatic, then in the Android Virtual Device (AVD)
+            selection table, select an existing AVD.
+        </li>
+        <li>
+            In the Emulator Launch Parameters pane, set the
+            Android emulator flags you want to use. These are documented in the topic
+            <a href="{@docRoot}guide/developing/tools/emulator.html#startup-options">Emulator Startup Options</a>.
+        </li>
+    </ul>
+  <li>
+    Click the Common tab. In the
+    Save As pane, click Local to save
+    this run configuration locally, or click Shared to
+    save it to another project.
+  </li>
+  <li>
+    Optional: Add the configuration to the Run toolbar and the <strong>Favorites</strong>
+    menu: in the Display in Favorites pane
+    click the checkbox next to Run.
+  </li>
+  <li>
+    Optional: To add this configuration to the <strong>Debug</strong> menu and toolbar, click
+    the checkbox next to Debug.
+  </li>
+  <li>
+    To save your settings, click Close.<br/>
+    <p class="note"><strong>Note:</strong> Although you can run the test immediately by
+    clicking Run, you should save the test first and then
+    run it by selecting it from the Eclipse standard toolbar.</p>
+  </li>
+  <li>
+    On the Eclipse standard toolbar, click the down arrow next to the
+    green Run arrow. This displays a menu of saved Run and Debug
+    configurations.
+  </li>
+  <li>
+    Select the test run configuration you just created.
+  </li>
+  <li>
+    The progress of your test appears in the Console view.
+    You should see the following messages, among others:
+    <ul>
+      <li>
+        <code>Performing Android.test.InstrumentationTestRunner JUnit launch</code><br>
+        The class name that proceeds "JUnit" depends on the Android instrumentation
+        class you have chosen.
+      </li>
+      <li>
+        If you are using an emulator and you have not yet started it, then you will see
+        the message:
+        <p>
+          <code>Automatic Target Mode: launching new emulator with compatible
+          AVD <em>avdname</em></code><br>(where <em>avdname</em> is the name of
+          the AVD you are using.)
+        </p>
+      </li>
+      <li>
+        If you have not already installed your test application, then you will see
+        the message:
+        <p>
+          <code>Uploading <em>testclass</em>.apk onto device '<em>device-id</em>'</code><br>
+          where <em>testclass</em> is the name of your unit test class and <em>device-id</em>
+          is the name and port for your test device or emulator, followed by the message <code>Installing <em>testclass</em>.apk</code>
+        </p>
+      </li>
+      <li>
+       <code>Launching instrumentation Android.test.InstrumentationTestRunner on device <em>device-id</em></code>.<br>
+       This indicates that Android's Instrumentation system is now testing your code. Again, the
+       instrumentation class name depends on the Android instrumentation class you have chosen.
+      </li>
+      <li>
+       <code>Test run complete</code>.<br> When you see this, your unit tests have finished.
+      </li>
+    </ul>
+</ol>
+<p>
+        The test results appear in the JUnit view. This is divided into an upper summary pane,
+        and a lower stack trace pane.
+</p>
+<p>
+        The upper pane contains test information. In the pane's header, you see the following
+        information:
+</p>
+    <ul>
+        <li>
+           Total time elapsed for the test application (labeled Finished after <em>x</em> seconds).
+        </li>
+        <li>
+           Number of runs (Runs:) - the number of tests in the entire test class.
+        </li>
+        <li>
+           Number of errors (Errors:) - the number of program errors and exceptions encountered
+           during the test run.
+        </li>
+        <li>
+           Number of failures (Failures:) - the number of test failures encountered during the test
+           run. This is the number of assertion failures. A test can fail even if the program does
+           not encounter an error.
+        </li>
+        <li>
+           A progress bar. The progress bar extends from left to right as the tests run. If all the
+           tests succeed, the bar remains green. If a test fails, the bar turns from green to red.
+        </li>
+    </ul>
+<p>
+    The body of the upper pane contains the details of the test run. For each test case class
+    that was run, you see a line with the class name. To look at the results for the individual
+    test methods in that class, you click the left arrow to expand the line. You now see a
+    line for each test method in the class, and to its right the time it took to run.
+    If you double-click the method name, Eclipse opens the test class source in an editor view
+    pane and moves the focus to the first line of the test method.
+</p>
+<p>
+    The lower pane is for stack traces. If you highlight a failed test in the upper pane, the
+    lower pane contains a stack trace for the test. If a line corresponds to a point in your
+    test code, you can double-click it to display the code in an editor view pane, with the
+    line highlighted. For a successful test, the lower pane is empty.
+</p>
diff --git a/docs/html/guide/developing/testing/testing_otheride.jd b/docs/html/guide/developing/testing/testing_otheride.jd
new file mode 100644
index 0000000..2bdf4d0
--- /dev/null
+++ b/docs/html/guide/developing/testing/testing_otheride.jd
@@ -0,0 +1,683 @@
+page.title=Testing In Other IDEs
+@jd:body
+
+<div id="qv-wrapper">
+  <div id="qv">
+  <h2>In this document</h2>
+  <ol>
+    <li>
+        <a href="#CreateTestProjectCommand">Working with Test Projects</a>
+        <ol>
+            <li>
+                <a href="#CreateTestProject">Creating a test project</a>
+            </li>
+            <li>
+                <a href="#UpdateTestProject">Updating a test project</a>
+            </li>
+        </ol>
+    </li>
+    <li>
+        <a href="#CreateTestApp">Creating a Test Application</a>
+    </li>
+    <li>
+        <a href="#RunTestsCommand">Running Tests</a>
+        <ol>
+            <li>
+                <a href="#RunTestsAnt">Quick build and run with Ant</a>
+            </li>
+            <li>
+                <a href="#RunTestsDevice">Running tests on a device or emulator</a>
+            </li>
+        </ol>
+    </li>
+    <li>
+        <a href="#AMSyntax">Using the Instrument Command</a>
+        <ol>
+            <li>
+                <a href="#AMOptionsSyntax">Instrument options</a>
+            </li>
+            <li>
+                <a href="#RunTestExamples">Instrument examples</a>
+            </li>
+        </ol>
+    </li>
+
+  </ol>
+  <h2>See Also</h2>
+  <ol>
+    <li>
+        <a
+        href="{@docRoot}guide/topics/testing/testing_android.html">Testing and Instrumentation</a>
+    </li>
+    <li>
+        <a href="{@docRoot}resources/tutorials/testing/activity_test.html">Activity Testing</a>
+    </li>
+    <li>
+        <a href="{@docRoot}guide/developing/tools/adb.html">Android Debug Bridge</a>
+    </li>
+  </ol>
+  </div>
+</div>
+<p>
+  This document describes how to create and run tests directly from the command line.
+  You can use the techniques described here if you are developing in an IDE other than Eclipse
+  or if you prefer to work from the command line. This document assumes that you already know how
+  to create a Android application in your programming environment. Before you start this
+  document, you should read the document <a
+  href="{@docRoot}guide/topics/testing/testing_android.html">Testing and Instrumentation</a>,
+  which provides an overview of Android testing.
+</p>
+<p>
+  If you are developing in Eclipse with ADT, you can set up and run your tests
+directly in Eclipse. For more information, please read <a
+  href="{@docRoot}guide/developing/testing/testing_eclipse.html">Testing&nbsp;in&nbsp;Eclipse,&nbsp;with&nbsp;ADT</a>.
+</p>
+<h2 id="CreateTestProjectCommand">Working with Test Projects</h2>
+<p>
+  You use the <code>android</code> tool to create test projects.
+  You also use <code>android</code> to convert existing test code into an Android test project,
+  or to add the <code>run-tests</code> Ant target to an existing Android test project.
+  These operations are described in more detail in the section <a
+  href="#UpdateTestProject">Updating a test project</a>.
+  The <code>run-tests</code> target is described in <a
+  href="#RunTestsAnt">Quick build and run with Ant</a>.
+</p>
+<h3 id="CreateTestProject">Creating a test project</h3>
+<p>
+  To create a test project with the <code>android</code> tool, enter:
+<pre>android create test-project -m &lt;main_path&gt; -n &lt;project_name&gt; -p &lt;test_path&gt;</pre>
+<p>
+  You must supply all the flags. The following table explains them in detail:
+</p>
+<table>
+  <tr>
+    <th>Flag</th>
+    <th>Value</th>
+    <th>Description</th>
+  <tr>
+    <td><code>-m, --main</code></td>
+    <td>
+        Path to the project of the application under test, relative to the test application
+        directory.
+    </td>
+    <td>
+        For example, if the application under test is in <code>source/HelloAndroid</code>, and you
+        want to create the test project in <code>source/HelloAndroidTest</code>, then the value of
+        <code>--main</code> should be <code>../HelloAndroid</code>.
+        </td>
+  <tr>
+    <td><code>-n, --name</code></td>
+    <td>Name that you want to give the test project.</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><code>-p, --path</code></td>
+    <td>Directory in which you want to create the new test project.</td>
+    <td>
+      The <code>android</code> tool creates the test project files and directory structure in this
+      directory. If the directory does not exist, <code>android</code> creates it.
+    </td>
+  </tr>
+</table>
+<p>
+    If the operation is successful, <code>android</code> lists to STDOUT the names of the files
+    and directories it has created.
+</p>
+<p>
+    This creates a new test project with the appropriate directories and build files. The directory
+    structure and build file contents are identical to those in a regular Android application
+    project. They are described in detail in the topic
+    <a href="{@docRoot}guide/developing/other-ide.html">Developing In Other IDEs</a>.
+</p>
+<p>
+    The operation also creates an <code>AndroidManifest.xml</code> file with instrumentation
+    information. When you run the test, Android uses this information to load the application you
+    are testing and control it with instrumentation.
+</p>
+<p>
+    For example, suppose you create the <a
+    href="{@docRoot}resources/tutorials/hello-world.html">Hello, World</a> tutorial application
+    in the directory <code>~/source/HelloAndroid</code>. In the tutorial, this application uses the
+    package name <code>com.example.helloandroid</code> and the activity name
+    <code>HelloAndroid</code>. You can to create the test for this in
+    <code>~/source/HelloAndroidTest</code>. To do so, you enter:
+</p>
+<pre>
+$ cd ~/source
+$ android create test-project -m ../HelloAndroid -n HelloAndroidTest -p HelloAndroidTest
+</pre>
+<p>
+    This creates a directory called <code>~/src/HelloAndroidTest</code>. In the new directory you
+    see the file <code>AndroidManifest.xml</code>. This file contains the following
+    instrumentation-related elements and attributes:
+</p>
+<ul>
+    <li>
+        <code>&lt;application&gt;</code>: to contain the
+        <code>&lt;uses-library&gt;</code> element.
+    </li>
+    <li>
+        <code>&lt;uses-library android:name=&quot;android.test.runner&quot;</code>:
+        specifies this testing application uses the <code>android.test.runner</code> library.
+    </li>
+    <li>
+        <code>&lt;instrumentation&gt;</code>: contains attributes that control Android
+        instrumentation. The attributes are:
+        <ul>
+            <li>
+                <code>android:name=&quot;android.test.InstrumentationTestRunner&quot;</code>:
+                {@link android.test.InstrumentationTestRunner} runs test cases. It extends both
+                JUnit test case runner classes and Android instrumentation classes.
+            </li>
+            <li>
+                <code>android:targetPackage=&quot;com.example.helloandroid&quot;</code>: specifies
+                that the tests in HelloAndroidTest should be run against the application with the
+                <em>Android</em> package name <code>com.example.helloandroid</code>. This is the
+                package name of the <a
+                href="{@docRoot}resources/tutorials/hello-world.html">Hello, World</a>
+                tutorial application.
+            </li>
+            <li>
+                <code>android:label=&quot;Tests for .HelloAndroid&quot;</code>: specifies a
+                user-readable label for the instrumentation class. By default,
+                the <code>android</code> tool gives it the value &quot;Tests for &quot; plus
+                the name of the main Activity of the application under test.
+            </li>
+        </ul>
+    </li>
+</ul>
+<h3 id="UpdateTestProject">Updating a test project</h3>
+<p>
+    You use the <code>android</code> tool when you need to change the path to the
+    project of the application under test. If you are changing an existing test project created in
+    Eclipse with ADT so that you can also build and run it from the command line, you must use the
+    "create" operation. See the section <a href="#CreateTestProject">Creating a test project</a>.
+</p>
+<p class="note">
+    <strong>Note:</strong> If you change the Android package name of the application under test,
+    you must <em>manually</em> change the value of the <code>&lt;android:targetPackage&gt;</code>
+    attribute within the <code>AndroidManifest.xml</code> file of the test application.
+    Running <code>android update test-project</code> does not do this.
+</p>
+<p>
+  To update a test project with the <code>android</code> tool, enter:
+</p>
+<pre>android update-test-project -m &lt;main_path&gt; -p &lt;test_path&gt;</pre>
+
+<table>
+<tr>
+  <th>Flag</th>
+  <th>Value</th>
+  <th>Description</th>
+</tr>
+<tr>
+  <td><code>-m, --main</code></td>
+  <td>The path to the project of the application under test, relative to the test project</td>
+  <td>
+    For example, if the application under test is in <code>source/HelloAndroid</code>, and
+    the test project is in <code>source/HelloAndroidTest</code>, then the value for
+    <code>--main</code> is <code>../HelloAndroid</code>.
+  </td>
+</tr>
+<tr>
+  <td><code>-p, --path</code></td>
+  <td>The of the test project.</td>
+  <td>
+    For example, if the test project is in <code>source/HelloAndroidTest</code>, then the
+    value for <code>--path</code> is <code>HelloAndroidTest</code>.
+  </td>
+</tr>
+</table>
+<p>
+    If the operation is successful, <code>android</code> lists to STDOUT the names of the files
+    and directories it has created.
+</p>
+<h2 id="CreateTestApp">Creating a Test Application</h2>
+<p>
+    Once you have created a test project, you populate it with a test application.
+    The application does not require an {@link android.app.Activity Activity},
+    although you can define one if you wish. Although your test application can
+    combine Activities, Android test class extensions, JUnit extensions, or
+    ordinary classes, you should extend one of the Android test classes or JUnit classes,
+    because these provide the best testing features.
+</p>
+<p>
+    If you run your tests with {@link android.test.InstrumentationTestRunner}
+    (or a related test runner), then it will run all the methods in each class. You can modify
+    this behavior by using the {@link junit.framework.TestSuite TestSuite} class.
+</p>
+
+<p>
+    To create a test application, start with one of Android's test classes in the Java package
+    {@link android.test android.test}. These extend the JUnit
+    {@link junit.framework.TestCase TestCase} class. With a few exceptions, the Android test
+    classes also provide instrumentation for testing.
+</p>
+<p>
+    For test classes that extend {@link junit.framework.TestCase TestCase}, you probably want to
+    override the <code>setUp()</code> and <code>tearDown()</code> methods:
+</p>
+<ul>
+    <li>
+        <code>setUp()</code>: This method is invoked before any of the test methods in the class.
+        Use it to set up the environment for the test. You can use <code>setUp()</code>
+        to instantiate a new <code>Intent</code> object with the action <code>ACTION_MAIN</code>.
+        You can then use this intent to start the Activity under test.
+        <p class="note">
+            <strong>Note:</strong> If you override this method, call
+            <code>super.setUp()</code> as the first statement in your code.
+        </p>
+    </li>
+    <li>
+        <code>tearDown()</code>: This method is invoked after all the test methods in the class. Use
+        it to do garbage collection and re-setting before moving on to the next set of tests.
+        <p class="note"><strong>Note:</strong> If you override this method, you must call
+        <code>super.tearDown()</code> as the <em>last</em> statement in your code.</p>
+    </li>
+</ul>
+<p>
+    Another useful convention is to add the method <code>testPreConditions()</code> to your test
+    class. Use this method to test that the application under test is initialized correctly. If this
+    test fails, you know that that the initial conditions were in error. When this happens, further
+    test results are suspect, regardless of whether or not the tests succeeded.
+</p>
+<p>
+    To learn more about creating test applications, see the topic <a
+    href="{@docRoot}guide/topics/testing/testing_android.html">Testing and Instrumentation</a>,
+    which provides an overview of Android testing. If you prefer to follow a tutorial,
+    try the <a href="{@docRoot}resources/tutorials/testing/activity_test.html">Activity Testing</a>
+    tutorial, which leads you through the creation of tests for an actual Android application.
+</p>
+<h2 id="RunTestsCommand">Running Tests</h2>
+<p>
+    If you are not developing in Eclipse with ADT, you need to run tests from the command line.
+    You can do this either with Ant or with the {@link android.app.ActivityManager ActivityManager}
+    command line interface.
+</p>
+<p>
+    You can also run tests from the command line even if you are using Eclipse with ADT to develop
+    them. To do this, you need to create the proper files and directory structure in the test
+    project, using the <code>android</code> tool with the option <code>create test-project</code>.
+    This is described in the section <a
+    href="#CreateTestProjectCommand">Working with Test Projects</a>.
+</p>
+<h3 id="RunTestsAnt">Quick build and run with Ant</h3>
+<p>
+    You can use Ant to run all the tests in your test project, using the target
+    <code>run-tests</code>, which is created automatically when you create a test project with
+    the <code>android</code> tool.
+</p>
+<p>
+    This target re-builds your main project and test project if necessary, installs the test
+    application to the current AVD or device, and then runs all the test classes in the test
+    application. The results are directed to <code>STDOUT</code>.
+</p>
+<p>
+    You can update an existing test project to use this feature. To do this, use the
+    <code>android</code> tool with the <code>update test-project</code> option. This is described
+    in the section <a href="#UpdateTestProject">Updating a test project</a>.
+<h3 id="RunTestsDevice">Running tests on a device or emulator</h3>
+<p>
+    When you run tests from the command line with the ActivityManager (<code>am</code>)
+    command-line tool, you get more options for choosing the tests to run than with any other
+    method. You can select individual test methods, filter tests according to their annotation, or
+    specify testing options. Since the test run is controlled entirely from a command line, you can
+    customize your testing with shell scripts in various ways.
+</p>
+<p>
+    You run the <code>am</code> tool on an Android device or emulator using the
+    <a href="{@docRoot}guide/developing/tools/adb.html">Android Debug Bridge</a>
+    (<code>adb</code>) shell. When you do this, you use the ActivityManager
+    <code>instrument</code> option to run your test application using an Android test runner
+    (usually {@link android.test.InstrumentationTestRunner}). You set <code>am</code>
+    options with command-line flags.
+</p>
+<p>
+    To run a test with <code>am</code>:
+</p>
+<ol>
+  <li>
+    If necessary, re-build your main application and test application.
+  </li>
+  <li>
+    Install your test application and main application Android package files
+    (<code>.apk</code> files) to your current Android device or emulator</li>
+  <li>
+    At the command line, enter:
+<pre>
+$ adb shell am instrument -w &lt;test_package_name&gt;/&lt;runner_class&gt;
+</pre>
+<p>
+    where <code>&lt;test_package_name&gt;</code> is the Android package name of your test
+    application, and <code>&lt;runner_class&gt;</code> is the name of the Android test runner
+    class you are using. The Android package name is the value of the <code>package</code>
+    attribute of the <code>manifest</code> element in the manifest file
+    (<code>AndroidManifest.xml</code>) of your test application. The Android test runner
+    class is usually <code>InstrumentationTestRunner</code>.
+</p>
+<p>Your test results appear in <code>STDOUT</code>.</p>
+  </li>
+</ol>
+<p>
+    This operation starts an <code>adb</code> shell, then runs <code>am instrument</code> in it
+    with the specified parameters. This particular form of the command will run all of the tests
+    in your test application. You can control this behavior with flags that you pass to
+    <code>am instrument</code>. These flags are described in the next section.
+</p>
+<h2 id="AMSyntax">Using the Instrument Command</h2>
+<p>
+  The general syntax of the <code>am instrument</code> command is:
+</p>
+<pre>
+    am instrument [flags] &lt;test_package&gt;/&lt;runner_class&gt;
+</pre>
+<p>
+    The main input parameters to <code>am instrument</code> are described in the following table:
+</p>
+<table>
+    <tr>
+        <th>
+            Parameter
+        </th>
+        <th>
+            Value
+        </th>
+        <th>
+            Description
+        </th>
+    </tr>
+    <tr>
+        <td>
+            <code>&lt;test_package&gt;</code>
+        </td>
+        <td>
+            The Android package name of the test application.
+        </td>
+        <td>
+            The value of the <code>package</code> attribute of the <code>manifest</code>
+            element in the test application's manifest file.
+        </td>
+    </tr>
+    <tr>
+        <td>
+            <code>&lt;runner_class&gt;</code>
+        </td>
+        <td>
+            The class name of the instrumented test runner you are using.
+        </td>
+        <td>
+            This is usually {@link android.test.InstrumentationTestRunner}.
+        </td>
+    </tr>
+</table>
+<p>
+The flags for <code>am instrument</code> are described in the following table:
+</p>
+<table>
+    <tr>
+        <th>
+            Flag
+        </th>
+        <th>
+            Value
+        </th>
+        <th>
+            Description
+        </th>
+    </tr>
+    <tr>
+        <td>
+            <code>-w</code>
+        </td>
+        <td>
+            (none)
+        </td>
+        <td>
+            Forces <code>am instrument</code> to wait until the instrumentation terminates
+            before terminating itself. The net effect is to keep the shell open until the tests
+            have finished. This flag is not required, but if you do not use it, you will not
+            see the results of your tests.
+        </td>
+    </tr>
+    <tr>
+        <td>
+            <code>-r</code>
+        </td>
+        <td>
+            (none)
+        </td>
+        <td>
+            Outputs results in raw format. Use this flag when you want to collect
+            performance measurements, so that they are not formatted as test results. This flag is
+            designed for use with the flag <code>-e perf true</code> (documented in the section
+            <a href="#AMOptionsSyntax">Instrument options</a>).
+        </td>
+    </tr>
+    <tr>
+        <td>
+            <code>-e</code>
+        </td>
+        <td>
+             &lt;test_options&gt;
+        </td>
+        <td>
+            Provides testing options , in the form of key-value pairs. The
+            <code>am instrument</code> tool passes these to the specified instrumentation class
+            via its <code>onCreate()</code> method. You can specify multiple occurrences of
+            <code>-e &lt;test_options</code>. The keys and values are described in the next table.
+            <p>
+                The only instrumentation class that understands these key-value pairs is
+                <code>InstrumentationTestRunner</code> (or a subclass). Using them with
+                any other class has no effect.
+            </p>
+        </td>
+    </tr>
+</table>
+
+<h3 id="AMOptionsSyntax">Instrument options</h3>
+<p>
+    The <code>am instrument</code> tool passes testing options to
+    <code>InstrumentationTestRunner</code> or a subclass in the form of key-value pairs,
+    using the <code>-e</code> flag, with this syntax:
+</p>
+<pre>
+    -e &lt;key&gt; &lt;value&gt;
+</pre>
+<p>
+    Where applicable, a &lt;key&gt; may have multiple values separated by a comma (,).
+    For example, this invocation of <code>InstrumentationTestRunner</code> provides multiple
+    values for the <code>package</code> key:
+<pre>
+$ adb shell am instrument -w -e package com.android.test.package1,com.android.test.package2 com.android.test/android.test.InstrumentationTestRunner
+</pre>
+<p>
+    The following table describes the key-value pairs and their result. Please review the
+    <strong>Usage Notes</strong> following the table.
+</p>
+<table>
+<tr>
+    <th>Key</th>
+    <th>Value</th>
+    <th>Description</th>
+</tr>
+<tr>
+    <td>
+        <code>package</code>
+    </td>
+    <td>
+        &lt;Java_package_name&gt;
+    </td>
+    <td>
+        The fully-qualified <em>Java</em> package name for one of the packages in the test
+        application. Any test case class that uses this package name is executed. Notice that this
+        is not an <em>Android</em> package name; a test application has a single Android package
+        name but may have several Java packages within it.
+    </td>
+</tr>
+<tr>
+    <td rowspan="2"><code>class</code></td>
+    <td>&lt;class_name&gt;</td>
+    <td>
+        The fully-qualified Java class name for one of the test case classes. Only this test case
+        class is executed.
+    </td>
+</tr>
+<tr>
+    <td>&lt;class_name&gt;<strong>#</strong>method name</td>
+    <td>
+        A fully-qualified test case class name, and one of its methods. Only this method is
+        executed. Note the hash mark (#) between the class name and the method name.
+    </td>
+</tr>
+<tr>
+    <td><code>func</code></td>
+    <td><code>true</code></td>
+    <td>
+        Runs all test classes that extend {@link android.test.InstrumentationTestCase}.
+    </td>
+</tr>
+<tr>
+    <td><code>unit</code></td>
+    <td><code>true</code></td>
+    <td>
+        Runs all test classes that do <em>not</em> extend either
+        {@link android.test.InstrumentationTestCase} or {@link android.test.PerformanceTestCase}.
+    </td>
+</tr>
+<tr>
+    <td><code>size</code></td>
+    <td>[<code>small</code> | <code>medium</code> | <code>large</code>]
+    </td>
+    <td>
+        Runs a test method annotated by size. The  annotations are <code>@SmallTest</code>,
+        <code>@MediumTest</code>, and <code>@LargeTest</code>.
+    </td>
+</tr>
+<tr>
+    <td><code>perf</code></td>
+    <td><code>true</code></td>
+    <td>
+        Runs all test classes that implement {@link android.test.PerformanceTestCase}.
+        When you use this option, also specify the <code>-r</code> flag for
+        <code>am instrument</code>, so that the output is kept in raw format and not
+        re-formatted as test results.
+    </td>
+</tr>
+<tr>
+    <td><code>debug</code></td>
+    <td><code>true</code></td>
+    <td>
+        Runs tests in debug mode.
+    </td>
+</tr>
+<tr>
+    <td><code>log</code></td>
+    <td><code>true</code></td>
+    <td>
+        Loads and logs all specified tests, but does not run them. The test
+        information appears in <code>STDOUT</code>. Use this to verify combinations of other filters
+        and test specifications.
+    </td>
+</tr>
+<tr>
+    <td><code>emma</code></td>
+    <td><code>true</code></td>
+    <td>
+        Runs an EMMA code coverage analysis and writes the output to <code>/data//coverage.ec</code>
+        on the device. To override the file location, use the <code>coverageFile</code> key that
+        is described in the following entry.
+        <p class="note">
+            <strong>Note:</strong> This option requires an EMMA-instrumented build of the test
+            application, which you can generate with the <code>coverage</code> target.
+        </p>
+    </td>
+</tr>
+<tr>
+    <td><code>coverageFile</code></td>
+    <td><code>&lt;filename&gt;</code></td>
+    <td>
+        Overrides the default location of the EMMA coverage file on the device. Specify this
+        value as a path and filename in UNIX format. The default filename is described in the
+        entry for the <code>emma</code> key.
+    </td>
+</tr>
+</table>
+<strong><code>-e</code> Flag Usage Notes</strong>
+<ul>
+    <li>
+        <code>am instrument</code> invokes
+        {@link android.test.InstrumentationTestRunner#onCreate(Bundle)}
+        with a {@link android.os.Bundle} containing the key-value pairs.
+    </li>
+    <li>
+        The <code>package</code> key takes precedence over the <code>class</code> key. If you
+        specifiy a package, and then separately specify a class within that package, Android
+        will run all the tests in the package and ignore the <code>class</code> key.
+    </li>
+    <li>
+        The <code>func</code> key and <code>unit</code> key are mutually exclusive.
+    </li>
+</ul>
+<h3 id="RunTestExamples">Instrument examples</h3>
+<p>
+Here are some examples of using <code>am instrument</code> to run tests. They are based on
+the following structure:</p>
+<ul>
+    <li>
+        The test application has the Android package name <code>com.android.demo.app.tests</code>
+    </li>
+    <li>
+        There are three test classes:
+        <ul>
+            <li>
+                <code>UnitTests</code>, which contains the methods
+                <code>testPermissions</code> and <code>testSaveState</code>.
+            </li>
+            <li>
+                <code>FunctionTests</code>, which contains the methods
+                <code>testCamera</code>, <code>testXVGA</code>, and <code>testHardKeyboard</code>.
+            </li>
+            <li>
+                <code>IntegrationTests</code>,
+                which contains the method <code>testActivityProvider</code>.
+            </li>
+        </ul>
+    </li>
+    <li>
+        The test runner is {@link android.test.InstrumentationTestRunner}.
+    </li>
+</ul>
+<h4>Running the Entire Test Application</h4>
+<p>
+    To run all of the test classes in the test application, enter:
+</p>
+<pre>
+$ adb shell am instrument -w com.android.demo.app.tests/android.test.InstrumentationTestRunner
+</pre>
+<h4>Running All Tests in a Test Case Class</h4>
+<p>
+    To run all of the tests in the class <code>UnitTests</code>, enter:
+</p>
+<pre>
+$ adb shell am instrument -w  \
+-e class com.android.demo.app.tests.UnitTests \
+com.android.demo.app.tests/android.test.InstrumentationTestRunner
+</pre>
+<p>
+  <code>am instrument</code> gets the value of the <code>-e</code> flag, detects the
+  <code>class</code> keyword, and runs all the methods in the <code>UnitTests</code> class.
+</p>
+<h4>Selecting a Subset of Tests</h4>
+<p>
+  To run all of the tests in <code>UnitTests</code>, and the <code>testCamera</code> method in
+  <code>FunctionTests</code>, enter:
+</p>
+<pre>
+$ adb shell am instrument -w \
+-e class com.android.demo.app.tests.UnitTests,com.android.demo.app.tests.FunctionTests#testCamera \
+com.android.demo.app.tests/android.test.InstrumentationTestRunner
+</pre>
+<p>
+    You can find more examples of the command in the documentation for
+    {@link android.test.InstrumentationTestRunner}.
+</p>
diff --git a/docs/html/guide/developing/tools/emulator.jd b/docs/html/guide/developing/tools/emulator.jd
index dbfc8ef..6363ab2 100644
--- a/docs/html/guide/developing/tools/emulator.jd
+++ b/docs/html/guide/developing/tools/emulator.jd
@@ -7,7 +7,7 @@
 that runs on your computer. The emulator lets you prototype, develop, and test 
 Android applications without using a physical device. </p>
 
-<p>The Android emulator all of the hardware and software features 
+<p>The Android emulator mimics all of the hardware and software features 
 of a typical mobile device, except that it can not receive or place actual phone 
 calls. It provides a variety of navigation and control keys, which you can "press" 
 using your mouse or keyboard to generate events for your application. It also 
diff --git a/docs/html/guide/guide_toc.cs b/docs/html/guide/guide_toc.cs
index 31d9f1a..51ca3cc 100644
--- a/docs/html/guide/guide_toc.cs
+++ b/docs/html/guide/guide_toc.cs
@@ -77,9 +77,19 @@
           <li><a href="<?cs var:toroot ?>guide/topics/ui/ui-events.html">
                 <span class="en">Handling UI Events</span>
               </a></li>
-          <li><a href="<?cs var:toroot ?>guide/topics/ui/notifiers/index.html">
+          <li class="toggle-list">
+            <div><a href="<?cs var:toroot ?>guide/topics/ui/notifiers/index.html">
                 <span class="en">Notifying the User</span>
+            </a></div>
+            <ul>
+              <li><a href="<?cs var:toroot ?>guide/topics/ui/notifiers/toasts.html">
+                <span class="en">Creating Toast Notifications</span>
               </a></li>
+              <li><a href="<?cs var:toroot ?>guide/topics/ui/notifiers/notifications.html">
+                <span class="en">Creating Status Bar Notifications</span>
+              </a></li>
+            </ul>
+          </li>
           <li><a href="<?cs var:toroot ?>guide/topics/ui/themes.html">
                 <span class="en">Applying Styles and Themes</span>
               </a></li>
@@ -100,7 +110,7 @@
       <li class="toggle-list">
         <div><a href="<?cs var:toroot ?>guide/topics/resources/index.html">
                <span class="en">Application Resources</span>
-             </a></div>
+             </a> <span class="new">new!</span></div>
         <ul>
           <li><a href="<?cs var:toroot ?>guide/topics/resources/providing-resources.html">
                 <span class="en">Providing Resources</span>
@@ -110,14 +120,14 @@
               </a></li>
           <li><a href="<?cs var:toroot ?>guide/topics/resources/runtime-changes.html">
                 <span class="en">Handling Runtime Changes</span>
-              </a></li>
+              </a> <span class="new">new!</span></li>
           <li><a href="<?cs var:toroot ?>guide/topics/resources/localization.html">
                 <span class="en">Localization</span>
               </a></li>
           <li class="toggle-list">
             <div><a href="<?cs var:toroot ?>guide/topics/resources/available-resources.html">
               <span class="en">Resource Types</span>
-            </a></div>
+            </a> <span class="new">new!</span></div>
             <ul>
               <li><a href="<?cs var:toroot ?>guide/topics/resources/animation-resource.html">Animation</a></li>
               <li><a href="<?cs var:toroot ?>guide/topics/resources/color-list-resource.html">Color State List</a></li>
@@ -275,6 +285,25 @@
             <span class="en">Debugging Tasks</span>
           </a></li>
       <li class="toggle-list">
+           <div>
+                <a href="<?cs var:toroot ?>guide/developing/testing/index.html">
+                   <span class="en">Testing</span>
+               </a> <span class="new">new!</span>
+           </div>
+           <ul>
+              <li>
+                <a href="<?cs var:toroot ?>guide/developing/testing/testing_eclipse.html">
+                  <span class="en">Testing in Eclipse, with ADT</span>
+                </a> <span class="new">new!</span>
+              </li>
+              <li>
+                <a href="<?cs var:toroot ?>guide/developing/testing/testing_otheride.html">
+                  <span class="en">Testing in Other IDEs</span>
+                </a> <span class="new">new!</span>
+              </li>
+           </ul>
+         </li>
+      <li class="toggle-list">
         <div><a href="<?cs var:toroot ?>guide/developing/tools/index.html">
             <span class="en">Tools</span>
           </a></div>
@@ -361,6 +390,9 @@
                <span class="zh-TW" style="display:none">最佳實務</span>
     </h2>
     <ul>
+      <li><a href="<?cs var:toroot ?>guide/practices/compatibility.html">
+            <span class="en">Compatibility</span>
+          </a><span class="new">new!</span></li>
       <li><a href="<?cs var:toroot ?>guide/practices/screens_support.html">
             <span class="en">Supporting Multiple Screens</span>
           </a></li>
@@ -412,8 +444,11 @@
             <span class="en">Android API Levels</span>
           </a></li>
       <li><a href="<?cs var:toroot ?>guide/appendix/market-filters.html">
-            <span class="en">Market Filters </span>
-           </a><span class="new">new!</span></li>
+            <span class="en">Market Filters</span>
+           </a> <span class="new">new!</span></li>
+      <li><a href="<?cs var:toroot ?>guide/appendix/install-location.html">
+            <span class="en">App Install Location</span>
+          </a> <span class="new">new!</span></li>
       <li><a href="<?cs var:toroot ?>guide/appendix/media-formats.html">
             <span class="en">Supported Media Formats</span>
           </a></li>
diff --git a/docs/html/guide/practices/compatibility.jd b/docs/html/guide/practices/compatibility.jd
new file mode 100644
index 0000000..d198166
--- /dev/null
+++ b/docs/html/guide/practices/compatibility.jd
@@ -0,0 +1,242 @@
+page.title=Android Compatibility
+@jd:body
+
+<div id="qv-wrapper">
+<div id="qv">
+
+<h2>See also</h2>
+ <ol>
+<li><a
+href="{@docRoot}guide/appendix/market-filters.html">Market Filters</a></li>
+<li><a
+href="{@docRoot}guide/topics/resources/providing-resources.html#AlternativeResources">Providing Alternative Resources</a></li>
+<li><a
+href="{@docRoot}guide/practices/screens_support.html">Supporting Multiple Screens</a></li>
+<li style="margin-top:3px;"><code><a
+href="{@docRoot}guide/topics/manifest/supports-screens-element.html">&lt;supports-screens&gt;</a></code></li>
+<li><code><a
+href="{@docRoot}guide/topics/manifest/uses-configuration-element.html">&lt;uses-configuration&gt;</a></code></li>
+<li><code><a
+href="{@docRoot}guide/topics/manifest/uses-feature-element.html">&lt;uses-feature&gt;</a></code></li>
+<li><code><a
+href="{@docRoot}guide/topics/manifest/uses-library-element.html">&lt;uses-library&gt;</a></code></li>
+<li><code><a
+href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a></code></li>
+<li><code><a
+href="{@docRoot}guide/topics/manifest/uses-sdk-element.html">&lt;uses-sdk&gt;</code></a></li>
+</ol>
+
+
+</div> </div>
+
+<p>Android is designed to run on many different types of devices. For
+developers, the range and number of devices means a huge potential audience: the
+more devices that run Android apps, the more users who can access your app. In
+exchange, however, it also means that your apps will have to cope with that same
+variety of hardware.</p>
+
+<p>Fortunately, Android has built-in tools and support that make it easy for
+your apps to do that, while at the same time maintaining control of what types
+of devices your app is available to. If you do your work properly, users
+whose devices can’t run your app will never see it in the Android Market, and
+will not get in trouble by downloading it. This page explains how you can
+control which devices have access to your apps, and how to prepare your apps to
+make sure they reach the right audience.</p>
+
+
+<h3 id="defined">What does “Compatibility” mean?</h3>
+
+<p>A device is “Android compatible” if it can run apps written for the
+<em>Android execution environment</em>. The exact details of the Android
+execution environment are defined by the Android Compatibility Definition
+Document, but the single most to the ability to install and correctly run an
+Android <code>.apk</code> file.</p>
+
+<p>There is exactly one Android API for each <a
+href="{@docRoot}guide/appendix/api-levels.html">API level</a>, and it’s the same
+API no matter what kind of device it’s installed on. No parts of the API are
+optional, and you never have to worry about parts of the API missing on some
+devices. Every compatible Android device your app will land on will include
+every class and every API for that API level.</p>
+
+<p>Of course, some APIs won’t work correctly if a particular device lacks the
+corresponding hardware or feature. But that’s not a problem: we also designed
+Android to prevent apps from being visible to devices which don’t have features
+the apps require. We’ve built support for this right into the SDK tools, and
+it’s part of the Android platform itself, as well as Android Market.</p>
+
+<p>As a developer, you have complete control of how and where your apps are
+available. Android provides tools as a first-class part of the platform that let
+you manage this. You control the availability of your apps, so that they reach
+only the devices capable of running them.</p>
+
+<h3 id="how">How does it work?</h3>
+
+<p>You manage your app’s availability through a simple three-step process:</p>
+
+<ol>
+<li>You state the features your app requires by declaring <a
+href="{@docRoot}guide/topics/manifest/uses-feature-element.html"><code>&lt;uses-feature&gt;</code></a>
+elements its manifest file.</li>
+<li>Devices are required to declare the features they include to Android
+Market.</li>
+<li>Android Market uses your app’s stated requirements to filter it from devices
+that don’t meet those requirements.</li>
+</ol>
+
+<p>This way, users never even see apps that won’t work properly on their
+devices. As long as you accurately describe your app’s requirements, you don’t
+need to worry about users blaming you for compatibility problems.</p>
+
+<p>If you’re familiar with web development, you may recognize this model as
+“capability detection”. Web developers typically prefer this approach to
+“browser detection”, because it’s very difficult to keep up as new browsers and
+new versions of current browsers are released. By checking for support for
+specific required capabilities instead of the current browser, web developers
+get better fine-grained control. That’s the same approach Android uses: since
+it’s impossible to keep up with all the Android devices being released, you
+instead use the fine-grained controls Android provides.</p>
+
+<h3>Filtering for technical reasons</h3>
+
+ <div class="sidebox-wrapper"> 
+  <img id="rule" src="{@docRoot}assets/images/grad-rule-qv.png"> 
+  <div id="qv-sub-rule"> 
+    <img src="{@docRoot}assets/images/icon_market.jpg" style="float:left;margin:0;padding:0;"> 
+    <p style="color:#669999;">Filtering on Android Market</p>
+
+    <p>Android Market filters the applications that are visible to users, so
+that users can see and download only those applications that are compatible with
+their devices.</p>
+
+    <p style="margin-top:1em;">One of the ways Market filters applications is by
+feature compatibility. To do this, Market checks the
+<code>&lt;uses-feature&gt;</code> elements in each application's manifest, to
+establish the app's feature needs. Market then shows or hides the application to
+each user, based on a comparison with the features available on the user's
+device. 
+
+<p style="margin-top:1em;">For information about other filters that you can
+use to control the availability of your apps, see the 
+<a href="{@docRoot}guide/appendix/market-filters.html">Market
+Filters</a> document.</p>
+  </div> 
+</div>
+
+<p>Android includes support for a lot of features, some hardware and some
+software. Examples include compass and accelerometer sensors, cameras, and Live
+Wallpapers. However, not every device will support every feature. For instance,
+some devices don’t have the hardware horsepower to display Live Wallpapers
+well.</p>
+
+<p>To manage this, Android defines <em>feature IDs</em>. Every capability has a
+corresponding feature ID defined by the Android platform. For instance, the
+feature ID for compass is <code>“android.hardware.sensor.compass”</code>, 
+while the feature
+ID for Live Wallpapers is <code>“android.software.live_wallpapers”</code>. Each of these IDs
+also has a corresponding Java-language constant on the
+{@link android.content.pm.PackageManager} class that you can use to query whether
+feature is supported at runtime. As Android adds support for new features in
+future versions, new feature IDs will be added as well.</p>
+
+<p>When you write your application, you specify which features your app requires
+by listing their feature IDs in <code>&lt;uses-feature&gt;</code> elements in
+the <code>AndroidManifest.xml</code> file.  This is the information that Android
+Market uses to match your app to devices that can run it. For instance, if you
+state that your app requires android.software.live_wallpapers, it won’t be shown
+to devices that don’t support Live Wallpapers.</p>
+
+<p>This puts you in total control of your app &mdash; because you don’t have to
+declare these features. Consider an example involving cameras.</p>
+
+<p>If you’re building a really impressive next-generation augmented-reality app,
+your app won’t function at all without a camera. However, if you’re building a
+shopping app that only uses the camera for barcode scanning, users without
+cameras might still find it useful even if they can’t scan barcodes. While both
+apps need to acquire the permission to access the camera, only the first app
+needs to state that it requires a camera.  (The shopping app can simply check at
+runtime and disable the camera-related features if there’s no camera
+present.)</p>
+
+<p>Since only you can say what the best approach is for your app, Android
+provides the tools and lets you make your own tradeoff between maximizing
+audience size and minimizing development costs.</p>
+
+
+<h3 id="filtering">Filtering for business reasons</h3>
+
+<p>It’s possible that you may need to restrict your app’s availability for
+business or legal reasons. For instance, an app that displays train schedules
+for the London Underground is unlikely to be useful to users outside the United
+Kingdom. Other apps might not be permitted in certain countries for business or
+legal reasons. For cases such as these, Android Market itself provides
+developers with filtering options that allow them control their app’s
+availability for non-technical reasons.</p>
+
+<p>The help information for Android Market provides full details, but in a
+nutshell, developers can use the Market publisher UI to:</p>
+
+<ul>
+<li>List the countries an app is available in.</li>
+<li>Select which carrier’s users are able to access the app.</li>
+</ul>
+
+<p>Filtering for technical compatibility (such as required hardware components)
+is always based on information contained within your <code>.apk</code> file. But
+filtering for non-technical reasons (such as geographic restrictions) is always
+handled in the Market user interface.</p>
+
+<h3 id="futureproofing">Future-proofing</h3>
+
+<p>There’s one additional quirk that we haven’t yet addressed: protecting apps
+from changes made to future versions of Android.  If the Android platform
+introduces a new feature or changes how existing features are handled, what
+happens to existing apps that were written without any knowledge of the new
+behavior?</p>
+
+<p>Simply put, Android commits to not making existing apps available to devices
+where they won’t work properly, even when the platform changes. The best way to
+explain this is through examples, so here are two:</p>
+
+<ul>
+<li>Android 1.0 through 1.5 required a 2 megapixel camera with auto-focus.
+However, with version 1.6, Android devices were permitted to omit the auto-focus
+capability, though a (fixed-focus) camera was still required. Some apps such as
+barcode scanners do not function as well with cameras that do not auto-focus. To
+prevent users from having a bad experience with those apps, existing apps that
+obtain permission to use the Camera were assumed by default to require
+auto-focus. This allowed Android Market to filter those apps from devices that
+lack auto-focus.</li>
+
+<li>Android 2.2, meanwhile, allowed the microphone to be optional on some
+devices, such as set-top boxes. Android 2.2 included a new feature ID for the
+microphone which allows developers to filter their apps if necessary, but
+&mdash; as with camera &mdash; apps that obtain permission to record audio are
+assumed to require the microphone feature by default. If your app can use a
+microphone but doesn’t strictly need it, you can explicitly state that you don’t
+require it; but unless you do that, your app won’t be shown to devices without
+microphones.</li>
+</ul>
+
+<p>In other words, whenever Android introduces new features or changes existing
+ones, we will always take steps to protect existing applications so that they
+don’t end up being available to devices where they won’t work.</p>
+
+<p>This is implemented using the <code>aapt</code> tool in the SDK. To see which
+features your app explicitly requires or is implicitly assumed to require, you
+can use the command <code>aapt dump badging</code>.</p>
+
+<h3 id="conclusion">Conclusion</h3>
+
+<p>The goal of Android is to create a huge installed base for developers to take
+advantage of. One of the ways we will achieve this is through different kinds of
+hardware running the same software environment. But we also recognize that only
+developers know which kinds of devices their apps make sense on. We’ve built in
+tools to the SDK and set up policies and requirements to ensure that developers
+remain in control of their apps, today and in the future. With the information
+you just read, and the resources listed in the sidebar of this document, you 
+can publish your app with the confidence that only users who can run it will
+see it.</p>
+
+
+ 
\ No newline at end of file
diff --git a/docs/html/guide/practices/screens_support.jd b/docs/html/guide/practices/screens_support.jd
index 5e61e6c..1e254f0 100644
--- a/docs/html/guide/practices/screens_support.jd
+++ b/docs/html/guide/practices/screens_support.jd
@@ -169,8 +169,12 @@
 or density resources, based on the generalized size or density of the current
 device screen, and adapts them to the actual pixel map of the screen.</p>
 
-<p>The range of screens supported by Android and the generalized screen
-configurations that the platform maps them to are shown in the table below. </p>
+<p>The table below lists some of the more common screens supported
+by Android and illustrates how the platform maps them to generalized screen
+configurations.</p>
+
+<p class="table-caption" id="screens-table"><strong>Table 1.</strong> Examples of
+device screens supported by Android.</p> 
 
   <table id="screens-table" width="80%" style="margin-top:2em;">
     <tbody>
@@ -236,15 +240,13 @@
     </tbody>
   </table>
 
-<p class="caption" style="margin-top:1em;margin-bottom:1.5em;"><strong>Table
-1.</strong> Summary of device screens supported by Android. </p>
+<p class="caption" style="margin-top:1em;margin-bottom:1.5em;"> </p>
 
 <p>As shown above, the various screen configurations are arranged around a
-baseline screen &mdash; HVGA (320x480) resolution on a 3.2" screen &mdash; which
-is assigned a size of "normal" and a density of "medium". The HVGA screen is
-used as the baseline because all applications written against Android 1.5 or
-earlier are (by definition) written for the HVGA screen used on the T-Mobile G1
-and similar devices.</p>
+<em>baseline screen</em> that is assigned a size of "normal" and a density of
+"medium". The HVGA screen is used as the baseline because all applications
+written against Android 1.5 or earlier are (by definition) written for the HVGA
+screen used on the T-Mobile G1 and similar devices.</p>
 
 <!-- <p>Note that each screen configuration spans a range of actual resolutions
 and physical screen sizes. For example, the The baseline configuration spans a
@@ -267,6 +269,11 @@
 properly implemented. For more information, see  <a
 href="#screen-independence">Best Practices for Screen Independence</a>.</p>
 
+<!--
+<p>For an overview of the relative numbers of high (hdpi), medium (mdpi), and 
+low (ldpi) density screens, see the <a 
+href="{@docRoot}guide/resources/dashboard/screen-densities.html">Screen Densities dashboard</a>.</p> 
+-->
 
 <h3 id="support">How Android supports multiple screens</h3>
 
@@ -401,7 +408,7 @@
 display properly on most devices, especially when the device's screen is at the
 baseline "normal" size or larger. </p>
 
-<p>However, note that applications written for the baseline HVGA screen may need
+<p>However, note that applications written for the baseline screen may need
 minor adjustments before they display properly on smaller screens such as QVGA.
 With the reduced screen area of small screens, there may be tradeoffs in design,
 content, and function that you, as the application developer, need to consider.
@@ -557,7 +564,7 @@
     <li>If you declare <code>largeScreens="false"</code>, your application can
 still be installed by users of devices with large screens. When run on a device
 with a large screen, this attribute value causes the platform to run the
-application in compatibility mode, rendering it in a baseline HVGA screen area
+application in compatibility mode, rendering it in a baseline screen area
 (normal size, medium density) reserved on the larger screen. See 
 <a href="#compatibility-examples">Screen-Compatibility Examples</a> for an
 illustration of what an application looks like when displayed in compatibility
@@ -803,7 +810,7 @@
 <p>In some cases, you will need to express dimensions in <code>dip</code> and
 then convert them to pixels. Imagine an application in which a scroll gesture is
 recognized after the user's finger has moved by at least 16 pixels. On a
-baseline HVGA screen, the user will have to move his finger by 16 pixels / 160
+baseline screen, the user will have to move his finger by 16 pixels / 160
 dpi = 1/10th of an inch (or 2.5 mm) before the gesture is recognized. On a
 device with a high (240) density display, the user will move his finger by only
 16 pixels / 240 dpi = 1/15th of an inch (or 1.7 mm.) The distance is much
diff --git a/docs/html/guide/practices/ui_guidelines/icon_design.jd b/docs/html/guide/practices/ui_guidelines/icon_design.jd
index 3f00b5c..51ccfaf 100644
--- a/docs/html/guide/practices/ui_guidelines/icon_design.jd
+++ b/docs/html/guide/practices/ui_guidelines/icon_design.jd
@@ -681,7 +681,7 @@
 <table style="margin:0px;padding:0px;">
 <tr>
 <td class="image-caption-i"><img src="{@docRoot}images/icon_design/menu_palette_white.png" alt="Color palette, white" style="margin:.5em 0 0 0;" /></td>
-<td class="image-caption-c" style="padding-top:.5em;">White<br>r 0 | g 0 | b 0<br>Used for outer glow and bevel highlight.</td>
+<td class="image-caption-c" style="padding-top:.5em;">White<br>r 255 | g 255 | b 255<br>Used for outer glow and bevel highlight.</td>
 </tr>
 
 <tr>
@@ -691,7 +691,7 @@
 
 <tr>
 <td class="image-caption-i"><img src="{@docRoot}images/icon_design/menu_palette_black.png" alt="Color palette, black" style="margin:.5em 0 0 0;" /></td>
-<td class="image-caption-c" style="padding-top:.5em;">Black<br>r 255 | g 255 | b 255<br>Used for inner shadow and bevel shadow.</td>
+<td class="image-caption-c" style="padding-top:.5em;">Black<br>r 0 | g 0 | b 0<br>Used for inner shadow and bevel shadow.</td>
 </tr>
 
 </table>
@@ -809,22 +809,22 @@
 <table style="margin:0px;padding:0px;">
 <tr>
 <td class="image-caption-i"><img src="{@docRoot}images/icon_design/statusbar_palette_white.png" alt="Color palette, white" style="margin:.5em 0 0 0;" /></td>
-<td class="image-caption-c" style="padding-top:.5em;">White<br>r 0 | g 0 | b 0<br>Used for details within the icons and bevel highlight.</td>
+<td class="image-caption-c" style="padding-top:.5em;">White<br>r 255 | g 255 | b 255<br>Used for details within the icons and bevel highlight.</td>
 </tr>
 
 <tr>
-<td class="image-caption-i"><img src="{@docRoot}images/icon_design/statusbar_palette_fill.png" alt="Color palette, grey gradient" style="margin:.5em 0 0 0;" /></td>
+<td class="image-caption-i"><img src="{@docRoot}images/icon_design/statusbar_palette_grey.png" alt="Color palette, grey gradient" style="margin:.5em 0 0 0;" /></td>
 <td class="image-caption-c" style="padding-top:.5em;">Grey gradient<br><em>1:&nbsp;&nbsp;</em>r 169 | g 169 | b 169<br><em>2:&nbsp;&nbsp;</em>r 126 | g 126 | b 126<br>Used for disabled details within the icon.</td>
 </tr>
 
 <tr>
-<td class="image-caption-i"><img src="{@docRoot}images/icon_design/statusbar_palette_grey.png" alt="Color palette, fill gradient" style="margin:.5em 0 0 0;" /></td>
+<td class="image-caption-i"><img src="{@docRoot}images/icon_design/statusbar_palette_fill.png" alt="Color palette, fill gradient" style="margin:.5em 0 0 0;" /></td>
 <td class="image-caption-c" style="padding-top:.5em;">Fill gradient<br><em>1:&nbsp;&nbsp;</em>1 r 105 | g 105 | b 105<br><em>2:&nbsp;&nbsp;</em>r 10   | g 10   | b 10<br>Used as color fill.</td>
 </tr>
 
 <tr>
 <td class="image-caption-i"><img src="{@docRoot}images/icon_design/statusbar_palette_black.png" alt="Color palette, black" style="margin:.5em 0 0 0;" /></td>
-<td class="image-caption-c" style="padding-top:.5em;">Black<br>r 255 | g 255 | b 255<br>Used for bevel shadow.</td>
+<td class="image-caption-c" style="padding-top:.5em;">Black<br>r 0 | g 0 | b 0<br>Used for bevel shadow.</td>
 </tr>
 
 </table>
diff --git a/docs/html/guide/practices/ui_guidelines/icon_design_1.jd b/docs/html/guide/practices/ui_guidelines/icon_design_1.jd
index 039f301..1c75843 100644
--- a/docs/html/guide/practices/ui_guidelines/icon_design_1.jd
+++ b/docs/html/guide/practices/ui_guidelines/icon_design_1.jd
@@ -169,7 +169,7 @@
 <table style="margin:0px;padding:0px;">
 <tr>
 <td class="image-caption-i"><img src="{@docRoot}images/icon_design/launcher_palette_white.png" alt="Color palette, white" style="margin:.5em 0 0 0;" /></td>
-<td class="image-caption-c" style="padding-top:.5em;">White<br>r 0 | g 0 | b 0<br>Used for highlights on edges.</td>
+<td class="image-caption-c" style="padding-top:.5em;">White<br>r 255 | g 255 | b 255<br>Used for highlights on edges.</td>
 </tr>
 
 <tr>
@@ -189,7 +189,7 @@
 
 <tr>
 <td class="image-caption-i"><img src="{@docRoot}images/icon_design/launcher_palette_black.png" alt="Color palette, black" style="margin:.5em 0 0 0;" /></td>
-<td class="image-caption-c" style="padding-top:.5em;">Black<br>r 255 | g 255 | b 255<br>Used as base color in shadows.</td>
+<td class="image-caption-c" style="padding-top:.5em;">Black<br>r 0 | g 0 | b 0<br>Used as base color in shadows.</td>
 </tr>
 
 </table>
@@ -300,7 +300,7 @@
 <table style="margin:0px;padding:0px;">
 <tr>
 <td class="image-caption-i"><img src="{@docRoot}images/icon_design/menu_palette_white.png" alt="Color palette, white" style="margin:.5em 0 0 0;" /></td>
-<td class="image-caption-c" style="padding-top:.5em;">White<br>r 0 | g 0 | b 0<br>Used for outer glow and bevel highlight.</td>
+<td class="image-caption-c" style="padding-top:.5em;">White<br>r 255 | g 255 | b 255<br>Used for outer glow and bevel highlight.</td>
 </tr>
 
 <tr>
@@ -310,7 +310,7 @@
 
 <tr>
 <td class="image-caption-i"><img src="{@docRoot}images/icon_design/menu_palette_black.png" alt="Color palette, black" style="margin:.5em 0 0 0;" /></td>
-<td class="image-caption-c" style="padding-top:.5em;">Black<br>r 255 | g 255 | b 255<br>Used for inner shadow and bevel shadow.</td>
+<td class="image-caption-c" style="padding-top:.5em;">Black<br>r 0 | g 0 | b 0<br>Used for inner shadow and bevel shadow.</td>
 </tr>
 
 </table>
@@ -412,22 +412,22 @@
 <table style="margin:0px;padding:0px;">
 <tr>
 <td class="image-caption-i"><img src="{@docRoot}images/icon_design/statusbar_palette_white.png" alt="Color palette, white" style="margin:.5em 0 0 0;" /></td>
-<td class="image-caption-c" style="padding-top:.5em;">White<br>r 0 | g 0 | b 0<br>Used for details within the icons and bevel highlight.</td>
+<td class="image-caption-c" style="padding-top:.5em;">White<br>r 255 | g 255 | b 255<br>Used for details within the icons and bevel highlight.</td>
 </tr>
 
 <tr>
-<td class="image-caption-i"><img src="{@docRoot}images/icon_design/statusbar_palette_fill.png" alt="Color palette, grey gradient" style="margin:.5em 0 0 0;" /></td>
+<td class="image-caption-i"><img src="{@docRoot}images/icon_design/statusbar_palette_grey.png" alt="Color palette, grey gradient" style="margin:.5em 0 0 0;" /></td>
 <td class="image-caption-c" style="padding-top:.5em;">Grey gradient<br><em>1:&nbsp;&nbsp;</em>r 169 | g 169 | b 169<br><em>2:&nbsp;&nbsp;</em>r 126 | g 126 | b 126<br>Used for disabled details within the icon.</td>
 </tr>
 
 <tr>
-<td class="image-caption-i"><img src="{@docRoot}images/icon_design/statusbar_palette_grey.png" alt="Color palette, fill gradient" style="margin:.5em 0 0 0;" /></td>
+<td class="image-caption-i"><img src="{@docRoot}images/icon_design/statusbar_palette_fill.png" alt="Color palette, fill gradient" style="margin:.5em 0 0 0;" /></td>
 <td class="image-caption-c" style="padding-top:.5em;">Fill gradient<br><em>1:&nbsp;&nbsp;</em>1 r 105 | g 105 | b 105<br><em>2:&nbsp;&nbsp;</em>r 10   | g 10   | b 10<br>Used as color fill.</td>
 </tr>
 
 <tr>
 <td class="image-caption-i"><img src="{@docRoot}images/icon_design/statusbar_palette_black.png" alt="Color palette, black" style="margin:.5em 0 0 0;" /></td>
-<td class="image-caption-c" style="padding-top:.5em;">Black<br>r 255 | g 255 | b 255<br>Used for bevel shadow.</td>
+<td class="image-caption-c" style="padding-top:.5em;">Black<br>r 0 | g 0 | b 0<br>Used for bevel shadow.</td>
 </tr>
 
 </table>
diff --git a/docs/html/guide/topics/data/data-storage.jd b/docs/html/guide/topics/data/data-storage.jd
index 52f1353..293a057 100644
--- a/docs/html/guide/topics/data/data-storage.jd
+++ b/docs/html/guide/topics/data/data-storage.jd
@@ -145,7 +145,7 @@
 
 
 <a name="files"></a>
-<h2 id="#filesInternal">Using the Internal Storage</h2>
+<h2 id="filesInternal">Using the Internal Storage</h2>
 
 <p>You can save files directly on the device's internal storage. By default, files saved
 to the internal storage are private to your application and other applications cannot access
@@ -225,7 +225,7 @@
 
 
 
-<h2 id="#filesExternal">Using the External Storage</h2>
+<h2 id="filesExternal">Using the External Storage</h2>
 
 <p>Every Android-compatible device supports a shared "external storage" that you can use to
 save files. This can be a removable storage media (such as an SD card) or an internal
diff --git a/docs/html/guide/topics/manifest/application-element.jd b/docs/html/guide/topics/manifest/application-element.jd
index 08f35e9..786223f 100644
--- a/docs/html/guide/topics/manifest/application-element.jd
+++ b/docs/html/guide/topics/manifest/application-element.jd
@@ -3,8 +3,7 @@
 
 <dl class="xml">
 <dt>syntax:</dt>
-<dd><pre class="stx">&lt;application android:<a href="#backup">allowBackup</a>=["true" | "false"]
-             android:<a href="#clear">allowClearUserData</a>=["true" | "false"]
+<dd><pre class="stx">&lt;application android:<a href="#clear">allowClearUserData</a>=["true" | "false"]
              android:<a href="#reparent">allowTaskReparenting</a>=["true" | "false"]
              android:<a href="#agent">backupAgent</a>="<i>string</i>"
              android:<a href="#debug">debuggable</a>=["true" | "false"]
@@ -49,15 +48,6 @@
 
 <dt>attributes</dt>
 <dd><dl class="attr">
-<dt><a name="backup"></a>{@code android:allowBackup}</dt>
-<dd>Whether the application allows its data to be backed up through the Android
-Backup Manager &mdash; "{@code true}" if it does, "{@code false}" if not.  By
-default this attribute is "{@code true}".  If an application declares this
-attribute to be "{@code false}" the Backup Manager will never attempt to
-perform any backup or restore operation, even if the application declares a
-valid <a href="#agent">{@code android:backupAgent}</a> attribute in its
-manifest.
-</dd>
 
 <dt><a name="clear"></a>{@code android:allowClearUserData}</dt>
 <dd>Whether or not users are given the option to remove user data &mdash; 
diff --git a/docs/html/guide/topics/manifest/instrumentation-element.jd b/docs/html/guide/topics/manifest/instrumentation-element.jd
index 1fd1dd0..b18e777 100644
--- a/docs/html/guide/topics/manifest/instrumentation-element.jd
+++ b/docs/html/guide/topics/manifest/instrumentation-element.jd
@@ -51,10 +51,6 @@
 There is no default.  The name must be specified.
 </p></dd>
 
-<!-- ##api level indication## -->
-<dt>introduced in:</dt>
-<dd>API Level 1</dd>
-
 <dt><a name="trgt"></a>{@code android:targetPackage}</dt>
 <dd>The application that the Instrumentation object will run against.
 An application is identified by the package name assigned in its manifest
@@ -62,4 +58,8 @@
 
 </dl></dd>
 
+<!-- ##api level indication## -->
+<dt>introduced in:</dt>
+<dd>API Level 1</dd>
+
 </dl>
diff --git a/docs/html/guide/topics/manifest/manifest-element.jd b/docs/html/guide/topics/manifest/manifest-element.jd
index 3353755..a35c5a1 100644
--- a/docs/html/guide/topics/manifest/manifest-element.jd
+++ b/docs/html/guide/topics/manifest/manifest-element.jd
@@ -161,6 +161,7 @@
 
 <p>Introduced in: API Level 8.</p>
 
+
 </dd>
 
 </dl>
diff --git a/docs/html/guide/topics/manifest/path-permission-element.jd b/docs/html/guide/topics/manifest/path-permission-element.jd
new file mode 100644
index 0000000..5c271a7
--- /dev/null
+++ b/docs/html/guide/topics/manifest/path-permission-element.jd
@@ -0,0 +1,104 @@
+page.title=&lt;path-permission&gt;
+@jd:body
+
+<dl class="xml">
+<dt>syntax:</dt>
+<dd><pre class="stx">
+&lt;path-permission android:<a href="#path">path</a>="<i>string</i>"
+                 android:<a href="#pathPrefix">pathPrefix</a>="<i>string</i>"
+                 android:<a href="#pathPattern">pathPattern</a>="<i>string</i>"
+                 android:<a href="#permission">permission</a>="<i>string</i>"
+                 android:<a href="#readPermission">readPermission</a>="<i>string</i>"
+                 android:<a href="#writePermission">writePermission</a>="<i>string</i>" /&gt;
+</pre></dd>
+
+<dt>contained in:</dt>
+<dd><code><a href="{@docRoot}guide/topics/manifest/provider-element.html">&lt;provider&gt;</a></code></dd>
+
+<!--
+<dt>can contain:</dt>
+</dd>
+-->
+
+<dt>description:</dt>
+<dd>Defines the path and required permissions for a specific subset of data
+within a content provider. This element can be
+specified multiple times to supply multiple paths.
+
+</dd>
+
+<dt>attributes:</dt>
+
+<dd><dl class="attr">
+<dt><a name="path"></a>{@code android:path}</dt>
+<dd>A complete URI path for a subset of content provider data. 
+Permission can be granted only to the particular data identified by this path. 
+When used to provide search suggestion content, it must be appended 
+with "/search_suggest_query".
+</dd>
+
+<dt><a name="pathPrefix"></a>{@code android:pathPrefix}</dt>
+<dd>The initial part of a URI path for a subset of content provider data.
+Permission can be granted to all data subsets with paths that share this initial part.
+</dd>
+
+<dt><a name="pathPattern"></a>{@code android:pathPattern}</dt>
+<dd>A complete URI path for a subset of content provider data,
+but one that can use the following wildcards:
+ 
+<ul> 
+<li>An asterisk ('<code class="Code prettyprint">*</code>'). This matches a sequence of 0 to many occurrences of
+the immediately preceding character.</li> 
+ 
+<li>A period followed by an asterisk ("<code class="Code prettyprint">.*</code>"). This matches any sequence of 
+0 or more characters.</li> 
+</ul> 
+ 
+<p> 
+Because '<code class="Code prettyprint">\</code>' is used as an escape character when the string is read 
+from XML (before it is parsed as a pattern), you will need to double-escape.
+For example, a literal '<code class="Code prettyprint">*</code>' would be written as "<code class="Code prettyprint">\\*</code>" and a 
+literal '<code class="Code prettyprint">\</code>' would be written as "<code class="Code prettyprint">\\</code>".  This is basically 
+the same as what you would need to write if constructing the string in Java code.
+</p> 
+<p> 
+For more information on these types of patterns, see the descriptions of 
+<a href="/reference/android/os/PatternMatcher.html#PATTERN_LITERAL">PATTERN_LITERAL</a>,
+<a href="/reference/android/os/PatternMatcher.html#PATTERN_PREFIX">PATTERN_PREFIX</a>, and
+<a href="/reference/android/os/PatternMatcher.html#PATTERN_SIMPLE_GLOB">PATTERN_SIMPLE_GLOB</a> in the
+<a href="/reference/android/os/PatternMatcher.html">PatternMatcher</a> class.
+</p>
+</dd>
+
+<dt><a name="permission"></a>{@code android:permission}</dt>
+<dd>The name of a permission that clients must have in order to read or write the
+content provider's data.  This attribute is a convenient way of setting a 
+single permission for both reading and writing.  However, the 
+<code>readPermission</code> and 
+<code>writePermission</code> attributes take precedence
+over this one.
+</dd> 
+
+<dt><a name="readPermission"></a>{@code android:readPermission}</dt>
+<dd>A permission that clients must have in order to query the content provider.
+</dd> 
+
+<dt><a name="writePermission"></a>{@code android:writePermission}</dt>
+<dd>A permission that clients must have in order to make changes to the data controlled by the content provider.
+</dd> 
+
+
+
+</dl></dd>
+
+<!-- ##api level indication## -->
+<dt>introduced in:</dt>
+<dd>API Level 4</dd>
+
+<dt>see also:</dt>
+<dd>{@link android.app.SearchManager}</dd>
+<dd>{@link android.Manifest.permission}</dd>
+<dd><a href="/guide/topics/security/security.html">Security and
+Permissions</a></dd>
+
+</dl>
diff --git a/docs/html/guide/topics/resources/accessing-resources.jd b/docs/html/guide/topics/resources/accessing-resources.jd
index cf8970c..03bb939 100644
--- a/docs/html/guide/topics/resources/accessing-resources.jd
+++ b/docs/html/guide/topics/resources/accessing-resources.jd
@@ -136,7 +136,7 @@
 without the extension or the {@code android:name} attribute value in the XML element (for simple
 values).</li>
 </ul>
-<p>See <a href="resource-types.html">Resource Types</a> for
+<p>See <a href="available-resources.html">Resource Types</a> for
 more information about each resource type and how to reference them.</p>
 
 
@@ -219,7 +219,7 @@
 values).</li>
 </ul>
 
-<p>See <a href="resource-types.html">Resource Types</a> for
+<p>See <a href="available-resources.html">Resource Types</a> for
 more information about each resource type and how to reference them.</p>
 
 
diff --git a/docs/html/guide/topics/resources/layout-resource.jd b/docs/html/guide/topics/resources/layout-resource.jd
index 2c51d54..0688a18 100644
--- a/docs/html/guide/topics/resources/layout-resource.jd
+++ b/docs/html/guide/topics/resources/layout-resource.jd
@@ -97,7 +97,8 @@
       {@link android.view.ViewGroup}. For a reference of all available attributes,
       see the corresponding reference documentation for the {@link android.view.ViewGroup} class
 (for example, the <a
-      href="{@docRoot}reference/android/widget/LinearLayout#lattrs">LinearLayout XML attributes</a>).</p>
+      href="{@docRoot}reference/android/widget/LinearLayout.html#lattrs">LinearLayout XML
+attributes</a>).</p>
     </dd>
   <dt id="view-element"><code>&lt;View&gt;</code></dt>
     <dd>An individual UI component, generally referred to as a "widget". Different
diff --git a/docs/html/guide/topics/resources/localization.jd b/docs/html/guide/topics/resources/localization.jd
index e76a92c..3d630c9 100755
--- a/docs/html/guide/topics/resources/localization.jd
+++ b/docs/html/guide/topics/resources/localization.jd
@@ -317,11 +317,11 @@
 

 <p>The selection process is not always as straightforward as these examples

 suggest. Please read  <a

-href="{@docRoot}guide/topics/resources/creating-resources.html#BestMatch">How Android Finds

+href="{@docRoot}guide/topics/resources/providing-resources.html#BestMatch">How Android Finds

 the Best-matching Resource</a> for a more nuanced description of the

 process. All the qualifiers are described and listed in order of

 precedence in <a

-href="{@docRoot}guide/topics/resources/creating-resources.html#table2">Table 2 of Providing

+href="{@docRoot}guide/topics/resources/providing-resources.html#table2">Table 2 of Providing

 Alternative Resources</a>.</p>

 

 <h3 id="referring-to-resources">Referring to Resources in Java</h3>

@@ -330,7 +330,7 @@
 <code>R.<em>resource_type</em>.<em>resource_name</em></code> or

 <code>android.R.<em>resource_type</em>.<em>resource_name</em></code><em>.</em>

 For more about this, see <a

-href="{@docRoot}guide/topics/resources/using-resources.html">Accessing Resources</a>.</p>

+href="{@docRoot}guide/topics/resources/accessing-resources.html">Accessing Resources</a>.</p>

 

 <h2 id="strategies">Localization Strategies</h2>

 

diff --git a/docs/html/guide/topics/search/search-dialog.jd b/docs/html/guide/topics/search/search-dialog.jd
index 718668c..a5f99c7 100644
--- a/docs/html/guide/topics/search/search-dialog.jd
+++ b/docs/html/guide/topics/search/search-dialog.jd
@@ -275,8 +275,8 @@
     <li>If your data is stored online, then the perceived search performance may be
 inhibited by the user's data connection. You may want to display a spinning progress wheel until
 your search returns. See {@link android.net} for a reference of network APIs and <a
-href="guide/topics/ui/dialogs.html#ProgressDialog">Creating a Progress Dialog</a> to see how
-you can display a progress wheel.</li>
+href="{@docRoot}guide/topics/ui/dialogs.html#ProgressDialog">Creating a Progress Dialog</a> to see
+how you can display a progress wheel.</li>
   </ul>
 
 
diff --git a/docs/html/guide/topics/testing/testing_android.jd b/docs/html/guide/topics/testing/testing_android.jd
index fc1d223..46ba769 100755
--- a/docs/html/guide/topics/testing/testing_android.jd
+++ b/docs/html/guide/topics/testing/testing_android.jd
@@ -1,5 +1,6 @@
 page.title=Testing and Instrumentation
 @jd:body
+
 <div id="qv-wrapper">
   <div id="qv">
   <h2>In this document</h2>
@@ -72,70 +73,92 @@
   <h2>See Also</h2>
       <ol>
         <li>
-          <a href="{@docRoot}guide/developing/testing_eclipse.html">Testing in Eclipse, with ADT</a>
+          <a href="{@docRoot}guide/developing/testing/testing_eclipse.html">Testing in Eclipse, with ADT</a>
         </li>
         <li>
-          <a href="{@docRoot}guide/developing/testing_otheride.html">Testing in Other IDEs</a>
+          <a href="{@docRoot}guide/developing/testing/testing_otheride.html">Testing in Other IDEs</a>
         </li>
       </ol>
   </div>
 </div>
-<p>
-Android includes a powerful set of testing tools that extend the industry-standard JUnit test framework with features specific to the Android environment. Although you can
-test an Android application with JUnit, the Android tools allow you to write much more sophisticated tests for every aspect of your application, both at the unit and at the framework level.
-</p>
-<p>
-Key features of the Android testing environment include:
-</p>
+
+<p>Android includes a powerful set of testing tools that extend the
+industry-standard JUnit test framework with features specific to the Android
+environment. Although you can test an Android application with JUnit, the
+Android tools allow you to write much more sophisticated tests for every aspect
+of your application, both at the unit and framework levels.</p>
+
+<p>Key features of the Android testing environment include:</p>
+
 <ul>
-  <li>Android extensions to the JUnit framework that provide access to Android system objects.</li>
-  <li>An instrumentation framework that lets tests control and examine the application.</li>
+  <li>Android extensions to the JUnit framework that provide access to Android
+system objects.</li>
+  <li>An instrumentation framework that lets tests control and examine the
+application.</li>
   <li>Mock versions of commonly-used Android system objects.</li>
-  <li>Tools for running single tests or test suites, with or without instrumentation.</li>
-  <li>Support for managing tests and test projects in the ADT Plugin for Eclipse and at the command line.</li>
+  <li>Tools for running single tests or test suites, with or without
+instrumentation.</li>
+  <li>Support for managing tests and test projects in the ADT Plugin for Eclipse
+and at the command line.</li>
 </ul>
-<p>
-This document is an overview of the Android testing environment and the way you use it. The document assumes you have a basic knowledge of
-Android application programming and JUnit testing methodology.
-</p>
+
+<p>This document is an overview of the Android testing environment and the way
+you use it. The document assumes you have a basic knowledge of Android
+application programming and JUnit testing methodology.</p>
+
 <h2 id="Overview">Overview</h2>
-<p>
-At the heart of the Android testing environment is an instrumentation framework that your test application uses to precisely control the application under test. With instrumentation, you can
-set up mock system objects such as Contexts before the main application starts, control your application at various points of its lifecycle, send UI events to the application, and
-examine the application's state during its execution. The instrumentation framework accomplishes this by running both the main application and the test application in the same process.
-</p>
-<p>
-    Your test application's manifest file links it to the application under test. The the &lt;instrumentation&gt; attribute in the manifest file points to the application under test
-    and also tells Android how to run the test application. This is described in more detail in the section <a href="#InstrumentationTestRunner">Instrumentation Test Runner</a>.
-</p>
-<p>
-The following diagram summarizes the Android testing environment:
-</p>
+
+<p> At the heart of the Android testing environment is an instrumentation
+framework that your test application uses to precisely control the application
+under test. With instrumentation, you can set up mock system objects such as
+Contexts before the main application starts, control your application at various
+points of its lifecycle, send UI events to the application, and examine the
+application's state during its execution. The instrumentation framework
+accomplishes this by running both the main application and the test application
+in the same process. </p>
+
+<p>Your test application is linked to the application under test by means of an
+<a
+href="{@docRoot}guide/topics/manifest/instrumentation-element.html"><code>&lt;instrumentation&gt;</code></a>
+element in the test application's manifest file. The attributes of the element
+specify the package name of the application under test and also tell Android how
+to run the test application. Instrumentation is described in more detail in the
+section <a href="#InstrumentationTestRunner">Instrumentation Test
+Runner</a>.</p>
+
+<p>The following diagram summarizes the Android testing environment:</p>
+
 <img src="{@docRoot}images/testing/android_test_framework.png"/>
-<!--  Something about test tools in Eclipse and in other IDEs -->
-<p>
-  In Android, test applications are themselves Android applications, so you write them in much the same way as the application you are testing. The SDK tools
-  help you create a main application project and its test project at the same time. You can run Android tests within Eclipse with ADT or from the command line.
-  Eclipse with ADT provides an extensive set of tools for creating tests, running them, and viewing their results. You can also use the <code>adb</code> tool to
-  run tests, or use a built-in Ant target.
-</p>
-<p>
-  To learn how to set up and run tests in Eclipse, please refer to <a href="{@docRoot}guide/developing/testing_eclipse.html">Testing in Eclipse, with ADT</a>.
-  If you're not working in Eclipse, refer to <a href="{@docRoot}guide/developing/testing_otheride.html">Testing in Other IDEs</a>.
-</p>
-<p>
-    If you want a step-by-step introduction to Android testing, try one of the testing tutorials:
-</p>
-    <ul>
-        <li>
-            The <a href="{@docRoot}resources/tutorials/testing/helloandroid_test.html">Hello, Testing</a> tutorial introduces basic testing concepts and procedures in the
-            context of the Hello, World application.
-        </li>
-        <li>
-            The <a href="{@docRoot}resources/tutorials/testing/activity_test.html">Activity Testing</a> tutorial is an excellent follow-up to the Hello, Testing tutorial.
-            It guides you through a more complex testing scenario that you develop against a more realistic application.
-        </li>
-    </ul>
+
+<p>In Android, test applications are themselves Android applications, so you
+write them in much the same way as the application you are testing. The SDK
+tools help you create a main application project and its test project at the same
+time. You can run Android tests within Eclipse with ADT or from the command
+line. Eclipse with ADT provides an extensive set of tools for creating tests,
+running them, and viewing their results. You can also use the <code>adb</code>
+tool to run tests, or use a built-in Ant target.</p>
+
+<p>To learn how to set up and run tests in Eclipse, please refer to <a
+href="{@docRoot}guide/developing/testing/testing_eclipse.html">Testing in
+Eclipse, with ADT</a>. If you're not working in Eclipse, refer to <a
+href="{@docRoot}guide/developing/testing/testing_otheride.html">Testing in Other
+IDEs</a>.</p>
+
+<p>If you want a step-by-step introduction to Android testing, try one of the
+testing tutorials:</p>
+
+<ul>
+  <li>The <a
+href="{@docRoot}resources/tutorials/testing/helloandroid_test.html">Hello,
+Testing</a> tutorial introduces basic testing concepts and procedures in the
+context of the Hello, World application.</li>
+  <li>The <a
+href="{@docRoot}resources/tutorials/testing/activity_test.html">Activity
+Testing</a> tutorial is an excellent follow-up to the Hello, Testing tutorial.
+It guides you through a more complex testing scenario that you develop against a
+more realistic application.</li>
+</ul>
+
 <h2 id="TestAPI">The Testing API</h2>
 <p>
     For writing tests and test applications in the Java programming language, Android provides a
@@ -277,15 +300,15 @@
 </p>
 <p>
     The tools and procedures you use with testing depend on the development environment you are using. If you use Eclipse, then the ADT plug in for Eclipse provides tools that
-    allow you to develop and run tests entirely within Eclipse. This is documented in the topic <a href="{@docRoot}guide/developing/testing_eclipse.html">Testing in Eclipse, with ADT</a>.
-    If you use another development environment, then you use Android's command-line tools, as documented in the topic <a href="{@docRoot}guide/developing/testing_otheride.html">Testing in Other IDEs</a>.
+    allow you to develop and run tests entirely within Eclipse. This is documented in the topic <a href="{@docRoot}guide/developing/testing/testing_eclipse.html">Testing in Eclipse, with ADT</a>.
+    If you use another development environment, then you use Android's command-line tools, as documented in the topic <a href="{@docRoot}guide/developing/testing/testing_otheride.html">Testing in Other IDEs</a>.
 </p>
 <h3 id="TestProjects">Working with test projects</h3>
 <p>
     To start testing an Android application, you create a test project for it using Android tools. The tools create the project directory and the files and subdirectories needed.
     The tools also create a manifest file that links the application in the test project to the application under test. The procedure for creating a test project in Eclipse with
-    ADT is documented in <a href="{@docRoot}guide/developing/testing_eclipse.html">Testing in Eclipse, with ADT</a>. The procedure for creating a test project for use with development
-    tools other than Eclipse is documented in <a href="{@docRoot}guide/developing/testing_otheride.html">Testing in Other IDEs</a>.
+    ADT is documented in <a href="{@docRoot}guide/developing/testing/testing_eclipse.html">Testing in Eclipse, with ADT</a>. The procedure for creating a test project for use with development
+    tools other than Eclipse is documented in <a href="{@docRoot}guide/developing/testing/testing_otheride.html">Testing in Other IDEs</a>.
 </p>
 <h3 id="TestClasses">Working with test case classes</h3>
 <p>
diff --git a/docs/html/images/home/io-logo.png b/docs/html/images/home/io-logo.png
new file mode 100644
index 0000000..f579ca2
--- /dev/null
+++ b/docs/html/images/home/io-logo.png
Binary files differ
diff --git a/docs/html/index.jd b/docs/html/index.jd
index dd42ced..230dd4e 100644
--- a/docs/html/index.jd
+++ b/docs/html/index.jd
@@ -11,10 +11,13 @@
                             </div><!-- end homeTitle -->
                             <div id="announcement-block">
                             <!-- total max width is 520px -->
-                                  <img src="{@docRoot}assets/images/home/gdc-logo.png" alt="Android at GDC 2010" width="203px" style="padding-left:22px;padding-bottom:28px;padding-top:22px;"/>
-                                  <div id="announcement" style="width:275px">
-<p>Thanks to everyone who attended our sessions at the <a href="http://www.gdconf.com/">2010 Game Developers Conference</a> in San Francisco. We're looking forward to seeing your games running on Android!</p>
-<p><a href="http://android-developers.blogspot.com/2010/03/android-at-game-developers-conference.html">Learn more &raquo;</a></p>
+                                  <img src="{@docRoot}images/home/io-logo.png" alt="Google IO
+2010" width="200" height="41" style="padding:22px 12px;"/>
+                                  <div id="announcement" style="width:295px">
+<p>Google I/O is happening now! To those of you with us, welcome! If you couldn't make it to the
+event, stay tuned for videos and slides from the Android sessions, which will be posted at the
+Google I/O web site.</p><p><a
+href="http://code.google.com/events/io/2010/sessions.html#Android">Learn more &raquo;</a></p>
                                 </div> <!-- end annoucement -->
                             </div> <!-- end annoucement-block -->
                         </div><!-- end topAnnouncement -->
@@ -125,17 +128,17 @@
     'sdk': {
       'layout':"imgLeft",
       'icon':"sdk-small.png",
-      'name':"Android 2.1",
-      'img':"sdk-large.png",
-      'title':"Android 2.1 is now available",
-      'desc': "<p>Android 2.1 is a small feature release that includes new developer APIs "
-               + "and documentation. For information about what's included in the platform, "
-               + "read the <a href='{@docRoot}sdk/android-2.1.html'>Android 2.1 "
-               + "version notes</a>.</p>"
-               + "<p>You can update your existing development environment "
-               + "by installing the Android 2.1 platform as an "
-               + "<a href='{@docRoot}sdk/adding-components.html'>SDK "
-               + "component</a>."
+      'name':"Android 2.2",
+      'img':"froyo-android.png",
+      'title':"Get Android 2.2!",
+      'desc': "<p>The Android 2.2 platform is now available for the Android SDK, along with new "
++ "tools, documentation, and a new NDK. "
++ "For information about new features and APIs, read the "
++ "<a href='{@docRoot}sdk/android-2.2.html'>version notes</a>.</p>"
++ "<p>If you have an existing SDK, add Android 2.2 as an "
++ "<a href='{@docRoot}sdk/adding-components.html'>SDK "
++ "component</a>. If you're new to Android, install the "
++ "<a href='{@docRoot}sdk/index.html'>SDK starter package</a>."
     },
 
     'adc2': {
@@ -174,15 +177,6 @@
       'img':"maps-large.png",
       'title':"Maps API Key",
       'desc':"<p>If you're writing an Android application that uses Google Maps (with MapView), you must register your application to obtain a Maps API Key. Without the key, your maps application will not work on Android devices. Obtaining a key requires just a couple of steps.</p><p><a href='http://code.google.com/android/add-ons/google-apis/maps-overview.html'>Learn more &raquo;</a></p>"
-    },
-
-    'io': {
-      'layout':"imgLeft",
-      'icon':"io-small.png",
-      'name':"Google I/O",
-      'img':"io-large.png",
-      'title':"Google I/O Developer Conference",
-      'desc': "<p>The Google I/O developer conference took place May 27-28 in San Francisco. If you missed the conference, you can experience the Android sessions by viewing YouTube videos.</p><p><a href='{@docRoot}videos/index.html'>See the sessions from Google I/O &raquo;</a></p>"
     }
 
   }
diff --git a/docs/html/resources/articles/backward-compatibility.jd b/docs/html/resources/articles/backward-compatibility.jd
index e7f0b60..4b1a34c 100644
--- a/docs/html/resources/articles/backward-compatibility.jd
+++ b/docs/html/resources/articles/backward-compatibility.jd
@@ -1,6 +1,18 @@
 page.title=Backward Compatibility for Applications
 @jd:body
 
+
+<div id="qv-wrapper">
+<div id="qv">
+
+  <h2>See also</h2>
+  <ol>
+    <li><a href="{@docRoot}guide/appendix/api-levels.html">Android API Levels</a></li>
+  </ol>
+
+</div>
+</div>
+
 <p>A variety of Android-powered devices are now available to consumers from carriers
 in geographies around the world. Across those devices, a range of Android
 platform versions are in use, some running the latest version of the platform,
diff --git a/docs/html/resources/articles/creating-input-method.jd b/docs/html/resources/articles/creating-input-method.jd
index 5a92970..6f932df 100644
--- a/docs/html/resources/articles/creating-input-method.jd
+++ b/docs/html/resources/articles/creating-input-method.jd
@@ -2,6 +2,19 @@
 @jd:body
 
 
+<div id="qv-wrapper">
+<div id="qv">
+
+  <h2>See also</h2>
+  <ol>
+    <li><a href="{@docRoot}resources/articles/on-screen-inputs.html">Onscreen Input Methods</a></li>
+    <li><a href="{@docRoot}resources/samples/SoftKeyboard/index.html">Soft Keyboard sample</a></li>
+  </ol>
+
+</div>
+</div>
+
+
 <p>To create an input method (IME) for entering text into text fields 
 and other Views, you need to extend the {@link android.inputmethodservice.InputMethodService}.
 class. This class provides much of the basic implementation for an input 
diff --git a/docs/html/resources/articles/faster-screen-orientation-change.jd b/docs/html/resources/articles/faster-screen-orientation-change.jd
index c500035..f82e592 100644
--- a/docs/html/resources/articles/faster-screen-orientation-change.jd
+++ b/docs/html/resources/articles/faster-screen-orientation-change.jd
@@ -1,6 +1,19 @@
 page.title=Faster Screen Orientation Change
 @jd:body
 
+
+<div id="qv-wrapper">
+<div id="qv">
+
+  <h2>See also</h2>
+  <ol>
+    <li><a href="{@docRoot}guide/topics/resources/runtime-changes.html">Handling Runtime
+Changes</a></li>
+  </ol>
+
+</div>
+</div>
+
 <p>Android is designed to run efficiently on a wide
 array of devices, with very different hardware configurations. Some
 devices, like the T-Mobile G1, can change their hardware configuration
diff --git a/docs/html/resources/articles/live-wallpapers.jd b/docs/html/resources/articles/live-wallpapers.jd
index 8dda879..ea67fed 100644
--- a/docs/html/resources/articles/live-wallpapers.jd
+++ b/docs/html/resources/articles/live-wallpapers.jd
@@ -1,6 +1,19 @@
 page.title=Live Wallpapers
 @jd:body
 
+
+<div id="qv-wrapper">
+<div id="qv">
+
+  <h2>See also</h2>
+  <ol>
+    <li><a href="{@docRoot}resources/samples/CubeLiveWallpaper/index.html">Live Wallpaper
+sample</a></li>
+  </ol>
+
+</div>
+</div>
+
 <p>Starting with Android 2.1 (API Level 7), users can now enjoy <em>live
 wallpapers</em> &mdash; richer, animated, interactive backgrounds &mdash; on
 their home screens. A live wallpaper is very similar to a normal Android
@@ -23,8 +36,8 @@
 <p>In terms of implementation, a live wallpaper is very similar to a regular
 Android <a href="../../../reference/android/app/Service.html">service</a>. The
 only difference is the addition of a new method, <a
-href="../../../reference/android/service/wallpaper/WallpaperService.
-html#onCreateEngine()"><code>onCreateEngine()</code></a>, whose goal is to create a <a
+href="../../../reference/android/service/wallpaper/WallpaperService.html#onCreateEngine()">{@code
+onCreateEngine()}</a>, whose goal is to create a <a
 href="../../../reference/android/service/wallpaper/WallpaperService.Engine.html">
 <code>WallpaperService.Engine</code></a>. The engine is responsible for
 handling the lifecycle and drawing of a wallpaper. The system provides a surface
diff --git a/docs/html/resources/articles/on-screen-inputs.jd b/docs/html/resources/articles/on-screen-inputs.jd
index 057325a..30b4c84 100644
--- a/docs/html/resources/articles/on-screen-inputs.jd
+++ b/docs/html/resources/articles/on-screen-inputs.jd
@@ -2,6 +2,20 @@
 @jd:body
 
 
+<div id="qv-wrapper">
+<div id="qv">
+
+  <h2>See also</h2>
+  <ol>
+    <li><a href="{@docRoot}resources/articles/creating-input-method.html">Creating an Input
+Method</a></li>
+    <li><a href="{@docRoot}resources/samples/SoftKeyboard/index.html">Soft Keyboard sample</a></li>
+  </ol>
+
+</div>
+</div>
+
+
 <p>Starting from Android 1.5, the Android platform offers an Input Method
 Framework (IMF) that lets you create on-screen input methods such as software
 keyboards. This article provide an overview of what Android input method editors
diff --git a/docs/html/resources/articles/qsb.jd b/docs/html/resources/articles/qsb.jd
index e497f50..d47ba54 100644
--- a/docs/html/resources/articles/qsb.jd
+++ b/docs/html/resources/articles/qsb.jd
@@ -1,7 +1,23 @@
 page.title=Quick Search Box
 @jd:body
 
-<img src="images/qsb_002.png" style="float: right; margin-left: 2em; margin-bottom: 1em; width: 233px; height: 349.5px;"></p>
+
+<div id="qv-wrapper">
+<div id="qv">
+
+  <h2>See also</h2>
+  <ol>
+    <li><a href="{@docRoot}guide/topics/search/index.html">Search</a></li>
+    <li><a href="{@docRoot}resources/samples/SearchableDictionary/index.html">Searchable Dictionary
+sample</a></li>
+  </ol>
+
+</div>
+</div>
+
+<div class="figure" style="width:233px">
+<img src="images/qsb_002.png" alt="" height="350" />
+</div>
 
 <p>Starting with Android 1.6, the platform includes support for Quick Search
 Box (QSB), a powerful, system-wide search framework. Quick Search Box makes it
diff --git a/docs/html/resources/articles/speech-input.jd b/docs/html/resources/articles/speech-input.jd
index 8e41d34..282b619 100644
--- a/docs/html/resources/articles/speech-input.jd
+++ b/docs/html/resources/articles/speech-input.jd
@@ -29,9 +29,8 @@
 
 <p> The Android SDK makes it easy to integrate speech input directly into your
 own application. Just copy and paste from this <a
-href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/
-VoiceRecognition.html">
-sample application</a> to get
+href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/VoiceRecognition.html">sample
+application</a> to get
 started. The sample application first verifies that the target device is able
 to recognize speech input:</p> 
 <pre>
diff --git a/docs/html/resources/resources_toc.cs b/docs/html/resources/resources_toc.cs
index 7f05d30..0d6ecc4 100644
--- a/docs/html/resources/resources_toc.cs
+++ b/docs/html/resources/resources_toc.cs
@@ -18,7 +18,8 @@
           </a></li>
     </ul>
   </li>
-
+<?cs
+  if:android.whichdoc == "online" ?>
   <li>
     <h2><span class="en">Device Dashboard</span>
     </h2>
@@ -27,7 +28,9 @@
             <span class="en">Platform Versions</span>
           </a></li>
     </ul>
-  </li>
+  </li><?cs
+  /if
+?>
 
   <li>
     <h2><span class="en">Technical Articles</span>
@@ -244,6 +247,12 @@
           <li><a href="<?cs var:toroot ?>resources/samples/SpinnerTest/index.html">
                 <span class="en">SpinnerTest</span>
                 </a> <span class="new">new!</span></li>
+          <li><a href="<?cs var:toroot ?>resources/samples/TicTacToeLib/index.html">
+                <span class="en">TicTacToeLib</span>
+                </a> <span class="new">new!</span></li>
+          <li><a href="<?cs var:toroot ?>resources/samples/TicTacToeMain/index.html">
+                <span class="en">TicTacToeMain</span>
+                </a> <span class="new">new!</span></li>
           <li><a href="<?cs var:toroot ?>resources/samples/Wiktionary/index.html">
                 <span class="en">Wiktionary</span>
               </a></li>
diff --git a/docs/html/resources/samples/get.jd b/docs/html/resources/samples/get.jd
index 898bc49..1b6d137 100644
--- a/docs/html/resources/samples/get.jd
+++ b/docs/html/resources/samples/get.jd
@@ -40,7 +40,7 @@
 computer in this location:</p>
 
 <p style="margin-left:2em">
-<code><em>&lt;sdk&gt;</em>/samples/<em>&lt;platform-version&gt;</em>/</code>
+<code><em>&lt;sdk&gt;</em>/samples/android-&lt;<em>level</em>&gt;/</code>
 </p>
 
 <p>You can easily create new Android projects with the downloaded samples, modify them
@@ -49,7 +49,7 @@
 <p>For example, if you are developing in Eclipse with the ADT Plugin, you can
 create a project for the "API Demos" sample app by starting a new Android
 Project, selecting "Create project from existing source", and then browsing to
-the <code><em>&lt;sdk&gt;</em>/samples/<em>&lt;platform&gt;</em>/ApiDemos</code>
+the <code><em>&lt;sdk&gt;</em>/samples/android-&lt;<em>level</em>&gt;/ApiDemos</code>
 directory (the <code>samples</code> directory for the platform version you are
 using).</p>
 
@@ -57,7 +57,7 @@
 sample using the <code>android</code> tool, by executing this command:</p>
 
 <pre class="no-pretty-print">
-android update project -s -n API Demos -t <em>&lt;target_ID></em> -p <em>&lt;path&gt;</em>samples/<em>&lt;platforms&gt;</em>/ApiDemos/
+android update project -s -n API Demos -t <em>&lt;target_ID></em> -p &lt;<em>path</em>&gt;</em>samples/android-&lt;<em>level</em>&gt;/ApiDemos/
 </pre>
 
 <h3 id="browsing">Browsing the Sample Code</h3>
diff --git a/docs/html/resources/samples/images/TicTacToeLib.png b/docs/html/resources/samples/images/TicTacToeLib.png
new file mode 100644
index 0000000..398eff3
--- /dev/null
+++ b/docs/html/resources/samples/images/TicTacToeLib.png
Binary files differ
diff --git a/docs/html/resources/samples/images/TicTacToeMain.png b/docs/html/resources/samples/images/TicTacToeMain.png
new file mode 100644
index 0000000..44cee11
--- /dev/null
+++ b/docs/html/resources/samples/images/TicTacToeMain.png
Binary files differ
diff --git a/docs/html/resources/samples/index.jd b/docs/html/resources/samples/index.jd
index e917495..9fc8e0bf 100644
--- a/docs/html/resources/samples/index.jd
+++ b/docs/html/resources/samples/index.jd
@@ -23,7 +23,7 @@
   framework topics.</dd>
 
  <dt><a href="BackupRestore/index.html">Backup and Restore</a></dt>
-  <dd>An simple example that illustrates a few different ways for an application to
+  <dd>A simple example that illustrates a few different ways for an application to
   implement support for the Android data backup and restore mechanism.</dd>
 
  <dt><a href="BluetoothChat/index.html">Bluetooth Chat</a></dt>
@@ -92,6 +92,22 @@
     please read the 
     <a href="{@docRoot}resources/tutorials/testing/activity_test.html">Activity Testing</a> tutorial.
  </dd>
+ <dt><a href="TicTacToeLib/index.html">TicTacToeLib</a></dt>
+ <dd>
+    An example of an Android library project that provides a game-play
+    Activity to any dependent application project. For an example of
+    how an application can use the code and resources in an Android
+    library project, see the <a
+    href="{@docRoot}resources/samples/TicTacToeMain/index.html">TicTacToeMain</a>
+    sample application.
+ </dd>
+ <dt><a href="TicTacToeMain/index.html">TicTacToeMain</a></dt>
+ <dd>
+    An example of an Android application that makes use of code and
+    resources provided in an Android library project. Specifically, this
+    application uses code and resources provided in the <a
+    href="{@docRoot}resources/samples/TicTacToeLib/index.html">TicTacToeLib</a> library project.
+ </dd>
  <dt><a href="Wiktionary/index.html">Wiktionary</a></dt>
   <dd>An example of creating interactive widgets for display on the Android
   home screen.</dd>
diff --git a/docs/html/resources/tutorials/hello-world.jd b/docs/html/resources/tutorials/hello-world.jd
index 1079fb5..7bad054 100644
--- a/docs/html/resources/tutorials/hello-world.jd
+++ b/docs/html/resources/tutorials/hello-world.jd
@@ -260,14 +260,16 @@
 <div class="sidebox-wrapper">
   <div class="sidebox">
     <p>To learn more about creating and editing run configurations in Eclipse, refer to
-    <a href="{@docRoot}guide/developing/eclipse-adt.html#RunConfig">Developing In Eclipse, 
+    <a href="{@docRoot}guide/developing/eclipse-adt.html#RunConfig">Developing In Eclipse,
     with ADT</a>.</p>
   </div>
 </div>
 
-<p>The Eclipse ADT will automatically create a new run configuration for your project
-and the Android Emulator will automatically launch. Once the emulator is booted up,
-your application will appear after a moment. You should now see something like this:</p>
+<p>The Eclipse plugin automatically creates a new run configuration for your project
+and then launches the Android Emulator. Depending on your environment, the Android
+emulator might take several minutes to boot fully, so please be patient. When the
+emulator is booted, the Eclipse plugin installs your application
+and launches the default Activity. You should now see something like this:</p>
 
   <a href="images/hello_world_5.png"><img src="images/hello_world_5.png" style="height:230px" alt="" /></a>
 
diff --git a/docs/html/resources/tutorials/testing/activity_test.jd b/docs/html/resources/tutorials/testing/activity_test.jd
index ae4b6f3..87dd183 100644
--- a/docs/html/resources/tutorials/testing/activity_test.jd
+++ b/docs/html/resources/tutorials/testing/activity_test.jd
@@ -1208,8 +1208,8 @@
         Close Eclipse with ADT.
     </li>
     <li>
-        Copy the file <code>&lt;SDK_path&gt;/samples/android-8/SpinnerTest/src/com/android/examples/spinner/test/SpinnerActivityTest.java</code>
-        to the directory <code>workspace/SpinnerActivityTest/src/com/android/examples/spinner/test/</code>.
+        Copy the file <code>&lt;SDK_path&gt;/samples/android-8/SpinnerTest/src/com/android/example/spinner/test/SpinnerActivityTest.java</code>
+        to the directory <code>workspace/SpinnerActivityTest/src/com/android/example/spinner/test/</code>.
     </li>
     <li>
         Restart Eclipse with ADT.
diff --git a/docs/html/resources/tutorials/testing/helloandroid_test.jd b/docs/html/resources/tutorials/testing/helloandroid_test.jd
index f06d5af..b47c334 100644
--- a/docs/html/resources/tutorials/testing/helloandroid_test.jd
+++ b/docs/html/resources/tutorials/testing/helloandroid_test.jd
@@ -86,7 +86,7 @@
     </p>
     <p>
         If you aren't developing in Eclipse with ADT or you would like to run tests directly from the
-        command line, please see the topic <a href="{@docRoot}guide/developing/testing_otheride.html">Testing in Other IDEs</a>
+        command line, please see the topic <a href="{@docRoot}guide/developing/testing/testing_otheride.html">Testing in Other IDEs</a>
         for instructions.
     </p>
 <h2 id="CreateTestProject">Creating the Test Project</h2>
diff --git a/docs/html/sdk/adding-components.jd b/docs/html/sdk/adding-components.jd
index 90e9045..63c577e 100644
--- a/docs/html/sdk/adding-components.jd
+++ b/docs/html/sdk/adding-components.jd
@@ -127,10 +127,12 @@
 </ol>
 
 <p>New platforms are automatically saved into the 
-<code><em>&lt;sdk>/</em>platforms/</code> directory of your SDK;
-new add-ons are saved in the <code><em>&lt;sdk>/</em>add-ons/</code>
-directory; and new documentation is saved in the existing
-<code><em>&lt;sdk>/</em>docs/</code> directory (old docs are replaced).</p>
+<code>&lt;<em>sdk</em>&gt;/platforms/</code> directory of your SDK;
+new add-ons are saved in the <code>&lt;<em>sdk</em>&gt;/add-ons/</code>
+directory; samples are saved in the 
+<code>&lt;<em>sdk</em>&gt;/samples/android-&lt;<em>level</em>&gt;/</code>; 
+and new documentation is saved in the existing
+<code>&lt;<em>sdk</em>&gt;/docs/</code> directory (old docs are replaced).</p>
 
 
 <h2 id="UpdatingComponents">Updating SDK Components</h2>
diff --git a/docs/html/sdk/android-1.5.jd b/docs/html/sdk/android-1.5.jd
index b3eea77..ab74631 100644
--- a/docs/html/sdk/android-1.5.jd
+++ b/docs/html/sdk/android-1.5.jd
@@ -96,6 +96,9 @@
 .toggleable a {
   text-decoration:none;
 }
+.toggleme a {
+  text-decoration:underline;
+}
 .toggleable.closed .toggleme {
   display:none;
 }
@@ -107,6 +110,29 @@
 <div class="toggleable opened">
   <a href="#" onclick="return toggleDiv(this)">
         <img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-img" height="9px" width="9px" />
+        Android 1.5, Revision 4</a> <em>(May 2010)</em></a>
+  <div class="toggleme">
+<dl>
+<dt>Dependencies:</dt>
+<dd>
+<p>Requires SDK Tools r6 or higher.</p>
+</dd>
+
+<dt>Tools:</dt>
+<dd>
+<ul> 
+<li>Adds support for library projects in the Ant build system.</li>
+<li>Fixes test project build in the Ant build system.</li>
+</ul> 
+</dd>
+
+</dl>
+ </div>
+</div>
+
+<div class="toggleable closed">
+  <a href="#" onclick="return toggleDiv(this)">
+        <img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-img" height="9px" width="9px" />
         Android 1.5, Revision 3</a> <em>(July 2009)</em></a>
   <div class="toggleme">
 <dl>
diff --git a/docs/html/sdk/android-1.6.jd b/docs/html/sdk/android-1.6.jd
index e0bac41..d7d14e9 100644
--- a/docs/html/sdk/android-1.6.jd
+++ b/docs/html/sdk/android-1.6.jd
@@ -98,6 +98,9 @@
 .toggleable a {
   text-decoration:none;
 }
+.toggleme a {
+  text-decoration:underline;
+}
 .toggleable.closed .toggleme {
   display:none;
 }
@@ -109,6 +112,26 @@
 <div class="toggleable opened">
   <a href="#" onclick="return toggleDiv(this)">
         <img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-img" height="9px" width="9px" />
+        Android 1.6, Revision 3</a> <em>(May 2010)</em></a>
+  <div class="toggleme">
+<dl>
+<dt>Dependencies:</dt>
+<dd>
+<p>Requires SDK Tools r6 or higher.</p>
+</dd>
+<dt>Tools:</dt> 
+<dd>
+<ul> 
+<li>Adds support for library projects in the Ant build system.</li>
+</ul> 
+</dd>
+</dl>
+ </div>
+</div>
+
+<div class="toggleable closed">
+  <a href="#" onclick="return toggleDiv(this)">
+        <img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-img" height="9px" width="9px" />
         Android 1.6, Revision 2</a> <em>(December 2009)</em></a>
   <div class="toggleme">
 <dl>
diff --git a/docs/html/sdk/android-2.1.jd b/docs/html/sdk/android-2.1.jd
index dfa82b3..db9c491 100644
--- a/docs/html/sdk/android-2.1.jd
+++ b/docs/html/sdk/android-2.1.jd
@@ -99,6 +99,9 @@
 .toggleable a {
   text-decoration:none;
 }
+.toggleme a {
+  text-decoration:underline;
+}
 .toggleable.closed .toggleme {
   display:none;
 }
@@ -110,6 +113,29 @@
 <div class="toggleable opened">
   <a href="#" onclick="return toggleDiv(this)">
         <img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-img" height="9px" width="9px" />
+        Android 2.1, Revision 2</a> <em>(May 2010)</em></a>
+  <div class="toggleme">
+<dl>
+<dt>Dependencies:</dt>
+<dd>
+<p>Requires SDK Tools r6 or higher.</p>
+</dd>
+
+<dt>Tools:</dt>
+<dd>
+<ul> 
+<li>Adds support for library projects in the Ant build system.</li>
+<li>Adds improved layout rendering in ADT’s visual layout editor.</li>
+</ul> 
+</dd>
+
+</dl>
+ </div>
+</div>
+
+<div class="toggleable closed">
+  <a href="#" onclick="return toggleDiv(this)">
+        <img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-img" height="9px" width="9px" />
         Android 2.1, Revision 1</a> <em>(January 2010)</em></a>
   <div class="toggleme">
 <dl>
diff --git a/docs/html/sdk/android-2.2.jd b/docs/html/sdk/android-2.2.jd
new file mode 100644
index 0000000..5844256
--- /dev/null
+++ b/docs/html/sdk/android-2.2.jd
@@ -0,0 +1,472 @@
+page.title=Android 2.2 Platform
+sdk.platform.version=2.2
+sdk.platform.apiLevel=8
+sdk.platform.majorMinor=minor
+sdk.platform.deployableDate=May 2010
+
+@jd:body
+
+<div id="qv-wrapper">
+<div id="qv">
+
+<h2>In this document</h2>
+<ol>
+  <li><a href="#features">Platform Highlights</a></li>
+  <li><a href="#relnotes">Revisions</a></li>
+  <li><a href="#apps">Built-in Applications</a></li>
+  <li><a href="#locs">Locales</a></li>
+  <li><a href="#skins">Emulator Skins</a></li>
+  <li><a href="#api">Framework API</a>
+    <ol>
+      <li><a href="#api-level">API level</a></li>
+      <li><a href="#api-changes">API changes summary</a></li>
+      <li><a
+href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API
+differences report &raquo;</a> </li>
+    </ol>
+  </li>
+</ol>
+
+<h2>See Also</h2>
+<ol>
+  <li><a href="{@docRoot}sdk/adding-components.html">Adding SDK Components</a></li>
+</ol>
+
+</div>
+</div>
+
+<p>
+<em>API Level:</em>&nbsp;<strong>{@sdkPlatformApiLevel}</strong></p>
+
+<p>Android {@sdkPlatformVersion} is a {@sdkPlatformMajorMinor} platform release
+deployable to Android-powered handsets starting in {@sdkPlatformDeployableDate}.
+This release includes user features, developer features, API changes, and bug
+fixes. For  information on developer features and API changes, see the 
+<a href="#api">Framework API</a> section.</p>
+
+<p>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. </p>
+
+<p>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 SDK. For more information,
+see <a href="{@docRoot}sdk/adding-components.html">Adding SDK
+Components</a>. If you are new to Android, <a
+href="{@docRoot}sdk/index.html">download the SDK Starter Package</a>
+first.</p>
+
+
+<h2 id="features">Platform Highlights</h2>
+
+<p>For a list of new user features and platform highlights, see the <a 
+href="http://developer.android.com/sdk/android-2.2-highlights.html">Android
+2.2 Platform Highlights</a> document.</p>
+
+<h2 id="relnotes">Revisions</h2>
+
+<p>The sections below provide notes about successive releases of
+the Android {@sdkPlatformVersion} platform component for the Android SDK, as denoted by
+revision number. To determine what revision(s) of the Android
+{@sdkPlatformVersion} platforms are installed in your SDK environment, refer to
+the "Installed Packages" listing in the Android SDK and AVD Manager.</p>
+
+<script type="text/javascript">
+function toggleDiv(link) {
+  var toggleable = $(link).parent();
+  if (toggleable.hasClass("closed")) {
+    //$(".toggleme", toggleable).slideDown("fast");
+    toggleable.removeClass("closed");
+    toggleable.addClass("open");
+    $(".toggle-img", toggleable).attr("title", "hide").attr("src", (toRoot + "assets/images/triangle-opened.png"));
+  } else {
+    //$(".toggleme", toggleable).slideUp("fast");
+    toggleable.removeClass("open");
+    toggleable.addClass("closed");
+    $(".toggle-img", toggleable).attr("title", "show").attr("src", (toRoot + "assets/images/triangle-closed.png"));
+  }
+  return false;
+}
+</script>
+<style>
+.toggleable {
+padding: .25em 1em;
+}
+.toggleme {
+  padding: 1em 1em 0 2em;
+  line-height:1em;
+}
+.toggleable a {
+  text-decoration:none;
+}
+.toggleme a {
+  text-decoration:underline;
+}
+.toggleable.closed .toggleme {
+  display:none;
+}
+#jd-content .toggle-img {
+  margin:0;
+}
+</style>
+
+<div class="toggleable opened">
+  <a href="#" onclick="return toggleDiv(this)">
+        <img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-img" height="9px" width="9px" />
+        Android {@sdkPlatformVersion}, Revision 1</a> <em>(May 2010)</em></a>
+  <div class="toggleme">
+<dl>
+<dt>Dependencies:</dt>
+<dd>
+<p>Requires SDK Tools r6 or higher.</p>
+</dd>
+
+<dt>Tools:</dt>
+<dd>
+<ul>
+<li>Adds support for building with Android library projects, a capability that
+lets you store shared Android application code and resources in a separate
+development project. You can then reference the library project from other
+Android projects and, at build time, the tools compile the shared code and
+resources as part of the dependent applications. More information about this
+feature is available in the <a
+href="{@docRoot}guide/developing/eclipse-adt.html#libraryProject">Developing in
+Eclipse, with ADT</a> and <a
+href="{@docRoot}guide/developing/other-ide.html#libraryProject">Developing in
+Other IDEs</a> documents. </li>
+</li>
+</ul>
+</dd>
+
+</dl>
+ </div>
+</div>
+
+<h2 id="apps">Built-in Applications</h2>
+
+<p>The system image included in the downloadable platform provides these
+built-in applications:</p>
+
+<table style="border:0;padding-bottom:0;margin-bottom:0;">
+<tr>
+<td style="border:0;padding-bottom:0;margin-bottom:0;">
+	<ul>
+	<li>Alarm Clock</li>
+	<li>Browser</li>
+	<li>Calculator</li>
+	<li>Camera</li>
+	<li>Contacts</li>
+	<li>Custom Locale (developer app)</li>
+	<li>Dev Tools (developer app)</li>
+    <li>Email</li>
+	</ul>
+</td>
+<td style="border:0;padding-bottom:0;margin-bottom:0;padding-left:5em;">
+	<ul>
+
+	<li>Gallery</li>
+	<li>IMEs for Japanese, Chinese, and Latin text input</li>
+	<li>Messaging</li>
+	<li>Music</li>
+	<li>Phone</li>
+	<li>Settings</li>
+	<li>Spare Parts (developer app)</li>
+	</ul>
+</td>
+</tr>
+</table>
+
+
+<h2 id="locs" style="margin-top:.75em;">Locales</h2>
+
+<p>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 <em>language</em>_<em>country/region</em> locale
+descriptor).</p>
+
+<table style="border:0;padding-bottom:0;margin-bottom:0;">
+<tr>
+<td style="border:0;padding-bottom:0;margin-bottom:0;">
+<ul>
+<li>Chinese, PRC (zh_CN)</li>
+<li>Chinese, Taiwan (zh_TW)</li>
+<li>Czech (cs_CZ)</li>
+<li>Dutch, Netherlands (nl_NL)</li>
+<li>Dutch, Belgium (nl_BE)</li>
+<li>English, US (en_US)</li>
+<li>English, Britain (en_GB)</li>
+<li>English, Canada (en_CA)</li>
+<li>English, Australia (en_AU)</li>
+<li>English, New Zealand (en_NZ)</li>
+<li>English, Singapore(en_SG)</li>
+<li>French, France (fr_FR)</li>
+<li>French, Belgium (fr_BE)</li>
+</ul>
+</td>
+<td style="border:0;padding-bottom:0;margin-bottom:0;padding-left:5em;">
+<li>French, Canada (fr_CA)</li>
+<li>French, Switzerland (fr_CH)</li>
+<li>German, Germany (de_DE)</li>
+<li>German, Austria (de_AT)</li>
+<li>German, Switzerland (de_CH)</li>
+<li>German, Liechtenstein (de_LI)</li>
+<li>Italian, Italy (it_IT)</li>
+<li>Italian, Switzerland (it_CH)</li>
+<li>Japanese (ja_JP)</li>
+<li>Korean (ko_KR)</li>
+<li>Polish (pl_PL)</li>
+<li>Russian (ru_RU)</li>
+<li>Spanish (es_ES)</li>
+</td>
+</tr>
+</table>
+
+<p>Localized UI strings match the locales that are accessible
+through Settings.</p>
+
+<h2 id="skins">Emulator Skins</h2>
+
+<p>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:</p>
+
+<ul>
+  <li>
+    QVGA (240x320, low density, small screen)
+  </li>
+  <li>
+    WQVGA (240x400, low density, normal screen)
+  </li>
+  <li>
+    FWQVGA (240x432, low density, normal screen)
+  </li>
+  <li>
+    HVGA (320x480, medium density, normal screen)
+  </li>
+  <li>
+    WVGA800 (480x800, high density, normal screen)
+  </li>
+  <li>
+    WVGA854 (480x854 high density, normal screen)
+  </li>
+</ul>
+
+<p>For more information about how to develop an application that displays
+and functions properly on all Android-powered devices, see <a
+href="{@docRoot}guide/practices/screens_support.html">Supporting Multiple
+Screens</a>.</p>
+
+<h2 id="api">Framework API</h2>
+
+<p>The sections below provide information about changes made to the application
+framework API provided by the Android {@sdkPlatformVersion} platform.</p>
+
+
+<h3 id="api-level">API level</h3>
+
+<p>The Android {@sdkPlatformVersion} platform delivers an updated version of
+the framework API. The Android {@sdkPlatformVersion} API
+is assigned an integer identifier &mdash;
+<strong>{@sdkPlatformApiLevel}</strong> &mdash; 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. </p>
+
+<p>To use APIs introduced in Android {@sdkPlatformVersion} in your
+application, you need to set the proper value, "{@sdkPlatformApiLevel}", in the
+<code>android:minSdkVersion</code> attributes of the <code>&lt;uses-sdk&gt;</code>
+element in your application's manifest. </p>
+
+<p>For more information about how to use API Level, see the <a
+href="{@docRoot}guide/appendix/api-levels.html">API Levels</a> document. </p>
+
+
+<h3 id="api-changes">API changes summary</h3>
+
+<p>The sections below summarize the changes to the application framework and its APIs.</p>
+
+<h4 id="install-loc">App Installation on External Storage Media</h4>
+
+<p>The Android platform now allows applications to request installation onto the
+device's external storage media (such as the SD card), as an alternative to
+installation onto the device's internal memory. </p>
+
+<p>Application developers can express the preferred installation location for
+their applications by means of a new attribute of <code>&lt;manifest&gt;</code>
+in the manifest file, <a
+href="{@docRoot}guide/topics/manifest/manifest-element.html#install"><code>
+android:installLocation</code></a>. The attribute supports three values:
+<code>"internalOnly"</code>, <code>"preferExternal"</code>, and
+<code>"auto"</code>. At install time, the system checks the value of
+<code>android:installLocation</code> and installs the application
+<code>.apk</code> according to the preferred location, if possible. If the
+application has requested external installation, the system installs it into a
+private, encrypted partition in the external media. Once an application .apk is
+installed externally, the system lets the user change the storage location of
+the .apk and move it onto the device's internal memory if needed (and vice
+versa), through Manage Applications in the user settings.</p>
+
+<p>By default, the system installs all applications onto the device's internal
+memory, except for those that explicitly request external installation. This
+means that the system will always install legacy applications onto internal
+memory, since they do not have access to the
+<code>android:installLocation</code> attribute. However, it is possible to
+configure and compile a legacy application such that it is installed internally
+on older versions of the platform and externally on Android 2.2 and later
+platforms, if necessary. </p>
+
+<p>Note that requesting installation onto the device's external media is not
+suitable for all applications, particularly because the external media may be
+removable and unmounting/remounting may disrupt the user experience and system
+settings.</p>
+
+<p>For more information about setting a preferred install location for your
+application, including a discussion of what types of applications should and
+should not request external installation, please read the <a
+href="{@docRoot}guide/appendix/install-location.html">App Install Location</a>
+document. </p>
+
+<h4 id="backup-manager">Backup manager</h4>
+
+<p>The platform now provides a generalized backup manager facility that
+applications can use to backup and restore user data, to ensure that users can
+maintain their data when switching devices or reinstalling the application. The
+backup manager handles the work of transporting the application data to and from
+the backup storage area in the cloud. The backup manager can store any type of
+data, from arbitrary data to files, and manages backup and restore operations
+in an atomic manner. </p>
+
+<p>Any application can use the backup manager to save and restore data. To do
+so, the application instantiates a {@link android.app.backup.BackupManager} and
+uses its methods to trigger a new backup or restore operation. The application
+must also create a subclass of {@link android.app.backup.BackupAgent} and
+implement its methods to handle calls from the backup manager to get data for
+backup and provide data to restore
+({@link android.app.backup.BackupAgent#onBackup(android.os.ParcelFileDescriptor, android.app.backup.BackupDataOutput, android.os.ParcelFileDescriptor) onBackup()}
+and {@link android.app.backup.BackupAgent#onRestore(android.app.backup.BackupDataInput, int, android.os.ParcelFileDescriptor) onRestore()}).
+A simple implementation of a BackupAgent useful for backing up preferences 
+and files is available by using {@link android.app.backup.BackupAgentHelper}.
+For more information, see <a
+href="{@docRoot}guide/topics/topics/data/backup.html">Data Backup</a>.</p>
+
+<h4>Graphics</h4>
+
+<ul>
+<li>New OpenGL ES 2.0 APIs in {@link android.opengl.GLES20 android.opengl.GLES20}.</li>
+<li>New {@link android.opengl.ETC1}, {@link android.opengl.ETC1Util}, and {@link android.opengl.ETC1Util.ETC1Texture} classes and utility methods for using ETC1 for texture compression.</li>
+<li>New {@link android.graphics.ImageFormat} class.</li>
+<li>New {@link android.graphics.YuvImage YUV image format API} to enable compression from YUV to JPEG and manipulation of YUV data.</li>
+</ul>
+
+<h4>Media</h4>
+
+<ul>
+<li>New APIs in {@link android.media.AudioManager android.media.AudioManager} for managing audio focus, transport control, transient loss of audio focus, ducking.</li>
+<li>New broadcast intent for routing audio to SCO &mdash; {@link android.media.AudioManager#ACTION_SCO_AUDIO_STATE_CHANGED} with extras indicating new state.</li>
+<li>New APIs in {@link android.media.SoundPool} to detect completion of sound-loading.</li>
+<li>New APIs in {@link android.media.SoundPool} for auto pause and resume.</li>
+<li>New APIs in {@link android.media.MediaRecorder} for specifying audio settings for number of channels, encoding and sampling rates, sampling rate.</li>
+<li>New APIs for adding files to the media database, so that they are automatically scanned. See {@link android.media.MediaScannerConnection#scanFile(Context, String[], String[], OnScanCompletedListener) MediaScannerConnection.scanFile} and {@link android.media.MediaScannerConnection.OnScanCompletedListener MediaScannerConnection.OnScanCompletedListener}.</li>
+</ul>
+
+<h4>Third-party voice recognition engines</h4>
+
+<ul>
+<li>The platform now provides a {@link android.speech.RecognitionService} base class that lets third-party developers create plug-in recognition engines. </li>
+<li>New {@link android.speech.RecognitionListener} interface to receive callbacks.</li>
+<li>New {@link android.speech.RecognizerIntent} extras that let a requester app specify details as preferred language, minimum length in milliseconds, and so on.</li>
+</ul>
+
+<h4>Camera and camcorder</h4>
+
+<ul>
+<li>Changes to camera preview API to improve efficieny of preview pipeline. </li>
+<li>New display orientation for camera (it can now work in portrait orientation).</li>
+<li>New APIs in {@link android.hardware.Camera android.hardware.Camera} for managing zoom level.</li>
+<li>New APIs {@link android.hardware.Camera.Parameters android.hardware.Camera.Parameters} for querying and setting device camera settings such as focal length, exposure, zoom level, view angle, and others.</li>
+<li>New {@link android.media.ThumbnailUtils thumbnail} utility for video and image thumbnails.</li>
+<li>New {@link android.media.CamcorderProfile} and {@link android.media.CamcorderProfile} classes enable apps to determine device hardware camera capablities.</li>
+<li>New support in {@link android.media.ExifInterface android.media.ExifInterface} for retrieving GPS and focal length.</li>
+</ul>
+
+<h4>Device policy manager</h4>
+
+<p>New device policy management APIs allow developers to write "device administrator" applications that can control security features of the device, such as the minimum password strength, data wipe, and so on. Users can select the administrators that are enabled on their devices. For more information, see the {@link android.app.admin android.app.admin} classees.</p>
+
+<h4>UI Framework</h4>
+
+<ul>
+<li>New UI modes "car mode" and "night mode" and {@link android.app.UiModeManager} let applications adjust their application UI for specific user modes. </li>
+<li>New {@link android.view.ScaleGestureDetector} that lets Views detect and handle transformation gestures that involve more than one pointer (multitouch) using the supplied MotionEvents. </li>
+<li>Improvements in the way that multitouch events are reported in {@link android.view.MotionEvent} objects.</li>
+<li>The layout attribute <code>fill_parent</code> is renamed to <code>match_parent</code>. This affects both XML and Java code (see {@link android.view.ViewGroup.LayoutParams}). Note that the platform will continue to honor uses of <code>fill_parent</code> in legacy applications. </li>
+<li>New layout attributes {@link android.R.attr#tabStripEnabled}, {@link android.R.attr#tabStripRight}, and {@link android.R.attr#tabStripLeft} let developers customize the bottom strip of TabWidgets.</li>
+<li>Better support for managed dialogs in Activity.</li> application data (and applications)
+</ul>
+
+<h4>Accounts and Sync</h4>
+
+<ul>
+<li>New method {@link android.content.ContentResolver#addPeriodicSync(Account, String, Bundle, long) AddPeriodicSync()} lets you schedule a periodic sync with a specific account, authority, and extras at the given frequency.</li>
+</ul>
+
+<h4>New manifest elements and attributes</h4>
+
+<ul>
+<li>For specifying the application's preferred install location (see <a href="#install-loc">App Installation on External Storage Media</a>, above):
+
+<ul>
+  <li>New <code>android:installLocation</code> attribute of the <code>&lt;manifest&gt;</code> element. Specifies the default install location defined by an application.</li>
+</ul>
+</li>
+
+<li>For managing user data backup (see <a href="#backup-manager">Backup manager</a>, above, for more information):
+
+<ul>
+  <li> New <code>android:backupAgent</code> attribute of the
+<code>&lt;application&gt;</code> element. Specifies the component name of the 
+BackupAgent subclass provided by the application to handle backup/restore 
+operations, if any.</li>
+  <li> New <code>android:restoreAnyVersion</code> attribute of the
+<code>&lt;application&gt;</code> element. Boolean value that indicates whether
+the application is prepared to attempt a restore of any backed-up dataset, even
+if the backup is apparently from a newer version of the application than is
+currently installed on the device.</li>
+</ul>
+</li>
+
+<li>For managing the platform's JIT compiler:
+
+<ul>
+<li>New <code>android:vmSafeMode</code> attribute of the <code>&lt;application&gt;</code> element. Boolean value that specifies whether to disable JIT compiler optimizations when running the application.</li>
+</ul>
+</li>
+</ul>
+
+<h4>Permissions</h4>
+
+<ul>
+<li><code>android.permission.BIND_DEVICE_ADMIN</code> &mdash; Any device administration broadcast receiver must require this permission, to ensure that only the system can interact with it.</li>
+<li><code>android.permission.KILL_BACKGROUND_PROCESSES</code> &mdash; Allows an application to call {@link android.app.ActivityManager#killBackgroundProcesses(String)}.
+<li><code>android.permission.BIND_WALLPAPER</code> &mdash; Any {@link android.service.wallpaper.WallpaperService} must require this permission, to ensure that only the system can interact with it.</li>
+<li><code>android.permission.SET_TIME</code> &mdash; Allows an application to set the system time.</li>
+</ul>
+
+<!--
+<h3 id="behavior-changes">Behavior changes</h3>
+
+What did change is that android:process and android:sharedUserId can now be a reference to a resource (instead of just a literal).
+<h3 id="bug-fixes">Bug fixes</h3>
+-->
+
+<h3 id="api-diff">API differences report</h3>
+
+<p>For a detailed view of all API changes in Android {@sdkPlatformVersion} (API
+Level {@sdkPlatformApiLevel}), see the <a
+href="{@docRoot}sdk/api_diff/{@sdkPlatformApiLevel}/changes.html">API
+Differences Report</a>.</p>
+
diff --git a/docs/html/sdk/api_diff/8/changes.html b/docs/html/sdk/api_diff/8/changes.html
new file mode 100644
index 0000000..20804fe
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes.html
@@ -0,0 +1,45 @@
+<!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) -->
+<!-- on Tue May 11 19:22:44 PDT 2010 -->
+<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>
+API Differences between 7 and 8
+</TITLE>
+<link href="../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</head>
+<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 Alert
+</h2>
+
+<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>
diff --git a/docs/html/sdk/api_diff/8/changes/alldiffs_index_additions.html b/docs/html/sdk/api_diff/8/changes/alldiffs_index_additions.html
new file mode 100644
index 0000000..303aeb3
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/alldiffs_index_additions.html
@@ -0,0 +1,2077 @@
+<!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>
+All Additions Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<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>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="alldiffs_index_all.html" xclass="hiddenlink">All Differences</a>
+  <br>
+<A HREF="alldiffs_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<b>Additions</b>
+  <br>
+<A HREF="alldiffs_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+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>
+<!-- Method abandonAudioFocus -->
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<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="#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="#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">
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.abandonAudioFocus_added(android.media.AudioManager.OnAudioFocusChangeListener)" class="hiddenlink" target="rightframe"><b>abandonAudioFocus</b>
+(<code>OnAudioFocusChangeListener</code>)</A></nobr><br>
+<!-- Field ACTION_ADD_ACCOUNT -->
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_ADD_ACCOUNT" class="hiddenlink" target="rightframe">ACTION_ADD_ACCOUNT</A>
+</nobr><br>
+<!-- Field ACTION_DEVICE_INFO_SETTINGS -->
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_DEVICE_INFO_SETTINGS" class="hiddenlink" target="rightframe">ACTION_DEVICE_INFO_SETTINGS</A>
+</nobr><br>
+<!-- Field ACTION_EXTERNAL_APPLICATIONS_AVAILABLE -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE" class="hiddenlink" target="rightframe">ACTION_EXTERNAL_APPLICATIONS_AVAILABLE</A>
+</nobr><br>
+<!-- Field ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE" class="hiddenlink" target="rightframe">ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE</A>
+</nobr><br>
+<!-- Field ACTION_GET_LANGUAGE_DETAILS -->
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.ACTION_GET_LANGUAGE_DETAILS" class="hiddenlink" target="rightframe">ACTION_GET_LANGUAGE_DETAILS</A>
+</nobr><br>
+<!-- Field ACTION_POINTER_INDEX_MASK -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_INDEX_MASK" class="hiddenlink" target="rightframe">ACTION_POINTER_INDEX_MASK</A>
+</nobr><br>
+<!-- Field ACTION_POINTER_INDEX_SHIFT -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_INDEX_SHIFT" class="hiddenlink" target="rightframe">ACTION_POINTER_INDEX_SHIFT</A>
+</nobr><br>
+<!-- Field ACTION_SCO_AUDIO_STATE_CHANGED -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.ACTION_SCO_AUDIO_STATE_CHANGED" class="hiddenlink" target="rightframe">ACTION_SCO_AUDIO_STATE_CHANGED</A>
+</nobr><br>
+<!-- Field ACTION_SEARCH_SETTINGS -->
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_SEARCH_SETTINGS" class="hiddenlink" target="rightframe">ACTION_SEARCH_SETTINGS</A>
+</nobr><br>
+<!-- Constructor ActivityInstrumentationTestCase2 -->
+<nobr><A HREF="android.test.ActivityInstrumentationTestCase2.html#android.test.ActivityInstrumentationTestCase2.ctor_added(java.lang.Class<T>)" class="hiddenlink" target="rightframe"><b>ActivityInstrumentationTestCase2</b>
+(<code>Class&lt;T&gt;</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Method addCallbackBuffer -->
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.addCallbackBuffer_added(byte[])" class="hiddenlink" target="rightframe"><b>addCallbackBuffer</b>
+(<code>byte[]</code>)</A></nobr><br>
+<!-- Method addPeriodicSync -->
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.addPeriodicSync_added(android.accounts.Account, java.lang.String, android.os.Bundle, long)" class="hiddenlink" target="rightframe"><b>addPeriodicSync</b>
+(<code>Account, String, Bundle, long</code>)</A></nobr><br>
+<!-- Method addPermissionAsync -->
+<i>addPermissionAsync</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.addPermissionAsync_added(android.content.pm.PermissionInfo)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>PermissionInfo</code>)</b>&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+<!-- Method addPermissionAsync -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.addPermissionAsync_added(android.content.pm.PermissionInfo)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>PermissionInfo</code>)</b>&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</A></nobr><br>
+<!-- Method adoptNode -->
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.adoptNode_added(org.w3c.dom.Node)" class="hiddenlink" target="rightframe"><b>adoptNode</b>
+(<code>Node</code>)</A></nobr><br>
+<!-- Field ALLOWED_GEOLOCATION_ORIGINS -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.ALLOWED_GEOLOCATION_ORIGINS" class="hiddenlink" target="rightframe">ALLOWED_GEOLOCATION_ORIGINS</A>
+</nobr><br>
+<!-- Package android.app.admin -->
+<A HREF="changes-summary.html#android.app.admin" class="hiddenlink" target="rightframe"><b>android.app.admin</b></A><br>
+<!-- Package android.app.backup -->
+<A HREF="changes-summary.html#android.app.backup" class="hiddenlink" target="rightframe"><b>android.app.backup</b></A><br>
+<!-- Class AndroidHttpClient -->
+<A HREF="pkg_android.net.http.html#AndroidHttpClient" class="hiddenlink" target="rightframe"><b>AndroidHttpClient</b></A><br>
+<!-- Method areDefaultsEnforced -->
+<nobr><A HREF="android.speech.tts.TextToSpeech.html#android.speech.tts.TextToSpeech.areDefaultsEnforced_added()" class="hiddenlink" target="rightframe"><b>areDefaultsEnforced</b>
+()</A></nobr><br>
+<!-- Field AUDIOFOCUS_GAIN -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.AUDIOFOCUS_GAIN" class="hiddenlink" target="rightframe">AUDIOFOCUS_GAIN</A>
+</nobr><br>
+<!-- Field AUDIOFOCUS_GAIN_TRANSIENT -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.AUDIOFOCUS_GAIN_TRANSIENT" class="hiddenlink" target="rightframe">AUDIOFOCUS_GAIN_TRANSIENT</A>
+</nobr><br>
+<!-- Field AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK" class="hiddenlink" target="rightframe">AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK</A>
+</nobr><br>
+<!-- Field AUDIOFOCUS_LOSS -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.AUDIOFOCUS_LOSS" class="hiddenlink" target="rightframe">AUDIOFOCUS_LOSS</A>
+</nobr><br>
+<!-- Field AUDIOFOCUS_LOSS_TRANSIENT -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.AUDIOFOCUS_LOSS_TRANSIENT" class="hiddenlink" target="rightframe">AUDIOFOCUS_LOSS_TRANSIENT</A>
+</nobr><br>
+<!-- Field AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK" class="hiddenlink" target="rightframe">AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK</A>
+</nobr><br>
+<!-- Field AUDIOFOCUS_REQUEST_FAILED -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.AUDIOFOCUS_REQUEST_FAILED" class="hiddenlink" target="rightframe">AUDIOFOCUS_REQUEST_FAILED</A>
+</nobr><br>
+<!-- Field AUDIOFOCUS_REQUEST_GRANTED -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.AUDIOFOCUS_REQUEST_GRANTED" class="hiddenlink" target="rightframe">AUDIOFOCUS_REQUEST_GRANTED</A>
+</nobr><br>
+<!-- Class AudioManager.OnAudioFocusChangeListener -->
+<A HREF="pkg_android.media.html#AudioManager.OnAudioFocusChangeListener" class="hiddenlink" target="rightframe"><b><i>AudioManager.OnAudioFocusChangeListener</i></b></A><br>
+<!-- Method autoPause -->
+<nobr><A HREF="android.media.SoundPool.html#android.media.SoundPool.autoPause_added()" class="hiddenlink" target="rightframe"><b>autoPause</b>
+()</A></nobr><br>
+<!-- Method autoResume -->
+<nobr><A HREF="android.media.SoundPool.html#android.media.SoundPool.autoResume_added()" class="hiddenlink" target="rightframe"><b>autoResume</b>
+()</A></nobr><br>
+<!-- Field AVAILABLE -->
+<i>AVAILABLE</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.AVAILABLE" class="hiddenlink" target="rightframe">android.provider.Contacts.PresenceColumns</A>
+</nobr><br>
+<!-- Field AVAILABLE -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusColumns.html#android.provider.ContactsContract.StatusColumns.AVAILABLE" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusColumns</A>
+</nobr><br>
+<!-- Field AWAY -->
+<i>AWAY</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.AWAY" class="hiddenlink" target="rightframe">android.provider.Contacts.PresenceColumns</A>
+</nobr><br>
+<!-- Field AWAY -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusColumns.html#android.provider.ContactsContract.StatusColumns.AWAY" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusColumns</A>
+</nobr><br>
+<!-- Field backupAgentName -->
+<A NAME="B"></A>
+<br><font size="+2">B</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#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">
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.backupAgentName" class="hiddenlink" target="rightframe">backupAgentName</A>
+</nobr><br>
+<!-- Class Base64 -->
+<A HREF="pkg_android.util.html#Base64" class="hiddenlink" target="rightframe"><b>Base64</b></A><br>
+<!-- Class Base64InputStream -->
+<A HREF="pkg_android.util.html#Base64InputStream" class="hiddenlink" target="rightframe"><b>Base64InputStream</b></A><br>
+<!-- Class Base64OutputStream -->
+<A HREF="pkg_android.util.html#Base64OutputStream" class="hiddenlink" target="rightframe"><b>Base64OutputStream</b></A><br>
+<!-- Field BIND_DEVICE_ADMIN -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_DEVICE_ADMIN" class="hiddenlink" target="rightframe">BIND_DEVICE_ADMIN</A>
+</nobr><br>
+<!-- Field BIND_NOT_FOREGROUND -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.BIND_NOT_FOREGROUND" class="hiddenlink" target="rightframe">BIND_NOT_FOREGROUND</A>
+</nobr><br>
+<!-- Field BIND_WALLPAPER -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_WALLPAPER" class="hiddenlink" target="rightframe">BIND_WALLPAPER</A>
+</nobr><br>
+<!-- Field BOOKMARK -->
+<nobr><A HREF="android.provider.MediaStore.Audio.AudioColumns.html#android.provider.MediaStore.Audio.AudioColumns.BOOKMARK" class="hiddenlink" target="rightframe">BOOKMARK</A>
+</nobr><br>
+<!-- Field BOOTLOADER -->
+<nobr><A HREF="android.os.Build.html#android.os.Build.BOOTLOADER" class="hiddenlink" target="rightframe">BOOTLOADER</A>
+</nobr><br>
+<!-- Field BRIGHTNESS_OVERRIDE_FULL -->
+<nobr><A HREF="android.view.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_FULL" class="hiddenlink" target="rightframe">BRIGHTNESS_OVERRIDE_FULL</A>
+</nobr><br>
+<!-- Field BRIGHTNESS_OVERRIDE_NONE -->
+<nobr><A HREF="android.view.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE" class="hiddenlink" target="rightframe">BRIGHTNESS_OVERRIDE_NONE</A>
+</nobr><br>
+<!-- Field BRIGHTNESS_OVERRIDE_OFF -->
+<nobr><A HREF="android.view.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_OFF" class="hiddenlink" target="rightframe">BRIGHTNESS_OVERRIDE_OFF</A>
+</nobr><br>
+<!-- Field buttonBrightness -->
+<nobr><A HREF="android.view.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.buttonBrightness" class="hiddenlink" target="rightframe">buttonBrightness</A>
+</nobr><br>
+<!-- Class CamcorderProfile -->
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</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="#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="#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#CamcorderProfile" class="hiddenlink" target="rightframe"><b>CamcorderProfile</b></A><br>
+<!-- Class Camera.OnZoomChangeListener -->
+<A HREF="pkg_android.hardware.html#Camera.OnZoomChangeListener" class="hiddenlink" target="rightframe"><b><i>Camera.OnZoomChangeListener</i></b></A><br>
+<!-- Class CameraProfile -->
+<A HREF="pkg_android.media.html#CameraProfile" class="hiddenlink" target="rightframe"><b>CameraProfile</b></A><br>
+<!-- Method cancel -->
+<nobr><A HREF="android.view.animation.Animation.html#android.view.animation.Animation.cancel_added()" class="hiddenlink" target="rightframe"><b>cancel</b>
+()</A></nobr><br>
+<!-- Method cancelThumbnailRequest -->
+<i>cancelThumbnailRequest</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.MediaStore.Images.Thumbnails.html#android.provider.MediaStore.Images.Thumbnails.cancelThumbnailRequest_added(android.content.ContentResolver, long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>ContentResolver, long, long</code>)</b>&nbsp;in&nbsp;android.provider.MediaStore.Images.Thumbnails
+</A></nobr><br>
+<!-- Method cancelThumbnailRequest -->
+&nbsp;&nbsp;<nobr><A HREF="android.provider.MediaStore.Video.Thumbnails.html#android.provider.MediaStore.Video.Thumbnails.cancelThumbnailRequest_added(android.content.ContentResolver, long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>ContentResolver, long, long</code>)</b>&nbsp;in&nbsp;android.provider.MediaStore.Video.Thumbnails
+</A></nobr><br>
+<!-- Method canonicalToCurrentPackageNames -->
+<i>canonicalToCurrentPackageNames</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.canonicalToCurrentPackageNames_added(java.lang.String[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String[]</code>)</b>&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+<!-- Method canonicalToCurrentPackageNames -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.canonicalToCurrentPackageNames_added(java.lang.String[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String[]</code>)</b>&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</A></nobr><br>
+<!-- Field CATEGORY_CAR_MODE -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.CATEGORY_CAR_MODE" class="hiddenlink" target="rightframe">CATEGORY_CAR_MODE</A>
+</nobr><br>
+<!-- Method compareDocumentPosition -->
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.compareDocumentPosition_added(org.w3c.dom.Node)" class="hiddenlink" target="rightframe"><b>compareDocumentPosition</b>
+(<code>Node</code>)</A></nobr><br>
+<!-- Field CONFIG_UI_MODE -->
+<nobr><A HREF="android.content.pm.ActivityInfo.html#android.content.pm.ActivityInfo.CONFIG_UI_MODE" class="hiddenlink" target="rightframe">CONFIG_UI_MODE</A>
+</nobr><br>
+<!-- Field CONFLICT_ABORT -->
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.CONFLICT_ABORT" class="hiddenlink" target="rightframe">CONFLICT_ABORT</A>
+</nobr><br>
+<!-- Field CONFLICT_FAIL -->
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.CONFLICT_FAIL" class="hiddenlink" target="rightframe">CONFLICT_FAIL</A>
+</nobr><br>
+<!-- Field CONFLICT_IGNORE -->
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.CONFLICT_IGNORE" class="hiddenlink" target="rightframe">CONFLICT_IGNORE</A>
+</nobr><br>
+<!-- Field CONFLICT_NONE -->
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.CONFLICT_NONE" class="hiddenlink" target="rightframe">CONFLICT_NONE</A>
+</nobr><br>
+<!-- Field CONFLICT_REPLACE -->
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.CONFLICT_REPLACE" class="hiddenlink" target="rightframe">CONFLICT_REPLACE</A>
+</nobr><br>
+<!-- Field CONFLICT_ROLLBACK -->
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.CONFLICT_ROLLBACK" class="hiddenlink" target="rightframe">CONFLICT_ROLLBACK</A>
+</nobr><br>
+<!-- Class ConsoleMessage -->
+<A HREF="pkg_android.webkit.html#ConsoleMessage" class="hiddenlink" target="rightframe"><b>ConsoleMessage</b></A><br>
+<!-- Class ConsoleMessage.MessageLevel -->
+<A HREF="pkg_android.webkit.html#ConsoleMessage.MessageLevel" class="hiddenlink" target="rightframe"><b>ConsoleMessage.MessageLevel</b></A><br>
+<!-- Field CPU_ABI2 -->
+<nobr><A HREF="android.os.Build.html#android.os.Build.CPU_ABI2" class="hiddenlink" target="rightframe">CPU_ABI2</A>
+</nobr><br>
+<!-- Method currentToCanonicalPackageNames -->
+<i>currentToCanonicalPackageNames</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.currentToCanonicalPackageNames_added(java.lang.String[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String[]</code>)</b>&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+<!-- Method currentToCanonicalPackageNames -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.currentToCanonicalPackageNames_added(java.lang.String[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String[]</code>)</b>&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</A></nobr><br>
+<!-- Field CURSOR_EXTRA_KEY_IN_PROGRESS -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.CURSOR_EXTRA_KEY_IN_PROGRESS" class="hiddenlink" target="rightframe">CURSOR_EXTRA_KEY_IN_PROGRESS</A>
+</nobr><br>
+<!-- Method cursorDoubleToContentValuesIfPresent -->
+<nobr><A HREF="android.database.DatabaseUtils.html#android.database.DatabaseUtils.cursorDoubleToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)" class="hiddenlink" target="rightframe"><b>cursorDoubleToContentValuesIfPresent</b>
+(<code>Cursor, ContentValues, String</code>)</A></nobr><br>
+<!-- Method cursorFloatToContentValuesIfPresent -->
+<nobr><A HREF="android.database.DatabaseUtils.html#android.database.DatabaseUtils.cursorFloatToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)" class="hiddenlink" target="rightframe"><b>cursorFloatToContentValuesIfPresent</b>
+(<code>Cursor, ContentValues, String</code>)</A></nobr><br>
+<!-- Method cursorIntToContentValuesIfPresent -->
+<nobr><A HREF="android.database.DatabaseUtils.html#android.database.DatabaseUtils.cursorIntToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)" class="hiddenlink" target="rightframe"><b>cursorIntToContentValuesIfPresent</b>
+(<code>Cursor, ContentValues, String</code>)</A></nobr><br>
+<!-- Method cursorLongToContentValuesIfPresent -->
+<nobr><A HREF="android.database.DatabaseUtils.html#android.database.DatabaseUtils.cursorLongToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)" class="hiddenlink" target="rightframe"><b>cursorLongToContentValuesIfPresent</b>
+(<code>Cursor, ContentValues, String</code>)</A></nobr><br>
+<!-- Method cursorShortToContentValuesIfPresent -->
+<nobr><A HREF="android.database.DatabaseUtils.html#android.database.DatabaseUtils.cursorShortToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)" class="hiddenlink" target="rightframe"><b>cursorShortToContentValuesIfPresent</b>
+(<code>Cursor, ContentValues, String</code>)</A></nobr><br>
+<!-- Method cursorStringToContentValuesIfPresent -->
+<nobr><A HREF="android.database.DatabaseUtils.html#android.database.DatabaseUtils.cursorStringToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)" class="hiddenlink" target="rightframe"><b>cursorStringToContentValuesIfPresent</b>
+(<code>Cursor, ContentValues, String</code>)</A></nobr><br>
+<!-- Field custom -->
+<nobr><A HREF="android.R.id.html#android.R.id.custom" class="hiddenlink" target="rightframe">custom</A>
+</nobr><br>
+<!-- Field cycle_interpolator -->
+<nobr><A HREF="android.R.anim.html#android.R.anim.cycle_interpolator" class="hiddenlink" target="rightframe">cycle_interpolator</A>
+</nobr><br>
+<!-- Field DEBUG_ENABLE_SAFEMODE -->
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<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="#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">
+<nobr><A HREF="dalvik.system.Zygote.html#dalvik.system.Zygote.DEBUG_ENABLE_SAFEMODE" class="hiddenlink" target="rightframe">DEBUG_ENABLE_SAFEMODE</A>
+</nobr><br>
+<!-- Field delayUntil -->
+<nobr><A HREF="android.content.SyncResult.html#android.content.SyncResult.delayUntil" class="hiddenlink" target="rightframe">delayUntil</A>
+</nobr><br>
+<!-- Field descriptionRes -->
+<nobr><A HREF="android.content.pm.ComponentInfo.html#android.content.pm.ComponentInfo.descriptionRes" class="hiddenlink" target="rightframe">descriptionRes</A>
+</nobr><br>
+<!-- Field DETAILS_META_DATA -->
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.DETAILS_META_DATA" class="hiddenlink" target="rightframe">DETAILS_META_DATA</A>
+</nobr><br>
+<!-- Field DEVICE_POLICY_SERVICE -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.DEVICE_POLICY_SERVICE" class="hiddenlink" target="rightframe">DEVICE_POLICY_SERVICE</A>
+</nobr><br>
+<!-- Class DialogInterface.OnShowListener -->
+<A HREF="pkg_android.content.html#DialogInterface.OnShowListener" class="hiddenlink" target="rightframe"><b><i>DialogInterface.OnShowListener</i></b></A><br>
+<!-- Field DIRECTORY_ALARMS -->
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_ALARMS" class="hiddenlink" target="rightframe">DIRECTORY_ALARMS</A>
+</nobr><br>
+<!-- Field DIRECTORY_DCIM -->
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_DCIM" class="hiddenlink" target="rightframe">DIRECTORY_DCIM</A>
+</nobr><br>
+<!-- Field DIRECTORY_DOWNLOADS -->
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_DOWNLOADS" class="hiddenlink" target="rightframe">DIRECTORY_DOWNLOADS</A>
+</nobr><br>
+<!-- Field DIRECTORY_MOVIES -->
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_MOVIES" class="hiddenlink" target="rightframe">DIRECTORY_MOVIES</A>
+</nobr><br>
+<!-- Field DIRECTORY_MUSIC -->
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_MUSIC" class="hiddenlink" target="rightframe">DIRECTORY_MUSIC</A>
+</nobr><br>
+<!-- Field DIRECTORY_NOTIFICATIONS -->
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_NOTIFICATIONS" class="hiddenlink" target="rightframe">DIRECTORY_NOTIFICATIONS</A>
+</nobr><br>
+<!-- Field DIRECTORY_PICTURES -->
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_PICTURES" class="hiddenlink" target="rightframe">DIRECTORY_PICTURES</A>
+</nobr><br>
+<!-- Field DIRECTORY_PODCASTS -->
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_PODCASTS" class="hiddenlink" target="rightframe">DIRECTORY_PODCASTS</A>
+</nobr><br>
+<!-- Field DIRECTORY_RINGTONES -->
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_RINGTONES" class="hiddenlink" target="rightframe">DIRECTORY_RINGTONES</A>
+</nobr><br>
+<!-- Method dispatchConfigurationChanged -->
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchConfigurationChanged_added(android.content.res.Configuration)" class="hiddenlink" target="rightframe"><b>dispatchConfigurationChanged</b>
+(<code>Configuration</code>)</A></nobr><br>
+<!-- Method dispatchDisplayHint -->
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchDisplayHint_added(int)" class="hiddenlink" target="rightframe"><b>dispatchDisplayHint</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method dispatchVisibilityChanged -->
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchVisibilityChanged_added(android.view.View, int)" class="hiddenlink" target="rightframe"><b>dispatchVisibilityChanged</b>
+(<code>View, int</code>)</A></nobr><br>
+<!-- Field DO_NOT_DISTURB -->
+<i>DO_NOT_DISTURB</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.DO_NOT_DISTURB" class="hiddenlink" target="rightframe">android.provider.Contacts.PresenceColumns</A>
+</nobr><br>
+<!-- Field DO_NOT_DISTURB -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusColumns.html#android.provider.ContactsContract.StatusColumns.DO_NOT_DISTURB" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusColumns</A>
+</nobr><br>
+<!-- Field DOCUMENT_POSITION_CONTAINED_BY -->
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.DOCUMENT_POSITION_CONTAINED_BY" class="hiddenlink" target="rightframe">DOCUMENT_POSITION_CONTAINED_BY</A>
+</nobr><br>
+<!-- Field DOCUMENT_POSITION_CONTAINS -->
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.DOCUMENT_POSITION_CONTAINS" class="hiddenlink" target="rightframe">DOCUMENT_POSITION_CONTAINS</A>
+</nobr><br>
+<!-- Field DOCUMENT_POSITION_DISCONNECTED -->
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.DOCUMENT_POSITION_DISCONNECTED" class="hiddenlink" target="rightframe">DOCUMENT_POSITION_DISCONNECTED</A>
+</nobr><br>
+<!-- Field DOCUMENT_POSITION_FOLLOWING -->
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.DOCUMENT_POSITION_FOLLOWING" class="hiddenlink" target="rightframe">DOCUMENT_POSITION_FOLLOWING</A>
+</nobr><br>
+<!-- Field DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC -->
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" class="hiddenlink" target="rightframe">DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC</A>
+</nobr><br>
+<!-- Field DOCUMENT_POSITION_PRECEDING -->
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.DOCUMENT_POSITION_PRECEDING" class="hiddenlink" target="rightframe">DOCUMENT_POSITION_PRECEDING</A>
+</nobr><br>
+<!-- Class DOMConfiguration -->
+<A HREF="pkg_org.w3c.dom.html#DOMConfiguration" class="hiddenlink" target="rightframe"><b><i>DOMConfiguration</i></b></A><br>
+<!-- Class DOMError -->
+<A HREF="pkg_org.w3c.dom.html#DOMError" class="hiddenlink" target="rightframe"><b><i>DOMError</i></b></A><br>
+<!-- Class DOMErrorHandler -->
+<A HREF="pkg_org.w3c.dom.html#DOMErrorHandler" class="hiddenlink" target="rightframe"><b><i>DOMErrorHandler</i></b></A><br>
+<!-- Class DOMImplementationList -->
+<A HREF="pkg_org.w3c.dom.html#DOMImplementationList" class="hiddenlink" target="rightframe"><b><i>DOMImplementationList</i></b></A><br>
+<!-- Class DOMImplementationSource -->
+<A HREF="pkg_org.w3c.dom.html#DOMImplementationSource" class="hiddenlink" target="rightframe"><b><i>DOMImplementationSource</i></b></A><br>
+<!-- Class DOMLocator -->
+<A HREF="pkg_org.w3c.dom.html#DOMLocator" class="hiddenlink" target="rightframe"><b><i>DOMLocator</i></b></A><br>
+<!-- Class DOMStringList -->
+<A HREF="pkg_org.w3c.dom.html#DOMStringList" class="hiddenlink" target="rightframe"><b><i>DOMStringList</i></b></A><br>
+<!-- Field DROPBOX_SERVICE -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.DROPBOX_SERVICE" class="hiddenlink" target="rightframe">DROPBOX_SERVICE</A>
+</nobr><br>
+<!-- Class DropBoxManager -->
+<A HREF="pkg_android.os.html#DropBoxManager" class="hiddenlink" target="rightframe"><b>DropBoxManager</b></A><br>
+<!-- Class DropBoxManager.Entry -->
+<A HREF="pkg_android.os.html#DropBoxManager.Entry" class="hiddenlink" target="rightframe"><b>DropBoxManager.Entry</b></A><br>
+<!-- Method dumpService -->
+<nobr><A HREF="android.os.Debug.html#android.os.Debug.dumpService_added(java.lang.String, java.io.FileDescriptor, java.lang.String[])" class="hiddenlink" target="rightframe"><b>dumpService</b>
+(<code>String, FileDescriptor, String[]</code>)</A></nobr><br>
+<!-- Field EAST_ASIAN_WIDTH_AMBIGUOUS -->
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<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="#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="#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">
+<nobr><A HREF="android.text.AndroidCharacter.html#android.text.AndroidCharacter.EAST_ASIAN_WIDTH_AMBIGUOUS" class="hiddenlink" target="rightframe">EAST_ASIAN_WIDTH_AMBIGUOUS</A>
+</nobr><br>
+<!-- Field EAST_ASIAN_WIDTH_FULL_WIDTH -->
+<nobr><A HREF="android.text.AndroidCharacter.html#android.text.AndroidCharacter.EAST_ASIAN_WIDTH_FULL_WIDTH" class="hiddenlink" target="rightframe">EAST_ASIAN_WIDTH_FULL_WIDTH</A>
+</nobr><br>
+<!-- Field EAST_ASIAN_WIDTH_HALF_WIDTH -->
+<nobr><A HREF="android.text.AndroidCharacter.html#android.text.AndroidCharacter.EAST_ASIAN_WIDTH_HALF_WIDTH" class="hiddenlink" target="rightframe">EAST_ASIAN_WIDTH_HALF_WIDTH</A>
+</nobr><br>
+<!-- Field EAST_ASIAN_WIDTH_NARROW -->
+<nobr><A HREF="android.text.AndroidCharacter.html#android.text.AndroidCharacter.EAST_ASIAN_WIDTH_NARROW" class="hiddenlink" target="rightframe">EAST_ASIAN_WIDTH_NARROW</A>
+</nobr><br>
+<!-- Field EAST_ASIAN_WIDTH_NEUTRAL -->
+<nobr><A HREF="android.text.AndroidCharacter.html#android.text.AndroidCharacter.EAST_ASIAN_WIDTH_NEUTRAL" class="hiddenlink" target="rightframe">EAST_ASIAN_WIDTH_NEUTRAL</A>
+</nobr><br>
+<!-- Field EAST_ASIAN_WIDTH_WIDE -->
+<nobr><A HREF="android.text.AndroidCharacter.html#android.text.AndroidCharacter.EAST_ASIAN_WIDTH_WIDE" class="hiddenlink" target="rightframe">EAST_ASIAN_WIDTH_WIDE</A>
+</nobr><br>
+<!-- Method emulateShiftHeld -->
+<nobr><A HREF="android.webkit.WebView.html#android.webkit.WebView.emulateShiftHeld_added()" class="hiddenlink" target="rightframe"><b>emulateShiftHeld</b>
+()</A></nobr><br>
+<!-- Class Entity -->
+<A HREF="pkg_android.content.html#Entity" class="hiddenlink" target="rightframe"><b>Entity</b></A><br>
+<!-- Class Entity.NamedContentValues -->
+<A HREF="pkg_android.content.html#Entity.NamedContentValues" class="hiddenlink" target="rightframe"><b>Entity.NamedContentValues</b></A><br>
+<!-- Class EntityIterator -->
+<A HREF="pkg_android.content.html#EntityIterator" class="hiddenlink" target="rightframe"><b><i>EntityIterator</i></b></A><br>
+<!-- Class ETC1 -->
+<A HREF="pkg_android.opengl.html#ETC1" class="hiddenlink" target="rightframe"><b>ETC1</b></A><br>
+<!-- Class ETC1Util -->
+<A HREF="pkg_android.opengl.html#ETC1Util" class="hiddenlink" target="rightframe"><b>ETC1Util</b></A><br>
+<!-- Class ETC1Util.ETC1Texture -->
+<A HREF="pkg_android.opengl.html#ETC1Util.ETC1Texture" class="hiddenlink" target="rightframe"><b>ETC1Util.ETC1Texture</b></A><br>
+<!-- Class EventLog -->
+<A HREF="pkg_android.util.html#EventLog" class="hiddenlink" target="rightframe"><b>EventLog</b></A><br>
+<!-- Class EventLog.Event -->
+<A HREF="pkg_android.util.html#EventLog.Event" class="hiddenlink" target="rightframe"><b>EventLog.Event</b></A><br>
+<!-- Field expandableListViewWhiteStyle -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.expandableListViewWhiteStyle" class="hiddenlink" target="rightframe">expandableListViewWhiteStyle</A>
+</nobr><br>
+<!-- Field EXTRA_AUTHORITIES -->
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.EXTRA_AUTHORITIES" class="hiddenlink" target="rightframe">EXTRA_AUTHORITIES</A>
+</nobr><br>
+<!-- Field EXTRA_AVAILABLE_VOICES -->
+<nobr><A HREF="android.speech.tts.TextToSpeech.Engine.html#android.speech.tts.TextToSpeech.Engine.EXTRA_AVAILABLE_VOICES" class="hiddenlink" target="rightframe">EXTRA_AVAILABLE_VOICES</A>
+</nobr><br>
+<!-- Field EXTRA_CALLING_PACKAGE -->
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_CALLING_PACKAGE" class="hiddenlink" target="rightframe">EXTRA_CALLING_PACKAGE</A>
+</nobr><br>
+<!-- Field EXTRA_CHANGED_PACKAGE_LIST -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_CHANGED_PACKAGE_LIST" class="hiddenlink" target="rightframe">EXTRA_CHANGED_PACKAGE_LIST</A>
+</nobr><br>
+<!-- Field EXTRA_CHANGED_UID_LIST -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_CHANGED_UID_LIST" class="hiddenlink" target="rightframe">EXTRA_CHANGED_UID_LIST</A>
+</nobr><br>
+<!-- Field EXTRA_CHECK_VOICE_DATA_FOR -->
+<nobr><A HREF="android.speech.tts.TextToSpeech.Engine.html#android.speech.tts.TextToSpeech.Engine.EXTRA_CHECK_VOICE_DATA_FOR" class="hiddenlink" target="rightframe">EXTRA_CHECK_VOICE_DATA_FOR</A>
+</nobr><br>
+<!-- Field EXTRA_DURATION_LIMIT -->
+<nobr><A HREF="android.provider.MediaStore.html#android.provider.MediaStore.EXTRA_DURATION_LIMIT" class="hiddenlink" target="rightframe">EXTRA_DURATION_LIMIT</A>
+</nobr><br>
+<!-- Field EXTRA_FULL_SCREEN -->
+<nobr><A HREF="android.provider.MediaStore.html#android.provider.MediaStore.EXTRA_FULL_SCREEN" class="hiddenlink" target="rightframe">EXTRA_FULL_SCREEN</A>
+</nobr><br>
+<!-- Field EXTRA_HEADERS -->
+<nobr><A HREF="android.provider.Browser.html#android.provider.Browser.EXTRA_HEADERS" class="hiddenlink" target="rightframe">EXTRA_HEADERS</A>
+</nobr><br>
+<!-- Field EXTRA_LANGUAGE_PREFERENCE -->
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE" class="hiddenlink" target="rightframe">EXTRA_LANGUAGE_PREFERENCE</A>
+</nobr><br>
+<!-- Field EXTRA_ONLY_RETURN_LANGUAGE_PREFERENCE -->
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_ONLY_RETURN_LANGUAGE_PREFERENCE" class="hiddenlink" target="rightframe">EXTRA_ONLY_RETURN_LANGUAGE_PREFERENCE</A>
+</nobr><br>
+<!-- Field EXTRA_PARTIAL_RESULTS -->
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_PARTIAL_RESULTS" class="hiddenlink" target="rightframe">EXTRA_PARTIAL_RESULTS</A>
+</nobr><br>
+<!-- Field EXTRA_SCO_AUDIO_STATE -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.EXTRA_SCO_AUDIO_STATE" class="hiddenlink" target="rightframe">EXTRA_SCO_AUDIO_STATE</A>
+</nobr><br>
+<!-- Field EXTRA_SELECT_QUERY -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.EXTRA_SELECT_QUERY" class="hiddenlink" target="rightframe">EXTRA_SELECT_QUERY</A>
+</nobr><br>
+<!-- Field EXTRA_SHOW_ACTION_ICONS -->
+<nobr><A HREF="android.provider.MediaStore.html#android.provider.MediaStore.EXTRA_SHOW_ACTION_ICONS" class="hiddenlink" target="rightframe">EXTRA_SHOW_ACTION_ICONS</A>
+</nobr><br>
+<!-- Field EXTRA_SIZE_LIMIT -->
+<nobr><A HREF="android.provider.MediaStore.html#android.provider.MediaStore.EXTRA_SIZE_LIMIT" class="hiddenlink" target="rightframe">EXTRA_SIZE_LIMIT</A>
+</nobr><br>
+<!-- Field EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS -->
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS" class="hiddenlink" target="rightframe">EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS</A>
+</nobr><br>
+<!-- Field EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS -->
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS" class="hiddenlink" target="rightframe">EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS</A>
+</nobr><br>
+<!-- Field EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS -->
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS" class="hiddenlink" target="rightframe">EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS</A>
+</nobr><br>
+<!-- Field EXTRA_SUPPORTED_LANGUAGES -->
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_SUPPORTED_LANGUAGES" class="hiddenlink" target="rightframe">EXTRA_SUPPORTED_LANGUAGES</A>
+</nobr><br>
+<!-- Field EXTRA_UNAVAILABLE_VOICES -->
+<nobr><A HREF="android.speech.tts.TextToSpeech.Engine.html#android.speech.tts.TextToSpeech.Engine.EXTRA_UNAVAILABLE_VOICES" class="hiddenlink" target="rightframe">EXTRA_UNAVAILABLE_VOICES</A>
+</nobr><br>
+<!-- Field FEATURE_BLUETOOTH -->
+<A NAME="F"></A>
+<br><font size="+2">F</font>&nbsp;
+<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="#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="#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">
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_BLUETOOTH" class="hiddenlink" target="rightframe">FEATURE_BLUETOOTH</A>
+</nobr><br>
+<!-- Field FEATURE_LOCATION -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_LOCATION" class="hiddenlink" target="rightframe">FEATURE_LOCATION</A>
+</nobr><br>
+<!-- Field FEATURE_LOCATION_GPS -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_LOCATION_GPS" class="hiddenlink" target="rightframe">FEATURE_LOCATION_GPS</A>
+</nobr><br>
+<!-- Field FEATURE_LOCATION_NETWORK -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_LOCATION_NETWORK" class="hiddenlink" target="rightframe">FEATURE_LOCATION_NETWORK</A>
+</nobr><br>
+<!-- Field FEATURE_MICROPHONE -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_MICROPHONE" class="hiddenlink" target="rightframe">FEATURE_MICROPHONE</A>
+</nobr><br>
+<!-- Field FEATURE_SENSOR_ACCELEROMETER -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_SENSOR_ACCELEROMETER" class="hiddenlink" target="rightframe">FEATURE_SENSOR_ACCELEROMETER</A>
+</nobr><br>
+<!-- Field FEATURE_SENSOR_COMPASS -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_SENSOR_COMPASS" class="hiddenlink" target="rightframe">FEATURE_SENSOR_COMPASS</A>
+</nobr><br>
+<!-- Field FEATURE_TOUCHSCREEN -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_TOUCHSCREEN" class="hiddenlink" target="rightframe">FEATURE_TOUCHSCREEN</A>
+</nobr><br>
+<!-- Field FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT" class="hiddenlink" target="rightframe">FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT</A>
+</nobr><br>
+<!-- Field FEATURE_WIFI -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_WIFI" class="hiddenlink" target="rightframe">FEATURE_WIFI</A>
+</nobr><br>
+<!-- Field FLAG_ALLOW_BACKUP -->
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_ALLOW_BACKUP" class="hiddenlink" target="rightframe">FLAG_ALLOW_BACKUP</A>
+</nobr><br>
+<!-- Field FLAG_ALLOW_LOCK_WHILE_SCREEN_ON -->
+<nobr><A HREF="android.view.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON" class="hiddenlink" target="rightframe">FLAG_ALLOW_LOCK_WHILE_SCREEN_ON</A>
+</nobr><br>
+<!-- Field FLAG_EXTERNAL_STORAGE -->
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_EXTERNAL_STORAGE" class="hiddenlink" target="rightframe">FLAG_EXTERNAL_STORAGE</A>
+</nobr><br>
+<!-- Field FLAG_KILL_AFTER_RESTORE -->
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_KILL_AFTER_RESTORE" class="hiddenlink" target="rightframe">FLAG_KILL_AFTER_RESTORE</A>
+</nobr><br>
+<!-- Field FLAG_RECEIVER_REPLACE_PENDING -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.FLAG_RECEIVER_REPLACE_PENDING" class="hiddenlink" target="rightframe">FLAG_RECEIVER_REPLACE_PENDING</A>
+</nobr><br>
+<!-- Field FLAG_RESTORE_ANY_VERSION -->
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_RESTORE_ANY_VERSION" class="hiddenlink" target="rightframe">FLAG_RESTORE_ANY_VERSION</A>
+</nobr><br>
+<!-- Field FLAG_VM_SAFE_MODE -->
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_VM_SAFE_MODE" class="hiddenlink" target="rightframe">FLAG_VM_SAFE_MODE</A>
+</nobr><br>
+<!-- Field FOCUS_MODE_EDOF -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.FOCUS_MODE_EDOF" class="hiddenlink" target="rightframe">FOCUS_MODE_EDOF</A>
+</nobr><br>
+<!-- Field FROYO -->
+<nobr><A HREF="android.os.Build.VERSION_CODES.html#android.os.Build.VERSION_CODES.FROYO" class="hiddenlink" target="rightframe">FROYO</A>
+</nobr><br>
+<!-- Constructor GestureDetector -->
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<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="#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="#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">
+<nobr><A HREF="android.view.GestureDetector.html#android.view.GestureDetector.ctor_added(android.content.Context, android.view.GestureDetector.OnGestureListener, android.os.Handler, boolean)" class="hiddenlink" target="rightframe"><b>GestureDetector</b>
+(<code>Context, OnGestureListener, Handler, boolean</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class GestureUtils -->
+<A HREF="pkg_android.gesture.html#GestureUtils" class="hiddenlink" target="rightframe"><b>GestureUtils</b></A><br>
+<!-- Method getActionIndex -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.getActionIndex_added()" class="hiddenlink" target="rightframe"><b>getActionIndex</b>
+()</A></nobr><br>
+<!-- Method getActionMasked -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.getActionMasked_added()" class="hiddenlink" target="rightframe"><b>getActionMasked</b>
+()</A></nobr><br>
+<!-- Method getAttributeDouble -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.getAttributeDouble_added(java.lang.String, double)" class="hiddenlink" target="rightframe"><b>getAttributeDouble</b>
+(<code>String, double</code>)</A></nobr><br>
+<!-- Method getBaseURI -->
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.getBaseURI_added()" class="hiddenlink" target="rightframe"><b>getBaseURI</b>
+()</A></nobr><br>
+<!-- Method getBlockNetworkLoads -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getBlockNetworkLoads_added()" class="hiddenlink" target="rightframe"><b>getBlockNetworkLoads</b>
+()</A></nobr><br>
+<!-- Method getCharSequenceArray -->
+<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.getCharSequenceArray_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>getCharSequenceArray</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method getCharSequenceArrayExtra -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.getCharSequenceArrayExtra_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>getCharSequenceArrayExtra</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method getCharSequenceArrayList -->
+<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.getCharSequenceArrayList_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>getCharSequenceArrayList</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method getCharSequenceArrayListExtra -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.getCharSequenceArrayListExtra_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>getCharSequenceArrayListExtra</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method getCheckedItemIds -->
+<nobr><A HREF="android.widget.ListView.html#android.widget.ListView.getCheckedItemIds_added()" class="hiddenlink" target="rightframe"><b>getCheckedItemIds</b>
+()</A></nobr><br>
+<!-- Method getChildType -->
+<nobr><A HREF="android.widget.BaseExpandableListAdapter.html#android.widget.BaseExpandableListAdapter.getChildType_added(int, int)" class="hiddenlink" target="rightframe"><b>getChildType</b>
+(<code>int, int</code>)</A></nobr><br>
+<!-- Method getChildTypeCount -->
+<nobr><A HREF="android.widget.BaseExpandableListAdapter.html#android.widget.BaseExpandableListAdapter.getChildTypeCount_added()" class="hiddenlink" target="rightframe"><b>getChildTypeCount</b>
+()</A></nobr><br>
+<!-- Method getCurrentSync -->
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.getCurrentSync_added()" class="hiddenlink" target="rightframe"><b>getCurrentSync</b>
+()</A></nobr><br>
+<!-- Method getDefault -->
+<nobr><A HREF="android.net.SSLCertificateSocketFactory.html#android.net.SSLCertificateSocketFactory.getDefault_added(int, android.net.SSLSessionCache)" class="hiddenlink" target="rightframe"><b>getDefault</b>
+(<code>int, SSLSessionCache</code>)</A></nobr><br>
+<!-- Method getDefaultEngine -->
+<nobr><A HREF="android.speech.tts.TextToSpeech.html#android.speech.tts.TextToSpeech.getDefaultEngine_added()" class="hiddenlink" target="rightframe"><b>getDefaultEngine</b>
+()</A></nobr><br>
+<!-- Method getDocumentURI -->
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.getDocumentURI_added()" class="hiddenlink" target="rightframe"><b>getDocumentURI</b>
+()</A></nobr><br>
+<!-- Method getDomConfig -->
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.getDomConfig_added()" class="hiddenlink" target="rightframe"><b>getDomConfig</b>
+()</A></nobr><br>
+<!-- Method getEastAsianWidth -->
+<nobr><A HREF="android.text.AndroidCharacter.html#android.text.AndroidCharacter.getEastAsianWidth_added(char)" class="hiddenlink" target="rightframe"><b>getEastAsianWidth</b>
+(<code>char</code>)</A></nobr><br>
+<!-- Method getEastAsianWidths -->
+<nobr><A HREF="android.text.AndroidCharacter.html#android.text.AndroidCharacter.getEastAsianWidths_added(char[], int, int, byte[])" class="hiddenlink" target="rightframe"><b>getEastAsianWidths</b>
+(<code>char[], int, int, byte[]</code>)</A></nobr><br>
+<!-- Method getExposureCompensation -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getExposureCompensation_added()" class="hiddenlink" target="rightframe"><b>getExposureCompensation</b>
+()</A></nobr><br>
+<!-- Method getExposureCompensationStep -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getExposureCompensationStep_added()" class="hiddenlink" target="rightframe"><b>getExposureCompensationStep</b>
+()</A></nobr><br>
+<!-- Method getExternalCacheDir -->
+<i>getExternalCacheDir</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.getExternalCacheDir_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+<!-- Method getExternalCacheDir -->
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.getExternalCacheDir_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+<!-- Method getExternalCacheDir -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.getExternalCacheDir_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<!-- Method getExternalFilesDir -->
+<i>getExternalFilesDir</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.getExternalFilesDir_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+<!-- Method getExternalFilesDir -->
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.getExternalFilesDir_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+<!-- Method getExternalFilesDir -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.getExternalFilesDir_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<!-- Method getExternalStoragePublicDirectory -->
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.getExternalStoragePublicDirectory_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>getExternalStoragePublicDirectory</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method getFeature -->
+<i>getFeature</i><br>
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.DOMImplementation.html#org.w3c.dom.DOMImplementation.getFeature_added(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, String</code>)</b>&nbsp;in&nbsp;org.w3c.dom.DOMImplementation
+</A></nobr><br>
+<!-- Method getFeature -->
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.getFeature_added(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, String</code>)</b>&nbsp;in&nbsp;org.w3c.dom.Node
+</A></nobr><br>
+<!-- Method getFocalLength -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getFocalLength_added()" class="hiddenlink" target="rightframe"><b>getFocalLength</b>
+()</A></nobr><br>
+<!-- Method getGlobalClassInitCount -->
+<nobr><A HREF="android.os.Debug.html#android.os.Debug.getGlobalClassInitCount_added()" class="hiddenlink" target="rightframe"><b>getGlobalClassInitCount</b>
+()</A></nobr><br>
+<!-- Method getGlobalClassInitTime -->
+<nobr><A HREF="android.os.Debug.html#android.os.Debug.getGlobalClassInitTime_added()" class="hiddenlink" target="rightframe"><b>getGlobalClassInitTime</b>
+()</A></nobr><br>
+<!-- Method getGroupType -->
+<nobr><A HREF="android.widget.BaseExpandableListAdapter.html#android.widget.BaseExpandableListAdapter.getGroupType_added(int)" class="hiddenlink" target="rightframe"><b>getGroupType</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getGroupTypeCount -->
+<nobr><A HREF="android.widget.BaseExpandableListAdapter.html#android.widget.BaseExpandableListAdapter.getGroupTypeCount_added()" class="hiddenlink" target="rightframe"><b>getGroupTypeCount</b>
+()</A></nobr><br>
+<!-- Method getHorizontalViewAngle -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getHorizontalViewAngle_added()" class="hiddenlink" target="rightframe"><b>getHorizontalViewAngle</b>
+()</A></nobr><br>
+<!-- Method getHttpSocketFactory -->
+<nobr><A HREF="android.net.SSLCertificateSocketFactory.html#android.net.SSLCertificateSocketFactory.getHttpSocketFactory_added(int, android.net.SSLSessionCache)" class="hiddenlink" target="rightframe"><b>getHttpSocketFactory</b>
+(<code>int, SSLSessionCache</code>)</A></nobr><br>
+<!-- Method getInputEncoding -->
+<i>getInputEncoding</i><br>
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.getInputEncoding_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;org.w3c.dom.Document
+</A></nobr><br>
+<!-- Method getInputEncoding -->
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Entity.html#org.w3c.dom.Entity.getInputEncoding_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;org.w3c.dom.Entity
+</A></nobr><br>
+<!-- Method getInsecure -->
+<nobr><A HREF="android.net.SSLCertificateSocketFactory.html#android.net.SSLCertificateSocketFactory.getInsecure_added(int, android.net.SSLSessionCache)" class="hiddenlink" target="rightframe"><b>getInsecure</b>
+(<code>int, SSLSessionCache</code>)</A></nobr><br>
+<!-- Method getLastOutgoingCall -->
+<nobr><A HREF="android.provider.CallLog.Calls.html#android.provider.CallLog.Calls.getLastOutgoingCall_added(android.content.Context)" class="hiddenlink" target="rightframe"><b>getLastOutgoingCall</b>
+(<code>Context</code>)</A></nobr><br>
+<!-- Method getMaxExposureCompensation -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getMaxExposureCompensation_added()" class="hiddenlink" target="rightframe"><b>getMaxExposureCompensation</b>
+()</A></nobr><br>
+<!-- Method getMaxZoom -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getMaxZoom_added()" class="hiddenlink" target="rightframe"><b>getMaxZoom</b>
+()</A></nobr><br>
+<!-- Method getMinExposureCompensation -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getMinExposureCompensation_added()" class="hiddenlink" target="rightframe"><b>getMinExposureCompensation</b>
+()</A></nobr><br>
+<!-- Method getPackageCodePath -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.getPackageCodePath_added()" class="hiddenlink" target="rightframe"><b>getPackageCodePath</b>
+()</A></nobr><br>
+<!-- Method getPackageResourcePath -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.getPackageResourcePath_added()" class="hiddenlink" target="rightframe"><b>getPackageResourcePath</b>
+()</A></nobr><br>
+<!-- Method getPeriodicSyncs -->
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.getPeriodicSyncs_added(android.accounts.Account, java.lang.String)" class="hiddenlink" target="rightframe"><b>getPeriodicSyncs</b>
+(<code>Account, String</code>)</A></nobr><br>
+<!-- Method getPluginState -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getPluginState_added()" class="hiddenlink" target="rightframe"><b>getPluginState</b>
+()</A></nobr><br>
+<!-- Method getRotation -->
+<nobr><A HREF="android.view.Display.html#android.view.Display.getRotation_added()" class="hiddenlink" target="rightframe"><b>getRotation</b>
+()</A></nobr><br>
+<!-- Method getScaledPagingTouchSlop -->
+<nobr><A HREF="android.view.ViewConfiguration.html#android.view.ViewConfiguration.getScaledPagingTouchSlop_added()" class="hiddenlink" target="rightframe"><b>getScaledPagingTouchSlop</b>
+()</A></nobr><br>
+<!-- Method getSchema -->
+<i>getSchema</i><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.DocumentBuilder.html#javax.xml.parsers.DocumentBuilder.getSchema_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;javax.xml.parsers.DocumentBuilder
+</A></nobr><br>
+<!-- Method getSchema -->
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.DocumentBuilderFactory.html#javax.xml.parsers.DocumentBuilderFactory.getSchema_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;javax.xml.parsers.DocumentBuilderFactory
+</A></nobr><br>
+<!-- Method getSchema -->
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.SAXParser.html#javax.xml.parsers.SAXParser.getSchema_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;javax.xml.parsers.SAXParser
+</A></nobr><br>
+<!-- Method getSchema -->
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.SAXParserFactory.html#javax.xml.parsers.SAXParserFactory.getSchema_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;javax.xml.parsers.SAXParserFactory
+</A></nobr><br>
+<!-- Method getSchemaTypeInfo -->
+<i>getSchemaTypeInfo</i><br>
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Attr.html#org.w3c.dom.Attr.getSchemaTypeInfo_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;org.w3c.dom.Attr
+</A></nobr><br>
+<!-- Method getSchemaTypeInfo -->
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Element.html#org.w3c.dom.Element.getSchemaTypeInfo_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;org.w3c.dom.Element
+</A></nobr><br>
+<!-- Method getSearchableInfo -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.getSearchableInfo_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getSearchableInfo</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method getSearchablesInGlobalSearch -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.getSearchablesInGlobalSearch_added()" class="hiddenlink" target="rightframe"><b>getSearchablesInGlobalSearch</b>
+()</A></nobr><br>
+<!-- Method getStrictErrorChecking -->
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.getStrictErrorChecking_added()" class="hiddenlink" target="rightframe"><b>getStrictErrorChecking</b>
+()</A></nobr><br>
+<!-- Method getSupportedJpegThumbnailSizes -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getSupportedJpegThumbnailSizes_added()" class="hiddenlink" target="rightframe"><b>getSupportedJpegThumbnailSizes</b>
+()</A></nobr><br>
+<!-- Method getTextContent -->
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.getTextContent_added()" class="hiddenlink" target="rightframe"><b>getTextContent</b>
+()</A></nobr><br>
+<!-- Method getThumbnail -->
+<i>getThumbnail</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.MediaStore.Images.Thumbnails.html#android.provider.MediaStore.Images.Thumbnails.getThumbnail_added(android.content.ContentResolver, long, long, int, android.graphics.BitmapFactory.Options)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>ContentResolver, long, long, int, Options</code>)</b>&nbsp;in&nbsp;android.provider.MediaStore.Images.Thumbnails
+</A></nobr><br>
+<!-- Method getThumbnail -->
+&nbsp;&nbsp;<nobr><A HREF="android.provider.MediaStore.Video.Thumbnails.html#android.provider.MediaStore.Video.Thumbnails.getThumbnail_added(android.content.ContentResolver, long, long, int, android.graphics.BitmapFactory.Options)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>ContentResolver, long, long, int, Options</code>)</b>&nbsp;in&nbsp;android.provider.MediaStore.Video.Thumbnails
+</A></nobr><br>
+<!-- Method getUserData -->
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.getUserData_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>getUserData</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method getValidNotAfterDate -->
+<nobr><A HREF="android.net.http.SslCertificate.html#android.net.http.SslCertificate.getValidNotAfterDate_added()" class="hiddenlink" target="rightframe"><b>getValidNotAfterDate</b>
+()</A></nobr><br>
+<!-- Method getValidNotBeforeDate -->
+<nobr><A HREF="android.net.http.SslCertificate.html#android.net.http.SslCertificate.getValidNotBeforeDate_added()" class="hiddenlink" target="rightframe"><b>getValidNotBeforeDate</b>
+()</A></nobr><br>
+<!-- Method getVerticalViewAngle -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getVerticalViewAngle_added()" class="hiddenlink" target="rightframe"><b>getVerticalViewAngle</b>
+()</A></nobr><br>
+<!-- Method getVoiceDetailsIntent -->
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.getVoiceDetailsIntent_added(android.content.Context)" class="hiddenlink" target="rightframe"><b>getVoiceDetailsIntent</b>
+(<code>Context</code>)</A></nobr><br>
+<!-- Method getWholeText -->
+<nobr><A HREF="org.w3c.dom.Text.html#org.w3c.dom.Text.getWholeText_added()" class="hiddenlink" target="rightframe"><b>getWholeText</b>
+()</A></nobr><br>
+<!-- Method getXmlEncoding -->
+<i>getXmlEncoding</i><br>
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.getXmlEncoding_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;org.w3c.dom.Document
+</A></nobr><br>
+<!-- Method getXmlEncoding -->
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Entity.html#org.w3c.dom.Entity.getXmlEncoding_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;org.w3c.dom.Entity
+</A></nobr><br>
+<!-- Method getXmlStandalone -->
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.getXmlStandalone_added()" class="hiddenlink" target="rightframe"><b>getXmlStandalone</b>
+()</A></nobr><br>
+<!-- Method getXmlVersion -->
+<i>getXmlVersion</i><br>
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.getXmlVersion_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;org.w3c.dom.Document
+</A></nobr><br>
+<!-- Method getXmlVersion -->
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Entity.html#org.w3c.dom.Entity.getXmlVersion_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;org.w3c.dom.Entity
+</A></nobr><br>
+<!-- Method getXVelocity -->
+<nobr><A HREF="android.view.VelocityTracker.html#android.view.VelocityTracker.getXVelocity_added(int)" class="hiddenlink" target="rightframe"><b>getXVelocity</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getYVelocity -->
+<nobr><A HREF="android.view.VelocityTracker.html#android.view.VelocityTracker.getYVelocity_added(int)" class="hiddenlink" target="rightframe"><b>getYVelocity</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getZoom -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getZoom_added()" class="hiddenlink" target="rightframe"><b>getZoom</b>
+()</A></nobr><br>
+<!-- Method getZoomRatios -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getZoomRatios_added()" class="hiddenlink" target="rightframe"><b>getZoomRatios</b>
+()</A></nobr><br>
+<!-- Class GLES20 -->
+<A HREF="pkg_android.opengl.html#GLES20" class="hiddenlink" target="rightframe"><b>GLES20</b></A><br>
+<!-- Field HARDWARE -->
+<A NAME="H"></A>
+<br><font size="+2">H</font>&nbsp;
+<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="#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="#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">
+<nobr><A HREF="android.os.Build.html#android.os.Build.HARDWARE" class="hiddenlink" target="rightframe">HARDWARE</A>
+</nobr><br>
+<!-- Method hasFeatures -->
+<nobr><A HREF="android.accounts.AccountManager.html#android.accounts.AccountManager.hasFeatures_added(android.accounts.Account, java.lang.String[], android.accounts.AccountManagerCallback<java.lang.Boolean>, android.os.Handler)" class="hiddenlink" target="rightframe"><b>hasFeatures</b>
+(<code>Account, String[], AccountManagerCallback&lt;Boolean&gt;, Handler</code>)</A></nobr><br>
+<!-- Class HeterogeneousExpandableList -->
+<A HREF="pkg_android.widget.html#HeterogeneousExpandableList" class="hiddenlink" target="rightframe"><b><i>HeterogeneousExpandableList</i></b></A><br>
+<!-- Field IDLE -->
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<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="#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="#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">
+<i>IDLE</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.IDLE" class="hiddenlink" target="rightframe">android.provider.Contacts.PresenceColumns</A>
+</nobr><br>
+<!-- Field IDLE -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusColumns.html#android.provider.ContactsContract.StatusColumns.IDLE" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusColumns</A>
+</nobr><br>
+<!-- Class ImageFormat -->
+<A HREF="pkg_android.graphics.html#ImageFormat" class="hiddenlink" target="rightframe"><b>ImageFormat</b></A><br>
+<!-- Method insertWithOnConflict -->
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.insertWithOnConflict_added(java.lang.String, java.lang.String, android.content.ContentValues, int)" class="hiddenlink" target="rightframe"><b>insertWithOnConflict</b>
+(<code>String, String, ContentValues, int</code>)</A></nobr><br>
+<!-- Field installLocation -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.installLocation" class="hiddenlink" target="rightframe">installLocation</A>
+</nobr><br>
+<!-- Field INTENT_ACTION_GLOBAL_SEARCH -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.INTENT_ACTION_GLOBAL_SEARCH" class="hiddenlink" target="rightframe">INTENT_ACTION_GLOBAL_SEARCH</A>
+</nobr><br>
+<!-- Field INTENT_ACTION_MUSIC_PLAYER -->
+<nobr><A HREF="android.provider.MediaStore.html#android.provider.MediaStore.INTENT_ACTION_MUSIC_PLAYER" class="hiddenlink" target="rightframe">INTENT_ACTION_MUSIC_PLAYER</A>
+</nobr><br>
+<!-- Field INTENT_ACTION_SEARCH_SETTINGS -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.INTENT_ACTION_SEARCH_SETTINGS" class="hiddenlink" target="rightframe">INTENT_ACTION_SEARCH_SETTINGS</A>
+</nobr><br>
+<!-- Field INVISIBLE -->
+<i>INVISIBLE</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.INVISIBLE" class="hiddenlink" target="rightframe">android.provider.Contacts.PresenceColumns</A>
+</nobr><br>
+<!-- Field INVISIBLE -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusColumns.html#android.provider.ContactsContract.StatusColumns.INVISIBLE" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusColumns</A>
+</nobr><br>
+<!-- Field IS_PODCAST -->
+<nobr><A HREF="android.provider.MediaStore.Audio.AudioColumns.html#android.provider.MediaStore.Audio.AudioColumns.IS_PODCAST" class="hiddenlink" target="rightframe">IS_PODCAST</A>
+</nobr><br>
+<!-- Method isBluetoothScoAvailableOffCall -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.isBluetoothScoAvailableOffCall_added()" class="hiddenlink" target="rightframe"><b>isBluetoothScoAvailableOffCall</b>
+()</A></nobr><br>
+<!-- Method isDefaultNamespace -->
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.isDefaultNamespace_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>isDefaultNamespace</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method isElementContentWhitespace -->
+<nobr><A HREF="org.w3c.dom.Text.html#org.w3c.dom.Text.isElementContentWhitespace_added()" class="hiddenlink" target="rightframe"><b>isElementContentWhitespace</b>
+()</A></nobr><br>
+<!-- Method isEqualNode -->
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.isEqualNode_added(org.w3c.dom.Node)" class="hiddenlink" target="rightframe"><b>isEqualNode</b>
+(<code>Node</code>)</A></nobr><br>
+<!-- Method isId -->
+<nobr><A HREF="org.w3c.dom.Attr.html#org.w3c.dom.Attr.isId_added()" class="hiddenlink" target="rightframe"><b>isId</b>
+()</A></nobr><br>
+<!-- Method isLocationProviderEnabled -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.isLocationProviderEnabled_added(android.content.ContentResolver, java.lang.String)" class="hiddenlink" target="rightframe"><b>isLocationProviderEnabled</b>
+(<code>ContentResolver, String</code>)</A></nobr><br>
+<!-- Method isSameNode -->
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.isSameNode_added(org.w3c.dom.Node)" class="hiddenlink" target="rightframe"><b>isSameNode</b>
+(<code>Node</code>)</A></nobr><br>
+<!-- Method isSmoothZoomSupported -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.isSmoothZoomSupported_added()" class="hiddenlink" target="rightframe"><b>isSmoothZoomSupported</b>
+()</A></nobr><br>
+<!-- Method isStripEnabled -->
+<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.isStripEnabled_added()" class="hiddenlink" target="rightframe"><b>isStripEnabled</b>
+()</A></nobr><br>
+<!-- Method isUserAMonkey -->
+<nobr><A HREF="android.app.ActivityManager.html#android.app.ActivityManager.isUserAMonkey_added()" class="hiddenlink" target="rightframe"><b>isUserAMonkey</b>
+()</A></nobr><br>
+<!-- Method isZoomSupported -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.isZoomSupported_added()" class="hiddenlink" target="rightframe"><b>isZoomSupported</b>
+()</A></nobr><br>
+<!-- Package javax.xml.datatype -->
+<A NAME="J"></A>
+<A HREF="changes-summary.html#javax.xml.datatype" class="hiddenlink" target="rightframe"><b>javax.xml.datatype</b></A><br>
+<!-- Package javax.xml.namespace -->
+<A HREF="changes-summary.html#javax.xml.namespace" class="hiddenlink" target="rightframe"><b>javax.xml.namespace</b></A><br>
+<!-- Package javax.xml.transform -->
+<A HREF="changes-summary.html#javax.xml.transform" class="hiddenlink" target="rightframe"><b>javax.xml.transform</b></A><br>
+<!-- Package javax.xml.transform.dom -->
+<A HREF="changes-summary.html#javax.xml.transform.dom" class="hiddenlink" target="rightframe"><b>javax.xml.transform.dom</b></A><br>
+<!-- Package javax.xml.transform.sax -->
+<A HREF="changes-summary.html#javax.xml.transform.sax" class="hiddenlink" target="rightframe"><b>javax.xml.transform.sax</b></A><br>
+<!-- Package javax.xml.transform.stream -->
+<A HREF="changes-summary.html#javax.xml.transform.stream" class="hiddenlink" target="rightframe"><b>javax.xml.transform.stream</b></A><br>
+<!-- Package javax.xml.validation -->
+<A HREF="changes-summary.html#javax.xml.validation" class="hiddenlink" target="rightframe"><b>javax.xml.validation</b></A><br>
+<!-- Package javax.xml.xpath -->
+<A HREF="changes-summary.html#javax.xml.xpath" class="hiddenlink" target="rightframe"><b>javax.xml.xpath</b></A><br>
+<!-- Field KEYBOARD_TAP -->
+<A NAME="K"></A>
+<br><font size="+2">K</font>&nbsp;
+<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="#J"><font size="-2">J</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="#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">
+<nobr><A HREF="android.view.HapticFeedbackConstants.html#android.view.HapticFeedbackConstants.KEYBOARD_TAP" class="hiddenlink" target="rightframe">KEYBOARD_TAP</A>
+</nobr><br>
+<!-- Field KILL_BACKGROUND_PROCESSES -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.KILL_BACKGROUND_PROCESSES" class="hiddenlink" target="rightframe">KILL_BACKGROUND_PROCESSES</A>
+</nobr><br>
+<!-- Method killBackgroundProcesses -->
+<nobr><A HREF="android.app.ActivityManager.html#android.app.ActivityManager.killBackgroundProcesses_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>killBackgroundProcesses</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Field KIND_GLOBAL_CLASS_INIT_COUNT -->
+<nobr><A HREF="dalvik.system.VMDebug.html#dalvik.system.VMDebug.KIND_GLOBAL_CLASS_INIT_COUNT" class="hiddenlink" target="rightframe">KIND_GLOBAL_CLASS_INIT_COUNT</A>
+</nobr><br>
+<!-- Field KIND_GLOBAL_CLASS_INIT_TIME -->
+<nobr><A HREF="dalvik.system.VMDebug.html#dalvik.system.VMDebug.KIND_GLOBAL_CLASS_INIT_TIME" class="hiddenlink" target="rightframe">KIND_GLOBAL_CLASS_INIT_TIME</A>
+</nobr><br>
+<!-- Field KIND_THREAD_CLASS_INIT_COUNT -->
+<nobr><A HREF="dalvik.system.VMDebug.html#dalvik.system.VMDebug.KIND_THREAD_CLASS_INIT_COUNT" class="hiddenlink" target="rightframe">KIND_THREAD_CLASS_INIT_COUNT</A>
+</nobr><br>
+<!-- Field KIND_THREAD_CLASS_INIT_TIME -->
+<nobr><A HREF="dalvik.system.VMDebug.html#dalvik.system.VMDebug.KIND_THREAD_CLASS_INIT_TIME" class="hiddenlink" target="rightframe">KIND_THREAD_CLASS_INIT_TIME</A>
+</nobr><br>
+<!-- Class LeadingMarginSpan.LeadingMarginSpan2 -->
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<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="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</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="#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.text.style.html#LeadingMarginSpan.LeadingMarginSpan2" class="hiddenlink" target="rightframe"><b><i>LeadingMarginSpan.LeadingMarginSpan2</i></b></A><br>
+<!-- Method loadUrl -->
+<nobr><A HREF="android.webkit.WebView.html#android.webkit.WebView.loadUrl_added(java.lang.String, java.util.Map<java.lang.String, java.lang.String>)" class="hiddenlink" target="rightframe"><b>loadUrl</b>
+(<code>String, Map&lt;String, String&gt;</code>)</A></nobr><br>
+<!-- Field LOCK_PATTERN_ENABLED -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.LOCK_PATTERN_ENABLED" class="hiddenlink" target="rightframe">LOCK_PATTERN_ENABLED</A>
+</nobr><br>
+<!-- Field LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED" class="hiddenlink" target="rightframe">LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED</A>
+</nobr><br>
+<!-- Field LOCK_PATTERN_VISIBLE -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.LOCK_PATTERN_VISIBLE" class="hiddenlink" target="rightframe">LOCK_PATTERN_VISIBLE</A>
+</nobr><br>
+<!-- Method lookupNamespaceURI -->
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.lookupNamespaceURI_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>lookupNamespaceURI</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method lookupPrefix -->
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.lookupPrefix_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>lookupPrefix</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Field MATCH_PARENT -->
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<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="#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="#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="#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">
+<nobr><A HREF="android.view.ViewGroup.LayoutParams.html#android.view.ViewGroup.LayoutParams.MATCH_PARENT" class="hiddenlink" target="rightframe">MATCH_PARENT</A>
+</nobr><br>
+<!-- Class MediaScannerConnection.OnScanCompletedListener -->
+<A HREF="pkg_android.media.html#MediaScannerConnection.OnScanCompletedListener" class="hiddenlink" target="rightframe"><b><i>MediaScannerConnection.OnScanCompletedListener</i></b></A><br>
+<!-- Class MockContentProvider -->
+<A HREF="pkg_android.test.mock.html#MockContentProvider" class="hiddenlink" target="rightframe"><b>MockContentProvider</b></A><br>
+<!-- Class MockCursor -->
+<A HREF="pkg_android.test.mock.html#MockCursor" class="hiddenlink" target="rightframe"><b>MockCursor</b></A><br>
+<!-- Method moveItem -->
+<nobr><A HREF="android.provider.MediaStore.Audio.Playlists.Members.html#android.provider.MediaStore.Audio.Playlists.Members.moveItem_added(android.content.ContentResolver, long, int, int)" class="hiddenlink" target="rightframe"><b>moveItem</b>
+(<code>ContentResolver, long, int, int</code>)</A></nobr><br>
+<!-- Class NameList -->
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<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="#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="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</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_org.w3c.dom.html#NameList" class="hiddenlink" target="rightframe"><b><i>NameList</i></b></A><br>
+<!-- Field NETWORK_TYPE_IDEN -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.NETWORK_TYPE_IDEN" class="hiddenlink" target="rightframe">NETWORK_TYPE_IDEN</A>
+</nobr><br>
+<!-- Method newEntityIterator -->
+<i>newEntityIterator</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.ContactsContract.Groups.html#android.provider.ContactsContract.Groups.newEntityIterator_added(android.database.Cursor)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Cursor</code>)</b>&nbsp;in&nbsp;android.provider.ContactsContract.Groups
+</A></nobr><br>
+<!-- Method newEntityIterator -->
+&nbsp;&nbsp;<nobr><A HREF="android.provider.ContactsContract.RawContacts.html#android.provider.ContactsContract.RawContacts.newEntityIterator_added(android.database.Cursor)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Cursor</code>)</b>&nbsp;in&nbsp;android.provider.ContactsContract.RawContacts
+</A></nobr><br>
+<!-- Method normalizeDocument -->
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.normalizeDocument_added()" class="hiddenlink" target="rightframe"><b>normalizeDocument</b>
+()</A></nobr><br>
+<!-- Field OFFLINE -->
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<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="#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="#P"><font size="-2">P</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">
+<i>OFFLINE</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.OFFLINE" class="hiddenlink" target="rightframe">android.provider.Contacts.PresenceColumns</A>
+</nobr><br>
+<!-- Field OFFLINE -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusColumns.html#android.provider.ContactsContract.StatusColumns.OFFLINE" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusColumns</A>
+</nobr><br>
+<!-- Method onConfigurationChanged -->
+<nobr><A HREF="android.view.View.html#android.view.View.onConfigurationChanged_added(android.content.res.Configuration)" class="hiddenlink" target="rightframe"><b>onConfigurationChanged</b>
+(<code>Configuration</code>)</A></nobr><br>
+<!-- Method onConsoleMessage -->
+<i>onConsoleMessage</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.WebChromeClient.html#android.webkit.WebChromeClient.onConsoleMessage_added(android.webkit.ConsoleMessage)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>ConsoleMessage</code>)</b>&nbsp;in&nbsp;android.webkit.WebChromeClient
+</A></nobr><br>
+<!-- Method onConsoleMessage -->
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.WebChromeClient.html#android.webkit.WebChromeClient.onConsoleMessage_added(java.lang.String, int, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int, String</code>)</b>&nbsp;in&nbsp;android.webkit.WebChromeClient
+</A></nobr><br>
+<!-- Method onCreateDialog -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.onCreateDialog_added(int, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onCreateDialog</b>
+(<code>int, Bundle</code>)</A></nobr><br>
+<!-- Method onDisplayHint -->
+<nobr><A HREF="android.view.View.html#android.view.View.onDisplayHint_added(int)" class="hiddenlink" target="rightframe"><b>onDisplayHint</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method onPrepareDialog -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.onPrepareDialog_added(int, android.app.Dialog, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onPrepareDialog</b>
+(<code>int, Dialog, Bundle</code>)</A></nobr><br>
+<!-- Method onReceivedSslError -->
+<nobr><A HREF="android.webkit.WebViewClient.html#android.webkit.WebViewClient.onReceivedSslError_added(android.webkit.WebView, android.webkit.SslErrorHandler, android.net.http.SslError)" class="hiddenlink" target="rightframe"><b>onReceivedSslError</b>
+(<code>WebView, SslErrorHandler, SslError</code>)</A></nobr><br>
+<!-- Method onSyncCanceled -->
+<nobr><A HREF="android.content.AbstractThreadedSyncAdapter.html#android.content.AbstractThreadedSyncAdapter.onSyncCanceled_added()" class="hiddenlink" target="rightframe"><b>onSyncCanceled</b>
+()</A></nobr><br>
+<!-- Method onVisibilityChanged -->
+<nobr><A HREF="android.view.View.html#android.view.View.onVisibilityChanged_added(android.view.View, int)" class="hiddenlink" target="rightframe"><b>onVisibilityChanged</b>
+(<code>View, int</code>)</A></nobr><br>
+<!-- Field OP_BREAKPOINT -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_BREAKPOINT" class="hiddenlink" target="rightframe">OP_BREAKPOINT</A>
+</nobr><br>
+<!-- Field OP_EXECUTE_INLINE_RANGE -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_EXECUTE_INLINE_RANGE" class="hiddenlink" target="rightframe">OP_EXECUTE_INLINE_RANGE</A>
+</nobr><br>
+<!-- Field OP_THROW_VERIFICATION_ERROR -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_THROW_VERIFICATION_ERROR" class="hiddenlink" target="rightframe">OP_THROW_VERIFICATION_ERROR</A>
+</nobr><br>
+<!-- Package org.w3c.dom.ls -->
+<A HREF="changes-summary.html#org.w3c.dom.ls" class="hiddenlink" target="rightframe"><b>org.w3c.dom.ls</b></A><br>
+<!-- Field PASSIVE_PROVIDER -->
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<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="#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="#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">
+<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.PASSIVE_PROVIDER" class="hiddenlink" target="rightframe">PASSIVE_PROVIDER</A>
+</nobr><br>
+<!-- Class Patterns -->
+<A HREF="pkg_android.util.html#Patterns" class="hiddenlink" target="rightframe"><b>Patterns</b></A><br>
+<!-- Class PeriodicSync -->
+<A HREF="pkg_android.content.html#PeriodicSync" class="hiddenlink" target="rightframe"><b>PeriodicSync</b></A><br>
+<!-- Field PRESENCE_CUSTOM_STATUS -->
+<i>PRESENCE_CUSTOM_STATUS</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.PRESENCE_CUSTOM_STATUS" class="hiddenlink" target="rightframe">android.provider.Contacts.PresenceColumns</A>
+</nobr><br>
+<!-- Field PRESENCE_CUSTOM_STATUS -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusColumns.html#android.provider.ContactsContract.StatusColumns.PRESENCE_CUSTOM_STATUS" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusColumns</A>
+</nobr><br>
+<!-- Field PRESENCE_STATUS -->
+<i>PRESENCE_STATUS</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.PRESENCE_STATUS" class="hiddenlink" target="rightframe">android.provider.Contacts.PresenceColumns</A>
+</nobr><br>
+<!-- Field PRESENCE_STATUS -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusColumns.html#android.provider.ContactsContract.StatusColumns.PRESENCE_STATUS" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusColumns</A>
+</nobr><br>
+<!-- Field PRIORITY -->
+<nobr><A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.PRIORITY" class="hiddenlink" target="rightframe">PRIORITY</A>
+</nobr><br>
+<!-- Method putCharSequenceArray -->
+<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.putCharSequenceArray_added(java.lang.String, java.lang.CharSequence[])" class="hiddenlink" target="rightframe"><b>putCharSequenceArray</b>
+(<code>String, CharSequence[]</code>)</A></nobr><br>
+<!-- Method putCharSequenceArrayList -->
+<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.putCharSequenceArrayList_added(java.lang.String, java.util.ArrayList<java.lang.CharSequence>)" class="hiddenlink" target="rightframe"><b>putCharSequenceArrayList</b>
+(<code>String, ArrayList&lt;CharSequence&gt;</code>)</A></nobr><br>
+<!-- Method putCharSequenceArrayListExtra -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.putCharSequenceArrayListExtra_added(java.lang.String, java.util.ArrayList<java.lang.CharSequence>)" class="hiddenlink" target="rightframe"><b>putCharSequenceArrayListExtra</b>
+(<code>String, ArrayList&lt;CharSequence&gt;</code>)</A></nobr><br>
+<!-- Method putExtra -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.putExtra_added(java.lang.String, java.lang.CharSequence[])" class="hiddenlink" target="rightframe"><b>putExtra</b>
+(<code>String, CharSequence[]</code>)</A></nobr><br>
+<!-- Field RADIO -->
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<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="#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="#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">
+<nobr><A HREF="android.os.Build.html#android.os.Build.RADIO" class="hiddenlink" target="rightframe">RADIO</A>
+</nobr><br>
+<!-- Method readFromParcel -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.readFromParcel_added(android.os.Parcel)" class="hiddenlink" target="rightframe"><b>readFromParcel</b>
+(<code>Parcel</code>)</A></nobr><br>
+<!-- Method reboot -->
+<nobr><A HREF="android.os.PowerManager.html#android.os.PowerManager.reboot_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>reboot</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Class RecognitionListener -->
+<A HREF="pkg_android.speech.html#RecognitionListener" class="hiddenlink" target="rightframe"><b><i>RecognitionListener</i></b></A><br>
+<!-- Class RecognitionService -->
+<A HREF="pkg_android.speech.html#RecognitionService" class="hiddenlink" target="rightframe"><b>RecognitionService</b></A><br>
+<!-- Class RecognitionService.Callback -->
+<A HREF="pkg_android.speech.html#RecognitionService.Callback" class="hiddenlink" target="rightframe"><b>RecognitionService.Callback</b></A><br>
+<!-- Method reconnect -->
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.reconnect_added()" class="hiddenlink" target="rightframe"><b>reconnect</b>
+()</A></nobr><br>
+<!-- Class RecoverySystem -->
+<A HREF="pkg_android.os.html#RecoverySystem" class="hiddenlink" target="rightframe"><b>RecoverySystem</b></A><br>
+<!-- Class RecoverySystem.ProgressListener -->
+<A HREF="pkg_android.os.html#RecoverySystem.ProgressListener" class="hiddenlink" target="rightframe"><b><i>RecoverySystem.ProgressListener</i></b></A><br>
+<!-- Method registerMediaButtonEventReceiver -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.registerMediaButtonEventReceiver_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>registerMediaButtonEventReceiver</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method removePeriodicSync -->
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.removePeriodicSync_added(android.accounts.Account, java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>removePeriodicSync</b>
+(<code>Account, String, Bundle</code>)</A></nobr><br>
+<!-- Method renameNode -->
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.renameNode_added(org.w3c.dom.Node, java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe"><b>renameNode</b>
+(<code>Node, String, String</code>)</A></nobr><br>
+<!-- Method replaceWholeText -->
+<nobr><A HREF="org.w3c.dom.Text.html#org.w3c.dom.Text.replaceWholeText_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>replaceWholeText</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method requestAudioFocus -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.requestAudioFocus_added(android.media.AudioManager.OnAudioFocusChangeListener, int, int)" class="hiddenlink" target="rightframe"><b>requestAudioFocus</b>
+(<code>OnAudioFocusChangeListener, int, int</code>)</A></nobr><br>
+<!-- Method resetGlobalClassInitCount -->
+<nobr><A HREF="android.os.Debug.html#android.os.Debug.resetGlobalClassInitCount_added()" class="hiddenlink" target="rightframe"><b>resetGlobalClassInitCount</b>
+()</A></nobr><br>
+<!-- Method resetGlobalClassInitTime -->
+<nobr><A HREF="android.os.Debug.html#android.os.Debug.resetGlobalClassInitTime_added()" class="hiddenlink" target="rightframe"><b>resetGlobalClassInitTime</b>
+()</A></nobr><br>
+<!-- Field restoreAnyVersion -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.restoreAnyVersion" class="hiddenlink" target="rightframe">restoreAnyVersion</A>
+</nobr><br>
+<!-- Method resume -->
+<nobr><A HREF="android.widget.VideoView.html#android.widget.VideoView.resume_added()" class="hiddenlink" target="rightframe"><b>resume</b>
+()</A></nobr><br>
+<!-- Class ScaleGestureDetector -->
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<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="#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="#R"><font size="-2">R</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.view.html#ScaleGestureDetector" class="hiddenlink" target="rightframe"><b>ScaleGestureDetector</b></A><br>
+<!-- Class ScaleGestureDetector.OnScaleGestureListener -->
+<A HREF="pkg_android.view.html#ScaleGestureDetector.OnScaleGestureListener" class="hiddenlink" target="rightframe"><b><i>ScaleGestureDetector.OnScaleGestureListener</i></b></A><br>
+<!-- Class ScaleGestureDetector.SimpleOnScaleGestureListener -->
+<A HREF="pkg_android.view.html#ScaleGestureDetector.SimpleOnScaleGestureListener" class="hiddenlink" target="rightframe"><b>ScaleGestureDetector.SimpleOnScaleGestureListener</b></A><br>
+<!-- Method scanFile -->
+<nobr><A HREF="android.media.MediaScannerConnection.html#android.media.MediaScannerConnection.scanFile_added(android.content.Context, java.lang.String[], java.lang.String[], android.media.MediaScannerConnection.OnScanCompletedListener)" class="hiddenlink" target="rightframe"><b>scanFile</b>
+(<code>Context, String[], String[], OnScanCompletedListener</code>)</A></nobr><br>
+<!-- Field SCENE_MODE_BARCODE -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.SCENE_MODE_BARCODE" class="hiddenlink" target="rightframe">SCENE_MODE_BARCODE</A>
+</nobr><br>
+<!-- Field SCO_AUDIO_STATE_CONNECTED -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.SCO_AUDIO_STATE_CONNECTED" class="hiddenlink" target="rightframe">SCO_AUDIO_STATE_CONNECTED</A>
+</nobr><br>
+<!-- Field SCO_AUDIO_STATE_DISCONNECTED -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.SCO_AUDIO_STATE_DISCONNECTED" class="hiddenlink" target="rightframe">SCO_AUDIO_STATE_DISCONNECTED</A>
+</nobr><br>
+<!-- Field SCO_AUDIO_STATE_ERROR -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.SCO_AUDIO_STATE_ERROR" class="hiddenlink" target="rightframe">SCO_AUDIO_STATE_ERROR</A>
+</nobr><br>
+<!-- Field SCREEN_BRIGHTNESS_MODE -->
+<nobr><A HREF="android.provider.Settings.System.html#android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE" class="hiddenlink" target="rightframe">SCREEN_BRIGHTNESS_MODE</A>
+</nobr><br>
+<!-- Field SCREEN_BRIGHTNESS_MODE_AUTOMATIC -->
+<nobr><A HREF="android.provider.Settings.System.html#android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC" class="hiddenlink" target="rightframe">SCREEN_BRIGHTNESS_MODE_AUTOMATIC</A>
+</nobr><br>
+<!-- Field SCREEN_BRIGHTNESS_MODE_MANUAL -->
+<nobr><A HREF="android.provider.Settings.System.html#android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL" class="hiddenlink" target="rightframe">SCREEN_BRIGHTNESS_MODE_MANUAL</A>
+</nobr><br>
+<!-- Class SearchableInfo -->
+<A HREF="pkg_android.app.html#SearchableInfo" class="hiddenlink" target="rightframe"><b>SearchableInfo</b></A><br>
+<!-- Field SET_TIME -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.SET_TIME" class="hiddenlink" target="rightframe">SET_TIME</A>
+</nobr><br>
+<!-- Method setAudioChannels -->
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.setAudioChannels_added(int)" class="hiddenlink" target="rightframe"><b>setAudioChannels</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setAudioEncodingBitRate -->
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.setAudioEncodingBitRate_added(int)" class="hiddenlink" target="rightframe"><b>setAudioEncodingBitRate</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setAudioSamplingRate -->
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.setAudioSamplingRate_added(int)" class="hiddenlink" target="rightframe"><b>setAudioSamplingRate</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setBlockNetworkLoads -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setBlockNetworkLoads_added(boolean)" class="hiddenlink" target="rightframe"><b>setBlockNetworkLoads</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setBundle -->
+<nobr><A HREF="android.widget.RemoteViews.html#android.widget.RemoteViews.setBundle_added(int, java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>setBundle</b>
+(<code>int, String, Bundle</code>)</A></nobr><br>
+<!-- Method setColorFilter -->
+<nobr><A HREF="android.widget.ImageView.html#android.widget.ImageView.setColorFilter_added(int)" class="hiddenlink" target="rightframe"><b>setColorFilter</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setDisplayOrientation -->
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.setDisplayOrientation_added(int)" class="hiddenlink" target="rightframe"><b>setDisplayOrientation</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setDocumentURI -->
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.setDocumentURI_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setDocumentURI</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method setEGLContextClientVersion -->
+<nobr><A HREF="android.opengl.GLSurfaceView.html#android.opengl.GLSurfaceView.setEGLContextClientVersion_added(int)" class="hiddenlink" target="rightframe"><b>setEGLContextClientVersion</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setEngineByPackageName -->
+<nobr><A HREF="android.speech.tts.TextToSpeech.html#android.speech.tts.TextToSpeech.setEngineByPackageName_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setEngineByPackageName</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method setExposureCompensation -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.setExposureCompensation_added(int)" class="hiddenlink" target="rightframe"><b>setExposureCompensation</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setGpsProcessingMethod -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.setGpsProcessingMethod_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setGpsProcessingMethod</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method setIdAttribute -->
+<nobr><A HREF="org.w3c.dom.Element.html#org.w3c.dom.Element.setIdAttribute_added(java.lang.String, boolean)" class="hiddenlink" target="rightframe"><b>setIdAttribute</b>
+(<code>String, boolean</code>)</A></nobr><br>
+<!-- Method setIdAttributeNode -->
+<nobr><A HREF="org.w3c.dom.Element.html#org.w3c.dom.Element.setIdAttributeNode_added(org.w3c.dom.Attr, boolean)" class="hiddenlink" target="rightframe"><b>setIdAttributeNode</b>
+(<code>Attr, boolean</code>)</A></nobr><br>
+<!-- Method setIdAttributeNS -->
+<nobr><A HREF="org.w3c.dom.Element.html#org.w3c.dom.Element.setIdAttributeNS_added(java.lang.String, java.lang.String, boolean)" class="hiddenlink" target="rightframe"><b>setIdAttributeNS</b>
+(<code>String, String, boolean</code>)</A></nobr><br>
+<!-- Method setLeftStripDrawable -->
+<i>setLeftStripDrawable</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.setLeftStripDrawable_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Drawable</code>)</b>&nbsp;in&nbsp;android.widget.TabWidget
+</A></nobr><br>
+<!-- Method setLeftStripDrawable -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.setLeftStripDrawable_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.widget.TabWidget
+</A></nobr><br>
+<!-- Method setLocationProviderEnabled -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.setLocationProviderEnabled_added(android.content.ContentResolver, java.lang.String, boolean)" class="hiddenlink" target="rightframe"><b>setLocationProviderEnabled</b>
+(<code>ContentResolver, String, boolean</code>)</A></nobr><br>
+<!-- Method setLookAtM -->
+<nobr><A HREF="android.opengl.Matrix.html#android.opengl.Matrix.setLookAtM_added(float[], int, float, float, float, float, float, float, float, float, float)" class="hiddenlink" target="rightframe"><b>setLookAtM</b>
+(<code>float[], int, float, float, float, float, float, float, float, float, float</code>)</A></nobr><br>
+<!-- Method setOnLoadCompleteListener -->
+<nobr><A HREF="android.media.SoundPool.html#android.media.SoundPool.setOnLoadCompleteListener_added(android.media.SoundPool.OnLoadCompleteListener)" class="hiddenlink" target="rightframe"><b>setOnLoadCompleteListener</b>
+(<code>OnLoadCompleteListener</code>)</A></nobr><br>
+<!-- Method setOnShowListener -->
+<nobr><A HREF="android.app.Dialog.html#android.app.Dialog.setOnShowListener_added(android.content.DialogInterface.OnShowListener)" class="hiddenlink" target="rightframe"><b>setOnShowListener</b>
+(<code>OnShowListener</code>)</A></nobr><br>
+<!-- Method setPluginState -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setPluginState_added(android.webkit.WebSettings.PluginState)" class="hiddenlink" target="rightframe"><b>setPluginState</b>
+(<code>PluginState</code>)</A></nobr><br>
+<!-- Method setPreviewCallbackWithBuffer -->
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.setPreviewCallbackWithBuffer_added(android.hardware.Camera.PreviewCallback)" class="hiddenlink" target="rightframe"><b>setPreviewCallbackWithBuffer</b>
+(<code>PreviewCallback</code>)</A></nobr><br>
+<!-- Method setProfile -->
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.setProfile_added(android.media.CamcorderProfile)" class="hiddenlink" target="rightframe"><b>setProfile</b>
+(<code>CamcorderProfile</code>)</A></nobr><br>
+<!-- Method setRightStripDrawable -->
+<i>setRightStripDrawable</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.setRightStripDrawable_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Drawable</code>)</b>&nbsp;in&nbsp;android.widget.TabWidget
+</A></nobr><br>
+<!-- Method setRightStripDrawable -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.setRightStripDrawable_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.widget.TabWidget
+</A></nobr><br>
+<!-- Method setSchema -->
+<i>setSchema</i><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.DocumentBuilderFactory.html#javax.xml.parsers.DocumentBuilderFactory.setSchema_added(javax.xml.validation.Schema)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Schema</code>)</b>&nbsp;in&nbsp;javax.xml.parsers.DocumentBuilderFactory
+</A></nobr><br>
+<!-- Method setSchema -->
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.SAXParserFactory.html#javax.xml.parsers.SAXParserFactory.setSchema_added(javax.xml.validation.Schema)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Schema</code>)</b>&nbsp;in&nbsp;javax.xml.parsers.SAXParserFactory
+</A></nobr><br>
+<!-- Method setStrictErrorChecking -->
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.setStrictErrorChecking_added(boolean)" class="hiddenlink" target="rightframe"><b>setStrictErrorChecking</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setStripEnabled -->
+<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.setStripEnabled_added(boolean)" class="hiddenlink" target="rightframe"><b>setStripEnabled</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setTextContent -->
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.setTextContent_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setTextContent</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method setTime -->
+<nobr><A HREF="android.app.AlarmManager.html#android.app.AlarmManager.setTime_added(long)" class="hiddenlink" target="rightframe"><b>setTime</b>
+(<code>long</code>)</A></nobr><br>
+<!-- Method setTo -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.setTo_added(android.content.res.Configuration)" class="hiddenlink" target="rightframe"><b>setTo</b>
+(<code>Configuration</code>)</A></nobr><br>
+<!-- Method setUserData -->
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.setUserData_added(java.lang.String, java.lang.Object, org.w3c.dom.UserDataHandler)" class="hiddenlink" target="rightframe"><b>setUserData</b>
+(<code>String, Object, UserDataHandler</code>)</A></nobr><br>
+<!-- Method setVideoEncodingBitRate -->
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.setVideoEncodingBitRate_added(int)" class="hiddenlink" target="rightframe"><b>setVideoEncodingBitRate</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setXmlStandalone -->
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.setXmlStandalone_added(boolean)" class="hiddenlink" target="rightframe"><b>setXmlStandalone</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setXmlVersion -->
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.setXmlVersion_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setXmlVersion</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method setZoom -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.setZoom_added(int)" class="hiddenlink" target="rightframe"><b>setZoom</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setZoomChangeListener -->
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.setZoomChangeListener_added(android.hardware.Camera.OnZoomChangeListener)" class="hiddenlink" target="rightframe"><b>setZoomChangeListener</b>
+(<code>OnZoomChangeListener</code>)</A></nobr><br>
+<!-- Method showDialog -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.showDialog_added(int, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>showDialog</b>
+(<code>int, Bundle</code>)</A></nobr><br>
+<!-- Method smoothScrollBy -->
+<nobr><A HREF="android.widget.AbsListView.html#android.widget.AbsListView.smoothScrollBy_added(int, int)" class="hiddenlink" target="rightframe"><b>smoothScrollBy</b>
+(<code>int, int</code>)</A></nobr><br>
+<!-- Method smoothScrollToPosition -->
+<i>smoothScrollToPosition</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.AbsListView.html#android.widget.AbsListView.smoothScrollToPosition_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.widget.AbsListView
+</A></nobr><br>
+<!-- Method smoothScrollToPosition -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.AbsListView.html#android.widget.AbsListView.smoothScrollToPosition_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.widget.AbsListView
+</A></nobr><br>
+<!-- Class SoundPool.OnLoadCompleteListener -->
+<A HREF="pkg_android.media.html#SoundPool.OnLoadCompleteListener" class="hiddenlink" target="rightframe"><b><i>SoundPool.OnLoadCompleteListener</i></b></A><br>
+<!-- Class SpeechRecognizer -->
+<A HREF="pkg_android.speech.html#SpeechRecognizer" class="hiddenlink" target="rightframe"><b>SpeechRecognizer</b></A><br>
+<!-- Constructor SslCertificate -->
+<nobr><A HREF="android.net.http.SslCertificate.html#android.net.http.SslCertificate.ctor_added(java.lang.String, java.lang.String, java.util.Date, java.util.Date)" class="hiddenlink" target="rightframe"><b>SslCertificate</b>
+(<code>String, String, Date, Date</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class SslError -->
+<A HREF="pkg_android.net.http.html#SslError" class="hiddenlink" target="rightframe"><b>SslError</b></A><br>
+<!-- Class SSLSessionCache -->
+<A HREF="pkg_android.net.html#SSLSessionCache" class="hiddenlink" target="rightframe"><b>SSLSessionCache</b></A><br>
+<!-- Field stackTrace -->
+<nobr><A HREF="android.app.ActivityManager.ProcessErrorStateInfo.html#android.app.ActivityManager.ProcessErrorStateInfo.stackTrace" class="hiddenlink" target="rightframe">stackTrace</A>
+</nobr><br>
+<!-- Method startBluetoothSco -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.startBluetoothSco_added()" class="hiddenlink" target="rightframe"><b>startBluetoothSco</b>
+()</A></nobr><br>
+<!-- Method startSmoothZoom -->
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.startSmoothZoom_added(int)" class="hiddenlink" target="rightframe"><b>startSmoothZoom</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method stopBluetoothSco -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.stopBluetoothSco_added()" class="hiddenlink" target="rightframe"><b>stopBluetoothSco</b>
+()</A></nobr><br>
+<!-- Method stopSmoothZoom -->
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.stopSmoothZoom_added()" class="hiddenlink" target="rightframe"><b>stopSmoothZoom</b>
+()</A></nobr><br>
+<!-- Field SUGGEST_COLUMN_TEXT_2_URL -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.SUGGEST_COLUMN_TEXT_2_URL" class="hiddenlink" target="rightframe">SUGGEST_COLUMN_TEXT_2_URL</A>
+</nobr><br>
+<!-- Method suspend -->
+<nobr><A HREF="android.widget.VideoView.html#android.widget.VideoView.suspend_added()" class="hiddenlink" target="rightframe"><b>suspend</b>
+()</A></nobr><br>
+<!-- Field SYNC_EXTRAS_DO_NOT_RETRY -->
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.SYNC_EXTRAS_DO_NOT_RETRY" class="hiddenlink" target="rightframe">SYNC_EXTRAS_DO_NOT_RETRY</A>
+</nobr><br>
+<!-- Field SYNC_EXTRAS_IGNORE_BACKOFF -->
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.SYNC_EXTRAS_IGNORE_BACKOFF" class="hiddenlink" target="rightframe">SYNC_EXTRAS_IGNORE_BACKOFF</A>
+</nobr><br>
+<!-- Field SYNC_EXTRAS_IGNORE_SETTINGS -->
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.SYNC_EXTRAS_IGNORE_SETTINGS" class="hiddenlink" target="rightframe">SYNC_EXTRAS_IGNORE_SETTINGS</A>
+</nobr><br>
+<!-- Field SYNC_OBSERVER_TYPE_ACTIVE -->
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.SYNC_OBSERVER_TYPE_ACTIVE" class="hiddenlink" target="rightframe">SYNC_OBSERVER_TYPE_ACTIVE</A>
+</nobr><br>
+<!-- Field SYNC_OBSERVER_TYPE_PENDING -->
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.SYNC_OBSERVER_TYPE_PENDING" class="hiddenlink" target="rightframe">SYNC_OBSERVER_TYPE_PENDING</A>
+</nobr><br>
+<!-- Field SYNC_OBSERVER_TYPE_SETTINGS -->
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.SYNC_OBSERVER_TYPE_SETTINGS" class="hiddenlink" target="rightframe">SYNC_OBSERVER_TYPE_SETTINGS</A>
+</nobr><br>
+<!-- Class SyncInfo -->
+<A HREF="pkg_android.content.html#SyncInfo" class="hiddenlink" target="rightframe"><b>SyncInfo</b></A><br>
+<!-- Field tabStripEnabled -->
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<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="#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="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</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">
+<nobr><A HREF="android.R.attr.html#android.R.attr.tabStripEnabled" class="hiddenlink" target="rightframe">tabStripEnabled</A>
+</nobr><br>
+<!-- Field tabStripLeft -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.tabStripLeft" class="hiddenlink" target="rightframe">tabStripLeft</A>
+</nobr><br>
+<!-- Field tabStripRight -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.tabStripRight" class="hiddenlink" target="rightframe">tabStripRight</A>
+</nobr><br>
+<!-- Field TAG_FOCAL_LENGTH -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_FOCAL_LENGTH" class="hiddenlink" target="rightframe">TAG_FOCAL_LENGTH</A>
+</nobr><br>
+<!-- Field TAG_GPS_DATESTAMP -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DATESTAMP" class="hiddenlink" target="rightframe">TAG_GPS_DATESTAMP</A>
+</nobr><br>
+<!-- Field TAG_GPS_PROCESSING_METHOD -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_PROCESSING_METHOD" class="hiddenlink" target="rightframe">TAG_GPS_PROCESSING_METHOD</A>
+</nobr><br>
+<!-- Field TAG_GPS_TIMESTAMP -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_TIMESTAMP" class="hiddenlink" target="rightframe">TAG_GPS_TIMESTAMP</A>
+</nobr><br>
+<!-- Class ThumbnailUtils -->
+<A HREF="pkg_android.media.html#ThumbnailUtils" class="hiddenlink" target="rightframe"><b>ThumbnailUtils</b></A><br>
+<!-- Method tokenize -->
+<nobr><A HREF="android.text.util.Rfc822Tokenizer.html#android.text.util.Rfc822Tokenizer.tokenize_added(java.lang.CharSequence, java.util.Collection<android.text.util.Rfc822Token>)" class="hiddenlink" target="rightframe"><b>tokenize</b>
+(<code>CharSequence, Collection&lt;Rfc822Token&gt;</code>)</A></nobr><br>
+<!-- Class TrafficStats -->
+<A HREF="pkg_android.net.html#TrafficStats" class="hiddenlink" target="rightframe"><b>TrafficStats</b></A><br>
+<!-- Field TTS_ENABLED_PLUGINS -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.TTS_ENABLED_PLUGINS" class="hiddenlink" target="rightframe">TTS_ENABLED_PLUGINS</A>
+</nobr><br>
+<!-- Field TYPE_MISMATCH_ERR -->
+<nobr><A HREF="org.w3c.dom.DOMException.html#org.w3c.dom.DOMException.TYPE_MISMATCH_ERR" class="hiddenlink" target="rightframe">TYPE_MISMATCH_ERR</A>
+</nobr><br>
+<!-- Field TYPE_MOBILE_DUN -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.TYPE_MOBILE_DUN" class="hiddenlink" target="rightframe">TYPE_MOBILE_DUN</A>
+</nobr><br>
+<!-- Field TYPE_MOBILE_HIPRI -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.TYPE_MOBILE_HIPRI" class="hiddenlink" target="rightframe">TYPE_MOBILE_HIPRI</A>
+</nobr><br>
+<!-- Field TYPE_MOBILE_MMS -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.TYPE_MOBILE_MMS" class="hiddenlink" target="rightframe">TYPE_MOBILE_MMS</A>
+</nobr><br>
+<!-- Field TYPE_MOBILE_SUPL -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.TYPE_MOBILE_SUPL" class="hiddenlink" target="rightframe">TYPE_MOBILE_SUPL</A>
+</nobr><br>
+<!-- Field TYPE_WIMAX -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.TYPE_WIMAX" class="hiddenlink" target="rightframe">TYPE_WIMAX</A>
+</nobr><br>
+<!-- Class TypeInfo -->
+<A HREF="pkg_org.w3c.dom.html#TypeInfo" class="hiddenlink" target="rightframe"><b><i>TypeInfo</i></b></A><br>
+<!-- Field UI_MODE_NIGHT_MASK -->
+<A NAME="U"></A>
+<br><font size="+2">U</font>&nbsp;
+<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="#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="#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="#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">
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.UI_MODE_NIGHT_MASK" class="hiddenlink" target="rightframe">UI_MODE_NIGHT_MASK</A>
+</nobr><br>
+<!-- Field UI_MODE_NIGHT_NO -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.UI_MODE_NIGHT_NO" class="hiddenlink" target="rightframe">UI_MODE_NIGHT_NO</A>
+</nobr><br>
+<!-- Field UI_MODE_NIGHT_UNDEFINED -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.UI_MODE_NIGHT_UNDEFINED" class="hiddenlink" target="rightframe">UI_MODE_NIGHT_UNDEFINED</A>
+</nobr><br>
+<!-- Field UI_MODE_NIGHT_YES -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.UI_MODE_NIGHT_YES" class="hiddenlink" target="rightframe">UI_MODE_NIGHT_YES</A>
+</nobr><br>
+<!-- Field UI_MODE_SERVICE -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.UI_MODE_SERVICE" class="hiddenlink" target="rightframe">UI_MODE_SERVICE</A>
+</nobr><br>
+<!-- Field UI_MODE_TYPE_CAR -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.UI_MODE_TYPE_CAR" class="hiddenlink" target="rightframe">UI_MODE_TYPE_CAR</A>
+</nobr><br>
+<!-- Field UI_MODE_TYPE_DESK -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.UI_MODE_TYPE_DESK" class="hiddenlink" target="rightframe">UI_MODE_TYPE_DESK</A>
+</nobr><br>
+<!-- Field UI_MODE_TYPE_MASK -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.UI_MODE_TYPE_MASK" class="hiddenlink" target="rightframe">UI_MODE_TYPE_MASK</A>
+</nobr><br>
+<!-- Field UI_MODE_TYPE_NORMAL -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.UI_MODE_TYPE_NORMAL" class="hiddenlink" target="rightframe">UI_MODE_TYPE_NORMAL</A>
+</nobr><br>
+<!-- Field UI_MODE_TYPE_UNDEFINED -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.UI_MODE_TYPE_UNDEFINED" class="hiddenlink" target="rightframe">UI_MODE_TYPE_UNDEFINED</A>
+</nobr><br>
+<!-- Field uiMode -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.uiMode" class="hiddenlink" target="rightframe">uiMode</A>
+</nobr><br>
+<!-- Class UiModeManager -->
+<A HREF="pkg_android.app.html#UiModeManager" class="hiddenlink" target="rightframe"><b>UiModeManager</b></A><br>
+<!-- Field UNKNOWN -->
+<nobr><A HREF="android.os.Build.html#android.os.Build.UNKNOWN" class="hiddenlink" target="rightframe">UNKNOWN</A>
+</nobr><br>
+<!-- Field UNKNOWN_STRING -->
+<nobr><A HREF="android.provider.MediaStore.html#android.provider.MediaStore.UNKNOWN_STRING" class="hiddenlink" target="rightframe">UNKNOWN_STRING</A>
+</nobr><br>
+<!-- Method unregisterMediaButtonEventReceiver -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.unregisterMediaButtonEventReceiver_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>unregisterMediaButtonEventReceiver</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method updateWithOnConflict -->
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.updateWithOnConflict_added(java.lang.String, android.content.ContentValues, java.lang.String, java.lang.String[], int)" class="hiddenlink" target="rightframe"><b>updateWithOnConflict</b>
+(<code>String, ContentValues, String, String[], int</code>)</A></nobr><br>
+<!-- Class UserDataHandler -->
+<A HREF="pkg_org.w3c.dom.html#UserDataHandler" class="hiddenlink" target="rightframe"><b><i>UserDataHandler</i></b></A><br>
+<!-- Field VALIDATION_ERR -->
+<A NAME="V"></A>
+<br><font size="+2">V</font>&nbsp;
+<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="#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="#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="#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">
+<nobr><A HREF="org.w3c.dom.DOMException.html#org.w3c.dom.DOMException.VALIDATION_ERR" class="hiddenlink" target="rightframe">VALIDATION_ERR</A>
+</nobr><br>
+<!-- Field vmSafeMode -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.vmSafeMode" class="hiddenlink" target="rightframe">vmSafeMode</A>
+</nobr><br>
+<!-- Field VOLUME_BLUETOOTH_SCO -->
+<nobr><A HREF="android.provider.Settings.System.html#android.provider.Settings.System.VOLUME_BLUETOOTH_SCO" class="hiddenlink" target="rightframe">VOLUME_BLUETOOTH_SCO</A>
+</nobr><br>
+<!-- Class WebSettings.PluginState -->
+<A NAME="W"></A>
+<br><font size="+2">W</font>&nbsp;
+<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="#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="#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="#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.webkit.html#WebSettings.PluginState" class="hiddenlink" target="rightframe"><b>WebSettings.PluginState</b></A><br>
+<!-- Field webTextViewStyle -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.webTextViewStyle" class="hiddenlink" target="rightframe">webTextViewStyle</A>
+</nobr><br>
+<!-- Method wtf -->
+<i>wtf</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.util.Log.html#android.util.Log.wtf_added(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, String</code>)</b>&nbsp;in&nbsp;android.util.Log
+</A></nobr><br>
+<!-- Method wtf -->
+&nbsp;&nbsp;<nobr><A HREF="android.util.Log.html#android.util.Log.wtf_added(java.lang.String, java.lang.String, java.lang.Throwable)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, String, Throwable</code>)</b>&nbsp;in&nbsp;android.util.Log
+</A></nobr><br>
+<!-- Method wtf -->
+&nbsp;&nbsp;<nobr><A HREF="android.util.Log.html#android.util.Log.wtf_added(java.lang.String, java.lang.Throwable)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, Throwable</code>)</b>&nbsp;in&nbsp;android.util.Log
+</A></nobr><br>
+<!-- Class YuvImage -->
+<A NAME="Y"></A>
+<br><font size="+2">Y</font>&nbsp;
+<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="#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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.graphics.html#YuvImage" class="hiddenlink" target="rightframe"><b>YuvImage</b></A><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/alldiffs_index_all.html b/docs/html/sdk/api_diff/8/changes/alldiffs_index_all.html
new file mode 100644
index 0000000..278625a
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/alldiffs_index_all.html
@@ -0,0 +1,2798 @@
+<!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>
+All Differences Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<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>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<b>All Differences</b>
+  <br>
+<A HREF="alldiffs_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<A HREF="alldiffs_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<A HREF="alldiffs_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+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>
+<!-- Method abandonAudioFocus -->
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<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="#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="#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="#X"><font size="-2">X</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.media.AudioManager.html#android.media.AudioManager.abandonAudioFocus_added(android.media.AudioManager.OnAudioFocusChangeListener)" class="hiddenlink" target="rightframe"><b>abandonAudioFocus</b>
+(<code>OnAudioFocusChangeListener</code>)</A></nobr><br>
+<!-- Class AbsListView -->
+<A HREF="android.widget.AbsListView.html" class="hiddenlink" target="rightframe">AbsListView</A><br>
+<!-- Class AbstractThreadedSyncAdapter -->
+<A HREF="android.content.AbstractThreadedSyncAdapter.html" class="hiddenlink" target="rightframe">AbstractThreadedSyncAdapter</A><br>
+<!-- Class AccountManager -->
+<A HREF="android.accounts.AccountManager.html" class="hiddenlink" target="rightframe">AccountManager</A><br>
+<!-- Field ACTION_ADD_ACCOUNT -->
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_ADD_ACCOUNT" class="hiddenlink" target="rightframe">ACTION_ADD_ACCOUNT</A>
+</nobr><br>
+<!-- Field ACTION_DEVICE_INFO_SETTINGS -->
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_DEVICE_INFO_SETTINGS" class="hiddenlink" target="rightframe">ACTION_DEVICE_INFO_SETTINGS</A>
+</nobr><br>
+<!-- Field ACTION_EXTERNAL_APPLICATIONS_AVAILABLE -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE" class="hiddenlink" target="rightframe">ACTION_EXTERNAL_APPLICATIONS_AVAILABLE</A>
+</nobr><br>
+<!-- Field ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE" class="hiddenlink" target="rightframe">ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE</A>
+</nobr><br>
+<!-- Field ACTION_GET_LANGUAGE_DETAILS -->
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.ACTION_GET_LANGUAGE_DETAILS" class="hiddenlink" target="rightframe">ACTION_GET_LANGUAGE_DETAILS</A>
+</nobr><br>
+<!-- Field ACTION_POINTER_1_DOWN -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_1_DOWN" class="hiddenlink" target="rightframe">ACTION_POINTER_1_DOWN</A>
+</nobr><br>
+<!-- Field ACTION_POINTER_1_UP -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_1_UP" class="hiddenlink" target="rightframe">ACTION_POINTER_1_UP</A>
+</nobr><br>
+<!-- Field ACTION_POINTER_2_DOWN -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_2_DOWN" class="hiddenlink" target="rightframe">ACTION_POINTER_2_DOWN</A>
+</nobr><br>
+<!-- Field ACTION_POINTER_2_UP -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_2_UP" class="hiddenlink" target="rightframe">ACTION_POINTER_2_UP</A>
+</nobr><br>
+<!-- Field ACTION_POINTER_3_DOWN -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_3_DOWN" class="hiddenlink" target="rightframe">ACTION_POINTER_3_DOWN</A>
+</nobr><br>
+<!-- Field ACTION_POINTER_3_UP -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_3_UP" class="hiddenlink" target="rightframe">ACTION_POINTER_3_UP</A>
+</nobr><br>
+<!-- Field ACTION_POINTER_ID_MASK -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_ID_MASK" class="hiddenlink" target="rightframe">ACTION_POINTER_ID_MASK</A>
+</nobr><br>
+<!-- Field ACTION_POINTER_ID_SHIFT -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_ID_SHIFT" class="hiddenlink" target="rightframe">ACTION_POINTER_ID_SHIFT</A>
+</nobr><br>
+<!-- Field ACTION_POINTER_INDEX_MASK -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_INDEX_MASK" class="hiddenlink" target="rightframe">ACTION_POINTER_INDEX_MASK</A>
+</nobr><br>
+<!-- Field ACTION_POINTER_INDEX_SHIFT -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_INDEX_SHIFT" class="hiddenlink" target="rightframe">ACTION_POINTER_INDEX_SHIFT</A>
+</nobr><br>
+<!-- Field ACTION_SCO_AUDIO_STATE_CHANGED -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.ACTION_SCO_AUDIO_STATE_CHANGED" class="hiddenlink" target="rightframe">ACTION_SCO_AUDIO_STATE_CHANGED</A>
+</nobr><br>
+<!-- Field ACTION_SEARCH_SETTINGS -->
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_SEARCH_SETTINGS" class="hiddenlink" target="rightframe">ACTION_SEARCH_SETTINGS</A>
+</nobr><br>
+<!-- Class Activity -->
+<A HREF="android.app.Activity.html" class="hiddenlink" target="rightframe">Activity</A><br>
+<!-- Class ActivityInfo -->
+<A HREF="android.content.pm.ActivityInfo.html" class="hiddenlink" target="rightframe">ActivityInfo</A><br>
+<!-- Class ActivityInstrumentationTestCase2 -->
+<i>ActivityInstrumentationTestCase2</i><br>
+&nbsp;&nbsp;<A HREF="android.test.ActivityInstrumentationTestCase2.html" class="hiddenlink" target="rightframe">android.test</A><br>
+<!-- Constructor ActivityInstrumentationTestCase2 -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.ActivityInstrumentationTestCase2.html#android.test.ActivityInstrumentationTestCase2.ctor_added(java.lang.Class<T>)" class="hiddenlink" target="rightframe"><b>ActivityInstrumentationTestCase2</b>
+(<code>Class&lt;T&gt;</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor ActivityInstrumentationTestCase2 -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.ActivityInstrumentationTestCase2.html#android.test.ActivityInstrumentationTestCase2.ctor_changed(java.lang.String, java.lang.Class<T>)" class="hiddenlink" target="rightframe">ActivityInstrumentationTestCase2
+(<code>String, Class&lt;T&gt;</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class ActivityManager -->
+<A HREF="android.app.ActivityManager.html" class="hiddenlink" target="rightframe">ActivityManager</A><br>
+<!-- Class ActivityManager.ProcessErrorStateInfo -->
+<A HREF="android.app.ActivityManager.ProcessErrorStateInfo.html" class="hiddenlink" target="rightframe">ActivityManager.ProcessErrorStateInfo</A><br>
+<!-- Method addCallbackBuffer -->
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.addCallbackBuffer_added(byte[])" class="hiddenlink" target="rightframe"><b>addCallbackBuffer</b>
+(<code>byte[]</code>)</A></nobr><br>
+<!-- Method addPeriodicSync -->
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.addPeriodicSync_added(android.accounts.Account, java.lang.String, android.os.Bundle, long)" class="hiddenlink" target="rightframe"><b>addPeriodicSync</b>
+(<code>Account, String, Bundle, long</code>)</A></nobr><br>
+<!-- Method addPermissionAsync -->
+<i>addPermissionAsync</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.addPermissionAsync_added(android.content.pm.PermissionInfo)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>PermissionInfo</code>)</b>&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+<!-- Method addPermissionAsync -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.addPermissionAsync_added(android.content.pm.PermissionInfo)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>PermissionInfo</code>)</b>&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</A></nobr><br>
+<!-- Method addPreferredActivity -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.addPreferredActivity_changed(android.content.IntentFilter, int, android.content.ComponentName[], android.content.ComponentName)" class="hiddenlink" target="rightframe">addPreferredActivity
+(<code>IntentFilter, int, ComponentName[], ComponentName</code>)</A></nobr><br>
+<!-- Method adoptNode -->
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.adoptNode_added(org.w3c.dom.Node)" class="hiddenlink" target="rightframe"><b>adoptNode</b>
+(<code>Node</code>)</A></nobr><br>
+<!-- Class AlarmManager -->
+<A HREF="android.app.AlarmManager.html" class="hiddenlink" target="rightframe">AlarmManager</A><br>
+<!-- Field ALLOWED_GEOLOCATION_ORIGINS -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.ALLOWED_GEOLOCATION_ORIGINS" class="hiddenlink" target="rightframe">ALLOWED_GEOLOCATION_ORIGINS</A>
+</nobr><br>
+<!-- Package android -->
+<A HREF="pkg_android.html" class="hiddenlink" target="rightframe">android</A><br>
+<!-- Package android.accounts -->
+<A HREF="pkg_android.accounts.html" class="hiddenlink" target="rightframe">android.accounts</A><br>
+<!-- Package android.app -->
+<A HREF="pkg_android.app.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<!-- Package android.app.admin -->
+<A HREF="changes-summary.html#android.app.admin" class="hiddenlink" target="rightframe"><b>android.app.admin</b></A><br>
+<!-- Package android.app.backup -->
+<A HREF="changes-summary.html#android.app.backup" class="hiddenlink" target="rightframe"><b>android.app.backup</b></A><br>
+<!-- Package android.content -->
+<A HREF="pkg_android.content.html" class="hiddenlink" target="rightframe">android.content</A><br>
+<!-- Package android.content.pm -->
+<A HREF="pkg_android.content.pm.html" class="hiddenlink" target="rightframe">android.content.pm</A><br>
+<!-- Package android.content.res -->
+<A HREF="pkg_android.content.res.html" class="hiddenlink" target="rightframe">android.content.res</A><br>
+<!-- Package android.database -->
+<A HREF="pkg_android.database.html" class="hiddenlink" target="rightframe">android.database</A><br>
+<!-- Package android.database.sqlite -->
+<A HREF="pkg_android.database.sqlite.html" class="hiddenlink" target="rightframe">android.database.sqlite</A><br>
+<!-- Package android.gesture -->
+<A HREF="pkg_android.gesture.html" class="hiddenlink" target="rightframe">android.gesture</A><br>
+<!-- Package android.graphics -->
+<A HREF="pkg_android.graphics.html" class="hiddenlink" target="rightframe">android.graphics</A><br>
+<!-- Package android.hardware -->
+<A HREF="pkg_android.hardware.html" class="hiddenlink" target="rightframe">android.hardware</A><br>
+<!-- Package android.location -->
+<A HREF="pkg_android.location.html" class="hiddenlink" target="rightframe">android.location</A><br>
+<!-- Package android.media -->
+<A HREF="pkg_android.media.html" class="hiddenlink" target="rightframe">android.media</A><br>
+<!-- Package android.net -->
+<A HREF="pkg_android.net.html" class="hiddenlink" target="rightframe">android.net</A><br>
+<!-- Package android.net.http -->
+<A HREF="pkg_android.net.http.html" class="hiddenlink" target="rightframe">android.net.http</A><br>
+<!-- Package android.opengl -->
+<A HREF="pkg_android.opengl.html" class="hiddenlink" target="rightframe">android.opengl</A><br>
+<!-- Package android.os -->
+<A HREF="pkg_android.os.html" class="hiddenlink" target="rightframe">android.os</A><br>
+<!-- Package android.provider -->
+<A HREF="pkg_android.provider.html" class="hiddenlink" target="rightframe">android.provider</A><br>
+<!-- Package android.speech -->
+<A HREF="pkg_android.speech.html" class="hiddenlink" target="rightframe">android.speech</A><br>
+<!-- Package android.speech.tts -->
+<A HREF="pkg_android.speech.tts.html" class="hiddenlink" target="rightframe">android.speech.tts</A><br>
+<!-- Package android.telephony -->
+<A HREF="pkg_android.telephony.html" class="hiddenlink" target="rightframe">android.telephony</A><br>
+<!-- Package android.test -->
+<A HREF="pkg_android.test.html" class="hiddenlink" target="rightframe">android.test</A><br>
+<!-- Package android.test.mock -->
+<A HREF="pkg_android.test.mock.html" class="hiddenlink" target="rightframe">android.test.mock</A><br>
+<!-- Package android.text -->
+<A HREF="pkg_android.text.html" class="hiddenlink" target="rightframe">android.text</A><br>
+<!-- Package android.text.style -->
+<A HREF="pkg_android.text.style.html" class="hiddenlink" target="rightframe">android.text.style</A><br>
+<!-- Package android.text.util -->
+<A HREF="pkg_android.text.util.html" class="hiddenlink" target="rightframe">android.text.util</A><br>
+<!-- Package android.util -->
+<A HREF="pkg_android.util.html" class="hiddenlink" target="rightframe">android.util</A><br>
+<!-- Package android.view -->
+<A HREF="pkg_android.view.html" class="hiddenlink" target="rightframe">android.view</A><br>
+<!-- Package android.view.animation -->
+<A HREF="pkg_android.view.animation.html" class="hiddenlink" target="rightframe">android.view.animation</A><br>
+<!-- Package android.webkit -->
+<A HREF="pkg_android.webkit.html" class="hiddenlink" target="rightframe">android.webkit</A><br>
+<!-- Package android.widget -->
+<A HREF="pkg_android.widget.html" class="hiddenlink" target="rightframe">android.widget</A><br>
+<!-- Class AndroidCharacter -->
+<A HREF="android.text.AndroidCharacter.html" class="hiddenlink" target="rightframe">AndroidCharacter</A><br>
+<!-- Class AndroidHttpClient -->
+<A HREF="pkg_android.net.http.html#AndroidHttpClient" class="hiddenlink" target="rightframe"><b>AndroidHttpClient</b></A><br>
+<!-- Class Animation -->
+<A HREF="android.view.animation.Animation.html" class="hiddenlink" target="rightframe">Animation</A><br>
+<!-- Method appendReplacement -->
+<nobr><A HREF="java.util.regex.Matcher.html#java.util.regex.Matcher.appendReplacement_changed(java.lang.StringBuffer, java.lang.String)" class="hiddenlink" target="rightframe">appendReplacement
+(<code>StringBuffer, String</code>)</A></nobr><br>
+<!-- Class ApplicationInfo -->
+<A HREF="android.content.pm.ApplicationInfo.html" class="hiddenlink" target="rightframe">ApplicationInfo</A><br>
+<!-- Method areDefaultsEnforced -->
+<nobr><A HREF="android.speech.tts.TextToSpeech.html#android.speech.tts.TextToSpeech.areDefaultsEnforced_added()" class="hiddenlink" target="rightframe"><b>areDefaultsEnforced</b>
+()</A></nobr><br>
+<!-- Class ArrayList -->
+<A HREF="java.util.ArrayList.html" class="hiddenlink" target="rightframe">ArrayList</A><br>
+<!-- Class Attr -->
+<A HREF="org.w3c.dom.Attr.html" class="hiddenlink" target="rightframe"><i>Attr</i></A><br>
+<!-- Field AUDIOFOCUS_GAIN -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.AUDIOFOCUS_GAIN" class="hiddenlink" target="rightframe">AUDIOFOCUS_GAIN</A>
+</nobr><br>
+<!-- Field AUDIOFOCUS_GAIN_TRANSIENT -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.AUDIOFOCUS_GAIN_TRANSIENT" class="hiddenlink" target="rightframe">AUDIOFOCUS_GAIN_TRANSIENT</A>
+</nobr><br>
+<!-- Field AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK" class="hiddenlink" target="rightframe">AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK</A>
+</nobr><br>
+<!-- Field AUDIOFOCUS_LOSS -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.AUDIOFOCUS_LOSS" class="hiddenlink" target="rightframe">AUDIOFOCUS_LOSS</A>
+</nobr><br>
+<!-- Field AUDIOFOCUS_LOSS_TRANSIENT -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.AUDIOFOCUS_LOSS_TRANSIENT" class="hiddenlink" target="rightframe">AUDIOFOCUS_LOSS_TRANSIENT</A>
+</nobr><br>
+<!-- Field AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK" class="hiddenlink" target="rightframe">AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK</A>
+</nobr><br>
+<!-- Field AUDIOFOCUS_REQUEST_FAILED -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.AUDIOFOCUS_REQUEST_FAILED" class="hiddenlink" target="rightframe">AUDIOFOCUS_REQUEST_FAILED</A>
+</nobr><br>
+<!-- Field AUDIOFOCUS_REQUEST_GRANTED -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.AUDIOFOCUS_REQUEST_GRANTED" class="hiddenlink" target="rightframe">AUDIOFOCUS_REQUEST_GRANTED</A>
+</nobr><br>
+<!-- Class AudioManager -->
+<A HREF="android.media.AudioManager.html" class="hiddenlink" target="rightframe">AudioManager</A><br>
+<!-- Class AudioManager.OnAudioFocusChangeListener -->
+<A HREF="pkg_android.media.html#AudioManager.OnAudioFocusChangeListener" class="hiddenlink" target="rightframe"><b><i>AudioManager.OnAudioFocusChangeListener</i></b></A><br>
+<!-- Method autoPause -->
+<nobr><A HREF="android.media.SoundPool.html#android.media.SoundPool.autoPause_added()" class="hiddenlink" target="rightframe"><b>autoPause</b>
+()</A></nobr><br>
+<!-- Method autoResume -->
+<nobr><A HREF="android.media.SoundPool.html#android.media.SoundPool.autoResume_added()" class="hiddenlink" target="rightframe"><b>autoResume</b>
+()</A></nobr><br>
+<!-- Field AVAILABLE -->
+<i>AVAILABLE</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.AVAILABLE" class="hiddenlink" target="rightframe">android.provider.Contacts.PresenceColumns</A>
+</nobr><br>
+<!-- Field AVAILABLE -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusColumns.html#android.provider.ContactsContract.StatusColumns.AVAILABLE" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusColumns</A>
+</nobr><br>
+<!-- Field AWAY -->
+<i>AWAY</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.AWAY" class="hiddenlink" target="rightframe">android.provider.Contacts.PresenceColumns</A>
+</nobr><br>
+<!-- Field AWAY -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusColumns.html#android.provider.ContactsContract.StatusColumns.AWAY" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusColumns</A>
+</nobr><br>
+<!-- Field backupAgentName -->
+<A NAME="B"></A>
+<br><font size="+2">B</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#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="#X"><font size="-2">X</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.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.backupAgentName" class="hiddenlink" target="rightframe">backupAgentName</A>
+</nobr><br>
+<!-- Class Base64 -->
+<A HREF="pkg_android.util.html#Base64" class="hiddenlink" target="rightframe"><b>Base64</b></A><br>
+<!-- Class Base64InputStream -->
+<A HREF="pkg_android.util.html#Base64InputStream" class="hiddenlink" target="rightframe"><b>Base64InputStream</b></A><br>
+<!-- Class Base64OutputStream -->
+<A HREF="pkg_android.util.html#Base64OutputStream" class="hiddenlink" target="rightframe"><b>Base64OutputStream</b></A><br>
+<!-- Class BaseExpandableListAdapter -->
+<A HREF="android.widget.BaseExpandableListAdapter.html" class="hiddenlink" target="rightframe">BaseExpandableListAdapter</A><br>
+<!-- Field BIND_DEVICE_ADMIN -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_DEVICE_ADMIN" class="hiddenlink" target="rightframe">BIND_DEVICE_ADMIN</A>
+</nobr><br>
+<!-- Field BIND_NOT_FOREGROUND -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.BIND_NOT_FOREGROUND" class="hiddenlink" target="rightframe">BIND_NOT_FOREGROUND</A>
+</nobr><br>
+<!-- Field BIND_WALLPAPER -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_WALLPAPER" class="hiddenlink" target="rightframe">BIND_WALLPAPER</A>
+</nobr><br>
+<!-- Field BOOKMARK -->
+<nobr><A HREF="android.provider.MediaStore.Audio.AudioColumns.html#android.provider.MediaStore.Audio.AudioColumns.BOOKMARK" class="hiddenlink" target="rightframe">BOOKMARK</A>
+</nobr><br>
+<!-- Field BOOTLOADER -->
+<nobr><A HREF="android.os.Build.html#android.os.Build.BOOTLOADER" class="hiddenlink" target="rightframe">BOOTLOADER</A>
+</nobr><br>
+<!-- Field BRIGHTNESS_OVERRIDE_FULL -->
+<nobr><A HREF="android.view.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_FULL" class="hiddenlink" target="rightframe">BRIGHTNESS_OVERRIDE_FULL</A>
+</nobr><br>
+<!-- Field BRIGHTNESS_OVERRIDE_NONE -->
+<nobr><A HREF="android.view.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE" class="hiddenlink" target="rightframe">BRIGHTNESS_OVERRIDE_NONE</A>
+</nobr><br>
+<!-- Field BRIGHTNESS_OVERRIDE_OFF -->
+<nobr><A HREF="android.view.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_OFF" class="hiddenlink" target="rightframe">BRIGHTNESS_OVERRIDE_OFF</A>
+</nobr><br>
+<!-- Class Browser -->
+<A HREF="android.provider.Browser.html" class="hiddenlink" target="rightframe">Browser</A><br>
+<!-- Class Build -->
+<A HREF="android.os.Build.html" class="hiddenlink" target="rightframe">Build</A><br>
+<!-- Class Build.VERSION_CODES -->
+<A HREF="android.os.Build.VERSION_CODES.html" class="hiddenlink" target="rightframe">Build.VERSION_CODES</A><br>
+<!-- Class Bundle -->
+<A HREF="android.os.Bundle.html" class="hiddenlink" target="rightframe">Bundle</A><br>
+<!-- Field buttonBrightness -->
+<nobr><A HREF="android.view.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.buttonBrightness" class="hiddenlink" target="rightframe">buttonBrightness</A>
+</nobr><br>
+<!-- Class CacheManager -->
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</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="#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="#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="#X"><font size="-2">X</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="android.webkit.CacheManager.html" class="hiddenlink" target="rightframe">CacheManager</A><br>
+<!-- Class CallLog.Calls -->
+<A HREF="android.provider.CallLog.Calls.html" class="hiddenlink" target="rightframe">CallLog.Calls</A><br>
+<!-- Class CamcorderProfile -->
+<A HREF="pkg_android.media.html#CamcorderProfile" class="hiddenlink" target="rightframe"><b>CamcorderProfile</b></A><br>
+<!-- Class Camera -->
+<A HREF="android.hardware.Camera.html" class="hiddenlink" target="rightframe">Camera</A><br>
+<!-- Class Camera.OnZoomChangeListener -->
+<A HREF="pkg_android.hardware.html#Camera.OnZoomChangeListener" class="hiddenlink" target="rightframe"><b><i>Camera.OnZoomChangeListener</i></b></A><br>
+<!-- Class Camera.Parameters -->
+<A HREF="android.hardware.Camera.Parameters.html" class="hiddenlink" target="rightframe">Camera.Parameters</A><br>
+<!-- Class CameraProfile -->
+<A HREF="pkg_android.media.html#CameraProfile" class="hiddenlink" target="rightframe"><b>CameraProfile</b></A><br>
+<!-- Method cancel -->
+<nobr><A HREF="android.view.animation.Animation.html#android.view.animation.Animation.cancel_added()" class="hiddenlink" target="rightframe"><b>cancel</b>
+()</A></nobr><br>
+<!-- Method cancelThumbnailRequest -->
+<i>cancelThumbnailRequest</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.MediaStore.Images.Thumbnails.html#android.provider.MediaStore.Images.Thumbnails.cancelThumbnailRequest_added(android.content.ContentResolver, long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>ContentResolver, long, long</code>)</b>&nbsp;in&nbsp;android.provider.MediaStore.Images.Thumbnails
+</A></nobr><br>
+<!-- Method cancelThumbnailRequest -->
+&nbsp;&nbsp;<nobr><A HREF="android.provider.MediaStore.Video.Thumbnails.html#android.provider.MediaStore.Video.Thumbnails.cancelThumbnailRequest_added(android.content.ContentResolver, long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>ContentResolver, long, long</code>)</b>&nbsp;in&nbsp;android.provider.MediaStore.Video.Thumbnails
+</A></nobr><br>
+<!-- Method canonicalToCurrentPackageNames -->
+<i>canonicalToCurrentPackageNames</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.canonicalToCurrentPackageNames_added(java.lang.String[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String[]</code>)</b>&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+<!-- Method canonicalToCurrentPackageNames -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.canonicalToCurrentPackageNames_added(java.lang.String[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String[]</code>)</b>&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</A></nobr><br>
+<!-- Field CATEGORY_CAR_MODE -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.CATEGORY_CAR_MODE" class="hiddenlink" target="rightframe">CATEGORY_CAR_MODE</A>
+</nobr><br>
+<!-- Class Charset -->
+<A HREF="java.nio.charset.Charset.html" class="hiddenlink" target="rightframe">Charset</A><br>
+<!-- Method clone -->
+<i>clone</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ComponentName.html#android.content.ComponentName.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.content.ComponentName
+</A></nobr><br>
+<!-- Method clone -->
+&nbsp;&nbsp;<nobr><A HREF="android.gesture.Gesture.html#android.gesture.Gesture.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.gesture.Gesture
+</A></nobr><br>
+<!-- Method clone -->
+&nbsp;&nbsp;<nobr><A HREF="android.gesture.GesturePoint.html#android.gesture.GesturePoint.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.gesture.GesturePoint
+</A></nobr><br>
+<!-- Method clone -->
+&nbsp;&nbsp;<nobr><A HREF="android.gesture.GestureStroke.html#android.gesture.GestureStroke.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.gesture.GestureStroke
+</A></nobr><br>
+<!-- Method compareDocumentPosition -->
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.compareDocumentPosition_added(org.w3c.dom.Node)" class="hiddenlink" target="rightframe"><b>compareDocumentPosition</b>
+(<code>Node</code>)</A></nobr><br>
+<!-- Method compile -->
+<i>compile</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.database.sqlite.SQLiteProgram.html#android.database.sqlite.SQLiteProgram.compile_changed(java.lang.String, boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, boolean</code>)&nbsp;in&nbsp;android.database.sqlite.SQLiteProgram
+</A></nobr><br>
+<!-- Method compile -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.regex.Pattern.html#java.util.regex.Pattern.compile_changed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String</code>)&nbsp;in&nbsp;java.util.regex.Pattern
+</A></nobr><br>
+<!-- Class ComponentInfo -->
+<A HREF="android.content.pm.ComponentInfo.html" class="hiddenlink" target="rightframe">ComponentInfo</A><br>
+<!-- Class ComponentName -->
+<A HREF="android.content.ComponentName.html" class="hiddenlink" target="rightframe">ComponentName</A><br>
+<!-- Field CONFIG_UI_MODE -->
+<nobr><A HREF="android.content.pm.ActivityInfo.html#android.content.pm.ActivityInfo.CONFIG_UI_MODE" class="hiddenlink" target="rightframe">CONFIG_UI_MODE</A>
+</nobr><br>
+<!-- Class Configuration -->
+<A HREF="android.content.res.Configuration.html" class="hiddenlink" target="rightframe">Configuration</A><br>
+<!-- Field CONFLICT_ABORT -->
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.CONFLICT_ABORT" class="hiddenlink" target="rightframe">CONFLICT_ABORT</A>
+</nobr><br>
+<!-- Field CONFLICT_FAIL -->
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.CONFLICT_FAIL" class="hiddenlink" target="rightframe">CONFLICT_FAIL</A>
+</nobr><br>
+<!-- Field CONFLICT_IGNORE -->
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.CONFLICT_IGNORE" class="hiddenlink" target="rightframe">CONFLICT_IGNORE</A>
+</nobr><br>
+<!-- Field CONFLICT_NONE -->
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.CONFLICT_NONE" class="hiddenlink" target="rightframe">CONFLICT_NONE</A>
+</nobr><br>
+<!-- Field CONFLICT_REPLACE -->
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.CONFLICT_REPLACE" class="hiddenlink" target="rightframe">CONFLICT_REPLACE</A>
+</nobr><br>
+<!-- Field CONFLICT_ROLLBACK -->
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.CONFLICT_ROLLBACK" class="hiddenlink" target="rightframe">CONFLICT_ROLLBACK</A>
+</nobr><br>
+<!-- Class ConnectivityManager -->
+<A HREF="android.net.ConnectivityManager.html" class="hiddenlink" target="rightframe">ConnectivityManager</A><br>
+<!-- Class ConsoleMessage -->
+<A HREF="pkg_android.webkit.html#ConsoleMessage" class="hiddenlink" target="rightframe"><b>ConsoleMessage</b></A><br>
+<!-- Class ConsoleMessage.MessageLevel -->
+<A HREF="pkg_android.webkit.html#ConsoleMessage.MessageLevel" class="hiddenlink" target="rightframe"><b>ConsoleMessage.MessageLevel</b></A><br>
+<!-- Class Contacts.PresenceColumns -->
+<A HREF="android.provider.Contacts.PresenceColumns.html" class="hiddenlink" target="rightframe"><i>Contacts.PresenceColumns</i></A><br>
+<!-- Class ContactsContract.Groups -->
+<A HREF="android.provider.ContactsContract.Groups.html" class="hiddenlink" target="rightframe">ContactsContract.Groups</A><br>
+<!-- Class ContactsContract.RawContacts -->
+<A HREF="android.provider.ContactsContract.RawContacts.html" class="hiddenlink" target="rightframe">ContactsContract.RawContacts</A><br>
+<!-- Class ContactsContract.StatusColumns -->
+<A HREF="android.provider.ContactsContract.StatusColumns.html" class="hiddenlink" target="rightframe"><i>ContactsContract.StatusColumns</i></A><br>
+<!-- Class ContentResolver -->
+<A HREF="android.content.ContentResolver.html" class="hiddenlink" target="rightframe">ContentResolver</A><br>
+<!-- Class Context -->
+<A HREF="android.content.Context.html" class="hiddenlink" target="rightframe">Context</A><br>
+<!-- Class ContextWrapper -->
+<A HREF="android.content.ContextWrapper.html" class="hiddenlink" target="rightframe">ContextWrapper</A><br>
+<!-- Field CPU_ABI2 -->
+<nobr><A HREF="android.os.Build.html#android.os.Build.CPU_ABI2" class="hiddenlink" target="rightframe">CPU_ABI2</A>
+</nobr><br>
+<!-- Method currentToCanonicalPackageNames -->
+<i>currentToCanonicalPackageNames</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.currentToCanonicalPackageNames_added(java.lang.String[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String[]</code>)</b>&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+<!-- Method currentToCanonicalPackageNames -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.currentToCanonicalPackageNames_added(java.lang.String[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String[]</code>)</b>&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</A></nobr><br>
+<!-- Field CURSOR_EXTRA_KEY_IN_PROGRESS -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.CURSOR_EXTRA_KEY_IN_PROGRESS" class="hiddenlink" target="rightframe">CURSOR_EXTRA_KEY_IN_PROGRESS</A>
+</nobr><br>
+<!-- Method cursorDoubleToContentValuesIfPresent -->
+<nobr><A HREF="android.database.DatabaseUtils.html#android.database.DatabaseUtils.cursorDoubleToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)" class="hiddenlink" target="rightframe"><b>cursorDoubleToContentValuesIfPresent</b>
+(<code>Cursor, ContentValues, String</code>)</A></nobr><br>
+<!-- Method cursorFloatToContentValuesIfPresent -->
+<nobr><A HREF="android.database.DatabaseUtils.html#android.database.DatabaseUtils.cursorFloatToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)" class="hiddenlink" target="rightframe"><b>cursorFloatToContentValuesIfPresent</b>
+(<code>Cursor, ContentValues, String</code>)</A></nobr><br>
+<!-- Method cursorIntToContentValuesIfPresent -->
+<nobr><A HREF="android.database.DatabaseUtils.html#android.database.DatabaseUtils.cursorIntToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)" class="hiddenlink" target="rightframe"><b>cursorIntToContentValuesIfPresent</b>
+(<code>Cursor, ContentValues, String</code>)</A></nobr><br>
+<!-- Method cursorLongToContentValuesIfPresent -->
+<nobr><A HREF="android.database.DatabaseUtils.html#android.database.DatabaseUtils.cursorLongToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)" class="hiddenlink" target="rightframe"><b>cursorLongToContentValuesIfPresent</b>
+(<code>Cursor, ContentValues, String</code>)</A></nobr><br>
+<!-- Method cursorShortToContentValuesIfPresent -->
+<nobr><A HREF="android.database.DatabaseUtils.html#android.database.DatabaseUtils.cursorShortToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)" class="hiddenlink" target="rightframe"><b>cursorShortToContentValuesIfPresent</b>
+(<code>Cursor, ContentValues, String</code>)</A></nobr><br>
+<!-- Method cursorStringToContentValuesIfPresent -->
+<nobr><A HREF="android.database.DatabaseUtils.html#android.database.DatabaseUtils.cursorStringToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)" class="hiddenlink" target="rightframe"><b>cursorStringToContentValuesIfPresent</b>
+(<code>Cursor, ContentValues, String</code>)</A></nobr><br>
+<!-- Field custom -->
+<nobr><A HREF="android.R.id.html#android.R.id.custom" class="hiddenlink" target="rightframe">custom</A>
+</nobr><br>
+<!-- Field cycle_interpolator -->
+<nobr><A HREF="android.R.anim.html#android.R.anim.cycle_interpolator" class="hiddenlink" target="rightframe">cycle_interpolator</A>
+</nobr><br>
+<!-- Package dalvik.bytecode -->
+<A NAME="D"></A>
+<A HREF="pkg_dalvik.bytecode.html" class="hiddenlink" target="rightframe">dalvik.bytecode</A><br>
+<!-- Package dalvik.system -->
+<A HREF="pkg_dalvik.system.html" class="hiddenlink" target="rightframe">dalvik.system</A><br>
+<!-- Class DatabaseUtils -->
+<A HREF="android.database.DatabaseUtils.html" class="hiddenlink" target="rightframe">DatabaseUtils</A><br>
+<!-- Class DatagramSocketImpl -->
+<A HREF="java.net.DatagramSocketImpl.html" class="hiddenlink" target="rightframe">DatagramSocketImpl</A><br>
+<!-- Class Debug -->
+<A HREF="android.os.Debug.html" class="hiddenlink" target="rightframe">Debug</A><br>
+<!-- Field DEBUG_ENABLE_SAFEMODE -->
+<nobr><A HREF="dalvik.system.Zygote.html#dalvik.system.Zygote.DEBUG_ENABLE_SAFEMODE" class="hiddenlink" target="rightframe">DEBUG_ENABLE_SAFEMODE</A>
+</nobr><br>
+<!-- Field DEFAULT_METHOD_TRACE_FILE_NAME -->
+<nobr><A HREF="dalvik.system.VMDebug.html#dalvik.system.VMDebug.DEFAULT_METHOD_TRACE_FILE_NAME" class="hiddenlink" target="rightframe">DEFAULT_METHOD_TRACE_FILE_NAME</A>
+</nobr><br>
+<!-- Field delayUntil -->
+<nobr><A HREF="android.content.SyncResult.html#android.content.SyncResult.delayUntil" class="hiddenlink" target="rightframe">delayUntil</A>
+</nobr><br>
+<!-- Field descriptionRes -->
+<nobr><A HREF="android.content.pm.ComponentInfo.html#android.content.pm.ComponentInfo.descriptionRes" class="hiddenlink" target="rightframe">descriptionRes</A>
+</nobr><br>
+<!-- Field DETAILS_META_DATA -->
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.DETAILS_META_DATA" class="hiddenlink" target="rightframe">DETAILS_META_DATA</A>
+</nobr><br>
+<!-- Field DEVICE_POLICY_SERVICE -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.DEVICE_POLICY_SERVICE" class="hiddenlink" target="rightframe">DEVICE_POLICY_SERVICE</A>
+</nobr><br>
+<!-- Class Dialog -->
+<A HREF="android.app.Dialog.html" class="hiddenlink" target="rightframe">Dialog</A><br>
+<!-- Class DialogInterface.OnShowListener -->
+<A HREF="pkg_android.content.html#DialogInterface.OnShowListener" class="hiddenlink" target="rightframe"><b><i>DialogInterface.OnShowListener</i></b></A><br>
+<!-- Field DIRECTORY_ALARMS -->
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_ALARMS" class="hiddenlink" target="rightframe">DIRECTORY_ALARMS</A>
+</nobr><br>
+<!-- Field DIRECTORY_DCIM -->
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_DCIM" class="hiddenlink" target="rightframe">DIRECTORY_DCIM</A>
+</nobr><br>
+<!-- Field DIRECTORY_DOWNLOADS -->
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_DOWNLOADS" class="hiddenlink" target="rightframe">DIRECTORY_DOWNLOADS</A>
+</nobr><br>
+<!-- Field DIRECTORY_MOVIES -->
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_MOVIES" class="hiddenlink" target="rightframe">DIRECTORY_MOVIES</A>
+</nobr><br>
+<!-- Field DIRECTORY_MUSIC -->
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_MUSIC" class="hiddenlink" target="rightframe">DIRECTORY_MUSIC</A>
+</nobr><br>
+<!-- Field DIRECTORY_NOTIFICATIONS -->
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_NOTIFICATIONS" class="hiddenlink" target="rightframe">DIRECTORY_NOTIFICATIONS</A>
+</nobr><br>
+<!-- Field DIRECTORY_PICTURES -->
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_PICTURES" class="hiddenlink" target="rightframe">DIRECTORY_PICTURES</A>
+</nobr><br>
+<!-- Field DIRECTORY_PODCASTS -->
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_PODCASTS" class="hiddenlink" target="rightframe">DIRECTORY_PODCASTS</A>
+</nobr><br>
+<!-- Field DIRECTORY_RINGTONES -->
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_RINGTONES" class="hiddenlink" target="rightframe">DIRECTORY_RINGTONES</A>
+</nobr><br>
+<!-- Method dispatchConfigurationChanged -->
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchConfigurationChanged_added(android.content.res.Configuration)" class="hiddenlink" target="rightframe"><b>dispatchConfigurationChanged</b>
+(<code>Configuration</code>)</A></nobr><br>
+<!-- Method dispatchDisplayHint -->
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchDisplayHint_added(int)" class="hiddenlink" target="rightframe"><b>dispatchDisplayHint</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method dispatchVisibilityChanged -->
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchVisibilityChanged_added(android.view.View, int)" class="hiddenlink" target="rightframe"><b>dispatchVisibilityChanged</b>
+(<code>View, int</code>)</A></nobr><br>
+<!-- Class Display -->
+<A HREF="android.view.Display.html" class="hiddenlink" target="rightframe">Display</A><br>
+<!-- Field DO_NOT_DISTURB -->
+<i>DO_NOT_DISTURB</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.DO_NOT_DISTURB" class="hiddenlink" target="rightframe">android.provider.Contacts.PresenceColumns</A>
+</nobr><br>
+<!-- Field DO_NOT_DISTURB -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusColumns.html#android.provider.ContactsContract.StatusColumns.DO_NOT_DISTURB" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusColumns</A>
+</nobr><br>
+<!-- Class Document -->
+<A HREF="org.w3c.dom.Document.html" class="hiddenlink" target="rightframe"><i>Document</i></A><br>
+<!-- Field DOCUMENT_POSITION_CONTAINED_BY -->
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.DOCUMENT_POSITION_CONTAINED_BY" class="hiddenlink" target="rightframe">DOCUMENT_POSITION_CONTAINED_BY</A>
+</nobr><br>
+<!-- Field DOCUMENT_POSITION_CONTAINS -->
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.DOCUMENT_POSITION_CONTAINS" class="hiddenlink" target="rightframe">DOCUMENT_POSITION_CONTAINS</A>
+</nobr><br>
+<!-- Field DOCUMENT_POSITION_DISCONNECTED -->
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.DOCUMENT_POSITION_DISCONNECTED" class="hiddenlink" target="rightframe">DOCUMENT_POSITION_DISCONNECTED</A>
+</nobr><br>
+<!-- Field DOCUMENT_POSITION_FOLLOWING -->
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.DOCUMENT_POSITION_FOLLOWING" class="hiddenlink" target="rightframe">DOCUMENT_POSITION_FOLLOWING</A>
+</nobr><br>
+<!-- Field DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC -->
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" class="hiddenlink" target="rightframe">DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC</A>
+</nobr><br>
+<!-- Field DOCUMENT_POSITION_PRECEDING -->
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.DOCUMENT_POSITION_PRECEDING" class="hiddenlink" target="rightframe">DOCUMENT_POSITION_PRECEDING</A>
+</nobr><br>
+<!-- Class DocumentBuilder -->
+<A HREF="javax.xml.parsers.DocumentBuilder.html" class="hiddenlink" target="rightframe">DocumentBuilder</A><br>
+<!-- Class DocumentBuilderFactory -->
+<A HREF="javax.xml.parsers.DocumentBuilderFactory.html" class="hiddenlink" target="rightframe">DocumentBuilderFactory</A><br>
+<!-- Class DOMConfiguration -->
+<A HREF="pkg_org.w3c.dom.html#DOMConfiguration" class="hiddenlink" target="rightframe"><b><i>DOMConfiguration</i></b></A><br>
+<!-- Class DOMError -->
+<A HREF="pkg_org.w3c.dom.html#DOMError" class="hiddenlink" target="rightframe"><b><i>DOMError</i></b></A><br>
+<!-- Class DOMErrorHandler -->
+<A HREF="pkg_org.w3c.dom.html#DOMErrorHandler" class="hiddenlink" target="rightframe"><b><i>DOMErrorHandler</i></b></A><br>
+<!-- Class DOMException -->
+<A HREF="org.w3c.dom.DOMException.html" class="hiddenlink" target="rightframe">DOMException</A><br>
+<!-- Class DOMImplementation -->
+<A HREF="org.w3c.dom.DOMImplementation.html" class="hiddenlink" target="rightframe"><i>DOMImplementation</i></A><br>
+<!-- Class DOMImplementationList -->
+<A HREF="pkg_org.w3c.dom.html#DOMImplementationList" class="hiddenlink" target="rightframe"><b><i>DOMImplementationList</i></b></A><br>
+<!-- Class DOMImplementationSource -->
+<A HREF="pkg_org.w3c.dom.html#DOMImplementationSource" class="hiddenlink" target="rightframe"><b><i>DOMImplementationSource</i></b></A><br>
+<!-- Class DOMLocator -->
+<A HREF="pkg_org.w3c.dom.html#DOMLocator" class="hiddenlink" target="rightframe"><b><i>DOMLocator</i></b></A><br>
+<!-- Class DOMStringList -->
+<A HREF="pkg_org.w3c.dom.html#DOMStringList" class="hiddenlink" target="rightframe"><b><i>DOMStringList</i></b></A><br>
+<!-- Field DROPBOX_SERVICE -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.DROPBOX_SERVICE" class="hiddenlink" target="rightframe">DROPBOX_SERVICE</A>
+</nobr><br>
+<!-- Class DropBoxManager -->
+<A HREF="pkg_android.os.html#DropBoxManager" class="hiddenlink" target="rightframe"><b>DropBoxManager</b></A><br>
+<!-- Class DropBoxManager.Entry -->
+<A HREF="pkg_android.os.html#DropBoxManager.Entry" class="hiddenlink" target="rightframe"><b>DropBoxManager.Entry</b></A><br>
+<!-- Method dumpService -->
+<nobr><A HREF="android.os.Debug.html#android.os.Debug.dumpService_added(java.lang.String, java.io.FileDescriptor, java.lang.String[])" class="hiddenlink" target="rightframe"><b>dumpService</b>
+(<code>String, FileDescriptor, String[]</code>)</A></nobr><br>
+<!-- Field EAST_ASIAN_WIDTH_AMBIGUOUS -->
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<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="#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="#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="#X"><font size="-2">X</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.text.AndroidCharacter.html#android.text.AndroidCharacter.EAST_ASIAN_WIDTH_AMBIGUOUS" class="hiddenlink" target="rightframe">EAST_ASIAN_WIDTH_AMBIGUOUS</A>
+</nobr><br>
+<!-- Field EAST_ASIAN_WIDTH_FULL_WIDTH -->
+<nobr><A HREF="android.text.AndroidCharacter.html#android.text.AndroidCharacter.EAST_ASIAN_WIDTH_FULL_WIDTH" class="hiddenlink" target="rightframe">EAST_ASIAN_WIDTH_FULL_WIDTH</A>
+</nobr><br>
+<!-- Field EAST_ASIAN_WIDTH_HALF_WIDTH -->
+<nobr><A HREF="android.text.AndroidCharacter.html#android.text.AndroidCharacter.EAST_ASIAN_WIDTH_HALF_WIDTH" class="hiddenlink" target="rightframe">EAST_ASIAN_WIDTH_HALF_WIDTH</A>
+</nobr><br>
+<!-- Field EAST_ASIAN_WIDTH_NARROW -->
+<nobr><A HREF="android.text.AndroidCharacter.html#android.text.AndroidCharacter.EAST_ASIAN_WIDTH_NARROW" class="hiddenlink" target="rightframe">EAST_ASIAN_WIDTH_NARROW</A>
+</nobr><br>
+<!-- Field EAST_ASIAN_WIDTH_NEUTRAL -->
+<nobr><A HREF="android.text.AndroidCharacter.html#android.text.AndroidCharacter.EAST_ASIAN_WIDTH_NEUTRAL" class="hiddenlink" target="rightframe">EAST_ASIAN_WIDTH_NEUTRAL</A>
+</nobr><br>
+<!-- Field EAST_ASIAN_WIDTH_WIDE -->
+<nobr><A HREF="android.text.AndroidCharacter.html#android.text.AndroidCharacter.EAST_ASIAN_WIDTH_WIDE" class="hiddenlink" target="rightframe">EAST_ASIAN_WIDTH_WIDE</A>
+</nobr><br>
+<!-- Class Element -->
+<A HREF="org.w3c.dom.Element.html" class="hiddenlink" target="rightframe"><i>Element</i></A><br>
+<!-- Method emulateShiftHeld -->
+<nobr><A HREF="android.webkit.WebView.html#android.webkit.WebView.emulateShiftHeld_added()" class="hiddenlink" target="rightframe"><b>emulateShiftHeld</b>
+()</A></nobr><br>
+<!-- Method endCacheTransaction -->
+<nobr><A HREF="android.webkit.CacheManager.html#android.webkit.CacheManager.endCacheTransaction_changed()" class="hiddenlink" target="rightframe">endCacheTransaction
+()</A></nobr><br>
+<!-- Class Entity -->
+<i>Entity</i><br>
+&nbsp;&nbsp;<A HREF="pkg_android.content.html#Entity" class="hiddenlink" target="rightframe"><b>android.content</b></A><br>
+<!-- Class Entity -->
+&nbsp;&nbsp;<A HREF="org.w3c.dom.Entity.html" class="hiddenlink" target="rightframe"><i>org.w3c.dom</i></A><br>
+<!-- Class Entity.NamedContentValues -->
+<A HREF="pkg_android.content.html#Entity.NamedContentValues" class="hiddenlink" target="rightframe"><b>Entity.NamedContentValues</b></A><br>
+<!-- Class EntityIterator -->
+<A HREF="pkg_android.content.html#EntityIterator" class="hiddenlink" target="rightframe"><b><i>EntityIterator</i></b></A><br>
+<!-- Class Environment -->
+<A HREF="android.os.Environment.html" class="hiddenlink" target="rightframe">Environment</A><br>
+<!-- Class ETC1 -->
+<A HREF="pkg_android.opengl.html#ETC1" class="hiddenlink" target="rightframe"><b>ETC1</b></A><br>
+<!-- Class ETC1Util -->
+<A HREF="pkg_android.opengl.html#ETC1Util" class="hiddenlink" target="rightframe"><b>ETC1Util</b></A><br>
+<!-- Class ETC1Util.ETC1Texture -->
+<A HREF="pkg_android.opengl.html#ETC1Util.ETC1Texture" class="hiddenlink" target="rightframe"><b>ETC1Util.ETC1Texture</b></A><br>
+<!-- Class EventLog -->
+<A HREF="pkg_android.util.html#EventLog" class="hiddenlink" target="rightframe"><b>EventLog</b></A><br>
+<!-- Class EventLog.Event -->
+<A HREF="pkg_android.util.html#EventLog.Event" class="hiddenlink" target="rightframe"><b>EventLog.Event</b></A><br>
+<!-- Class EventLogTags -->
+<A HREF="android.util.EventLogTags.html" class="hiddenlink" target="rightframe">EventLogTags</A><br>
+<!-- Class ExifInterface -->
+<A HREF="android.media.ExifInterface.html" class="hiddenlink" target="rightframe">ExifInterface</A><br>
+<!-- Field expandableListViewWhiteStyle -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.expandableListViewWhiteStyle" class="hiddenlink" target="rightframe">expandableListViewWhiteStyle</A>
+</nobr><br>
+<!-- Field EXTRA_AUTHORITIES -->
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.EXTRA_AUTHORITIES" class="hiddenlink" target="rightframe">EXTRA_AUTHORITIES</A>
+</nobr><br>
+<!-- Field EXTRA_AVAILABLE_VOICES -->
+<nobr><A HREF="android.speech.tts.TextToSpeech.Engine.html#android.speech.tts.TextToSpeech.Engine.EXTRA_AVAILABLE_VOICES" class="hiddenlink" target="rightframe">EXTRA_AVAILABLE_VOICES</A>
+</nobr><br>
+<!-- Field EXTRA_CALLING_PACKAGE -->
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_CALLING_PACKAGE" class="hiddenlink" target="rightframe">EXTRA_CALLING_PACKAGE</A>
+</nobr><br>
+<!-- Field EXTRA_CHANGED_PACKAGE_LIST -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_CHANGED_PACKAGE_LIST" class="hiddenlink" target="rightframe">EXTRA_CHANGED_PACKAGE_LIST</A>
+</nobr><br>
+<!-- Field EXTRA_CHANGED_UID_LIST -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_CHANGED_UID_LIST" class="hiddenlink" target="rightframe">EXTRA_CHANGED_UID_LIST</A>
+</nobr><br>
+<!-- Field EXTRA_CHECK_VOICE_DATA_FOR -->
+<nobr><A HREF="android.speech.tts.TextToSpeech.Engine.html#android.speech.tts.TextToSpeech.Engine.EXTRA_CHECK_VOICE_DATA_FOR" class="hiddenlink" target="rightframe">EXTRA_CHECK_VOICE_DATA_FOR</A>
+</nobr><br>
+<!-- Field EXTRA_DURATION_LIMIT -->
+<nobr><A HREF="android.provider.MediaStore.html#android.provider.MediaStore.EXTRA_DURATION_LIMIT" class="hiddenlink" target="rightframe">EXTRA_DURATION_LIMIT</A>
+</nobr><br>
+<!-- Field EXTRA_FULL_SCREEN -->
+<nobr><A HREF="android.provider.MediaStore.html#android.provider.MediaStore.EXTRA_FULL_SCREEN" class="hiddenlink" target="rightframe">EXTRA_FULL_SCREEN</A>
+</nobr><br>
+<!-- Field EXTRA_HEADERS -->
+<nobr><A HREF="android.provider.Browser.html#android.provider.Browser.EXTRA_HEADERS" class="hiddenlink" target="rightframe">EXTRA_HEADERS</A>
+</nobr><br>
+<!-- Field EXTRA_LANGUAGE_PREFERENCE -->
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE" class="hiddenlink" target="rightframe">EXTRA_LANGUAGE_PREFERENCE</A>
+</nobr><br>
+<!-- Field EXTRA_ONLY_RETURN_LANGUAGE_PREFERENCE -->
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_ONLY_RETURN_LANGUAGE_PREFERENCE" class="hiddenlink" target="rightframe">EXTRA_ONLY_RETURN_LANGUAGE_PREFERENCE</A>
+</nobr><br>
+<!-- Field EXTRA_PARTIAL_RESULTS -->
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_PARTIAL_RESULTS" class="hiddenlink" target="rightframe">EXTRA_PARTIAL_RESULTS</A>
+</nobr><br>
+<!-- Field EXTRA_SCO_AUDIO_STATE -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.EXTRA_SCO_AUDIO_STATE" class="hiddenlink" target="rightframe">EXTRA_SCO_AUDIO_STATE</A>
+</nobr><br>
+<!-- Field EXTRA_SELECT_QUERY -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.EXTRA_SELECT_QUERY" class="hiddenlink" target="rightframe">EXTRA_SELECT_QUERY</A>
+</nobr><br>
+<!-- Field EXTRA_SHOW_ACTION_ICONS -->
+<nobr><A HREF="android.provider.MediaStore.html#android.provider.MediaStore.EXTRA_SHOW_ACTION_ICONS" class="hiddenlink" target="rightframe">EXTRA_SHOW_ACTION_ICONS</A>
+</nobr><br>
+<!-- Field EXTRA_SIZE_LIMIT -->
+<nobr><A HREF="android.provider.MediaStore.html#android.provider.MediaStore.EXTRA_SIZE_LIMIT" class="hiddenlink" target="rightframe">EXTRA_SIZE_LIMIT</A>
+</nobr><br>
+<!-- Field EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS -->
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS" class="hiddenlink" target="rightframe">EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS</A>
+</nobr><br>
+<!-- Field EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS -->
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS" class="hiddenlink" target="rightframe">EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS</A>
+</nobr><br>
+<!-- Field EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS -->
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS" class="hiddenlink" target="rightframe">EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS</A>
+</nobr><br>
+<!-- Field EXTRA_SUPPORTED_LANGUAGES -->
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_SUPPORTED_LANGUAGES" class="hiddenlink" target="rightframe">EXTRA_SUPPORTED_LANGUAGES</A>
+</nobr><br>
+<!-- Field EXTRA_UNAVAILABLE_VOICES -->
+<nobr><A HREF="android.speech.tts.TextToSpeech.Engine.html#android.speech.tts.TextToSpeech.Engine.EXTRA_UNAVAILABLE_VOICES" class="hiddenlink" target="rightframe">EXTRA_UNAVAILABLE_VOICES</A>
+</nobr><br>
+<!-- Field FEATURE_BLUETOOTH -->
+<A NAME="F"></A>
+<br><font size="+2">F</font>&nbsp;
+<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="#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="#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="#X"><font size="-2">X</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.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_BLUETOOTH" class="hiddenlink" target="rightframe">FEATURE_BLUETOOTH</A>
+</nobr><br>
+<!-- Field FEATURE_LOCATION -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_LOCATION" class="hiddenlink" target="rightframe">FEATURE_LOCATION</A>
+</nobr><br>
+<!-- Field FEATURE_LOCATION_GPS -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_LOCATION_GPS" class="hiddenlink" target="rightframe">FEATURE_LOCATION_GPS</A>
+</nobr><br>
+<!-- Field FEATURE_LOCATION_NETWORK -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_LOCATION_NETWORK" class="hiddenlink" target="rightframe">FEATURE_LOCATION_NETWORK</A>
+</nobr><br>
+<!-- Field FEATURE_MICROPHONE -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_MICROPHONE" class="hiddenlink" target="rightframe">FEATURE_MICROPHONE</A>
+</nobr><br>
+<!-- Field FEATURE_SENSOR_ACCELEROMETER -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_SENSOR_ACCELEROMETER" class="hiddenlink" target="rightframe">FEATURE_SENSOR_ACCELEROMETER</A>
+</nobr><br>
+<!-- Field FEATURE_SENSOR_COMPASS -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_SENSOR_COMPASS" class="hiddenlink" target="rightframe">FEATURE_SENSOR_COMPASS</A>
+</nobr><br>
+<!-- Field FEATURE_TOUCHSCREEN -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_TOUCHSCREEN" class="hiddenlink" target="rightframe">FEATURE_TOUCHSCREEN</A>
+</nobr><br>
+<!-- Field FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT" class="hiddenlink" target="rightframe">FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT</A>
+</nobr><br>
+<!-- Field FEATURE_WIFI -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_WIFI" class="hiddenlink" target="rightframe">FEATURE_WIFI</A>
+</nobr><br>
+<!-- Field FILL_PARENT -->
+<nobr><A HREF="android.view.ViewGroup.LayoutParams.html#android.view.ViewGroup.LayoutParams.FILL_PARENT" class="hiddenlink" target="rightframe">FILL_PARENT</A>
+</nobr><br>
+<!-- Field FLAG_ALLOW_BACKUP -->
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_ALLOW_BACKUP" class="hiddenlink" target="rightframe">FLAG_ALLOW_BACKUP</A>
+</nobr><br>
+<!-- Field FLAG_ALLOW_LOCK_WHILE_SCREEN_ON -->
+<nobr><A HREF="android.view.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON" class="hiddenlink" target="rightframe">FLAG_ALLOW_LOCK_WHILE_SCREEN_ON</A>
+</nobr><br>
+<!-- Field FLAG_EXTERNAL_STORAGE -->
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_EXTERNAL_STORAGE" class="hiddenlink" target="rightframe">FLAG_EXTERNAL_STORAGE</A>
+</nobr><br>
+<!-- Field FLAG_KILL_AFTER_RESTORE -->
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_KILL_AFTER_RESTORE" class="hiddenlink" target="rightframe">FLAG_KILL_AFTER_RESTORE</A>
+</nobr><br>
+<!-- Field FLAG_RECEIVER_REPLACE_PENDING -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.FLAG_RECEIVER_REPLACE_PENDING" class="hiddenlink" target="rightframe">FLAG_RECEIVER_REPLACE_PENDING</A>
+</nobr><br>
+<!-- Field FLAG_RESTORE_ANY_VERSION -->
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_RESTORE_ANY_VERSION" class="hiddenlink" target="rightframe">FLAG_RESTORE_ANY_VERSION</A>
+</nobr><br>
+<!-- Field FLAG_VM_SAFE_MODE -->
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_VM_SAFE_MODE" class="hiddenlink" target="rightframe">FLAG_VM_SAFE_MODE</A>
+</nobr><br>
+<!-- Field FOCUS_MODE_EDOF -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.FOCUS_MODE_EDOF" class="hiddenlink" target="rightframe">FOCUS_MODE_EDOF</A>
+</nobr><br>
+<!-- Method forName -->
+<nobr><A HREF="java.nio.charset.Charset.html#java.nio.charset.Charset.forName_changed(java.lang.String)" class="hiddenlink" target="rightframe">forName
+(<code>String</code>)</A></nobr><br>
+<!-- Field FROYO -->
+<nobr><A HREF="android.os.Build.VERSION_CODES.html#android.os.Build.VERSION_CODES.FROYO" class="hiddenlink" target="rightframe">FROYO</A>
+</nobr><br>
+<!-- Class Gesture -->
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<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="#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="#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="#X"><font size="-2">X</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="android.gesture.Gesture.html" class="hiddenlink" target="rightframe">Gesture</A><br>
+<!-- Class GestureDetector -->
+<i>GestureDetector</i><br>
+&nbsp;&nbsp;<A HREF="android.view.GestureDetector.html" class="hiddenlink" target="rightframe">android.view</A><br>
+<!-- Constructor GestureDetector -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.GestureDetector.html#android.view.GestureDetector.ctor_added(android.content.Context, android.view.GestureDetector.OnGestureListener, android.os.Handler, boolean)" class="hiddenlink" target="rightframe"><b>GestureDetector</b>
+(<code>Context, OnGestureListener, Handler, boolean</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class GesturePoint -->
+<A HREF="android.gesture.GesturePoint.html" class="hiddenlink" target="rightframe">GesturePoint</A><br>
+<!-- Class GestureStroke -->
+<A HREF="android.gesture.GestureStroke.html" class="hiddenlink" target="rightframe">GestureStroke</A><br>
+<!-- Class GestureUtils -->
+<A HREF="pkg_android.gesture.html#GestureUtils" class="hiddenlink" target="rightframe"><b>GestureUtils</b></A><br>
+<!-- Method getActionIndex -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.getActionIndex_added()" class="hiddenlink" target="rightframe"><b>getActionIndex</b>
+()</A></nobr><br>
+<!-- Method getActionMasked -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.getActionMasked_added()" class="hiddenlink" target="rightframe"><b>getActionMasked</b>
+()</A></nobr><br>
+<!-- Method getAttributeDouble -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.getAttributeDouble_added(java.lang.String, double)" class="hiddenlink" target="rightframe"><b>getAttributeDouble</b>
+(<code>String, double</code>)</A></nobr><br>
+<!-- Method getAttributeNodeNS -->
+<nobr><A HREF="org.w3c.dom.Element.html#org.w3c.dom.Element.getAttributeNodeNS_changed(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">getAttributeNodeNS
+(<code>String, String</code>)</A></nobr><br>
+<!-- Method getAttributeNS -->
+<nobr><A HREF="org.w3c.dom.Element.html#org.w3c.dom.Element.getAttributeNS_changed(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">getAttributeNS
+(<code>String, String</code>)</A></nobr><br>
+<!-- Method getBaseURI -->
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.getBaseURI_added()" class="hiddenlink" target="rightframe"><b>getBaseURI</b>
+()</A></nobr><br>
+<!-- Method getBlockNetworkLoads -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getBlockNetworkLoads_added()" class="hiddenlink" target="rightframe"><b>getBlockNetworkLoads</b>
+()</A></nobr><br>
+<!-- Method getCharSequenceArray -->
+<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.getCharSequenceArray_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>getCharSequenceArray</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method getCharSequenceArrayExtra -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.getCharSequenceArrayExtra_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>getCharSequenceArrayExtra</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method getCharSequenceArrayList -->
+<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.getCharSequenceArrayList_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>getCharSequenceArrayList</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method getCharSequenceArrayListExtra -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.getCharSequenceArrayListExtra_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>getCharSequenceArrayListExtra</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method getCheckedItemIds -->
+<nobr><A HREF="android.widget.ListView.html#android.widget.ListView.getCheckedItemIds_added()" class="hiddenlink" target="rightframe"><b>getCheckedItemIds</b>
+()</A></nobr><br>
+<!-- Method getCheckItemIds -->
+<nobr><A HREF="android.widget.ListView.html#android.widget.ListView.getCheckItemIds_changed()" class="hiddenlink" target="rightframe">getCheckItemIds
+()</A></nobr><br>
+<!-- Method getChildType -->
+<nobr><A HREF="android.widget.BaseExpandableListAdapter.html#android.widget.BaseExpandableListAdapter.getChildType_added(int, int)" class="hiddenlink" target="rightframe"><b>getChildType</b>
+(<code>int, int</code>)</A></nobr><br>
+<!-- Method getChildTypeCount -->
+<nobr><A HREF="android.widget.BaseExpandableListAdapter.html#android.widget.BaseExpandableListAdapter.getChildTypeCount_added()" class="hiddenlink" target="rightframe"><b>getChildTypeCount</b>
+()</A></nobr><br>
+<!-- Method getCurrentSync -->
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.getCurrentSync_added()" class="hiddenlink" target="rightframe"><b>getCurrentSync</b>
+()</A></nobr><br>
+<!-- Method getDefault -->
+<nobr><A HREF="android.net.SSLCertificateSocketFactory.html#android.net.SSLCertificateSocketFactory.getDefault_added(int, android.net.SSLSessionCache)" class="hiddenlink" target="rightframe"><b>getDefault</b>
+(<code>int, SSLSessionCache</code>)</A></nobr><br>
+<!-- Method getDefaultEngine -->
+<nobr><A HREF="android.speech.tts.TextToSpeech.html#android.speech.tts.TextToSpeech.getDefaultEngine_added()" class="hiddenlink" target="rightframe"><b>getDefaultEngine</b>
+()</A></nobr><br>
+<!-- Method getDocumentURI -->
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.getDocumentURI_added()" class="hiddenlink" target="rightframe"><b>getDocumentURI</b>
+()</A></nobr><br>
+<!-- Method getDomConfig -->
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.getDomConfig_added()" class="hiddenlink" target="rightframe"><b>getDomConfig</b>
+()</A></nobr><br>
+<!-- Method getEastAsianWidth -->
+<nobr><A HREF="android.text.AndroidCharacter.html#android.text.AndroidCharacter.getEastAsianWidth_added(char)" class="hiddenlink" target="rightframe"><b>getEastAsianWidth</b>
+(<code>char</code>)</A></nobr><br>
+<!-- Method getEastAsianWidths -->
+<nobr><A HREF="android.text.AndroidCharacter.html#android.text.AndroidCharacter.getEastAsianWidths_added(char[], int, int, byte[])" class="hiddenlink" target="rightframe"><b>getEastAsianWidths</b>
+(<code>char[], int, int, byte[]</code>)</A></nobr><br>
+<!-- Method getElementsByTagNameNS -->
+<nobr><A HREF="org.w3c.dom.Element.html#org.w3c.dom.Element.getElementsByTagNameNS_changed(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">getElementsByTagNameNS
+(<code>String, String</code>)</A></nobr><br>
+<!-- Method getExposureCompensation -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getExposureCompensation_added()" class="hiddenlink" target="rightframe"><b>getExposureCompensation</b>
+()</A></nobr><br>
+<!-- Method getExposureCompensationStep -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getExposureCompensationStep_added()" class="hiddenlink" target="rightframe"><b>getExposureCompensationStep</b>
+()</A></nobr><br>
+<!-- Method getExternalCacheDir -->
+<i>getExternalCacheDir</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.getExternalCacheDir_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+<!-- Method getExternalCacheDir -->
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.getExternalCacheDir_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+<!-- Method getExternalCacheDir -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.getExternalCacheDir_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<!-- Method getExternalFilesDir -->
+<i>getExternalFilesDir</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.getExternalFilesDir_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+<!-- Method getExternalFilesDir -->
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.getExternalFilesDir_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+<!-- Method getExternalFilesDir -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.getExternalFilesDir_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<!-- Method getExternalStoragePublicDirectory -->
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.getExternalStoragePublicDirectory_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>getExternalStoragePublicDirectory</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method getFeature -->
+<i>getFeature</i><br>
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.DOMImplementation.html#org.w3c.dom.DOMImplementation.getFeature_added(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, String</code>)</b>&nbsp;in&nbsp;org.w3c.dom.DOMImplementation
+</A></nobr><br>
+<!-- Method getFeature -->
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.getFeature_added(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, String</code>)</b>&nbsp;in&nbsp;org.w3c.dom.Node
+</A></nobr><br>
+<!-- Method getFocalLength -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getFocalLength_added()" class="hiddenlink" target="rightframe"><b>getFocalLength</b>
+()</A></nobr><br>
+<!-- Method getGlobalClassInitCount -->
+<nobr><A HREF="android.os.Debug.html#android.os.Debug.getGlobalClassInitCount_added()" class="hiddenlink" target="rightframe"><b>getGlobalClassInitCount</b>
+()</A></nobr><br>
+<!-- Method getGlobalClassInitTime -->
+<nobr><A HREF="android.os.Debug.html#android.os.Debug.getGlobalClassInitTime_added()" class="hiddenlink" target="rightframe"><b>getGlobalClassInitTime</b>
+()</A></nobr><br>
+<!-- Method getGroupType -->
+<nobr><A HREF="android.widget.BaseExpandableListAdapter.html#android.widget.BaseExpandableListAdapter.getGroupType_added(int)" class="hiddenlink" target="rightframe"><b>getGroupType</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getGroupTypeCount -->
+<nobr><A HREF="android.widget.BaseExpandableListAdapter.html#android.widget.BaseExpandableListAdapter.getGroupTypeCount_added()" class="hiddenlink" target="rightframe"><b>getGroupTypeCount</b>
+()</A></nobr><br>
+<!-- Method getHorizontalViewAngle -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getHorizontalViewAngle_added()" class="hiddenlink" target="rightframe"><b>getHorizontalViewAngle</b>
+()</A></nobr><br>
+<!-- Method getHttpSocketFactory -->
+<nobr><A HREF="android.net.SSLCertificateSocketFactory.html#android.net.SSLCertificateSocketFactory.getHttpSocketFactory_added(int, android.net.SSLSessionCache)" class="hiddenlink" target="rightframe"><b>getHttpSocketFactory</b>
+(<code>int, SSLSessionCache</code>)</A></nobr><br>
+<!-- Method getInputEncoding -->
+<i>getInputEncoding</i><br>
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.getInputEncoding_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;org.w3c.dom.Document
+</A></nobr><br>
+<!-- Method getInputEncoding -->
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Entity.html#org.w3c.dom.Entity.getInputEncoding_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;org.w3c.dom.Entity
+</A></nobr><br>
+<!-- Method getInsecure -->
+<nobr><A HREF="android.net.SSLCertificateSocketFactory.html#android.net.SSLCertificateSocketFactory.getInsecure_added(int, android.net.SSLSessionCache)" class="hiddenlink" target="rightframe"><b>getInsecure</b>
+(<code>int, SSLSessionCache</code>)</A></nobr><br>
+<!-- Method getLastOutgoingCall -->
+<nobr><A HREF="android.provider.CallLog.Calls.html#android.provider.CallLog.Calls.getLastOutgoingCall_added(android.content.Context)" class="hiddenlink" target="rightframe"><b>getLastOutgoingCall</b>
+(<code>Context</code>)</A></nobr><br>
+<!-- Method getMaxExposureCompensation -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getMaxExposureCompensation_added()" class="hiddenlink" target="rightframe"><b>getMaxExposureCompensation</b>
+()</A></nobr><br>
+<!-- Method getMaxZoom -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getMaxZoom_added()" class="hiddenlink" target="rightframe"><b>getMaxZoom</b>
+()</A></nobr><br>
+<!-- Method getMinExposureCompensation -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getMinExposureCompensation_added()" class="hiddenlink" target="rightframe"><b>getMinExposureCompensation</b>
+()</A></nobr><br>
+<!-- Method getNamedItemNS -->
+<nobr><A HREF="org.w3c.dom.NamedNodeMap.html#org.w3c.dom.NamedNodeMap.getNamedItemNS_changed(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">getNamedItemNS
+(<code>String, String</code>)</A></nobr><br>
+<!-- Method getOption -->
+<nobr><A HREF="java.net.DatagramSocketImpl.html#java.net.DatagramSocketImpl.getOption_removed(int)" class="hiddenlink" target="rightframe"><strike>getOption</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getOrientation -->
+<nobr><A HREF="android.view.Display.html#android.view.Display.getOrientation_changed()" class="hiddenlink" target="rightframe">getOrientation
+()</A></nobr><br>
+<!-- Method getPackageCodePath -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.getPackageCodePath_added()" class="hiddenlink" target="rightframe"><b>getPackageCodePath</b>
+()</A></nobr><br>
+<!-- Method getPackageResourcePath -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.getPackageResourcePath_added()" class="hiddenlink" target="rightframe"><b>getPackageResourcePath</b>
+()</A></nobr><br>
+<!-- Method getPeriodicSyncs -->
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.getPeriodicSyncs_added(android.accounts.Account, java.lang.String)" class="hiddenlink" target="rightframe"><b>getPeriodicSyncs</b>
+(<code>Account, String</code>)</A></nobr><br>
+<!-- Method getPluginsEnabled -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getPluginsEnabled_changed()" class="hiddenlink" target="rightframe">getPluginsEnabled
+()</A></nobr><br>
+<!-- Method getPluginState -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getPluginState_added()" class="hiddenlink" target="rightframe"><b>getPluginState</b>
+()</A></nobr><br>
+<!-- Method getRotation -->
+<nobr><A HREF="android.view.Display.html#android.view.Display.getRotation_added()" class="hiddenlink" target="rightframe"><b>getRotation</b>
+()</A></nobr><br>
+<!-- Method getScaledPagingTouchSlop -->
+<nobr><A HREF="android.view.ViewConfiguration.html#android.view.ViewConfiguration.getScaledPagingTouchSlop_added()" class="hiddenlink" target="rightframe"><b>getScaledPagingTouchSlop</b>
+()</A></nobr><br>
+<!-- Method getSchema -->
+<i>getSchema</i><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.DocumentBuilder.html#javax.xml.parsers.DocumentBuilder.getSchema_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;javax.xml.parsers.DocumentBuilder
+</A></nobr><br>
+<!-- Method getSchema -->
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.DocumentBuilderFactory.html#javax.xml.parsers.DocumentBuilderFactory.getSchema_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;javax.xml.parsers.DocumentBuilderFactory
+</A></nobr><br>
+<!-- Method getSchema -->
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.SAXParser.html#javax.xml.parsers.SAXParser.getSchema_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;javax.xml.parsers.SAXParser
+</A></nobr><br>
+<!-- Method getSchema -->
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.SAXParserFactory.html#javax.xml.parsers.SAXParserFactory.getSchema_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;javax.xml.parsers.SAXParserFactory
+</A></nobr><br>
+<!-- Method getSchemaTypeInfo -->
+<i>getSchemaTypeInfo</i><br>
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Attr.html#org.w3c.dom.Attr.getSchemaTypeInfo_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;org.w3c.dom.Attr
+</A></nobr><br>
+<!-- Method getSchemaTypeInfo -->
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Element.html#org.w3c.dom.Element.getSchemaTypeInfo_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;org.w3c.dom.Element
+</A></nobr><br>
+<!-- Method getSearchableInfo -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.getSearchableInfo_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getSearchableInfo</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method getSearchablesInGlobalSearch -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.getSearchablesInGlobalSearch_added()" class="hiddenlink" target="rightframe"><b>getSearchablesInGlobalSearch</b>
+()</A></nobr><br>
+<!-- Method getStrictErrorChecking -->
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.getStrictErrorChecking_added()" class="hiddenlink" target="rightframe"><b>getStrictErrorChecking</b>
+()</A></nobr><br>
+<!-- Method getSupportedJpegThumbnailSizes -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getSupportedJpegThumbnailSizes_added()" class="hiddenlink" target="rightframe"><b>getSupportedJpegThumbnailSizes</b>
+()</A></nobr><br>
+<!-- Method getTextContent -->
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.getTextContent_added()" class="hiddenlink" target="rightframe"><b>getTextContent</b>
+()</A></nobr><br>
+<!-- Method getThumbnail -->
+<i>getThumbnail</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.MediaStore.Images.Thumbnails.html#android.provider.MediaStore.Images.Thumbnails.getThumbnail_added(android.content.ContentResolver, long, long, int, android.graphics.BitmapFactory.Options)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>ContentResolver, long, long, int, Options</code>)</b>&nbsp;in&nbsp;android.provider.MediaStore.Images.Thumbnails
+</A></nobr><br>
+<!-- Method getThumbnail -->
+&nbsp;&nbsp;<nobr><A HREF="android.provider.MediaStore.Video.Thumbnails.html#android.provider.MediaStore.Video.Thumbnails.getThumbnail_added(android.content.ContentResolver, long, long, int, android.graphics.BitmapFactory.Options)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>ContentResolver, long, long, int, Options</code>)</b>&nbsp;in&nbsp;android.provider.MediaStore.Video.Thumbnails
+</A></nobr><br>
+<!-- Method getUserData -->
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.getUserData_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>getUserData</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method getValidNotAfter -->
+<nobr><A HREF="android.net.http.SslCertificate.html#android.net.http.SslCertificate.getValidNotAfter_changed()" class="hiddenlink" target="rightframe">getValidNotAfter
+()</A></nobr><br>
+<!-- Method getValidNotAfterDate -->
+<nobr><A HREF="android.net.http.SslCertificate.html#android.net.http.SslCertificate.getValidNotAfterDate_added()" class="hiddenlink" target="rightframe"><b>getValidNotAfterDate</b>
+()</A></nobr><br>
+<!-- Method getValidNotBefore -->
+<nobr><A HREF="android.net.http.SslCertificate.html#android.net.http.SslCertificate.getValidNotBefore_changed()" class="hiddenlink" target="rightframe">getValidNotBefore
+()</A></nobr><br>
+<!-- Method getValidNotBeforeDate -->
+<nobr><A HREF="android.net.http.SslCertificate.html#android.net.http.SslCertificate.getValidNotBeforeDate_added()" class="hiddenlink" target="rightframe"><b>getValidNotBeforeDate</b>
+()</A></nobr><br>
+<!-- Method getVerticalViewAngle -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getVerticalViewAngle_added()" class="hiddenlink" target="rightframe"><b>getVerticalViewAngle</b>
+()</A></nobr><br>
+<!-- Method getVoiceDetailsIntent -->
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.getVoiceDetailsIntent_added(android.content.Context)" class="hiddenlink" target="rightframe"><b>getVoiceDetailsIntent</b>
+(<code>Context</code>)</A></nobr><br>
+<!-- Method getWholeText -->
+<nobr><A HREF="org.w3c.dom.Text.html#org.w3c.dom.Text.getWholeText_added()" class="hiddenlink" target="rightframe"><b>getWholeText</b>
+()</A></nobr><br>
+<!-- Method getXmlEncoding -->
+<i>getXmlEncoding</i><br>
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.getXmlEncoding_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;org.w3c.dom.Document
+</A></nobr><br>
+<!-- Method getXmlEncoding -->
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Entity.html#org.w3c.dom.Entity.getXmlEncoding_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;org.w3c.dom.Entity
+</A></nobr><br>
+<!-- Method getXmlStandalone -->
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.getXmlStandalone_added()" class="hiddenlink" target="rightframe"><b>getXmlStandalone</b>
+()</A></nobr><br>
+<!-- Method getXmlVersion -->
+<i>getXmlVersion</i><br>
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.getXmlVersion_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;org.w3c.dom.Document
+</A></nobr><br>
+<!-- Method getXmlVersion -->
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Entity.html#org.w3c.dom.Entity.getXmlVersion_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;org.w3c.dom.Entity
+</A></nobr><br>
+<!-- Method getXVelocity -->
+<nobr><A HREF="android.view.VelocityTracker.html#android.view.VelocityTracker.getXVelocity_added(int)" class="hiddenlink" target="rightframe"><b>getXVelocity</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getYVelocity -->
+<nobr><A HREF="android.view.VelocityTracker.html#android.view.VelocityTracker.getYVelocity_added(int)" class="hiddenlink" target="rightframe"><b>getYVelocity</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getZoom -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getZoom_added()" class="hiddenlink" target="rightframe"><b>getZoom</b>
+()</A></nobr><br>
+<!-- Method getZoomRatios -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getZoomRatios_added()" class="hiddenlink" target="rightframe"><b>getZoomRatios</b>
+()</A></nobr><br>
+<!-- Class GLES20 -->
+<A HREF="pkg_android.opengl.html#GLES20" class="hiddenlink" target="rightframe"><b>GLES20</b></A><br>
+<!-- Class GLSurfaceView -->
+<A HREF="android.opengl.GLSurfaceView.html" class="hiddenlink" target="rightframe">GLSurfaceView</A><br>
+<!-- Class HapticFeedbackConstants -->
+<A NAME="H"></A>
+<br><font size="+2">H</font>&nbsp;
+<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="#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="#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="#X"><font size="-2">X</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="android.view.HapticFeedbackConstants.html" class="hiddenlink" target="rightframe">HapticFeedbackConstants</A><br>
+<!-- Field HARDWARE -->
+<nobr><A HREF="android.os.Build.html#android.os.Build.HARDWARE" class="hiddenlink" target="rightframe">HARDWARE</A>
+</nobr><br>
+<!-- Method hasAttributeNS -->
+<nobr><A HREF="org.w3c.dom.Element.html#org.w3c.dom.Element.hasAttributeNS_changed(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">hasAttributeNS
+(<code>String, String</code>)</A></nobr><br>
+<!-- Method hasFeatures -->
+<nobr><A HREF="android.accounts.AccountManager.html#android.accounts.AccountManager.hasFeatures_added(android.accounts.Account, java.lang.String[], android.accounts.AccountManagerCallback<java.lang.Boolean>, android.os.Handler)" class="hiddenlink" target="rightframe"><b>hasFeatures</b>
+(<code>Account, String[], AccountManagerCallback&lt;Boolean&gt;, Handler</code>)</A></nobr><br>
+<!-- Class HashMap -->
+<A HREF="java.util.HashMap.html" class="hiddenlink" target="rightframe">HashMap</A><br>
+<!-- Class HeterogeneousExpandableList -->
+<A HREF="pkg_android.widget.html#HeterogeneousExpandableList" class="hiddenlink" target="rightframe"><b><i>HeterogeneousExpandableList</i></b></A><br>
+<!-- Field IDLE -->
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<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="#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="#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="#X"><font size="-2">X</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">
+<i>IDLE</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.IDLE" class="hiddenlink" target="rightframe">android.provider.Contacts.PresenceColumns</A>
+</nobr><br>
+<!-- Field IDLE -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusColumns.html#android.provider.ContactsContract.StatusColumns.IDLE" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusColumns</A>
+</nobr><br>
+<!-- Class ImageFormat -->
+<A HREF="pkg_android.graphics.html#ImageFormat" class="hiddenlink" target="rightframe"><b>ImageFormat</b></A><br>
+<!-- Class ImageView -->
+<A HREF="android.widget.ImageView.html" class="hiddenlink" target="rightframe">ImageView</A><br>
+<!-- Method insertWithOnConflict -->
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.insertWithOnConflict_added(java.lang.String, java.lang.String, android.content.ContentValues, int)" class="hiddenlink" target="rightframe"><b>insertWithOnConflict</b>
+(<code>String, String, ContentValues, int</code>)</A></nobr><br>
+<!-- Field installLocation -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.installLocation" class="hiddenlink" target="rightframe">installLocation</A>
+</nobr><br>
+<!-- Class Intent -->
+<A HREF="android.content.Intent.html" class="hiddenlink" target="rightframe">Intent</A><br>
+<!-- Field INTENT_ACTION_GLOBAL_SEARCH -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.INTENT_ACTION_GLOBAL_SEARCH" class="hiddenlink" target="rightframe">INTENT_ACTION_GLOBAL_SEARCH</A>
+</nobr><br>
+<!-- Field INTENT_ACTION_MUSIC_PLAYER -->
+<nobr><A HREF="android.provider.MediaStore.html#android.provider.MediaStore.INTENT_ACTION_MUSIC_PLAYER" class="hiddenlink" target="rightframe">INTENT_ACTION_MUSIC_PLAYER</A>
+</nobr><br>
+<!-- Field INTENT_ACTION_SEARCH_SETTINGS -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.INTENT_ACTION_SEARCH_SETTINGS" class="hiddenlink" target="rightframe">INTENT_ACTION_SEARCH_SETTINGS</A>
+</nobr><br>
+<!-- Field INVISIBLE -->
+<i>INVISIBLE</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.INVISIBLE" class="hiddenlink" target="rightframe">android.provider.Contacts.PresenceColumns</A>
+</nobr><br>
+<!-- Field INVISIBLE -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusColumns.html#android.provider.ContactsContract.StatusColumns.INVISIBLE" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusColumns</A>
+</nobr><br>
+<!-- Field IS_PODCAST -->
+<nobr><A HREF="android.provider.MediaStore.Audio.AudioColumns.html#android.provider.MediaStore.Audio.AudioColumns.IS_PODCAST" class="hiddenlink" target="rightframe">IS_PODCAST</A>
+</nobr><br>
+<!-- Method isBluetoothScoAvailableOffCall -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.isBluetoothScoAvailableOffCall_added()" class="hiddenlink" target="rightframe"><b>isBluetoothScoAvailableOffCall</b>
+()</A></nobr><br>
+<!-- Method isDefaultNamespace -->
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.isDefaultNamespace_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>isDefaultNamespace</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method isElementContentWhitespace -->
+<nobr><A HREF="org.w3c.dom.Text.html#org.w3c.dom.Text.isElementContentWhitespace_added()" class="hiddenlink" target="rightframe"><b>isElementContentWhitespace</b>
+()</A></nobr><br>
+<!-- Method isEqualNode -->
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.isEqualNode_added(org.w3c.dom.Node)" class="hiddenlink" target="rightframe"><b>isEqualNode</b>
+(<code>Node</code>)</A></nobr><br>
+<!-- Method isId -->
+<nobr><A HREF="org.w3c.dom.Attr.html#org.w3c.dom.Attr.isId_added()" class="hiddenlink" target="rightframe"><b>isId</b>
+()</A></nobr><br>
+<!-- Method isLocationProviderEnabled -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.isLocationProviderEnabled_added(android.content.ContentResolver, java.lang.String)" class="hiddenlink" target="rightframe"><b>isLocationProviderEnabled</b>
+(<code>ContentResolver, String</code>)</A></nobr><br>
+<!-- Method isSameNode -->
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.isSameNode_added(org.w3c.dom.Node)" class="hiddenlink" target="rightframe"><b>isSameNode</b>
+(<code>Node</code>)</A></nobr><br>
+<!-- Method isSmoothZoomSupported -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.isSmoothZoomSupported_added()" class="hiddenlink" target="rightframe"><b>isSmoothZoomSupported</b>
+()</A></nobr><br>
+<!-- Method isStripEnabled -->
+<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.isStripEnabled_added()" class="hiddenlink" target="rightframe"><b>isStripEnabled</b>
+()</A></nobr><br>
+<!-- Method isSupported -->
+<nobr><A HREF="java.nio.charset.Charset.html#java.nio.charset.Charset.isSupported_changed(java.lang.String)" class="hiddenlink" target="rightframe">isSupported
+(<code>String</code>)</A></nobr><br>
+<!-- Method isUserAMonkey -->
+<nobr><A HREF="android.app.ActivityManager.html#android.app.ActivityManager.isUserAMonkey_added()" class="hiddenlink" target="rightframe"><b>isUserAMonkey</b>
+()</A></nobr><br>
+<!-- Method isXIncludeAware -->
+<i>isXIncludeAware</i><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.DocumentBuilder.html#javax.xml.parsers.DocumentBuilder.isXIncludeAware_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;javax.xml.parsers.DocumentBuilder
+</A></nobr><br>
+<!-- Method isXIncludeAware -->
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.SAXParser.html#javax.xml.parsers.SAXParser.isXIncludeAware_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;javax.xml.parsers.SAXParser
+</A></nobr><br>
+<!-- Method isZoomSupported -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.isZoomSupported_added()" class="hiddenlink" target="rightframe"><b>isZoomSupported</b>
+()</A></nobr><br>
+<!-- Package java.net -->
+<A NAME="J"></A>
+<A HREF="pkg_java.net.html" class="hiddenlink" target="rightframe">java.net</A><br>
+<!-- Package java.nio.charset -->
+<A HREF="pkg_java.nio.charset.html" class="hiddenlink" target="rightframe">java.nio.charset</A><br>
+<!-- Package java.util -->
+<A HREF="pkg_java.util.html" class="hiddenlink" target="rightframe">java.util</A><br>
+<!-- Package java.util.regex -->
+<A HREF="pkg_java.util.regex.html" class="hiddenlink" target="rightframe">java.util.regex</A><br>
+<!-- Package javax.xml -->
+<A HREF="pkg_javax.xml.html" class="hiddenlink" target="rightframe">javax.xml</A><br>
+<!-- Package javax.xml.datatype -->
+<A HREF="changes-summary.html#javax.xml.datatype" class="hiddenlink" target="rightframe"><b>javax.xml.datatype</b></A><br>
+<!-- Package javax.xml.namespace -->
+<A HREF="changes-summary.html#javax.xml.namespace" class="hiddenlink" target="rightframe"><b>javax.xml.namespace</b></A><br>
+<!-- Package javax.xml.parsers -->
+<A HREF="pkg_javax.xml.parsers.html" class="hiddenlink" target="rightframe">javax.xml.parsers</A><br>
+<!-- Package javax.xml.transform -->
+<A HREF="changes-summary.html#javax.xml.transform" class="hiddenlink" target="rightframe"><b>javax.xml.transform</b></A><br>
+<!-- Package javax.xml.transform.dom -->
+<A HREF="changes-summary.html#javax.xml.transform.dom" class="hiddenlink" target="rightframe"><b>javax.xml.transform.dom</b></A><br>
+<!-- Package javax.xml.transform.sax -->
+<A HREF="changes-summary.html#javax.xml.transform.sax" class="hiddenlink" target="rightframe"><b>javax.xml.transform.sax</b></A><br>
+<!-- Package javax.xml.transform.stream -->
+<A HREF="changes-summary.html#javax.xml.transform.stream" class="hiddenlink" target="rightframe"><b>javax.xml.transform.stream</b></A><br>
+<!-- Package javax.xml.validation -->
+<A HREF="changes-summary.html#javax.xml.validation" class="hiddenlink" target="rightframe"><b>javax.xml.validation</b></A><br>
+<!-- Package javax.xml.xpath -->
+<A HREF="changes-summary.html#javax.xml.xpath" class="hiddenlink" target="rightframe"><b>javax.xml.xpath</b></A><br>
+<!-- Field JPEG -->
+<nobr><A HREF="android.graphics.PixelFormat.html#android.graphics.PixelFormat.JPEG" class="hiddenlink" target="rightframe">JPEG</A>
+</nobr><br>
+<!-- Class JsResult -->
+<A HREF="android.webkit.JsResult.html" class="hiddenlink" target="rightframe">JsResult</A><br>
+<!-- Field KEYBOARD_TAP -->
+<A NAME="K"></A>
+<br><font size="+2">K</font>&nbsp;
+<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="#J"><font size="-2">J</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="#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="#X"><font size="-2">X</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.view.HapticFeedbackConstants.html#android.view.HapticFeedbackConstants.KEYBOARD_TAP" class="hiddenlink" target="rightframe">KEYBOARD_TAP</A>
+</nobr><br>
+<!-- Field KILL_BACKGROUND_PROCESSES -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.KILL_BACKGROUND_PROCESSES" class="hiddenlink" target="rightframe">KILL_BACKGROUND_PROCESSES</A>
+</nobr><br>
+<!-- Method killBackgroundProcesses -->
+<nobr><A HREF="android.app.ActivityManager.html#android.app.ActivityManager.killBackgroundProcesses_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>killBackgroundProcesses</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Field KIND_GLOBAL_CLASS_INIT_COUNT -->
+<nobr><A HREF="dalvik.system.VMDebug.html#dalvik.system.VMDebug.KIND_GLOBAL_CLASS_INIT_COUNT" class="hiddenlink" target="rightframe">KIND_GLOBAL_CLASS_INIT_COUNT</A>
+</nobr><br>
+<!-- Field KIND_GLOBAL_CLASS_INIT_TIME -->
+<nobr><A HREF="dalvik.system.VMDebug.html#dalvik.system.VMDebug.KIND_GLOBAL_CLASS_INIT_TIME" class="hiddenlink" target="rightframe">KIND_GLOBAL_CLASS_INIT_TIME</A>
+</nobr><br>
+<!-- Field KIND_THREAD_CLASS_INIT_COUNT -->
+<nobr><A HREF="dalvik.system.VMDebug.html#dalvik.system.VMDebug.KIND_THREAD_CLASS_INIT_COUNT" class="hiddenlink" target="rightframe">KIND_THREAD_CLASS_INIT_COUNT</A>
+</nobr><br>
+<!-- Field KIND_THREAD_CLASS_INIT_TIME -->
+<nobr><A HREF="dalvik.system.VMDebug.html#dalvik.system.VMDebug.KIND_THREAD_CLASS_INIT_TIME" class="hiddenlink" target="rightframe">KIND_THREAD_CLASS_INIT_TIME</A>
+</nobr><br>
+<!-- Class LeadingMarginSpan.LeadingMarginSpan2 -->
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<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="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</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="#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="#X"><font size="-2">X</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.text.style.html#LeadingMarginSpan.LeadingMarginSpan2" class="hiddenlink" target="rightframe"><b><i>LeadingMarginSpan.LeadingMarginSpan2</i></b></A><br>
+<!-- Class ListView -->
+<A HREF="android.widget.ListView.html" class="hiddenlink" target="rightframe">ListView</A><br>
+<!-- Method loadUrl -->
+<nobr><A HREF="android.webkit.WebView.html#android.webkit.WebView.loadUrl_added(java.lang.String, java.util.Map<java.lang.String, java.lang.String>)" class="hiddenlink" target="rightframe"><b>loadUrl</b>
+(<code>String, Map&lt;String, String&gt;</code>)</A></nobr><br>
+<!-- Class LocationManager -->
+<A HREF="android.location.LocationManager.html" class="hiddenlink" target="rightframe">LocationManager</A><br>
+<!-- Field LOCK_PATTERN_ENABLED -->
+<i>LOCK_PATTERN_ENABLED</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.LOCK_PATTERN_ENABLED" class="hiddenlink" target="rightframe">android.provider.Settings.Secure</A>
+</nobr><br>
+<!-- Field LOCK_PATTERN_ENABLED -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Settings.System.html#android.provider.Settings.System.LOCK_PATTERN_ENABLED" class="hiddenlink" target="rightframe">android.provider.Settings.System</A>
+</nobr><br>
+<!-- Field LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED -->
+<i>LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED" class="hiddenlink" target="rightframe">android.provider.Settings.Secure</A>
+</nobr><br>
+<!-- Field LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Settings.System.html#android.provider.Settings.System.LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED" class="hiddenlink" target="rightframe">android.provider.Settings.System</A>
+</nobr><br>
+<!-- Field LOCK_PATTERN_VISIBLE -->
+<i>LOCK_PATTERN_VISIBLE</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.LOCK_PATTERN_VISIBLE" class="hiddenlink" target="rightframe">android.provider.Settings.Secure</A>
+</nobr><br>
+<!-- Field LOCK_PATTERN_VISIBLE -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Settings.System.html#android.provider.Settings.System.LOCK_PATTERN_VISIBLE" class="hiddenlink" target="rightframe">android.provider.Settings.System</A>
+</nobr><br>
+<!-- Class Log -->
+<A HREF="android.util.Log.html" class="hiddenlink" target="rightframe">Log</A><br>
+<!-- Method lookupNamespaceURI -->
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.lookupNamespaceURI_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>lookupNamespaceURI</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method lookupPrefix -->
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.lookupPrefix_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>lookupPrefix</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Class Manifest.permission -->
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<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="#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="#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="#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="#X"><font size="-2">X</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="android.Manifest.permission.html" class="hiddenlink" target="rightframe">Manifest.permission</A><br>
+<!-- Field MATCH_PARENT -->
+<nobr><A HREF="android.view.ViewGroup.LayoutParams.html#android.view.ViewGroup.LayoutParams.MATCH_PARENT" class="hiddenlink" target="rightframe">MATCH_PARENT</A>
+</nobr><br>
+<!-- Class Matcher -->
+<A HREF="java.util.regex.Matcher.html" class="hiddenlink" target="rightframe">Matcher</A><br>
+<!-- Class Matrix -->
+<A HREF="android.opengl.Matrix.html" class="hiddenlink" target="rightframe">Matrix</A><br>
+<!-- Field mDatabase -->
+<nobr><A HREF="android.database.sqlite.SQLiteProgram.html#android.database.sqlite.SQLiteProgram.mDatabase" class="hiddenlink" target="rightframe">mDatabase</A>
+</nobr><br>
+<!-- Class MediaRecorder -->
+<A HREF="android.media.MediaRecorder.html" class="hiddenlink" target="rightframe">MediaRecorder</A><br>
+<!-- Class MediaScannerConnection -->
+<A HREF="android.media.MediaScannerConnection.html" class="hiddenlink" target="rightframe">MediaScannerConnection</A><br>
+<!-- Class MediaScannerConnection.MediaScannerConnectionClient -->
+<A HREF="android.media.MediaScannerConnection.MediaScannerConnectionClient.html" class="hiddenlink" target="rightframe"><i>MediaScannerConnection.MediaScannerConnectionClient</i></A><br>
+<!-- Class MediaScannerConnection.OnScanCompletedListener -->
+<A HREF="pkg_android.media.html#MediaScannerConnection.OnScanCompletedListener" class="hiddenlink" target="rightframe"><b><i>MediaScannerConnection.OnScanCompletedListener</i></b></A><br>
+<!-- Class MediaStore -->
+<A HREF="android.provider.MediaStore.html" class="hiddenlink" target="rightframe">MediaStore</A><br>
+<!-- Class MediaStore.Audio.AudioColumns -->
+<A HREF="android.provider.MediaStore.Audio.AudioColumns.html" class="hiddenlink" target="rightframe"><i>MediaStore.Audio.AudioColumns</i></A><br>
+<!-- Class MediaStore.Audio.Playlists.Members -->
+<A HREF="android.provider.MediaStore.Audio.Playlists.Members.html" class="hiddenlink" target="rightframe">MediaStore.Audio.Playlists.Members</A><br>
+<!-- Class MediaStore.Images.Thumbnails -->
+<A HREF="android.provider.MediaStore.Images.Thumbnails.html" class="hiddenlink" target="rightframe">MediaStore.Images.Thumbnails</A><br>
+<!-- Class MediaStore.Video.Thumbnails -->
+<A HREF="android.provider.MediaStore.Video.Thumbnails.html" class="hiddenlink" target="rightframe">MediaStore.Video.Thumbnails</A><br>
+<!-- Class MockContentProvider -->
+<A HREF="pkg_android.test.mock.html#MockContentProvider" class="hiddenlink" target="rightframe"><b>MockContentProvider</b></A><br>
+<!-- Class MockContext -->
+<A HREF="android.test.mock.MockContext.html" class="hiddenlink" target="rightframe">MockContext</A><br>
+<!-- Class MockCursor -->
+<A HREF="pkg_android.test.mock.html#MockCursor" class="hiddenlink" target="rightframe"><b>MockCursor</b></A><br>
+<!-- Class MockPackageManager -->
+<A HREF="android.test.mock.MockPackageManager.html" class="hiddenlink" target="rightframe">MockPackageManager</A><br>
+<!-- Class MotionEvent -->
+<A HREF="android.view.MotionEvent.html" class="hiddenlink" target="rightframe">MotionEvent</A><br>
+<!-- Method moveItem -->
+<nobr><A HREF="android.provider.MediaStore.Audio.Playlists.Members.html#android.provider.MediaStore.Audio.Playlists.Members.moveItem_added(android.content.ContentResolver, long, int, int)" class="hiddenlink" target="rightframe"><b>moveItem</b>
+(<code>ContentResolver, long, int, int</code>)</A></nobr><br>
+<!-- Field mProxy -->
+<nobr><A HREF="android.webkit.JsResult.html#android.webkit.JsResult.mProxy" class="hiddenlink" target="rightframe"><strike>mProxy</strike></A>
+</nobr><br>
+<!-- Class NamedNodeMap -->
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<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="#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="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</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="#X"><font size="-2">X</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="org.w3c.dom.NamedNodeMap.html" class="hiddenlink" target="rightframe"><i>NamedNodeMap</i></A><br>
+<!-- Class NameList -->
+<A HREF="pkg_org.w3c.dom.html#NameList" class="hiddenlink" target="rightframe"><b><i>NameList</i></b></A><br>
+<!-- Method native_compile -->
+<nobr><A HREF="android.database.sqlite.SQLiteProgram.html#android.database.sqlite.SQLiteProgram.native_compile_changed(java.lang.String)" class="hiddenlink" target="rightframe">native_compile
+(<code>String</code>)</A></nobr><br>
+<!-- Method native_finalize -->
+<nobr><A HREF="android.database.sqlite.SQLiteProgram.html#android.database.sqlite.SQLiteProgram.native_finalize_changed()" class="hiddenlink" target="rightframe">native_finalize
+()</A></nobr><br>
+<!-- Field NETWORK_TYPE_IDEN -->
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.NETWORK_TYPE_IDEN" class="hiddenlink" target="rightframe">NETWORK_TYPE_IDEN</A>
+</nobr><br>
+<!-- Method newEntityIterator -->
+<i>newEntityIterator</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.ContactsContract.Groups.html#android.provider.ContactsContract.Groups.newEntityIterator_added(android.database.Cursor)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Cursor</code>)</b>&nbsp;in&nbsp;android.provider.ContactsContract.Groups
+</A></nobr><br>
+<!-- Method newEntityIterator -->
+&nbsp;&nbsp;<nobr><A HREF="android.provider.ContactsContract.RawContacts.html#android.provider.ContactsContract.RawContacts.newEntityIterator_added(android.database.Cursor)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Cursor</code>)</b>&nbsp;in&nbsp;android.provider.ContactsContract.RawContacts
+</A></nobr><br>
+<!-- Method newInstance -->
+<i>newInstance</i><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.DocumentBuilderFactory.html#javax.xml.parsers.DocumentBuilderFactory.newInstance_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;javax.xml.parsers.DocumentBuilderFactory
+</A></nobr><br>
+<!-- Method newInstance -->
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.SAXParserFactory.html#javax.xml.parsers.SAXParserFactory.newInstance_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;javax.xml.parsers.SAXParserFactory
+</A></nobr><br>
+<!-- Field nHandle -->
+<nobr><A HREF="android.database.sqlite.SQLiteProgram.html#android.database.sqlite.SQLiteProgram.nHandle" class="hiddenlink" target="rightframe">nHandle</A>
+</nobr><br>
+<!-- Class Node -->
+<A HREF="org.w3c.dom.Node.html" class="hiddenlink" target="rightframe"><i>Node</i></A><br>
+<!-- Method normalizeDocument -->
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.normalizeDocument_added()" class="hiddenlink" target="rightframe"><b>normalizeDocument</b>
+()</A></nobr><br>
+<!-- Field nStatement -->
+<nobr><A HREF="android.database.sqlite.SQLiteProgram.html#android.database.sqlite.SQLiteProgram.nStatement" class="hiddenlink" target="rightframe">nStatement</A>
+</nobr><br>
+<!-- Field OFFLINE -->
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<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="#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="#P"><font size="-2">P</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="#X"><font size="-2">X</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">
+<i>OFFLINE</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.OFFLINE" class="hiddenlink" target="rightframe">android.provider.Contacts.PresenceColumns</A>
+</nobr><br>
+<!-- Field OFFLINE -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusColumns.html#android.provider.ContactsContract.StatusColumns.OFFLINE" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusColumns</A>
+</nobr><br>
+<!-- Method onChildViewAdded -->
+<nobr><A HREF="android.webkit.WebView.html#android.webkit.WebView.onChildViewAdded_changed(android.view.View, android.view.View)" class="hiddenlink" target="rightframe">onChildViewAdded
+(<code>View, View</code>)</A></nobr><br>
+<!-- Method onChildViewRemoved -->
+<nobr><A HREF="android.webkit.WebView.html#android.webkit.WebView.onChildViewRemoved_changed(android.view.View, android.view.View)" class="hiddenlink" target="rightframe">onChildViewRemoved
+(<code>View, View</code>)</A></nobr><br>
+<!-- Method onConfigurationChanged -->
+<nobr><A HREF="android.view.View.html#android.view.View.onConfigurationChanged_added(android.content.res.Configuration)" class="hiddenlink" target="rightframe"><b>onConfigurationChanged</b>
+(<code>Configuration</code>)</A></nobr><br>
+<!-- Method onConsoleMessage -->
+<i>onConsoleMessage</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.WebChromeClient.html#android.webkit.WebChromeClient.onConsoleMessage_removed(java.lang.String, int, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>String, int, String</code>)</strike>&nbsp;in&nbsp;android.webkit.WebChromeClient
+</A></nobr><br>
+<!-- Method onConsoleMessage -->
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.WebChromeClient.html#android.webkit.WebChromeClient.onConsoleMessage_added(android.webkit.ConsoleMessage)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>ConsoleMessage</code>)</b>&nbsp;in&nbsp;android.webkit.WebChromeClient
+</A></nobr><br>
+<!-- Method onConsoleMessage -->
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.WebChromeClient.html#android.webkit.WebChromeClient.onConsoleMessage_added(java.lang.String, int, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int, String</code>)</b>&nbsp;in&nbsp;android.webkit.WebChromeClient
+</A></nobr><br>
+<!-- Method onCreateDialog -->
+<i>onCreateDialog</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Activity.html#android.app.Activity.onCreateDialog_added(int, android.os.Bundle)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, Bundle</code>)</b>&nbsp;in&nbsp;android.app.Activity
+</A></nobr><br>
+<!-- Method onCreateDialog -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.Activity.html#android.app.Activity.onCreateDialog_changed(int)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int</code>)&nbsp;in&nbsp;android.app.Activity
+</A></nobr><br>
+<!-- Method onDisplayHint -->
+<nobr><A HREF="android.view.View.html#android.view.View.onDisplayHint_added(int)" class="hiddenlink" target="rightframe"><b>onDisplayHint</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method onPrepareDialog -->
+<i>onPrepareDialog</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Activity.html#android.app.Activity.onPrepareDialog_added(int, android.app.Dialog, android.os.Bundle)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, Dialog, Bundle</code>)</b>&nbsp;in&nbsp;android.app.Activity
+</A></nobr><br>
+<!-- Method onPrepareDialog -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.Activity.html#android.app.Activity.onPrepareDialog_changed(int, android.app.Dialog)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int, Dialog</code>)&nbsp;in&nbsp;android.app.Activity
+</A></nobr><br>
+<!-- Method onReceivedSslError -->
+<nobr><A HREF="android.webkit.WebViewClient.html#android.webkit.WebViewClient.onReceivedSslError_added(android.webkit.WebView, android.webkit.SslErrorHandler, android.net.http.SslError)" class="hiddenlink" target="rightframe"><b>onReceivedSslError</b>
+(<code>WebView, SslErrorHandler, SslError</code>)</A></nobr><br>
+<!-- Method onSyncCanceled -->
+<nobr><A HREF="android.content.AbstractThreadedSyncAdapter.html#android.content.AbstractThreadedSyncAdapter.onSyncCanceled_added()" class="hiddenlink" target="rightframe"><b>onSyncCanceled</b>
+()</A></nobr><br>
+<!-- Method onTooManyRedirects -->
+<nobr><A HREF="android.webkit.WebViewClient.html#android.webkit.WebViewClient.onTooManyRedirects_changed(android.webkit.WebView, android.os.Message, android.os.Message)" class="hiddenlink" target="rightframe">onTooManyRedirects
+(<code>WebView, Message, Message</code>)</A></nobr><br>
+<!-- Method onVisibilityChanged -->
+<nobr><A HREF="android.view.View.html#android.view.View.onVisibilityChanged_added(android.view.View, int)" class="hiddenlink" target="rightframe"><b>onVisibilityChanged</b>
+(<code>View, int</code>)</A></nobr><br>
+<!-- Field OP_BREAKPOINT -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_BREAKPOINT" class="hiddenlink" target="rightframe">OP_BREAKPOINT</A>
+</nobr><br>
+<!-- Field OP_EXECUTE_INLINE_RANGE -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_EXECUTE_INLINE_RANGE" class="hiddenlink" target="rightframe">OP_EXECUTE_INLINE_RANGE</A>
+</nobr><br>
+<!-- Field OP_THROW_VERIFICATION_ERROR -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_THROW_VERIFICATION_ERROR" class="hiddenlink" target="rightframe">OP_THROW_VERIFICATION_ERROR</A>
+</nobr><br>
+<!-- Field OP_UNUSED_3e -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_3e" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_3e</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_3f -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_3f" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_3f</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_40 -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_40" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_40</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_41 -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_41" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_41</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_42 -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_42" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_42</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_43 -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_43" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_43</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_73 -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_73" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_73</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_79 -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_79" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_79</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_7A -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_7A" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_7A</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_E3 -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_E3" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_E3</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_E4 -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_E4" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_E4</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_E5 -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_E5" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_E5</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_E6 -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_E6" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_E6</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_E7 -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_E7" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_E7</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_E8 -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_E8" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_E8</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_E9 -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_E9" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_E9</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_EA -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_EA" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_EA</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_EB -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_EB" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_EB</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_EC -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_EC" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_EC</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_ED -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_ED" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_ED</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_EF -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_EF" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_EF</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_F1 -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_F1" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_F1</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_FC -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_FC" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_FC</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_FD -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_FD" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_FD</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_FE -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_FE" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_FE</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_FF -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_FF" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_FF</strike></A>
+</nobr><br>
+<!-- Class Opcodes -->
+<A HREF="dalvik.bytecode.Opcodes.html" class="hiddenlink" target="rightframe"><i>Opcodes</i></A><br>
+<!-- Package org.w3c.dom -->
+<A HREF="pkg_org.w3c.dom.html" class="hiddenlink" target="rightframe">org.w3c.dom</A><br>
+<!-- Package org.w3c.dom.ls -->
+<A HREF="changes-summary.html#org.w3c.dom.ls" class="hiddenlink" target="rightframe"><b>org.w3c.dom.ls</b></A><br>
+<!-- Class PackageManager -->
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<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="#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="#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="#X"><font size="-2">X</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="android.content.pm.PackageManager.html" class="hiddenlink" target="rightframe">PackageManager</A><br>
+<!-- Field PASSIVE_PROVIDER -->
+<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.PASSIVE_PROVIDER" class="hiddenlink" target="rightframe">PASSIVE_PROVIDER</A>
+</nobr><br>
+<!-- Class Pattern -->
+<A HREF="java.util.regex.Pattern.html" class="hiddenlink" target="rightframe">Pattern</A><br>
+<!-- Class Patterns -->
+<A HREF="pkg_android.util.html#Patterns" class="hiddenlink" target="rightframe"><b>Patterns</b></A><br>
+<!-- Class PeriodicSync -->
+<A HREF="pkg_android.content.html#PeriodicSync" class="hiddenlink" target="rightframe"><b>PeriodicSync</b></A><br>
+<!-- Class PixelFormat -->
+<A HREF="android.graphics.PixelFormat.html" class="hiddenlink" target="rightframe">PixelFormat</A><br>
+<!-- Field PKG_INSTALL_COMPLETE -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.PKG_INSTALL_COMPLETE" class="hiddenlink" target="rightframe"><strike>PKG_INSTALL_COMPLETE</strike></A>
+</nobr><br>
+<!-- Field PKG_INSTALL_INCOMPLETE -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.PKG_INSTALL_INCOMPLETE" class="hiddenlink" target="rightframe"><strike>PKG_INSTALL_INCOMPLETE</strike></A>
+</nobr><br>
+<!-- Class PowerManager -->
+<A HREF="android.os.PowerManager.html" class="hiddenlink" target="rightframe">PowerManager</A><br>
+<!-- Field PRESENCE_CUSTOM_STATUS -->
+<i>PRESENCE_CUSTOM_STATUS</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.PRESENCE_CUSTOM_STATUS" class="hiddenlink" target="rightframe">android.provider.Contacts.PresenceColumns</A>
+</nobr><br>
+<!-- Field PRESENCE_CUSTOM_STATUS -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusColumns.html#android.provider.ContactsContract.StatusColumns.PRESENCE_CUSTOM_STATUS" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusColumns</A>
+</nobr><br>
+<!-- Field PRESENCE_STATUS -->
+<i>PRESENCE_STATUS</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.PRESENCE_STATUS" class="hiddenlink" target="rightframe">android.provider.Contacts.PresenceColumns</A>
+</nobr><br>
+<!-- Field PRESENCE_STATUS -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusColumns.html#android.provider.ContactsContract.StatusColumns.PRESENCE_STATUS" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusColumns</A>
+</nobr><br>
+<!-- Field PRIORITY -->
+<nobr><A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.PRIORITY" class="hiddenlink" target="rightframe">PRIORITY</A>
+</nobr><br>
+<!-- Method putCharSequenceArray -->
+<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.putCharSequenceArray_added(java.lang.String, java.lang.CharSequence[])" class="hiddenlink" target="rightframe"><b>putCharSequenceArray</b>
+(<code>String, CharSequence[]</code>)</A></nobr><br>
+<!-- Method putCharSequenceArrayList -->
+<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.putCharSequenceArrayList_added(java.lang.String, java.util.ArrayList<java.lang.CharSequence>)" class="hiddenlink" target="rightframe"><b>putCharSequenceArrayList</b>
+(<code>String, ArrayList&lt;CharSequence&gt;</code>)</A></nobr><br>
+<!-- Method putCharSequenceArrayListExtra -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.putCharSequenceArrayListExtra_added(java.lang.String, java.util.ArrayList<java.lang.CharSequence>)" class="hiddenlink" target="rightframe"><b>putCharSequenceArrayListExtra</b>
+(<code>String, ArrayList&lt;CharSequence&gt;</code>)</A></nobr><br>
+<!-- Method putExtra -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.putExtra_added(java.lang.String, java.lang.CharSequence[])" class="hiddenlink" target="rightframe"><b>putExtra</b>
+(<code>String, CharSequence[]</code>)</A></nobr><br>
+<!-- Class R.anim -->
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<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="#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="#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="#X"><font size="-2">X</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="android.R.anim.html" class="hiddenlink" target="rightframe">R.anim</A><br>
+<!-- Class R.attr -->
+<A HREF="android.R.attr.html" class="hiddenlink" target="rightframe">R.attr</A><br>
+<!-- Class R.id -->
+<A HREF="android.R.id.html" class="hiddenlink" target="rightframe">R.id</A><br>
+<!-- Field RADIO -->
+<nobr><A HREF="android.os.Build.html#android.os.Build.RADIO" class="hiddenlink" target="rightframe">RADIO</A>
+</nobr><br>
+<!-- Method readFromParcel -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.readFromParcel_added(android.os.Parcel)" class="hiddenlink" target="rightframe"><b>readFromParcel</b>
+(<code>Parcel</code>)</A></nobr><br>
+<!-- Method reboot -->
+<nobr><A HREF="android.os.PowerManager.html#android.os.PowerManager.reboot_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>reboot</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Class RecognitionListener -->
+<A HREF="pkg_android.speech.html#RecognitionListener" class="hiddenlink" target="rightframe"><b><i>RecognitionListener</i></b></A><br>
+<!-- Class RecognitionService -->
+<A HREF="pkg_android.speech.html#RecognitionService" class="hiddenlink" target="rightframe"><b>RecognitionService</b></A><br>
+<!-- Class RecognitionService.Callback -->
+<A HREF="pkg_android.speech.html#RecognitionService.Callback" class="hiddenlink" target="rightframe"><b>RecognitionService.Callback</b></A><br>
+<!-- Class RecognizerIntent -->
+<A HREF="android.speech.RecognizerIntent.html" class="hiddenlink" target="rightframe">RecognizerIntent</A><br>
+<!-- Method reconnect -->
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.reconnect_added()" class="hiddenlink" target="rightframe"><b>reconnect</b>
+()</A></nobr><br>
+<!-- Class RecoverySystem -->
+<A HREF="pkg_android.os.html#RecoverySystem" class="hiddenlink" target="rightframe"><b>RecoverySystem</b></A><br>
+<!-- Class RecoverySystem.ProgressListener -->
+<A HREF="pkg_android.os.html#RecoverySystem.ProgressListener" class="hiddenlink" target="rightframe"><b><i>RecoverySystem.ProgressListener</i></b></A><br>
+<!-- Method registerMediaButtonEventReceiver -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.registerMediaButtonEventReceiver_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>registerMediaButtonEventReceiver</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Class RemoteViews -->
+<A HREF="android.widget.RemoteViews.html" class="hiddenlink" target="rightframe">RemoteViews</A><br>
+<!-- Method removePeriodicSync -->
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.removePeriodicSync_added(android.accounts.Account, java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>removePeriodicSync</b>
+(<code>Account, String, Bundle</code>)</A></nobr><br>
+<!-- Method renameNode -->
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.renameNode_added(org.w3c.dom.Node, java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe"><b>renameNode</b>
+(<code>Node, String, String</code>)</A></nobr><br>
+<!-- Method replaceWholeText -->
+<nobr><A HREF="org.w3c.dom.Text.html#org.w3c.dom.Text.replaceWholeText_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>replaceWholeText</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method requestAudioFocus -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.requestAudioFocus_added(android.media.AudioManager.OnAudioFocusChangeListener, int, int)" class="hiddenlink" target="rightframe"><b>requestAudioFocus</b>
+(<code>OnAudioFocusChangeListener, int, int</code>)</A></nobr><br>
+<!-- Method resetGlobalClassInitCount -->
+<nobr><A HREF="android.os.Debug.html#android.os.Debug.resetGlobalClassInitCount_added()" class="hiddenlink" target="rightframe"><b>resetGlobalClassInitCount</b>
+()</A></nobr><br>
+<!-- Method resetGlobalClassInitTime -->
+<nobr><A HREF="android.os.Debug.html#android.os.Debug.resetGlobalClassInitTime_added()" class="hiddenlink" target="rightframe"><b>resetGlobalClassInitTime</b>
+()</A></nobr><br>
+<!-- Field RESTART_PACKAGES -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.RESTART_PACKAGES" class="hiddenlink" target="rightframe">RESTART_PACKAGES</A>
+</nobr><br>
+<!-- Method restartPackage -->
+<nobr><A HREF="android.app.ActivityManager.html#android.app.ActivityManager.restartPackage_changed(java.lang.String)" class="hiddenlink" target="rightframe">restartPackage
+(<code>String</code>)</A></nobr><br>
+<!-- Field restoreAnyVersion -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.restoreAnyVersion" class="hiddenlink" target="rightframe">restoreAnyVersion</A>
+</nobr><br>
+<!-- Field restoreNeedsApplication -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.restoreNeedsApplication" class="hiddenlink" target="rightframe">restoreNeedsApplication</A>
+</nobr><br>
+<!-- Method resume -->
+<nobr><A HREF="android.widget.VideoView.html#android.widget.VideoView.resume_added()" class="hiddenlink" target="rightframe"><b>resume</b>
+()</A></nobr><br>
+<!-- Class Rfc822Tokenizer -->
+<A HREF="android.text.util.Rfc822Tokenizer.html" class="hiddenlink" target="rightframe">Rfc822Tokenizer</A><br>
+<!-- Class SAXParser -->
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<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="#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="#R"><font size="-2">R</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="#X"><font size="-2">X</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="javax.xml.parsers.SAXParser.html" class="hiddenlink" target="rightframe">SAXParser</A><br>
+<!-- Class SAXParserFactory -->
+<A HREF="javax.xml.parsers.SAXParserFactory.html" class="hiddenlink" target="rightframe">SAXParserFactory</A><br>
+<!-- Class ScaleGestureDetector -->
+<A HREF="pkg_android.view.html#ScaleGestureDetector" class="hiddenlink" target="rightframe"><b>ScaleGestureDetector</b></A><br>
+<!-- Class ScaleGestureDetector.OnScaleGestureListener -->
+<A HREF="pkg_android.view.html#ScaleGestureDetector.OnScaleGestureListener" class="hiddenlink" target="rightframe"><b><i>ScaleGestureDetector.OnScaleGestureListener</i></b></A><br>
+<!-- Class ScaleGestureDetector.SimpleOnScaleGestureListener -->
+<A HREF="pkg_android.view.html#ScaleGestureDetector.SimpleOnScaleGestureListener" class="hiddenlink" target="rightframe"><b>ScaleGestureDetector.SimpleOnScaleGestureListener</b></A><br>
+<!-- Method scanFile -->
+<nobr><A HREF="android.media.MediaScannerConnection.html#android.media.MediaScannerConnection.scanFile_added(android.content.Context, java.lang.String[], java.lang.String[], android.media.MediaScannerConnection.OnScanCompletedListener)" class="hiddenlink" target="rightframe"><b>scanFile</b>
+(<code>Context, String[], String[], OnScanCompletedListener</code>)</A></nobr><br>
+<!-- Field SCENE_MODE_BARCODE -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.SCENE_MODE_BARCODE" class="hiddenlink" target="rightframe">SCENE_MODE_BARCODE</A>
+</nobr><br>
+<!-- Field SCO_AUDIO_STATE_CONNECTED -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.SCO_AUDIO_STATE_CONNECTED" class="hiddenlink" target="rightframe">SCO_AUDIO_STATE_CONNECTED</A>
+</nobr><br>
+<!-- Field SCO_AUDIO_STATE_DISCONNECTED -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.SCO_AUDIO_STATE_DISCONNECTED" class="hiddenlink" target="rightframe">SCO_AUDIO_STATE_DISCONNECTED</A>
+</nobr><br>
+<!-- Field SCO_AUDIO_STATE_ERROR -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.SCO_AUDIO_STATE_ERROR" class="hiddenlink" target="rightframe">SCO_AUDIO_STATE_ERROR</A>
+</nobr><br>
+<!-- Field SCREEN_BRIGHTNESS_MODE -->
+<nobr><A HREF="android.provider.Settings.System.html#android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE" class="hiddenlink" target="rightframe">SCREEN_BRIGHTNESS_MODE</A>
+</nobr><br>
+<!-- Field SCREEN_BRIGHTNESS_MODE_AUTOMATIC -->
+<nobr><A HREF="android.provider.Settings.System.html#android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC" class="hiddenlink" target="rightframe">SCREEN_BRIGHTNESS_MODE_AUTOMATIC</A>
+</nobr><br>
+<!-- Field SCREEN_BRIGHTNESS_MODE_MANUAL -->
+<nobr><A HREF="android.provider.Settings.System.html#android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL" class="hiddenlink" target="rightframe">SCREEN_BRIGHTNESS_MODE_MANUAL</A>
+</nobr><br>
+<!-- Class SearchableInfo -->
+<A HREF="pkg_android.app.html#SearchableInfo" class="hiddenlink" target="rightframe"><b>SearchableInfo</b></A><br>
+<!-- Class SearchManager -->
+<A HREF="android.app.SearchManager.html" class="hiddenlink" target="rightframe">SearchManager</A><br>
+<!-- Class Sensor -->
+<A HREF="android.hardware.Sensor.html" class="hiddenlink" target="rightframe">Sensor</A><br>
+<!-- Field SET_TIME -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.SET_TIME" class="hiddenlink" target="rightframe">SET_TIME</A>
+</nobr><br>
+<!-- Method setAudioChannels -->
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.setAudioChannels_added(int)" class="hiddenlink" target="rightframe"><b>setAudioChannels</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setAudioEncodingBitRate -->
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.setAudioEncodingBitRate_added(int)" class="hiddenlink" target="rightframe"><b>setAudioEncodingBitRate</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setAudioSamplingRate -->
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.setAudioSamplingRate_added(int)" class="hiddenlink" target="rightframe"><b>setAudioSamplingRate</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setBlockNetworkLoads -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setBlockNetworkLoads_added(boolean)" class="hiddenlink" target="rightframe"><b>setBlockNetworkLoads</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setBundle -->
+<nobr><A HREF="android.widget.RemoteViews.html#android.widget.RemoteViews.setBundle_added(int, java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>setBundle</b>
+(<code>int, String, Bundle</code>)</A></nobr><br>
+<!-- Method setColorFilter -->
+<nobr><A HREF="android.widget.ImageView.html#android.widget.ImageView.setColorFilter_added(int)" class="hiddenlink" target="rightframe"><b>setColorFilter</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setDisplayOrientation -->
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.setDisplayOrientation_added(int)" class="hiddenlink" target="rightframe"><b>setDisplayOrientation</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setDocumentURI -->
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.setDocumentURI_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setDocumentURI</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method setEGLContextClientVersion -->
+<nobr><A HREF="android.opengl.GLSurfaceView.html#android.opengl.GLSurfaceView.setEGLContextClientVersion_added(int)" class="hiddenlink" target="rightframe"><b>setEGLContextClientVersion</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setEngineByPackageName -->
+<nobr><A HREF="android.speech.tts.TextToSpeech.html#android.speech.tts.TextToSpeech.setEngineByPackageName_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setEngineByPackageName</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method setExposureCompensation -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.setExposureCompensation_added(int)" class="hiddenlink" target="rightframe"><b>setExposureCompensation</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setGpsProcessingMethod -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.setGpsProcessingMethod_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setGpsProcessingMethod</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method setIdAttribute -->
+<nobr><A HREF="org.w3c.dom.Element.html#org.w3c.dom.Element.setIdAttribute_added(java.lang.String, boolean)" class="hiddenlink" target="rightframe"><b>setIdAttribute</b>
+(<code>String, boolean</code>)</A></nobr><br>
+<!-- Method setIdAttributeNode -->
+<nobr><A HREF="org.w3c.dom.Element.html#org.w3c.dom.Element.setIdAttributeNode_added(org.w3c.dom.Attr, boolean)" class="hiddenlink" target="rightframe"><b>setIdAttributeNode</b>
+(<code>Attr, boolean</code>)</A></nobr><br>
+<!-- Method setIdAttributeNS -->
+<nobr><A HREF="org.w3c.dom.Element.html#org.w3c.dom.Element.setIdAttributeNS_added(java.lang.String, java.lang.String, boolean)" class="hiddenlink" target="rightframe"><b>setIdAttributeNS</b>
+(<code>String, String, boolean</code>)</A></nobr><br>
+<!-- Method setLeftStripDrawable -->
+<i>setLeftStripDrawable</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.setLeftStripDrawable_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Drawable</code>)</b>&nbsp;in&nbsp;android.widget.TabWidget
+</A></nobr><br>
+<!-- Method setLeftStripDrawable -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.setLeftStripDrawable_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.widget.TabWidget
+</A></nobr><br>
+<!-- Method setLocationProviderEnabled -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.setLocationProviderEnabled_added(android.content.ContentResolver, java.lang.String, boolean)" class="hiddenlink" target="rightframe"><b>setLocationProviderEnabled</b>
+(<code>ContentResolver, String, boolean</code>)</A></nobr><br>
+<!-- Method setLookAtM -->
+<nobr><A HREF="android.opengl.Matrix.html#android.opengl.Matrix.setLookAtM_added(float[], int, float, float, float, float, float, float, float, float, float)" class="hiddenlink" target="rightframe"><b>setLookAtM</b>
+(<code>float[], int, float, float, float, float, float, float, float, float, float</code>)</A></nobr><br>
+<!-- Method setOnLoadCompleteListener -->
+<nobr><A HREF="android.media.SoundPool.html#android.media.SoundPool.setOnLoadCompleteListener_added(android.media.SoundPool.OnLoadCompleteListener)" class="hiddenlink" target="rightframe"><b>setOnLoadCompleteListener</b>
+(<code>OnLoadCompleteListener</code>)</A></nobr><br>
+<!-- Method setOnShowListener -->
+<nobr><A HREF="android.app.Dialog.html#android.app.Dialog.setOnShowListener_added(android.content.DialogInterface.OnShowListener)" class="hiddenlink" target="rightframe"><b>setOnShowListener</b>
+(<code>OnShowListener</code>)</A></nobr><br>
+<!-- Method setOption -->
+<nobr><A HREF="java.net.DatagramSocketImpl.html#java.net.DatagramSocketImpl.setOption_removed(int, java.lang.Object)" class="hiddenlink" target="rightframe"><strike>setOption</strike>
+(<code>int, Object</code>)</A></nobr><br>
+<!-- Method setPluginsEnabled -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setPluginsEnabled_changed(boolean)" class="hiddenlink" target="rightframe">setPluginsEnabled
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setPluginState -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setPluginState_added(android.webkit.WebSettings.PluginState)" class="hiddenlink" target="rightframe"><b>setPluginState</b>
+(<code>PluginState</code>)</A></nobr><br>
+<!-- Method setPreviewCallbackWithBuffer -->
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.setPreviewCallbackWithBuffer_added(android.hardware.Camera.PreviewCallback)" class="hiddenlink" target="rightframe"><b>setPreviewCallbackWithBuffer</b>
+(<code>PreviewCallback</code>)</A></nobr><br>
+<!-- Method setProfile -->
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.setProfile_added(android.media.CamcorderProfile)" class="hiddenlink" target="rightframe"><b>setProfile</b>
+(<code>CamcorderProfile</code>)</A></nobr><br>
+<!-- Method setRightStripDrawable -->
+<i>setRightStripDrawable</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.setRightStripDrawable_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Drawable</code>)</b>&nbsp;in&nbsp;android.widget.TabWidget
+</A></nobr><br>
+<!-- Method setRightStripDrawable -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.setRightStripDrawable_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.widget.TabWidget
+</A></nobr><br>
+<!-- Method setSchema -->
+<i>setSchema</i><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.DocumentBuilderFactory.html#javax.xml.parsers.DocumentBuilderFactory.setSchema_added(javax.xml.validation.Schema)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Schema</code>)</b>&nbsp;in&nbsp;javax.xml.parsers.DocumentBuilderFactory
+</A></nobr><br>
+<!-- Method setSchema -->
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.SAXParserFactory.html#javax.xml.parsers.SAXParserFactory.setSchema_added(javax.xml.validation.Schema)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Schema</code>)</b>&nbsp;in&nbsp;javax.xml.parsers.SAXParserFactory
+</A></nobr><br>
+<!-- Method setStrictErrorChecking -->
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.setStrictErrorChecking_added(boolean)" class="hiddenlink" target="rightframe"><b>setStrictErrorChecking</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setStripEnabled -->
+<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.setStripEnabled_added(boolean)" class="hiddenlink" target="rightframe"><b>setStripEnabled</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setTextContent -->
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.setTextContent_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setTextContent</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method setTime -->
+<nobr><A HREF="android.app.AlarmManager.html#android.app.AlarmManager.setTime_added(long)" class="hiddenlink" target="rightframe"><b>setTime</b>
+(<code>long</code>)</A></nobr><br>
+<!-- Class Settings -->
+<A HREF="android.provider.Settings.html" class="hiddenlink" target="rightframe">Settings</A><br>
+<!-- Class Settings.Secure -->
+<A HREF="android.provider.Settings.Secure.html" class="hiddenlink" target="rightframe">Settings.Secure</A><br>
+<!-- Class Settings.System -->
+<A HREF="android.provider.Settings.System.html" class="hiddenlink" target="rightframe">Settings.System</A><br>
+<!-- Method setTo -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.setTo_added(android.content.res.Configuration)" class="hiddenlink" target="rightframe"><b>setTo</b>
+(<code>Configuration</code>)</A></nobr><br>
+<!-- Method setUserData -->
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.setUserData_added(java.lang.String, java.lang.Object, org.w3c.dom.UserDataHandler)" class="hiddenlink" target="rightframe"><b>setUserData</b>
+(<code>String, Object, UserDataHandler</code>)</A></nobr><br>
+<!-- Method setVideoEncodingBitRate -->
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.setVideoEncodingBitRate_added(int)" class="hiddenlink" target="rightframe"><b>setVideoEncodingBitRate</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setXmlStandalone -->
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.setXmlStandalone_added(boolean)" class="hiddenlink" target="rightframe"><b>setXmlStandalone</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setXmlVersion -->
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.setXmlVersion_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setXmlVersion</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method setZoom -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.setZoom_added(int)" class="hiddenlink" target="rightframe"><b>setZoom</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setZoomChangeListener -->
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.setZoomChangeListener_added(android.hardware.Camera.OnZoomChangeListener)" class="hiddenlink" target="rightframe"><b>setZoomChangeListener</b>
+(<code>OnZoomChangeListener</code>)</A></nobr><br>
+<!-- Method showDialog -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.showDialog_added(int, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>showDialog</b>
+(<code>int, Bundle</code>)</A></nobr><br>
+<!-- Method smoothScrollBy -->
+<nobr><A HREF="android.widget.AbsListView.html#android.widget.AbsListView.smoothScrollBy_added(int, int)" class="hiddenlink" target="rightframe"><b>smoothScrollBy</b>
+(<code>int, int</code>)</A></nobr><br>
+<!-- Method smoothScrollToPosition -->
+<i>smoothScrollToPosition</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.AbsListView.html#android.widget.AbsListView.smoothScrollToPosition_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.widget.AbsListView
+</A></nobr><br>
+<!-- Method smoothScrollToPosition -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.AbsListView.html#android.widget.AbsListView.smoothScrollToPosition_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.widget.AbsListView
+</A></nobr><br>
+<!-- Class SoundPool -->
+<A HREF="android.media.SoundPool.html" class="hiddenlink" target="rightframe">SoundPool</A><br>
+<!-- Class SoundPool.OnLoadCompleteListener -->
+<A HREF="pkg_android.media.html#SoundPool.OnLoadCompleteListener" class="hiddenlink" target="rightframe"><b><i>SoundPool.OnLoadCompleteListener</i></b></A><br>
+<!-- Class SpeechRecognizer -->
+<A HREF="pkg_android.speech.html#SpeechRecognizer" class="hiddenlink" target="rightframe"><b>SpeechRecognizer</b></A><br>
+<!-- Class SQLiteDatabase -->
+<A HREF="android.database.sqlite.SQLiteDatabase.html" class="hiddenlink" target="rightframe">SQLiteDatabase</A><br>
+<!-- Class SQLiteProgram -->
+<A HREF="android.database.sqlite.SQLiteProgram.html" class="hiddenlink" target="rightframe">SQLiteProgram</A><br>
+<!-- Class SslCertificate -->
+<i>SslCertificate</i><br>
+&nbsp;&nbsp;<A HREF="android.net.http.SslCertificate.html" class="hiddenlink" target="rightframe">android.net.http</A><br>
+<!-- Constructor SslCertificate -->
+&nbsp;&nbsp;<nobr><A HREF="android.net.http.SslCertificate.html#android.net.http.SslCertificate.ctor_added(java.lang.String, java.lang.String, java.util.Date, java.util.Date)" class="hiddenlink" target="rightframe"><b>SslCertificate</b>
+(<code>String, String, Date, Date</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor SslCertificate -->
+&nbsp;&nbsp;<nobr><A HREF="android.net.http.SslCertificate.html#android.net.http.SslCertificate.ctor_changed(java.lang.String, java.lang.String, java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">SslCertificate
+(<code>String, String, String, String</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class SSLCertificateSocketFactory -->
+<i>SSLCertificateSocketFactory</i><br>
+&nbsp;&nbsp;<A HREF="android.net.SSLCertificateSocketFactory.html" class="hiddenlink" target="rightframe">android.net</A><br>
+<!-- Constructor SSLCertificateSocketFactory -->
+&nbsp;&nbsp;<nobr><A HREF="android.net.SSLCertificateSocketFactory.html#android.net.SSLCertificateSocketFactory.ctor_changed(int)" class="hiddenlink" target="rightframe">SSLCertificateSocketFactory
+(<code>int</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class SslError -->
+<A HREF="pkg_android.net.http.html#SslError" class="hiddenlink" target="rightframe"><b>SslError</b></A><br>
+<!-- Class SSLSessionCache -->
+<A HREF="pkg_android.net.html#SSLSessionCache" class="hiddenlink" target="rightframe"><b>SSLSessionCache</b></A><br>
+<!-- Field stackTrace -->
+<nobr><A HREF="android.app.ActivityManager.ProcessErrorStateInfo.html#android.app.ActivityManager.ProcessErrorStateInfo.stackTrace" class="hiddenlink" target="rightframe">stackTrace</A>
+</nobr><br>
+<!-- Method start -->
+<nobr><A HREF="java.util.regex.Matcher.html#java.util.regex.Matcher.start_changed()" class="hiddenlink" target="rightframe">start
+()</A></nobr><br>
+<!-- Method startBluetoothSco -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.startBluetoothSco_added()" class="hiddenlink" target="rightframe"><b>startBluetoothSco</b>
+()</A></nobr><br>
+<!-- Method startCacheTransaction -->
+<nobr><A HREF="android.webkit.CacheManager.html#android.webkit.CacheManager.startCacheTransaction_changed()" class="hiddenlink" target="rightframe">startCacheTransaction
+()</A></nobr><br>
+<!-- Method startMethodTracing -->
+<nobr><A HREF="dalvik.system.VMDebug.html#dalvik.system.VMDebug.startMethodTracing_changed()" class="hiddenlink" target="rightframe">startMethodTracing
+()</A></nobr><br>
+<!-- Method startSmoothZoom -->
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.startSmoothZoom_added(int)" class="hiddenlink" target="rightframe"><b>startSmoothZoom</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method stopBluetoothSco -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.stopBluetoothSco_added()" class="hiddenlink" target="rightframe"><b>stopBluetoothSco</b>
+()</A></nobr><br>
+<!-- Method stopSmoothZoom -->
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.stopSmoothZoom_added()" class="hiddenlink" target="rightframe"><b>stopSmoothZoom</b>
+()</A></nobr><br>
+<!-- Field SUGGEST_COLUMN_TEXT_2_URL -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.SUGGEST_COLUMN_TEXT_2_URL" class="hiddenlink" target="rightframe">SUGGEST_COLUMN_TEXT_2_URL</A>
+</nobr><br>
+<!-- Method suspend -->
+<nobr><A HREF="android.widget.VideoView.html#android.widget.VideoView.suspend_added()" class="hiddenlink" target="rightframe"><b>suspend</b>
+()</A></nobr><br>
+<!-- Field SYNC_EXTRAS_DO_NOT_RETRY -->
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.SYNC_EXTRAS_DO_NOT_RETRY" class="hiddenlink" target="rightframe">SYNC_EXTRAS_DO_NOT_RETRY</A>
+</nobr><br>
+<!-- Field SYNC_EXTRAS_IGNORE_BACKOFF -->
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.SYNC_EXTRAS_IGNORE_BACKOFF" class="hiddenlink" target="rightframe">SYNC_EXTRAS_IGNORE_BACKOFF</A>
+</nobr><br>
+<!-- Field SYNC_EXTRAS_IGNORE_SETTINGS -->
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.SYNC_EXTRAS_IGNORE_SETTINGS" class="hiddenlink" target="rightframe">SYNC_EXTRAS_IGNORE_SETTINGS</A>
+</nobr><br>
+<!-- Field SYNC_OBSERVER_TYPE_ACTIVE -->
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.SYNC_OBSERVER_TYPE_ACTIVE" class="hiddenlink" target="rightframe">SYNC_OBSERVER_TYPE_ACTIVE</A>
+</nobr><br>
+<!-- Field SYNC_OBSERVER_TYPE_PENDING -->
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.SYNC_OBSERVER_TYPE_PENDING" class="hiddenlink" target="rightframe">SYNC_OBSERVER_TYPE_PENDING</A>
+</nobr><br>
+<!-- Field SYNC_OBSERVER_TYPE_SETTINGS -->
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.SYNC_OBSERVER_TYPE_SETTINGS" class="hiddenlink" target="rightframe">SYNC_OBSERVER_TYPE_SETTINGS</A>
+</nobr><br>
+<!-- Class SyncInfo -->
+<A HREF="pkg_android.content.html#SyncInfo" class="hiddenlink" target="rightframe"><b>SyncInfo</b></A><br>
+<!-- Class SyncResult -->
+<A HREF="android.content.SyncResult.html" class="hiddenlink" target="rightframe">SyncResult</A><br>
+<!-- Field tabStripEnabled -->
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<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="#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="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</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="#X"><font size="-2">X</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.attr.html#android.R.attr.tabStripEnabled" class="hiddenlink" target="rightframe">tabStripEnabled</A>
+</nobr><br>
+<!-- Field tabStripLeft -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.tabStripLeft" class="hiddenlink" target="rightframe">tabStripLeft</A>
+</nobr><br>
+<!-- Field tabStripRight -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.tabStripRight" class="hiddenlink" target="rightframe">tabStripRight</A>
+</nobr><br>
+<!-- Class TabWidget -->
+<A HREF="android.widget.TabWidget.html" class="hiddenlink" target="rightframe">TabWidget</A><br>
+<!-- Field TAG_FOCAL_LENGTH -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_FOCAL_LENGTH" class="hiddenlink" target="rightframe">TAG_FOCAL_LENGTH</A>
+</nobr><br>
+<!-- Field TAG_GPS_DATESTAMP -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DATESTAMP" class="hiddenlink" target="rightframe">TAG_GPS_DATESTAMP</A>
+</nobr><br>
+<!-- Field TAG_GPS_PROCESSING_METHOD -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_PROCESSING_METHOD" class="hiddenlink" target="rightframe">TAG_GPS_PROCESSING_METHOD</A>
+</nobr><br>
+<!-- Field TAG_GPS_TIMESTAMP -->
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_TIMESTAMP" class="hiddenlink" target="rightframe">TAG_GPS_TIMESTAMP</A>
+</nobr><br>
+<!-- Class TelephonyManager -->
+<A HREF="android.telephony.TelephonyManager.html" class="hiddenlink" target="rightframe">TelephonyManager</A><br>
+<!-- Class Text -->
+<A HREF="org.w3c.dom.Text.html" class="hiddenlink" target="rightframe"><i>Text</i></A><br>
+<!-- Class TextToSpeech -->
+<A HREF="android.speech.tts.TextToSpeech.html" class="hiddenlink" target="rightframe">TextToSpeech</A><br>
+<!-- Class TextToSpeech.Engine -->
+<A HREF="android.speech.tts.TextToSpeech.Engine.html" class="hiddenlink" target="rightframe">TextToSpeech.Engine</A><br>
+<!-- Class ThumbnailUtils -->
+<A HREF="pkg_android.media.html#ThumbnailUtils" class="hiddenlink" target="rightframe"><b>ThumbnailUtils</b></A><br>
+<!-- Method tokenize -->
+<nobr><A HREF="android.text.util.Rfc822Tokenizer.html#android.text.util.Rfc822Tokenizer.tokenize_added(java.lang.CharSequence, java.util.Collection<android.text.util.Rfc822Token>)" class="hiddenlink" target="rightframe"><b>tokenize</b>
+(<code>CharSequence, Collection&lt;Rfc822Token&gt;</code>)</A></nobr><br>
+<!-- Class TrafficStats -->
+<A HREF="pkg_android.net.html#TrafficStats" class="hiddenlink" target="rightframe"><b>TrafficStats</b></A><br>
+<!-- Field TTS_ENABLED_PLUGINS -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.TTS_ENABLED_PLUGINS" class="hiddenlink" target="rightframe">TTS_ENABLED_PLUGINS</A>
+</nobr><br>
+<!-- Field TYPE_MISMATCH_ERR -->
+<nobr><A HREF="org.w3c.dom.DOMException.html#org.w3c.dom.DOMException.TYPE_MISMATCH_ERR" class="hiddenlink" target="rightframe">TYPE_MISMATCH_ERR</A>
+</nobr><br>
+<!-- Field TYPE_MOBILE_DUN -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.TYPE_MOBILE_DUN" class="hiddenlink" target="rightframe">TYPE_MOBILE_DUN</A>
+</nobr><br>
+<!-- Field TYPE_MOBILE_HIPRI -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.TYPE_MOBILE_HIPRI" class="hiddenlink" target="rightframe">TYPE_MOBILE_HIPRI</A>
+</nobr><br>
+<!-- Field TYPE_MOBILE_MMS -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.TYPE_MOBILE_MMS" class="hiddenlink" target="rightframe">TYPE_MOBILE_MMS</A>
+</nobr><br>
+<!-- Field TYPE_MOBILE_SUPL -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.TYPE_MOBILE_SUPL" class="hiddenlink" target="rightframe">TYPE_MOBILE_SUPL</A>
+</nobr><br>
+<!-- Field TYPE_ORIENTATION -->
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_ORIENTATION" class="hiddenlink" target="rightframe">TYPE_ORIENTATION</A>
+</nobr><br>
+<!-- Field TYPE_WIMAX -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.TYPE_WIMAX" class="hiddenlink" target="rightframe">TYPE_WIMAX</A>
+</nobr><br>
+<!-- Class TypeInfo -->
+<A HREF="pkg_org.w3c.dom.html#TypeInfo" class="hiddenlink" target="rightframe"><b><i>TypeInfo</i></b></A><br>
+<!-- Field UI_MODE_NIGHT_MASK -->
+<A NAME="U"></A>
+<br><font size="+2">U</font>&nbsp;
+<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="#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="#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="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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.content.res.Configuration.html#android.content.res.Configuration.UI_MODE_NIGHT_MASK" class="hiddenlink" target="rightframe">UI_MODE_NIGHT_MASK</A>
+</nobr><br>
+<!-- Field UI_MODE_NIGHT_NO -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.UI_MODE_NIGHT_NO" class="hiddenlink" target="rightframe">UI_MODE_NIGHT_NO</A>
+</nobr><br>
+<!-- Field UI_MODE_NIGHT_UNDEFINED -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.UI_MODE_NIGHT_UNDEFINED" class="hiddenlink" target="rightframe">UI_MODE_NIGHT_UNDEFINED</A>
+</nobr><br>
+<!-- Field UI_MODE_NIGHT_YES -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.UI_MODE_NIGHT_YES" class="hiddenlink" target="rightframe">UI_MODE_NIGHT_YES</A>
+</nobr><br>
+<!-- Field UI_MODE_SERVICE -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.UI_MODE_SERVICE" class="hiddenlink" target="rightframe">UI_MODE_SERVICE</A>
+</nobr><br>
+<!-- Field UI_MODE_TYPE_CAR -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.UI_MODE_TYPE_CAR" class="hiddenlink" target="rightframe">UI_MODE_TYPE_CAR</A>
+</nobr><br>
+<!-- Field UI_MODE_TYPE_DESK -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.UI_MODE_TYPE_DESK" class="hiddenlink" target="rightframe">UI_MODE_TYPE_DESK</A>
+</nobr><br>
+<!-- Field UI_MODE_TYPE_MASK -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.UI_MODE_TYPE_MASK" class="hiddenlink" target="rightframe">UI_MODE_TYPE_MASK</A>
+</nobr><br>
+<!-- Field UI_MODE_TYPE_NORMAL -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.UI_MODE_TYPE_NORMAL" class="hiddenlink" target="rightframe">UI_MODE_TYPE_NORMAL</A>
+</nobr><br>
+<!-- Field UI_MODE_TYPE_UNDEFINED -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.UI_MODE_TYPE_UNDEFINED" class="hiddenlink" target="rightframe">UI_MODE_TYPE_UNDEFINED</A>
+</nobr><br>
+<!-- Field uiMode -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.uiMode" class="hiddenlink" target="rightframe">uiMode</A>
+</nobr><br>
+<!-- Class UiModeManager -->
+<A HREF="pkg_android.app.html#UiModeManager" class="hiddenlink" target="rightframe"><b>UiModeManager</b></A><br>
+<!-- Field UNKNOWN -->
+<nobr><A HREF="android.os.Build.html#android.os.Build.UNKNOWN" class="hiddenlink" target="rightframe">UNKNOWN</A>
+</nobr><br>
+<!-- Field UNKNOWN_STRING -->
+<nobr><A HREF="android.provider.MediaStore.html#android.provider.MediaStore.UNKNOWN_STRING" class="hiddenlink" target="rightframe">UNKNOWN_STRING</A>
+</nobr><br>
+<!-- Method unregisterMediaButtonEventReceiver -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.unregisterMediaButtonEventReceiver_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>unregisterMediaButtonEventReceiver</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method updateWithOnConflict -->
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.updateWithOnConflict_added(java.lang.String, android.content.ContentValues, java.lang.String, java.lang.String[], int)" class="hiddenlink" target="rightframe"><b>updateWithOnConflict</b>
+(<code>String, ContentValues, String, String[], int</code>)</A></nobr><br>
+<!-- Class UserDataHandler -->
+<A HREF="pkg_org.w3c.dom.html#UserDataHandler" class="hiddenlink" target="rightframe"><b><i>UserDataHandler</i></b></A><br>
+<!-- Field VALIDATION_ERR -->
+<A NAME="V"></A>
+<br><font size="+2">V</font>&nbsp;
+<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="#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="#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="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="org.w3c.dom.DOMException.html#org.w3c.dom.DOMException.VALIDATION_ERR" class="hiddenlink" target="rightframe">VALIDATION_ERR</A>
+</nobr><br>
+<!-- Class VelocityTracker -->
+<A HREF="android.view.VelocityTracker.html" class="hiddenlink" target="rightframe">VelocityTracker</A><br>
+<!-- Class VideoView -->
+<A HREF="android.widget.VideoView.html" class="hiddenlink" target="rightframe">VideoView</A><br>
+<!-- Class View -->
+<A HREF="android.view.View.html" class="hiddenlink" target="rightframe">View</A><br>
+<!-- Class ViewConfiguration -->
+<A HREF="android.view.ViewConfiguration.html" class="hiddenlink" target="rightframe">ViewConfiguration</A><br>
+<!-- Class ViewGroup.LayoutParams -->
+<A HREF="android.view.ViewGroup.LayoutParams.html" class="hiddenlink" target="rightframe">ViewGroup.LayoutParams</A><br>
+<!-- Class VMDebug -->
+<A HREF="dalvik.system.VMDebug.html" class="hiddenlink" target="rightframe">VMDebug</A><br>
+<!-- Field vmSafeMode -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.vmSafeMode" class="hiddenlink" target="rightframe">vmSafeMode</A>
+</nobr><br>
+<!-- Field VOLUME_BLUETOOTH_SCO -->
+<nobr><A HREF="android.provider.Settings.System.html#android.provider.Settings.System.VOLUME_BLUETOOTH_SCO" class="hiddenlink" target="rightframe">VOLUME_BLUETOOTH_SCO</A>
+</nobr><br>
+<!-- Class WebChromeClient -->
+<A NAME="W"></A>
+<br><font size="+2">W</font>&nbsp;
+<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="#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="#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="#X"><font size="-2">X</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="android.webkit.WebChromeClient.html" class="hiddenlink" target="rightframe">WebChromeClient</A><br>
+<!-- Class WebSettings -->
+<A HREF="android.webkit.WebSettings.html" class="hiddenlink" target="rightframe">WebSettings</A><br>
+<!-- Class WebSettings.PluginState -->
+<A HREF="pkg_android.webkit.html#WebSettings.PluginState" class="hiddenlink" target="rightframe"><b>WebSettings.PluginState</b></A><br>
+<!-- Field webTextViewStyle -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.webTextViewStyle" class="hiddenlink" target="rightframe">webTextViewStyle</A>
+</nobr><br>
+<!-- Class WebView -->
+<A HREF="android.webkit.WebView.html" class="hiddenlink" target="rightframe">WebView</A><br>
+<!-- Class WebViewClient -->
+<A HREF="android.webkit.WebViewClient.html" class="hiddenlink" target="rightframe">WebViewClient</A><br>
+<!-- Class WindowManager.LayoutParams -->
+<A HREF="android.view.WindowManager.LayoutParams.html" class="hiddenlink" target="rightframe">WindowManager.LayoutParams</A><br>
+<!-- Method wtf -->
+<i>wtf</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.util.Log.html#android.util.Log.wtf_added(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, String</code>)</b>&nbsp;in&nbsp;android.util.Log
+</A></nobr><br>
+<!-- Method wtf -->
+&nbsp;&nbsp;<nobr><A HREF="android.util.Log.html#android.util.Log.wtf_added(java.lang.String, java.lang.String, java.lang.Throwable)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, String, Throwable</code>)</b>&nbsp;in&nbsp;android.util.Log
+</A></nobr><br>
+<!-- Method wtf -->
+&nbsp;&nbsp;<nobr><A HREF="android.util.Log.html#android.util.Log.wtf_added(java.lang.String, java.lang.Throwable)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, Throwable</code>)</b>&nbsp;in&nbsp;android.util.Log
+</A></nobr><br>
+<!-- Class XMLConstants -->
+<A NAME="X"></A>
+<br><font size="+2">X</font>&nbsp;
+<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="#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="#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">
+<i>XMLConstants</i><br>
+&nbsp;&nbsp;<A HREF="javax.xml.XMLConstants.html" class="hiddenlink" target="rightframe">javax.xml</A><br>
+<!-- Constructor XMLConstants -->
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.XMLConstants.html#javax.xml.XMLConstants.ctor_removed()" class="hiddenlink" target="rightframe"><strike>XMLConstants</strike>
+()</A></nobr>&nbsp;constructor<br>
+<!-- Field YCbCr_420_SP -->
+<A NAME="Y"></A>
+<br><font size="+2">Y</font>&nbsp;
+<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="#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="#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="#X"><font size="-2">X</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.graphics.PixelFormat.html#android.graphics.PixelFormat.YCbCr_420_SP" class="hiddenlink" target="rightframe">YCbCr_420_SP</A>
+</nobr><br>
+<!-- Field YCbCr_422_I -->
+<nobr><A HREF="android.graphics.PixelFormat.html#android.graphics.PixelFormat.YCbCr_422_I" class="hiddenlink" target="rightframe">YCbCr_422_I</A>
+</nobr><br>
+<!-- Field YCbCr_422_SP -->
+<nobr><A HREF="android.graphics.PixelFormat.html#android.graphics.PixelFormat.YCbCr_422_SP" class="hiddenlink" target="rightframe">YCbCr_422_SP</A>
+</nobr><br>
+<!-- Class YuvImage -->
+<A HREF="pkg_android.graphics.html#YuvImage" class="hiddenlink" target="rightframe"><b>YuvImage</b></A><br>
+<!-- Class Zygote -->
+<A NAME="Z"></A>
+<br><font size="+2">Z</font>&nbsp;
+<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="#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="#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="#X"><font size="-2">X</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="dalvik.system.Zygote.html" class="hiddenlink" target="rightframe">Zygote</A><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/alldiffs_index_changes.html b/docs/html/sdk/api_diff/8/changes/alldiffs_index_changes.html
new file mode 100644
index 0000000..5bbba42
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/alldiffs_index_changes.html
@@ -0,0 +1,1139 @@
+<!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>
+All Changes Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<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>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="alldiffs_index_all.html" xclass="hiddenlink">All Differences</a>
+  <br>
+<A HREF="alldiffs_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<A HREF="alldiffs_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<b>Changes</b>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+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>
+<br><font size="+2">A</font>&nbsp;
+<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="#J"><font size="-2">J</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="#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="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="android.widget.AbsListView.html" class="hiddenlink" target="rightframe">AbsListView</A><br>
+<!-- Class AbstractThreadedSyncAdapter -->
+<A HREF="android.content.AbstractThreadedSyncAdapter.html" class="hiddenlink" target="rightframe">AbstractThreadedSyncAdapter</A><br>
+<!-- Class AccountManager -->
+<A HREF="android.accounts.AccountManager.html" class="hiddenlink" target="rightframe">AccountManager</A><br>
+<!-- Field ACTION_POINTER_1_DOWN -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_1_DOWN" class="hiddenlink" target="rightframe">ACTION_POINTER_1_DOWN</A>
+</nobr><br>
+<!-- Field ACTION_POINTER_1_UP -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_1_UP" class="hiddenlink" target="rightframe">ACTION_POINTER_1_UP</A>
+</nobr><br>
+<!-- Field ACTION_POINTER_2_DOWN -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_2_DOWN" class="hiddenlink" target="rightframe">ACTION_POINTER_2_DOWN</A>
+</nobr><br>
+<!-- Field ACTION_POINTER_2_UP -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_2_UP" class="hiddenlink" target="rightframe">ACTION_POINTER_2_UP</A>
+</nobr><br>
+<!-- Field ACTION_POINTER_3_DOWN -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_3_DOWN" class="hiddenlink" target="rightframe">ACTION_POINTER_3_DOWN</A>
+</nobr><br>
+<!-- Field ACTION_POINTER_3_UP -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_3_UP" class="hiddenlink" target="rightframe">ACTION_POINTER_3_UP</A>
+</nobr><br>
+<!-- Field ACTION_POINTER_ID_MASK -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_ID_MASK" class="hiddenlink" target="rightframe">ACTION_POINTER_ID_MASK</A>
+</nobr><br>
+<!-- Field ACTION_POINTER_ID_SHIFT -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_ID_SHIFT" class="hiddenlink" target="rightframe">ACTION_POINTER_ID_SHIFT</A>
+</nobr><br>
+<!-- Class Activity -->
+<A HREF="android.app.Activity.html" class="hiddenlink" target="rightframe">Activity</A><br>
+<!-- Class ActivityInfo -->
+<A HREF="android.content.pm.ActivityInfo.html" class="hiddenlink" target="rightframe">ActivityInfo</A><br>
+<!-- Class ActivityInstrumentationTestCase2 -->
+<i>ActivityInstrumentationTestCase2</i><br>
+&nbsp;&nbsp;<A HREF="android.test.ActivityInstrumentationTestCase2.html" class="hiddenlink" target="rightframe">android.test</A><br>
+<!-- Constructor ActivityInstrumentationTestCase2 -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.ActivityInstrumentationTestCase2.html#android.test.ActivityInstrumentationTestCase2.ctor_changed(java.lang.String, java.lang.Class<T>)" class="hiddenlink" target="rightframe">ActivityInstrumentationTestCase2
+(<code>String, Class&lt;T&gt;</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class ActivityManager -->
+<A HREF="android.app.ActivityManager.html" class="hiddenlink" target="rightframe">ActivityManager</A><br>
+<!-- Class ActivityManager.ProcessErrorStateInfo -->
+<A HREF="android.app.ActivityManager.ProcessErrorStateInfo.html" class="hiddenlink" target="rightframe">ActivityManager.ProcessErrorStateInfo</A><br>
+<!-- Method addPreferredActivity -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.addPreferredActivity_changed(android.content.IntentFilter, int, android.content.ComponentName[], android.content.ComponentName)" class="hiddenlink" target="rightframe">addPreferredActivity
+(<code>IntentFilter, int, ComponentName[], ComponentName</code>)</A></nobr><br>
+<!-- Class AlarmManager -->
+<A HREF="android.app.AlarmManager.html" class="hiddenlink" target="rightframe">AlarmManager</A><br>
+<!-- Package android -->
+<A HREF="pkg_android.html" class="hiddenlink" target="rightframe">android</A><br>
+<!-- Package android.accounts -->
+<A HREF="pkg_android.accounts.html" class="hiddenlink" target="rightframe">android.accounts</A><br>
+<!-- Package android.app -->
+<A HREF="pkg_android.app.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<!-- Package android.content -->
+<A HREF="pkg_android.content.html" class="hiddenlink" target="rightframe">android.content</A><br>
+<!-- Package android.content.pm -->
+<A HREF="pkg_android.content.pm.html" class="hiddenlink" target="rightframe">android.content.pm</A><br>
+<!-- Package android.content.res -->
+<A HREF="pkg_android.content.res.html" class="hiddenlink" target="rightframe">android.content.res</A><br>
+<!-- Package android.database -->
+<A HREF="pkg_android.database.html" class="hiddenlink" target="rightframe">android.database</A><br>
+<!-- Package android.database.sqlite -->
+<A HREF="pkg_android.database.sqlite.html" class="hiddenlink" target="rightframe">android.database.sqlite</A><br>
+<!-- Package android.gesture -->
+<A HREF="pkg_android.gesture.html" class="hiddenlink" target="rightframe">android.gesture</A><br>
+<!-- Package android.graphics -->
+<A HREF="pkg_android.graphics.html" class="hiddenlink" target="rightframe">android.graphics</A><br>
+<!-- Package android.hardware -->
+<A HREF="pkg_android.hardware.html" class="hiddenlink" target="rightframe">android.hardware</A><br>
+<!-- Package android.location -->
+<A HREF="pkg_android.location.html" class="hiddenlink" target="rightframe">android.location</A><br>
+<!-- Package android.media -->
+<A HREF="pkg_android.media.html" class="hiddenlink" target="rightframe">android.media</A><br>
+<!-- Package android.net -->
+<A HREF="pkg_android.net.html" class="hiddenlink" target="rightframe">android.net</A><br>
+<!-- Package android.net.http -->
+<A HREF="pkg_android.net.http.html" class="hiddenlink" target="rightframe">android.net.http</A><br>
+<!-- Package android.opengl -->
+<A HREF="pkg_android.opengl.html" class="hiddenlink" target="rightframe">android.opengl</A><br>
+<!-- Package android.os -->
+<A HREF="pkg_android.os.html" class="hiddenlink" target="rightframe">android.os</A><br>
+<!-- Package android.provider -->
+<A HREF="pkg_android.provider.html" class="hiddenlink" target="rightframe">android.provider</A><br>
+<!-- Package android.speech -->
+<A HREF="pkg_android.speech.html" class="hiddenlink" target="rightframe">android.speech</A><br>
+<!-- Package android.speech.tts -->
+<A HREF="pkg_android.speech.tts.html" class="hiddenlink" target="rightframe">android.speech.tts</A><br>
+<!-- Package android.telephony -->
+<A HREF="pkg_android.telephony.html" class="hiddenlink" target="rightframe">android.telephony</A><br>
+<!-- Package android.test -->
+<A HREF="pkg_android.test.html" class="hiddenlink" target="rightframe">android.test</A><br>
+<!-- Package android.test.mock -->
+<A HREF="pkg_android.test.mock.html" class="hiddenlink" target="rightframe">android.test.mock</A><br>
+<!-- Package android.text -->
+<A HREF="pkg_android.text.html" class="hiddenlink" target="rightframe">android.text</A><br>
+<!-- Package android.text.style -->
+<A HREF="pkg_android.text.style.html" class="hiddenlink" target="rightframe">android.text.style</A><br>
+<!-- Package android.text.util -->
+<A HREF="pkg_android.text.util.html" class="hiddenlink" target="rightframe">android.text.util</A><br>
+<!-- Package android.util -->
+<A HREF="pkg_android.util.html" class="hiddenlink" target="rightframe">android.util</A><br>
+<!-- Package android.view -->
+<A HREF="pkg_android.view.html" class="hiddenlink" target="rightframe">android.view</A><br>
+<!-- Package android.view.animation -->
+<A HREF="pkg_android.view.animation.html" class="hiddenlink" target="rightframe">android.view.animation</A><br>
+<!-- Package android.webkit -->
+<A HREF="pkg_android.webkit.html" class="hiddenlink" target="rightframe">android.webkit</A><br>
+<!-- Package android.widget -->
+<A HREF="pkg_android.widget.html" class="hiddenlink" target="rightframe">android.widget</A><br>
+<!-- Class AndroidCharacter -->
+<A HREF="android.text.AndroidCharacter.html" class="hiddenlink" target="rightframe">AndroidCharacter</A><br>
+<!-- Class Animation -->
+<A HREF="android.view.animation.Animation.html" class="hiddenlink" target="rightframe">Animation</A><br>
+<!-- Method appendReplacement -->
+<nobr><A HREF="java.util.regex.Matcher.html#java.util.regex.Matcher.appendReplacement_changed(java.lang.StringBuffer, java.lang.String)" class="hiddenlink" target="rightframe">appendReplacement
+(<code>StringBuffer, String</code>)</A></nobr><br>
+<!-- Class ApplicationInfo -->
+<A HREF="android.content.pm.ApplicationInfo.html" class="hiddenlink" target="rightframe">ApplicationInfo</A><br>
+<!-- Class ArrayList -->
+<A HREF="java.util.ArrayList.html" class="hiddenlink" target="rightframe">ArrayList</A><br>
+<!-- Class Attr -->
+<A HREF="org.w3c.dom.Attr.html" class="hiddenlink" target="rightframe"><i>Attr</i></A><br>
+<!-- Class AudioManager -->
+<A HREF="android.media.AudioManager.html" class="hiddenlink" target="rightframe">AudioManager</A><br>
+<!-- Class BaseExpandableListAdapter -->
+<A NAME="B"></A>
+<br><font size="+2">B</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#J"><font size="-2">J</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="#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="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="android.widget.BaseExpandableListAdapter.html" class="hiddenlink" target="rightframe">BaseExpandableListAdapter</A><br>
+<!-- Class Browser -->
+<A HREF="android.provider.Browser.html" class="hiddenlink" target="rightframe">Browser</A><br>
+<!-- Class Build -->
+<A HREF="android.os.Build.html" class="hiddenlink" target="rightframe">Build</A><br>
+<!-- Class Build.VERSION_CODES -->
+<A HREF="android.os.Build.VERSION_CODES.html" class="hiddenlink" target="rightframe">Build.VERSION_CODES</A><br>
+<!-- Class Bundle -->
+<A HREF="android.os.Bundle.html" class="hiddenlink" target="rightframe">Bundle</A><br>
+<!-- Class CacheManager -->
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</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="#J"><font size="-2">J</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="#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="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="android.webkit.CacheManager.html" class="hiddenlink" target="rightframe">CacheManager</A><br>
+<!-- Class CallLog.Calls -->
+<A HREF="android.provider.CallLog.Calls.html" class="hiddenlink" target="rightframe">CallLog.Calls</A><br>
+<!-- Class Camera -->
+<A HREF="android.hardware.Camera.html" class="hiddenlink" target="rightframe">Camera</A><br>
+<!-- Class Camera.Parameters -->
+<A HREF="android.hardware.Camera.Parameters.html" class="hiddenlink" target="rightframe">Camera.Parameters</A><br>
+<!-- Class Charset -->
+<A HREF="java.nio.charset.Charset.html" class="hiddenlink" target="rightframe">Charset</A><br>
+<!-- Method clone -->
+<i>clone</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ComponentName.html#android.content.ComponentName.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.content.ComponentName
+</A></nobr><br>
+<!-- Method clone -->
+&nbsp;&nbsp;<nobr><A HREF="android.gesture.Gesture.html#android.gesture.Gesture.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.gesture.Gesture
+</A></nobr><br>
+<!-- Method clone -->
+&nbsp;&nbsp;<nobr><A HREF="android.gesture.GesturePoint.html#android.gesture.GesturePoint.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.gesture.GesturePoint
+</A></nobr><br>
+<!-- Method clone -->
+&nbsp;&nbsp;<nobr><A HREF="android.gesture.GestureStroke.html#android.gesture.GestureStroke.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.gesture.GestureStroke
+</A></nobr><br>
+<!-- Method compile -->
+<i>compile</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.database.sqlite.SQLiteProgram.html#android.database.sqlite.SQLiteProgram.compile_changed(java.lang.String, boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, boolean</code>)&nbsp;in&nbsp;android.database.sqlite.SQLiteProgram
+</A></nobr><br>
+<!-- Method compile -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.regex.Pattern.html#java.util.regex.Pattern.compile_changed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String</code>)&nbsp;in&nbsp;java.util.regex.Pattern
+</A></nobr><br>
+<!-- Class ComponentInfo -->
+<A HREF="android.content.pm.ComponentInfo.html" class="hiddenlink" target="rightframe">ComponentInfo</A><br>
+<!-- Class ComponentName -->
+<A HREF="android.content.ComponentName.html" class="hiddenlink" target="rightframe">ComponentName</A><br>
+<!-- Class Configuration -->
+<A HREF="android.content.res.Configuration.html" class="hiddenlink" target="rightframe">Configuration</A><br>
+<!-- Class ConnectivityManager -->
+<A HREF="android.net.ConnectivityManager.html" class="hiddenlink" target="rightframe">ConnectivityManager</A><br>
+<!-- Class Contacts.PresenceColumns -->
+<A HREF="android.provider.Contacts.PresenceColumns.html" class="hiddenlink" target="rightframe"><i>Contacts.PresenceColumns</i></A><br>
+<!-- Class ContactsContract.Groups -->
+<A HREF="android.provider.ContactsContract.Groups.html" class="hiddenlink" target="rightframe">ContactsContract.Groups</A><br>
+<!-- Class ContactsContract.RawContacts -->
+<A HREF="android.provider.ContactsContract.RawContacts.html" class="hiddenlink" target="rightframe">ContactsContract.RawContacts</A><br>
+<!-- Class ContactsContract.StatusColumns -->
+<A HREF="android.provider.ContactsContract.StatusColumns.html" class="hiddenlink" target="rightframe"><i>ContactsContract.StatusColumns</i></A><br>
+<!-- Class ContentResolver -->
+<A HREF="android.content.ContentResolver.html" class="hiddenlink" target="rightframe">ContentResolver</A><br>
+<!-- Class Context -->
+<A HREF="android.content.Context.html" class="hiddenlink" target="rightframe">Context</A><br>
+<!-- Class ContextWrapper -->
+<A HREF="android.content.ContextWrapper.html" class="hiddenlink" target="rightframe">ContextWrapper</A><br>
+<!-- Package dalvik.bytecode -->
+<A NAME="D"></A>
+<A HREF="pkg_dalvik.bytecode.html" class="hiddenlink" target="rightframe">dalvik.bytecode</A><br>
+<!-- Package dalvik.system -->
+<A HREF="pkg_dalvik.system.html" class="hiddenlink" target="rightframe">dalvik.system</A><br>
+<!-- Class DatabaseUtils -->
+<A HREF="android.database.DatabaseUtils.html" class="hiddenlink" target="rightframe">DatabaseUtils</A><br>
+<!-- Class DatagramSocketImpl -->
+<A HREF="java.net.DatagramSocketImpl.html" class="hiddenlink" target="rightframe">DatagramSocketImpl</A><br>
+<!-- Class Debug -->
+<A HREF="android.os.Debug.html" class="hiddenlink" target="rightframe">Debug</A><br>
+<!-- Field DEFAULT_METHOD_TRACE_FILE_NAME -->
+<nobr><A HREF="dalvik.system.VMDebug.html#dalvik.system.VMDebug.DEFAULT_METHOD_TRACE_FILE_NAME" class="hiddenlink" target="rightframe">DEFAULT_METHOD_TRACE_FILE_NAME</A>
+</nobr><br>
+<!-- Class Dialog -->
+<A HREF="android.app.Dialog.html" class="hiddenlink" target="rightframe">Dialog</A><br>
+<!-- Class Display -->
+<A HREF="android.view.Display.html" class="hiddenlink" target="rightframe">Display</A><br>
+<!-- Class Document -->
+<A HREF="org.w3c.dom.Document.html" class="hiddenlink" target="rightframe"><i>Document</i></A><br>
+<!-- Class DocumentBuilder -->
+<A HREF="javax.xml.parsers.DocumentBuilder.html" class="hiddenlink" target="rightframe">DocumentBuilder</A><br>
+<!-- Class DocumentBuilderFactory -->
+<A HREF="javax.xml.parsers.DocumentBuilderFactory.html" class="hiddenlink" target="rightframe">DocumentBuilderFactory</A><br>
+<!-- Class DOMException -->
+<A HREF="org.w3c.dom.DOMException.html" class="hiddenlink" target="rightframe">DOMException</A><br>
+<!-- Class DOMImplementation -->
+<A HREF="org.w3c.dom.DOMImplementation.html" class="hiddenlink" target="rightframe"><i>DOMImplementation</i></A><br>
+<!-- Class Element -->
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<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="#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="#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="#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="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="org.w3c.dom.Element.html" class="hiddenlink" target="rightframe"><i>Element</i></A><br>
+<!-- Method endCacheTransaction -->
+<nobr><A HREF="android.webkit.CacheManager.html#android.webkit.CacheManager.endCacheTransaction_changed()" class="hiddenlink" target="rightframe">endCacheTransaction
+()</A></nobr><br>
+<!-- Class Entity -->
+<A HREF="org.w3c.dom.Entity.html" class="hiddenlink" target="rightframe"><i>Entity</i></A><br>
+<!-- Class Environment -->
+<A HREF="android.os.Environment.html" class="hiddenlink" target="rightframe">Environment</A><br>
+<!-- Class EventLogTags -->
+<A HREF="android.util.EventLogTags.html" class="hiddenlink" target="rightframe">EventLogTags</A><br>
+<!-- Class ExifInterface -->
+<A HREF="android.media.ExifInterface.html" class="hiddenlink" target="rightframe">ExifInterface</A><br>
+<!-- Field FILL_PARENT -->
+<A NAME="F"></A>
+<br><font size="+2">F</font>&nbsp;
+<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="#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="#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="#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="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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.view.ViewGroup.LayoutParams.html#android.view.ViewGroup.LayoutParams.FILL_PARENT" class="hiddenlink" target="rightframe">FILL_PARENT</A>
+</nobr><br>
+<!-- Method forName -->
+<nobr><A HREF="java.nio.charset.Charset.html#java.nio.charset.Charset.forName_changed(java.lang.String)" class="hiddenlink" target="rightframe">forName
+(<code>String</code>)</A></nobr><br>
+<!-- Class Gesture -->
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<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="#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="#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="#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="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="android.gesture.Gesture.html" class="hiddenlink" target="rightframe">Gesture</A><br>
+<!-- Class GestureDetector -->
+<A HREF="android.view.GestureDetector.html" class="hiddenlink" target="rightframe">GestureDetector</A><br>
+<!-- Class GesturePoint -->
+<A HREF="android.gesture.GesturePoint.html" class="hiddenlink" target="rightframe">GesturePoint</A><br>
+<!-- Class GestureStroke -->
+<A HREF="android.gesture.GestureStroke.html" class="hiddenlink" target="rightframe">GestureStroke</A><br>
+<!-- Method getAttributeNodeNS -->
+<nobr><A HREF="org.w3c.dom.Element.html#org.w3c.dom.Element.getAttributeNodeNS_changed(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">getAttributeNodeNS
+(<code>String, String</code>)</A></nobr><br>
+<!-- Method getAttributeNS -->
+<nobr><A HREF="org.w3c.dom.Element.html#org.w3c.dom.Element.getAttributeNS_changed(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">getAttributeNS
+(<code>String, String</code>)</A></nobr><br>
+<!-- Method getCheckItemIds -->
+<nobr><A HREF="android.widget.ListView.html#android.widget.ListView.getCheckItemIds_changed()" class="hiddenlink" target="rightframe">getCheckItemIds
+()</A></nobr><br>
+<!-- Method getElementsByTagNameNS -->
+<nobr><A HREF="org.w3c.dom.Element.html#org.w3c.dom.Element.getElementsByTagNameNS_changed(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">getElementsByTagNameNS
+(<code>String, String</code>)</A></nobr><br>
+<!-- Method getNamedItemNS -->
+<nobr><A HREF="org.w3c.dom.NamedNodeMap.html#org.w3c.dom.NamedNodeMap.getNamedItemNS_changed(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">getNamedItemNS
+(<code>String, String</code>)</A></nobr><br>
+<!-- Method getOrientation -->
+<nobr><A HREF="android.view.Display.html#android.view.Display.getOrientation_changed()" class="hiddenlink" target="rightframe">getOrientation
+()</A></nobr><br>
+<!-- Method getPluginsEnabled -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getPluginsEnabled_changed()" class="hiddenlink" target="rightframe">getPluginsEnabled
+()</A></nobr><br>
+<!-- Method getValidNotAfter -->
+<nobr><A HREF="android.net.http.SslCertificate.html#android.net.http.SslCertificate.getValidNotAfter_changed()" class="hiddenlink" target="rightframe">getValidNotAfter
+()</A></nobr><br>
+<!-- Method getValidNotBefore -->
+<nobr><A HREF="android.net.http.SslCertificate.html#android.net.http.SslCertificate.getValidNotBefore_changed()" class="hiddenlink" target="rightframe">getValidNotBefore
+()</A></nobr><br>
+<!-- Class GLSurfaceView -->
+<A HREF="android.opengl.GLSurfaceView.html" class="hiddenlink" target="rightframe">GLSurfaceView</A><br>
+<!-- Class HapticFeedbackConstants -->
+<A NAME="H"></A>
+<br><font size="+2">H</font>&nbsp;
+<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="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</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="#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="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="android.view.HapticFeedbackConstants.html" class="hiddenlink" target="rightframe">HapticFeedbackConstants</A><br>
+<!-- Method hasAttributeNS -->
+<nobr><A HREF="org.w3c.dom.Element.html#org.w3c.dom.Element.hasAttributeNS_changed(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">hasAttributeNS
+(<code>String, String</code>)</A></nobr><br>
+<!-- Class HashMap -->
+<A HREF="java.util.HashMap.html" class="hiddenlink" target="rightframe">HashMap</A><br>
+<!-- Class ImageView -->
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<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="#J"><font size="-2">J</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="#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="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="android.widget.ImageView.html" class="hiddenlink" target="rightframe">ImageView</A><br>
+<!-- Class Intent -->
+<A HREF="android.content.Intent.html" class="hiddenlink" target="rightframe">Intent</A><br>
+<!-- Method isSupported -->
+<nobr><A HREF="java.nio.charset.Charset.html#java.nio.charset.Charset.isSupported_changed(java.lang.String)" class="hiddenlink" target="rightframe">isSupported
+(<code>String</code>)</A></nobr><br>
+<!-- Method isXIncludeAware -->
+<i>isXIncludeAware</i><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.DocumentBuilder.html#javax.xml.parsers.DocumentBuilder.isXIncludeAware_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;javax.xml.parsers.DocumentBuilder
+</A></nobr><br>
+<!-- Method isXIncludeAware -->
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.SAXParser.html#javax.xml.parsers.SAXParser.isXIncludeAware_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;javax.xml.parsers.SAXParser
+</A></nobr><br>
+<!-- Package java.net -->
+<A NAME="J"></A>
+<A HREF="pkg_java.net.html" class="hiddenlink" target="rightframe">java.net</A><br>
+<!-- Package java.nio.charset -->
+<A HREF="pkg_java.nio.charset.html" class="hiddenlink" target="rightframe">java.nio.charset</A><br>
+<!-- Package java.util -->
+<A HREF="pkg_java.util.html" class="hiddenlink" target="rightframe">java.util</A><br>
+<!-- Package java.util.regex -->
+<A HREF="pkg_java.util.regex.html" class="hiddenlink" target="rightframe">java.util.regex</A><br>
+<!-- Package javax.xml -->
+<A HREF="pkg_javax.xml.html" class="hiddenlink" target="rightframe">javax.xml</A><br>
+<!-- Package javax.xml.parsers -->
+<A HREF="pkg_javax.xml.parsers.html" class="hiddenlink" target="rightframe">javax.xml.parsers</A><br>
+<!-- Field JPEG -->
+<nobr><A HREF="android.graphics.PixelFormat.html#android.graphics.PixelFormat.JPEG" class="hiddenlink" target="rightframe">JPEG</A>
+</nobr><br>
+<!-- Class JsResult -->
+<A HREF="android.webkit.JsResult.html" class="hiddenlink" target="rightframe">JsResult</A><br>
+<!-- Class ListView -->
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<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="#J"><font size="-2">J</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="#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="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="android.widget.ListView.html" class="hiddenlink" target="rightframe">ListView</A><br>
+<!-- Class LocationManager -->
+<A HREF="android.location.LocationManager.html" class="hiddenlink" target="rightframe">LocationManager</A><br>
+<!-- Field LOCK_PATTERN_ENABLED -->
+<nobr><A HREF="android.provider.Settings.System.html#android.provider.Settings.System.LOCK_PATTERN_ENABLED" class="hiddenlink" target="rightframe">LOCK_PATTERN_ENABLED</A>
+</nobr><br>
+<!-- Field LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED -->
+<nobr><A HREF="android.provider.Settings.System.html#android.provider.Settings.System.LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED" class="hiddenlink" target="rightframe">LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED</A>
+</nobr><br>
+<!-- Field LOCK_PATTERN_VISIBLE -->
+<nobr><A HREF="android.provider.Settings.System.html#android.provider.Settings.System.LOCK_PATTERN_VISIBLE" class="hiddenlink" target="rightframe">LOCK_PATTERN_VISIBLE</A>
+</nobr><br>
+<!-- Class Log -->
+<A HREF="android.util.Log.html" class="hiddenlink" target="rightframe">Log</A><br>
+<!-- Class Manifest.permission -->
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<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="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</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="#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="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="android.Manifest.permission.html" class="hiddenlink" target="rightframe">Manifest.permission</A><br>
+<!-- Class Matcher -->
+<A HREF="java.util.regex.Matcher.html" class="hiddenlink" target="rightframe">Matcher</A><br>
+<!-- Class Matrix -->
+<A HREF="android.opengl.Matrix.html" class="hiddenlink" target="rightframe">Matrix</A><br>
+<!-- Field mDatabase -->
+<nobr><A HREF="android.database.sqlite.SQLiteProgram.html#android.database.sqlite.SQLiteProgram.mDatabase" class="hiddenlink" target="rightframe">mDatabase</A>
+</nobr><br>
+<!-- Class MediaRecorder -->
+<A HREF="android.media.MediaRecorder.html" class="hiddenlink" target="rightframe">MediaRecorder</A><br>
+<!-- Class MediaScannerConnection -->
+<A HREF="android.media.MediaScannerConnection.html" class="hiddenlink" target="rightframe">MediaScannerConnection</A><br>
+<!-- Class MediaScannerConnection.MediaScannerConnectionClient -->
+<A HREF="android.media.MediaScannerConnection.MediaScannerConnectionClient.html" class="hiddenlink" target="rightframe"><i>MediaScannerConnection.MediaScannerConnectionClient</i></A><br>
+<!-- Class MediaStore -->
+<A HREF="android.provider.MediaStore.html" class="hiddenlink" target="rightframe">MediaStore</A><br>
+<!-- Class MediaStore.Audio.AudioColumns -->
+<A HREF="android.provider.MediaStore.Audio.AudioColumns.html" class="hiddenlink" target="rightframe"><i>MediaStore.Audio.AudioColumns</i></A><br>
+<!-- Class MediaStore.Audio.Playlists.Members -->
+<A HREF="android.provider.MediaStore.Audio.Playlists.Members.html" class="hiddenlink" target="rightframe">MediaStore.Audio.Playlists.Members</A><br>
+<!-- Class MediaStore.Images.Thumbnails -->
+<A HREF="android.provider.MediaStore.Images.Thumbnails.html" class="hiddenlink" target="rightframe">MediaStore.Images.Thumbnails</A><br>
+<!-- Class MediaStore.Video.Thumbnails -->
+<A HREF="android.provider.MediaStore.Video.Thumbnails.html" class="hiddenlink" target="rightframe">MediaStore.Video.Thumbnails</A><br>
+<!-- Class MockContext -->
+<A HREF="android.test.mock.MockContext.html" class="hiddenlink" target="rightframe">MockContext</A><br>
+<!-- Class MockPackageManager -->
+<A HREF="android.test.mock.MockPackageManager.html" class="hiddenlink" target="rightframe">MockPackageManager</A><br>
+<!-- Class MotionEvent -->
+<A HREF="android.view.MotionEvent.html" class="hiddenlink" target="rightframe">MotionEvent</A><br>
+<!-- Class NamedNodeMap -->
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<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="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</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="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="org.w3c.dom.NamedNodeMap.html" class="hiddenlink" target="rightframe"><i>NamedNodeMap</i></A><br>
+<!-- Method native_compile -->
+<nobr><A HREF="android.database.sqlite.SQLiteProgram.html#android.database.sqlite.SQLiteProgram.native_compile_changed(java.lang.String)" class="hiddenlink" target="rightframe">native_compile
+(<code>String</code>)</A></nobr><br>
+<!-- Method native_finalize -->
+<nobr><A HREF="android.database.sqlite.SQLiteProgram.html#android.database.sqlite.SQLiteProgram.native_finalize_changed()" class="hiddenlink" target="rightframe">native_finalize
+()</A></nobr><br>
+<!-- Method newInstance -->
+<i>newInstance</i><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.DocumentBuilderFactory.html#javax.xml.parsers.DocumentBuilderFactory.newInstance_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;javax.xml.parsers.DocumentBuilderFactory
+</A></nobr><br>
+<!-- Method newInstance -->
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.SAXParserFactory.html#javax.xml.parsers.SAXParserFactory.newInstance_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;javax.xml.parsers.SAXParserFactory
+</A></nobr><br>
+<!-- Field nHandle -->
+<nobr><A HREF="android.database.sqlite.SQLiteProgram.html#android.database.sqlite.SQLiteProgram.nHandle" class="hiddenlink" target="rightframe">nHandle</A>
+</nobr><br>
+<!-- Class Node -->
+<A HREF="org.w3c.dom.Node.html" class="hiddenlink" target="rightframe"><i>Node</i></A><br>
+<!-- Field nStatement -->
+<nobr><A HREF="android.database.sqlite.SQLiteProgram.html#android.database.sqlite.SQLiteProgram.nStatement" class="hiddenlink" target="rightframe">nStatement</A>
+</nobr><br>
+<!-- Method onChildViewAdded -->
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<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="#J"><font size="-2">J</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="#P"><font size="-2">P</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="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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.webkit.WebView.html#android.webkit.WebView.onChildViewAdded_changed(android.view.View, android.view.View)" class="hiddenlink" target="rightframe">onChildViewAdded
+(<code>View, View</code>)</A></nobr><br>
+<!-- Method onChildViewRemoved -->
+<nobr><A HREF="android.webkit.WebView.html#android.webkit.WebView.onChildViewRemoved_changed(android.view.View, android.view.View)" class="hiddenlink" target="rightframe">onChildViewRemoved
+(<code>View, View</code>)</A></nobr><br>
+<!-- Method onCreateDialog -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.onCreateDialog_changed(int)" class="hiddenlink" target="rightframe">onCreateDialog
+(<code>int</code>)</A></nobr><br>
+<!-- Method onPrepareDialog -->
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.onPrepareDialog_changed(int, android.app.Dialog)" class="hiddenlink" target="rightframe">onPrepareDialog
+(<code>int, Dialog</code>)</A></nobr><br>
+<!-- Method onTooManyRedirects -->
+<nobr><A HREF="android.webkit.WebViewClient.html#android.webkit.WebViewClient.onTooManyRedirects_changed(android.webkit.WebView, android.os.Message, android.os.Message)" class="hiddenlink" target="rightframe">onTooManyRedirects
+(<code>WebView, Message, Message</code>)</A></nobr><br>
+<!-- Class Opcodes -->
+<A HREF="dalvik.bytecode.Opcodes.html" class="hiddenlink" target="rightframe"><i>Opcodes</i></A><br>
+<!-- Package org.w3c.dom -->
+<A HREF="pkg_org.w3c.dom.html" class="hiddenlink" target="rightframe">org.w3c.dom</A><br>
+<!-- Class PackageManager -->
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<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="#J"><font size="-2">J</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="#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="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="android.content.pm.PackageManager.html" class="hiddenlink" target="rightframe">PackageManager</A><br>
+<!-- Class Pattern -->
+<A HREF="java.util.regex.Pattern.html" class="hiddenlink" target="rightframe">Pattern</A><br>
+<!-- Class PixelFormat -->
+<A HREF="android.graphics.PixelFormat.html" class="hiddenlink" target="rightframe">PixelFormat</A><br>
+<!-- Class PowerManager -->
+<A HREF="android.os.PowerManager.html" class="hiddenlink" target="rightframe">PowerManager</A><br>
+<!-- Class R.anim -->
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<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="#J"><font size="-2">J</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="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="android.R.anim.html" class="hiddenlink" target="rightframe">R.anim</A><br>
+<!-- Class R.attr -->
+<A HREF="android.R.attr.html" class="hiddenlink" target="rightframe">R.attr</A><br>
+<!-- Class R.id -->
+<A HREF="android.R.id.html" class="hiddenlink" target="rightframe">R.id</A><br>
+<!-- Class RecognizerIntent -->
+<A HREF="android.speech.RecognizerIntent.html" class="hiddenlink" target="rightframe">RecognizerIntent</A><br>
+<!-- Class RemoteViews -->
+<A HREF="android.widget.RemoteViews.html" class="hiddenlink" target="rightframe">RemoteViews</A><br>
+<!-- Field RESTART_PACKAGES -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.RESTART_PACKAGES" class="hiddenlink" target="rightframe">RESTART_PACKAGES</A>
+</nobr><br>
+<!-- Method restartPackage -->
+<nobr><A HREF="android.app.ActivityManager.html#android.app.ActivityManager.restartPackage_changed(java.lang.String)" class="hiddenlink" target="rightframe">restartPackage
+(<code>String</code>)</A></nobr><br>
+<!-- Field restoreNeedsApplication -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.restoreNeedsApplication" class="hiddenlink" target="rightframe">restoreNeedsApplication</A>
+</nobr><br>
+<!-- Class Rfc822Tokenizer -->
+<A HREF="android.text.util.Rfc822Tokenizer.html" class="hiddenlink" target="rightframe">Rfc822Tokenizer</A><br>
+<!-- Class SAXParser -->
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<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="#J"><font size="-2">J</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="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="javax.xml.parsers.SAXParser.html" class="hiddenlink" target="rightframe">SAXParser</A><br>
+<!-- Class SAXParserFactory -->
+<A HREF="javax.xml.parsers.SAXParserFactory.html" class="hiddenlink" target="rightframe">SAXParserFactory</A><br>
+<!-- Class SearchManager -->
+<A HREF="android.app.SearchManager.html" class="hiddenlink" target="rightframe">SearchManager</A><br>
+<!-- Class Sensor -->
+<A HREF="android.hardware.Sensor.html" class="hiddenlink" target="rightframe">Sensor</A><br>
+<!-- Method setPluginsEnabled -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setPluginsEnabled_changed(boolean)" class="hiddenlink" target="rightframe">setPluginsEnabled
+(<code>boolean</code>)</A></nobr><br>
+<!-- Class Settings -->
+<A HREF="android.provider.Settings.html" class="hiddenlink" target="rightframe">Settings</A><br>
+<!-- Class Settings.Secure -->
+<A HREF="android.provider.Settings.Secure.html" class="hiddenlink" target="rightframe">Settings.Secure</A><br>
+<!-- Class Settings.System -->
+<A HREF="android.provider.Settings.System.html" class="hiddenlink" target="rightframe">Settings.System</A><br>
+<!-- Class SoundPool -->
+<A HREF="android.media.SoundPool.html" class="hiddenlink" target="rightframe">SoundPool</A><br>
+<!-- Class SQLiteDatabase -->
+<A HREF="android.database.sqlite.SQLiteDatabase.html" class="hiddenlink" target="rightframe">SQLiteDatabase</A><br>
+<!-- Class SQLiteProgram -->
+<A HREF="android.database.sqlite.SQLiteProgram.html" class="hiddenlink" target="rightframe">SQLiteProgram</A><br>
+<!-- Class SslCertificate -->
+<i>SslCertificate</i><br>
+&nbsp;&nbsp;<A HREF="android.net.http.SslCertificate.html" class="hiddenlink" target="rightframe">android.net.http</A><br>
+<!-- Constructor SslCertificate -->
+&nbsp;&nbsp;<nobr><A HREF="android.net.http.SslCertificate.html#android.net.http.SslCertificate.ctor_changed(java.lang.String, java.lang.String, java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">SslCertificate
+(<code>String, String, String, String</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class SSLCertificateSocketFactory -->
+<i>SSLCertificateSocketFactory</i><br>
+&nbsp;&nbsp;<A HREF="android.net.SSLCertificateSocketFactory.html" class="hiddenlink" target="rightframe">android.net</A><br>
+<!-- Constructor SSLCertificateSocketFactory -->
+&nbsp;&nbsp;<nobr><A HREF="android.net.SSLCertificateSocketFactory.html#android.net.SSLCertificateSocketFactory.ctor_changed(int)" class="hiddenlink" target="rightframe">SSLCertificateSocketFactory
+(<code>int</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Method start -->
+<nobr><A HREF="java.util.regex.Matcher.html#java.util.regex.Matcher.start_changed()" class="hiddenlink" target="rightframe">start
+()</A></nobr><br>
+<!-- Method startCacheTransaction -->
+<nobr><A HREF="android.webkit.CacheManager.html#android.webkit.CacheManager.startCacheTransaction_changed()" class="hiddenlink" target="rightframe">startCacheTransaction
+()</A></nobr><br>
+<!-- Method startMethodTracing -->
+<nobr><A HREF="dalvik.system.VMDebug.html#dalvik.system.VMDebug.startMethodTracing_changed()" class="hiddenlink" target="rightframe">startMethodTracing
+()</A></nobr><br>
+<!-- Class SyncResult -->
+<A HREF="android.content.SyncResult.html" class="hiddenlink" target="rightframe">SyncResult</A><br>
+<!-- Class TabWidget -->
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<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="#J"><font size="-2">J</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="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="android.widget.TabWidget.html" class="hiddenlink" target="rightframe">TabWidget</A><br>
+<!-- Class TelephonyManager -->
+<A HREF="android.telephony.TelephonyManager.html" class="hiddenlink" target="rightframe">TelephonyManager</A><br>
+<!-- Class Text -->
+<A HREF="org.w3c.dom.Text.html" class="hiddenlink" target="rightframe"><i>Text</i></A><br>
+<!-- Class TextToSpeech -->
+<A HREF="android.speech.tts.TextToSpeech.html" class="hiddenlink" target="rightframe">TextToSpeech</A><br>
+<!-- Class TextToSpeech.Engine -->
+<A HREF="android.speech.tts.TextToSpeech.Engine.html" class="hiddenlink" target="rightframe">TextToSpeech.Engine</A><br>
+<!-- Field TYPE_ORIENTATION -->
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_ORIENTATION" class="hiddenlink" target="rightframe">TYPE_ORIENTATION</A>
+</nobr><br>
+<!-- Class VelocityTracker -->
+<A NAME="V"></A>
+<br><font size="+2">V</font>&nbsp;
+<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="#J"><font size="-2">J</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="#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="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="android.view.VelocityTracker.html" class="hiddenlink" target="rightframe">VelocityTracker</A><br>
+<!-- Class VideoView -->
+<A HREF="android.widget.VideoView.html" class="hiddenlink" target="rightframe">VideoView</A><br>
+<!-- Class View -->
+<A HREF="android.view.View.html" class="hiddenlink" target="rightframe">View</A><br>
+<!-- Class ViewConfiguration -->
+<A HREF="android.view.ViewConfiguration.html" class="hiddenlink" target="rightframe">ViewConfiguration</A><br>
+<!-- Class ViewGroup.LayoutParams -->
+<A HREF="android.view.ViewGroup.LayoutParams.html" class="hiddenlink" target="rightframe">ViewGroup.LayoutParams</A><br>
+<!-- Class VMDebug -->
+<A HREF="dalvik.system.VMDebug.html" class="hiddenlink" target="rightframe">VMDebug</A><br>
+<!-- Class WebChromeClient -->
+<A NAME="W"></A>
+<br><font size="+2">W</font>&nbsp;
+<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="#J"><font size="-2">J</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="#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="#V"><font size="-2">V</font></a> 
+<a href="#X"><font size="-2">X</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="android.webkit.WebChromeClient.html" class="hiddenlink" target="rightframe">WebChromeClient</A><br>
+<!-- Class WebSettings -->
+<A HREF="android.webkit.WebSettings.html" class="hiddenlink" target="rightframe">WebSettings</A><br>
+<!-- Class WebView -->
+<A HREF="android.webkit.WebView.html" class="hiddenlink" target="rightframe">WebView</A><br>
+<!-- Class WebViewClient -->
+<A HREF="android.webkit.WebViewClient.html" class="hiddenlink" target="rightframe">WebViewClient</A><br>
+<!-- Class WindowManager.LayoutParams -->
+<A HREF="android.view.WindowManager.LayoutParams.html" class="hiddenlink" target="rightframe">WindowManager.LayoutParams</A><br>
+<!-- Class XMLConstants -->
+<A NAME="X"></A>
+<br><font size="+2">X</font>&nbsp;
+<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="#J"><font size="-2">J</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="#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="#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="javax.xml.XMLConstants.html" class="hiddenlink" target="rightframe">XMLConstants</A><br>
+<!-- Field YCbCr_420_SP -->
+<A NAME="Y"></A>
+<br><font size="+2">Y</font>&nbsp;
+<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="#J"><font size="-2">J</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="#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="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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.graphics.PixelFormat.html#android.graphics.PixelFormat.YCbCr_420_SP" class="hiddenlink" target="rightframe">YCbCr_420_SP</A>
+</nobr><br>
+<!-- Field YCbCr_422_I -->
+<nobr><A HREF="android.graphics.PixelFormat.html#android.graphics.PixelFormat.YCbCr_422_I" class="hiddenlink" target="rightframe">YCbCr_422_I</A>
+</nobr><br>
+<!-- Field YCbCr_422_SP -->
+<nobr><A HREF="android.graphics.PixelFormat.html#android.graphics.PixelFormat.YCbCr_422_SP" class="hiddenlink" target="rightframe">YCbCr_422_SP</A>
+</nobr><br>
+<!-- Class Zygote -->
+<A NAME="Z"></A>
+<br><font size="+2">Z</font>&nbsp;
+<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="#J"><font size="-2">J</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="#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="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="dalvik.system.Zygote.html" class="hiddenlink" target="rightframe">Zygote</A><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/alldiffs_index_removals.html b/docs/html/sdk/api_diff/8/changes/alldiffs_index_removals.html
new file mode 100644
index 0000000..fbca7ca
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/alldiffs_index_removals.html
@@ -0,0 +1,214 @@
+<!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>
+All Removals Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<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>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="alldiffs_index_all.html" xclass="hiddenlink">All Differences</a>
+  <br>
+<b>Removals</b>
+  <br>
+<A HREF="alldiffs_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<A HREF="alldiffs_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+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>
+<!-- Method getOption -->
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.net.DatagramSocketImpl.html#java.net.DatagramSocketImpl.getOption_removed(int)" class="hiddenlink" target="rightframe"><strike>getOption</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Field mProxy -->
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.webkit.JsResult.html#android.webkit.JsResult.mProxy" class="hiddenlink" target="rightframe"><strike>mProxy</strike></A>
+</nobr><br>
+<!-- Method onConsoleMessage -->
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.webkit.WebChromeClient.html#android.webkit.WebChromeClient.onConsoleMessage_removed(java.lang.String, int, java.lang.String)" class="hiddenlink" target="rightframe"><strike>onConsoleMessage</strike>
+(<code>String, int, String</code>)</A></nobr><br>
+<!-- Field OP_UNUSED_3e -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_3e" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_3e</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_3f -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_3f" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_3f</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_40 -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_40" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_40</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_41 -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_41" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_41</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_42 -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_42" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_42</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_43 -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_43" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_43</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_73 -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_73" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_73</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_79 -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_79" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_79</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_7A -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_7A" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_7A</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_E3 -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_E3" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_E3</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_E4 -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_E4" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_E4</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_E5 -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_E5" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_E5</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_E6 -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_E6" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_E6</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_E7 -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_E7" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_E7</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_E8 -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_E8" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_E8</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_E9 -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_E9" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_E9</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_EA -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_EA" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_EA</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_EB -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_EB" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_EB</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_EC -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_EC" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_EC</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_ED -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_ED" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_ED</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_EF -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_EF" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_EF</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_F1 -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_F1" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_F1</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_FC -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_FC" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_FC</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_FD -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_FD" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_FD</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_FE -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_FE" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_FE</strike></A>
+</nobr><br>
+<!-- Field OP_UNUSED_FF -->
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_FF" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_FF</strike></A>
+</nobr><br>
+<!-- Field PKG_INSTALL_COMPLETE -->
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#X"><font size="-2">X</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.pm.PackageManager.html#android.content.pm.PackageManager.PKG_INSTALL_COMPLETE" class="hiddenlink" target="rightframe"><strike>PKG_INSTALL_COMPLETE</strike></A>
+</nobr><br>
+<!-- Field PKG_INSTALL_INCOMPLETE -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.PKG_INSTALL_INCOMPLETE" class="hiddenlink" target="rightframe"><strike>PKG_INSTALL_INCOMPLETE</strike></A>
+</nobr><br>
+<!-- Method setOption -->
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.net.DatagramSocketImpl.html#java.net.DatagramSocketImpl.setOption_removed(int, java.lang.Object)" class="hiddenlink" target="rightframe"><strike>setOption</strike>
+(<code>int, Object</code>)</A></nobr><br>
+<!-- Constructor XMLConstants -->
+<A NAME="X"></A>
+<br><font size="+2">X</font>&nbsp;
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</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="javax.xml.XMLConstants.html#javax.xml.XMLConstants.ctor_removed()" class="hiddenlink" target="rightframe"><strike>XMLConstants</strike>
+()</A></nobr>&nbsp;constructor<br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.Manifest.permission.html b/docs/html/sdk/api_diff/8/changes/android.Manifest.permission.html
new file mode 100644
index 0000000..2b79d42
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.Manifest.permission.html
@@ -0,0 +1,160 @@
+<!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.Manifest.permission
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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="+2"><code>Manifest.permission</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.Manifest.permission.BIND_DEVICE_ADMIN"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/Manifest.permission.html#BIND_DEVICE_ADMIN" target="_top"><code>BIND_DEVICE_ADMIN</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.Manifest.permission.BIND_WALLPAPER"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/Manifest.permission.html#BIND_WALLPAPER" target="_top"><code>BIND_WALLPAPER</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.Manifest.permission.KILL_BACKGROUND_PROCESSES"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/Manifest.permission.html#KILL_BACKGROUND_PROCESSES" target="_top"><code>KILL_BACKGROUND_PROCESSES</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.Manifest.permission.SET_TIME"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/Manifest.permission.html#SET_TIME" target="_top"><code>SET_TIME</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.Manifest.permission.RESTART_PACKAGES"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/Manifest.permission.html#RESTART_PACKAGES" target="_top"><code>RESTART_PACKAGES</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.R.anim.html b/docs/html/sdk/api_diff/8/changes/android.R.anim.html
new file mode 100644
index 0000000..0d1118e
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.R.anim.html
@@ -0,0 +1,122 @@
+<!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.R.anim
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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.anim.html" target="_top"><font size="+2"><code>R.anim</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.anim.cycle_interpolator"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.anim.html#cycle_interpolator" target="_top"><code>cycle_interpolator</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.R.attr.html b/docs/html/sdk/api_diff/8/changes/android.R.attr.html
new file mode 100644
index 0000000..0a1193c
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.R.attr.html
@@ -0,0 +1,188 @@
+<!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.R.attr
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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="+2"><code>R.attr</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.expandableListViewWhiteStyle"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#expandableListViewWhiteStyle" target="_top"><code>expandableListViewWhiteStyle</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.installLocation"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#installLocation" target="_top"><code>installLocation</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.restoreAnyVersion"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#restoreAnyVersion" target="_top"><code>restoreAnyVersion</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.tabStripEnabled"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#tabStripEnabled" target="_top"><code>tabStripEnabled</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.tabStripLeft"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#tabStripLeft" target="_top"><code>tabStripLeft</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.tabStripRight"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#tabStripRight" target="_top"><code>tabStripRight</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.vmSafeMode"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#vmSafeMode" target="_top"><code>vmSafeMode</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.webTextViewStyle"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#webTextViewStyle" target="_top"><code>webTextViewStyle</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.restoreNeedsApplication"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#restoreNeedsApplication" target="_top"><code>restoreNeedsApplication</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.R.id.html b/docs/html/sdk/api_diff/8/changes/android.R.id.html
new file mode 100644
index 0000000..e2845c4
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.R.id.html
@@ -0,0 +1,122 @@
+<!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.R.id
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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="+2"><code>R.id</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.id.custom"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.id.html#custom" target="_top"><code>custom</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.accounts.AccountManager.html b/docs/html/sdk/api_diff/8/changes/android.accounts.AccountManager.html
new file mode 100644
index 0000000..1380d97
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.accounts.AccountManager.html
@@ -0,0 +1,122 @@
+<!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.accounts.AccountManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.accounts.<A HREF="../../../../reference/android/accounts/AccountManager.html" target="_top"><font size="+2"><code>AccountManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.accounts.AccountManager.hasFeatures_added(android.accounts.Account, java.lang.String[], android.accounts.AccountManagerCallback<java.lang.Boolean>, android.os.Handler)"></A>
+  <nobr><code>AccountManagerFuture&lt;Boolean&gt;</code>&nbsp;<A HREF="../../../../reference/android/accounts/AccountManager.html#hasFeatures(android.accounts.Account, java.lang.String[], android.accounts.AccountManagerCallback<java.lang.Boolean>, android.os.Handler)" target="_top"><code>hasFeatures</code></A>(<code>Account,</nobr> String[]<nobr>,</nobr> AccountManagerCallback&lt;Boolean&gt;<nobr>,</nobr> Handler<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.app.Activity.html b/docs/html/sdk/api_diff/8/changes/android.app.Activity.html
new file mode 100644
index 0000000..9c6f336
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.app.Activity.html
@@ -0,0 +1,164 @@
+<!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.app.Activity
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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="+2"><code>Activity</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Activity.onCreateDialog_added(int, android.os.Bundle)"></A>
+  <nobr><code>Dialog</code>&nbsp;<A HREF="../../../../reference/android/app/Activity.html#onCreateDialog(int, android.os.Bundle)" target="_top"><code>onCreateDialog</code></A>(<code>int,</nobr> Bundle<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Activity.onPrepareDialog_added(int, android.app.Dialog, android.os.Bundle)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/Activity.html#onPrepareDialog(int, android.app.Dialog, android.os.Bundle)" target="_top"><code>onPrepareDialog</code></A>(<code>int,</nobr> Dialog<nobr>,</nobr> Bundle<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Activity.showDialog_added(int, android.os.Bundle)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/app/Activity.html#showDialog(int, android.os.Bundle)" target="_top"><code>showDialog</code></A>(<code>int,</nobr> Bundle<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<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.Activity.onCreateDialog_changed(int)"></A>
+  <nobr><code>Dialog</code>&nbsp;<A HREF="../../../../reference/android/app/Activity.html#onCreateDialog(int)" target="_top"><code>onCreateDialog</code></A>(<code>int</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Activity.onPrepareDialog_changed(int, android.app.Dialog)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/Activity.html#onPrepareDialog(int, android.app.Dialog)" target="_top"><code>onPrepareDialog</code></A>(<code>int,</nobr> Dialog<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.app.ActivityManager.ProcessErrorStateInfo.html b/docs/html/sdk/api_diff/8/changes/android.app.ActivityManager.ProcessErrorStateInfo.html
new file mode 100644
index 0000000..1a9d306
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.app.ActivityManager.ProcessErrorStateInfo.html
@@ -0,0 +1,122 @@
+<!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.app.ActivityManager.ProcessErrorStateInfo
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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.ProcessErrorStateInfo.html" target="_top"><font size="+2"><code>ActivityManager.ProcessErrorStateInfo</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.ActivityManager.ProcessErrorStateInfo.stackTrace"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/ActivityManager.ProcessErrorStateInfo.html#stackTrace" target="_top"><code>stackTrace</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.app.ActivityManager.html b/docs/html/sdk/api_diff/8/changes/android.app.ActivityManager.html
new file mode 100644
index 0000000..08897c9
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.app.ActivityManager.html
@@ -0,0 +1,147 @@
+<!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.app.ActivityManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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="+2"><code>ActivityManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.ActivityManager.isUserAMonkey_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/app/ActivityManager.html#isUserAMonkey()" target="_top"><code>isUserAMonkey</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.ActivityManager.killBackgroundProcesses_added(java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/ActivityManager.html#killBackgroundProcesses(java.lang.String)" target="_top"><code>killBackgroundProcesses</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<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.ActivityManager.restartPackage_changed(java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/ActivityManager.html#restartPackage(java.lang.String)" target="_top"><code>restartPackage</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.app.AlarmManager.html b/docs/html/sdk/api_diff/8/changes/android.app.AlarmManager.html
new file mode 100644
index 0000000..7c1bad4
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.app.AlarmManager.html
@@ -0,0 +1,122 @@
+<!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.app.AlarmManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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="+2"><code>AlarmManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.AlarmManager.setTime_added(long)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/AlarmManager.html#setTime(long)" target="_top"><code>setTime</code></A>(<code>long</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.app.Dialog.html b/docs/html/sdk/api_diff/8/changes/android.app.Dialog.html
new file mode 100644
index 0000000..3cbda33
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.app.Dialog.html
@@ -0,0 +1,122 @@
+<!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.app.Dialog
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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/Dialog.html" target="_top"><font size="+2"><code>Dialog</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Dialog.setOnShowListener_added(android.content.DialogInterface.OnShowListener)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/Dialog.html#setOnShowListener(android.content.DialogInterface.OnShowListener)" target="_top"><code>setOnShowListener</code></A>(<code>OnShowListener</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.app.SearchManager.html b/docs/html/sdk/api_diff/8/changes/android.app.SearchManager.html
new file mode 100644
index 0000000..e7246ad
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.app.SearchManager.html
@@ -0,0 +1,172 @@
+<!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.app.SearchManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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/SearchManager.html" target="_top"><font size="+2"><code>SearchManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.SearchManager.getSearchableInfo_added(android.content.ComponentName)"></A>
+  <nobr><code>SearchableInfo</code>&nbsp;<A HREF="../../../../reference/android/app/SearchManager.html#getSearchableInfo(android.content.ComponentName)" target="_top"><code>getSearchableInfo</code></A>(<code>ComponentName</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.SearchManager.getSearchablesInGlobalSearch_added()"></A>
+  <nobr><code>List&lt;SearchableInfo&gt;</code>&nbsp;<A HREF="../../../../reference/android/app/SearchManager.html#getSearchablesInGlobalSearch()" target="_top"><code>getSearchablesInGlobalSearch</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.SearchManager.CURSOR_EXTRA_KEY_IN_PROGRESS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/SearchManager.html#CURSOR_EXTRA_KEY_IN_PROGRESS" target="_top"><code>CURSOR_EXTRA_KEY_IN_PROGRESS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.SearchManager.EXTRA_SELECT_QUERY"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/SearchManager.html#EXTRA_SELECT_QUERY" target="_top"><code>EXTRA_SELECT_QUERY</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.SearchManager.INTENT_ACTION_GLOBAL_SEARCH"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/SearchManager.html#INTENT_ACTION_GLOBAL_SEARCH" target="_top"><code>INTENT_ACTION_GLOBAL_SEARCH</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.SearchManager.INTENT_ACTION_SEARCH_SETTINGS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/SearchManager.html#INTENT_ACTION_SEARCH_SETTINGS" target="_top"><code>INTENT_ACTION_SEARCH_SETTINGS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.SearchManager.SUGGEST_COLUMN_TEXT_2_URL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/SearchManager.html#SUGGEST_COLUMN_TEXT_2_URL" target="_top"><code>SUGGEST_COLUMN_TEXT_2_URL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.content.AbstractThreadedSyncAdapter.html b/docs/html/sdk/api_diff/8/changes/android.content.AbstractThreadedSyncAdapter.html
new file mode 100644
index 0000000..bb11780
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.content.AbstractThreadedSyncAdapter.html
@@ -0,0 +1,122 @@
+<!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.content.AbstractThreadedSyncAdapter
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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/AbstractThreadedSyncAdapter.html" target="_top"><font size="+2"><code>AbstractThreadedSyncAdapter</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.AbstractThreadedSyncAdapter.onSyncCanceled_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/content/AbstractThreadedSyncAdapter.html#onSyncCanceled()" target="_top"><code>onSyncCanceled</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.content.ComponentName.html b/docs/html/sdk/api_diff/8/changes/android.content.ComponentName.html
new file mode 100644
index 0000000..636d0a1
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.content.ComponentName.html
@@ -0,0 +1,128 @@
+<!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.content.ComponentName
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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/ComponentName.html" target="_top"><font size="+2"><code>ComponentName</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>java.lang.Cloneable</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.ComponentName.clone_changed()"></A>
+  <nobr><code>ComponentName</code>&nbsp;<A HREF="../../../../reference/android/content/ComponentName.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>ComponentName</code>.<br>
+ Change in exceptions thrown from <code>java.lang.CloneNotSupportedException</code> to no exceptions.<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>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.content.ContentResolver.html b/docs/html/sdk/api_diff/8/changes/android.content.ContentResolver.html
new file mode 100644
index 0000000..5565ed9
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.content.ContentResolver.html
@@ -0,0 +1,193 @@
+<!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.content.ContentResolver
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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="+2"><code>ContentResolver</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.ContentResolver.addPeriodicSync_added(android.accounts.Account, java.lang.String, android.os.Bundle, long)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/content/ContentResolver.html#addPeriodicSync(android.accounts.Account, java.lang.String, android.os.Bundle, long)" target="_top"><code>addPeriodicSync</code></A>(<code>Account,</nobr> String<nobr>,</nobr> Bundle<nobr>,</nobr> long<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.ContentResolver.getCurrentSync_added()"></A>
+  <nobr><code>SyncInfo</code>&nbsp;<A HREF="../../../../reference/android/content/ContentResolver.html#getCurrentSync()" target="_top"><code>getCurrentSync</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.ContentResolver.getPeriodicSyncs_added(android.accounts.Account, java.lang.String)"></A>
+  <nobr><code>List&lt;PeriodicSync&gt;</code>&nbsp;<A HREF="../../../../reference/android/content/ContentResolver.html#getPeriodicSyncs(android.accounts.Account, java.lang.String)" target="_top"><code>getPeriodicSyncs</code></A>(<code>Account,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.ContentResolver.removePeriodicSync_added(android.accounts.Account, java.lang.String, android.os.Bundle)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/content/ContentResolver.html#removePeriodicSync(android.accounts.Account, java.lang.String, android.os.Bundle)" target="_top"><code>removePeriodicSync</code></A>(<code>Account,</nobr> String<nobr>,</nobr> Bundle<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.ContentResolver.SYNC_EXTRAS_DO_NOT_RETRY"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/ContentResolver.html#SYNC_EXTRAS_DO_NOT_RETRY" target="_top"><code>SYNC_EXTRAS_DO_NOT_RETRY</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.ContentResolver.SYNC_EXTRAS_IGNORE_BACKOFF"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/ContentResolver.html#SYNC_EXTRAS_IGNORE_BACKOFF" target="_top"><code>SYNC_EXTRAS_IGNORE_BACKOFF</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.ContentResolver.SYNC_EXTRAS_IGNORE_SETTINGS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/ContentResolver.html#SYNC_EXTRAS_IGNORE_SETTINGS" target="_top"><code>SYNC_EXTRAS_IGNORE_SETTINGS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.ContentResolver.SYNC_OBSERVER_TYPE_ACTIVE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/ContentResolver.html#SYNC_OBSERVER_TYPE_ACTIVE" target="_top"><code>SYNC_OBSERVER_TYPE_ACTIVE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.ContentResolver.SYNC_OBSERVER_TYPE_PENDING"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/ContentResolver.html#SYNC_OBSERVER_TYPE_PENDING" target="_top"><code>SYNC_OBSERVER_TYPE_PENDING</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.ContentResolver.SYNC_OBSERVER_TYPE_SETTINGS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/ContentResolver.html#SYNC_OBSERVER_TYPE_SETTINGS" target="_top"><code>SYNC_OBSERVER_TYPE_SETTINGS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.content.Context.html b/docs/html/sdk/api_diff/8/changes/android.content.Context.html
new file mode 100644
index 0000000..0af8e49
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.content.Context.html
@@ -0,0 +1,179 @@
+<!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.content.Context
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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="+2"><code>Context</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Context.getExternalCacheDir_added()"></A>
+  <nobr><code>File</code>&nbsp;<A HREF="../../../../reference/android/content/Context.html#getExternalCacheDir()" target="_top"><code>getExternalCacheDir</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Context.getExternalFilesDir_added(java.lang.String)"></A>
+  <nobr><code>File</code>&nbsp;<A HREF="../../../../reference/android/content/Context.html#getExternalFilesDir(java.lang.String)" target="_top"><code>getExternalFilesDir</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Context.getPackageCodePath_added()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Context.html#getPackageCodePath()" target="_top"><code>getPackageCodePath</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Context.getPackageResourcePath_added()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Context.html#getPackageResourcePath()" target="_top"><code>getPackageResourcePath</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Context.BIND_NOT_FOREGROUND"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/Context.html#BIND_NOT_FOREGROUND" target="_top"><code>BIND_NOT_FOREGROUND</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Context.DEVICE_POLICY_SERVICE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Context.html#DEVICE_POLICY_SERVICE" target="_top"><code>DEVICE_POLICY_SERVICE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Context.DROPBOX_SERVICE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Context.html#DROPBOX_SERVICE" target="_top"><code>DROPBOX_SERVICE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Context.UI_MODE_SERVICE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Context.html#UI_MODE_SERVICE" target="_top"><code>UI_MODE_SERVICE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.content.ContextWrapper.html b/docs/html/sdk/api_diff/8/changes/android.content.ContextWrapper.html
new file mode 100644
index 0000000..2205266
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.content.ContextWrapper.html
@@ -0,0 +1,129 @@
+<!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.content.ContextWrapper
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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/ContextWrapper.html" target="_top"><font size="+2"><code>ContextWrapper</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.ContextWrapper.getExternalCacheDir_added()"></A>
+  <nobr><code>File</code>&nbsp;<A HREF="../../../../reference/android/content/ContextWrapper.html#getExternalCacheDir()" target="_top"><code>getExternalCacheDir</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.ContextWrapper.getExternalFilesDir_added(java.lang.String)"></A>
+  <nobr><code>File</code>&nbsp;<A HREF="../../../../reference/android/content/ContextWrapper.html#getExternalFilesDir(java.lang.String)" target="_top"><code>getExternalFilesDir</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.content.Intent.html b/docs/html/sdk/api_diff/8/changes/android.content.Intent.html
new file mode 100644
index 0000000..4872ecc
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.content.Intent.html
@@ -0,0 +1,194 @@
+<!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.content.Intent
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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="+2"><code>Intent</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>java.lang.Cloneable</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.getCharSequenceArrayExtra_added(java.lang.String)"></A>
+  <nobr><code>CharSequence[]</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#getCharSequenceArrayExtra(java.lang.String)" target="_top"><code>getCharSequenceArrayExtra</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.getCharSequenceArrayListExtra_added(java.lang.String)"></A>
+  <nobr><code>ArrayList&lt;CharSequence&gt;</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#getCharSequenceArrayListExtra(java.lang.String)" target="_top"><code>getCharSequenceArrayListExtra</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.putCharSequenceArrayListExtra_added(java.lang.String, java.util.ArrayList<java.lang.CharSequence>)"></A>
+  <nobr><code>Intent</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#putCharSequenceArrayListExtra(java.lang.String, java.util.ArrayList<java.lang.CharSequence>)" target="_top"><code>putCharSequenceArrayListExtra</code></A>(<code>String,</nobr> ArrayList&lt;CharSequence&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.putExtra_added(java.lang.String, java.lang.CharSequence[])"></A>
+  <nobr><code>Intent</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#putExtra(java.lang.String, java.lang.CharSequence[])" target="_top"><code>putExtra</code></A>(<code>String,</nobr> CharSequence[]<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#ACTION_EXTERNAL_APPLICATIONS_AVAILABLE" target="_top"><code>ACTION_EXTERNAL_APPLICATIONS_AVAILABLE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE" target="_top"><code>ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.CATEGORY_CAR_MODE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#CATEGORY_CAR_MODE" target="_top"><code>CATEGORY_CAR_MODE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.EXTRA_CHANGED_PACKAGE_LIST"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#EXTRA_CHANGED_PACKAGE_LIST" target="_top"><code>EXTRA_CHANGED_PACKAGE_LIST</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.EXTRA_CHANGED_UID_LIST"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#EXTRA_CHANGED_UID_LIST" target="_top"><code>EXTRA_CHANGED_UID_LIST</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.FLAG_RECEIVER_REPLACE_PENDING"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#FLAG_RECEIVER_REPLACE_PENDING" target="_top"><code>FLAG_RECEIVER_REPLACE_PENDING</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.content.SyncResult.html b/docs/html/sdk/api_diff/8/changes/android.content.SyncResult.html
new file mode 100644
index 0000000..b4b7884
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.content.SyncResult.html
@@ -0,0 +1,122 @@
+<!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.content.SyncResult
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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/SyncResult.html" target="_top"><font size="+2"><code>SyncResult</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.SyncResult.delayUntil"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/content/SyncResult.html#delayUntil" target="_top"><code>delayUntil</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.content.pm.ActivityInfo.html b/docs/html/sdk/api_diff/8/changes/android.content.pm.ActivityInfo.html
new file mode 100644
index 0000000..6d406bf
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.content.pm.ActivityInfo.html
@@ -0,0 +1,122 @@
+<!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.content.pm.ActivityInfo
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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="+2"><code>ActivityInfo</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.ActivityInfo.CONFIG_UI_MODE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/ActivityInfo.html#CONFIG_UI_MODE" target="_top"><code>CONFIG_UI_MODE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.content.pm.ApplicationInfo.html b/docs/html/sdk/api_diff/8/changes/android.content.pm.ApplicationInfo.html
new file mode 100644
index 0000000..2a5d0fe
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.content.pm.ApplicationInfo.html
@@ -0,0 +1,157 @@
+<!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.content.pm.ApplicationInfo
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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/ApplicationInfo.html" target="_top"><font size="+2"><code>ApplicationInfo</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.ApplicationInfo.FLAG_ALLOW_BACKUP"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/ApplicationInfo.html#FLAG_ALLOW_BACKUP" target="_top"><code>FLAG_ALLOW_BACKUP</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.ApplicationInfo.FLAG_EXTERNAL_STORAGE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/ApplicationInfo.html#FLAG_EXTERNAL_STORAGE" target="_top"><code>FLAG_EXTERNAL_STORAGE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.ApplicationInfo.FLAG_KILL_AFTER_RESTORE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/ApplicationInfo.html#FLAG_KILL_AFTER_RESTORE" target="_top"><code>FLAG_KILL_AFTER_RESTORE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.ApplicationInfo.FLAG_RESTORE_ANY_VERSION"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/ApplicationInfo.html#FLAG_RESTORE_ANY_VERSION" target="_top"><code>FLAG_RESTORE_ANY_VERSION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.ApplicationInfo.FLAG_VM_SAFE_MODE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/ApplicationInfo.html#FLAG_VM_SAFE_MODE" target="_top"><code>FLAG_VM_SAFE_MODE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.ApplicationInfo.backupAgentName"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/pm/ApplicationInfo.html#backupAgentName" target="_top"><code>backupAgentName</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.content.pm.ComponentInfo.html b/docs/html/sdk/api_diff/8/changes/android.content.pm.ComponentInfo.html
new file mode 100644
index 0000000..ef0b4b3
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.content.pm.ComponentInfo.html
@@ -0,0 +1,122 @@
+<!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.content.pm.ComponentInfo
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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/ComponentInfo.html" target="_top"><font size="+2"><code>ComponentInfo</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.ComponentInfo.descriptionRes"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/ComponentInfo.html#descriptionRes" target="_top"><code>descriptionRes</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.content.pm.PackageManager.html b/docs/html/sdk/api_diff/8/changes/android.content.pm.PackageManager.html
new file mode 100644
index 0000000..369a199
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.content.pm.PackageManager.html
@@ -0,0 +1,254 @@
+<!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.content.pm.PackageManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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="+2"><code>PackageManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.addPermissionAsync_added(android.content.pm.PermissionInfo)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#addPermissionAsync(android.content.pm.PermissionInfo)" target="_top"><code>addPermissionAsync</code></A>(<code>PermissionInfo</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.canonicalToCurrentPackageNames_added(java.lang.String[])"></A>
+  <nobr><code>String[]</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#canonicalToCurrentPackageNames(java.lang.String[])" target="_top"><code>canonicalToCurrentPackageNames</code></A>(<code>String[]</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.currentToCanonicalPackageNames_added(java.lang.String[])"></A>
+  <nobr><code>String[]</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#currentToCanonicalPackageNames(java.lang.String[])" target="_top"><code>currentToCanonicalPackageNames</code></A>(<code>String[]</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.addPreferredActivity_changed(android.content.IntentFilter, int, android.content.ComponentName[], android.content.ComponentName)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#addPreferredActivity(android.content.IntentFilter, int, android.content.ComponentName[], android.content.ComponentName)" target="_top"><code>addPreferredActivity</code></A>(<code>IntentFilter,</nobr> int<nobr>,</nobr> ComponentName[]<nobr>,</nobr> ComponentName<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.PKG_INSTALL_COMPLETE"></A>
+  <code>int</code>&nbsp;PKG_INSTALL_COMPLETE
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.PKG_INSTALL_INCOMPLETE"></A>
+  <code>int</code>&nbsp;PKG_INSTALL_INCOMPLETE
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.FEATURE_BLUETOOTH"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#FEATURE_BLUETOOTH" target="_top"><code>FEATURE_BLUETOOTH</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.FEATURE_LOCATION"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#FEATURE_LOCATION" target="_top"><code>FEATURE_LOCATION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.FEATURE_LOCATION_GPS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#FEATURE_LOCATION_GPS" target="_top"><code>FEATURE_LOCATION_GPS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.FEATURE_LOCATION_NETWORK"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#FEATURE_LOCATION_NETWORK" target="_top"><code>FEATURE_LOCATION_NETWORK</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.FEATURE_MICROPHONE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#FEATURE_MICROPHONE" target="_top"><code>FEATURE_MICROPHONE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.FEATURE_SENSOR_ACCELEROMETER"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#FEATURE_SENSOR_ACCELEROMETER" target="_top"><code>FEATURE_SENSOR_ACCELEROMETER</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.FEATURE_SENSOR_COMPASS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#FEATURE_SENSOR_COMPASS" target="_top"><code>FEATURE_SENSOR_COMPASS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.FEATURE_TOUCHSCREEN"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#FEATURE_TOUCHSCREEN" target="_top"><code>FEATURE_TOUCHSCREEN</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT" target="_top"><code>FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.FEATURE_WIFI"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#FEATURE_WIFI" target="_top"><code>FEATURE_WIFI</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.content.res.Configuration.html b/docs/html/sdk/api_diff/8/changes/android.content.res.Configuration.html
new file mode 100644
index 0000000..7d18172
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.content.res.Configuration.html
@@ -0,0 +1,207 @@
+<!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.content.res.Configuration
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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="+2"><code>Configuration</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.res.Configuration.readFromParcel_added(android.os.Parcel)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/content/res/Configuration.html#readFromParcel(android.os.Parcel)" target="_top"><code>readFromParcel</code></A>(<code>Parcel</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.res.Configuration.setTo_added(android.content.res.Configuration)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/content/res/Configuration.html#setTo(android.content.res.Configuration)" target="_top"><code>setTo</code></A>(<code>Configuration</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.res.Configuration.UI_MODE_NIGHT_MASK"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/res/Configuration.html#UI_MODE_NIGHT_MASK" target="_top"><code>UI_MODE_NIGHT_MASK</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.res.Configuration.UI_MODE_NIGHT_NO"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/res/Configuration.html#UI_MODE_NIGHT_NO" target="_top"><code>UI_MODE_NIGHT_NO</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.res.Configuration.UI_MODE_NIGHT_UNDEFINED"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/res/Configuration.html#UI_MODE_NIGHT_UNDEFINED" target="_top"><code>UI_MODE_NIGHT_UNDEFINED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.res.Configuration.UI_MODE_NIGHT_YES"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/res/Configuration.html#UI_MODE_NIGHT_YES" target="_top"><code>UI_MODE_NIGHT_YES</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.res.Configuration.UI_MODE_TYPE_CAR"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/res/Configuration.html#UI_MODE_TYPE_CAR" target="_top"><code>UI_MODE_TYPE_CAR</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.res.Configuration.UI_MODE_TYPE_DESK"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/res/Configuration.html#UI_MODE_TYPE_DESK" target="_top"><code>UI_MODE_TYPE_DESK</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.res.Configuration.UI_MODE_TYPE_MASK"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/res/Configuration.html#UI_MODE_TYPE_MASK" target="_top"><code>UI_MODE_TYPE_MASK</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.res.Configuration.UI_MODE_TYPE_NORMAL"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/res/Configuration.html#UI_MODE_TYPE_NORMAL" target="_top"><code>UI_MODE_TYPE_NORMAL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.res.Configuration.UI_MODE_TYPE_UNDEFINED"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/res/Configuration.html#UI_MODE_TYPE_UNDEFINED" target="_top"><code>UI_MODE_TYPE_UNDEFINED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.res.Configuration.uiMode"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/res/Configuration.html#uiMode" target="_top"><code>uiMode</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.database.DatabaseUtils.html b/docs/html/sdk/api_diff/8/changes/android.database.DatabaseUtils.html
new file mode 100644
index 0000000..71d06f3
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.database.DatabaseUtils.html
@@ -0,0 +1,157 @@
+<!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.database.DatabaseUtils
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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="+2"><code>DatabaseUtils</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.database.DatabaseUtils.cursorDoubleToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/database/DatabaseUtils.html#cursorDoubleToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, java.lang.String)" target="_top"><code>cursorDoubleToContentValuesIfPresent</code></A>(<code>Cursor,</nobr> ContentValues<nobr>,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.database.DatabaseUtils.cursorFloatToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/database/DatabaseUtils.html#cursorFloatToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, java.lang.String)" target="_top"><code>cursorFloatToContentValuesIfPresent</code></A>(<code>Cursor,</nobr> ContentValues<nobr>,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.database.DatabaseUtils.cursorIntToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/database/DatabaseUtils.html#cursorIntToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, java.lang.String)" target="_top"><code>cursorIntToContentValuesIfPresent</code></A>(<code>Cursor,</nobr> ContentValues<nobr>,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.database.DatabaseUtils.cursorLongToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/database/DatabaseUtils.html#cursorLongToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, java.lang.String)" target="_top"><code>cursorLongToContentValuesIfPresent</code></A>(<code>Cursor,</nobr> ContentValues<nobr>,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.database.DatabaseUtils.cursorShortToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/database/DatabaseUtils.html#cursorShortToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, java.lang.String)" target="_top"><code>cursorShortToContentValuesIfPresent</code></A>(<code>Cursor,</nobr> ContentValues<nobr>,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.database.DatabaseUtils.cursorStringToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/database/DatabaseUtils.html#cursorStringToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, java.lang.String)" target="_top"><code>cursorStringToContentValuesIfPresent</code></A>(<code>Cursor,</nobr> ContentValues<nobr>,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.database.sqlite.SQLiteDatabase.html b/docs/html/sdk/api_diff/8/changes/android.database.sqlite.SQLiteDatabase.html
new file mode 100644
index 0000000..069347a
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.database.sqlite.SQLiteDatabase.html
@@ -0,0 +1,179 @@
+<!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.database.sqlite.SQLiteDatabase
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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="+2"><code>SQLiteDatabase</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.database.sqlite.SQLiteDatabase.insertWithOnConflict_added(java.lang.String, java.lang.String, android.content.ContentValues, int)"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/database/sqlite/SQLiteDatabase.html#insertWithOnConflict(java.lang.String, java.lang.String, android.content.ContentValues, int)" target="_top"><code>insertWithOnConflict</code></A>(<code>String,</nobr> String<nobr>,</nobr> ContentValues<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.database.sqlite.SQLiteDatabase.updateWithOnConflict_added(java.lang.String, android.content.ContentValues, java.lang.String, java.lang.String[], int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/database/sqlite/SQLiteDatabase.html#updateWithOnConflict(java.lang.String, android.content.ContentValues, java.lang.String, java.lang.String[], int)" target="_top"><code>updateWithOnConflict</code></A>(<code>String,</nobr> ContentValues<nobr>,</nobr> String<nobr>,</nobr> String[]<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.database.sqlite.SQLiteDatabase.CONFLICT_ABORT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/database/sqlite/SQLiteDatabase.html#CONFLICT_ABORT" target="_top"><code>CONFLICT_ABORT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.database.sqlite.SQLiteDatabase.CONFLICT_FAIL"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/database/sqlite/SQLiteDatabase.html#CONFLICT_FAIL" target="_top"><code>CONFLICT_FAIL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.database.sqlite.SQLiteDatabase.CONFLICT_IGNORE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/database/sqlite/SQLiteDatabase.html#CONFLICT_IGNORE" target="_top"><code>CONFLICT_IGNORE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.database.sqlite.SQLiteDatabase.CONFLICT_NONE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/database/sqlite/SQLiteDatabase.html#CONFLICT_NONE" target="_top"><code>CONFLICT_NONE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.database.sqlite.SQLiteDatabase.CONFLICT_REPLACE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/database/sqlite/SQLiteDatabase.html#CONFLICT_REPLACE" target="_top"><code>CONFLICT_REPLACE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.database.sqlite.SQLiteDatabase.CONFLICT_ROLLBACK"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/database/sqlite/SQLiteDatabase.html#CONFLICT_ROLLBACK" target="_top"><code>CONFLICT_ROLLBACK</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.database.sqlite.SQLiteProgram.html b/docs/html/sdk/api_diff/8/changes/android.database.sqlite.SQLiteProgram.html
new file mode 100644
index 0000000..622a951
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.database.sqlite.SQLiteProgram.html
@@ -0,0 +1,180 @@
+<!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.database.sqlite.SQLiteProgram
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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/SQLiteProgram.html" target="_top"><font size="+2"><code>SQLiteProgram</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.database.sqlite.SQLiteProgram.compile_changed(java.lang.String, boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/database/sqlite/SQLiteProgram.html#compile(java.lang.String, boolean)" target="_top"><code>compile</code></A>(<code>String,</nobr> boolean<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.database.sqlite.SQLiteProgram.native_compile_changed(java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/database/sqlite/SQLiteProgram.html#native_compile(java.lang.String)" target="_top"><code>native_compile</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.database.sqlite.SQLiteProgram.native_finalize_changed()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/database/sqlite/SQLiteProgram.html#native_finalize()" target="_top"><code>native_finalize</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.database.sqlite.SQLiteProgram.mDatabase"></A>
+  <nobr><code>SQLiteDatabase</code>&nbsp;<A HREF="../../../../reference/android/database/sqlite/SQLiteProgram.html#mDatabase" target="_top"><code>mDatabase</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.database.sqlite.SQLiteProgram.nHandle"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/database/sqlite/SQLiteProgram.html#nHandle" target="_top"><code>nHandle</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.database.sqlite.SQLiteProgram.nStatement"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/database/sqlite/SQLiteProgram.html#nStatement" target="_top"><code>nStatement</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.gesture.Gesture.html b/docs/html/sdk/api_diff/8/changes/android.gesture.Gesture.html
new file mode 100644
index 0000000..66b7e23
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.gesture.Gesture.html
@@ -0,0 +1,126 @@
+<!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.gesture.Gesture
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.gesture.<A HREF="../../../../reference/android/gesture/Gesture.html" target="_top"><font size="+2"><code>Gesture</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.gesture.Gesture.clone_changed()"></A>
+  <nobr><code>Object</code>&nbsp;<A HREF="../../../../reference/android/gesture/Gesture.html#clone()" target="_top"><code>clone</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.lang.CloneNotSupportedException</code> to no exceptions.<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>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.gesture.GesturePoint.html b/docs/html/sdk/api_diff/8/changes/android.gesture.GesturePoint.html
new file mode 100644
index 0000000..86bb697
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.gesture.GesturePoint.html
@@ -0,0 +1,126 @@
+<!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.gesture.GesturePoint
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.gesture.<A HREF="../../../../reference/android/gesture/GesturePoint.html" target="_top"><font size="+2"><code>GesturePoint</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.gesture.GesturePoint.clone_changed()"></A>
+  <nobr><code>Object</code>&nbsp;<A HREF="../../../../reference/android/gesture/GesturePoint.html#clone()" target="_top"><code>clone</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.lang.CloneNotSupportedException</code> to no exceptions.<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>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.gesture.GestureStroke.html b/docs/html/sdk/api_diff/8/changes/android.gesture.GestureStroke.html
new file mode 100644
index 0000000..55bc9fe
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.gesture.GestureStroke.html
@@ -0,0 +1,126 @@
+<!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.gesture.GestureStroke
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.gesture.<A HREF="../../../../reference/android/gesture/GestureStroke.html" target="_top"><font size="+2"><code>GestureStroke</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.gesture.GestureStroke.clone_changed()"></A>
+  <nobr><code>Object</code>&nbsp;<A HREF="../../../../reference/android/gesture/GestureStroke.html#clone()" target="_top"><code>clone</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.lang.CloneNotSupportedException</code> to no exceptions.<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>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.graphics.PixelFormat.html b/docs/html/sdk/api_diff/8/changes/android.graphics.PixelFormat.html
new file mode 100644
index 0000000..40ca2c7
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.graphics.PixelFormat.html
@@ -0,0 +1,151 @@
+<!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.graphics.PixelFormat
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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/PixelFormat.html" target="_top"><font size="+2"><code>PixelFormat</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.PixelFormat.JPEG"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/graphics/PixelFormat.html#JPEG" target="_top"><code>JPEG</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.PixelFormat.YCbCr_420_SP"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/graphics/PixelFormat.html#YCbCr_420_SP" target="_top"><code>YCbCr_420_SP</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.PixelFormat.YCbCr_422_I"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/graphics/PixelFormat.html#YCbCr_422_I" target="_top"><code>YCbCr_422_I</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.PixelFormat.YCbCr_422_SP"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/graphics/PixelFormat.html#YCbCr_422_SP" target="_top"><code>YCbCr_422_SP</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.hardware.Camera.Parameters.html b/docs/html/sdk/api_diff/8/changes/android.hardware.Camera.Parameters.html
new file mode 100644
index 0000000..13e2cc5
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.hardware.Camera.Parameters.html
@@ -0,0 +1,249 @@
+<!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.hardware.Camera.Parameters
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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.Parameters.html" target="_top"><font size="+2"><code>Camera.Parameters</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.Parameters.getExposureCompensation_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.Parameters.html#getExposureCompensation()" target="_top"><code>getExposureCompensation</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.Parameters.getExposureCompensationStep_added()"></A>
+  <nobr><code>float</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.Parameters.html#getExposureCompensationStep()" target="_top"><code>getExposureCompensationStep</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.Parameters.getFocalLength_added()"></A>
+  <nobr><code>float</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.Parameters.html#getFocalLength()" target="_top"><code>getFocalLength</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.Parameters.getHorizontalViewAngle_added()"></A>
+  <nobr><code>float</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.Parameters.html#getHorizontalViewAngle()" target="_top"><code>getHorizontalViewAngle</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.Parameters.getMaxExposureCompensation_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.Parameters.html#getMaxExposureCompensation()" target="_top"><code>getMaxExposureCompensation</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.Parameters.getMaxZoom_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.Parameters.html#getMaxZoom()" target="_top"><code>getMaxZoom</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.Parameters.getMinExposureCompensation_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.Parameters.html#getMinExposureCompensation()" target="_top"><code>getMinExposureCompensation</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.Parameters.getSupportedJpegThumbnailSizes_added()"></A>
+  <nobr><code>List&lt;Size&gt;</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.Parameters.html#getSupportedJpegThumbnailSizes()" target="_top"><code>getSupportedJpegThumbnailSizes</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.Parameters.getVerticalViewAngle_added()"></A>
+  <nobr><code>float</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.Parameters.html#getVerticalViewAngle()" target="_top"><code>getVerticalViewAngle</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.Parameters.getZoom_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.Parameters.html#getZoom()" target="_top"><code>getZoom</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.Parameters.getZoomRatios_added()"></A>
+  <nobr><code>List&lt;Integer&gt;</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.Parameters.html#getZoomRatios()" target="_top"><code>getZoomRatios</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.Parameters.isSmoothZoomSupported_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.Parameters.html#isSmoothZoomSupported()" target="_top"><code>isSmoothZoomSupported</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.Parameters.isZoomSupported_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.Parameters.html#isZoomSupported()" target="_top"><code>isZoomSupported</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.Parameters.setExposureCompensation_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.Parameters.html#setExposureCompensation(int)" target="_top"><code>setExposureCompensation</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.Parameters.setGpsProcessingMethod_added(java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.Parameters.html#setGpsProcessingMethod(java.lang.String)" target="_top"><code>setGpsProcessingMethod</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.Parameters.setZoom_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.Parameters.html#setZoom(int)" target="_top"><code>setZoom</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.Parameters.FOCUS_MODE_EDOF"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.Parameters.html#FOCUS_MODE_EDOF" target="_top"><code>FOCUS_MODE_EDOF</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.Parameters.SCENE_MODE_BARCODE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.Parameters.html#SCENE_MODE_BARCODE" target="_top"><code>SCENE_MODE_BARCODE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.hardware.Camera.html b/docs/html/sdk/api_diff/8/changes/android.hardware.Camera.html
new file mode 100644
index 0000000..b4e0709
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.hardware.Camera.html
@@ -0,0 +1,164 @@
+<!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.hardware.Camera
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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="+2"><code>Camera</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.addCallbackBuffer_added(byte[])"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.html#addCallbackBuffer(byte[])" target="_top"><code>addCallbackBuffer</code></A>(<code>byte[]</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.reconnect_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.html#reconnect()" target="_top"><code>reconnect</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.setDisplayOrientation_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.html#setDisplayOrientation(int)" target="_top"><code>setDisplayOrientation</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.setPreviewCallbackWithBuffer_added(android.hardware.Camera.PreviewCallback)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.html#setPreviewCallbackWithBuffer(android.hardware.Camera.PreviewCallback)" target="_top"><code>setPreviewCallbackWithBuffer</code></A>(<code>PreviewCallback</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.setZoomChangeListener_added(android.hardware.Camera.OnZoomChangeListener)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.html#setZoomChangeListener(android.hardware.Camera.OnZoomChangeListener)" target="_top"><code>setZoomChangeListener</code></A>(<code>OnZoomChangeListener</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.startSmoothZoom_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.html#startSmoothZoom(int)" target="_top"><code>startSmoothZoom</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.stopSmoothZoom_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.html#stopSmoothZoom()" target="_top"><code>stopSmoothZoom</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.hardware.Sensor.html b/docs/html/sdk/api_diff/8/changes/android.hardware.Sensor.html
new file mode 100644
index 0000000..4c453408
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.hardware.Sensor.html
@@ -0,0 +1,124 @@
+<!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.hardware.Sensor
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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/Sensor.html" target="_top"><font size="+2"><code>Sensor</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Sensor.TYPE_ORIENTATION"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/hardware/Sensor.html#TYPE_ORIENTATION" target="_top"><code>TYPE_ORIENTATION</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.location.LocationManager.html b/docs/html/sdk/api_diff/8/changes/android.location.LocationManager.html
new file mode 100644
index 0000000..ccbc00c
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.location.LocationManager.html
@@ -0,0 +1,122 @@
+<!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.location.LocationManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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="+2"><code>LocationManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.location.LocationManager.PASSIVE_PROVIDER"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/location/LocationManager.html#PASSIVE_PROVIDER" target="_top"><code>PASSIVE_PROVIDER</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.media.AudioManager.html b/docs/html/sdk/api_diff/8/changes/android.media.AudioManager.html
new file mode 100644
index 0000000..b337b3d
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.media.AudioManager.html
@@ -0,0 +1,263 @@
+<!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.media.AudioManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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="+2"><code>AudioManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioManager.abandonAudioFocus_added(android.media.AudioManager.OnAudioFocusChangeListener)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/AudioManager.html#abandonAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener)" target="_top"><code>abandonAudioFocus</code></A>(<code>OnAudioFocusChangeListener</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioManager.isBluetoothScoAvailableOffCall_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/media/AudioManager.html#isBluetoothScoAvailableOffCall()" target="_top"><code>isBluetoothScoAvailableOffCall</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioManager.registerMediaButtonEventReceiver_added(android.content.ComponentName)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/AudioManager.html#registerMediaButtonEventReceiver(android.content.ComponentName)" target="_top"><code>registerMediaButtonEventReceiver</code></A>(<code>ComponentName</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioManager.requestAudioFocus_added(android.media.AudioManager.OnAudioFocusChangeListener, int, int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/AudioManager.html#requestAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, int, int)" target="_top"><code>requestAudioFocus</code></A>(<code>OnAudioFocusChangeListener,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioManager.startBluetoothSco_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/AudioManager.html#startBluetoothSco()" target="_top"><code>startBluetoothSco</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioManager.stopBluetoothSco_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/AudioManager.html#stopBluetoothSco()" target="_top"><code>stopBluetoothSco</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioManager.unregisterMediaButtonEventReceiver_added(android.content.ComponentName)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/AudioManager.html#unregisterMediaButtonEventReceiver(android.content.ComponentName)" target="_top"><code>unregisterMediaButtonEventReceiver</code></A>(<code>ComponentName</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioManager.ACTION_SCO_AUDIO_STATE_CHANGED"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/AudioManager.html#ACTION_SCO_AUDIO_STATE_CHANGED" target="_top"><code>ACTION_SCO_AUDIO_STATE_CHANGED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioManager.AUDIOFOCUS_GAIN"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/AudioManager.html#AUDIOFOCUS_GAIN" target="_top"><code>AUDIOFOCUS_GAIN</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioManager.AUDIOFOCUS_GAIN_TRANSIENT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/AudioManager.html#AUDIOFOCUS_GAIN_TRANSIENT" target="_top"><code>AUDIOFOCUS_GAIN_TRANSIENT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/AudioManager.html#AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK" target="_top"><code>AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioManager.AUDIOFOCUS_LOSS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/AudioManager.html#AUDIOFOCUS_LOSS" target="_top"><code>AUDIOFOCUS_LOSS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioManager.AUDIOFOCUS_LOSS_TRANSIENT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/AudioManager.html#AUDIOFOCUS_LOSS_TRANSIENT" target="_top"><code>AUDIOFOCUS_LOSS_TRANSIENT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/AudioManager.html#AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK" target="_top"><code>AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioManager.AUDIOFOCUS_REQUEST_FAILED"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/AudioManager.html#AUDIOFOCUS_REQUEST_FAILED" target="_top"><code>AUDIOFOCUS_REQUEST_FAILED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioManager.AUDIOFOCUS_REQUEST_GRANTED"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/AudioManager.html#AUDIOFOCUS_REQUEST_GRANTED" target="_top"><code>AUDIOFOCUS_REQUEST_GRANTED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioManager.EXTRA_SCO_AUDIO_STATE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/AudioManager.html#EXTRA_SCO_AUDIO_STATE" target="_top"><code>EXTRA_SCO_AUDIO_STATE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioManager.SCO_AUDIO_STATE_CONNECTED"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/AudioManager.html#SCO_AUDIO_STATE_CONNECTED" target="_top"><code>SCO_AUDIO_STATE_CONNECTED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioManager.SCO_AUDIO_STATE_DISCONNECTED"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/AudioManager.html#SCO_AUDIO_STATE_DISCONNECTED" target="_top"><code>SCO_AUDIO_STATE_DISCONNECTED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioManager.SCO_AUDIO_STATE_ERROR"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/AudioManager.html#SCO_AUDIO_STATE_ERROR" target="_top"><code>SCO_AUDIO_STATE_ERROR</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.media.ExifInterface.html b/docs/html/sdk/api_diff/8/changes/android.media.ExifInterface.html
new file mode 100644
index 0000000..0f32571
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.media.ExifInterface.html
@@ -0,0 +1,158 @@
+<!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.media.ExifInterface
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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/ExifInterface.html" target="_top"><font size="+2"><code>ExifInterface</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.getAttributeDouble_added(java.lang.String, double)"></A>
+  <nobr><code>double</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#getAttributeDouble(java.lang.String, double)" target="_top"><code>getAttributeDouble</code></A>(<code>String,</nobr> double<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_FOCAL_LENGTH"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_FOCAL_LENGTH" target="_top"><code>TAG_FOCAL_LENGTH</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_GPS_DATESTAMP"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_GPS_DATESTAMP" target="_top"><code>TAG_GPS_DATESTAMP</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_GPS_PROCESSING_METHOD"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_GPS_PROCESSING_METHOD" target="_top"><code>TAG_GPS_PROCESSING_METHOD</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ExifInterface.TAG_GPS_TIMESTAMP"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/ExifInterface.html#TAG_GPS_TIMESTAMP" target="_top"><code>TAG_GPS_TIMESTAMP</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.media.MediaRecorder.html b/docs/html/sdk/api_diff/8/changes/android.media.MediaRecorder.html
new file mode 100644
index 0000000..d0a6263
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.media.MediaRecorder.html
@@ -0,0 +1,150 @@
+<!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.media.MediaRecorder
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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="+2"><code>MediaRecorder</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaRecorder.setAudioChannels_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/MediaRecorder.html#setAudioChannels(int)" target="_top"><code>setAudioChannels</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaRecorder.setAudioEncodingBitRate_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/MediaRecorder.html#setAudioEncodingBitRate(int)" target="_top"><code>setAudioEncodingBitRate</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaRecorder.setAudioSamplingRate_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/MediaRecorder.html#setAudioSamplingRate(int)" target="_top"><code>setAudioSamplingRate</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaRecorder.setProfile_added(android.media.CamcorderProfile)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/MediaRecorder.html#setProfile(android.media.CamcorderProfile)" target="_top"><code>setProfile</code></A>(<code>CamcorderProfile</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaRecorder.setVideoEncodingBitRate_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/MediaRecorder.html#setVideoEncodingBitRate(int)" target="_top"><code>setVideoEncodingBitRate</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.media.MediaScannerConnection.MediaScannerConnectionClient.html b/docs/html/sdk/api_diff/8/changes/android.media.MediaScannerConnection.MediaScannerConnectionClient.html
new file mode 100644
index 0000000..5ee8da4
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.media.MediaScannerConnection.MediaScannerConnectionClient.html
@@ -0,0 +1,108 @@
+<!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.media.MediaScannerConnection.MediaScannerConnectionClient
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Interface android.media.<A HREF="../../../../reference/android/media/MediaScannerConnection.MediaScannerConnectionClient.html" target="_top"><font size="+2"><code>MediaScannerConnection.MediaScannerConnectionClient</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>android.media.MediaScannerConnection.OnScanCompletedListener</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.media.MediaScannerConnection.html b/docs/html/sdk/api_diff/8/changes/android.media.MediaScannerConnection.html
new file mode 100644
index 0000000..5d5070c
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.media.MediaScannerConnection.html
@@ -0,0 +1,122 @@
+<!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.media.MediaScannerConnection
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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/MediaScannerConnection.html" target="_top"><font size="+2"><code>MediaScannerConnection</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaScannerConnection.scanFile_added(android.content.Context, java.lang.String[], java.lang.String[], android.media.MediaScannerConnection.OnScanCompletedListener)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/MediaScannerConnection.html#scanFile(android.content.Context, java.lang.String[], java.lang.String[], android.media.MediaScannerConnection.OnScanCompletedListener)" target="_top"><code>scanFile</code></A>(<code>Context,</nobr> String[]<nobr>,</nobr> String[]<nobr>,</nobr> OnScanCompletedListener<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.media.SoundPool.html b/docs/html/sdk/api_diff/8/changes/android.media.SoundPool.html
new file mode 100644
index 0000000..39f81fd
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.media.SoundPool.html
@@ -0,0 +1,136 @@
+<!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.media.SoundPool
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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="+2"><code>SoundPool</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.SoundPool.autoPause_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/SoundPool.html#autoPause()" target="_top"><code>autoPause</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.SoundPool.autoResume_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/SoundPool.html#autoResume()" target="_top"><code>autoResume</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.SoundPool.setOnLoadCompleteListener_added(android.media.SoundPool.OnLoadCompleteListener)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/SoundPool.html#setOnLoadCompleteListener(android.media.SoundPool.OnLoadCompleteListener)" target="_top"><code>setOnLoadCompleteListener</code></A>(<code>OnLoadCompleteListener</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.net.ConnectivityManager.html b/docs/html/sdk/api_diff/8/changes/android.net.ConnectivityManager.html
new file mode 100644
index 0000000..9030e2d
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.net.ConnectivityManager.html
@@ -0,0 +1,150 @@
+<!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.net.ConnectivityManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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="+2"><code>ConnectivityManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.ConnectivityManager.TYPE_MOBILE_DUN"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/net/ConnectivityManager.html#TYPE_MOBILE_DUN" target="_top"><code>TYPE_MOBILE_DUN</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.ConnectivityManager.TYPE_MOBILE_HIPRI"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/net/ConnectivityManager.html#TYPE_MOBILE_HIPRI" target="_top"><code>TYPE_MOBILE_HIPRI</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.ConnectivityManager.TYPE_MOBILE_MMS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/net/ConnectivityManager.html#TYPE_MOBILE_MMS" target="_top"><code>TYPE_MOBILE_MMS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.ConnectivityManager.TYPE_MOBILE_SUPL"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/net/ConnectivityManager.html#TYPE_MOBILE_SUPL" target="_top"><code>TYPE_MOBILE_SUPL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.ConnectivityManager.TYPE_WIMAX"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/net/ConnectivityManager.html#TYPE_WIMAX" target="_top"><code>TYPE_WIMAX</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.net.SSLCertificateSocketFactory.html b/docs/html/sdk/api_diff/8/changes/android.net.SSLCertificateSocketFactory.html
new file mode 100644
index 0000000..74c1bbb
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.net.SSLCertificateSocketFactory.html
@@ -0,0 +1,155 @@
+<!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.net.SSLCertificateSocketFactory
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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/SSLCertificateSocketFactory.html" target="_top"><font size="+2"><code>SSLCertificateSocketFactory</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.SSLCertificateSocketFactory.ctor_changed(int)"></A>
+  <nobr><A HREF="../../../../reference/android/net/SSLCertificateSocketFactory.html#SSLCertificateSocketFactory(int)" target="_top"><code>SSLCertificateSocketFactory</code></A>(<code>int</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from (<code>java.security.KeyManagementException, java.security.NoSuchAlgorithmException</code>) to no exceptions.<br>
+ <b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.SSLCertificateSocketFactory.getDefault_added(int, android.net.SSLSessionCache)"></A>
+  <nobr><code>SSLSocketFactory</code>&nbsp;<A HREF="../../../../reference/android/net/SSLCertificateSocketFactory.html#getDefault(int, android.net.SSLSessionCache)" target="_top"><code>getDefault</code></A>(<code>int,</nobr> SSLSessionCache<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.SSLCertificateSocketFactory.getHttpSocketFactory_added(int, android.net.SSLSessionCache)"></A>
+  <nobr><code>SSLSocketFactory</code>&nbsp;<A HREF="../../../../reference/android/net/SSLCertificateSocketFactory.html#getHttpSocketFactory(int, android.net.SSLSessionCache)" target="_top"><code>getHttpSocketFactory</code></A>(<code>int,</nobr> SSLSessionCache<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.SSLCertificateSocketFactory.getInsecure_added(int, android.net.SSLSessionCache)"></A>
+  <nobr><code>SSLSocketFactory</code>&nbsp;<A HREF="../../../../reference/android/net/SSLCertificateSocketFactory.html#getInsecure(int, android.net.SSLSessionCache)" target="_top"><code>getInsecure</code></A>(<code>int,</nobr> SSLSessionCache<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.net.http.SslCertificate.html b/docs/html/sdk/api_diff/8/changes/android.net.http.SslCertificate.html
new file mode 100644
index 0000000..5a8fe4f
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.net.http.SslCertificate.html
@@ -0,0 +1,190 @@
+<!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.net.http.SslCertificate
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.net.http.<A HREF="../../../../reference/android/net/http/SslCertificate.html" target="_top"><font size="+2"><code>SslCertificate</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.http.SslCertificate.ctor_added(java.lang.String, java.lang.String, java.util.Date, java.util.Date)"></A>
+  <nobr><A HREF="../../../../reference/android/net/http/SslCertificate.html#SslCertificate(java.lang.String, java.lang.String, java.util.Date, java.util.Date)" target="_top"><code>SslCertificate</code></A>(<code>String,</nobr> String<nobr>,</nobr> Date<nobr>,</nobr> Date<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.http.SslCertificate.ctor_changed(java.lang.String, java.lang.String, java.lang.String, java.lang.String)"></A>
+  <nobr><A HREF="../../../../reference/android/net/http/SslCertificate.html#SslCertificate(java.lang.String, java.lang.String, java.lang.String, java.lang.String)" target="_top"><code>SslCertificate</code></A>(<code>String,</nobr> String<nobr>,</nobr> String<nobr>,</nobr> String<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.http.SslCertificate.getValidNotAfterDate_added()"></A>
+  <nobr><code>Date</code>&nbsp;<A HREF="../../../../reference/android/net/http/SslCertificate.html#getValidNotAfterDate()" target="_top"><code>getValidNotAfterDate</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.http.SslCertificate.getValidNotBeforeDate_added()"></A>
+  <nobr><code>Date</code>&nbsp;<A HREF="../../../../reference/android/net/http/SslCertificate.html#getValidNotBeforeDate()" target="_top"><code>getValidNotBeforeDate</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.http.SslCertificate.getValidNotAfter_changed()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/net/http/SslCertificate.html#getValidNotAfter()" target="_top"><code>getValidNotAfter</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.http.SslCertificate.getValidNotBefore_changed()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/net/http/SslCertificate.html#getValidNotBefore()" target="_top"><code>getValidNotBefore</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.opengl.GLSurfaceView.html b/docs/html/sdk/api_diff/8/changes/android.opengl.GLSurfaceView.html
new file mode 100644
index 0000000..8679a61
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.opengl.GLSurfaceView.html
@@ -0,0 +1,122 @@
+<!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.opengl.GLSurfaceView
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.opengl.<A HREF="../../../../reference/android/opengl/GLSurfaceView.html" target="_top"><font size="+2"><code>GLSurfaceView</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.opengl.GLSurfaceView.setEGLContextClientVersion_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/opengl/GLSurfaceView.html#setEGLContextClientVersion(int)" target="_top"><code>setEGLContextClientVersion</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.opengl.Matrix.html b/docs/html/sdk/api_diff/8/changes/android.opengl.Matrix.html
new file mode 100644
index 0000000..9288e5c
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.opengl.Matrix.html
@@ -0,0 +1,122 @@
+<!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.opengl.Matrix
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.opengl.<A HREF="../../../../reference/android/opengl/Matrix.html" target="_top"><font size="+2"><code>Matrix</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.opengl.Matrix.setLookAtM_added(float[], int, float, float, float, float, float, float, float, float, float)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/opengl/Matrix.html#setLookAtM(float[], int, float, float, float, float, float, float, float, float, float)" target="_top"><code>setLookAtM</code></A>(<code>float[],</nobr> int<nobr>,</nobr> float<nobr>,</nobr> float<nobr>,</nobr> float<nobr>,</nobr> float<nobr>,</nobr> float<nobr>,</nobr> float<nobr>,</nobr> float<nobr>,</nobr> float<nobr>,</nobr> float<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.os.Build.VERSION_CODES.html b/docs/html/sdk/api_diff/8/changes/android.os.Build.VERSION_CODES.html
new file mode 100644
index 0000000..4f86bca
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.os.Build.VERSION_CODES.html
@@ -0,0 +1,122 @@
+<!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.os.Build.VERSION_CODES
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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.VERSION_CODES.html" target="_top"><font size="+2"><code>Build.VERSION_CODES</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Build.VERSION_CODES.FROYO"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/os/Build.VERSION_CODES.html#FROYO" target="_top"><code>FROYO</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.os.Build.html b/docs/html/sdk/api_diff/8/changes/android.os.Build.html
new file mode 100644
index 0000000..d6a3fd3
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.os.Build.html
@@ -0,0 +1,150 @@
+<!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.os.Build
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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="+2"><code>Build</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Build.BOOTLOADER"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/os/Build.html#BOOTLOADER" target="_top"><code>BOOTLOADER</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Build.CPU_ABI2"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/os/Build.html#CPU_ABI2" target="_top"><code>CPU_ABI2</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Build.HARDWARE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/os/Build.html#HARDWARE" target="_top"><code>HARDWARE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Build.RADIO"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/os/Build.html#RADIO" target="_top"><code>RADIO</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Build.UNKNOWN"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/os/Build.html#UNKNOWN" target="_top"><code>UNKNOWN</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.os.Bundle.html b/docs/html/sdk/api_diff/8/changes/android.os.Bundle.html
new file mode 100644
index 0000000..091f483
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.os.Bundle.html
@@ -0,0 +1,143 @@
+<!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.os.Bundle
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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/Bundle.html" target="_top"><font size="+2"><code>Bundle</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Bundle.getCharSequenceArray_added(java.lang.String)"></A>
+  <nobr><code>CharSequence[]</code>&nbsp;<A HREF="../../../../reference/android/os/Bundle.html#getCharSequenceArray(java.lang.String)" target="_top"><code>getCharSequenceArray</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Bundle.getCharSequenceArrayList_added(java.lang.String)"></A>
+  <nobr><code>ArrayList&lt;CharSequence&gt;</code>&nbsp;<A HREF="../../../../reference/android/os/Bundle.html#getCharSequenceArrayList(java.lang.String)" target="_top"><code>getCharSequenceArrayList</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Bundle.putCharSequenceArray_added(java.lang.String, java.lang.CharSequence[])"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/os/Bundle.html#putCharSequenceArray(java.lang.String, java.lang.CharSequence[])" target="_top"><code>putCharSequenceArray</code></A>(<code>String,</nobr> CharSequence[]<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Bundle.putCharSequenceArrayList_added(java.lang.String, java.util.ArrayList<java.lang.CharSequence>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/os/Bundle.html#putCharSequenceArrayList(java.lang.String, java.util.ArrayList<java.lang.CharSequence>)" target="_top"><code>putCharSequenceArrayList</code></A>(<code>String,</nobr> ArrayList&lt;CharSequence&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.os.Debug.html b/docs/html/sdk/api_diff/8/changes/android.os.Debug.html
new file mode 100644
index 0000000..e5a57b3
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.os.Debug.html
@@ -0,0 +1,150 @@
+<!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.os.Debug
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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="+2"><code>Debug</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Debug.dumpService_added(java.lang.String, java.io.FileDescriptor, java.lang.String[])"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/os/Debug.html#dumpService(java.lang.String, java.io.FileDescriptor, java.lang.String[])" target="_top"><code>dumpService</code></A>(<code>String,</nobr> FileDescriptor<nobr>,</nobr> String[]<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Debug.getGlobalClassInitCount_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/os/Debug.html#getGlobalClassInitCount()" target="_top"><code>getGlobalClassInitCount</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Debug.getGlobalClassInitTime_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/os/Debug.html#getGlobalClassInitTime()" target="_top"><code>getGlobalClassInitTime</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Debug.resetGlobalClassInitCount_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/os/Debug.html#resetGlobalClassInitCount()" target="_top"><code>resetGlobalClassInitCount</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Debug.resetGlobalClassInitTime_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/os/Debug.html#resetGlobalClassInitTime()" target="_top"><code>resetGlobalClassInitTime</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.os.Environment.html b/docs/html/sdk/api_diff/8/changes/android.os.Environment.html
new file mode 100644
index 0000000..b803614
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.os.Environment.html
@@ -0,0 +1,193 @@
+<!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.os.Environment
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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="+2"><code>Environment</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Environment.getExternalStoragePublicDirectory_added(java.lang.String)"></A>
+  <nobr><code>File</code>&nbsp;<A HREF="../../../../reference/android/os/Environment.html#getExternalStoragePublicDirectory(java.lang.String)" target="_top"><code>getExternalStoragePublicDirectory</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Environment.DIRECTORY_ALARMS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/os/Environment.html#DIRECTORY_ALARMS" target="_top"><code>DIRECTORY_ALARMS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Environment.DIRECTORY_DCIM"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/os/Environment.html#DIRECTORY_DCIM" target="_top"><code>DIRECTORY_DCIM</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Environment.DIRECTORY_DOWNLOADS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/os/Environment.html#DIRECTORY_DOWNLOADS" target="_top"><code>DIRECTORY_DOWNLOADS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Environment.DIRECTORY_MOVIES"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/os/Environment.html#DIRECTORY_MOVIES" target="_top"><code>DIRECTORY_MOVIES</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Environment.DIRECTORY_MUSIC"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/os/Environment.html#DIRECTORY_MUSIC" target="_top"><code>DIRECTORY_MUSIC</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Environment.DIRECTORY_NOTIFICATIONS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/os/Environment.html#DIRECTORY_NOTIFICATIONS" target="_top"><code>DIRECTORY_NOTIFICATIONS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Environment.DIRECTORY_PICTURES"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/os/Environment.html#DIRECTORY_PICTURES" target="_top"><code>DIRECTORY_PICTURES</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Environment.DIRECTORY_PODCASTS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/os/Environment.html#DIRECTORY_PODCASTS" target="_top"><code>DIRECTORY_PODCASTS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Environment.DIRECTORY_RINGTONES"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/os/Environment.html#DIRECTORY_RINGTONES" target="_top"><code>DIRECTORY_RINGTONES</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.os.PowerManager.html b/docs/html/sdk/api_diff/8/changes/android.os.PowerManager.html
new file mode 100644
index 0000000..0fd9c9e
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.os.PowerManager.html
@@ -0,0 +1,122 @@
+<!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.os.PowerManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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/PowerManager.html" target="_top"><font size="+2"><code>PowerManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.PowerManager.reboot_added(java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/os/PowerManager.html#reboot(java.lang.String)" target="_top"><code>reboot</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.provider.Browser.html b/docs/html/sdk/api_diff/8/changes/android.provider.Browser.html
new file mode 100644
index 0000000..b75b7a0
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.provider.Browser.html
@@ -0,0 +1,122 @@
+<!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.provider.Browser
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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="+2"><code>Browser</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Browser.EXTRA_HEADERS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Browser.html#EXTRA_HEADERS" target="_top"><code>EXTRA_HEADERS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.provider.CallLog.Calls.html b/docs/html/sdk/api_diff/8/changes/android.provider.CallLog.Calls.html
new file mode 100644
index 0000000..ab8dbae
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.provider.CallLog.Calls.html
@@ -0,0 +1,122 @@
+<!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.provider.CallLog.Calls
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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/CallLog.Calls.html" target="_top"><font size="+2"><code>CallLog.Calls</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.CallLog.Calls.getLastOutgoingCall_added(android.content.Context)"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/CallLog.Calls.html#getLastOutgoingCall(android.content.Context)" target="_top"><code>getLastOutgoingCall</code></A>(<code>Context</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.provider.Contacts.PresenceColumns.html b/docs/html/sdk/api_diff/8/changes/android.provider.Contacts.PresenceColumns.html
new file mode 100644
index 0000000..8a216d7
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.provider.Contacts.PresenceColumns.html
@@ -0,0 +1,178 @@
+<!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.provider.Contacts.PresenceColumns
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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.PresenceColumns.html" target="_top"><font size="+2"><code>Contacts.PresenceColumns</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Contacts.PresenceColumns.AVAILABLE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/provider/Contacts.PresenceColumns.html#AVAILABLE" target="_top"><code>AVAILABLE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Contacts.PresenceColumns.AWAY"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/provider/Contacts.PresenceColumns.html#AWAY" target="_top"><code>AWAY</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Contacts.PresenceColumns.DO_NOT_DISTURB"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/provider/Contacts.PresenceColumns.html#DO_NOT_DISTURB" target="_top"><code>DO_NOT_DISTURB</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Contacts.PresenceColumns.IDLE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/provider/Contacts.PresenceColumns.html#IDLE" target="_top"><code>IDLE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Contacts.PresenceColumns.INVISIBLE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/provider/Contacts.PresenceColumns.html#INVISIBLE" target="_top"><code>INVISIBLE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Contacts.PresenceColumns.OFFLINE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/provider/Contacts.PresenceColumns.html#OFFLINE" target="_top"><code>OFFLINE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Contacts.PresenceColumns.PRESENCE_CUSTOM_STATUS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Contacts.PresenceColumns.html#PRESENCE_CUSTOM_STATUS" target="_top"><code>PRESENCE_CUSTOM_STATUS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Contacts.PresenceColumns.PRESENCE_STATUS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Contacts.PresenceColumns.html#PRESENCE_STATUS" target="_top"><code>PRESENCE_STATUS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Contacts.PresenceColumns.PRIORITY"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Contacts.PresenceColumns.html#PRIORITY" target="_top"><code>PRIORITY</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.provider.ContactsContract.Groups.html b/docs/html/sdk/api_diff/8/changes/android.provider.ContactsContract.Groups.html
new file mode 100644
index 0000000..f8f0e2f
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.provider.ContactsContract.Groups.html
@@ -0,0 +1,122 @@
+<!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.provider.ContactsContract.Groups
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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/ContactsContract.Groups.html" target="_top"><font size="+2"><code>ContactsContract.Groups</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.Groups.newEntityIterator_added(android.database.Cursor)"></A>
+  <nobr><code>EntityIterator</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.Groups.html#newEntityIterator(android.database.Cursor)" target="_top"><code>newEntityIterator</code></A>(<code>Cursor</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.provider.ContactsContract.RawContacts.html b/docs/html/sdk/api_diff/8/changes/android.provider.ContactsContract.RawContacts.html
new file mode 100644
index 0000000..011a590
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.provider.ContactsContract.RawContacts.html
@@ -0,0 +1,122 @@
+<!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.provider.ContactsContract.RawContacts
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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/ContactsContract.RawContacts.html" target="_top"><font size="+2"><code>ContactsContract.RawContacts</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.RawContacts.newEntityIterator_added(android.database.Cursor)"></A>
+  <nobr><code>EntityIterator</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.RawContacts.html#newEntityIterator(android.database.Cursor)" target="_top"><code>newEntityIterator</code></A>(<code>Cursor</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.provider.ContactsContract.StatusColumns.html b/docs/html/sdk/api_diff/8/changes/android.provider.ContactsContract.StatusColumns.html
new file mode 100644
index 0000000..970ce5e
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.provider.ContactsContract.StatusColumns.html
@@ -0,0 +1,171 @@
+<!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.provider.ContactsContract.StatusColumns
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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/ContactsContract.StatusColumns.html" target="_top"><font size="+2"><code>ContactsContract.StatusColumns</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.StatusColumns.AVAILABLE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.StatusColumns.html#AVAILABLE" target="_top"><code>AVAILABLE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.StatusColumns.AWAY"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.StatusColumns.html#AWAY" target="_top"><code>AWAY</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.StatusColumns.DO_NOT_DISTURB"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.StatusColumns.html#DO_NOT_DISTURB" target="_top"><code>DO_NOT_DISTURB</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.StatusColumns.IDLE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.StatusColumns.html#IDLE" target="_top"><code>IDLE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.StatusColumns.INVISIBLE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.StatusColumns.html#INVISIBLE" target="_top"><code>INVISIBLE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.StatusColumns.OFFLINE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.StatusColumns.html#OFFLINE" target="_top"><code>OFFLINE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.StatusColumns.PRESENCE_CUSTOM_STATUS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.StatusColumns.html#PRESENCE_CUSTOM_STATUS" target="_top"><code>PRESENCE_CUSTOM_STATUS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.StatusColumns.PRESENCE_STATUS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.StatusColumns.html#PRESENCE_STATUS" target="_top"><code>PRESENCE_STATUS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.provider.MediaStore.Audio.AudioColumns.html b/docs/html/sdk/api_diff/8/changes/android.provider.MediaStore.Audio.AudioColumns.html
new file mode 100644
index 0000000..ed9fd8d
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.provider.MediaStore.Audio.AudioColumns.html
@@ -0,0 +1,129 @@
+<!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.provider.MediaStore.Audio.AudioColumns
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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.AudioColumns.html" target="_top"><font size="+2"><code>MediaStore.Audio.AudioColumns</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.MediaStore.Audio.AudioColumns.BOOKMARK"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/MediaStore.Audio.AudioColumns.html#BOOKMARK" target="_top"><code>BOOKMARK</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.MediaStore.Audio.AudioColumns.IS_PODCAST"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/MediaStore.Audio.AudioColumns.html#IS_PODCAST" target="_top"><code>IS_PODCAST</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.provider.MediaStore.Audio.Playlists.Members.html b/docs/html/sdk/api_diff/8/changes/android.provider.MediaStore.Audio.Playlists.Members.html
new file mode 100644
index 0000000..9c0ab20
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.provider.MediaStore.Audio.Playlists.Members.html
@@ -0,0 +1,122 @@
+<!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.provider.MediaStore.Audio.Playlists.Members
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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.Playlists.Members.html" target="_top"><font size="+2"><code>MediaStore.Audio.Playlists.Members</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.MediaStore.Audio.Playlists.Members.moveItem_added(android.content.ContentResolver, long, int, int)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/provider/MediaStore.Audio.Playlists.Members.html#moveItem(android.content.ContentResolver, long, int, int)" target="_top"><code>moveItem</code></A>(<code>ContentResolver,</nobr> long<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.provider.MediaStore.Images.Thumbnails.html b/docs/html/sdk/api_diff/8/changes/android.provider.MediaStore.Images.Thumbnails.html
new file mode 100644
index 0000000..999ae40
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.provider.MediaStore.Images.Thumbnails.html
@@ -0,0 +1,129 @@
+<!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.provider.MediaStore.Images.Thumbnails
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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.Thumbnails.html" target="_top"><font size="+2"><code>MediaStore.Images.Thumbnails</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.MediaStore.Images.Thumbnails.cancelThumbnailRequest_added(android.content.ContentResolver, long, long)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/provider/MediaStore.Images.Thumbnails.html#cancelThumbnailRequest(android.content.ContentResolver, long, long)" target="_top"><code>cancelThumbnailRequest</code></A>(<code>ContentResolver,</nobr> long<nobr>,</nobr> long<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.MediaStore.Images.Thumbnails.getThumbnail_added(android.content.ContentResolver, long, long, int, android.graphics.BitmapFactory.Options)"></A>
+  <nobr><code>Bitmap</code>&nbsp;<A HREF="../../../../reference/android/provider/MediaStore.Images.Thumbnails.html#getThumbnail(android.content.ContentResolver, long, long, int, android.graphics.BitmapFactory.Options)" target="_top"><code>getThumbnail</code></A>(<code>ContentResolver,</nobr> long<nobr>,</nobr> long<nobr>,</nobr> int<nobr>,</nobr> Options<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.provider.MediaStore.Video.Thumbnails.html b/docs/html/sdk/api_diff/8/changes/android.provider.MediaStore.Video.Thumbnails.html
new file mode 100644
index 0000000..2ffd079
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.provider.MediaStore.Video.Thumbnails.html
@@ -0,0 +1,129 @@
+<!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.provider.MediaStore.Video.Thumbnails
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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.Thumbnails.html" target="_top"><font size="+2"><code>MediaStore.Video.Thumbnails</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.MediaStore.Video.Thumbnails.cancelThumbnailRequest_added(android.content.ContentResolver, long, long)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/provider/MediaStore.Video.Thumbnails.html#cancelThumbnailRequest(android.content.ContentResolver, long, long)" target="_top"><code>cancelThumbnailRequest</code></A>(<code>ContentResolver,</nobr> long<nobr>,</nobr> long<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.MediaStore.Video.Thumbnails.getThumbnail_added(android.content.ContentResolver, long, long, int, android.graphics.BitmapFactory.Options)"></A>
+  <nobr><code>Bitmap</code>&nbsp;<A HREF="../../../../reference/android/provider/MediaStore.Video.Thumbnails.html#getThumbnail(android.content.ContentResolver, long, long, int, android.graphics.BitmapFactory.Options)" target="_top"><code>getThumbnail</code></A>(<code>ContentResolver,</nobr> long<nobr>,</nobr> long<nobr>,</nobr> int<nobr>,</nobr> Options<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.provider.MediaStore.html b/docs/html/sdk/api_diff/8/changes/android.provider.MediaStore.html
new file mode 100644
index 0000000..2aab1e8
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.provider.MediaStore.html
@@ -0,0 +1,157 @@
+<!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.provider.MediaStore
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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="+2"><code>MediaStore</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.MediaStore.EXTRA_DURATION_LIMIT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/MediaStore.html#EXTRA_DURATION_LIMIT" target="_top"><code>EXTRA_DURATION_LIMIT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.MediaStore.EXTRA_FULL_SCREEN"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/MediaStore.html#EXTRA_FULL_SCREEN" target="_top"><code>EXTRA_FULL_SCREEN</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.MediaStore.EXTRA_SHOW_ACTION_ICONS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/MediaStore.html#EXTRA_SHOW_ACTION_ICONS" target="_top"><code>EXTRA_SHOW_ACTION_ICONS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.MediaStore.EXTRA_SIZE_LIMIT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/MediaStore.html#EXTRA_SIZE_LIMIT" target="_top"><code>EXTRA_SIZE_LIMIT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.MediaStore.INTENT_ACTION_MUSIC_PLAYER"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/MediaStore.html#INTENT_ACTION_MUSIC_PLAYER" target="_top"><code>INTENT_ACTION_MUSIC_PLAYER</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.MediaStore.UNKNOWN_STRING"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/MediaStore.html#UNKNOWN_STRING" target="_top"><code>UNKNOWN_STRING</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.provider.Settings.Secure.html b/docs/html/sdk/api_diff/8/changes/android.provider.Settings.Secure.html
new file mode 100644
index 0000000..7b89ab1
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.provider.Settings.Secure.html
@@ -0,0 +1,172 @@
+<!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.provider.Settings.Secure
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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.Secure.html" target="_top"><font size="+2"><code>Settings.Secure</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.Secure.isLocationProviderEnabled_added(android.content.ContentResolver, java.lang.String)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.Secure.html#isLocationProviderEnabled(android.content.ContentResolver, java.lang.String)" target="_top"><code>isLocationProviderEnabled</code></A>(<code>ContentResolver,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.Secure.setLocationProviderEnabled_added(android.content.ContentResolver, java.lang.String, boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.Secure.html#setLocationProviderEnabled(android.content.ContentResolver, java.lang.String, boolean)" target="_top"><code>setLocationProviderEnabled</code></A>(<code>ContentResolver,</nobr> String<nobr>,</nobr> boolean<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.Secure.ALLOWED_GEOLOCATION_ORIGINS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.Secure.html#ALLOWED_GEOLOCATION_ORIGINS" target="_top"><code>ALLOWED_GEOLOCATION_ORIGINS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.Secure.LOCK_PATTERN_ENABLED"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.Secure.html#LOCK_PATTERN_ENABLED" target="_top"><code>LOCK_PATTERN_ENABLED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.Secure.LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.Secure.html#LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED" target="_top"><code>LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.Secure.LOCK_PATTERN_VISIBLE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.Secure.html#LOCK_PATTERN_VISIBLE" target="_top"><code>LOCK_PATTERN_VISIBLE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.Secure.TTS_ENABLED_PLUGINS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.Secure.html#TTS_ENABLED_PLUGINS" target="_top"><code>TTS_ENABLED_PLUGINS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.provider.Settings.System.html b/docs/html/sdk/api_diff/8/changes/android.provider.Settings.System.html
new file mode 100644
index 0000000..81dd481
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.provider.Settings.System.html
@@ -0,0 +1,178 @@
+<!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.provider.Settings.System
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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="+2"><code>Settings.System</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.System.html#SCREEN_BRIGHTNESS_MODE" target="_top"><code>SCREEN_BRIGHTNESS_MODE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.System.html#SCREEN_BRIGHTNESS_MODE_AUTOMATIC" target="_top"><code>SCREEN_BRIGHTNESS_MODE_AUTOMATIC</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.System.html#SCREEN_BRIGHTNESS_MODE_MANUAL" target="_top"><code>SCREEN_BRIGHTNESS_MODE_MANUAL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.System.VOLUME_BLUETOOTH_SCO"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.System.html#VOLUME_BLUETOOTH_SCO" target="_top"><code>VOLUME_BLUETOOTH_SCO</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.System.LOCK_PATTERN_ENABLED"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.System.html#LOCK_PATTERN_ENABLED" target="_top"><code>LOCK_PATTERN_ENABLED</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</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>&nbsp;<A HREF="../../../../reference/android/provider/Settings.System.html#LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED" target="_top"><code>LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.System.LOCK_PATTERN_VISIBLE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.System.html#LOCK_PATTERN_VISIBLE" target="_top"><code>LOCK_PATTERN_VISIBLE</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.provider.Settings.html b/docs/html/sdk/api_diff/8/changes/android.provider.Settings.html
new file mode 100644
index 0000000..c78568c
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.provider.Settings.html
@@ -0,0 +1,143 @@
+<!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.provider.Settings
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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="+2"><code>Settings</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.ACTION_ADD_ACCOUNT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.html#ACTION_ADD_ACCOUNT" target="_top"><code>ACTION_ADD_ACCOUNT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.ACTION_DEVICE_INFO_SETTINGS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.html#ACTION_DEVICE_INFO_SETTINGS" target="_top"><code>ACTION_DEVICE_INFO_SETTINGS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.ACTION_SEARCH_SETTINGS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.html#ACTION_SEARCH_SETTINGS" target="_top"><code>ACTION_SEARCH_SETTINGS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.EXTRA_AUTHORITIES"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.html#EXTRA_AUTHORITIES" target="_top"><code>EXTRA_AUTHORITIES</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.speech.RecognizerIntent.html b/docs/html/sdk/api_diff/8/changes/android.speech.RecognizerIntent.html
new file mode 100644
index 0000000..e70defc
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.speech.RecognizerIntent.html
@@ -0,0 +1,200 @@
+<!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.speech.RecognizerIntent
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.speech.<A HREF="../../../../reference/android/speech/RecognizerIntent.html" target="_top"><font size="+2"><code>RecognizerIntent</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.speech.RecognizerIntent.getVoiceDetailsIntent_added(android.content.Context)"></A>
+  <nobr><code>Intent</code>&nbsp;<A HREF="../../../../reference/android/speech/RecognizerIntent.html#getVoiceDetailsIntent(android.content.Context)" target="_top"><code>getVoiceDetailsIntent</code></A>(<code>Context</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.speech.RecognizerIntent.ACTION_GET_LANGUAGE_DETAILS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/speech/RecognizerIntent.html#ACTION_GET_LANGUAGE_DETAILS" target="_top"><code>ACTION_GET_LANGUAGE_DETAILS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.speech.RecognizerIntent.DETAILS_META_DATA"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/speech/RecognizerIntent.html#DETAILS_META_DATA" target="_top"><code>DETAILS_META_DATA</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.speech.RecognizerIntent.EXTRA_CALLING_PACKAGE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/speech/RecognizerIntent.html#EXTRA_CALLING_PACKAGE" target="_top"><code>EXTRA_CALLING_PACKAGE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.speech.RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/speech/RecognizerIntent.html#EXTRA_LANGUAGE_PREFERENCE" target="_top"><code>EXTRA_LANGUAGE_PREFERENCE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.speech.RecognizerIntent.EXTRA_ONLY_RETURN_LANGUAGE_PREFERENCE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/speech/RecognizerIntent.html#EXTRA_ONLY_RETURN_LANGUAGE_PREFERENCE" target="_top"><code>EXTRA_ONLY_RETURN_LANGUAGE_PREFERENCE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.speech.RecognizerIntent.EXTRA_PARTIAL_RESULTS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/speech/RecognizerIntent.html#EXTRA_PARTIAL_RESULTS" target="_top"><code>EXTRA_PARTIAL_RESULTS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.speech.RecognizerIntent.EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/speech/RecognizerIntent.html#EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS" target="_top"><code>EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.speech.RecognizerIntent.EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/speech/RecognizerIntent.html#EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS" target="_top"><code>EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.speech.RecognizerIntent.EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/speech/RecognizerIntent.html#EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS" target="_top"><code>EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.speech.RecognizerIntent.EXTRA_SUPPORTED_LANGUAGES"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/speech/RecognizerIntent.html#EXTRA_SUPPORTED_LANGUAGES" target="_top"><code>EXTRA_SUPPORTED_LANGUAGES</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.speech.tts.TextToSpeech.Engine.html b/docs/html/sdk/api_diff/8/changes/android.speech.tts.TextToSpeech.Engine.html
new file mode 100644
index 0000000..0219ce2
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.speech.tts.TextToSpeech.Engine.html
@@ -0,0 +1,136 @@
+<!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.speech.tts.TextToSpeech.Engine
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.speech.tts.<A HREF="../../../../reference/android/speech/tts/TextToSpeech.Engine.html" target="_top"><font size="+2"><code>TextToSpeech.Engine</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.speech.tts.TextToSpeech.Engine.EXTRA_AVAILABLE_VOICES"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/speech/tts/TextToSpeech.Engine.html#EXTRA_AVAILABLE_VOICES" target="_top"><code>EXTRA_AVAILABLE_VOICES</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.speech.tts.TextToSpeech.Engine.EXTRA_CHECK_VOICE_DATA_FOR"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/speech/tts/TextToSpeech.Engine.html#EXTRA_CHECK_VOICE_DATA_FOR" target="_top"><code>EXTRA_CHECK_VOICE_DATA_FOR</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.speech.tts.TextToSpeech.Engine.EXTRA_UNAVAILABLE_VOICES"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/speech/tts/TextToSpeech.Engine.html#EXTRA_UNAVAILABLE_VOICES" target="_top"><code>EXTRA_UNAVAILABLE_VOICES</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.speech.tts.TextToSpeech.html b/docs/html/sdk/api_diff/8/changes/android.speech.tts.TextToSpeech.html
new file mode 100644
index 0000000..8bcd351
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.speech.tts.TextToSpeech.html
@@ -0,0 +1,136 @@
+<!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.speech.tts.TextToSpeech
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.speech.tts.<A HREF="../../../../reference/android/speech/tts/TextToSpeech.html" target="_top"><font size="+2"><code>TextToSpeech</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.speech.tts.TextToSpeech.areDefaultsEnforced_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/speech/tts/TextToSpeech.html#areDefaultsEnforced()" target="_top"><code>areDefaultsEnforced</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.speech.tts.TextToSpeech.getDefaultEngine_added()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/speech/tts/TextToSpeech.html#getDefaultEngine()" target="_top"><code>getDefaultEngine</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.speech.tts.TextToSpeech.setEngineByPackageName_added(java.lang.String)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/speech/tts/TextToSpeech.html#setEngineByPackageName(java.lang.String)" target="_top"><code>setEngineByPackageName</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.telephony.TelephonyManager.html b/docs/html/sdk/api_diff/8/changes/android.telephony.TelephonyManager.html
new file mode 100644
index 0000000..f899475
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.telephony.TelephonyManager.html
@@ -0,0 +1,122 @@
+<!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.telephony.TelephonyManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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="+2"><code>TelephonyManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.TelephonyManager.NETWORK_TYPE_IDEN"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/TelephonyManager.html#NETWORK_TYPE_IDEN" target="_top"><code>NETWORK_TYPE_IDEN</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.test.ActivityInstrumentationTestCase2.html b/docs/html/sdk/api_diff/8/changes/android.test.ActivityInstrumentationTestCase2.html
new file mode 100644
index 0000000..97023e6
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.test.ActivityInstrumentationTestCase2.html
@@ -0,0 +1,140 @@
+<!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.ActivityInstrumentationTestCase2
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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/ActivityInstrumentationTestCase2.html" target="_top"><font size="+2"><code>ActivityInstrumentationTestCase2</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.test.ActivityInstrumentationTestCase2.ctor_added(java.lang.Class<T>)"></A>
+  <nobr><A HREF="../../../../reference/android/test/ActivityInstrumentationTestCase2.html#ActivityInstrumentationTestCase2(java.lang.Class<T>)" target="_top"><code>ActivityInstrumentationTestCase2</code></A>(<code>Class&lt;T&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.test.ActivityInstrumentationTestCase2.ctor_changed(java.lang.String, java.lang.Class<T>)"></A>
+  <nobr><A HREF="../../../../reference/android/test/ActivityInstrumentationTestCase2.html#ActivityInstrumentationTestCase2(java.lang.String, java.lang.Class<T>)" target="_top"><code>ActivityInstrumentationTestCase2</code></A>(<code>String,</nobr> Class&lt;T&gt;<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.test.mock.MockContext.html b/docs/html/sdk/api_diff/8/changes/android.test.mock.MockContext.html
new file mode 100644
index 0000000..d2241eb
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.test.mock.MockContext.html
@@ -0,0 +1,129 @@
+<!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.mock.MockContext
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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/MockContext.html" target="_top"><font size="+2"><code>MockContext</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.test.mock.MockContext.getExternalCacheDir_added()"></A>
+  <nobr><code>File</code>&nbsp;<A HREF="../../../../reference/android/test/mock/MockContext.html#getExternalCacheDir()" target="_top"><code>getExternalCacheDir</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.test.mock.MockContext.getExternalFilesDir_added(java.lang.String)"></A>
+  <nobr><code>File</code>&nbsp;<A HREF="../../../../reference/android/test/mock/MockContext.html#getExternalFilesDir(java.lang.String)" target="_top"><code>getExternalFilesDir</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.test.mock.MockPackageManager.html b/docs/html/sdk/api_diff/8/changes/android.test.mock.MockPackageManager.html
new file mode 100644
index 0000000..9a90a3c
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.test.mock.MockPackageManager.html
@@ -0,0 +1,136 @@
+<!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.mock.MockPackageManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<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="+2"><code>MockPackageManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.test.mock.MockPackageManager.addPermissionAsync_added(android.content.pm.PermissionInfo)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/test/mock/MockPackageManager.html#addPermissionAsync(android.content.pm.PermissionInfo)" target="_top"><code>addPermissionAsync</code></A>(<code>PermissionInfo</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.test.mock.MockPackageManager.canonicalToCurrentPackageNames_added(java.lang.String[])"></A>
+  <nobr><code>String[]</code>&nbsp;<A HREF="../../../../reference/android/test/mock/MockPackageManager.html#canonicalToCurrentPackageNames(java.lang.String[])" target="_top"><code>canonicalToCurrentPackageNames</code></A>(<code>String[]</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.test.mock.MockPackageManager.currentToCanonicalPackageNames_added(java.lang.String[])"></A>
+  <nobr><code>String[]</code>&nbsp;<A HREF="../../../../reference/android/test/mock/MockPackageManager.html#currentToCanonicalPackageNames(java.lang.String[])" target="_top"><code>currentToCanonicalPackageNames</code></A>(<code>String[]</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.text.AndroidCharacter.html b/docs/html/sdk/api_diff/8/changes/android.text.AndroidCharacter.html
new file mode 100644
index 0000000..0e7788e
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.text.AndroidCharacter.html
@@ -0,0 +1,179 @@
+<!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.text.AndroidCharacter
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.text.<A HREF="../../../../reference/android/text/AndroidCharacter.html" target="_top"><font size="+2"><code>AndroidCharacter</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.AndroidCharacter.getEastAsianWidth_added(char)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/text/AndroidCharacter.html#getEastAsianWidth(char)" target="_top"><code>getEastAsianWidth</code></A>(<code>char</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.AndroidCharacter.getEastAsianWidths_added(char[], int, int, byte[])"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/text/AndroidCharacter.html#getEastAsianWidths(char[], int, int, byte[])" target="_top"><code>getEastAsianWidths</code></A>(<code>char[],</nobr> int<nobr>,</nobr> int<nobr>,</nobr> byte[]<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.AndroidCharacter.EAST_ASIAN_WIDTH_AMBIGUOUS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/text/AndroidCharacter.html#EAST_ASIAN_WIDTH_AMBIGUOUS" target="_top"><code>EAST_ASIAN_WIDTH_AMBIGUOUS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.AndroidCharacter.EAST_ASIAN_WIDTH_FULL_WIDTH"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/text/AndroidCharacter.html#EAST_ASIAN_WIDTH_FULL_WIDTH" target="_top"><code>EAST_ASIAN_WIDTH_FULL_WIDTH</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.AndroidCharacter.EAST_ASIAN_WIDTH_HALF_WIDTH"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/text/AndroidCharacter.html#EAST_ASIAN_WIDTH_HALF_WIDTH" target="_top"><code>EAST_ASIAN_WIDTH_HALF_WIDTH</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.AndroidCharacter.EAST_ASIAN_WIDTH_NARROW"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/text/AndroidCharacter.html#EAST_ASIAN_WIDTH_NARROW" target="_top"><code>EAST_ASIAN_WIDTH_NARROW</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.AndroidCharacter.EAST_ASIAN_WIDTH_NEUTRAL"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/text/AndroidCharacter.html#EAST_ASIAN_WIDTH_NEUTRAL" target="_top"><code>EAST_ASIAN_WIDTH_NEUTRAL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.AndroidCharacter.EAST_ASIAN_WIDTH_WIDE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/text/AndroidCharacter.html#EAST_ASIAN_WIDTH_WIDE" target="_top"><code>EAST_ASIAN_WIDTH_WIDE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.text.util.Rfc822Tokenizer.html b/docs/html/sdk/api_diff/8/changes/android.text.util.Rfc822Tokenizer.html
new file mode 100644
index 0000000..41cbee6
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.text.util.Rfc822Tokenizer.html
@@ -0,0 +1,122 @@
+<!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.text.util.Rfc822Tokenizer
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.text.util.<A HREF="../../../../reference/android/text/util/Rfc822Tokenizer.html" target="_top"><font size="+2"><code>Rfc822Tokenizer</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.util.Rfc822Tokenizer.tokenize_added(java.lang.CharSequence, java.util.Collection<android.text.util.Rfc822Token>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/text/util/Rfc822Tokenizer.html#tokenize(java.lang.CharSequence, java.util.Collection<android.text.util.Rfc822Token>)" target="_top"><code>tokenize</code></A>(<code>CharSequence,</nobr> Collection&lt;Rfc822Token&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.util.EventLogTags.html b/docs/html/sdk/api_diff/8/changes/android.util.EventLogTags.html
new file mode 100644
index 0000000..d0eef8a
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.util.EventLogTags.html
@@ -0,0 +1,108 @@
+<!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.util.EventLogTags
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.util.<A HREF="../../../../reference/android/util/EventLogTags.html" target="_top"><font size="+2"><code>EventLogTags</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.util.Log.html b/docs/html/sdk/api_diff/8/changes/android.util.Log.html
new file mode 100644
index 0000000..f3266be
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.util.Log.html
@@ -0,0 +1,136 @@
+<!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.util.Log
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.util.<A HREF="../../../../reference/android/util/Log.html" target="_top"><font size="+2"><code>Log</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.util.Log.wtf_added(java.lang.String, java.lang.String)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/util/Log.html#wtf(java.lang.String, java.lang.String)" target="_top"><code>wtf</code></A>(<code>String,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.util.Log.wtf_added(java.lang.String, java.lang.String, java.lang.Throwable)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/util/Log.html#wtf(java.lang.String, java.lang.String, java.lang.Throwable)" target="_top"><code>wtf</code></A>(<code>String,</nobr> String<nobr>,</nobr> Throwable<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.util.Log.wtf_added(java.lang.String, java.lang.Throwable)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/util/Log.html#wtf(java.lang.String, java.lang.Throwable)" target="_top"><code>wtf</code></A>(<code>String,</nobr> Throwable<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.view.Display.html b/docs/html/sdk/api_diff/8/changes/android.view.Display.html
new file mode 100644
index 0000000..8542008
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.view.Display.html
@@ -0,0 +1,140 @@
+<!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.view.Display
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.view.<A HREF="../../../../reference/android/view/Display.html" target="_top"><font size="+2"><code>Display</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Display.getRotation_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/Display.html#getRotation()" target="_top"><code>getRotation</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Display.getOrientation_changed()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/Display.html#getOrientation()" target="_top"><code>getOrientation</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.view.GestureDetector.html b/docs/html/sdk/api_diff/8/changes/android.view.GestureDetector.html
new file mode 100644
index 0000000..7b7aacf
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.view.GestureDetector.html
@@ -0,0 +1,122 @@
+<!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.view.GestureDetector
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.view.<A HREF="../../../../reference/android/view/GestureDetector.html" target="_top"><font size="+2"><code>GestureDetector</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.GestureDetector.ctor_added(android.content.Context, android.view.GestureDetector.OnGestureListener, android.os.Handler, boolean)"></A>
+  <nobr><A HREF="../../../../reference/android/view/GestureDetector.html#GestureDetector(android.content.Context, android.view.GestureDetector.OnGestureListener, android.os.Handler, boolean)" target="_top"><code>GestureDetector</code></A>(<code>Context,</nobr> OnGestureListener<nobr>,</nobr> Handler<nobr>,</nobr> boolean<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.view.HapticFeedbackConstants.html b/docs/html/sdk/api_diff/8/changes/android.view.HapticFeedbackConstants.html
new file mode 100644
index 0000000..dfb20ec
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.view.HapticFeedbackConstants.html
@@ -0,0 +1,122 @@
+<!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.view.HapticFeedbackConstants
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.view.<A HREF="../../../../reference/android/view/HapticFeedbackConstants.html" target="_top"><font size="+2"><code>HapticFeedbackConstants</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.HapticFeedbackConstants.KEYBOARD_TAP"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/HapticFeedbackConstants.html#KEYBOARD_TAP" target="_top"><code>KEYBOARD_TAP</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.view.MotionEvent.html b/docs/html/sdk/api_diff/8/changes/android.view.MotionEvent.html
new file mode 100644
index 0000000..568a205
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.view.MotionEvent.html
@@ -0,0 +1,231 @@
+<!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.view.MotionEvent
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.view.<A HREF="../../../../reference/android/view/MotionEvent.html" target="_top"><font size="+2"><code>MotionEvent</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MotionEvent.getActionIndex_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/MotionEvent.html#getActionIndex()" target="_top"><code>getActionIndex</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MotionEvent.getActionMasked_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/MotionEvent.html#getActionMasked()" target="_top"><code>getActionMasked</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MotionEvent.ACTION_POINTER_INDEX_MASK"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/MotionEvent.html#ACTION_POINTER_INDEX_MASK" target="_top"><code>ACTION_POINTER_INDEX_MASK</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MotionEvent.ACTION_POINTER_INDEX_SHIFT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/MotionEvent.html#ACTION_POINTER_INDEX_SHIFT" target="_top"><code>ACTION_POINTER_INDEX_SHIFT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MotionEvent.ACTION_POINTER_1_DOWN"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/MotionEvent.html#ACTION_POINTER_1_DOWN" target="_top"><code>ACTION_POINTER_1_DOWN</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MotionEvent.ACTION_POINTER_1_UP"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/MotionEvent.html#ACTION_POINTER_1_UP" target="_top"><code>ACTION_POINTER_1_UP</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MotionEvent.ACTION_POINTER_2_DOWN"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/MotionEvent.html#ACTION_POINTER_2_DOWN" target="_top"><code>ACTION_POINTER_2_DOWN</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MotionEvent.ACTION_POINTER_2_UP"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/MotionEvent.html#ACTION_POINTER_2_UP" target="_top"><code>ACTION_POINTER_2_UP</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MotionEvent.ACTION_POINTER_3_DOWN"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/MotionEvent.html#ACTION_POINTER_3_DOWN" target="_top"><code>ACTION_POINTER_3_DOWN</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MotionEvent.ACTION_POINTER_3_UP"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/MotionEvent.html#ACTION_POINTER_3_UP" target="_top"><code>ACTION_POINTER_3_UP</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MotionEvent.ACTION_POINTER_ID_MASK"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/MotionEvent.html#ACTION_POINTER_ID_MASK" target="_top"><code>ACTION_POINTER_ID_MASK</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MotionEvent.ACTION_POINTER_ID_SHIFT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/MotionEvent.html#ACTION_POINTER_ID_SHIFT" target="_top"><code>ACTION_POINTER_ID_SHIFT</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.view.VelocityTracker.html b/docs/html/sdk/api_diff/8/changes/android.view.VelocityTracker.html
new file mode 100644
index 0000000..905da726
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.view.VelocityTracker.html
@@ -0,0 +1,129 @@
+<!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.view.VelocityTracker
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.view.<A HREF="../../../../reference/android/view/VelocityTracker.html" target="_top"><font size="+2"><code>VelocityTracker</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.VelocityTracker.getXVelocity_added(int)"></A>
+  <nobr><code>float</code>&nbsp;<A HREF="../../../../reference/android/view/VelocityTracker.html#getXVelocity(int)" target="_top"><code>getXVelocity</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.VelocityTracker.getYVelocity_added(int)"></A>
+  <nobr><code>float</code>&nbsp;<A HREF="../../../../reference/android/view/VelocityTracker.html#getYVelocity(int)" target="_top"><code>getYVelocity</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.view.View.html b/docs/html/sdk/api_diff/8/changes/android.view.View.html
new file mode 100644
index 0000000..9f4e648
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.view.View.html
@@ -0,0 +1,157 @@
+<!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.view.View
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.view.<A HREF="../../../../reference/android/view/View.html" target="_top"><font size="+2"><code>View</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.dispatchConfigurationChanged_added(android.content.res.Configuration)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#dispatchConfigurationChanged(android.content.res.Configuration)" target="_top"><code>dispatchConfigurationChanged</code></A>(<code>Configuration</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.dispatchDisplayHint_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#dispatchDisplayHint(int)" target="_top"><code>dispatchDisplayHint</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.dispatchVisibilityChanged_added(android.view.View, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#dispatchVisibilityChanged(android.view.View, int)" target="_top"><code>dispatchVisibilityChanged</code></A>(<code>View,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.onConfigurationChanged_added(android.content.res.Configuration)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#onConfigurationChanged(android.content.res.Configuration)" target="_top"><code>onConfigurationChanged</code></A>(<code>Configuration</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.onDisplayHint_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#onDisplayHint(int)" target="_top"><code>onDisplayHint</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.onVisibilityChanged_added(android.view.View, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#onVisibilityChanged(android.view.View, int)" target="_top"><code>onVisibilityChanged</code></A>(<code>View,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.view.ViewConfiguration.html b/docs/html/sdk/api_diff/8/changes/android.view.ViewConfiguration.html
new file mode 100644
index 0000000..fb06822
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.view.ViewConfiguration.html
@@ -0,0 +1,122 @@
+<!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.view.ViewConfiguration
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.view.<A HREF="../../../../reference/android/view/ViewConfiguration.html" target="_top"><font size="+2"><code>ViewConfiguration</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.ViewConfiguration.getScaledPagingTouchSlop_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/ViewConfiguration.html#getScaledPagingTouchSlop()" target="_top"><code>getScaledPagingTouchSlop</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.view.ViewGroup.LayoutParams.html b/docs/html/sdk/api_diff/8/changes/android.view.ViewGroup.LayoutParams.html
new file mode 100644
index 0000000..dd82f12
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.view.ViewGroup.LayoutParams.html
@@ -0,0 +1,139 @@
+<!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.view.ViewGroup.LayoutParams
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.view.<A HREF="../../../../reference/android/view/ViewGroup.LayoutParams.html" target="_top"><font size="+2"><code>ViewGroup.LayoutParams</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.ViewGroup.LayoutParams.MATCH_PARENT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/ViewGroup.LayoutParams.html#MATCH_PARENT" target="_top"><code>MATCH_PARENT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.ViewGroup.LayoutParams.FILL_PARENT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/ViewGroup.LayoutParams.html#FILL_PARENT" target="_top"><code>FILL_PARENT</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.view.WindowManager.LayoutParams.html b/docs/html/sdk/api_diff/8/changes/android.view.WindowManager.LayoutParams.html
new file mode 100644
index 0000000..ada327e
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.view.WindowManager.LayoutParams.html
@@ -0,0 +1,150 @@
+<!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.view.WindowManager.LayoutParams
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.view.<A HREF="../../../../reference/android/view/WindowManager.LayoutParams.html" target="_top"><font size="+2"><code>WindowManager.LayoutParams</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_FULL"></A>
+  <nobr><code>float</code>&nbsp;<A HREF="../../../../reference/android/view/WindowManager.LayoutParams.html#BRIGHTNESS_OVERRIDE_FULL" target="_top"><code>BRIGHTNESS_OVERRIDE_FULL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE"></A>
+  <nobr><code>float</code>&nbsp;<A HREF="../../../../reference/android/view/WindowManager.LayoutParams.html#BRIGHTNESS_OVERRIDE_NONE" target="_top"><code>BRIGHTNESS_OVERRIDE_NONE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_OFF"></A>
+  <nobr><code>float</code>&nbsp;<A HREF="../../../../reference/android/view/WindowManager.LayoutParams.html#BRIGHTNESS_OVERRIDE_OFF" target="_top"><code>BRIGHTNESS_OVERRIDE_OFF</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/WindowManager.LayoutParams.html#FLAG_ALLOW_LOCK_WHILE_SCREEN_ON" target="_top"><code>FLAG_ALLOW_LOCK_WHILE_SCREEN_ON</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.WindowManager.LayoutParams.buttonBrightness"></A>
+  <nobr><code>float</code>&nbsp;<A HREF="../../../../reference/android/view/WindowManager.LayoutParams.html#buttonBrightness" target="_top"><code>buttonBrightness</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.view.animation.Animation.html b/docs/html/sdk/api_diff/8/changes/android.view.animation.Animation.html
new file mode 100644
index 0000000..e75c000
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.view.animation.Animation.html
@@ -0,0 +1,122 @@
+<!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.view.animation.Animation
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.view.animation.<A HREF="../../../../reference/android/view/animation/Animation.html" target="_top"><font size="+2"><code>Animation</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.animation.Animation.cancel_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/animation/Animation.html#cancel()" target="_top"><code>cancel</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.webkit.CacheManager.html b/docs/html/sdk/api_diff/8/changes/android.webkit.CacheManager.html
new file mode 100644
index 0000000..3f85e2c
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.webkit.CacheManager.html
@@ -0,0 +1,135 @@
+<!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.webkit.CacheManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.webkit.<A HREF="../../../../reference/android/webkit/CacheManager.html" target="_top"><font size="+2"><code>CacheManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.CacheManager.endCacheTransaction_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/webkit/CacheManager.html#endCacheTransaction()" target="_top"><code>endCacheTransaction</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.CacheManager.startCacheTransaction_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/webkit/CacheManager.html#startCacheTransaction()" target="_top"><code>startCacheTransaction</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.webkit.JsResult.html b/docs/html/sdk/api_diff/8/changes/android.webkit.JsResult.html
new file mode 100644
index 0000000..a403bfb
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.webkit.JsResult.html
@@ -0,0 +1,122 @@
+<!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.webkit.JsResult
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.webkit.<A HREF="../../../../reference/android/webkit/JsResult.html" target="_top"><font size="+2"><code>JsResult</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.JsResult.mProxy"></A>
+  <code>CallbackProxy</code>&nbsp;mProxy
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.webkit.WebChromeClient.html b/docs/html/sdk/api_diff/8/changes/android.webkit.WebChromeClient.html
new file mode 100644
index 0000000..056f613
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.webkit.WebChromeClient.html
@@ -0,0 +1,144 @@
+<!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.webkit.WebChromeClient
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.webkit.<A HREF="../../../../reference/android/webkit/WebChromeClient.html" target="_top"><font size="+2"><code>WebChromeClient</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.webkit.WebChromeClient.onConsoleMessage_removed(java.lang.String, int, java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;onConsoleMessage(<code>String,</nobr> int<nobr>,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebChromeClient.onConsoleMessage_added(android.webkit.ConsoleMessage)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebChromeClient.html#onConsoleMessage(android.webkit.ConsoleMessage)" target="_top"><code>onConsoleMessage</code></A>(<code>ConsoleMessage</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebChromeClient.onConsoleMessage_added(java.lang.String, int, java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebChromeClient.html#onConsoleMessage(java.lang.String, int, java.lang.String)" target="_top"><code>onConsoleMessage</code></A>(<code>String,</nobr> int<nobr>,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.webkit.WebSettings.html b/docs/html/sdk/api_diff/8/changes/android.webkit.WebSettings.html
new file mode 100644
index 0000000..a4c8b8a
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.webkit.WebSettings.html
@@ -0,0 +1,171 @@
+<!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.webkit.WebSettings
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.webkit.<A HREF="../../../../reference/android/webkit/WebSettings.html" target="_top"><font size="+2"><code>WebSettings</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getBlockNetworkLoads_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getBlockNetworkLoads()" target="_top"><code>getBlockNetworkLoads</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getPluginState_added()"></A>
+  <nobr><code>PluginState</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getPluginState()" target="_top"><code>getPluginState</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setBlockNetworkLoads_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setBlockNetworkLoads(boolean)" target="_top"><code>setBlockNetworkLoads</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setPluginState_added(android.webkit.WebSettings.PluginState)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setPluginState(android.webkit.WebSettings.PluginState)" target="_top"><code>setPluginState</code></A>(<code>PluginState</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.getPluginsEnabled_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getPluginsEnabled()" target="_top"><code>getPluginsEnabled</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setPluginsEnabled_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setPluginsEnabled(boolean)" target="_top"><code>setPluginsEnabled</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.webkit.WebView.html b/docs/html/sdk/api_diff/8/changes/android.webkit.WebView.html
new file mode 100644
index 0000000..8b78a13
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.webkit.WebView.html
@@ -0,0 +1,157 @@
+<!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.webkit.WebView
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.webkit.<A HREF="../../../../reference/android/webkit/WebView.html" target="_top"><font size="+2"><code>WebView</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebView.emulateShiftHeld_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebView.html#emulateShiftHeld()" target="_top"><code>emulateShiftHeld</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebView.loadUrl_added(java.lang.String, java.util.Map<java.lang.String, java.lang.String>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebView.html#loadUrl(java.lang.String, java.util.Map<java.lang.String, java.lang.String>)" target="_top"><code>loadUrl</code></A>(<code>String,</nobr> Map&lt;String<nobr>,</nobr> String&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebView.onChildViewAdded_changed(android.view.View, android.view.View)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebView.html#onChildViewAdded(android.view.View, android.view.View)" target="_top"><code>onChildViewAdded</code></A>(<code>View,</nobr> View<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebView.onChildViewRemoved_changed(android.view.View, android.view.View)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebView.html#onChildViewRemoved(android.view.View, android.view.View)" target="_top"><code>onChildViewRemoved</code></A>(<code>View,</nobr> View<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.webkit.WebViewClient.html b/docs/html/sdk/api_diff/8/changes/android.webkit.WebViewClient.html
new file mode 100644
index 0000000..9ebfd5b
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.webkit.WebViewClient.html
@@ -0,0 +1,140 @@
+<!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.webkit.WebViewClient
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.webkit.<A HREF="../../../../reference/android/webkit/WebViewClient.html" target="_top"><font size="+2"><code>WebViewClient</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebViewClient.onReceivedSslError_added(android.webkit.WebView, android.webkit.SslErrorHandler, android.net.http.SslError)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebViewClient.html#onReceivedSslError(android.webkit.WebView, android.webkit.SslErrorHandler, android.net.http.SslError)" target="_top"><code>onReceivedSslError</code></A>(<code>WebView,</nobr> SslErrorHandler<nobr>,</nobr> SslError<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebViewClient.onTooManyRedirects_changed(android.webkit.WebView, android.os.Message, android.os.Message)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebViewClient.html#onTooManyRedirects(android.webkit.WebView, android.os.Message, android.os.Message)" target="_top"><code>onTooManyRedirects</code></A>(<code>WebView,</nobr> Message<nobr>,</nobr> Message<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.widget.AbsListView.html b/docs/html/sdk/api_diff/8/changes/android.widget.AbsListView.html
new file mode 100644
index 0000000..e3bb860
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.widget.AbsListView.html
@@ -0,0 +1,136 @@
+<!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.widget.AbsListView
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.widget.<A HREF="../../../../reference/android/widget/AbsListView.html" target="_top"><font size="+2"><code>AbsListView</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.AbsListView.smoothScrollBy_added(int, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/AbsListView.html#smoothScrollBy(int, int)" target="_top"><code>smoothScrollBy</code></A>(<code>int,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.AbsListView.smoothScrollToPosition_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/AbsListView.html#smoothScrollToPosition(int)" target="_top"><code>smoothScrollToPosition</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.AbsListView.smoothScrollToPosition_added(int, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/AbsListView.html#smoothScrollToPosition(int, int)" target="_top"><code>smoothScrollToPosition</code></A>(<code>int,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.widget.BaseExpandableListAdapter.html b/docs/html/sdk/api_diff/8/changes/android.widget.BaseExpandableListAdapter.html
new file mode 100644
index 0000000..184cfac
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.widget.BaseExpandableListAdapter.html
@@ -0,0 +1,144 @@
+<!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.widget.BaseExpandableListAdapter
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.widget.<A HREF="../../../../reference/android/widget/BaseExpandableListAdapter.html" target="_top"><font size="+2"><code>BaseExpandableListAdapter</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>android.widget.HeterogeneousExpandableList</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.BaseExpandableListAdapter.getChildType_added(int, int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/widget/BaseExpandableListAdapter.html#getChildType(int, int)" target="_top"><code>getChildType</code></A>(<code>int,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.BaseExpandableListAdapter.getChildTypeCount_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/widget/BaseExpandableListAdapter.html#getChildTypeCount()" target="_top"><code>getChildTypeCount</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.BaseExpandableListAdapter.getGroupType_added(int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/widget/BaseExpandableListAdapter.html#getGroupType(int)" target="_top"><code>getGroupType</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.BaseExpandableListAdapter.getGroupTypeCount_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/widget/BaseExpandableListAdapter.html#getGroupTypeCount()" target="_top"><code>getGroupTypeCount</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.widget.ImageView.html b/docs/html/sdk/api_diff/8/changes/android.widget.ImageView.html
new file mode 100644
index 0000000..0587c2d
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.widget.ImageView.html
@@ -0,0 +1,122 @@
+<!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.widget.ImageView
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.widget.<A HREF="../../../../reference/android/widget/ImageView.html" target="_top"><font size="+2"><code>ImageView</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.ImageView.setColorFilter_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/ImageView.html#setColorFilter(int)" target="_top"><code>setColorFilter</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.widget.ListView.html b/docs/html/sdk/api_diff/8/changes/android.widget.ListView.html
new file mode 100644
index 0000000..1653521
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.widget.ListView.html
@@ -0,0 +1,140 @@
+<!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.widget.ListView
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.widget.<A HREF="../../../../reference/android/widget/ListView.html" target="_top"><font size="+2"><code>ListView</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.ListView.getCheckedItemIds_added()"></A>
+  <nobr><code>long[]</code>&nbsp;<A HREF="../../../../reference/android/widget/ListView.html#getCheckedItemIds()" target="_top"><code>getCheckedItemIds</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.ListView.getCheckItemIds_changed()"></A>
+  <nobr><code>long[]</code>&nbsp;<A HREF="../../../../reference/android/widget/ListView.html#getCheckItemIds()" target="_top"><code>getCheckItemIds</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.widget.RemoteViews.html b/docs/html/sdk/api_diff/8/changes/android.widget.RemoteViews.html
new file mode 100644
index 0000000..c18470b
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.widget.RemoteViews.html
@@ -0,0 +1,122 @@
+<!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.widget.RemoteViews
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.widget.<A HREF="../../../../reference/android/widget/RemoteViews.html" target="_top"><font size="+2"><code>RemoteViews</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.RemoteViews.setBundle_added(int, java.lang.String, android.os.Bundle)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/RemoteViews.html#setBundle(int, java.lang.String, android.os.Bundle)" target="_top"><code>setBundle</code></A>(<code>int,</nobr> String<nobr>,</nobr> Bundle<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.widget.TabWidget.html b/docs/html/sdk/api_diff/8/changes/android.widget.TabWidget.html
new file mode 100644
index 0000000..5f23961
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.widget.TabWidget.html
@@ -0,0 +1,157 @@
+<!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.widget.TabWidget
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.widget.<A HREF="../../../../reference/android/widget/TabWidget.html" target="_top"><font size="+2"><code>TabWidget</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.TabWidget.isStripEnabled_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/widget/TabWidget.html#isStripEnabled()" target="_top"><code>isStripEnabled</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.TabWidget.setLeftStripDrawable_added(android.graphics.drawable.Drawable)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/TabWidget.html#setLeftStripDrawable(android.graphics.drawable.Drawable)" target="_top"><code>setLeftStripDrawable</code></A>(<code>Drawable</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.TabWidget.setLeftStripDrawable_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/TabWidget.html#setLeftStripDrawable(int)" target="_top"><code>setLeftStripDrawable</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.TabWidget.setRightStripDrawable_added(android.graphics.drawable.Drawable)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/TabWidget.html#setRightStripDrawable(android.graphics.drawable.Drawable)" target="_top"><code>setRightStripDrawable</code></A>(<code>Drawable</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.TabWidget.setRightStripDrawable_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/TabWidget.html#setRightStripDrawable(int)" target="_top"><code>setRightStripDrawable</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.TabWidget.setStripEnabled_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/TabWidget.html#setStripEnabled(boolean)" target="_top"><code>setStripEnabled</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/android.widget.VideoView.html b/docs/html/sdk/api_diff/8/changes/android.widget.VideoView.html
new file mode 100644
index 0000000..2002f9b
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/android.widget.VideoView.html
@@ -0,0 +1,129 @@
+<!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.widget.VideoView
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.widget.<A HREF="../../../../reference/android/widget/VideoView.html" target="_top"><font size="+2"><code>VideoView</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.VideoView.resume_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/VideoView.html#resume()" target="_top"><code>resume</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.VideoView.suspend_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/VideoView.html#suspend()" target="_top"><code>suspend</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/changes-summary.html b/docs/html/sdk/api_diff/8/changes/changes-summary.html
new file mode 100644
index 0000000..f5fa7e6
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/changes-summary.html
@@ -0,0 +1,493 @@
+<!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 API Differences Report
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<body class="gc-documentation">
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+    <div id="docTitleContainer">
+<h1>Android&nbsp;API&nbsp;Differences&nbsp;Report</h1>
+<p>This report details the changes in the core Android framework API between two <a 
+href="http://developer.android.com/guide/appendix/api-levels.html" target="_top">API Level</a> 
+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.</p>
+<p>This report is based a comparison of the Android API specifications 
+whose API Level identifiers are given in the upper-right corner of this page. It compares a 
+newer "to" API to an older "from" API, noting all changes relative to the 
+older API. So, for example, API elements marked as removed are no longer present in the "to" 
+API specification.</p>
+<p>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 <em>interface names</em>, 
+<a href= ><code>links to reference documentation</code></a>, and <a href= >links to change 
+description</a>. The statistics are accessible from the "Statistics" link in the upper-right corner.</p>
+<p>For more information about the Android framework API and SDK, 
+see the <a href="http://developer.android.com/index.html" target="_top">Android Developers site</a>.</p>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Packages" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Packages</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.admin"></A>
+  <nobr><A HREF="../../../../reference/android/app/admin/package-summary.html" target="_top"><code>android.app.admin</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.backup"></A>
+  <nobr><A HREF="../../../../reference/android/app/backup/package-summary.html" target="_top"><code>android.app.backup</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.xml.datatype"></A>
+  <nobr><A HREF="../../../../reference/javax/xml/datatype/package-summary.html" target="_top"><code>javax.xml.datatype</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.xml.namespace"></A>
+  <nobr><A HREF="../../../../reference/javax/xml/namespace/package-summary.html" target="_top"><code>javax.xml.namespace</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.xml.transform"></A>
+  <nobr><A HREF="../../../../reference/javax/xml/transform/package-summary.html" target="_top"><code>javax.xml.transform</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.xml.transform.dom"></A>
+  <nobr><A HREF="../../../../reference/javax/xml/transform/dom/package-summary.html" target="_top"><code>javax.xml.transform.dom</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.xml.transform.sax"></A>
+  <nobr><A HREF="../../../../reference/javax/xml/transform/sax/package-summary.html" target="_top"><code>javax.xml.transform.sax</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.xml.transform.stream"></A>
+  <nobr><A HREF="../../../../reference/javax/xml/transform/stream/package-summary.html" target="_top"><code>javax.xml.transform.stream</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.xml.validation"></A>
+  <nobr><A HREF="../../../../reference/javax/xml/validation/package-summary.html" target="_top"><code>javax.xml.validation</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.xml.xpath"></A>
+  <nobr><A HREF="../../../../reference/javax/xml/xpath/package-summary.html" target="_top"><code>javax.xml.xpath</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.ls"></A>
+  <nobr><A HREF="../../../../reference/org/w3c/dom/ls/package-summary.html" target="_top"><code>org.w3c.dom.ls</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Packages" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Packages</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android"></A>
+  <nobr><A HREF="pkg_android.html">android</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.accounts"></A>
+  <nobr><A HREF="pkg_android.accounts.html">android.accounts</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app"></A>
+  <nobr><A HREF="pkg_android.app.html">android.app</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content"></A>
+  <nobr><A HREF="pkg_android.content.html">android.content</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm"></A>
+  <nobr><A HREF="pkg_android.content.pm.html">android.content.pm</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.res"></A>
+  <nobr><A HREF="pkg_android.content.res.html">android.content.res</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.database"></A>
+  <nobr><A HREF="pkg_android.database.html">android.database</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.database.sqlite"></A>
+  <nobr><A HREF="pkg_android.database.sqlite.html">android.database.sqlite</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.gesture"></A>
+  <nobr><A HREF="pkg_android.gesture.html">android.gesture</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics"></A>
+  <nobr><A HREF="pkg_android.graphics.html">android.graphics</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware"></A>
+  <nobr><A HREF="pkg_android.hardware.html">android.hardware</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.location"></A>
+  <nobr><A HREF="pkg_android.location.html">android.location</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media"></A>
+  <nobr><A HREF="pkg_android.media.html">android.media</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net"></A>
+  <nobr><A HREF="pkg_android.net.html">android.net</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.http"></A>
+  <nobr><A HREF="pkg_android.net.http.html">android.net.http</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.opengl"></A>
+  <nobr><A HREF="pkg_android.opengl.html">android.opengl</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os"></A>
+  <nobr><A HREF="pkg_android.os.html">android.os</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider"></A>
+  <nobr><A HREF="pkg_android.provider.html">android.provider</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.speech"></A>
+  <nobr><A HREF="pkg_android.speech.html">android.speech</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.speech.tts"></A>
+  <nobr><A HREF="pkg_android.speech.tts.html">android.speech.tts</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony"></A>
+  <nobr><A HREF="pkg_android.telephony.html">android.telephony</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.test"></A>
+  <nobr><A HREF="pkg_android.test.html">android.test</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.test.mock"></A>
+  <nobr><A HREF="pkg_android.test.mock.html">android.test.mock</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text"></A>
+  <nobr><A HREF="pkg_android.text.html">android.text</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.style"></A>
+  <nobr><A HREF="pkg_android.text.style.html">android.text.style</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.util"></A>
+  <nobr><A HREF="pkg_android.text.util.html">android.text.util</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.util"></A>
+  <nobr><A HREF="pkg_android.util.html">android.util</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view"></A>
+  <nobr><A HREF="pkg_android.view.html">android.view</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.animation"></A>
+  <nobr><A HREF="pkg_android.view.animation.html">android.view.animation</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit"></A>
+  <nobr><A HREF="pkg_android.webkit.html">android.webkit</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget"></A>
+  <nobr><A HREF="pkg_android.widget.html">android.widget</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.bytecode"></A>
+  <nobr><A HREF="pkg_dalvik.bytecode.html">dalvik.bytecode</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.system"></A>
+  <nobr><A HREF="pkg_dalvik.system.html">dalvik.system</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.net"></A>
+  <nobr><A HREF="pkg_java.net.html">java.net</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.nio.charset"></A>
+  <nobr><A HREF="pkg_java.nio.charset.html">java.nio.charset</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util"></A>
+  <nobr><A HREF="pkg_java.util.html">java.util</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.regex"></A>
+  <nobr><A HREF="pkg_java.util.regex.html">java.util.regex</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.xml"></A>
+  <nobr><A HREF="pkg_javax.xml.html">javax.xml</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.xml.parsers"></A>
+  <nobr><A HREF="pkg_javax.xml.parsers.html">javax.xml.parsers</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom"></A>
+  <nobr><A HREF="pkg_org.w3c.dom.html">org.w3c.dom</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- End of API section -->
+<!-- Start of packages section -->
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/classes_index_additions.html b/docs/html/sdk/api_diff/8/changes/classes_index_additions.html
new file mode 100644
index 0000000..4480299
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/classes_index_additions.html
@@ -0,0 +1,499 @@
+<!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>
+Class Additions Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Classes" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="classes_index_all.html" class="staysblack">All Classes</a>
+  <br>
+<font color="#999999">Removals</font>
+  <br>
+<b>Additions</b>
+  <br>
+<A HREF="classes_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+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>
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<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="#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="#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="#P"><font size="-2">P</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="#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.net.http.html#AndroidHttpClient" class="hiddenlink" target="rightframe"><b>AndroidHttpClient</b></A><br>
+<A HREF="pkg_android.media.html#AudioManager.OnAudioFocusChangeListener" class="hiddenlink" target="rightframe"><b><i>AudioManager.OnAudioFocusChangeListener</i></b></A><br>
+<A NAME="B"></A>
+<br><font size="+2">B</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#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="#P"><font size="-2">P</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="#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.util.html#Base64" class="hiddenlink" target="rightframe"><b>Base64</b></A><br>
+<A HREF="pkg_android.util.html#Base64InputStream" class="hiddenlink" target="rightframe"><b>Base64InputStream</b></A><br>
+<A HREF="pkg_android.util.html#Base64OutputStream" class="hiddenlink" target="rightframe"><b>Base64OutputStream</b></A><br>
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</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="#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="#P"><font size="-2">P</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="#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#CamcorderProfile" class="hiddenlink" target="rightframe"><b>CamcorderProfile</b></A><br>
+<A HREF="pkg_android.hardware.html#Camera.OnZoomChangeListener" class="hiddenlink" target="rightframe"><b><i>Camera.OnZoomChangeListener</i></b></A><br>
+<A HREF="pkg_android.media.html#CameraProfile" class="hiddenlink" target="rightframe"><b>CameraProfile</b></A><br>
+<A HREF="pkg_android.webkit.html#ConsoleMessage" class="hiddenlink" target="rightframe"><b>ConsoleMessage</b></A><br>
+<A HREF="pkg_android.webkit.html#ConsoleMessage.MessageLevel" class="hiddenlink" target="rightframe"><b>ConsoleMessage.MessageLevel</b></A><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<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="#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="#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="#P"><font size="-2">P</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="#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.content.html#DialogInterface.OnShowListener" class="hiddenlink" target="rightframe"><b><i>DialogInterface.OnShowListener</i></b></A><br>
+<A HREF="pkg_org.w3c.dom.html#DOMConfiguration" class="hiddenlink" target="rightframe"><b><i>DOMConfiguration</i></b></A><br>
+<A HREF="pkg_org.w3c.dom.html#DOMError" class="hiddenlink" target="rightframe"><b><i>DOMError</i></b></A><br>
+<A HREF="pkg_org.w3c.dom.html#DOMErrorHandler" class="hiddenlink" target="rightframe"><b><i>DOMErrorHandler</i></b></A><br>
+<A HREF="pkg_org.w3c.dom.html#DOMImplementationList" class="hiddenlink" target="rightframe"><b><i>DOMImplementationList</i></b></A><br>
+<A HREF="pkg_org.w3c.dom.html#DOMImplementationSource" class="hiddenlink" target="rightframe"><b><i>DOMImplementationSource</i></b></A><br>
+<A HREF="pkg_org.w3c.dom.html#DOMLocator" class="hiddenlink" target="rightframe"><b><i>DOMLocator</i></b></A><br>
+<A HREF="pkg_org.w3c.dom.html#DOMStringList" class="hiddenlink" target="rightframe"><b><i>DOMStringList</i></b></A><br>
+<A HREF="pkg_android.os.html#DropBoxManager" class="hiddenlink" target="rightframe"><b>DropBoxManager</b></A><br>
+<A HREF="pkg_android.os.html#DropBoxManager.Entry" class="hiddenlink" target="rightframe"><b>DropBoxManager.Entry</b></A><br>
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<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="#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="#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="#P"><font size="-2">P</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="#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.content.html#Entity" class="hiddenlink" target="rightframe"><b>Entity</b></A><br>
+<A HREF="pkg_android.content.html#Entity.NamedContentValues" class="hiddenlink" target="rightframe"><b>Entity.NamedContentValues</b></A><br>
+<A HREF="pkg_android.content.html#EntityIterator" class="hiddenlink" target="rightframe"><b><i>EntityIterator</i></b></A><br>
+<A HREF="pkg_android.opengl.html#ETC1" class="hiddenlink" target="rightframe"><b>ETC1</b></A><br>
+<A HREF="pkg_android.opengl.html#ETC1Util" class="hiddenlink" target="rightframe"><b>ETC1Util</b></A><br>
+<A HREF="pkg_android.opengl.html#ETC1Util.ETC1Texture" class="hiddenlink" target="rightframe"><b>ETC1Util.ETC1Texture</b></A><br>
+<A HREF="pkg_android.util.html#EventLog" class="hiddenlink" target="rightframe"><b>EventLog</b></A><br>
+<A HREF="pkg_android.util.html#EventLog.Event" class="hiddenlink" target="rightframe"><b>EventLog.Event</b></A><br>
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<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="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</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="#P"><font size="-2">P</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="#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.gesture.html#GestureUtils" class="hiddenlink" target="rightframe"><b>GestureUtils</b></A><br>
+<A HREF="pkg_android.opengl.html#GLES20" class="hiddenlink" target="rightframe"><b>GLES20</b></A><br>
+<A NAME="H"></A>
+<br><font size="+2">H</font>&nbsp;
+<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="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</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="#P"><font size="-2">P</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="#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.widget.html#HeterogeneousExpandableList" class="hiddenlink" target="rightframe"><b><i>HeterogeneousExpandableList</i></b></A><br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<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="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</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="#P"><font size="-2">P</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="#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.graphics.html#ImageFormat" class="hiddenlink" target="rightframe"><b>ImageFormat</b></A><br>
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<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="#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="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</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="#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.text.style.html#LeadingMarginSpan.LeadingMarginSpan2" class="hiddenlink" target="rightframe"><b><i>LeadingMarginSpan.LeadingMarginSpan2</i></b></A><br>
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<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="#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="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#P"><font size="-2">P</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="#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#MediaScannerConnection.OnScanCompletedListener" class="hiddenlink" target="rightframe"><b><i>MediaScannerConnection.OnScanCompletedListener</i></b></A><br>
+<A HREF="pkg_android.test.mock.html#MockContentProvider" class="hiddenlink" target="rightframe"><b>MockContentProvider</b></A><br>
+<A HREF="pkg_android.test.mock.html#MockCursor" class="hiddenlink" target="rightframe"><b>MockCursor</b></A><br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<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="#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="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#P"><font size="-2">P</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="#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_org.w3c.dom.html#NameList" class="hiddenlink" target="rightframe"><b><i>NameList</i></b></A><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<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="#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="#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="#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="#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.util.html#Patterns" class="hiddenlink" target="rightframe"><b>Patterns</b></A><br>
+<A HREF="pkg_android.content.html#PeriodicSync" class="hiddenlink" target="rightframe"><b>PeriodicSync</b></A><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<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="#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="#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="#P"><font size="-2">P</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="#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.speech.html#RecognitionListener" class="hiddenlink" target="rightframe"><b><i>RecognitionListener</i></b></A><br>
+<A HREF="pkg_android.speech.html#RecognitionService" class="hiddenlink" target="rightframe"><b>RecognitionService</b></A><br>
+<A HREF="pkg_android.speech.html#RecognitionService.Callback" class="hiddenlink" target="rightframe"><b>RecognitionService.Callback</b></A><br>
+<A HREF="pkg_android.os.html#RecoverySystem" class="hiddenlink" target="rightframe"><b>RecoverySystem</b></A><br>
+<A HREF="pkg_android.os.html#RecoverySystem.ProgressListener" class="hiddenlink" target="rightframe"><b><i>RecoverySystem.ProgressListener</i></b></A><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<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="#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="#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="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</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.view.html#ScaleGestureDetector" class="hiddenlink" target="rightframe"><b>ScaleGestureDetector</b></A><br>
+<A HREF="pkg_android.view.html#ScaleGestureDetector.OnScaleGestureListener" class="hiddenlink" target="rightframe"><b><i>ScaleGestureDetector.OnScaleGestureListener</i></b></A><br>
+<A HREF="pkg_android.view.html#ScaleGestureDetector.SimpleOnScaleGestureListener" class="hiddenlink" target="rightframe"><b>ScaleGestureDetector.SimpleOnScaleGestureListener</b></A><br>
+<A HREF="pkg_android.app.html#SearchableInfo" class="hiddenlink" target="rightframe"><b>SearchableInfo</b></A><br>
+<A HREF="pkg_android.media.html#SoundPool.OnLoadCompleteListener" class="hiddenlink" target="rightframe"><b><i>SoundPool.OnLoadCompleteListener</i></b></A><br>
+<A HREF="pkg_android.speech.html#SpeechRecognizer" class="hiddenlink" target="rightframe"><b>SpeechRecognizer</b></A><br>
+<A HREF="pkg_android.net.http.html#SslError" class="hiddenlink" target="rightframe"><b>SslError</b></A><br>
+<A HREF="pkg_android.net.html#SSLSessionCache" class="hiddenlink" target="rightframe"><b>SSLSessionCache</b></A><br>
+<A HREF="pkg_android.content.html#SyncInfo" class="hiddenlink" target="rightframe"><b>SyncInfo</b></A><br>
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<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="#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="#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="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</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#ThumbnailUtils" class="hiddenlink" target="rightframe"><b>ThumbnailUtils</b></A><br>
+<A HREF="pkg_android.net.html#TrafficStats" class="hiddenlink" target="rightframe"><b>TrafficStats</b></A><br>
+<A HREF="pkg_org.w3c.dom.html#TypeInfo" class="hiddenlink" target="rightframe"><b><i>TypeInfo</i></b></A><br>
+<A NAME="U"></A>
+<br><font size="+2">U</font>&nbsp;
+<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="#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="#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="#P"><font size="-2">P</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="#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.app.html#UiModeManager" class="hiddenlink" target="rightframe"><b>UiModeManager</b></A><br>
+<A HREF="pkg_org.w3c.dom.html#UserDataHandler" class="hiddenlink" target="rightframe"><b><i>UserDataHandler</i></b></A><br>
+<A NAME="W"></A>
+<br><font size="+2">W</font>&nbsp;
+<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="#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="#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="#P"><font size="-2">P</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="#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.webkit.html#WebSettings.PluginState" class="hiddenlink" target="rightframe"><b>WebSettings.PluginState</b></A><br>
+<A NAME="Y"></A>
+<br><font size="+2">Y</font>&nbsp;
+<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="#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="#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="#P"><font size="-2">P</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="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.graphics.html#YuvImage" class="hiddenlink" target="rightframe"><b>YuvImage</b></A><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/classes_index_all.html b/docs/html/sdk/api_diff/8/changes/classes_index_all.html
new file mode 100644
index 0000000..c0b5a6a
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/classes_index_all.html
@@ -0,0 +1,842 @@
+<!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>
+Class Differences Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Classes" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<b>Classes</b>
+  <br>
+<font color="#999999">Removals</font>
+  <br>
+<A HREF="classes_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<A HREF="classes_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+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>
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<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="#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="#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="#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="#X"><font size="-2">X</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="android.widget.AbsListView.html" class="hiddenlink" target="rightframe">AbsListView</A><br>
+<A HREF="android.content.AbstractThreadedSyncAdapter.html" class="hiddenlink" target="rightframe">AbstractThreadedSyncAdapter</A><br>
+<A HREF="android.accounts.AccountManager.html" class="hiddenlink" target="rightframe">AccountManager</A><br>
+<A HREF="android.app.Activity.html" class="hiddenlink" target="rightframe">Activity</A><br>
+<A HREF="android.content.pm.ActivityInfo.html" class="hiddenlink" target="rightframe">ActivityInfo</A><br>
+<A HREF="android.test.ActivityInstrumentationTestCase2.html" class="hiddenlink" target="rightframe">ActivityInstrumentationTestCase2</A><br>
+<A HREF="android.app.ActivityManager.html" class="hiddenlink" target="rightframe">ActivityManager</A><br>
+<A HREF="android.app.ActivityManager.ProcessErrorStateInfo.html" class="hiddenlink" target="rightframe">ActivityManager.ProcessErrorStateInfo</A><br>
+<A HREF="android.app.AlarmManager.html" class="hiddenlink" target="rightframe">AlarmManager</A><br>
+<A HREF="android.text.AndroidCharacter.html" class="hiddenlink" target="rightframe">AndroidCharacter</A><br>
+<A HREF="pkg_android.net.http.html#AndroidHttpClient" class="hiddenlink" target="rightframe"><b>AndroidHttpClient</b></A><br>
+<A HREF="android.view.animation.Animation.html" class="hiddenlink" target="rightframe">Animation</A><br>
+<A HREF="android.content.pm.ApplicationInfo.html" class="hiddenlink" target="rightframe">ApplicationInfo</A><br>
+<A HREF="java.util.ArrayList.html" class="hiddenlink" target="rightframe">ArrayList</A><br>
+<A HREF="org.w3c.dom.Attr.html" class="hiddenlink" target="rightframe"><i>Attr</i></A><br>
+<A HREF="android.media.AudioManager.html" class="hiddenlink" target="rightframe">AudioManager</A><br>
+<A HREF="pkg_android.media.html#AudioManager.OnAudioFocusChangeListener" class="hiddenlink" target="rightframe"><b><i>AudioManager.OnAudioFocusChangeListener</i></b></A><br>
+<A NAME="B"></A>
+<br><font size="+2">B</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#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="#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="#X"><font size="-2">X</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.util.html#Base64" class="hiddenlink" target="rightframe"><b>Base64</b></A><br>
+<A HREF="pkg_android.util.html#Base64InputStream" class="hiddenlink" target="rightframe"><b>Base64InputStream</b></A><br>
+<A HREF="pkg_android.util.html#Base64OutputStream" class="hiddenlink" target="rightframe"><b>Base64OutputStream</b></A><br>
+<A HREF="android.widget.BaseExpandableListAdapter.html" class="hiddenlink" target="rightframe">BaseExpandableListAdapter</A><br>
+<A HREF="android.provider.Browser.html" class="hiddenlink" target="rightframe">Browser</A><br>
+<A HREF="android.os.Build.html" class="hiddenlink" target="rightframe">Build</A><br>
+<A HREF="android.os.Build.VERSION_CODES.html" class="hiddenlink" target="rightframe">Build.VERSION_CODES</A><br>
+<A HREF="android.os.Bundle.html" class="hiddenlink" target="rightframe">Bundle</A><br>
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</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="#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="#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="#X"><font size="-2">X</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="android.webkit.CacheManager.html" class="hiddenlink" target="rightframe">CacheManager</A><br>
+<A HREF="android.provider.CallLog.Calls.html" class="hiddenlink" target="rightframe">CallLog.Calls</A><br>
+<A HREF="pkg_android.media.html#CamcorderProfile" class="hiddenlink" target="rightframe"><b>CamcorderProfile</b></A><br>
+<A HREF="android.hardware.Camera.html" class="hiddenlink" target="rightframe">Camera</A><br>
+<A HREF="pkg_android.hardware.html#Camera.OnZoomChangeListener" class="hiddenlink" target="rightframe"><b><i>Camera.OnZoomChangeListener</i></b></A><br>
+<A HREF="android.hardware.Camera.Parameters.html" class="hiddenlink" target="rightframe">Camera.Parameters</A><br>
+<A HREF="pkg_android.media.html#CameraProfile" class="hiddenlink" target="rightframe"><b>CameraProfile</b></A><br>
+<A HREF="java.nio.charset.Charset.html" class="hiddenlink" target="rightframe">Charset</A><br>
+<A HREF="android.content.pm.ComponentInfo.html" class="hiddenlink" target="rightframe">ComponentInfo</A><br>
+<A HREF="android.content.ComponentName.html" class="hiddenlink" target="rightframe">ComponentName</A><br>
+<A HREF="android.content.res.Configuration.html" class="hiddenlink" target="rightframe">Configuration</A><br>
+<A HREF="android.net.ConnectivityManager.html" class="hiddenlink" target="rightframe">ConnectivityManager</A><br>
+<A HREF="pkg_android.webkit.html#ConsoleMessage" class="hiddenlink" target="rightframe"><b>ConsoleMessage</b></A><br>
+<A HREF="pkg_android.webkit.html#ConsoleMessage.MessageLevel" class="hiddenlink" target="rightframe"><b>ConsoleMessage.MessageLevel</b></A><br>
+<A HREF="android.provider.Contacts.PresenceColumns.html" class="hiddenlink" target="rightframe"><i>Contacts.PresenceColumns</i></A><br>
+<A HREF="android.provider.ContactsContract.Groups.html" class="hiddenlink" target="rightframe">ContactsContract.Groups</A><br>
+<A HREF="android.provider.ContactsContract.RawContacts.html" class="hiddenlink" target="rightframe">ContactsContract.RawContacts</A><br>
+<A HREF="android.provider.ContactsContract.StatusColumns.html" class="hiddenlink" target="rightframe"><i>ContactsContract.StatusColumns</i></A><br>
+<A HREF="android.content.ContentResolver.html" class="hiddenlink" target="rightframe">ContentResolver</A><br>
+<A HREF="android.content.Context.html" class="hiddenlink" target="rightframe">Context</A><br>
+<A HREF="android.content.ContextWrapper.html" class="hiddenlink" target="rightframe">ContextWrapper</A><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<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="#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="#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="#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="#X"><font size="-2">X</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="android.database.DatabaseUtils.html" class="hiddenlink" target="rightframe">DatabaseUtils</A><br>
+<A HREF="java.net.DatagramSocketImpl.html" class="hiddenlink" target="rightframe">DatagramSocketImpl</A><br>
+<A HREF="android.os.Debug.html" class="hiddenlink" target="rightframe">Debug</A><br>
+<A HREF="android.app.Dialog.html" class="hiddenlink" target="rightframe">Dialog</A><br>
+<A HREF="pkg_android.content.html#DialogInterface.OnShowListener" class="hiddenlink" target="rightframe"><b><i>DialogInterface.OnShowListener</i></b></A><br>
+<A HREF="android.view.Display.html" class="hiddenlink" target="rightframe">Display</A><br>
+<A HREF="org.w3c.dom.Document.html" class="hiddenlink" target="rightframe"><i>Document</i></A><br>
+<A HREF="javax.xml.parsers.DocumentBuilder.html" class="hiddenlink" target="rightframe">DocumentBuilder</A><br>
+<A HREF="javax.xml.parsers.DocumentBuilderFactory.html" class="hiddenlink" target="rightframe">DocumentBuilderFactory</A><br>
+<A HREF="pkg_org.w3c.dom.html#DOMConfiguration" class="hiddenlink" target="rightframe"><b><i>DOMConfiguration</i></b></A><br>
+<A HREF="pkg_org.w3c.dom.html#DOMError" class="hiddenlink" target="rightframe"><b><i>DOMError</i></b></A><br>
+<A HREF="pkg_org.w3c.dom.html#DOMErrorHandler" class="hiddenlink" target="rightframe"><b><i>DOMErrorHandler</i></b></A><br>
+<A HREF="org.w3c.dom.DOMException.html" class="hiddenlink" target="rightframe">DOMException</A><br>
+<A HREF="org.w3c.dom.DOMImplementation.html" class="hiddenlink" target="rightframe"><i>DOMImplementation</i></A><br>
+<A HREF="pkg_org.w3c.dom.html#DOMImplementationList" class="hiddenlink" target="rightframe"><b><i>DOMImplementationList</i></b></A><br>
+<A HREF="pkg_org.w3c.dom.html#DOMImplementationSource" class="hiddenlink" target="rightframe"><b><i>DOMImplementationSource</i></b></A><br>
+<A HREF="pkg_org.w3c.dom.html#DOMLocator" class="hiddenlink" target="rightframe"><b><i>DOMLocator</i></b></A><br>
+<A HREF="pkg_org.w3c.dom.html#DOMStringList" class="hiddenlink" target="rightframe"><b><i>DOMStringList</i></b></A><br>
+<A HREF="pkg_android.os.html#DropBoxManager" class="hiddenlink" target="rightframe"><b>DropBoxManager</b></A><br>
+<A HREF="pkg_android.os.html#DropBoxManager.Entry" class="hiddenlink" target="rightframe"><b>DropBoxManager.Entry</b></A><br>
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<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="#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="#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="#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="#X"><font size="-2">X</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="org.w3c.dom.Element.html" class="hiddenlink" target="rightframe"><i>Element</i></A><br>
+<i>Entity</i><br>
+&nbsp;&nbsp;<A HREF="pkg_android.content.html#Entity" class="hiddenlink" target="rightframe"><b>android.content</b></A><br>
+&nbsp;&nbsp;<A HREF="org.w3c.dom.Entity.html" class="hiddenlink" target="rightframe"><i>org.w3c.dom</i></A><br>
+<A HREF="pkg_android.content.html#Entity.NamedContentValues" class="hiddenlink" target="rightframe"><b>Entity.NamedContentValues</b></A><br>
+<A HREF="pkg_android.content.html#EntityIterator" class="hiddenlink" target="rightframe"><b><i>EntityIterator</i></b></A><br>
+<A HREF="android.os.Environment.html" class="hiddenlink" target="rightframe">Environment</A><br>
+<A HREF="pkg_android.opengl.html#ETC1" class="hiddenlink" target="rightframe"><b>ETC1</b></A><br>
+<A HREF="pkg_android.opengl.html#ETC1Util" class="hiddenlink" target="rightframe"><b>ETC1Util</b></A><br>
+<A HREF="pkg_android.opengl.html#ETC1Util.ETC1Texture" class="hiddenlink" target="rightframe"><b>ETC1Util.ETC1Texture</b></A><br>
+<A HREF="pkg_android.util.html#EventLog" class="hiddenlink" target="rightframe"><b>EventLog</b></A><br>
+<A HREF="pkg_android.util.html#EventLog.Event" class="hiddenlink" target="rightframe"><b>EventLog.Event</b></A><br>
+<A HREF="android.util.EventLogTags.html" class="hiddenlink" target="rightframe">EventLogTags</A><br>
+<A HREF="android.media.ExifInterface.html" class="hiddenlink" target="rightframe">ExifInterface</A><br>
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<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="#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="#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="#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="#X"><font size="-2">X</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="android.gesture.Gesture.html" class="hiddenlink" target="rightframe">Gesture</A><br>
+<A HREF="android.view.GestureDetector.html" class="hiddenlink" target="rightframe">GestureDetector</A><br>
+<A HREF="android.gesture.GesturePoint.html" class="hiddenlink" target="rightframe">GesturePoint</A><br>
+<A HREF="android.gesture.GestureStroke.html" class="hiddenlink" target="rightframe">GestureStroke</A><br>
+<A HREF="pkg_android.gesture.html#GestureUtils" class="hiddenlink" target="rightframe"><b>GestureUtils</b></A><br>
+<A HREF="pkg_android.opengl.html#GLES20" class="hiddenlink" target="rightframe"><b>GLES20</b></A><br>
+<A HREF="android.opengl.GLSurfaceView.html" class="hiddenlink" target="rightframe">GLSurfaceView</A><br>
+<A NAME="H"></A>
+<br><font size="+2">H</font>&nbsp;
+<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="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</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="#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="#X"><font size="-2">X</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="android.view.HapticFeedbackConstants.html" class="hiddenlink" target="rightframe">HapticFeedbackConstants</A><br>
+<A HREF="java.util.HashMap.html" class="hiddenlink" target="rightframe">HashMap</A><br>
+<A HREF="pkg_android.widget.html#HeterogeneousExpandableList" class="hiddenlink" target="rightframe"><b><i>HeterogeneousExpandableList</i></b></A><br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<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="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#J"><font size="-2">J</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="#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="#X"><font size="-2">X</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.graphics.html#ImageFormat" class="hiddenlink" target="rightframe"><b>ImageFormat</b></A><br>
+<A HREF="android.widget.ImageView.html" class="hiddenlink" target="rightframe">ImageView</A><br>
+<A HREF="android.content.Intent.html" class="hiddenlink" target="rightframe">Intent</A><br>
+<A NAME="J"></A>
+<br><font size="+2">J</font>&nbsp;
+<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="#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="#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="#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="#X"><font size="-2">X</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="android.webkit.JsResult.html" class="hiddenlink" target="rightframe">JsResult</A><br>
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<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="#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="#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="#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="#X"><font size="-2">X</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.text.style.html#LeadingMarginSpan.LeadingMarginSpan2" class="hiddenlink" target="rightframe"><b><i>LeadingMarginSpan.LeadingMarginSpan2</i></b></A><br>
+<A HREF="android.widget.ListView.html" class="hiddenlink" target="rightframe">ListView</A><br>
+<A HREF="android.location.LocationManager.html" class="hiddenlink" target="rightframe">LocationManager</A><br>
+<A HREF="android.util.Log.html" class="hiddenlink" target="rightframe">Log</A><br>
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<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="#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="#L"><font size="-2">L</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="#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="#X"><font size="-2">X</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="android.Manifest.permission.html" class="hiddenlink" target="rightframe">Manifest.permission</A><br>
+<A HREF="java.util.regex.Matcher.html" class="hiddenlink" target="rightframe">Matcher</A><br>
+<A HREF="android.opengl.Matrix.html" class="hiddenlink" target="rightframe">Matrix</A><br>
+<A HREF="android.media.MediaRecorder.html" class="hiddenlink" target="rightframe">MediaRecorder</A><br>
+<A HREF="android.media.MediaScannerConnection.html" class="hiddenlink" target="rightframe">MediaScannerConnection</A><br>
+<A HREF="android.media.MediaScannerConnection.MediaScannerConnectionClient.html" class="hiddenlink" target="rightframe"><i>MediaScannerConnection.MediaScannerConnectionClient</i></A><br>
+<A HREF="pkg_android.media.html#MediaScannerConnection.OnScanCompletedListener" class="hiddenlink" target="rightframe"><b><i>MediaScannerConnection.OnScanCompletedListener</i></b></A><br>
+<A HREF="android.provider.MediaStore.html" class="hiddenlink" target="rightframe">MediaStore</A><br>
+<A HREF="android.provider.MediaStore.Audio.AudioColumns.html" class="hiddenlink" target="rightframe"><i>MediaStore.Audio.AudioColumns</i></A><br>
+<A HREF="android.provider.MediaStore.Audio.Playlists.Members.html" class="hiddenlink" target="rightframe">MediaStore.Audio.Playlists.Members</A><br>
+<A HREF="android.provider.MediaStore.Images.Thumbnails.html" class="hiddenlink" target="rightframe">MediaStore.Images.Thumbnails</A><br>
+<A HREF="android.provider.MediaStore.Video.Thumbnails.html" class="hiddenlink" target="rightframe">MediaStore.Video.Thumbnails</A><br>
+<A HREF="pkg_android.test.mock.html#MockContentProvider" class="hiddenlink" target="rightframe"><b>MockContentProvider</b></A><br>
+<A HREF="android.test.mock.MockContext.html" class="hiddenlink" target="rightframe">MockContext</A><br>
+<A HREF="pkg_android.test.mock.html#MockCursor" class="hiddenlink" target="rightframe"><b>MockCursor</b></A><br>
+<A HREF="android.test.mock.MockPackageManager.html" class="hiddenlink" target="rightframe">MockPackageManager</A><br>
+<A HREF="android.view.MotionEvent.html" class="hiddenlink" target="rightframe">MotionEvent</A><br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<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="#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="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</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="#X"><font size="-2">X</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="org.w3c.dom.NamedNodeMap.html" class="hiddenlink" target="rightframe"><i>NamedNodeMap</i></A><br>
+<A HREF="pkg_org.w3c.dom.html#NameList" class="hiddenlink" target="rightframe"><b><i>NameList</i></b></A><br>
+<A HREF="org.w3c.dom.Node.html" class="hiddenlink" target="rightframe"><i>Node</i></A><br>
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<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="#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="#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="#P"><font size="-2">P</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="#X"><font size="-2">X</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="dalvik.bytecode.Opcodes.html" class="hiddenlink" target="rightframe"><i>Opcodes</i></A><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<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="#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="#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="#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="#X"><font size="-2">X</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="android.content.pm.PackageManager.html" class="hiddenlink" target="rightframe">PackageManager</A><br>
+<A HREF="java.util.regex.Pattern.html" class="hiddenlink" target="rightframe">Pattern</A><br>
+<A HREF="pkg_android.util.html#Patterns" class="hiddenlink" target="rightframe"><b>Patterns</b></A><br>
+<A HREF="pkg_android.content.html#PeriodicSync" class="hiddenlink" target="rightframe"><b>PeriodicSync</b></A><br>
+<A HREF="android.graphics.PixelFormat.html" class="hiddenlink" target="rightframe">PixelFormat</A><br>
+<A HREF="android.os.PowerManager.html" class="hiddenlink" target="rightframe">PowerManager</A><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<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="#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="#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="#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="#X"><font size="-2">X</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="android.R.anim.html" class="hiddenlink" target="rightframe">R.anim</A><br>
+<A HREF="android.R.attr.html" class="hiddenlink" target="rightframe">R.attr</A><br>
+<A HREF="android.R.id.html" class="hiddenlink" target="rightframe">R.id</A><br>
+<A HREF="pkg_android.speech.html#RecognitionListener" class="hiddenlink" target="rightframe"><b><i>RecognitionListener</i></b></A><br>
+<A HREF="pkg_android.speech.html#RecognitionService" class="hiddenlink" target="rightframe"><b>RecognitionService</b></A><br>
+<A HREF="pkg_android.speech.html#RecognitionService.Callback" class="hiddenlink" target="rightframe"><b>RecognitionService.Callback</b></A><br>
+<A HREF="android.speech.RecognizerIntent.html" class="hiddenlink" target="rightframe">RecognizerIntent</A><br>
+<A HREF="pkg_android.os.html#RecoverySystem" class="hiddenlink" target="rightframe"><b>RecoverySystem</b></A><br>
+<A HREF="pkg_android.os.html#RecoverySystem.ProgressListener" class="hiddenlink" target="rightframe"><b><i>RecoverySystem.ProgressListener</i></b></A><br>
+<A HREF="android.widget.RemoteViews.html" class="hiddenlink" target="rightframe">RemoteViews</A><br>
+<A HREF="android.text.util.Rfc822Tokenizer.html" class="hiddenlink" target="rightframe">Rfc822Tokenizer</A><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<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="#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="#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="#R"><font size="-2">R</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="#X"><font size="-2">X</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="javax.xml.parsers.SAXParser.html" class="hiddenlink" target="rightframe">SAXParser</A><br>
+<A HREF="javax.xml.parsers.SAXParserFactory.html" class="hiddenlink" target="rightframe">SAXParserFactory</A><br>
+<A HREF="pkg_android.view.html#ScaleGestureDetector" class="hiddenlink" target="rightframe"><b>ScaleGestureDetector</b></A><br>
+<A HREF="pkg_android.view.html#ScaleGestureDetector.OnScaleGestureListener" class="hiddenlink" target="rightframe"><b><i>ScaleGestureDetector.OnScaleGestureListener</i></b></A><br>
+<A HREF="pkg_android.view.html#ScaleGestureDetector.SimpleOnScaleGestureListener" class="hiddenlink" target="rightframe"><b>ScaleGestureDetector.SimpleOnScaleGestureListener</b></A><br>
+<A HREF="pkg_android.app.html#SearchableInfo" class="hiddenlink" target="rightframe"><b>SearchableInfo</b></A><br>
+<A HREF="android.app.SearchManager.html" class="hiddenlink" target="rightframe">SearchManager</A><br>
+<A HREF="android.hardware.Sensor.html" class="hiddenlink" target="rightframe">Sensor</A><br>
+<A HREF="android.provider.Settings.html" class="hiddenlink" target="rightframe">Settings</A><br>
+<A HREF="android.provider.Settings.Secure.html" class="hiddenlink" target="rightframe">Settings.Secure</A><br>
+<A HREF="android.provider.Settings.System.html" class="hiddenlink" target="rightframe">Settings.System</A><br>
+<A HREF="android.media.SoundPool.html" class="hiddenlink" target="rightframe">SoundPool</A><br>
+<A HREF="pkg_android.media.html#SoundPool.OnLoadCompleteListener" class="hiddenlink" target="rightframe"><b><i>SoundPool.OnLoadCompleteListener</i></b></A><br>
+<A HREF="pkg_android.speech.html#SpeechRecognizer" class="hiddenlink" target="rightframe"><b>SpeechRecognizer</b></A><br>
+<A HREF="android.database.sqlite.SQLiteDatabase.html" class="hiddenlink" target="rightframe">SQLiteDatabase</A><br>
+<A HREF="android.database.sqlite.SQLiteProgram.html" class="hiddenlink" target="rightframe">SQLiteProgram</A><br>
+<A HREF="android.net.http.SslCertificate.html" class="hiddenlink" target="rightframe">SslCertificate</A><br>
+<A HREF="android.net.SSLCertificateSocketFactory.html" class="hiddenlink" target="rightframe">SSLCertificateSocketFactory</A><br>
+<A HREF="pkg_android.net.http.html#SslError" class="hiddenlink" target="rightframe"><b>SslError</b></A><br>
+<A HREF="pkg_android.net.html#SSLSessionCache" class="hiddenlink" target="rightframe"><b>SSLSessionCache</b></A><br>
+<A HREF="pkg_android.content.html#SyncInfo" class="hiddenlink" target="rightframe"><b>SyncInfo</b></A><br>
+<A HREF="android.content.SyncResult.html" class="hiddenlink" target="rightframe">SyncResult</A><br>
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<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="#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="#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="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</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="#X"><font size="-2">X</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="android.widget.TabWidget.html" class="hiddenlink" target="rightframe">TabWidget</A><br>
+<A HREF="android.telephony.TelephonyManager.html" class="hiddenlink" target="rightframe">TelephonyManager</A><br>
+<A HREF="org.w3c.dom.Text.html" class="hiddenlink" target="rightframe"><i>Text</i></A><br>
+<A HREF="android.speech.tts.TextToSpeech.html" class="hiddenlink" target="rightframe">TextToSpeech</A><br>
+<A HREF="android.speech.tts.TextToSpeech.Engine.html" class="hiddenlink" target="rightframe">TextToSpeech.Engine</A><br>
+<A HREF="pkg_android.media.html#ThumbnailUtils" class="hiddenlink" target="rightframe"><b>ThumbnailUtils</b></A><br>
+<A HREF="pkg_android.net.html#TrafficStats" class="hiddenlink" target="rightframe"><b>TrafficStats</b></A><br>
+<A HREF="pkg_org.w3c.dom.html#TypeInfo" class="hiddenlink" target="rightframe"><b><i>TypeInfo</i></b></A><br>
+<A NAME="U"></A>
+<br><font size="+2">U</font>&nbsp;
+<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="#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="#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="#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="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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.app.html#UiModeManager" class="hiddenlink" target="rightframe"><b>UiModeManager</b></A><br>
+<A HREF="pkg_org.w3c.dom.html#UserDataHandler" class="hiddenlink" target="rightframe"><b><i>UserDataHandler</i></b></A><br>
+<A NAME="V"></A>
+<br><font size="+2">V</font>&nbsp;
+<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="#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="#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="#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="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="android.view.VelocityTracker.html" class="hiddenlink" target="rightframe">VelocityTracker</A><br>
+<A HREF="android.widget.VideoView.html" class="hiddenlink" target="rightframe">VideoView</A><br>
+<A HREF="android.view.View.html" class="hiddenlink" target="rightframe">View</A><br>
+<A HREF="android.view.ViewConfiguration.html" class="hiddenlink" target="rightframe">ViewConfiguration</A><br>
+<A HREF="android.view.ViewGroup.LayoutParams.html" class="hiddenlink" target="rightframe">ViewGroup.LayoutParams</A><br>
+<A HREF="dalvik.system.VMDebug.html" class="hiddenlink" target="rightframe">VMDebug</A><br>
+<A NAME="W"></A>
+<br><font size="+2">W</font>&nbsp;
+<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="#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="#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="#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="#X"><font size="-2">X</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="android.webkit.WebChromeClient.html" class="hiddenlink" target="rightframe">WebChromeClient</A><br>
+<A HREF="android.webkit.WebSettings.html" class="hiddenlink" target="rightframe">WebSettings</A><br>
+<A HREF="pkg_android.webkit.html#WebSettings.PluginState" class="hiddenlink" target="rightframe"><b>WebSettings.PluginState</b></A><br>
+<A HREF="android.webkit.WebView.html" class="hiddenlink" target="rightframe">WebView</A><br>
+<A HREF="android.webkit.WebViewClient.html" class="hiddenlink" target="rightframe">WebViewClient</A><br>
+<A HREF="android.view.WindowManager.LayoutParams.html" class="hiddenlink" target="rightframe">WindowManager.LayoutParams</A><br>
+<A NAME="X"></A>
+<br><font size="+2">X</font>&nbsp;
+<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="#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="#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="#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="javax.xml.XMLConstants.html" class="hiddenlink" target="rightframe">XMLConstants</A><br>
+<A NAME="Y"></A>
+<br><font size="+2">Y</font>&nbsp;
+<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="#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="#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="#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="#X"><font size="-2">X</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.graphics.html#YuvImage" class="hiddenlink" target="rightframe"><b>YuvImage</b></A><br>
+<A NAME="Z"></A>
+<br><font size="+2">Z</font>&nbsp;
+<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="#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="#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="#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="#X"><font size="-2">X</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="dalvik.system.Zygote.html" class="hiddenlink" target="rightframe">Zygote</A><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/classes_index_changes.html b/docs/html/sdk/api_diff/8/changes/classes_index_changes.html
new file mode 100644
index 0000000..71c9736
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/classes_index_changes.html
@@ -0,0 +1,687 @@
+<!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>
+Class Changes Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Classes" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="classes_index_all.html" class="staysblack">All Classes</a>
+  <br>
+<font color="#999999">Removals</font>
+  <br>
+<A HREF="classes_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<b>Changes</b>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+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>
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<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="#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="#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="#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="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="android.widget.AbsListView.html" class="hiddenlink" target="rightframe">AbsListView</A><br>
+<A HREF="android.content.AbstractThreadedSyncAdapter.html" class="hiddenlink" target="rightframe">AbstractThreadedSyncAdapter</A><br>
+<A HREF="android.accounts.AccountManager.html" class="hiddenlink" target="rightframe">AccountManager</A><br>
+<A HREF="android.app.Activity.html" class="hiddenlink" target="rightframe">Activity</A><br>
+<A HREF="android.content.pm.ActivityInfo.html" class="hiddenlink" target="rightframe">ActivityInfo</A><br>
+<A HREF="android.test.ActivityInstrumentationTestCase2.html" class="hiddenlink" target="rightframe">ActivityInstrumentationTestCase2</A><br>
+<A HREF="android.app.ActivityManager.html" class="hiddenlink" target="rightframe">ActivityManager</A><br>
+<A HREF="android.app.ActivityManager.ProcessErrorStateInfo.html" class="hiddenlink" target="rightframe">ActivityManager.ProcessErrorStateInfo</A><br>
+<A HREF="android.app.AlarmManager.html" class="hiddenlink" target="rightframe">AlarmManager</A><br>
+<A HREF="android.text.AndroidCharacter.html" class="hiddenlink" target="rightframe">AndroidCharacter</A><br>
+<A HREF="android.view.animation.Animation.html" class="hiddenlink" target="rightframe">Animation</A><br>
+<A HREF="android.content.pm.ApplicationInfo.html" class="hiddenlink" target="rightframe">ApplicationInfo</A><br>
+<A HREF="java.util.ArrayList.html" class="hiddenlink" target="rightframe">ArrayList</A><br>
+<A HREF="org.w3c.dom.Attr.html" class="hiddenlink" target="rightframe"><i>Attr</i></A><br>
+<A HREF="android.media.AudioManager.html" class="hiddenlink" target="rightframe">AudioManager</A><br>
+<A NAME="B"></A>
+<br><font size="+2">B</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#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="#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="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="android.widget.BaseExpandableListAdapter.html" class="hiddenlink" target="rightframe">BaseExpandableListAdapter</A><br>
+<A HREF="android.provider.Browser.html" class="hiddenlink" target="rightframe">Browser</A><br>
+<A HREF="android.os.Build.html" class="hiddenlink" target="rightframe">Build</A><br>
+<A HREF="android.os.Build.VERSION_CODES.html" class="hiddenlink" target="rightframe">Build.VERSION_CODES</A><br>
+<A HREF="android.os.Bundle.html" class="hiddenlink" target="rightframe">Bundle</A><br>
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</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="#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="#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="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="android.webkit.CacheManager.html" class="hiddenlink" target="rightframe">CacheManager</A><br>
+<A HREF="android.provider.CallLog.Calls.html" class="hiddenlink" target="rightframe">CallLog.Calls</A><br>
+<A HREF="android.hardware.Camera.html" class="hiddenlink" target="rightframe">Camera</A><br>
+<A HREF="android.hardware.Camera.Parameters.html" class="hiddenlink" target="rightframe">Camera.Parameters</A><br>
+<A HREF="java.nio.charset.Charset.html" class="hiddenlink" target="rightframe">Charset</A><br>
+<A HREF="android.content.pm.ComponentInfo.html" class="hiddenlink" target="rightframe">ComponentInfo</A><br>
+<A HREF="android.content.ComponentName.html" class="hiddenlink" target="rightframe">ComponentName</A><br>
+<A HREF="android.content.res.Configuration.html" class="hiddenlink" target="rightframe">Configuration</A><br>
+<A HREF="android.net.ConnectivityManager.html" class="hiddenlink" target="rightframe">ConnectivityManager</A><br>
+<A HREF="android.provider.Contacts.PresenceColumns.html" class="hiddenlink" target="rightframe"><i>Contacts.PresenceColumns</i></A><br>
+<A HREF="android.provider.ContactsContract.Groups.html" class="hiddenlink" target="rightframe">ContactsContract.Groups</A><br>
+<A HREF="android.provider.ContactsContract.RawContacts.html" class="hiddenlink" target="rightframe">ContactsContract.RawContacts</A><br>
+<A HREF="android.provider.ContactsContract.StatusColumns.html" class="hiddenlink" target="rightframe"><i>ContactsContract.StatusColumns</i></A><br>
+<A HREF="android.content.ContentResolver.html" class="hiddenlink" target="rightframe">ContentResolver</A><br>
+<A HREF="android.content.Context.html" class="hiddenlink" target="rightframe">Context</A><br>
+<A HREF="android.content.ContextWrapper.html" class="hiddenlink" target="rightframe">ContextWrapper</A><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<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="#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="#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="#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="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="android.database.DatabaseUtils.html" class="hiddenlink" target="rightframe">DatabaseUtils</A><br>
+<A HREF="java.net.DatagramSocketImpl.html" class="hiddenlink" target="rightframe">DatagramSocketImpl</A><br>
+<A HREF="android.os.Debug.html" class="hiddenlink" target="rightframe">Debug</A><br>
+<A HREF="android.app.Dialog.html" class="hiddenlink" target="rightframe">Dialog</A><br>
+<A HREF="android.view.Display.html" class="hiddenlink" target="rightframe">Display</A><br>
+<A HREF="org.w3c.dom.Document.html" class="hiddenlink" target="rightframe"><i>Document</i></A><br>
+<A HREF="javax.xml.parsers.DocumentBuilder.html" class="hiddenlink" target="rightframe">DocumentBuilder</A><br>
+<A HREF="javax.xml.parsers.DocumentBuilderFactory.html" class="hiddenlink" target="rightframe">DocumentBuilderFactory</A><br>
+<A HREF="org.w3c.dom.DOMException.html" class="hiddenlink" target="rightframe">DOMException</A><br>
+<A HREF="org.w3c.dom.DOMImplementation.html" class="hiddenlink" target="rightframe"><i>DOMImplementation</i></A><br>
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<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="#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="#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="#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="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="org.w3c.dom.Element.html" class="hiddenlink" target="rightframe"><i>Element</i></A><br>
+<A HREF="org.w3c.dom.Entity.html" class="hiddenlink" target="rightframe"><i>Entity</i></A><br>
+<A HREF="android.os.Environment.html" class="hiddenlink" target="rightframe">Environment</A><br>
+<A HREF="android.util.EventLogTags.html" class="hiddenlink" target="rightframe">EventLogTags</A><br>
+<A HREF="android.media.ExifInterface.html" class="hiddenlink" target="rightframe">ExifInterface</A><br>
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<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="#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="#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="#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="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="android.gesture.Gesture.html" class="hiddenlink" target="rightframe">Gesture</A><br>
+<A HREF="android.view.GestureDetector.html" class="hiddenlink" target="rightframe">GestureDetector</A><br>
+<A HREF="android.gesture.GesturePoint.html" class="hiddenlink" target="rightframe">GesturePoint</A><br>
+<A HREF="android.gesture.GestureStroke.html" class="hiddenlink" target="rightframe">GestureStroke</A><br>
+<A HREF="android.opengl.GLSurfaceView.html" class="hiddenlink" target="rightframe">GLSurfaceView</A><br>
+<A NAME="H"></A>
+<br><font size="+2">H</font>&nbsp;
+<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="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</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="#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="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="android.view.HapticFeedbackConstants.html" class="hiddenlink" target="rightframe">HapticFeedbackConstants</A><br>
+<A HREF="java.util.HashMap.html" class="hiddenlink" target="rightframe">HashMap</A><br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<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="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#J"><font size="-2">J</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="#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="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="android.widget.ImageView.html" class="hiddenlink" target="rightframe">ImageView</A><br>
+<A HREF="android.content.Intent.html" class="hiddenlink" target="rightframe">Intent</A><br>
+<A NAME="J"></A>
+<br><font size="+2">J</font>&nbsp;
+<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="#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="#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="#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="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="android.webkit.JsResult.html" class="hiddenlink" target="rightframe">JsResult</A><br>
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<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="#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="#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="#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="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="android.widget.ListView.html" class="hiddenlink" target="rightframe">ListView</A><br>
+<A HREF="android.location.LocationManager.html" class="hiddenlink" target="rightframe">LocationManager</A><br>
+<A HREF="android.util.Log.html" class="hiddenlink" target="rightframe">Log</A><br>
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<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="#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="#L"><font size="-2">L</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="#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="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="android.Manifest.permission.html" class="hiddenlink" target="rightframe">Manifest.permission</A><br>
+<A HREF="java.util.regex.Matcher.html" class="hiddenlink" target="rightframe">Matcher</A><br>
+<A HREF="android.opengl.Matrix.html" class="hiddenlink" target="rightframe">Matrix</A><br>
+<A HREF="android.media.MediaRecorder.html" class="hiddenlink" target="rightframe">MediaRecorder</A><br>
+<A HREF="android.media.MediaScannerConnection.html" class="hiddenlink" target="rightframe">MediaScannerConnection</A><br>
+<A HREF="android.media.MediaScannerConnection.MediaScannerConnectionClient.html" class="hiddenlink" target="rightframe"><i>MediaScannerConnection.MediaScannerConnectionClient</i></A><br>
+<A HREF="android.provider.MediaStore.html" class="hiddenlink" target="rightframe">MediaStore</A><br>
+<A HREF="android.provider.MediaStore.Audio.AudioColumns.html" class="hiddenlink" target="rightframe"><i>MediaStore.Audio.AudioColumns</i></A><br>
+<A HREF="android.provider.MediaStore.Audio.Playlists.Members.html" class="hiddenlink" target="rightframe">MediaStore.Audio.Playlists.Members</A><br>
+<A HREF="android.provider.MediaStore.Images.Thumbnails.html" class="hiddenlink" target="rightframe">MediaStore.Images.Thumbnails</A><br>
+<A HREF="android.provider.MediaStore.Video.Thumbnails.html" class="hiddenlink" target="rightframe">MediaStore.Video.Thumbnails</A><br>
+<A HREF="android.test.mock.MockContext.html" class="hiddenlink" target="rightframe">MockContext</A><br>
+<A HREF="android.test.mock.MockPackageManager.html" class="hiddenlink" target="rightframe">MockPackageManager</A><br>
+<A HREF="android.view.MotionEvent.html" class="hiddenlink" target="rightframe">MotionEvent</A><br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<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="#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="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</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="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="org.w3c.dom.NamedNodeMap.html" class="hiddenlink" target="rightframe"><i>NamedNodeMap</i></A><br>
+<A HREF="org.w3c.dom.Node.html" class="hiddenlink" target="rightframe"><i>Node</i></A><br>
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<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="#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="#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="#P"><font size="-2">P</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="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="dalvik.bytecode.Opcodes.html" class="hiddenlink" target="rightframe"><i>Opcodes</i></A><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<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="#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="#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="#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="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="android.content.pm.PackageManager.html" class="hiddenlink" target="rightframe">PackageManager</A><br>
+<A HREF="java.util.regex.Pattern.html" class="hiddenlink" target="rightframe">Pattern</A><br>
+<A HREF="android.graphics.PixelFormat.html" class="hiddenlink" target="rightframe">PixelFormat</A><br>
+<A HREF="android.os.PowerManager.html" class="hiddenlink" target="rightframe">PowerManager</A><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<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="#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="#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="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="android.R.anim.html" class="hiddenlink" target="rightframe">R.anim</A><br>
+<A HREF="android.R.attr.html" class="hiddenlink" target="rightframe">R.attr</A><br>
+<A HREF="android.R.id.html" class="hiddenlink" target="rightframe">R.id</A><br>
+<A HREF="android.speech.RecognizerIntent.html" class="hiddenlink" target="rightframe">RecognizerIntent</A><br>
+<A HREF="android.widget.RemoteViews.html" class="hiddenlink" target="rightframe">RemoteViews</A><br>
+<A HREF="android.text.util.Rfc822Tokenizer.html" class="hiddenlink" target="rightframe">Rfc822Tokenizer</A><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<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="#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="#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="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="javax.xml.parsers.SAXParser.html" class="hiddenlink" target="rightframe">SAXParser</A><br>
+<A HREF="javax.xml.parsers.SAXParserFactory.html" class="hiddenlink" target="rightframe">SAXParserFactory</A><br>
+<A HREF="android.app.SearchManager.html" class="hiddenlink" target="rightframe">SearchManager</A><br>
+<A HREF="android.hardware.Sensor.html" class="hiddenlink" target="rightframe">Sensor</A><br>
+<A HREF="android.provider.Settings.html" class="hiddenlink" target="rightframe">Settings</A><br>
+<A HREF="android.provider.Settings.Secure.html" class="hiddenlink" target="rightframe">Settings.Secure</A><br>
+<A HREF="android.provider.Settings.System.html" class="hiddenlink" target="rightframe">Settings.System</A><br>
+<A HREF="android.media.SoundPool.html" class="hiddenlink" target="rightframe">SoundPool</A><br>
+<A HREF="android.database.sqlite.SQLiteDatabase.html" class="hiddenlink" target="rightframe">SQLiteDatabase</A><br>
+<A HREF="android.database.sqlite.SQLiteProgram.html" class="hiddenlink" target="rightframe">SQLiteProgram</A><br>
+<A HREF="android.net.http.SslCertificate.html" class="hiddenlink" target="rightframe">SslCertificate</A><br>
+<A HREF="android.net.SSLCertificateSocketFactory.html" class="hiddenlink" target="rightframe">SSLCertificateSocketFactory</A><br>
+<A HREF="android.content.SyncResult.html" class="hiddenlink" target="rightframe">SyncResult</A><br>
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<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="#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="#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="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="android.widget.TabWidget.html" class="hiddenlink" target="rightframe">TabWidget</A><br>
+<A HREF="android.telephony.TelephonyManager.html" class="hiddenlink" target="rightframe">TelephonyManager</A><br>
+<A HREF="org.w3c.dom.Text.html" class="hiddenlink" target="rightframe"><i>Text</i></A><br>
+<A HREF="android.speech.tts.TextToSpeech.html" class="hiddenlink" target="rightframe">TextToSpeech</A><br>
+<A HREF="android.speech.tts.TextToSpeech.Engine.html" class="hiddenlink" target="rightframe">TextToSpeech.Engine</A><br>
+<A NAME="V"></A>
+<br><font size="+2">V</font>&nbsp;
+<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="#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="#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="#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="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</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="android.view.VelocityTracker.html" class="hiddenlink" target="rightframe">VelocityTracker</A><br>
+<A HREF="android.widget.VideoView.html" class="hiddenlink" target="rightframe">VideoView</A><br>
+<A HREF="android.view.View.html" class="hiddenlink" target="rightframe">View</A><br>
+<A HREF="android.view.ViewConfiguration.html" class="hiddenlink" target="rightframe">ViewConfiguration</A><br>
+<A HREF="android.view.ViewGroup.LayoutParams.html" class="hiddenlink" target="rightframe">ViewGroup.LayoutParams</A><br>
+<A HREF="dalvik.system.VMDebug.html" class="hiddenlink" target="rightframe">VMDebug</A><br>
+<A NAME="W"></A>
+<br><font size="+2">W</font>&nbsp;
+<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="#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="#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="#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="#V"><font size="-2">V</font></a> 
+<a href="#X"><font size="-2">X</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="android.webkit.WebChromeClient.html" class="hiddenlink" target="rightframe">WebChromeClient</A><br>
+<A HREF="android.webkit.WebSettings.html" class="hiddenlink" target="rightframe">WebSettings</A><br>
+<A HREF="android.webkit.WebView.html" class="hiddenlink" target="rightframe">WebView</A><br>
+<A HREF="android.webkit.WebViewClient.html" class="hiddenlink" target="rightframe">WebViewClient</A><br>
+<A HREF="android.view.WindowManager.LayoutParams.html" class="hiddenlink" target="rightframe">WindowManager.LayoutParams</A><br>
+<A NAME="X"></A>
+<br><font size="+2">X</font>&nbsp;
+<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="#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="#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="#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="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</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="javax.xml.XMLConstants.html" class="hiddenlink" target="rightframe">XMLConstants</A><br>
+<A NAME="Z"></A>
+<br><font size="+2">Z</font>&nbsp;
+<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="#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="#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="#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="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="dalvik.system.Zygote.html" class="hiddenlink" target="rightframe">Zygote</A><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/classes_index_removals.html b/docs/html/sdk/api_diff/8/changes/classes_index_removals.html
new file mode 100644
index 0000000..e6da73f
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/classes_index_removals.html
@@ -0,0 +1,61 @@
+<!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>
+Class Removals Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Classes" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="classes_index_all.html" class="staysblack">All Classes</a>
+  <br>
+<font color="#999999">Removals</font>
+  <br>
+<A HREF="classes_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<A HREF="classes_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+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>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/constructors_index_additions.html b/docs/html/sdk/api_diff/8/changes/constructors_index_additions.html
new file mode 100644
index 0000000..62a4528
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/constructors_index_additions.html
@@ -0,0 +1,85 @@
+<!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>
+Constructor Additions Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Constructors" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="constructors_index_all.html" class="staysblack">All Constructors</a>
+  <br>
+<A HREF="constructors_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<b>Additions</b>
+  <br>
+<A HREF="constructors_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+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>
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<a href="#G"><font size="-2">G</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.ActivityInstrumentationTestCase2.html#android.test.ActivityInstrumentationTestCase2.ctor_added(java.lang.Class<T>)" class="hiddenlink" target="rightframe"><b>ActivityInstrumentationTestCase2</b>
+(<code>Class&lt;T&gt;</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<a href="#A"><font size="-2">A</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.view.GestureDetector.html#android.view.GestureDetector.ctor_added(android.content.Context, android.view.GestureDetector.OnGestureListener, android.os.Handler, boolean)" class="hiddenlink" target="rightframe"><b>GestureDetector</b>
+(<code>Context, OnGestureListener, Handler, boolean</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#G"><font size="-2">G</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.http.SslCertificate.html#android.net.http.SslCertificate.ctor_added(java.lang.String, java.lang.String, java.util.Date, java.util.Date)" class="hiddenlink" target="rightframe"><b>SslCertificate</b>
+(<code>String, String, Date, Date</code>)</A></nobr>&nbsp;constructor<br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/constructors_index_all.html b/docs/html/sdk/api_diff/8/changes/constructors_index_all.html
new file mode 100644
index 0000000..c8a68d8f
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/constructors_index_all.html
@@ -0,0 +1,105 @@
+<!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>
+Constructor Differences Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Constructors" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<b>Constructors</b>
+  <br>
+<A HREF="constructors_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<A HREF="constructors_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<A HREF="constructors_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+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>
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>ActivityInstrumentationTestCase2</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.ActivityInstrumentationTestCase2.html#android.test.ActivityInstrumentationTestCase2.ctor_added(java.lang.Class<T>)" class="hiddenlink" target="rightframe"><b>ActivityInstrumentationTestCase2</b>
+(<code>Class&lt;T&gt;</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.ActivityInstrumentationTestCase2.html#android.test.ActivityInstrumentationTestCase2.ctor_changed(java.lang.String, java.lang.Class<T>)" class="hiddenlink" target="rightframe">ActivityInstrumentationTestCase2
+(<code>String, Class&lt;T&gt;</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.GestureDetector.html#android.view.GestureDetector.ctor_added(android.content.Context, android.view.GestureDetector.OnGestureListener, android.os.Handler, boolean)" class="hiddenlink" target="rightframe"><b>GestureDetector</b>
+(<code>Context, OnGestureListener, Handler, boolean</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#X"><font size="-2">X</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>SslCertificate</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.net.http.SslCertificate.html#android.net.http.SslCertificate.ctor_added(java.lang.String, java.lang.String, java.util.Date, java.util.Date)" class="hiddenlink" target="rightframe"><b>SslCertificate</b>
+(<code>String, String, Date, Date</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="android.net.http.SslCertificate.html#android.net.http.SslCertificate.ctor_changed(java.lang.String, java.lang.String, java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">SslCertificate
+(<code>String, String, String, String</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.net.SSLCertificateSocketFactory.html#android.net.SSLCertificateSocketFactory.ctor_changed(int)" class="hiddenlink" target="rightframe">SSLCertificateSocketFactory
+(<code>int</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="X"></A>
+<br><font size="+2">X</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#G"><font size="-2">G</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="javax.xml.XMLConstants.html#javax.xml.XMLConstants.ctor_removed()" class="hiddenlink" target="rightframe"><strike>XMLConstants</strike>
+()</A></nobr>&nbsp;constructor<br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/constructors_index_changes.html b/docs/html/sdk/api_diff/8/changes/constructors_index_changes.html
new file mode 100644
index 0000000..0f9ca3c
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/constructors_index_changes.html
@@ -0,0 +1,77 @@
+<!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>
+Constructor Changes Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Constructors" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="constructors_index_all.html" class="staysblack">All Constructors</a>
+  <br>
+<A HREF="constructors_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<A HREF="constructors_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<b>Changes</b>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+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>
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<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.ActivityInstrumentationTestCase2.html#android.test.ActivityInstrumentationTestCase2.ctor_changed(java.lang.String, java.lang.Class<T>)" class="hiddenlink" target="rightframe">ActivityInstrumentationTestCase2
+(<code>String, Class&lt;T&gt;</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#A"><font size="-2">A</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.http.SslCertificate.html#android.net.http.SslCertificate.ctor_changed(java.lang.String, java.lang.String, java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">SslCertificate
+(<code>String, String, String, String</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.net.SSLCertificateSocketFactory.html#android.net.SSLCertificateSocketFactory.ctor_changed(int)" class="hiddenlink" target="rightframe">SSLCertificateSocketFactory
+(<code>int</code>)</A></nobr>&nbsp;constructor<br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/constructors_index_removals.html b/docs/html/sdk/api_diff/8/changes/constructors_index_removals.html
new file mode 100644
index 0000000..618fd13
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/constructors_index_removals.html
@@ -0,0 +1,67 @@
+<!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>
+Constructor Removals Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Constructors" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="constructors_index_all.html" class="staysblack">All Constructors</a>
+  <br>
+<b>Removals</b>
+  <br>
+<A HREF="constructors_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<A HREF="constructors_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+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>
+<A NAME="X"></A>
+<br><font size="+2">X</font>&nbsp;
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="javax.xml.XMLConstants.html#javax.xml.XMLConstants.ctor_removed()" class="hiddenlink" target="rightframe"><strike>XMLConstants</strike>
+()</A></nobr>&nbsp;constructor<br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/dalvik.bytecode.Opcodes.html b/docs/html/sdk/api_diff/8/changes/dalvik.bytecode.Opcodes.html
new file mode 100644
index 0000000..c12ea91
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/dalvik.bytecode.Opcodes.html
@@ -0,0 +1,326 @@
+<!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>
+dalvik.bytecode.Opcodes
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Interface dalvik.bytecode.<A HREF="../../../../reference/dalvik/bytecode/Opcodes.html" target="_top"><font size="+2"><code>Opcodes</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.bytecode.Opcodes.OP_UNUSED_3e"></A>
+  <code>int</code>&nbsp;OP_UNUSED_3e
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.bytecode.Opcodes.OP_UNUSED_3f"></A>
+  <code>int</code>&nbsp;OP_UNUSED_3f
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.bytecode.Opcodes.OP_UNUSED_40"></A>
+  <code>int</code>&nbsp;OP_UNUSED_40
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.bytecode.Opcodes.OP_UNUSED_41"></A>
+  <code>int</code>&nbsp;OP_UNUSED_41
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.bytecode.Opcodes.OP_UNUSED_42"></A>
+  <code>int</code>&nbsp;OP_UNUSED_42
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.bytecode.Opcodes.OP_UNUSED_43"></A>
+  <code>int</code>&nbsp;OP_UNUSED_43
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.bytecode.Opcodes.OP_UNUSED_73"></A>
+  <code>int</code>&nbsp;OP_UNUSED_73
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.bytecode.Opcodes.OP_UNUSED_79"></A>
+  <code>int</code>&nbsp;OP_UNUSED_79
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.bytecode.Opcodes.OP_UNUSED_7A"></A>
+  <code>int</code>&nbsp;OP_UNUSED_7A
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.bytecode.Opcodes.OP_UNUSED_E3"></A>
+  <code>int</code>&nbsp;OP_UNUSED_E3
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.bytecode.Opcodes.OP_UNUSED_E4"></A>
+  <code>int</code>&nbsp;OP_UNUSED_E4
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.bytecode.Opcodes.OP_UNUSED_E5"></A>
+  <code>int</code>&nbsp;OP_UNUSED_E5
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.bytecode.Opcodes.OP_UNUSED_E6"></A>
+  <code>int</code>&nbsp;OP_UNUSED_E6
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.bytecode.Opcodes.OP_UNUSED_E7"></A>
+  <code>int</code>&nbsp;OP_UNUSED_E7
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.bytecode.Opcodes.OP_UNUSED_E8"></A>
+  <code>int</code>&nbsp;OP_UNUSED_E8
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.bytecode.Opcodes.OP_UNUSED_E9"></A>
+  <code>int</code>&nbsp;OP_UNUSED_E9
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.bytecode.Opcodes.OP_UNUSED_EA"></A>
+  <code>int</code>&nbsp;OP_UNUSED_EA
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.bytecode.Opcodes.OP_UNUSED_EB"></A>
+  <code>int</code>&nbsp;OP_UNUSED_EB
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.bytecode.Opcodes.OP_UNUSED_EC"></A>
+  <code>int</code>&nbsp;OP_UNUSED_EC
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.bytecode.Opcodes.OP_UNUSED_ED"></A>
+  <code>int</code>&nbsp;OP_UNUSED_ED
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.bytecode.Opcodes.OP_UNUSED_EF"></A>
+  <code>int</code>&nbsp;OP_UNUSED_EF
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.bytecode.Opcodes.OP_UNUSED_F1"></A>
+  <code>int</code>&nbsp;OP_UNUSED_F1
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.bytecode.Opcodes.OP_UNUSED_FC"></A>
+  <code>int</code>&nbsp;OP_UNUSED_FC
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.bytecode.Opcodes.OP_UNUSED_FD"></A>
+  <code>int</code>&nbsp;OP_UNUSED_FD
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.bytecode.Opcodes.OP_UNUSED_FE"></A>
+  <code>int</code>&nbsp;OP_UNUSED_FE
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.bytecode.Opcodes.OP_UNUSED_FF"></A>
+  <code>int</code>&nbsp;OP_UNUSED_FF
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.bytecode.Opcodes.OP_BREAKPOINT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/dalvik/bytecode/Opcodes.html#OP_BREAKPOINT" target="_top"><code>OP_BREAKPOINT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.bytecode.Opcodes.OP_EXECUTE_INLINE_RANGE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/dalvik/bytecode/Opcodes.html#OP_EXECUTE_INLINE_RANGE" target="_top"><code>OP_EXECUTE_INLINE_RANGE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.bytecode.Opcodes.OP_THROW_VERIFICATION_ERROR"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/dalvik/bytecode/Opcodes.html#OP_THROW_VERIFICATION_ERROR" target="_top"><code>OP_THROW_VERIFICATION_ERROR</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/dalvik.system.VMDebug.html b/docs/html/sdk/api_diff/8/changes/dalvik.system.VMDebug.html
new file mode 100644
index 0000000..3bec244
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/dalvik.system.VMDebug.html
@@ -0,0 +1,178 @@
+<!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>
+dalvik.system.VMDebug
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class dalvik.system.<A HREF="../../../../reference/dalvik/system/VMDebug.html" target="_top"><font size="+2"><code>VMDebug</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.system.VMDebug.startMethodTracing_changed()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/dalvik/system/VMDebug.html#startMethodTracing()" target="_top"><code>startMethodTracing</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.system.VMDebug.KIND_GLOBAL_CLASS_INIT_COUNT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/dalvik/system/VMDebug.html#KIND_GLOBAL_CLASS_INIT_COUNT" target="_top"><code>KIND_GLOBAL_CLASS_INIT_COUNT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.system.VMDebug.KIND_GLOBAL_CLASS_INIT_TIME"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/dalvik/system/VMDebug.html#KIND_GLOBAL_CLASS_INIT_TIME" target="_top"><code>KIND_GLOBAL_CLASS_INIT_TIME</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.system.VMDebug.KIND_THREAD_CLASS_INIT_COUNT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/dalvik/system/VMDebug.html#KIND_THREAD_CLASS_INIT_COUNT" target="_top"><code>KIND_THREAD_CLASS_INIT_COUNT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.system.VMDebug.KIND_THREAD_CLASS_INIT_TIME"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/dalvik/system/VMDebug.html#KIND_THREAD_CLASS_INIT_TIME" target="_top"><code>KIND_THREAD_CLASS_INIT_TIME</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.system.VMDebug.DEFAULT_METHOD_TRACE_FILE_NAME"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/dalvik/system/VMDebug.html#DEFAULT_METHOD_TRACE_FILE_NAME" target="_top"><code>DEFAULT_METHOD_TRACE_FILE_NAME</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/dalvik.system.Zygote.html b/docs/html/sdk/api_diff/8/changes/dalvik.system.Zygote.html
new file mode 100644
index 0000000..3565aedf
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/dalvik.system.Zygote.html
@@ -0,0 +1,122 @@
+<!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>
+dalvik.system.Zygote
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class dalvik.system.<A HREF="../../../../reference/dalvik/system/Zygote.html" target="_top"><font size="+2"><code>Zygote</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="dalvik.system.Zygote.DEBUG_ENABLE_SAFEMODE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/dalvik/system/Zygote.html#DEBUG_ENABLE_SAFEMODE" target="_top"><code>DEBUG_ENABLE_SAFEMODE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/fields_index_additions.html b/docs/html/sdk/api_diff/8/changes/fields_index_additions.html
new file mode 100644
index 0000000..c7b9eba
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/fields_index_additions.html
@@ -0,0 +1,935 @@
+<!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>
+Field Additions Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Fields" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="fields_index_all.html" class="staysblack">All Fields</a>
+  <br>
+<A HREF="fields_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<b>Additions</b>
+  <br>
+<A HREF="fields_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+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>
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<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="#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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_ADD_ACCOUNT" class="hiddenlink" target="rightframe">ACTION_ADD_ACCOUNT</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_DEVICE_INFO_SETTINGS" class="hiddenlink" target="rightframe">ACTION_DEVICE_INFO_SETTINGS</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE" class="hiddenlink" target="rightframe">ACTION_EXTERNAL_APPLICATIONS_AVAILABLE</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE" class="hiddenlink" target="rightframe">ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE</A>
+</nobr><br>
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.ACTION_GET_LANGUAGE_DETAILS" class="hiddenlink" target="rightframe">ACTION_GET_LANGUAGE_DETAILS</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_INDEX_MASK" class="hiddenlink" target="rightframe">ACTION_POINTER_INDEX_MASK</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_INDEX_SHIFT" class="hiddenlink" target="rightframe">ACTION_POINTER_INDEX_SHIFT</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.ACTION_SCO_AUDIO_STATE_CHANGED" class="hiddenlink" target="rightframe">ACTION_SCO_AUDIO_STATE_CHANGED</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_SEARCH_SETTINGS" class="hiddenlink" target="rightframe">ACTION_SEARCH_SETTINGS</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.ALLOWED_GEOLOCATION_ORIGINS" class="hiddenlink" target="rightframe">ALLOWED_GEOLOCATION_ORIGINS</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.AUDIOFOCUS_GAIN" class="hiddenlink" target="rightframe">AUDIOFOCUS_GAIN</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.AUDIOFOCUS_GAIN_TRANSIENT" class="hiddenlink" target="rightframe">AUDIOFOCUS_GAIN_TRANSIENT</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK" class="hiddenlink" target="rightframe">AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.AUDIOFOCUS_LOSS" class="hiddenlink" target="rightframe">AUDIOFOCUS_LOSS</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.AUDIOFOCUS_LOSS_TRANSIENT" class="hiddenlink" target="rightframe">AUDIOFOCUS_LOSS_TRANSIENT</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK" class="hiddenlink" target="rightframe">AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.AUDIOFOCUS_REQUEST_FAILED" class="hiddenlink" target="rightframe">AUDIOFOCUS_REQUEST_FAILED</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.AUDIOFOCUS_REQUEST_GRANTED" class="hiddenlink" target="rightframe">AUDIOFOCUS_REQUEST_GRANTED</A>
+</nobr><br>
+<i>AVAILABLE</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.AVAILABLE" class="hiddenlink" target="rightframe">android.provider.Contacts.PresenceColumns</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusColumns.html#android.provider.ContactsContract.StatusColumns.AVAILABLE" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusColumns</A>
+</nobr><br>
+<i>AWAY</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.AWAY" class="hiddenlink" target="rightframe">android.provider.Contacts.PresenceColumns</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusColumns.html#android.provider.ContactsContract.StatusColumns.AWAY" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusColumns</A>
+</nobr><br>
+<A NAME="B"></A>
+<br><font size="+2">B</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.backupAgentName" class="hiddenlink" target="rightframe">backupAgentName</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_DEVICE_ADMIN" class="hiddenlink" target="rightframe">BIND_DEVICE_ADMIN</A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.BIND_NOT_FOREGROUND" class="hiddenlink" target="rightframe">BIND_NOT_FOREGROUND</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_WALLPAPER" class="hiddenlink" target="rightframe">BIND_WALLPAPER</A>
+</nobr><br>
+<nobr><A HREF="android.provider.MediaStore.Audio.AudioColumns.html#android.provider.MediaStore.Audio.AudioColumns.BOOKMARK" class="hiddenlink" target="rightframe">BOOKMARK</A>
+</nobr><br>
+<nobr><A HREF="android.os.Build.html#android.os.Build.BOOTLOADER" class="hiddenlink" target="rightframe">BOOTLOADER</A>
+</nobr><br>
+<nobr><A HREF="android.view.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_FULL" class="hiddenlink" target="rightframe">BRIGHTNESS_OVERRIDE_FULL</A>
+</nobr><br>
+<nobr><A HREF="android.view.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE" class="hiddenlink" target="rightframe">BRIGHTNESS_OVERRIDE_NONE</A>
+</nobr><br>
+<nobr><A HREF="android.view.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_OFF" class="hiddenlink" target="rightframe">BRIGHTNESS_OVERRIDE_OFF</A>
+</nobr><br>
+<nobr><A HREF="android.view.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.buttonBrightness" class="hiddenlink" target="rightframe">buttonBrightness</A>
+</nobr><br>
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</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="#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="#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="#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_CAR_MODE" class="hiddenlink" target="rightframe">CATEGORY_CAR_MODE</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ActivityInfo.html#android.content.pm.ActivityInfo.CONFIG_UI_MODE" class="hiddenlink" target="rightframe">CONFIG_UI_MODE</A>
+</nobr><br>
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.CONFLICT_ABORT" class="hiddenlink" target="rightframe">CONFLICT_ABORT</A>
+</nobr><br>
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.CONFLICT_FAIL" class="hiddenlink" target="rightframe">CONFLICT_FAIL</A>
+</nobr><br>
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.CONFLICT_IGNORE" class="hiddenlink" target="rightframe">CONFLICT_IGNORE</A>
+</nobr><br>
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.CONFLICT_NONE" class="hiddenlink" target="rightframe">CONFLICT_NONE</A>
+</nobr><br>
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.CONFLICT_REPLACE" class="hiddenlink" target="rightframe">CONFLICT_REPLACE</A>
+</nobr><br>
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.CONFLICT_ROLLBACK" class="hiddenlink" target="rightframe">CONFLICT_ROLLBACK</A>
+</nobr><br>
+<nobr><A HREF="android.os.Build.html#android.os.Build.CPU_ABI2" class="hiddenlink" target="rightframe">CPU_ABI2</A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.CURSOR_EXTRA_KEY_IN_PROGRESS" class="hiddenlink" target="rightframe">CURSOR_EXTRA_KEY_IN_PROGRESS</A>
+</nobr><br>
+<nobr><A HREF="android.R.id.html#android.R.id.custom" class="hiddenlink" target="rightframe">custom</A>
+</nobr><br>
+<nobr><A HREF="android.R.anim.html#android.R.anim.cycle_interpolator" class="hiddenlink" target="rightframe">cycle_interpolator</A>
+</nobr><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<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="#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="#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="#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.DEBUG_ENABLE_SAFEMODE" class="hiddenlink" target="rightframe">DEBUG_ENABLE_SAFEMODE</A>
+</nobr><br>
+<nobr><A HREF="android.content.SyncResult.html#android.content.SyncResult.delayUntil" class="hiddenlink" target="rightframe">delayUntil</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ComponentInfo.html#android.content.pm.ComponentInfo.descriptionRes" class="hiddenlink" target="rightframe">descriptionRes</A>
+</nobr><br>
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.DETAILS_META_DATA" class="hiddenlink" target="rightframe">DETAILS_META_DATA</A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.DEVICE_POLICY_SERVICE" class="hiddenlink" target="rightframe">DEVICE_POLICY_SERVICE</A>
+</nobr><br>
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_ALARMS" class="hiddenlink" target="rightframe">DIRECTORY_ALARMS</A>
+</nobr><br>
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_DCIM" class="hiddenlink" target="rightframe">DIRECTORY_DCIM</A>
+</nobr><br>
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_DOWNLOADS" class="hiddenlink" target="rightframe">DIRECTORY_DOWNLOADS</A>
+</nobr><br>
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_MOVIES" class="hiddenlink" target="rightframe">DIRECTORY_MOVIES</A>
+</nobr><br>
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_MUSIC" class="hiddenlink" target="rightframe">DIRECTORY_MUSIC</A>
+</nobr><br>
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_NOTIFICATIONS" class="hiddenlink" target="rightframe">DIRECTORY_NOTIFICATIONS</A>
+</nobr><br>
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_PICTURES" class="hiddenlink" target="rightframe">DIRECTORY_PICTURES</A>
+</nobr><br>
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_PODCASTS" class="hiddenlink" target="rightframe">DIRECTORY_PODCASTS</A>
+</nobr><br>
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_RINGTONES" class="hiddenlink" target="rightframe">DIRECTORY_RINGTONES</A>
+</nobr><br>
+<i>DO_NOT_DISTURB</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.DO_NOT_DISTURB" class="hiddenlink" target="rightframe">android.provider.Contacts.PresenceColumns</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusColumns.html#android.provider.ContactsContract.StatusColumns.DO_NOT_DISTURB" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusColumns</A>
+</nobr><br>
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.DOCUMENT_POSITION_CONTAINED_BY" class="hiddenlink" target="rightframe">DOCUMENT_POSITION_CONTAINED_BY</A>
+</nobr><br>
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.DOCUMENT_POSITION_CONTAINS" class="hiddenlink" target="rightframe">DOCUMENT_POSITION_CONTAINS</A>
+</nobr><br>
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.DOCUMENT_POSITION_DISCONNECTED" class="hiddenlink" target="rightframe">DOCUMENT_POSITION_DISCONNECTED</A>
+</nobr><br>
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.DOCUMENT_POSITION_FOLLOWING" class="hiddenlink" target="rightframe">DOCUMENT_POSITION_FOLLOWING</A>
+</nobr><br>
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" class="hiddenlink" target="rightframe">DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC</A>
+</nobr><br>
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.DOCUMENT_POSITION_PRECEDING" class="hiddenlink" target="rightframe">DOCUMENT_POSITION_PRECEDING</A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.DROPBOX_SERVICE" class="hiddenlink" target="rightframe">DROPBOX_SERVICE</A>
+</nobr><br>
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<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="#F"><font size="-2">F</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.text.AndroidCharacter.html#android.text.AndroidCharacter.EAST_ASIAN_WIDTH_AMBIGUOUS" class="hiddenlink" target="rightframe">EAST_ASIAN_WIDTH_AMBIGUOUS</A>
+</nobr><br>
+<nobr><A HREF="android.text.AndroidCharacter.html#android.text.AndroidCharacter.EAST_ASIAN_WIDTH_FULL_WIDTH" class="hiddenlink" target="rightframe">EAST_ASIAN_WIDTH_FULL_WIDTH</A>
+</nobr><br>
+<nobr><A HREF="android.text.AndroidCharacter.html#android.text.AndroidCharacter.EAST_ASIAN_WIDTH_HALF_WIDTH" class="hiddenlink" target="rightframe">EAST_ASIAN_WIDTH_HALF_WIDTH</A>
+</nobr><br>
+<nobr><A HREF="android.text.AndroidCharacter.html#android.text.AndroidCharacter.EAST_ASIAN_WIDTH_NARROW" class="hiddenlink" target="rightframe">EAST_ASIAN_WIDTH_NARROW</A>
+</nobr><br>
+<nobr><A HREF="android.text.AndroidCharacter.html#android.text.AndroidCharacter.EAST_ASIAN_WIDTH_NEUTRAL" class="hiddenlink" target="rightframe">EAST_ASIAN_WIDTH_NEUTRAL</A>
+</nobr><br>
+<nobr><A HREF="android.text.AndroidCharacter.html#android.text.AndroidCharacter.EAST_ASIAN_WIDTH_WIDE" class="hiddenlink" target="rightframe">EAST_ASIAN_WIDTH_WIDE</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.expandableListViewWhiteStyle" class="hiddenlink" target="rightframe">expandableListViewWhiteStyle</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.EXTRA_AUTHORITIES" class="hiddenlink" target="rightframe">EXTRA_AUTHORITIES</A>
+</nobr><br>
+<nobr><A HREF="android.speech.tts.TextToSpeech.Engine.html#android.speech.tts.TextToSpeech.Engine.EXTRA_AVAILABLE_VOICES" class="hiddenlink" target="rightframe">EXTRA_AVAILABLE_VOICES</A>
+</nobr><br>
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_CALLING_PACKAGE" class="hiddenlink" target="rightframe">EXTRA_CALLING_PACKAGE</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_CHANGED_PACKAGE_LIST" class="hiddenlink" target="rightframe">EXTRA_CHANGED_PACKAGE_LIST</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_CHANGED_UID_LIST" class="hiddenlink" target="rightframe">EXTRA_CHANGED_UID_LIST</A>
+</nobr><br>
+<nobr><A HREF="android.speech.tts.TextToSpeech.Engine.html#android.speech.tts.TextToSpeech.Engine.EXTRA_CHECK_VOICE_DATA_FOR" class="hiddenlink" target="rightframe">EXTRA_CHECK_VOICE_DATA_FOR</A>
+</nobr><br>
+<nobr><A HREF="android.provider.MediaStore.html#android.provider.MediaStore.EXTRA_DURATION_LIMIT" class="hiddenlink" target="rightframe">EXTRA_DURATION_LIMIT</A>
+</nobr><br>
+<nobr><A HREF="android.provider.MediaStore.html#android.provider.MediaStore.EXTRA_FULL_SCREEN" class="hiddenlink" target="rightframe">EXTRA_FULL_SCREEN</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Browser.html#android.provider.Browser.EXTRA_HEADERS" class="hiddenlink" target="rightframe">EXTRA_HEADERS</A>
+</nobr><br>
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE" class="hiddenlink" target="rightframe">EXTRA_LANGUAGE_PREFERENCE</A>
+</nobr><br>
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_ONLY_RETURN_LANGUAGE_PREFERENCE" class="hiddenlink" target="rightframe">EXTRA_ONLY_RETURN_LANGUAGE_PREFERENCE</A>
+</nobr><br>
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_PARTIAL_RESULTS" class="hiddenlink" target="rightframe">EXTRA_PARTIAL_RESULTS</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.EXTRA_SCO_AUDIO_STATE" class="hiddenlink" target="rightframe">EXTRA_SCO_AUDIO_STATE</A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.EXTRA_SELECT_QUERY" class="hiddenlink" target="rightframe">EXTRA_SELECT_QUERY</A>
+</nobr><br>
+<nobr><A HREF="android.provider.MediaStore.html#android.provider.MediaStore.EXTRA_SHOW_ACTION_ICONS" class="hiddenlink" target="rightframe">EXTRA_SHOW_ACTION_ICONS</A>
+</nobr><br>
+<nobr><A HREF="android.provider.MediaStore.html#android.provider.MediaStore.EXTRA_SIZE_LIMIT" class="hiddenlink" target="rightframe">EXTRA_SIZE_LIMIT</A>
+</nobr><br>
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS" class="hiddenlink" target="rightframe">EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS</A>
+</nobr><br>
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS" class="hiddenlink" target="rightframe">EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS</A>
+</nobr><br>
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS" class="hiddenlink" target="rightframe">EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS</A>
+</nobr><br>
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_SUPPORTED_LANGUAGES" class="hiddenlink" target="rightframe">EXTRA_SUPPORTED_LANGUAGES</A>
+</nobr><br>
+<nobr><A HREF="android.speech.tts.TextToSpeech.Engine.html#android.speech.tts.TextToSpeech.Engine.EXTRA_UNAVAILABLE_VOICES" class="hiddenlink" target="rightframe">EXTRA_UNAVAILABLE_VOICES</A>
+</nobr><br>
+<A NAME="F"></A>
+<br><font size="+2">F</font>&nbsp;
+<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="#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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_BLUETOOTH" class="hiddenlink" target="rightframe">FEATURE_BLUETOOTH</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_LOCATION" class="hiddenlink" target="rightframe">FEATURE_LOCATION</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_LOCATION_GPS" class="hiddenlink" target="rightframe">FEATURE_LOCATION_GPS</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_LOCATION_NETWORK" class="hiddenlink" target="rightframe">FEATURE_LOCATION_NETWORK</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_MICROPHONE" class="hiddenlink" target="rightframe">FEATURE_MICROPHONE</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_SENSOR_ACCELEROMETER" class="hiddenlink" target="rightframe">FEATURE_SENSOR_ACCELEROMETER</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_SENSOR_COMPASS" class="hiddenlink" target="rightframe">FEATURE_SENSOR_COMPASS</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_TOUCHSCREEN" class="hiddenlink" target="rightframe">FEATURE_TOUCHSCREEN</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT" class="hiddenlink" target="rightframe">FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_WIFI" class="hiddenlink" target="rightframe">FEATURE_WIFI</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_ALLOW_BACKUP" class="hiddenlink" target="rightframe">FLAG_ALLOW_BACKUP</A>
+</nobr><br>
+<nobr><A HREF="android.view.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON" class="hiddenlink" target="rightframe">FLAG_ALLOW_LOCK_WHILE_SCREEN_ON</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_EXTERNAL_STORAGE" class="hiddenlink" target="rightframe">FLAG_EXTERNAL_STORAGE</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_KILL_AFTER_RESTORE" class="hiddenlink" target="rightframe">FLAG_KILL_AFTER_RESTORE</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.FLAG_RECEIVER_REPLACE_PENDING" class="hiddenlink" target="rightframe">FLAG_RECEIVER_REPLACE_PENDING</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_RESTORE_ANY_VERSION" class="hiddenlink" target="rightframe">FLAG_RESTORE_ANY_VERSION</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_VM_SAFE_MODE" class="hiddenlink" target="rightframe">FLAG_VM_SAFE_MODE</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.FOCUS_MODE_EDOF" class="hiddenlink" target="rightframe">FOCUS_MODE_EDOF</A>
+</nobr><br>
+<nobr><A HREF="android.os.Build.VERSION_CODES.html#android.os.Build.VERSION_CODES.FROYO" class="hiddenlink" target="rightframe">FROYO</A>
+</nobr><br>
+<A NAME="H"></A>
+<br><font size="+2">H</font>&nbsp;
+<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="#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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.os.Build.html#android.os.Build.HARDWARE" class="hiddenlink" target="rightframe">HARDWARE</A>
+</nobr><br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<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="#H"><font size="-2">H</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>IDLE</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.IDLE" class="hiddenlink" target="rightframe">android.provider.Contacts.PresenceColumns</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusColumns.html#android.provider.ContactsContract.StatusColumns.IDLE" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusColumns</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.installLocation" class="hiddenlink" target="rightframe">installLocation</A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.INTENT_ACTION_GLOBAL_SEARCH" class="hiddenlink" target="rightframe">INTENT_ACTION_GLOBAL_SEARCH</A>
+</nobr><br>
+<nobr><A HREF="android.provider.MediaStore.html#android.provider.MediaStore.INTENT_ACTION_MUSIC_PLAYER" class="hiddenlink" target="rightframe">INTENT_ACTION_MUSIC_PLAYER</A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.INTENT_ACTION_SEARCH_SETTINGS" class="hiddenlink" target="rightframe">INTENT_ACTION_SEARCH_SETTINGS</A>
+</nobr><br>
+<i>INVISIBLE</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.INVISIBLE" class="hiddenlink" target="rightframe">android.provider.Contacts.PresenceColumns</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusColumns.html#android.provider.ContactsContract.StatusColumns.INVISIBLE" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusColumns</A>
+</nobr><br>
+<nobr><A HREF="android.provider.MediaStore.Audio.AudioColumns.html#android.provider.MediaStore.Audio.AudioColumns.IS_PODCAST" class="hiddenlink" target="rightframe">IS_PODCAST</A>
+</nobr><br>
+<A NAME="K"></A>
+<br><font size="+2">K</font>&nbsp;
+<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="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.HapticFeedbackConstants.html#android.view.HapticFeedbackConstants.KEYBOARD_TAP" class="hiddenlink" target="rightframe">KEYBOARD_TAP</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.KILL_BACKGROUND_PROCESSES" class="hiddenlink" target="rightframe">KILL_BACKGROUND_PROCESSES</A>
+</nobr><br>
+<nobr><A HREF="dalvik.system.VMDebug.html#dalvik.system.VMDebug.KIND_GLOBAL_CLASS_INIT_COUNT" class="hiddenlink" target="rightframe">KIND_GLOBAL_CLASS_INIT_COUNT</A>
+</nobr><br>
+<nobr><A HREF="dalvik.system.VMDebug.html#dalvik.system.VMDebug.KIND_GLOBAL_CLASS_INIT_TIME" class="hiddenlink" target="rightframe">KIND_GLOBAL_CLASS_INIT_TIME</A>
+</nobr><br>
+<nobr><A HREF="dalvik.system.VMDebug.html#dalvik.system.VMDebug.KIND_THREAD_CLASS_INIT_COUNT" class="hiddenlink" target="rightframe">KIND_THREAD_CLASS_INIT_COUNT</A>
+</nobr><br>
+<nobr><A HREF="dalvik.system.VMDebug.html#dalvik.system.VMDebug.KIND_THREAD_CLASS_INIT_TIME" class="hiddenlink" target="rightframe">KIND_THREAD_CLASS_INIT_TIME</A>
+</nobr><br>
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<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="#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="#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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.LOCK_PATTERN_ENABLED" class="hiddenlink" target="rightframe">LOCK_PATTERN_ENABLED</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED" class="hiddenlink" target="rightframe">LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.LOCK_PATTERN_VISIBLE" class="hiddenlink" target="rightframe">LOCK_PATTERN_VISIBLE</A>
+</nobr><br>
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<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="#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="#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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.ViewGroup.LayoutParams.html#android.view.ViewGroup.LayoutParams.MATCH_PARENT" class="hiddenlink" target="rightframe">MATCH_PARENT</A>
+</nobr><br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<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="#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="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.NETWORK_TYPE_IDEN" class="hiddenlink" target="rightframe">NETWORK_TYPE_IDEN</A>
+</nobr><br>
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<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="#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="#P"><font size="-2">P</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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>OFFLINE</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.OFFLINE" class="hiddenlink" target="rightframe">android.provider.Contacts.PresenceColumns</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusColumns.html#android.provider.ContactsContract.StatusColumns.OFFLINE" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusColumns</A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_BREAKPOINT" class="hiddenlink" target="rightframe">OP_BREAKPOINT</A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_EXECUTE_INLINE_RANGE" class="hiddenlink" target="rightframe">OP_EXECUTE_INLINE_RANGE</A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_THROW_VERIFICATION_ERROR" class="hiddenlink" target="rightframe">OP_THROW_VERIFICATION_ERROR</A>
+</nobr><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<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="#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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.PASSIVE_PROVIDER" class="hiddenlink" target="rightframe">PASSIVE_PROVIDER</A>
+</nobr><br>
+<i>PRESENCE_CUSTOM_STATUS</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.PRESENCE_CUSTOM_STATUS" class="hiddenlink" target="rightframe">android.provider.Contacts.PresenceColumns</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusColumns.html#android.provider.ContactsContract.StatusColumns.PRESENCE_CUSTOM_STATUS" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusColumns</A>
+</nobr><br>
+<i>PRESENCE_STATUS</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.PRESENCE_STATUS" class="hiddenlink" target="rightframe">android.provider.Contacts.PresenceColumns</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusColumns.html#android.provider.ContactsContract.StatusColumns.PRESENCE_STATUS" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusColumns</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.PRIORITY" class="hiddenlink" target="rightframe">PRIORITY</A>
+</nobr><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<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="#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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.os.Build.html#android.os.Build.RADIO" class="hiddenlink" target="rightframe">RADIO</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.restoreAnyVersion" class="hiddenlink" target="rightframe">restoreAnyVersion</A>
+</nobr><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<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="#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="#R"><font size="-2">R</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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.SCENE_MODE_BARCODE" class="hiddenlink" target="rightframe">SCENE_MODE_BARCODE</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.SCO_AUDIO_STATE_CONNECTED" class="hiddenlink" target="rightframe">SCO_AUDIO_STATE_CONNECTED</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.SCO_AUDIO_STATE_DISCONNECTED" class="hiddenlink" target="rightframe">SCO_AUDIO_STATE_DISCONNECTED</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.SCO_AUDIO_STATE_ERROR" class="hiddenlink" target="rightframe">SCO_AUDIO_STATE_ERROR</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.System.html#android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE" class="hiddenlink" target="rightframe">SCREEN_BRIGHTNESS_MODE</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.System.html#android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC" class="hiddenlink" target="rightframe">SCREEN_BRIGHTNESS_MODE_AUTOMATIC</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.System.html#android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL" class="hiddenlink" target="rightframe">SCREEN_BRIGHTNESS_MODE_MANUAL</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.SET_TIME" class="hiddenlink" target="rightframe">SET_TIME</A>
+</nobr><br>
+<nobr><A HREF="android.app.ActivityManager.ProcessErrorStateInfo.html#android.app.ActivityManager.ProcessErrorStateInfo.stackTrace" class="hiddenlink" target="rightframe">stackTrace</A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.SUGGEST_COLUMN_TEXT_2_URL" class="hiddenlink" target="rightframe">SUGGEST_COLUMN_TEXT_2_URL</A>
+</nobr><br>
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.SYNC_EXTRAS_DO_NOT_RETRY" class="hiddenlink" target="rightframe">SYNC_EXTRAS_DO_NOT_RETRY</A>
+</nobr><br>
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.SYNC_EXTRAS_IGNORE_BACKOFF" class="hiddenlink" target="rightframe">SYNC_EXTRAS_IGNORE_BACKOFF</A>
+</nobr><br>
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.SYNC_EXTRAS_IGNORE_SETTINGS" class="hiddenlink" target="rightframe">SYNC_EXTRAS_IGNORE_SETTINGS</A>
+</nobr><br>
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.SYNC_OBSERVER_TYPE_ACTIVE" class="hiddenlink" target="rightframe">SYNC_OBSERVER_TYPE_ACTIVE</A>
+</nobr><br>
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.SYNC_OBSERVER_TYPE_PENDING" class="hiddenlink" target="rightframe">SYNC_OBSERVER_TYPE_PENDING</A>
+</nobr><br>
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.SYNC_OBSERVER_TYPE_SETTINGS" class="hiddenlink" target="rightframe">SYNC_OBSERVER_TYPE_SETTINGS</A>
+</nobr><br>
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<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="#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="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.tabStripEnabled" class="hiddenlink" target="rightframe">tabStripEnabled</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.tabStripLeft" class="hiddenlink" target="rightframe">tabStripLeft</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.tabStripRight" class="hiddenlink" target="rightframe">tabStripRight</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_FOCAL_LENGTH" class="hiddenlink" target="rightframe">TAG_FOCAL_LENGTH</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DATESTAMP" class="hiddenlink" target="rightframe">TAG_GPS_DATESTAMP</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_PROCESSING_METHOD" class="hiddenlink" target="rightframe">TAG_GPS_PROCESSING_METHOD</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_TIMESTAMP" class="hiddenlink" target="rightframe">TAG_GPS_TIMESTAMP</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.TTS_ENABLED_PLUGINS" class="hiddenlink" target="rightframe">TTS_ENABLED_PLUGINS</A>
+</nobr><br>
+<nobr><A HREF="org.w3c.dom.DOMException.html#org.w3c.dom.DOMException.TYPE_MISMATCH_ERR" class="hiddenlink" target="rightframe">TYPE_MISMATCH_ERR</A>
+</nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.TYPE_MOBILE_DUN" class="hiddenlink" target="rightframe">TYPE_MOBILE_DUN</A>
+</nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.TYPE_MOBILE_HIPRI" class="hiddenlink" target="rightframe">TYPE_MOBILE_HIPRI</A>
+</nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.TYPE_MOBILE_MMS" class="hiddenlink" target="rightframe">TYPE_MOBILE_MMS</A>
+</nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.TYPE_MOBILE_SUPL" class="hiddenlink" target="rightframe">TYPE_MOBILE_SUPL</A>
+</nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.TYPE_WIMAX" class="hiddenlink" target="rightframe">TYPE_WIMAX</A>
+</nobr><br>
+<A NAME="U"></A>
+<br><font size="+2">U</font>&nbsp;
+<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="#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="#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="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</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.res.Configuration.html#android.content.res.Configuration.UI_MODE_NIGHT_MASK" class="hiddenlink" target="rightframe">UI_MODE_NIGHT_MASK</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.UI_MODE_NIGHT_NO" class="hiddenlink" target="rightframe">UI_MODE_NIGHT_NO</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.UI_MODE_NIGHT_UNDEFINED" class="hiddenlink" target="rightframe">UI_MODE_NIGHT_UNDEFINED</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.UI_MODE_NIGHT_YES" class="hiddenlink" target="rightframe">UI_MODE_NIGHT_YES</A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.UI_MODE_SERVICE" class="hiddenlink" target="rightframe">UI_MODE_SERVICE</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.UI_MODE_TYPE_CAR" class="hiddenlink" target="rightframe">UI_MODE_TYPE_CAR</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.UI_MODE_TYPE_DESK" class="hiddenlink" target="rightframe">UI_MODE_TYPE_DESK</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.UI_MODE_TYPE_MASK" class="hiddenlink" target="rightframe">UI_MODE_TYPE_MASK</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.UI_MODE_TYPE_NORMAL" class="hiddenlink" target="rightframe">UI_MODE_TYPE_NORMAL</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.UI_MODE_TYPE_UNDEFINED" class="hiddenlink" target="rightframe">UI_MODE_TYPE_UNDEFINED</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.uiMode" class="hiddenlink" target="rightframe">uiMode</A>
+</nobr><br>
+<nobr><A HREF="android.os.Build.html#android.os.Build.UNKNOWN" class="hiddenlink" target="rightframe">UNKNOWN</A>
+</nobr><br>
+<nobr><A HREF="android.provider.MediaStore.html#android.provider.MediaStore.UNKNOWN_STRING" class="hiddenlink" target="rightframe">UNKNOWN_STRING</A>
+</nobr><br>
+<A NAME="V"></A>
+<br><font size="+2">V</font>&nbsp;
+<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="#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="#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="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="org.w3c.dom.DOMException.html#org.w3c.dom.DOMException.VALIDATION_ERR" class="hiddenlink" target="rightframe">VALIDATION_ERR</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.vmSafeMode" class="hiddenlink" target="rightframe">vmSafeMode</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.System.html#android.provider.Settings.System.VOLUME_BLUETOOTH_SCO" class="hiddenlink" target="rightframe">VOLUME_BLUETOOTH_SCO</A>
+</nobr><br>
+<A NAME="W"></A>
+<br><font size="+2">W</font>&nbsp;
+<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="#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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.attr.html#android.R.attr.webTextViewStyle" class="hiddenlink" target="rightframe">webTextViewStyle</A>
+</nobr><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/fields_index_all.html b/docs/html/sdk/api_diff/8/changes/fields_index_all.html
new file mode 100644
index 0000000..b34f9aa
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/fields_index_all.html
@@ -0,0 +1,1138 @@
+<!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>
+Field Differences Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Fields" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<b>Fields</b>
+  <br>
+<A HREF="fields_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<A HREF="fields_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<A HREF="fields_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+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>
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<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="#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="#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">
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_ADD_ACCOUNT" class="hiddenlink" target="rightframe">ACTION_ADD_ACCOUNT</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_DEVICE_INFO_SETTINGS" class="hiddenlink" target="rightframe">ACTION_DEVICE_INFO_SETTINGS</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE" class="hiddenlink" target="rightframe">ACTION_EXTERNAL_APPLICATIONS_AVAILABLE</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE" class="hiddenlink" target="rightframe">ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE</A>
+</nobr><br>
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.ACTION_GET_LANGUAGE_DETAILS" class="hiddenlink" target="rightframe">ACTION_GET_LANGUAGE_DETAILS</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_1_DOWN" class="hiddenlink" target="rightframe">ACTION_POINTER_1_DOWN</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_1_UP" class="hiddenlink" target="rightframe">ACTION_POINTER_1_UP</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_2_DOWN" class="hiddenlink" target="rightframe">ACTION_POINTER_2_DOWN</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_2_UP" class="hiddenlink" target="rightframe">ACTION_POINTER_2_UP</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_3_DOWN" class="hiddenlink" target="rightframe">ACTION_POINTER_3_DOWN</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_3_UP" class="hiddenlink" target="rightframe">ACTION_POINTER_3_UP</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_ID_MASK" class="hiddenlink" target="rightframe">ACTION_POINTER_ID_MASK</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_ID_SHIFT" class="hiddenlink" target="rightframe">ACTION_POINTER_ID_SHIFT</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_INDEX_MASK" class="hiddenlink" target="rightframe">ACTION_POINTER_INDEX_MASK</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_INDEX_SHIFT" class="hiddenlink" target="rightframe">ACTION_POINTER_INDEX_SHIFT</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.ACTION_SCO_AUDIO_STATE_CHANGED" class="hiddenlink" target="rightframe">ACTION_SCO_AUDIO_STATE_CHANGED</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_SEARCH_SETTINGS" class="hiddenlink" target="rightframe">ACTION_SEARCH_SETTINGS</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.ALLOWED_GEOLOCATION_ORIGINS" class="hiddenlink" target="rightframe">ALLOWED_GEOLOCATION_ORIGINS</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.AUDIOFOCUS_GAIN" class="hiddenlink" target="rightframe">AUDIOFOCUS_GAIN</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.AUDIOFOCUS_GAIN_TRANSIENT" class="hiddenlink" target="rightframe">AUDIOFOCUS_GAIN_TRANSIENT</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK" class="hiddenlink" target="rightframe">AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.AUDIOFOCUS_LOSS" class="hiddenlink" target="rightframe">AUDIOFOCUS_LOSS</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.AUDIOFOCUS_LOSS_TRANSIENT" class="hiddenlink" target="rightframe">AUDIOFOCUS_LOSS_TRANSIENT</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK" class="hiddenlink" target="rightframe">AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.AUDIOFOCUS_REQUEST_FAILED" class="hiddenlink" target="rightframe">AUDIOFOCUS_REQUEST_FAILED</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.AUDIOFOCUS_REQUEST_GRANTED" class="hiddenlink" target="rightframe">AUDIOFOCUS_REQUEST_GRANTED</A>
+</nobr><br>
+<i>AVAILABLE</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.AVAILABLE" class="hiddenlink" target="rightframe">android.provider.Contacts.PresenceColumns</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusColumns.html#android.provider.ContactsContract.StatusColumns.AVAILABLE" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusColumns</A>
+</nobr><br>
+<i>AWAY</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.AWAY" class="hiddenlink" target="rightframe">android.provider.Contacts.PresenceColumns</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusColumns.html#android.provider.ContactsContract.StatusColumns.AWAY" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusColumns</A>
+</nobr><br>
+<A NAME="B"></A>
+<br><font size="+2">B</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#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">
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.backupAgentName" class="hiddenlink" target="rightframe">backupAgentName</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_DEVICE_ADMIN" class="hiddenlink" target="rightframe">BIND_DEVICE_ADMIN</A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.BIND_NOT_FOREGROUND" class="hiddenlink" target="rightframe">BIND_NOT_FOREGROUND</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_WALLPAPER" class="hiddenlink" target="rightframe">BIND_WALLPAPER</A>
+</nobr><br>
+<nobr><A HREF="android.provider.MediaStore.Audio.AudioColumns.html#android.provider.MediaStore.Audio.AudioColumns.BOOKMARK" class="hiddenlink" target="rightframe">BOOKMARK</A>
+</nobr><br>
+<nobr><A HREF="android.os.Build.html#android.os.Build.BOOTLOADER" class="hiddenlink" target="rightframe">BOOTLOADER</A>
+</nobr><br>
+<nobr><A HREF="android.view.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_FULL" class="hiddenlink" target="rightframe">BRIGHTNESS_OVERRIDE_FULL</A>
+</nobr><br>
+<nobr><A HREF="android.view.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE" class="hiddenlink" target="rightframe">BRIGHTNESS_OVERRIDE_NONE</A>
+</nobr><br>
+<nobr><A HREF="android.view.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_OFF" class="hiddenlink" target="rightframe">BRIGHTNESS_OVERRIDE_OFF</A>
+</nobr><br>
+<nobr><A HREF="android.view.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.buttonBrightness" class="hiddenlink" target="rightframe">buttonBrightness</A>
+</nobr><br>
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</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="#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="#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">
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.CATEGORY_CAR_MODE" class="hiddenlink" target="rightframe">CATEGORY_CAR_MODE</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ActivityInfo.html#android.content.pm.ActivityInfo.CONFIG_UI_MODE" class="hiddenlink" target="rightframe">CONFIG_UI_MODE</A>
+</nobr><br>
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.CONFLICT_ABORT" class="hiddenlink" target="rightframe">CONFLICT_ABORT</A>
+</nobr><br>
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.CONFLICT_FAIL" class="hiddenlink" target="rightframe">CONFLICT_FAIL</A>
+</nobr><br>
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.CONFLICT_IGNORE" class="hiddenlink" target="rightframe">CONFLICT_IGNORE</A>
+</nobr><br>
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.CONFLICT_NONE" class="hiddenlink" target="rightframe">CONFLICT_NONE</A>
+</nobr><br>
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.CONFLICT_REPLACE" class="hiddenlink" target="rightframe">CONFLICT_REPLACE</A>
+</nobr><br>
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.CONFLICT_ROLLBACK" class="hiddenlink" target="rightframe">CONFLICT_ROLLBACK</A>
+</nobr><br>
+<nobr><A HREF="android.os.Build.html#android.os.Build.CPU_ABI2" class="hiddenlink" target="rightframe">CPU_ABI2</A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.CURSOR_EXTRA_KEY_IN_PROGRESS" class="hiddenlink" target="rightframe">CURSOR_EXTRA_KEY_IN_PROGRESS</A>
+</nobr><br>
+<nobr><A HREF="android.R.id.html#android.R.id.custom" class="hiddenlink" target="rightframe">custom</A>
+</nobr><br>
+<nobr><A HREF="android.R.anim.html#android.R.anim.cycle_interpolator" class="hiddenlink" target="rightframe">cycle_interpolator</A>
+</nobr><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<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="#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="#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">
+<nobr><A HREF="dalvik.system.Zygote.html#dalvik.system.Zygote.DEBUG_ENABLE_SAFEMODE" class="hiddenlink" target="rightframe">DEBUG_ENABLE_SAFEMODE</A>
+</nobr><br>
+<nobr><A HREF="dalvik.system.VMDebug.html#dalvik.system.VMDebug.DEFAULT_METHOD_TRACE_FILE_NAME" class="hiddenlink" target="rightframe">DEFAULT_METHOD_TRACE_FILE_NAME</A>
+</nobr><br>
+<nobr><A HREF="android.content.SyncResult.html#android.content.SyncResult.delayUntil" class="hiddenlink" target="rightframe">delayUntil</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ComponentInfo.html#android.content.pm.ComponentInfo.descriptionRes" class="hiddenlink" target="rightframe">descriptionRes</A>
+</nobr><br>
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.DETAILS_META_DATA" class="hiddenlink" target="rightframe">DETAILS_META_DATA</A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.DEVICE_POLICY_SERVICE" class="hiddenlink" target="rightframe">DEVICE_POLICY_SERVICE</A>
+</nobr><br>
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_ALARMS" class="hiddenlink" target="rightframe">DIRECTORY_ALARMS</A>
+</nobr><br>
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_DCIM" class="hiddenlink" target="rightframe">DIRECTORY_DCIM</A>
+</nobr><br>
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_DOWNLOADS" class="hiddenlink" target="rightframe">DIRECTORY_DOWNLOADS</A>
+</nobr><br>
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_MOVIES" class="hiddenlink" target="rightframe">DIRECTORY_MOVIES</A>
+</nobr><br>
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_MUSIC" class="hiddenlink" target="rightframe">DIRECTORY_MUSIC</A>
+</nobr><br>
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_NOTIFICATIONS" class="hiddenlink" target="rightframe">DIRECTORY_NOTIFICATIONS</A>
+</nobr><br>
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_PICTURES" class="hiddenlink" target="rightframe">DIRECTORY_PICTURES</A>
+</nobr><br>
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_PODCASTS" class="hiddenlink" target="rightframe">DIRECTORY_PODCASTS</A>
+</nobr><br>
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.DIRECTORY_RINGTONES" class="hiddenlink" target="rightframe">DIRECTORY_RINGTONES</A>
+</nobr><br>
+<i>DO_NOT_DISTURB</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.DO_NOT_DISTURB" class="hiddenlink" target="rightframe">android.provider.Contacts.PresenceColumns</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusColumns.html#android.provider.ContactsContract.StatusColumns.DO_NOT_DISTURB" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusColumns</A>
+</nobr><br>
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.DOCUMENT_POSITION_CONTAINED_BY" class="hiddenlink" target="rightframe">DOCUMENT_POSITION_CONTAINED_BY</A>
+</nobr><br>
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.DOCUMENT_POSITION_CONTAINS" class="hiddenlink" target="rightframe">DOCUMENT_POSITION_CONTAINS</A>
+</nobr><br>
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.DOCUMENT_POSITION_DISCONNECTED" class="hiddenlink" target="rightframe">DOCUMENT_POSITION_DISCONNECTED</A>
+</nobr><br>
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.DOCUMENT_POSITION_FOLLOWING" class="hiddenlink" target="rightframe">DOCUMENT_POSITION_FOLLOWING</A>
+</nobr><br>
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" class="hiddenlink" target="rightframe">DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC</A>
+</nobr><br>
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.DOCUMENT_POSITION_PRECEDING" class="hiddenlink" target="rightframe">DOCUMENT_POSITION_PRECEDING</A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.DROPBOX_SERVICE" class="hiddenlink" target="rightframe">DROPBOX_SERVICE</A>
+</nobr><br>
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<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="#F"><font size="-2">F</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="#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">
+<nobr><A HREF="android.text.AndroidCharacter.html#android.text.AndroidCharacter.EAST_ASIAN_WIDTH_AMBIGUOUS" class="hiddenlink" target="rightframe">EAST_ASIAN_WIDTH_AMBIGUOUS</A>
+</nobr><br>
+<nobr><A HREF="android.text.AndroidCharacter.html#android.text.AndroidCharacter.EAST_ASIAN_WIDTH_FULL_WIDTH" class="hiddenlink" target="rightframe">EAST_ASIAN_WIDTH_FULL_WIDTH</A>
+</nobr><br>
+<nobr><A HREF="android.text.AndroidCharacter.html#android.text.AndroidCharacter.EAST_ASIAN_WIDTH_HALF_WIDTH" class="hiddenlink" target="rightframe">EAST_ASIAN_WIDTH_HALF_WIDTH</A>
+</nobr><br>
+<nobr><A HREF="android.text.AndroidCharacter.html#android.text.AndroidCharacter.EAST_ASIAN_WIDTH_NARROW" class="hiddenlink" target="rightframe">EAST_ASIAN_WIDTH_NARROW</A>
+</nobr><br>
+<nobr><A HREF="android.text.AndroidCharacter.html#android.text.AndroidCharacter.EAST_ASIAN_WIDTH_NEUTRAL" class="hiddenlink" target="rightframe">EAST_ASIAN_WIDTH_NEUTRAL</A>
+</nobr><br>
+<nobr><A HREF="android.text.AndroidCharacter.html#android.text.AndroidCharacter.EAST_ASIAN_WIDTH_WIDE" class="hiddenlink" target="rightframe">EAST_ASIAN_WIDTH_WIDE</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.expandableListViewWhiteStyle" class="hiddenlink" target="rightframe">expandableListViewWhiteStyle</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.EXTRA_AUTHORITIES" class="hiddenlink" target="rightframe">EXTRA_AUTHORITIES</A>
+</nobr><br>
+<nobr><A HREF="android.speech.tts.TextToSpeech.Engine.html#android.speech.tts.TextToSpeech.Engine.EXTRA_AVAILABLE_VOICES" class="hiddenlink" target="rightframe">EXTRA_AVAILABLE_VOICES</A>
+</nobr><br>
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_CALLING_PACKAGE" class="hiddenlink" target="rightframe">EXTRA_CALLING_PACKAGE</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_CHANGED_PACKAGE_LIST" class="hiddenlink" target="rightframe">EXTRA_CHANGED_PACKAGE_LIST</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_CHANGED_UID_LIST" class="hiddenlink" target="rightframe">EXTRA_CHANGED_UID_LIST</A>
+</nobr><br>
+<nobr><A HREF="android.speech.tts.TextToSpeech.Engine.html#android.speech.tts.TextToSpeech.Engine.EXTRA_CHECK_VOICE_DATA_FOR" class="hiddenlink" target="rightframe">EXTRA_CHECK_VOICE_DATA_FOR</A>
+</nobr><br>
+<nobr><A HREF="android.provider.MediaStore.html#android.provider.MediaStore.EXTRA_DURATION_LIMIT" class="hiddenlink" target="rightframe">EXTRA_DURATION_LIMIT</A>
+</nobr><br>
+<nobr><A HREF="android.provider.MediaStore.html#android.provider.MediaStore.EXTRA_FULL_SCREEN" class="hiddenlink" target="rightframe">EXTRA_FULL_SCREEN</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Browser.html#android.provider.Browser.EXTRA_HEADERS" class="hiddenlink" target="rightframe">EXTRA_HEADERS</A>
+</nobr><br>
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE" class="hiddenlink" target="rightframe">EXTRA_LANGUAGE_PREFERENCE</A>
+</nobr><br>
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_ONLY_RETURN_LANGUAGE_PREFERENCE" class="hiddenlink" target="rightframe">EXTRA_ONLY_RETURN_LANGUAGE_PREFERENCE</A>
+</nobr><br>
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_PARTIAL_RESULTS" class="hiddenlink" target="rightframe">EXTRA_PARTIAL_RESULTS</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.EXTRA_SCO_AUDIO_STATE" class="hiddenlink" target="rightframe">EXTRA_SCO_AUDIO_STATE</A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.EXTRA_SELECT_QUERY" class="hiddenlink" target="rightframe">EXTRA_SELECT_QUERY</A>
+</nobr><br>
+<nobr><A HREF="android.provider.MediaStore.html#android.provider.MediaStore.EXTRA_SHOW_ACTION_ICONS" class="hiddenlink" target="rightframe">EXTRA_SHOW_ACTION_ICONS</A>
+</nobr><br>
+<nobr><A HREF="android.provider.MediaStore.html#android.provider.MediaStore.EXTRA_SIZE_LIMIT" class="hiddenlink" target="rightframe">EXTRA_SIZE_LIMIT</A>
+</nobr><br>
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS" class="hiddenlink" target="rightframe">EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS</A>
+</nobr><br>
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS" class="hiddenlink" target="rightframe">EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS</A>
+</nobr><br>
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS" class="hiddenlink" target="rightframe">EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS</A>
+</nobr><br>
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_SUPPORTED_LANGUAGES" class="hiddenlink" target="rightframe">EXTRA_SUPPORTED_LANGUAGES</A>
+</nobr><br>
+<nobr><A HREF="android.speech.tts.TextToSpeech.Engine.html#android.speech.tts.TextToSpeech.Engine.EXTRA_UNAVAILABLE_VOICES" class="hiddenlink" target="rightframe">EXTRA_UNAVAILABLE_VOICES</A>
+</nobr><br>
+<A NAME="F"></A>
+<br><font size="+2">F</font>&nbsp;
+<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="#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="#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">
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_BLUETOOTH" class="hiddenlink" target="rightframe">FEATURE_BLUETOOTH</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_LOCATION" class="hiddenlink" target="rightframe">FEATURE_LOCATION</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_LOCATION_GPS" class="hiddenlink" target="rightframe">FEATURE_LOCATION_GPS</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_LOCATION_NETWORK" class="hiddenlink" target="rightframe">FEATURE_LOCATION_NETWORK</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_MICROPHONE" class="hiddenlink" target="rightframe">FEATURE_MICROPHONE</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_SENSOR_ACCELEROMETER" class="hiddenlink" target="rightframe">FEATURE_SENSOR_ACCELEROMETER</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_SENSOR_COMPASS" class="hiddenlink" target="rightframe">FEATURE_SENSOR_COMPASS</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_TOUCHSCREEN" class="hiddenlink" target="rightframe">FEATURE_TOUCHSCREEN</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT" class="hiddenlink" target="rightframe">FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_WIFI" class="hiddenlink" target="rightframe">FEATURE_WIFI</A>
+</nobr><br>
+<nobr><A HREF="android.view.ViewGroup.LayoutParams.html#android.view.ViewGroup.LayoutParams.FILL_PARENT" class="hiddenlink" target="rightframe">FILL_PARENT</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_ALLOW_BACKUP" class="hiddenlink" target="rightframe">FLAG_ALLOW_BACKUP</A>
+</nobr><br>
+<nobr><A HREF="android.view.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON" class="hiddenlink" target="rightframe">FLAG_ALLOW_LOCK_WHILE_SCREEN_ON</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_EXTERNAL_STORAGE" class="hiddenlink" target="rightframe">FLAG_EXTERNAL_STORAGE</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_KILL_AFTER_RESTORE" class="hiddenlink" target="rightframe">FLAG_KILL_AFTER_RESTORE</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.FLAG_RECEIVER_REPLACE_PENDING" class="hiddenlink" target="rightframe">FLAG_RECEIVER_REPLACE_PENDING</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_RESTORE_ANY_VERSION" class="hiddenlink" target="rightframe">FLAG_RESTORE_ANY_VERSION</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_VM_SAFE_MODE" class="hiddenlink" target="rightframe">FLAG_VM_SAFE_MODE</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.FOCUS_MODE_EDOF" class="hiddenlink" target="rightframe">FOCUS_MODE_EDOF</A>
+</nobr><br>
+<nobr><A HREF="android.os.Build.VERSION_CODES.html#android.os.Build.VERSION_CODES.FROYO" class="hiddenlink" target="rightframe">FROYO</A>
+</nobr><br>
+<A NAME="H"></A>
+<br><font size="+2">H</font>&nbsp;
+<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="#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="#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">
+<nobr><A HREF="android.os.Build.html#android.os.Build.HARDWARE" class="hiddenlink" target="rightframe">HARDWARE</A>
+</nobr><br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<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="#H"><font size="-2">H</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="#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">
+<i>IDLE</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.IDLE" class="hiddenlink" target="rightframe">android.provider.Contacts.PresenceColumns</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusColumns.html#android.provider.ContactsContract.StatusColumns.IDLE" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusColumns</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.installLocation" class="hiddenlink" target="rightframe">installLocation</A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.INTENT_ACTION_GLOBAL_SEARCH" class="hiddenlink" target="rightframe">INTENT_ACTION_GLOBAL_SEARCH</A>
+</nobr><br>
+<nobr><A HREF="android.provider.MediaStore.html#android.provider.MediaStore.INTENT_ACTION_MUSIC_PLAYER" class="hiddenlink" target="rightframe">INTENT_ACTION_MUSIC_PLAYER</A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.INTENT_ACTION_SEARCH_SETTINGS" class="hiddenlink" target="rightframe">INTENT_ACTION_SEARCH_SETTINGS</A>
+</nobr><br>
+<i>INVISIBLE</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.INVISIBLE" class="hiddenlink" target="rightframe">android.provider.Contacts.PresenceColumns</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusColumns.html#android.provider.ContactsContract.StatusColumns.INVISIBLE" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusColumns</A>
+</nobr><br>
+<nobr><A HREF="android.provider.MediaStore.Audio.AudioColumns.html#android.provider.MediaStore.Audio.AudioColumns.IS_PODCAST" class="hiddenlink" target="rightframe">IS_PODCAST</A>
+</nobr><br>
+<A NAME="J"></A>
+<br><font size="+2">J</font>&nbsp;
+<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="#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="#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">
+<nobr><A HREF="android.graphics.PixelFormat.html#android.graphics.PixelFormat.JPEG" class="hiddenlink" target="rightframe">JPEG</A>
+</nobr><br>
+<A NAME="K"></A>
+<br><font size="+2">K</font>&nbsp;
+<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="#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="#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="#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">
+<nobr><A HREF="android.view.HapticFeedbackConstants.html#android.view.HapticFeedbackConstants.KEYBOARD_TAP" class="hiddenlink" target="rightframe">KEYBOARD_TAP</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.KILL_BACKGROUND_PROCESSES" class="hiddenlink" target="rightframe">KILL_BACKGROUND_PROCESSES</A>
+</nobr><br>
+<nobr><A HREF="dalvik.system.VMDebug.html#dalvik.system.VMDebug.KIND_GLOBAL_CLASS_INIT_COUNT" class="hiddenlink" target="rightframe">KIND_GLOBAL_CLASS_INIT_COUNT</A>
+</nobr><br>
+<nobr><A HREF="dalvik.system.VMDebug.html#dalvik.system.VMDebug.KIND_GLOBAL_CLASS_INIT_TIME" class="hiddenlink" target="rightframe">KIND_GLOBAL_CLASS_INIT_TIME</A>
+</nobr><br>
+<nobr><A HREF="dalvik.system.VMDebug.html#dalvik.system.VMDebug.KIND_THREAD_CLASS_INIT_COUNT" class="hiddenlink" target="rightframe">KIND_THREAD_CLASS_INIT_COUNT</A>
+</nobr><br>
+<nobr><A HREF="dalvik.system.VMDebug.html#dalvik.system.VMDebug.KIND_THREAD_CLASS_INIT_TIME" class="hiddenlink" target="rightframe">KIND_THREAD_CLASS_INIT_TIME</A>
+</nobr><br>
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<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="#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="#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="#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">
+<i>LOCK_PATTERN_ENABLED</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.LOCK_PATTERN_ENABLED" class="hiddenlink" target="rightframe">android.provider.Settings.Secure</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Settings.System.html#android.provider.Settings.System.LOCK_PATTERN_ENABLED" class="hiddenlink" target="rightframe">android.provider.Settings.System</A>
+</nobr><br>
+<i>LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED" class="hiddenlink" target="rightframe">android.provider.Settings.Secure</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Settings.System.html#android.provider.Settings.System.LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED" class="hiddenlink" target="rightframe">android.provider.Settings.System</A>
+</nobr><br>
+<i>LOCK_PATTERN_VISIBLE</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.LOCK_PATTERN_VISIBLE" class="hiddenlink" target="rightframe">android.provider.Settings.Secure</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Settings.System.html#android.provider.Settings.System.LOCK_PATTERN_VISIBLE" class="hiddenlink" target="rightframe">android.provider.Settings.System</A>
+</nobr><br>
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<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="#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="#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="#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">
+<nobr><A HREF="android.view.ViewGroup.LayoutParams.html#android.view.ViewGroup.LayoutParams.MATCH_PARENT" class="hiddenlink" target="rightframe">MATCH_PARENT</A>
+</nobr><br>
+<nobr><A HREF="android.database.sqlite.SQLiteProgram.html#android.database.sqlite.SQLiteProgram.mDatabase" class="hiddenlink" target="rightframe">mDatabase</A>
+</nobr><br>
+<nobr><A HREF="android.webkit.JsResult.html#android.webkit.JsResult.mProxy" class="hiddenlink" target="rightframe"><strike>mProxy</strike></A>
+</nobr><br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<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="#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="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</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">
+<nobr><A HREF="android.telephony.TelephonyManager.html#android.telephony.TelephonyManager.NETWORK_TYPE_IDEN" class="hiddenlink" target="rightframe">NETWORK_TYPE_IDEN</A>
+</nobr><br>
+<nobr><A HREF="android.database.sqlite.SQLiteProgram.html#android.database.sqlite.SQLiteProgram.nHandle" class="hiddenlink" target="rightframe">nHandle</A>
+</nobr><br>
+<nobr><A HREF="android.database.sqlite.SQLiteProgram.html#android.database.sqlite.SQLiteProgram.nStatement" class="hiddenlink" target="rightframe">nStatement</A>
+</nobr><br>
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<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="#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="#P"><font size="-2">P</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">
+<i>OFFLINE</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.OFFLINE" class="hiddenlink" target="rightframe">android.provider.Contacts.PresenceColumns</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusColumns.html#android.provider.ContactsContract.StatusColumns.OFFLINE" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusColumns</A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_BREAKPOINT" class="hiddenlink" target="rightframe">OP_BREAKPOINT</A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_EXECUTE_INLINE_RANGE" class="hiddenlink" target="rightframe">OP_EXECUTE_INLINE_RANGE</A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_THROW_VERIFICATION_ERROR" class="hiddenlink" target="rightframe">OP_THROW_VERIFICATION_ERROR</A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_3e" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_3e</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_3f" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_3f</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_40" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_40</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_41" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_41</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_42" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_42</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_43" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_43</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_73" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_73</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_79" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_79</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_7A" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_7A</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_E3" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_E3</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_E4" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_E4</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_E5" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_E5</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_E6" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_E6</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_E7" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_E7</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_E8" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_E8</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_E9" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_E9</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_EA" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_EA</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_EB" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_EB</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_EC" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_EC</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_ED" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_ED</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_EF" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_EF</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_F1" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_F1</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_FC" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_FC</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_FD" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_FD</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_FE" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_FE</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_FF" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_FF</strike></A>
+</nobr><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<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="#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="#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">
+<nobr><A HREF="android.location.LocationManager.html#android.location.LocationManager.PASSIVE_PROVIDER" class="hiddenlink" target="rightframe">PASSIVE_PROVIDER</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.PKG_INSTALL_COMPLETE" class="hiddenlink" target="rightframe"><strike>PKG_INSTALL_COMPLETE</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.PKG_INSTALL_INCOMPLETE" class="hiddenlink" target="rightframe"><strike>PKG_INSTALL_INCOMPLETE</strike></A>
+</nobr><br>
+<i>PRESENCE_CUSTOM_STATUS</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.PRESENCE_CUSTOM_STATUS" class="hiddenlink" target="rightframe">android.provider.Contacts.PresenceColumns</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusColumns.html#android.provider.ContactsContract.StatusColumns.PRESENCE_CUSTOM_STATUS" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusColumns</A>
+</nobr><br>
+<i>PRESENCE_STATUS</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.PRESENCE_STATUS" class="hiddenlink" target="rightframe">android.provider.Contacts.PresenceColumns</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusColumns.html#android.provider.ContactsContract.StatusColumns.PRESENCE_STATUS" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusColumns</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Contacts.PresenceColumns.html#android.provider.Contacts.PresenceColumns.PRIORITY" class="hiddenlink" target="rightframe">PRIORITY</A>
+</nobr><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<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="#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="#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">
+<nobr><A HREF="android.os.Build.html#android.os.Build.RADIO" class="hiddenlink" target="rightframe">RADIO</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.RESTART_PACKAGES" class="hiddenlink" target="rightframe">RESTART_PACKAGES</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.restoreAnyVersion" class="hiddenlink" target="rightframe">restoreAnyVersion</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.restoreNeedsApplication" class="hiddenlink" target="rightframe">restoreNeedsApplication</A>
+</nobr><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<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="#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="#R"><font size="-2">R</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">
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.SCENE_MODE_BARCODE" class="hiddenlink" target="rightframe">SCENE_MODE_BARCODE</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.SCO_AUDIO_STATE_CONNECTED" class="hiddenlink" target="rightframe">SCO_AUDIO_STATE_CONNECTED</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.SCO_AUDIO_STATE_DISCONNECTED" class="hiddenlink" target="rightframe">SCO_AUDIO_STATE_DISCONNECTED</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.SCO_AUDIO_STATE_ERROR" class="hiddenlink" target="rightframe">SCO_AUDIO_STATE_ERROR</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.System.html#android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE" class="hiddenlink" target="rightframe">SCREEN_BRIGHTNESS_MODE</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.System.html#android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC" class="hiddenlink" target="rightframe">SCREEN_BRIGHTNESS_MODE_AUTOMATIC</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.System.html#android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL" class="hiddenlink" target="rightframe">SCREEN_BRIGHTNESS_MODE_MANUAL</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.SET_TIME" class="hiddenlink" target="rightframe">SET_TIME</A>
+</nobr><br>
+<nobr><A HREF="android.app.ActivityManager.ProcessErrorStateInfo.html#android.app.ActivityManager.ProcessErrorStateInfo.stackTrace" class="hiddenlink" target="rightframe">stackTrace</A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.SUGGEST_COLUMN_TEXT_2_URL" class="hiddenlink" target="rightframe">SUGGEST_COLUMN_TEXT_2_URL</A>
+</nobr><br>
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.SYNC_EXTRAS_DO_NOT_RETRY" class="hiddenlink" target="rightframe">SYNC_EXTRAS_DO_NOT_RETRY</A>
+</nobr><br>
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.SYNC_EXTRAS_IGNORE_BACKOFF" class="hiddenlink" target="rightframe">SYNC_EXTRAS_IGNORE_BACKOFF</A>
+</nobr><br>
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.SYNC_EXTRAS_IGNORE_SETTINGS" class="hiddenlink" target="rightframe">SYNC_EXTRAS_IGNORE_SETTINGS</A>
+</nobr><br>
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.SYNC_OBSERVER_TYPE_ACTIVE" class="hiddenlink" target="rightframe">SYNC_OBSERVER_TYPE_ACTIVE</A>
+</nobr><br>
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.SYNC_OBSERVER_TYPE_PENDING" class="hiddenlink" target="rightframe">SYNC_OBSERVER_TYPE_PENDING</A>
+</nobr><br>
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.SYNC_OBSERVER_TYPE_SETTINGS" class="hiddenlink" target="rightframe">SYNC_OBSERVER_TYPE_SETTINGS</A>
+</nobr><br>
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<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="#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="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</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">
+<nobr><A HREF="android.R.attr.html#android.R.attr.tabStripEnabled" class="hiddenlink" target="rightframe">tabStripEnabled</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.tabStripLeft" class="hiddenlink" target="rightframe">tabStripLeft</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.tabStripRight" class="hiddenlink" target="rightframe">tabStripRight</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_FOCAL_LENGTH" class="hiddenlink" target="rightframe">TAG_FOCAL_LENGTH</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_DATESTAMP" class="hiddenlink" target="rightframe">TAG_GPS_DATESTAMP</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_PROCESSING_METHOD" class="hiddenlink" target="rightframe">TAG_GPS_PROCESSING_METHOD</A>
+</nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.TAG_GPS_TIMESTAMP" class="hiddenlink" target="rightframe">TAG_GPS_TIMESTAMP</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.TTS_ENABLED_PLUGINS" class="hiddenlink" target="rightframe">TTS_ENABLED_PLUGINS</A>
+</nobr><br>
+<nobr><A HREF="org.w3c.dom.DOMException.html#org.w3c.dom.DOMException.TYPE_MISMATCH_ERR" class="hiddenlink" target="rightframe">TYPE_MISMATCH_ERR</A>
+</nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.TYPE_MOBILE_DUN" class="hiddenlink" target="rightframe">TYPE_MOBILE_DUN</A>
+</nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.TYPE_MOBILE_HIPRI" class="hiddenlink" target="rightframe">TYPE_MOBILE_HIPRI</A>
+</nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.TYPE_MOBILE_MMS" class="hiddenlink" target="rightframe">TYPE_MOBILE_MMS</A>
+</nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.TYPE_MOBILE_SUPL" class="hiddenlink" target="rightframe">TYPE_MOBILE_SUPL</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_ORIENTATION" class="hiddenlink" target="rightframe">TYPE_ORIENTATION</A>
+</nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.TYPE_WIMAX" class="hiddenlink" target="rightframe">TYPE_WIMAX</A>
+</nobr><br>
+<A NAME="U"></A>
+<br><font size="+2">U</font>&nbsp;
+<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="#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="#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="#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">
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.UI_MODE_NIGHT_MASK" class="hiddenlink" target="rightframe">UI_MODE_NIGHT_MASK</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.UI_MODE_NIGHT_NO" class="hiddenlink" target="rightframe">UI_MODE_NIGHT_NO</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.UI_MODE_NIGHT_UNDEFINED" class="hiddenlink" target="rightframe">UI_MODE_NIGHT_UNDEFINED</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.UI_MODE_NIGHT_YES" class="hiddenlink" target="rightframe">UI_MODE_NIGHT_YES</A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.UI_MODE_SERVICE" class="hiddenlink" target="rightframe">UI_MODE_SERVICE</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.UI_MODE_TYPE_CAR" class="hiddenlink" target="rightframe">UI_MODE_TYPE_CAR</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.UI_MODE_TYPE_DESK" class="hiddenlink" target="rightframe">UI_MODE_TYPE_DESK</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.UI_MODE_TYPE_MASK" class="hiddenlink" target="rightframe">UI_MODE_TYPE_MASK</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.UI_MODE_TYPE_NORMAL" class="hiddenlink" target="rightframe">UI_MODE_TYPE_NORMAL</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.UI_MODE_TYPE_UNDEFINED" class="hiddenlink" target="rightframe">UI_MODE_TYPE_UNDEFINED</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.uiMode" class="hiddenlink" target="rightframe">uiMode</A>
+</nobr><br>
+<nobr><A HREF="android.os.Build.html#android.os.Build.UNKNOWN" class="hiddenlink" target="rightframe">UNKNOWN</A>
+</nobr><br>
+<nobr><A HREF="android.provider.MediaStore.html#android.provider.MediaStore.UNKNOWN_STRING" class="hiddenlink" target="rightframe">UNKNOWN_STRING</A>
+</nobr><br>
+<A NAME="V"></A>
+<br><font size="+2">V</font>&nbsp;
+<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="#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="#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="#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">
+<nobr><A HREF="org.w3c.dom.DOMException.html#org.w3c.dom.DOMException.VALIDATION_ERR" class="hiddenlink" target="rightframe">VALIDATION_ERR</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.vmSafeMode" class="hiddenlink" target="rightframe">vmSafeMode</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.System.html#android.provider.Settings.System.VOLUME_BLUETOOTH_SCO" class="hiddenlink" target="rightframe">VOLUME_BLUETOOTH_SCO</A>
+</nobr><br>
+<A NAME="W"></A>
+<br><font size="+2">W</font>&nbsp;
+<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="#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="#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="#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">
+<nobr><A HREF="android.R.attr.html#android.R.attr.webTextViewStyle" class="hiddenlink" target="rightframe">webTextViewStyle</A>
+</nobr><br>
+<A NAME="Y"></A>
+<br><font size="+2">Y</font>&nbsp;
+<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="#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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.graphics.PixelFormat.html#android.graphics.PixelFormat.YCbCr_420_SP" class="hiddenlink" target="rightframe">YCbCr_420_SP</A>
+</nobr><br>
+<nobr><A HREF="android.graphics.PixelFormat.html#android.graphics.PixelFormat.YCbCr_422_I" class="hiddenlink" target="rightframe">YCbCr_422_I</A>
+</nobr><br>
+<nobr><A HREF="android.graphics.PixelFormat.html#android.graphics.PixelFormat.YCbCr_422_SP" class="hiddenlink" target="rightframe">YCbCr_422_SP</A>
+</nobr><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/fields_index_changes.html b/docs/html/sdk/api_diff/8/changes/fields_index_changes.html
new file mode 100644
index 0000000..b8ca063
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/fields_index_changes.html
@@ -0,0 +1,237 @@
+<!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>
+Field Changes Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Fields" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="fields_index_all.html" class="staysblack">All Fields</a>
+  <br>
+<A HREF="fields_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<A HREF="fields_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<b>Changes</b>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+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>
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</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="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</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">
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_1_DOWN" class="hiddenlink" target="rightframe">ACTION_POINTER_1_DOWN</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_1_UP" class="hiddenlink" target="rightframe">ACTION_POINTER_1_UP</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_2_DOWN" class="hiddenlink" target="rightframe">ACTION_POINTER_2_DOWN</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_2_UP" class="hiddenlink" target="rightframe">ACTION_POINTER_2_UP</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_3_DOWN" class="hiddenlink" target="rightframe">ACTION_POINTER_3_DOWN</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_3_UP" class="hiddenlink" target="rightframe">ACTION_POINTER_3_UP</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_ID_MASK" class="hiddenlink" target="rightframe">ACTION_POINTER_ID_MASK</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_POINTER_ID_SHIFT" class="hiddenlink" target="rightframe">ACTION_POINTER_ID_SHIFT</A>
+</nobr><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</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="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</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">
+<nobr><A HREF="dalvik.system.VMDebug.html#dalvik.system.VMDebug.DEFAULT_METHOD_TRACE_FILE_NAME" class="hiddenlink" target="rightframe">DEFAULT_METHOD_TRACE_FILE_NAME</A>
+</nobr><br>
+<A NAME="F"></A>
+<br><font size="+2">F</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#J"><font size="-2">J</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="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</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">
+<nobr><A HREF="android.view.ViewGroup.LayoutParams.html#android.view.ViewGroup.LayoutParams.FILL_PARENT" class="hiddenlink" target="rightframe">FILL_PARENT</A>
+</nobr><br>
+<A NAME="J"></A>
+<br><font size="+2">J</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#F"><font size="-2">F</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="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</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">
+<nobr><A HREF="android.graphics.PixelFormat.html#android.graphics.PixelFormat.JPEG" class="hiddenlink" target="rightframe">JPEG</A>
+</nobr><br>
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</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">
+<nobr><A HREF="android.provider.Settings.System.html#android.provider.Settings.System.LOCK_PATTERN_ENABLED" class="hiddenlink" target="rightframe">LOCK_PATTERN_ENABLED</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.System.html#android.provider.Settings.System.LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED" class="hiddenlink" target="rightframe">LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.System.html#android.provider.Settings.System.LOCK_PATTERN_VISIBLE" class="hiddenlink" target="rightframe">LOCK_PATTERN_VISIBLE</A>
+</nobr><br>
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</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">
+<nobr><A HREF="android.database.sqlite.SQLiteProgram.html#android.database.sqlite.SQLiteProgram.mDatabase" class="hiddenlink" target="rightframe">mDatabase</A>
+</nobr><br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</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">
+<nobr><A HREF="android.database.sqlite.SQLiteProgram.html#android.database.sqlite.SQLiteProgram.nHandle" class="hiddenlink" target="rightframe">nHandle</A>
+</nobr><br>
+<nobr><A HREF="android.database.sqlite.SQLiteProgram.html#android.database.sqlite.SQLiteProgram.nStatement" class="hiddenlink" target="rightframe">nStatement</A>
+</nobr><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</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="#T"><font size="-2">T</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">
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.RESTART_PACKAGES" class="hiddenlink" target="rightframe">RESTART_PACKAGES</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.restoreNeedsApplication" class="hiddenlink" target="rightframe">restoreNeedsApplication</A>
+</nobr><br>
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</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="#R"><font size="-2">R</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">
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_ORIENTATION" class="hiddenlink" target="rightframe">TYPE_ORIENTATION</A>
+</nobr><br>
+<A NAME="Y"></A>
+<br><font size="+2">Y</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#J"><font size="-2">J</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="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.graphics.PixelFormat.html#android.graphics.PixelFormat.YCbCr_420_SP" class="hiddenlink" target="rightframe">YCbCr_420_SP</A>
+</nobr><br>
+<nobr><A HREF="android.graphics.PixelFormat.html#android.graphics.PixelFormat.YCbCr_422_I" class="hiddenlink" target="rightframe">YCbCr_422_I</A>
+</nobr><br>
+<nobr><A HREF="android.graphics.PixelFormat.html#android.graphics.PixelFormat.YCbCr_422_SP" class="hiddenlink" target="rightframe">YCbCr_422_SP</A>
+</nobr><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/fields_index_removals.html b/docs/html/sdk/api_diff/8/changes/fields_index_removals.html
new file mode 100644
index 0000000..b7b9304
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/fields_index_removals.html
@@ -0,0 +1,137 @@
+<!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>
+Field Removals Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Fields" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="fields_index_all.html" class="staysblack">All Fields</a>
+  <br>
+<b>Removals</b>
+  <br>
+<A HREF="fields_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<A HREF="fields_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+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>
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.webkit.JsResult.html#android.webkit.JsResult.mProxy" class="hiddenlink" target="rightframe"><strike>mProxy</strike></A>
+</nobr><br>
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_3e" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_3e</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_3f" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_3f</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_40" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_40</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_41" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_41</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_42" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_42</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_43" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_43</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_73" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_73</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_79" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_79</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_7A" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_7A</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_E3" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_E3</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_E4" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_E4</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_E5" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_E5</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_E6" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_E6</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_E7" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_E7</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_E8" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_E8</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_E9" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_E9</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_EA" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_EA</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_EB" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_EB</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_EC" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_EC</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_ED" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_ED</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_EF" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_EF</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_F1" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_F1</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_FC" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_FC</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_FD" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_FD</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_FE" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_FE</strike></A>
+</nobr><br>
+<nobr><A HREF="dalvik.bytecode.Opcodes.html#dalvik.bytecode.Opcodes.OP_UNUSED_FF" class="hiddenlink" target="rightframe"><strike>OP_UNUSED_FF</strike></A>
+</nobr><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#O"><font size="-2">O</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.pm.PackageManager.html#android.content.pm.PackageManager.PKG_INSTALL_COMPLETE" class="hiddenlink" target="rightframe"><strike>PKG_INSTALL_COMPLETE</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.PKG_INSTALL_INCOMPLETE" class="hiddenlink" target="rightframe"><strike>PKG_INSTALL_INCOMPLETE</strike></A>
+</nobr><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/java.net.DatagramSocketImpl.html b/docs/html/sdk/api_diff/8/changes/java.net.DatagramSocketImpl.html
new file mode 100644
index 0000000..f2797c2
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/java.net.DatagramSocketImpl.html
@@ -0,0 +1,129 @@
+<!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>
+java.net.DatagramSocketImpl
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.net.<A HREF="../../../../reference/java/net/DatagramSocketImpl.html" target="_top"><font size="+2"><code>DatagramSocketImpl</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="java.net.DatagramSocketImpl.getOption_removed(int)"></A>
+  <nobr><code>Object</code>&nbsp;getOption(<code>int</code>)</nobr>
+  </TD>
+  <TD VALIGN="TOP">This method stub was removed from the DatagramSocketImpl abstract class, but subclasses still inherit the method from the <a href="../../../../reference/java/net/SocketOptions.html">SocketOptions</a> superclass.</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.net.DatagramSocketImpl.setOption_removed(int, java.lang.Object)"></A>
+  <nobr><code>void</code>&nbsp;setOption(<code>int,</nobr> Object<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD VALIGN="TOP">This method stub was removed from the DatagramSocketImpl abstract class, but subclasses still inherit the method from the <a href="../../../../reference/java/net/SocketOptions.html">SocketOptions</a> superclass.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/java.nio.charset.Charset.html b/docs/html/sdk/api_diff/8/changes/java.nio.charset.Charset.html
new file mode 100644
index 0000000..00459bb
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/java.nio.charset.Charset.html
@@ -0,0 +1,135 @@
+<!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>
+java.nio.charset.Charset
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.nio.charset.<A HREF="../../../../reference/java/nio/charset/Charset.html" target="_top"><font size="+2"><code>Charset</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.nio.charset.Charset.forName_changed(java.lang.String)"></A>
+  <nobr><code>Charset</code>&nbsp;<A HREF="../../../../reference/java/nio/charset/Charset.html#forName(java.lang.String)" target="_top"><code>forName</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from (<code>java.nio.charset.IllegalCharsetNameException, java.nio.charset.UnsupportedCharsetException</code>) to no exceptions.<br>
+  </TD>
+  <TD VALIGN="TOP">The unchecked exceptions <code>java.nio.charset.IllegalCharsetNameException</code> and <code>java.nio.charset.UnsupportedCharsetExceptionare</code> are still thrown by this method but the exceptions were removed from the formal API specification.</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.nio.charset.Charset.isSupported_changed(java.lang.String)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/nio/charset/Charset.html#isSupported(java.lang.String)" target="_top"><code>isSupported</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.nio.charset.IllegalCharsetNameException</code> to no exceptions.<br>
+  </TD>
+  <TD VALIGN="TOP">The unchecked exception <code>java.nio.charset.IllegalCharsetNameException</code> is still thrown by this method but the exception was removed from the formal API specification.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/java.util.ArrayList.html b/docs/html/sdk/api_diff/8/changes/java.util.ArrayList.html
new file mode 100644
index 0000000..57a6f01
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/java.util.ArrayList.html
@@ -0,0 +1,108 @@
+<!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>
+java.util.ArrayList
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/ArrayList.html" target="_top"><font size="+2"><code>ArrayList</code></font></A>
+</H2>
+<p><font xsize="+1">Removed interface <code>java.util.List</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/java.util.HashMap.html b/docs/html/sdk/api_diff/8/changes/java.util.HashMap.html
new file mode 100644
index 0000000..f80f209
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/java.util.HashMap.html
@@ -0,0 +1,108 @@
+<!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>
+java.util.HashMap
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/HashMap.html" target="_top"><font size="+2"><code>HashMap</code></font></A>
+</H2>
+<p><font xsize="+1">Removed interface <code>java.util.Map</code>.<br></font>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/java.util.regex.Matcher.html b/docs/html/sdk/api_diff/8/changes/java.util.regex.Matcher.html
new file mode 100644
index 0000000..cde54ef
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/java.util.regex.Matcher.html
@@ -0,0 +1,135 @@
+<!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>
+java.util.regex.Matcher
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.regex.<A HREF="../../../../reference/java/util/regex/Matcher.html" target="_top"><font size="+2"><code>Matcher</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.regex.Matcher.appendReplacement_changed(java.lang.StringBuffer, java.lang.String)"></A>
+  <nobr><code>Matcher</code>&nbsp;<A HREF="../../../../reference/java/util/regex/Matcher.html#appendReplacement(java.lang.StringBuffer, java.lang.String)" target="_top"><code>appendReplacement</code></A>(<code>StringBuffer,</nobr> String<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.lang.IllegalStateException</code> to no exceptions.<br>
+  </TD>
+  <TD VALIGN="TOP">The unchecked exception <code>java.lang.IllegalStateException</code> is still thrown by this method but the exception was removed from the formal API specification.</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.regex.Matcher.start_changed()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/util/regex/Matcher.html#start()" target="_top"><code>start</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.lang.IllegalStateException</code> to no exceptions.<br>
+  </TD>
+  <TD VALIGN="TOP">The unchecked exception <code>java.lang.IllegalStateException</code> is still thrown by this method but the exception was removed from the formal API specification.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/java.util.regex.Pattern.html b/docs/html/sdk/api_diff/8/changes/java.util.regex.Pattern.html
new file mode 100644
index 0000000..04ccbc1
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/java.util.regex.Pattern.html
@@ -0,0 +1,125 @@
+<!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>
+java.util.regex.Pattern
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.regex.<A HREF="../../../../reference/java/util/regex/Pattern.html" target="_top"><font size="+2"><code>Pattern</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.regex.Pattern.compile_changed(java.lang.String)"></A>
+  <nobr><code>Pattern</code>&nbsp;<A HREF="../../../../reference/java/util/regex/Pattern.html#compile(java.lang.String)" target="_top"><code>compile</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.util.regex.PatternSyntaxException</code> to no exceptions.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/javax.xml.XMLConstants.html b/docs/html/sdk/api_diff/8/changes/javax.xml.XMLConstants.html
new file mode 100644
index 0000000..5b75dcc
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/javax.xml.XMLConstants.html
@@ -0,0 +1,123 @@
+<!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>
+javax.xml.XMLConstants
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class javax.xml.<A HREF="../../../../reference/javax/xml/XMLConstants.html" target="_top"><font size="+2"><code>XMLConstants</code></font></A>
+</H2>
+<p>Change from non-final to final.<br>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.xml.XMLConstants.ctor_removed()"></A>
+  <nobr>XMLConstants()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/javax.xml.parsers.DocumentBuilder.html b/docs/html/sdk/api_diff/8/changes/javax.xml.parsers.DocumentBuilder.html
new file mode 100644
index 0000000..3b0320e
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/javax.xml.parsers.DocumentBuilder.html
@@ -0,0 +1,140 @@
+<!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>
+javax.xml.parsers.DocumentBuilder
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class javax.xml.parsers.<A HREF="../../../../reference/javax/xml/parsers/DocumentBuilder.html" target="_top"><font size="+2"><code>DocumentBuilder</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.xml.parsers.DocumentBuilder.getSchema_added()"></A>
+  <nobr><code>Schema</code>&nbsp;<A HREF="../../../../reference/javax/xml/parsers/DocumentBuilder.html#getSchema()" target="_top"><code>getSchema</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.xml.parsers.DocumentBuilder.isXIncludeAware_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/javax/xml/parsers/DocumentBuilder.html#isXIncludeAware()" target="_top"><code>isXIncludeAware</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.lang.UnsupportedOperationException</code> to no exceptions.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/javax.xml.parsers.DocumentBuilderFactory.html b/docs/html/sdk/api_diff/8/changes/javax.xml.parsers.DocumentBuilderFactory.html
new file mode 100644
index 0000000..db4f0a3
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/javax.xml.parsers.DocumentBuilderFactory.html
@@ -0,0 +1,147 @@
+<!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>
+javax.xml.parsers.DocumentBuilderFactory
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class javax.xml.parsers.<A HREF="../../../../reference/javax/xml/parsers/DocumentBuilderFactory.html" target="_top"><font size="+2"><code>DocumentBuilderFactory</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.xml.parsers.DocumentBuilderFactory.getSchema_added()"></A>
+  <nobr><code>Schema</code>&nbsp;<A HREF="../../../../reference/javax/xml/parsers/DocumentBuilderFactory.html#getSchema()" target="_top"><code>getSchema</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.xml.parsers.DocumentBuilderFactory.setSchema_added(javax.xml.validation.Schema)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/javax/xml/parsers/DocumentBuilderFactory.html#setSchema(javax.xml.validation.Schema)" target="_top"><code>setSchema</code></A>(<code>Schema</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.xml.parsers.DocumentBuilderFactory.newInstance_changed()"></A>
+  <nobr><code>DocumentBuilderFactory</code>&nbsp;<A HREF="../../../../reference/javax/xml/parsers/DocumentBuilderFactory.html#newInstance()" target="_top"><code>newInstance</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>javax.xml.parsers.FactoryConfigurationError</code> to no exceptions.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/javax.xml.parsers.SAXParser.html b/docs/html/sdk/api_diff/8/changes/javax.xml.parsers.SAXParser.html
new file mode 100644
index 0000000..48cb76d
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/javax.xml.parsers.SAXParser.html
@@ -0,0 +1,140 @@
+<!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>
+javax.xml.parsers.SAXParser
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class javax.xml.parsers.<A HREF="../../../../reference/javax/xml/parsers/SAXParser.html" target="_top"><font size="+2"><code>SAXParser</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.xml.parsers.SAXParser.getSchema_added()"></A>
+  <nobr><code>Schema</code>&nbsp;<A HREF="../../../../reference/javax/xml/parsers/SAXParser.html#getSchema()" target="_top"><code>getSchema</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.xml.parsers.SAXParser.isXIncludeAware_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/javax/xml/parsers/SAXParser.html#isXIncludeAware()" target="_top"><code>isXIncludeAware</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.lang.UnsupportedOperationException</code> to no exceptions.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/javax.xml.parsers.SAXParserFactory.html b/docs/html/sdk/api_diff/8/changes/javax.xml.parsers.SAXParserFactory.html
new file mode 100644
index 0000000..f36f63f
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/javax.xml.parsers.SAXParserFactory.html
@@ -0,0 +1,147 @@
+<!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>
+javax.xml.parsers.SAXParserFactory
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class javax.xml.parsers.<A HREF="../../../../reference/javax/xml/parsers/SAXParserFactory.html" target="_top"><font size="+2"><code>SAXParserFactory</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.xml.parsers.SAXParserFactory.getSchema_added()"></A>
+  <nobr><code>Schema</code>&nbsp;<A HREF="../../../../reference/javax/xml/parsers/SAXParserFactory.html#getSchema()" target="_top"><code>getSchema</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.xml.parsers.SAXParserFactory.setSchema_added(javax.xml.validation.Schema)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/javax/xml/parsers/SAXParserFactory.html#setSchema(javax.xml.validation.Schema)" target="_top"><code>setSchema</code></A>(<code>Schema</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.xml.parsers.SAXParserFactory.newInstance_changed()"></A>
+  <nobr><code>SAXParserFactory</code>&nbsp;<A HREF="../../../../reference/javax/xml/parsers/SAXParserFactory.html#newInstance()" target="_top"><code>newInstance</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>javax.xml.parsers.FactoryConfigurationError</code> to no exceptions.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/jdiff_help.html b/docs/html/sdk/api_diff/8/changes/jdiff_help.html
new file mode 100644
index 0000000..5dfacec
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/jdiff_help.html
@@ -0,0 +1,134 @@
+<!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>
+JDiff Help
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<TABLE summary="Navigation bar" BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+  <TABLE summary="Navigation bar" BORDER="0" CELLPADDING="0" CELLSPACING="3">
+    <TR ALIGN="center" VALIGN="top">
+      <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../reference/index.html" target="_top"><FONT CLASS="NavBarFont1"><B><code>8</code></B></FONT></A>&nbsp;</TD>
+      <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="changes-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+      <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> &nbsp;<FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+      <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1"> &nbsp;<FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+      <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="jdiff_statistics.html"><FONT CLASS="NavBarFont1"><B>Statistics</B></FONT></A>&nbsp;</TD>
+      <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT>&nbsp;</TD>
+    </TR>
+  </TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM><b>Generated by<br><a href="http://www.jdiff.org" class="staysblack" target="_top">JDiff</a></b></EM></TD>
+</TR>
+<TR>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell2"><FONT SIZE="-2"></FONT>
+</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../changes.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
+  &nbsp;<A HREF="jdiff_help.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
+</TR>
+</TABLE>
+<HR>
+<!-- End of nav bar -->
+<center>
+<H1>JDiff Documentation</H1>
+</center>
+<BLOCKQUOTE>
+JDiff is a <a href="http://java.sun.com/j2se/javadoc/" target="_top">Javadoc</a> doclet which generates a report of the API differences between two versions of a product. It does not report changes in Javadoc comments, or changes in what a class or method does. 
+This help page describes the different parts of the output from JDiff.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+ See the reference page in the <a href="http://www.jdiff.org">source for JDiff</a> for information about how to generate a report like this one.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+The indexes shown in the top-left frame help show each type of change in more detail. The index "All Differences" contains all the differences between the APIs, in alphabetical order. 
+These indexes all use the same format:
+<ul>
+<li>Removed packages, classes, constructors, methods and fields are <strike>struck through</strike>.</li>
+<li>Added packages, classes, constructors, methods and fields appear in <b>bold</b>.</li>
+<li>Changed packages, classes, constructors, methods and fields appear in normal text.</li>
+</ul>
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+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 <code>typewriter</code> font. 
+Just like Javadoc, all interface names are in <i>italic</i>, 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.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3><b><code>Javadoc</code></b></H3>
+This is a link to the <a href="../../../../reference/index.html" target="_top">top-level</a> Javadoc page for the new version of the product.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3>Overview</H3>
+The <a href="changes-summary.html">overview</a> is the top-level summary of what was removed, added and changed between versions.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3>Package</H3>
+This is a link to the package containing the current changed class or interface.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3>Class</H3>
+This is highlighted when you are looking at the changed class or interface.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3>Text Changes</H3>
+This is a link to the top-level index of all documentation changes for the current package or class. 
+If it is not present, then there are no documentation changes for the current package or class. 
+This link can be removed entirely by not using the <code>-docchanges</code> option.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3>Statistics</H3>
+This is a link to a page which shows statistics about the changes between the two APIs.
+This link can be removed entirely by not using the <code>-stats</code> option.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3>Help</H3>
+A link to this Help page for JDiff.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3>Prev/Next</H3>
+These links take you to the previous  and next changed package or class.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H3>Frames/No Frames</H3>
+These links show and hide the HTML frames. All pages are available with or without frames.
+</BLOCKQUOTE>
+<BLOCKQUOTE>
+<H2>Complex Changes</H2>
+There are some complex changes which can occur between versions, for example, when two or more methods with the same name change simultaneously, or when a method or field is moved into or from a superclass. 
+In these cases, the change will be seen as a removal and an addition, rather than as a change. Unexpected removals or additions are often part of one of these type of changes. 
+</BLOCKQUOTE>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/jdiff_statistics.html b/docs/html/sdk/api_diff/8/changes/jdiff_statistics.html
new file mode 100644
index 0000000..d0eb78b
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/jdiff_statistics.html
@@ -0,0 +1,963 @@
+<!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>
+API Change Statistics
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<body class="gc-documentation">
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;xborder-bottom:none;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="../changes.html" target="_top">Top of Report</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<h1>API&nbsp;Change&nbsp;Statistics</h1>
+<p>The overall difference between API Levels 7 and 8 is approximately <span style="color:222;font-weight:bold;">5.7%</span>.
+</p>
+<br>
+<a name="numbers"></a>
+<h2>Total of Differences, by Number and Type</h2>
+<p>
+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 &mdash; 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.
+</p>
+<TABLE summary="Number of differences" WIDTH="100%">
+<TR>
+  <th>Type</th>
+  <TH ALIGN="center"><b>Additions</b></TH>
+  <TH ALIGN="center"><b>Changes</b></TH>
+  <TH ALIGN="center">Removals</TH>
+  <TH ALIGN="center"><b>Total</b></TH>
+</TR>
+<TR>
+  <TD>Packages</TD>
+  <TD ALIGN="right">11</TD>
+  <TD ALIGN="right">40</TD>
+  <TD ALIGN="right">0</TD>
+  <TD ALIGN="right">51</TD>
+</TR>
+<TR>
+  <TD>Classes and <i>Interfaces</i></TD>
+  <TD ALIGN="right">60</TD>
+  <TD ALIGN="right">122</TD>
+  <TD ALIGN="right">0</TD>
+  <TD ALIGN="right">182</TD>
+</TR>
+<TR>
+  <TD>Constructors</TD>
+  <TD ALIGN="right">3</TD>
+  <TD ALIGN="right">3</TD>
+  <TD ALIGN="right">1</TD>
+  <TD ALIGN="right">7</TD>
+</TR>
+<TR>
+  <TD>Methods</TD>
+  <TD ALIGN="right">206</TD>
+  <TD ALIGN="right">37</TD>
+  <TD ALIGN="right">3</TD>
+  <TD ALIGN="right">246</TD>
+</TR>
+<TR>
+  <TD>Fields</TD>
+  <TD ALIGN="right">195</TD>
+  <TD ALIGN="right">23</TD>
+  <TD ALIGN="right">29</TD>
+  <TD ALIGN="right">247</TD>
+</TR>
+<TR>
+  <TD style="background-color:#FAFAFA"><b>Total</b></TD>
+  <TD  style="background-color:#FAFAFA" ALIGN="right"><strong>475</strong></TD>
+  <TD  style="background-color:#FAFAFA" ALIGN="right"><strong>225</strong></TD>
+  <TD  style="background-color:#FAFAFA" ALIGN="right"><strong>33</strong></TD>
+  <TD  style="background-color:#FAFAFA" ALIGN="right"><strong>733</strong></TD>
+</TR>
+</TABLE>
+<br>
+<a name="packages"></a>
+<h2>Changed Packages, Sorted by Percentage Difference</h2>
+<TABLE summary="Packages sorted by percentage difference" WIDTH="100%">
+<TR>
+  <TH  WIDTH="10%">Percentage Difference*</TH>
+  <TH>Package</TH>
+</TR>
+<TR>
+  <TD ALIGN="center">75</TD>
+  <TD><A HREF="pkg_android.speech.html">android.speech</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">45</TD>
+  <TD><A HREF="pkg_android.net.http.html">android.net.http</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">30</TD>
+  <TD><A HREF="pkg_org.w3c.dom.html">org.w3c.dom</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">14</TD>
+  <TD><A HREF="pkg_android.test.mock.html">android.test.mock</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="pkg_android.opengl.html">android.opengl</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="pkg_android.util.html">android.util</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="pkg_android.media.html">android.media</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="pkg_android.content.html">android.content</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="pkg_android.net.html">android.net</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="pkg_dalvik.bytecode.html">dalvik.bytecode</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="pkg_android.gesture.html">android.gesture</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="pkg_android.hardware.html">android.hardware</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="pkg_javax.xml.parsers.html">javax.xml.parsers</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="pkg_android.os.html">android.os</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="pkg_android.webkit.html">android.webkit</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="pkg_javax.xml.html">javax.xml</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="pkg_android.speech.tts.html">android.speech.tts</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="pkg_android.view.html">android.view</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="pkg_android.app.html">android.app</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="pkg_java.util.regex.html">java.util.regex</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="pkg_android.text.util.html">android.text.util</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="pkg_android.graphics.html">android.graphics</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="pkg_android.provider.html">android.provider</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="pkg_android.text.style.html">android.text.style</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="pkg_android.test.html">android.test</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="pkg_android.database.sqlite.html">android.database.sqlite</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="pkg_dalvik.system.html">dalvik.system</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="pkg_android.text.html">android.text</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="pkg_android.content.pm.html">android.content.pm</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.content.res.html">android.content.res</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.widget.html">android.widget</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_java.nio.charset.html">java.nio.charset</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.html">android</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.database.html">android.database</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_java.util.html">java.util</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.location.html">android.location</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_java.net.html">java.net</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.accounts.html">android.accounts</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.telephony.html">android.telephony</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.view.animation.html">android.view.animation</A></TD>
+</TR>
+</TABLE>
+<p style="font-size:10px">* See <a href="#calculation">Calculation of Change Percentages</a>, below.</p>
+<br>
+<a name="classes"></a>
+<h2>Changed Classes and <i>Interfaces</i>, Sorted by Percentage Difference</h2>
+<TABLE summary="Classes sorted by percentage difference" WIDTH="100%">
+<TR WIDTH="20%">
+  <TH WIDTH="10%">Percentage<br>Difference*</TH>
+  <TH><b>Class or <i>Interface</i></b></TH>
+</TR>
+<TR>
+  <TD ALIGN="center">60</TD>
+  <TD><A HREF="android.provider.Contacts.PresenceColumns.html">
+<i>android.provider.Contacts.PresenceColumns</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">60</TD>
+  <TD><A HREF="org.w3c.dom.Text.html">
+<i>org.w3c.dom.Text</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="android.text.AndroidCharacter.html">
+android.text.AndroidCharacter</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">40</TD>
+  <TD><A HREF="android.provider.ContactsContract.StatusColumns.html">
+<i>android.provider.ContactsContract.StatusColumns</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">36</TD>
+  <TD><A HREF="android.net.http.SslCertificate.html">
+android.net.http.SslCertificate</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">33</TD>
+  <TD><A HREF="android.test.ActivityInstrumentationTestCase2.html">
+android.test.ActivityInstrumentationTestCase2</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">33</TD>
+  <TD><A HREF="org.w3c.dom.Entity.html">
+<i>org.w3c.dom.Entity</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">29</TD>
+  <TD><A HREF="org.w3c.dom.Document.html">
+<i>org.w3c.dom.Document</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="android.speech.RecognizerIntent.html">
+android.speech.RecognizerIntent</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="android.media.MediaScannerConnection.MediaScannerConnectionClient.html">
+<i>android.media.MediaScannerConnection.MediaScannerConnectionClient</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="android.os.Environment.html">
+android.os.Environment</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">22</TD>
+  <TD><A HREF="org.w3c.dom.Element.html">
+<i>org.w3c.dom.Element</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">21</TD>
+  <TD><A HREF="android.widget.TabWidget.html">
+android.widget.TabWidget</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">19</TD>
+  <TD><A HREF="org.w3c.dom.Node.html">
+<i>org.w3c.dom.Node</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">19</TD>
+  <TD><A HREF="android.net.SSLCertificateSocketFactory.html">
+android.net.SSLCertificateSocketFactory</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="org.w3c.dom.Attr.html">
+<i>org.w3c.dom.Attr</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="android.hardware.Camera.html">
+android.hardware.Camera</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">15</TD>
+  <TD><A HREF="android.widget.BaseExpandableListAdapter.html">
+android.widget.BaseExpandableListAdapter</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">15</TD>
+  <TD><A HREF="android.database.sqlite.SQLiteProgram.html">
+android.database.sqlite.SQLiteProgram</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">15</TD>
+  <TD><A HREF="android.provider.MediaStore.html">
+android.provider.MediaStore</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">14</TD>
+  <TD><A HREF="android.webkit.CacheManager.html">
+android.webkit.CacheManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">14</TD>
+  <TD><A HREF="org.w3c.dom.DOMImplementation.html">
+<i>org.w3c.dom.DOMImplementation</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">13</TD>
+  <TD><A HREF="android.os.Build.html">
+android.os.Build</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="android.util.EventLogTags.html">
+android.util.EventLogTags</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="javax.xml.parsers.SAXParserFactory.html">
+javax.xml.parsers.SAXParserFactory</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="android.view.Display.html">
+android.view.Display</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="android.app.ActivityManager.html">
+android.app.ActivityManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="android.gesture.GesturePoint.html">
+android.gesture.GesturePoint</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="android.provider.ContactsContract.Groups.html">
+android.provider.ContactsContract.Groups</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="android.view.HapticFeedbackConstants.html">
+android.view.HapticFeedbackConstants</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="android.view.VelocityTracker.html">
+android.view.VelocityTracker</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="android.webkit.JsResult.html">
+android.webkit.JsResult</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="android.net.ConnectivityManager.html">
+android.net.ConnectivityManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="android.view.ViewGroup.LayoutParams.html">
+android.view.ViewGroup.LayoutParams</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="android.media.AudioManager.html">
+android.media.AudioManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="android.content.ContentResolver.html">
+android.content.ContentResolver</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="android.content.res.Configuration.html">
+android.content.res.Configuration</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="android.content.AbstractThreadedSyncAdapter.html">
+android.content.AbstractThreadedSyncAdapter</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="android.media.SoundPool.html">
+android.media.SoundPool</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="android.text.util.Rfc822Tokenizer.html">
+android.text.util.Rfc822Tokenizer</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="android.view.MotionEvent.html">
+android.view.MotionEvent</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="android.app.SearchManager.html">
+android.app.SearchManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="android.graphics.PixelFormat.html">
+android.graphics.PixelFormat</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="android.speech.tts.TextToSpeech.Engine.html">
+android.speech.tts.TextToSpeech.Engine</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="android.hardware.Camera.Parameters.html">
+android.hardware.Camera.Parameters</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="android.media.MediaRecorder.html">
+android.media.MediaRecorder</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="java.util.HashMap.html">
+java.util.HashMap</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="android.content.pm.ApplicationInfo.html">
+android.content.pm.ApplicationInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="android.database.DatabaseUtils.html">
+android.database.DatabaseUtils</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="dalvik.system.VMDebug.html">
+dalvik.system.VMDebug</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="android.content.pm.PackageManager.html">
+android.content.pm.PackageManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="android.media.ExifInterface.html">
+android.media.ExifInterface</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="android.database.sqlite.SQLiteDatabase.html">
+android.database.sqlite.SQLiteDatabase</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="android.util.Log.html">
+android.util.Log</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="javax.xml.parsers.DocumentBuilder.html">
+javax.xml.parsers.DocumentBuilder</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="javax.xml.parsers.DocumentBuilderFactory.html">
+javax.xml.parsers.DocumentBuilderFactory</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="android.media.MediaScannerConnection.html">
+android.media.MediaScannerConnection</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="android.provider.Settings.html">
+android.provider.Settings</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="android.webkit.WebChromeClient.html">
+android.webkit.WebChromeClient</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="android.provider.MediaStore.Video.Thumbnails.html">
+android.provider.MediaStore.Video.Thumbnails</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="java.util.ArrayList.html">
+java.util.ArrayList</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="org.w3c.dom.NamedNodeMap.html">
+<i>org.w3c.dom.NamedNodeMap</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="dalvik.bytecode.Opcodes.html">
+<i>dalvik.bytecode.Opcodes</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.content.pm.ComponentInfo.html">
+android.content.pm.ComponentInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.gesture.GestureStroke.html">
+android.gesture.GestureStroke</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.provider.ContactsContract.RawContacts.html">
+android.provider.ContactsContract.RawContacts</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.provider.MediaStore.Audio.AudioColumns.html">
+<i>android.provider.MediaStore.Audio.AudioColumns</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.provider.MediaStore.Audio.Playlists.Members.html">
+android.provider.MediaStore.Audio.Playlists.Members</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.view.GestureDetector.html">
+android.view.GestureDetector</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="dalvik.system.Zygote.html">
+dalvik.system.Zygote</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="java.util.regex.Pattern.html">
+java.util.regex.Pattern</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="org.w3c.dom.DOMException.html">
+org.w3c.dom.DOMException</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.provider.Settings.Secure.html">
+android.provider.Settings.Secure</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.os.Build.VERSION_CODES.html">
+android.os.Build.VERSION_CODES</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="javax.xml.parsers.SAXParser.html">
+javax.xml.parsers.SAXParser</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.speech.tts.TextToSpeech.html">
+android.speech.tts.TextToSpeech</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.provider.MediaStore.Images.Thumbnails.html">
+android.provider.MediaStore.Images.Thumbnails</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="java.util.regex.Matcher.html">
+java.util.regex.Matcher</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.os.PowerManager.html">
+android.os.PowerManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="java.nio.charset.Charset.html">
+java.nio.charset.Charset</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.widget.VideoView.html">
+android.widget.VideoView</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="java.net.DatagramSocketImpl.html">
+java.net.DatagramSocketImpl</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="javax.xml.XMLConstants.html">
+javax.xml.XMLConstants</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.os.Debug.html">
+android.os.Debug</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.R.anim.html">
+android.R.anim</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.content.Context.html">
+android.content.Context</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.webkit.WebViewClient.html">
+android.webkit.WebViewClient</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.app.AlarmManager.html">
+android.app.AlarmManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.webkit.WebSettings.html">
+android.webkit.WebSettings</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.hardware.Sensor.html">
+android.hardware.Sensor</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.app.ActivityManager.ProcessErrorStateInfo.html">
+android.app.ActivityManager.ProcessErrorStateInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.gesture.Gesture.html">
+android.gesture.Gesture</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.provider.Settings.System.html">
+android.provider.Settings.System</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.content.ComponentName.html">
+android.content.ComponentName</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.opengl.Matrix.html">
+android.opengl.Matrix</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.provider.CallLog.Calls.html">
+android.provider.CallLog.Calls</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.widget.AbsListView.html">
+android.widget.AbsListView</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.widget.ListView.html">
+android.widget.ListView</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.content.SyncResult.html">
+android.content.SyncResult</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.test.mock.MockPackageManager.html">
+android.test.mock.MockPackageManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.webkit.WebView.html">
+android.webkit.WebView</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.app.Activity.html">
+android.app.Activity</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.os.Bundle.html">
+android.os.Bundle</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.Manifest.permission.html">
+android.Manifest.permission</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.view.WindowManager.LayoutParams.html">
+android.view.WindowManager.LayoutParams</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.widget.ImageView.html">
+android.widget.ImageView</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.opengl.GLSurfaceView.html">
+android.opengl.GLSurfaceView</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.content.Intent.html">
+android.content.Intent</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.view.ViewConfiguration.html">
+android.view.ViewConfiguration</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.provider.Browser.html">
+android.provider.Browser</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.widget.RemoteViews.html">
+android.widget.RemoteViews</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.location.LocationManager.html">
+android.location.LocationManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.test.mock.MockContext.html">
+android.test.mock.MockContext</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.content.ContextWrapper.html">
+android.content.ContextWrapper</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.R.id.html">
+android.R.id</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.content.pm.ActivityInfo.html">
+android.content.pm.ActivityInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.accounts.AccountManager.html">
+android.accounts.AccountManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.view.animation.Animation.html">
+android.view.animation.Animation</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.view.View.html">
+android.view.View</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.telephony.TelephonyManager.html">
+android.telephony.TelephonyManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.app.Dialog.html">
+android.app.Dialog</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.R.attr.html">
+android.R.attr</A></TD>
+</TR>
+</TABLE>
+<p style="font-size:10px">* See <a href="#calculation">Calculation of Change Percentages</a>, below.</p>
+<br>
+<h2 id="calculation">Calculation of Change Percentages</h2>
+<p>
+The percent change statistic reported for all elements in the &quot;to&quot; API Level specification is defined recursively as follows:</p>
+<pre>
+Percentage difference = 100 * (added + removed + 2*changed)
+                        -----------------------------------
+                        sum of public elements in BOTH APIs
+</pre>
+<p>where <code>added</code> is the number of packages added, <code>removed</code> is the number of packages removed, and <code>changed</code> 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%.</p>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY></HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/jdiff_topleftframe.html b/docs/html/sdk/api_diff/8/changes/jdiff_topleftframe.html
new file mode 100644
index 0000000..36f9836
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/jdiff_topleftframe.html
@@ -0,0 +1,63 @@
+<!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 API Version Differences
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<table class="jdiffIndex" summary="Links to diff index files" BORDER="0" WIDTH="100%" cellspacing="0" cellpadding="0" style="margin:0">
+<TR>
+  <th class="indexHeader" nowrap>
+  Select a Diffs Index:</th>
+</TR>
+<TR>
+  <TD><FONT CLASS="indexText" size="-2"><A HREF="alldiffs_index_all.html" TARGET="bottomleftframe">All Differences</A></FONT><br></TD>
+</TR>
+<TR>
+  <TD NOWRAP><FONT CLASS="indexText" size="-2"><A HREF="packages_index_all.html" TARGET="bottomleftframe">By Package</A></FONT><br></TD>
+</TR>
+<TR>
+  <TD NOWRAP><FONT CLASS="indexText" size="-2"><A HREF="classes_index_all.html" TARGET="bottomleftframe">By Class</A></FONT><br></TD>
+</TR>
+<TR>
+  <TD NOWRAP><FONT CLASS="indexText" size="-2"><A HREF="constructors_index_all.html" TARGET="bottomleftframe">By Constructor</A></FONT><br></TD>
+</TR>
+<TR>
+  <TD NOWRAP><FONT CLASS="indexText" size="-2"><A HREF="methods_index_all.html" TARGET="bottomleftframe">By Method</A></FONT><br></TD>
+</TR>
+<TR>
+  <TD NOWRAP><FONT CLASS="indexText" size="-2"><A HREF="fields_index_all.html" TARGET="bottomleftframe">By Field</A></FONT><br></TD>
+</TR>
+</TABLE>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/methods_index_additions.html b/docs/html/sdk/api_diff/8/changes/methods_index_additions.html
new file mode 100644
index 0000000..822c43b
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/methods_index_additions.html
@@ -0,0 +1,916 @@
+<!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>
+Method Additions Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Methods" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="methods_index_all.html" class="staysblack">All Methods</a>
+  <br>
+<A HREF="methods_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<b>Additions</b>
+  <br>
+<A HREF="methods_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+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>
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<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="#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="#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="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.abandonAudioFocus_added(android.media.AudioManager.OnAudioFocusChangeListener)" class="hiddenlink" target="rightframe"><b>abandonAudioFocus</b>
+(<code>OnAudioFocusChangeListener</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.addCallbackBuffer_added(byte[])" class="hiddenlink" target="rightframe"><b>addCallbackBuffer</b>
+(<code>byte[]</code>)</A></nobr><br>
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.addPeriodicSync_added(android.accounts.Account, java.lang.String, android.os.Bundle, long)" class="hiddenlink" target="rightframe"><b>addPeriodicSync</b>
+(<code>Account, String, Bundle, long</code>)</A></nobr><br>
+<i>addPermissionAsync</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.addPermissionAsync_added(android.content.pm.PermissionInfo)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>PermissionInfo</code>)</b>&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.addPermissionAsync_added(android.content.pm.PermissionInfo)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>PermissionInfo</code>)</b>&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.adoptNode_added(org.w3c.dom.Node)" class="hiddenlink" target="rightframe"><b>adoptNode</b>
+(<code>Node</code>)</A></nobr><br>
+<nobr><A HREF="android.speech.tts.TextToSpeech.html#android.speech.tts.TextToSpeech.areDefaultsEnforced_added()" class="hiddenlink" target="rightframe"><b>areDefaultsEnforced</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.SoundPool.html#android.media.SoundPool.autoPause_added()" class="hiddenlink" target="rightframe"><b>autoPause</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.SoundPool.html#android.media.SoundPool.autoResume_added()" class="hiddenlink" target="rightframe"><b>autoResume</b>
+()</A></nobr><br>
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</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="#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="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.animation.Animation.html#android.view.animation.Animation.cancel_added()" class="hiddenlink" target="rightframe"><b>cancel</b>
+()</A></nobr><br>
+<i>cancelThumbnailRequest</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.MediaStore.Images.Thumbnails.html#android.provider.MediaStore.Images.Thumbnails.cancelThumbnailRequest_added(android.content.ContentResolver, long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>ContentResolver, long, long</code>)</b>&nbsp;in&nbsp;android.provider.MediaStore.Images.Thumbnails
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.MediaStore.Video.Thumbnails.html#android.provider.MediaStore.Video.Thumbnails.cancelThumbnailRequest_added(android.content.ContentResolver, long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>ContentResolver, long, long</code>)</b>&nbsp;in&nbsp;android.provider.MediaStore.Video.Thumbnails
+</A></nobr><br>
+<i>canonicalToCurrentPackageNames</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.canonicalToCurrentPackageNames_added(java.lang.String[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String[]</code>)</b>&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.canonicalToCurrentPackageNames_added(java.lang.String[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String[]</code>)</b>&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.compareDocumentPosition_added(org.w3c.dom.Node)" class="hiddenlink" target="rightframe"><b>compareDocumentPosition</b>
+(<code>Node</code>)</A></nobr><br>
+<i>currentToCanonicalPackageNames</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.currentToCanonicalPackageNames_added(java.lang.String[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String[]</code>)</b>&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.currentToCanonicalPackageNames_added(java.lang.String[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String[]</code>)</b>&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</A></nobr><br>
+<nobr><A HREF="android.database.DatabaseUtils.html#android.database.DatabaseUtils.cursorDoubleToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)" class="hiddenlink" target="rightframe"><b>cursorDoubleToContentValuesIfPresent</b>
+(<code>Cursor, ContentValues, String</code>)</A></nobr><br>
+<nobr><A HREF="android.database.DatabaseUtils.html#android.database.DatabaseUtils.cursorFloatToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)" class="hiddenlink" target="rightframe"><b>cursorFloatToContentValuesIfPresent</b>
+(<code>Cursor, ContentValues, String</code>)</A></nobr><br>
+<nobr><A HREF="android.database.DatabaseUtils.html#android.database.DatabaseUtils.cursorIntToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)" class="hiddenlink" target="rightframe"><b>cursorIntToContentValuesIfPresent</b>
+(<code>Cursor, ContentValues, String</code>)</A></nobr><br>
+<nobr><A HREF="android.database.DatabaseUtils.html#android.database.DatabaseUtils.cursorLongToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)" class="hiddenlink" target="rightframe"><b>cursorLongToContentValuesIfPresent</b>
+(<code>Cursor, ContentValues, String</code>)</A></nobr><br>
+<nobr><A HREF="android.database.DatabaseUtils.html#android.database.DatabaseUtils.cursorShortToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)" class="hiddenlink" target="rightframe"><b>cursorShortToContentValuesIfPresent</b>
+(<code>Cursor, ContentValues, String</code>)</A></nobr><br>
+<nobr><A HREF="android.database.DatabaseUtils.html#android.database.DatabaseUtils.cursorStringToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)" class="hiddenlink" target="rightframe"><b>cursorStringToContentValuesIfPresent</b>
+(<code>Cursor, ContentValues, String</code>)</A></nobr><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</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="#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="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchConfigurationChanged_added(android.content.res.Configuration)" class="hiddenlink" target="rightframe"><b>dispatchConfigurationChanged</b>
+(<code>Configuration</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchDisplayHint_added(int)" class="hiddenlink" target="rightframe"><b>dispatchDisplayHint</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchVisibilityChanged_added(android.view.View, int)" class="hiddenlink" target="rightframe"><b>dispatchVisibilityChanged</b>
+(<code>View, int</code>)</A></nobr><br>
+<nobr><A HREF="android.os.Debug.html#android.os.Debug.dumpService_added(java.lang.String, java.io.FileDescriptor, java.lang.String[])" class="hiddenlink" target="rightframe"><b>dumpService</b>
+(<code>String, FileDescriptor, String[]</code>)</A></nobr><br>
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</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="#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="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.webkit.WebView.html#android.webkit.WebView.emulateShiftHeld_added()" class="hiddenlink" target="rightframe"><b>emulateShiftHeld</b>
+()</A></nobr><br>
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#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="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.getActionIndex_added()" class="hiddenlink" target="rightframe"><b>getActionIndex</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.getActionMasked_added()" class="hiddenlink" target="rightframe"><b>getActionMasked</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.getAttributeDouble_added(java.lang.String, double)" class="hiddenlink" target="rightframe"><b>getAttributeDouble</b>
+(<code>String, double</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.getBaseURI_added()" class="hiddenlink" target="rightframe"><b>getBaseURI</b>
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getBlockNetworkLoads_added()" class="hiddenlink" target="rightframe"><b>getBlockNetworkLoads</b>
+()</A></nobr><br>
+<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.getCharSequenceArray_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>getCharSequenceArray</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.getCharSequenceArrayExtra_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>getCharSequenceArrayExtra</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.getCharSequenceArrayList_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>getCharSequenceArrayList</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.getCharSequenceArrayListExtra_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>getCharSequenceArrayListExtra</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.ListView.html#android.widget.ListView.getCheckedItemIds_added()" class="hiddenlink" target="rightframe"><b>getCheckedItemIds</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.BaseExpandableListAdapter.html#android.widget.BaseExpandableListAdapter.getChildType_added(int, int)" class="hiddenlink" target="rightframe"><b>getChildType</b>
+(<code>int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.BaseExpandableListAdapter.html#android.widget.BaseExpandableListAdapter.getChildTypeCount_added()" class="hiddenlink" target="rightframe"><b>getChildTypeCount</b>
+()</A></nobr><br>
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.getCurrentSync_added()" class="hiddenlink" target="rightframe"><b>getCurrentSync</b>
+()</A></nobr><br>
+<nobr><A HREF="android.net.SSLCertificateSocketFactory.html#android.net.SSLCertificateSocketFactory.getDefault_added(int, android.net.SSLSessionCache)" class="hiddenlink" target="rightframe"><b>getDefault</b>
+(<code>int, SSLSessionCache</code>)</A></nobr><br>
+<nobr><A HREF="android.speech.tts.TextToSpeech.html#android.speech.tts.TextToSpeech.getDefaultEngine_added()" class="hiddenlink" target="rightframe"><b>getDefaultEngine</b>
+()</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.getDocumentURI_added()" class="hiddenlink" target="rightframe"><b>getDocumentURI</b>
+()</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.getDomConfig_added()" class="hiddenlink" target="rightframe"><b>getDomConfig</b>
+()</A></nobr><br>
+<nobr><A HREF="android.text.AndroidCharacter.html#android.text.AndroidCharacter.getEastAsianWidth_added(char)" class="hiddenlink" target="rightframe"><b>getEastAsianWidth</b>
+(<code>char</code>)</A></nobr><br>
+<nobr><A HREF="android.text.AndroidCharacter.html#android.text.AndroidCharacter.getEastAsianWidths_added(char[], int, int, byte[])" class="hiddenlink" target="rightframe"><b>getEastAsianWidths</b>
+(<code>char[], int, int, byte[]</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getExposureCompensation_added()" class="hiddenlink" target="rightframe"><b>getExposureCompensation</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getExposureCompensationStep_added()" class="hiddenlink" target="rightframe"><b>getExposureCompensationStep</b>
+()</A></nobr><br>
+<i>getExternalCacheDir</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.getExternalCacheDir_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.getExternalCacheDir_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.getExternalCacheDir_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<i>getExternalFilesDir</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.getExternalFilesDir_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.getExternalFilesDir_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.getExternalFilesDir_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.getExternalStoragePublicDirectory_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>getExternalStoragePublicDirectory</b>
+(<code>String</code>)</A></nobr><br>
+<i>getFeature</i><br>
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.DOMImplementation.html#org.w3c.dom.DOMImplementation.getFeature_added(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, String</code>)</b>&nbsp;in&nbsp;org.w3c.dom.DOMImplementation
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.getFeature_added(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, String</code>)</b>&nbsp;in&nbsp;org.w3c.dom.Node
+</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getFocalLength_added()" class="hiddenlink" target="rightframe"><b>getFocalLength</b>
+()</A></nobr><br>
+<nobr><A HREF="android.os.Debug.html#android.os.Debug.getGlobalClassInitCount_added()" class="hiddenlink" target="rightframe"><b>getGlobalClassInitCount</b>
+()</A></nobr><br>
+<nobr><A HREF="android.os.Debug.html#android.os.Debug.getGlobalClassInitTime_added()" class="hiddenlink" target="rightframe"><b>getGlobalClassInitTime</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.BaseExpandableListAdapter.html#android.widget.BaseExpandableListAdapter.getGroupType_added(int)" class="hiddenlink" target="rightframe"><b>getGroupType</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.BaseExpandableListAdapter.html#android.widget.BaseExpandableListAdapter.getGroupTypeCount_added()" class="hiddenlink" target="rightframe"><b>getGroupTypeCount</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getHorizontalViewAngle_added()" class="hiddenlink" target="rightframe"><b>getHorizontalViewAngle</b>
+()</A></nobr><br>
+<nobr><A HREF="android.net.SSLCertificateSocketFactory.html#android.net.SSLCertificateSocketFactory.getHttpSocketFactory_added(int, android.net.SSLSessionCache)" class="hiddenlink" target="rightframe"><b>getHttpSocketFactory</b>
+(<code>int, SSLSessionCache</code>)</A></nobr><br>
+<i>getInputEncoding</i><br>
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.getInputEncoding_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;org.w3c.dom.Document
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Entity.html#org.w3c.dom.Entity.getInputEncoding_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;org.w3c.dom.Entity
+</A></nobr><br>
+<nobr><A HREF="android.net.SSLCertificateSocketFactory.html#android.net.SSLCertificateSocketFactory.getInsecure_added(int, android.net.SSLSessionCache)" class="hiddenlink" target="rightframe"><b>getInsecure</b>
+(<code>int, SSLSessionCache</code>)</A></nobr><br>
+<nobr><A HREF="android.provider.CallLog.Calls.html#android.provider.CallLog.Calls.getLastOutgoingCall_added(android.content.Context)" class="hiddenlink" target="rightframe"><b>getLastOutgoingCall</b>
+(<code>Context</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getMaxExposureCompensation_added()" class="hiddenlink" target="rightframe"><b>getMaxExposureCompensation</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getMaxZoom_added()" class="hiddenlink" target="rightframe"><b>getMaxZoom</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getMinExposureCompensation_added()" class="hiddenlink" target="rightframe"><b>getMinExposureCompensation</b>
+()</A></nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.getPackageCodePath_added()" class="hiddenlink" target="rightframe"><b>getPackageCodePath</b>
+()</A></nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.getPackageResourcePath_added()" class="hiddenlink" target="rightframe"><b>getPackageResourcePath</b>
+()</A></nobr><br>
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.getPeriodicSyncs_added(android.accounts.Account, java.lang.String)" class="hiddenlink" target="rightframe"><b>getPeriodicSyncs</b>
+(<code>Account, String</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getPluginState_added()" class="hiddenlink" target="rightframe"><b>getPluginState</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.Display.html#android.view.Display.getRotation_added()" class="hiddenlink" target="rightframe"><b>getRotation</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.ViewConfiguration.html#android.view.ViewConfiguration.getScaledPagingTouchSlop_added()" class="hiddenlink" target="rightframe"><b>getScaledPagingTouchSlop</b>
+()</A></nobr><br>
+<i>getSchema</i><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.DocumentBuilder.html#javax.xml.parsers.DocumentBuilder.getSchema_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;javax.xml.parsers.DocumentBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.DocumentBuilderFactory.html#javax.xml.parsers.DocumentBuilderFactory.getSchema_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;javax.xml.parsers.DocumentBuilderFactory
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.SAXParser.html#javax.xml.parsers.SAXParser.getSchema_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;javax.xml.parsers.SAXParser
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.SAXParserFactory.html#javax.xml.parsers.SAXParserFactory.getSchema_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;javax.xml.parsers.SAXParserFactory
+</A></nobr><br>
+<i>getSchemaTypeInfo</i><br>
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Attr.html#org.w3c.dom.Attr.getSchemaTypeInfo_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;org.w3c.dom.Attr
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Element.html#org.w3c.dom.Element.getSchemaTypeInfo_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;org.w3c.dom.Element
+</A></nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.getSearchableInfo_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getSearchableInfo</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.getSearchablesInGlobalSearch_added()" class="hiddenlink" target="rightframe"><b>getSearchablesInGlobalSearch</b>
+()</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.getStrictErrorChecking_added()" class="hiddenlink" target="rightframe"><b>getStrictErrorChecking</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getSupportedJpegThumbnailSizes_added()" class="hiddenlink" target="rightframe"><b>getSupportedJpegThumbnailSizes</b>
+()</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.getTextContent_added()" class="hiddenlink" target="rightframe"><b>getTextContent</b>
+()</A></nobr><br>
+<i>getThumbnail</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.MediaStore.Images.Thumbnails.html#android.provider.MediaStore.Images.Thumbnails.getThumbnail_added(android.content.ContentResolver, long, long, int, android.graphics.BitmapFactory.Options)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>ContentResolver, long, long, int, Options</code>)</b>&nbsp;in&nbsp;android.provider.MediaStore.Images.Thumbnails
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.MediaStore.Video.Thumbnails.html#android.provider.MediaStore.Video.Thumbnails.getThumbnail_added(android.content.ContentResolver, long, long, int, android.graphics.BitmapFactory.Options)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>ContentResolver, long, long, int, Options</code>)</b>&nbsp;in&nbsp;android.provider.MediaStore.Video.Thumbnails
+</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.getUserData_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>getUserData</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.net.http.SslCertificate.html#android.net.http.SslCertificate.getValidNotAfterDate_added()" class="hiddenlink" target="rightframe"><b>getValidNotAfterDate</b>
+()</A></nobr><br>
+<nobr><A HREF="android.net.http.SslCertificate.html#android.net.http.SslCertificate.getValidNotBeforeDate_added()" class="hiddenlink" target="rightframe"><b>getValidNotBeforeDate</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getVerticalViewAngle_added()" class="hiddenlink" target="rightframe"><b>getVerticalViewAngle</b>
+()</A></nobr><br>
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.getVoiceDetailsIntent_added(android.content.Context)" class="hiddenlink" target="rightframe"><b>getVoiceDetailsIntent</b>
+(<code>Context</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Text.html#org.w3c.dom.Text.getWholeText_added()" class="hiddenlink" target="rightframe"><b>getWholeText</b>
+()</A></nobr><br>
+<i>getXmlEncoding</i><br>
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.getXmlEncoding_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;org.w3c.dom.Document
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Entity.html#org.w3c.dom.Entity.getXmlEncoding_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;org.w3c.dom.Entity
+</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.getXmlStandalone_added()" class="hiddenlink" target="rightframe"><b>getXmlStandalone</b>
+()</A></nobr><br>
+<i>getXmlVersion</i><br>
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.getXmlVersion_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;org.w3c.dom.Document
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Entity.html#org.w3c.dom.Entity.getXmlVersion_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;org.w3c.dom.Entity
+</A></nobr><br>
+<nobr><A HREF="android.view.VelocityTracker.html#android.view.VelocityTracker.getXVelocity_added(int)" class="hiddenlink" target="rightframe"><b>getXVelocity</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.VelocityTracker.html#android.view.VelocityTracker.getYVelocity_added(int)" class="hiddenlink" target="rightframe"><b>getYVelocity</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getZoom_added()" class="hiddenlink" target="rightframe"><b>getZoom</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getZoomRatios_added()" class="hiddenlink" target="rightframe"><b>getZoomRatios</b>
+()</A></nobr><br>
+<A NAME="H"></A>
+<br><font size="+2">H</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#G"><font size="-2">G</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="#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="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.accounts.AccountManager.html#android.accounts.AccountManager.hasFeatures_added(android.accounts.Account, java.lang.String[], android.accounts.AccountManagerCallback<java.lang.Boolean>, android.os.Handler)" class="hiddenlink" target="rightframe"><b>hasFeatures</b>
+(<code>Account, String[], AccountManagerCallback&lt;Boolean&gt;, Handler</code>)</A></nobr><br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#G"><font size="-2">G</font></a> 
+<a href="#H"><font size="-2">H</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="#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="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.insertWithOnConflict_added(java.lang.String, java.lang.String, android.content.ContentValues, int)" class="hiddenlink" target="rightframe"><b>insertWithOnConflict</b>
+(<code>String, String, ContentValues, int</code>)</A></nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.isBluetoothScoAvailableOffCall_added()" class="hiddenlink" target="rightframe"><b>isBluetoothScoAvailableOffCall</b>
+()</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.isDefaultNamespace_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>isDefaultNamespace</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Text.html#org.w3c.dom.Text.isElementContentWhitespace_added()" class="hiddenlink" target="rightframe"><b>isElementContentWhitespace</b>
+()</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.isEqualNode_added(org.w3c.dom.Node)" class="hiddenlink" target="rightframe"><b>isEqualNode</b>
+(<code>Node</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Attr.html#org.w3c.dom.Attr.isId_added()" class="hiddenlink" target="rightframe"><b>isId</b>
+()</A></nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.isLocationProviderEnabled_added(android.content.ContentResolver, java.lang.String)" class="hiddenlink" target="rightframe"><b>isLocationProviderEnabled</b>
+(<code>ContentResolver, String</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.isSameNode_added(org.w3c.dom.Node)" class="hiddenlink" target="rightframe"><b>isSameNode</b>
+(<code>Node</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.isSmoothZoomSupported_added()" class="hiddenlink" target="rightframe"><b>isSmoothZoomSupported</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.isStripEnabled_added()" class="hiddenlink" target="rightframe"><b>isStripEnabled</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.ActivityManager.html#android.app.ActivityManager.isUserAMonkey_added()" class="hiddenlink" target="rightframe"><b>isUserAMonkey</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.isZoomSupported_added()" class="hiddenlink" target="rightframe"><b>isZoomSupported</b>
+()</A></nobr><br>
+<A NAME="K"></A>
+<br><font size="+2">K</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#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="#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="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.ActivityManager.html#android.app.ActivityManager.killBackgroundProcesses_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>killBackgroundProcesses</b>
+(<code>String</code>)</A></nobr><br>
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#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="#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="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.webkit.WebView.html#android.webkit.WebView.loadUrl_added(java.lang.String, java.util.Map<java.lang.String, java.lang.String>)" class="hiddenlink" target="rightframe"><b>loadUrl</b>
+(<code>String, Map&lt;String, String&gt;</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.lookupNamespaceURI_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>lookupNamespaceURI</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.lookupPrefix_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>lookupPrefix</b>
+(<code>String</code>)</A></nobr><br>
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#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="#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="#W"><font size="-2">W</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.MediaStore.Audio.Playlists.Members.html#android.provider.MediaStore.Audio.Playlists.Members.moveItem_added(android.content.ContentResolver, long, int, int)" class="hiddenlink" target="rightframe"><b>moveItem</b>
+(<code>ContentResolver, long, int, int</code>)</A></nobr><br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</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="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>newEntityIterator</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.ContactsContract.Groups.html#android.provider.ContactsContract.Groups.newEntityIterator_added(android.database.Cursor)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Cursor</code>)</b>&nbsp;in&nbsp;android.provider.ContactsContract.Groups
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.ContactsContract.RawContacts.html#android.provider.ContactsContract.RawContacts.newEntityIterator_added(android.database.Cursor)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Cursor</code>)</b>&nbsp;in&nbsp;android.provider.ContactsContract.RawContacts
+</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.normalizeDocument_added()" class="hiddenlink" target="rightframe"><b>normalizeDocument</b>
+()</A></nobr><br>
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#P"><font size="-2">P</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="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.View.html#android.view.View.onConfigurationChanged_added(android.content.res.Configuration)" class="hiddenlink" target="rightframe"><b>onConfigurationChanged</b>
+(<code>Configuration</code>)</A></nobr><br>
+<i>onConsoleMessage</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.WebChromeClient.html#android.webkit.WebChromeClient.onConsoleMessage_added(android.webkit.ConsoleMessage)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>ConsoleMessage</code>)</b>&nbsp;in&nbsp;android.webkit.WebChromeClient
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.WebChromeClient.html#android.webkit.WebChromeClient.onConsoleMessage_added(java.lang.String, int, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int, String</code>)</b>&nbsp;in&nbsp;android.webkit.WebChromeClient
+</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.onCreateDialog_added(int, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onCreateDialog</b>
+(<code>int, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.onDisplayHint_added(int)" class="hiddenlink" target="rightframe"><b>onDisplayHint</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.onPrepareDialog_added(int, android.app.Dialog, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>onPrepareDialog</b>
+(<code>int, Dialog, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebViewClient.html#android.webkit.WebViewClient.onReceivedSslError_added(android.webkit.WebView, android.webkit.SslErrorHandler, android.net.http.SslError)" class="hiddenlink" target="rightframe"><b>onReceivedSslError</b>
+(<code>WebView, SslErrorHandler, SslError</code>)</A></nobr><br>
+<nobr><A HREF="android.content.AbstractThreadedSyncAdapter.html#android.content.AbstractThreadedSyncAdapter.onSyncCanceled_added()" class="hiddenlink" target="rightframe"><b>onSyncCanceled</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.onVisibilityChanged_added(android.view.View, int)" class="hiddenlink" target="rightframe"><b>onVisibilityChanged</b>
+(<code>View, int</code>)</A></nobr><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#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="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.putCharSequenceArray_added(java.lang.String, java.lang.CharSequence[])" class="hiddenlink" target="rightframe"><b>putCharSequenceArray</b>
+(<code>String, CharSequence[]</code>)</A></nobr><br>
+<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.putCharSequenceArrayList_added(java.lang.String, java.util.ArrayList<java.lang.CharSequence>)" class="hiddenlink" target="rightframe"><b>putCharSequenceArrayList</b>
+(<code>String, ArrayList&lt;CharSequence&gt;</code>)</A></nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.putCharSequenceArrayListExtra_added(java.lang.String, java.util.ArrayList<java.lang.CharSequence>)" class="hiddenlink" target="rightframe"><b>putCharSequenceArrayListExtra</b>
+(<code>String, ArrayList&lt;CharSequence&gt;</code>)</A></nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.putExtra_added(java.lang.String, java.lang.CharSequence[])" class="hiddenlink" target="rightframe"><b>putExtra</b>
+(<code>String, CharSequence[]</code>)</A></nobr><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#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="#W"><font size="-2">W</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.res.Configuration.html#android.content.res.Configuration.readFromParcel_added(android.os.Parcel)" class="hiddenlink" target="rightframe"><b>readFromParcel</b>
+(<code>Parcel</code>)</A></nobr><br>
+<nobr><A HREF="android.os.PowerManager.html#android.os.PowerManager.reboot_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>reboot</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.reconnect_added()" class="hiddenlink" target="rightframe"><b>reconnect</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.registerMediaButtonEventReceiver_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>registerMediaButtonEventReceiver</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.removePeriodicSync_added(android.accounts.Account, java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>removePeriodicSync</b>
+(<code>Account, String, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.renameNode_added(org.w3c.dom.Node, java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe"><b>renameNode</b>
+(<code>Node, String, String</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Text.html#org.w3c.dom.Text.replaceWholeText_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>replaceWholeText</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.requestAudioFocus_added(android.media.AudioManager.OnAudioFocusChangeListener, int, int)" class="hiddenlink" target="rightframe"><b>requestAudioFocus</b>
+(<code>OnAudioFocusChangeListener, int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.os.Debug.html#android.os.Debug.resetGlobalClassInitCount_added()" class="hiddenlink" target="rightframe"><b>resetGlobalClassInitCount</b>
+()</A></nobr><br>
+<nobr><A HREF="android.os.Debug.html#android.os.Debug.resetGlobalClassInitTime_added()" class="hiddenlink" target="rightframe"><b>resetGlobalClassInitTime</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.VideoView.html#android.widget.VideoView.resume_added()" class="hiddenlink" target="rightframe"><b>resume</b>
+()</A></nobr><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.media.MediaScannerConnection.html#android.media.MediaScannerConnection.scanFile_added(android.content.Context, java.lang.String[], java.lang.String[], android.media.MediaScannerConnection.OnScanCompletedListener)" class="hiddenlink" target="rightframe"><b>scanFile</b>
+(<code>Context, String[], String[], OnScanCompletedListener</code>)</A></nobr><br>
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.setAudioChannels_added(int)" class="hiddenlink" target="rightframe"><b>setAudioChannels</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.setAudioEncodingBitRate_added(int)" class="hiddenlink" target="rightframe"><b>setAudioEncodingBitRate</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.setAudioSamplingRate_added(int)" class="hiddenlink" target="rightframe"><b>setAudioSamplingRate</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setBlockNetworkLoads_added(boolean)" class="hiddenlink" target="rightframe"><b>setBlockNetworkLoads</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.RemoteViews.html#android.widget.RemoteViews.setBundle_added(int, java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>setBundle</b>
+(<code>int, String, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.ImageView.html#android.widget.ImageView.setColorFilter_added(int)" class="hiddenlink" target="rightframe"><b>setColorFilter</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.setDisplayOrientation_added(int)" class="hiddenlink" target="rightframe"><b>setDisplayOrientation</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.setDocumentURI_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setDocumentURI</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.opengl.GLSurfaceView.html#android.opengl.GLSurfaceView.setEGLContextClientVersion_added(int)" class="hiddenlink" target="rightframe"><b>setEGLContextClientVersion</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.speech.tts.TextToSpeech.html#android.speech.tts.TextToSpeech.setEngineByPackageName_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setEngineByPackageName</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.setExposureCompensation_added(int)" class="hiddenlink" target="rightframe"><b>setExposureCompensation</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.setGpsProcessingMethod_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setGpsProcessingMethod</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Element.html#org.w3c.dom.Element.setIdAttribute_added(java.lang.String, boolean)" class="hiddenlink" target="rightframe"><b>setIdAttribute</b>
+(<code>String, boolean</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Element.html#org.w3c.dom.Element.setIdAttributeNode_added(org.w3c.dom.Attr, boolean)" class="hiddenlink" target="rightframe"><b>setIdAttributeNode</b>
+(<code>Attr, boolean</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Element.html#org.w3c.dom.Element.setIdAttributeNS_added(java.lang.String, java.lang.String, boolean)" class="hiddenlink" target="rightframe"><b>setIdAttributeNS</b>
+(<code>String, String, boolean</code>)</A></nobr><br>
+<i>setLeftStripDrawable</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.setLeftStripDrawable_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Drawable</code>)</b>&nbsp;in&nbsp;android.widget.TabWidget
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.setLeftStripDrawable_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.widget.TabWidget
+</A></nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.setLocationProviderEnabled_added(android.content.ContentResolver, java.lang.String, boolean)" class="hiddenlink" target="rightframe"><b>setLocationProviderEnabled</b>
+(<code>ContentResolver, String, boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.opengl.Matrix.html#android.opengl.Matrix.setLookAtM_added(float[], int, float, float, float, float, float, float, float, float, float)" class="hiddenlink" target="rightframe"><b>setLookAtM</b>
+(<code>float[], int, float, float, float, float, float, float, float, float, float</code>)</A></nobr><br>
+<nobr><A HREF="android.media.SoundPool.html#android.media.SoundPool.setOnLoadCompleteListener_added(android.media.SoundPool.OnLoadCompleteListener)" class="hiddenlink" target="rightframe"><b>setOnLoadCompleteListener</b>
+(<code>OnLoadCompleteListener</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Dialog.html#android.app.Dialog.setOnShowListener_added(android.content.DialogInterface.OnShowListener)" class="hiddenlink" target="rightframe"><b>setOnShowListener</b>
+(<code>OnShowListener</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setPluginState_added(android.webkit.WebSettings.PluginState)" class="hiddenlink" target="rightframe"><b>setPluginState</b>
+(<code>PluginState</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.setPreviewCallbackWithBuffer_added(android.hardware.Camera.PreviewCallback)" class="hiddenlink" target="rightframe"><b>setPreviewCallbackWithBuffer</b>
+(<code>PreviewCallback</code>)</A></nobr><br>
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.setProfile_added(android.media.CamcorderProfile)" class="hiddenlink" target="rightframe"><b>setProfile</b>
+(<code>CamcorderProfile</code>)</A></nobr><br>
+<i>setRightStripDrawable</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.setRightStripDrawable_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Drawable</code>)</b>&nbsp;in&nbsp;android.widget.TabWidget
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.setRightStripDrawable_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.widget.TabWidget
+</A></nobr><br>
+<i>setSchema</i><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.DocumentBuilderFactory.html#javax.xml.parsers.DocumentBuilderFactory.setSchema_added(javax.xml.validation.Schema)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Schema</code>)</b>&nbsp;in&nbsp;javax.xml.parsers.DocumentBuilderFactory
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.SAXParserFactory.html#javax.xml.parsers.SAXParserFactory.setSchema_added(javax.xml.validation.Schema)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Schema</code>)</b>&nbsp;in&nbsp;javax.xml.parsers.SAXParserFactory
+</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.setStrictErrorChecking_added(boolean)" class="hiddenlink" target="rightframe"><b>setStrictErrorChecking</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.setStripEnabled_added(boolean)" class="hiddenlink" target="rightframe"><b>setStripEnabled</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.setTextContent_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setTextContent</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.app.AlarmManager.html#android.app.AlarmManager.setTime_added(long)" class="hiddenlink" target="rightframe"><b>setTime</b>
+(<code>long</code>)</A></nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.setTo_added(android.content.res.Configuration)" class="hiddenlink" target="rightframe"><b>setTo</b>
+(<code>Configuration</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.setUserData_added(java.lang.String, java.lang.Object, org.w3c.dom.UserDataHandler)" class="hiddenlink" target="rightframe"><b>setUserData</b>
+(<code>String, Object, UserDataHandler</code>)</A></nobr><br>
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.setVideoEncodingBitRate_added(int)" class="hiddenlink" target="rightframe"><b>setVideoEncodingBitRate</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.setXmlStandalone_added(boolean)" class="hiddenlink" target="rightframe"><b>setXmlStandalone</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.setXmlVersion_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setXmlVersion</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.setZoom_added(int)" class="hiddenlink" target="rightframe"><b>setZoom</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.setZoomChangeListener_added(android.hardware.Camera.OnZoomChangeListener)" class="hiddenlink" target="rightframe"><b>setZoomChangeListener</b>
+(<code>OnZoomChangeListener</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.showDialog_added(int, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>showDialog</b>
+(<code>int, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.AbsListView.html#android.widget.AbsListView.smoothScrollBy_added(int, int)" class="hiddenlink" target="rightframe"><b>smoothScrollBy</b>
+(<code>int, int</code>)</A></nobr><br>
+<i>smoothScrollToPosition</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.AbsListView.html#android.widget.AbsListView.smoothScrollToPosition_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.widget.AbsListView
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.AbsListView.html#android.widget.AbsListView.smoothScrollToPosition_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.widget.AbsListView
+</A></nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.startBluetoothSco_added()" class="hiddenlink" target="rightframe"><b>startBluetoothSco</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.startSmoothZoom_added(int)" class="hiddenlink" target="rightframe"><b>startSmoothZoom</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.stopBluetoothSco_added()" class="hiddenlink" target="rightframe"><b>stopBluetoothSco</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.stopSmoothZoom_added()" class="hiddenlink" target="rightframe"><b>stopSmoothZoom</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.VideoView.html#android.widget.VideoView.suspend_added()" class="hiddenlink" target="rightframe"><b>suspend</b>
+()</A></nobr><br>
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.text.util.Rfc822Tokenizer.html#android.text.util.Rfc822Tokenizer.tokenize_added(java.lang.CharSequence, java.util.Collection<android.text.util.Rfc822Token>)" class="hiddenlink" target="rightframe"><b>tokenize</b>
+(<code>CharSequence, Collection&lt;Rfc822Token&gt;</code>)</A></nobr><br>
+<A NAME="U"></A>
+<br><font size="+2">U</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#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="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.unregisterMediaButtonEventReceiver_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>unregisterMediaButtonEventReceiver</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.updateWithOnConflict_added(java.lang.String, android.content.ContentValues, java.lang.String, java.lang.String[], int)" class="hiddenlink" target="rightframe"><b>updateWithOnConflict</b>
+(<code>String, ContentValues, String, String[], int</code>)</A></nobr><br>
+<A NAME="W"></A>
+<br><font size="+2">W</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>wtf</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.util.Log.html#android.util.Log.wtf_added(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, String</code>)</b>&nbsp;in&nbsp;android.util.Log
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.util.Log.html#android.util.Log.wtf_added(java.lang.String, java.lang.String, java.lang.Throwable)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, String, Throwable</code>)</b>&nbsp;in&nbsp;android.util.Log
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.util.Log.html#android.util.Log.wtf_added(java.lang.String, java.lang.Throwable)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, Throwable</code>)</b>&nbsp;in&nbsp;android.util.Log
+</A></nobr><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/methods_index_all.html b/docs/html/sdk/api_diff/8/changes/methods_index_all.html
new file mode 100644
index 0000000..91d79f8
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/methods_index_all.html
@@ -0,0 +1,1057 @@
+<!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>
+Method Differences Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Methods" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<b>Methods</b>
+  <br>
+<A HREF="methods_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<A HREF="methods_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<A HREF="methods_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+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>
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<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="#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="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.abandonAudioFocus_added(android.media.AudioManager.OnAudioFocusChangeListener)" class="hiddenlink" target="rightframe"><b>abandonAudioFocus</b>
+(<code>OnAudioFocusChangeListener</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.addCallbackBuffer_added(byte[])" class="hiddenlink" target="rightframe"><b>addCallbackBuffer</b>
+(<code>byte[]</code>)</A></nobr><br>
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.addPeriodicSync_added(android.accounts.Account, java.lang.String, android.os.Bundle, long)" class="hiddenlink" target="rightframe"><b>addPeriodicSync</b>
+(<code>Account, String, Bundle, long</code>)</A></nobr><br>
+<i>addPermissionAsync</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.addPermissionAsync_added(android.content.pm.PermissionInfo)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>PermissionInfo</code>)</b>&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.addPermissionAsync_added(android.content.pm.PermissionInfo)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>PermissionInfo</code>)</b>&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</A></nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.addPreferredActivity_changed(android.content.IntentFilter, int, android.content.ComponentName[], android.content.ComponentName)" class="hiddenlink" target="rightframe">addPreferredActivity
+(<code>IntentFilter, int, ComponentName[], ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.adoptNode_added(org.w3c.dom.Node)" class="hiddenlink" target="rightframe"><b>adoptNode</b>
+(<code>Node</code>)</A></nobr><br>
+<nobr><A HREF="java.util.regex.Matcher.html#java.util.regex.Matcher.appendReplacement_changed(java.lang.StringBuffer, java.lang.String)" class="hiddenlink" target="rightframe">appendReplacement
+(<code>StringBuffer, String</code>)</A></nobr><br>
+<nobr><A HREF="android.speech.tts.TextToSpeech.html#android.speech.tts.TextToSpeech.areDefaultsEnforced_added()" class="hiddenlink" target="rightframe"><b>areDefaultsEnforced</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.SoundPool.html#android.media.SoundPool.autoPause_added()" class="hiddenlink" target="rightframe"><b>autoPause</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.SoundPool.html#android.media.SoundPool.autoResume_added()" class="hiddenlink" target="rightframe"><b>autoResume</b>
+()</A></nobr><br>
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.animation.Animation.html#android.view.animation.Animation.cancel_added()" class="hiddenlink" target="rightframe"><b>cancel</b>
+()</A></nobr><br>
+<i>cancelThumbnailRequest</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.MediaStore.Images.Thumbnails.html#android.provider.MediaStore.Images.Thumbnails.cancelThumbnailRequest_added(android.content.ContentResolver, long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>ContentResolver, long, long</code>)</b>&nbsp;in&nbsp;android.provider.MediaStore.Images.Thumbnails
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.MediaStore.Video.Thumbnails.html#android.provider.MediaStore.Video.Thumbnails.cancelThumbnailRequest_added(android.content.ContentResolver, long, long)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>ContentResolver, long, long</code>)</b>&nbsp;in&nbsp;android.provider.MediaStore.Video.Thumbnails
+</A></nobr><br>
+<i>canonicalToCurrentPackageNames</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.canonicalToCurrentPackageNames_added(java.lang.String[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String[]</code>)</b>&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.canonicalToCurrentPackageNames_added(java.lang.String[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String[]</code>)</b>&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</A></nobr><br>
+<i>clone</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ComponentName.html#android.content.ComponentName.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.content.ComponentName
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.gesture.Gesture.html#android.gesture.Gesture.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.gesture.Gesture
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.gesture.GesturePoint.html#android.gesture.GesturePoint.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.gesture.GesturePoint
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.gesture.GestureStroke.html#android.gesture.GestureStroke.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.gesture.GestureStroke
+</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.compareDocumentPosition_added(org.w3c.dom.Node)" class="hiddenlink" target="rightframe"><b>compareDocumentPosition</b>
+(<code>Node</code>)</A></nobr><br>
+<i>compile</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.database.sqlite.SQLiteProgram.html#android.database.sqlite.SQLiteProgram.compile_changed(java.lang.String, boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, boolean</code>)&nbsp;in&nbsp;android.database.sqlite.SQLiteProgram
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.regex.Pattern.html#java.util.regex.Pattern.compile_changed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String</code>)&nbsp;in&nbsp;java.util.regex.Pattern
+</A></nobr><br>
+<i>currentToCanonicalPackageNames</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.currentToCanonicalPackageNames_added(java.lang.String[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String[]</code>)</b>&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.currentToCanonicalPackageNames_added(java.lang.String[])" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String[]</code>)</b>&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</A></nobr><br>
+<nobr><A HREF="android.database.DatabaseUtils.html#android.database.DatabaseUtils.cursorDoubleToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)" class="hiddenlink" target="rightframe"><b>cursorDoubleToContentValuesIfPresent</b>
+(<code>Cursor, ContentValues, String</code>)</A></nobr><br>
+<nobr><A HREF="android.database.DatabaseUtils.html#android.database.DatabaseUtils.cursorFloatToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)" class="hiddenlink" target="rightframe"><b>cursorFloatToContentValuesIfPresent</b>
+(<code>Cursor, ContentValues, String</code>)</A></nobr><br>
+<nobr><A HREF="android.database.DatabaseUtils.html#android.database.DatabaseUtils.cursorIntToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)" class="hiddenlink" target="rightframe"><b>cursorIntToContentValuesIfPresent</b>
+(<code>Cursor, ContentValues, String</code>)</A></nobr><br>
+<nobr><A HREF="android.database.DatabaseUtils.html#android.database.DatabaseUtils.cursorLongToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)" class="hiddenlink" target="rightframe"><b>cursorLongToContentValuesIfPresent</b>
+(<code>Cursor, ContentValues, String</code>)</A></nobr><br>
+<nobr><A HREF="android.database.DatabaseUtils.html#android.database.DatabaseUtils.cursorShortToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)" class="hiddenlink" target="rightframe"><b>cursorShortToContentValuesIfPresent</b>
+(<code>Cursor, ContentValues, String</code>)</A></nobr><br>
+<nobr><A HREF="android.database.DatabaseUtils.html#android.database.DatabaseUtils.cursorStringToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)" class="hiddenlink" target="rightframe"><b>cursorStringToContentValuesIfPresent</b>
+(<code>Cursor, ContentValues, String</code>)</A></nobr><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#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="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchConfigurationChanged_added(android.content.res.Configuration)" class="hiddenlink" target="rightframe"><b>dispatchConfigurationChanged</b>
+(<code>Configuration</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchDisplayHint_added(int)" class="hiddenlink" target="rightframe"><b>dispatchDisplayHint</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchVisibilityChanged_added(android.view.View, int)" class="hiddenlink" target="rightframe"><b>dispatchVisibilityChanged</b>
+(<code>View, int</code>)</A></nobr><br>
+<nobr><A HREF="android.os.Debug.html#android.os.Debug.dumpService_added(java.lang.String, java.io.FileDescriptor, java.lang.String[])" class="hiddenlink" target="rightframe"><b>dumpService</b>
+(<code>String, FileDescriptor, String[]</code>)</A></nobr><br>
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<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="#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="#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="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.webkit.WebView.html#android.webkit.WebView.emulateShiftHeld_added()" class="hiddenlink" target="rightframe"><b>emulateShiftHeld</b>
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.CacheManager.html#android.webkit.CacheManager.endCacheTransaction_changed()" class="hiddenlink" target="rightframe">endCacheTransaction
+()</A></nobr><br>
+<A NAME="F"></A>
+<br><font size="+2">F</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#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="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.nio.charset.Charset.html#java.nio.charset.Charset.forName_changed(java.lang.String)" class="hiddenlink" target="rightframe">forName
+(<code>String</code>)</A></nobr><br>
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#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="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.getActionIndex_added()" class="hiddenlink" target="rightframe"><b>getActionIndex</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.getActionMasked_added()" class="hiddenlink" target="rightframe"><b>getActionMasked</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.ExifInterface.html#android.media.ExifInterface.getAttributeDouble_added(java.lang.String, double)" class="hiddenlink" target="rightframe"><b>getAttributeDouble</b>
+(<code>String, double</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Element.html#org.w3c.dom.Element.getAttributeNodeNS_changed(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">getAttributeNodeNS
+(<code>String, String</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Element.html#org.w3c.dom.Element.getAttributeNS_changed(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">getAttributeNS
+(<code>String, String</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.getBaseURI_added()" class="hiddenlink" target="rightframe"><b>getBaseURI</b>
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getBlockNetworkLoads_added()" class="hiddenlink" target="rightframe"><b>getBlockNetworkLoads</b>
+()</A></nobr><br>
+<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.getCharSequenceArray_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>getCharSequenceArray</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.getCharSequenceArrayExtra_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>getCharSequenceArrayExtra</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.getCharSequenceArrayList_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>getCharSequenceArrayList</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.getCharSequenceArrayListExtra_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>getCharSequenceArrayListExtra</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.ListView.html#android.widget.ListView.getCheckedItemIds_added()" class="hiddenlink" target="rightframe"><b>getCheckedItemIds</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.ListView.html#android.widget.ListView.getCheckItemIds_changed()" class="hiddenlink" target="rightframe">getCheckItemIds
+()</A></nobr><br>
+<nobr><A HREF="android.widget.BaseExpandableListAdapter.html#android.widget.BaseExpandableListAdapter.getChildType_added(int, int)" class="hiddenlink" target="rightframe"><b>getChildType</b>
+(<code>int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.BaseExpandableListAdapter.html#android.widget.BaseExpandableListAdapter.getChildTypeCount_added()" class="hiddenlink" target="rightframe"><b>getChildTypeCount</b>
+()</A></nobr><br>
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.getCurrentSync_added()" class="hiddenlink" target="rightframe"><b>getCurrentSync</b>
+()</A></nobr><br>
+<nobr><A HREF="android.net.SSLCertificateSocketFactory.html#android.net.SSLCertificateSocketFactory.getDefault_added(int, android.net.SSLSessionCache)" class="hiddenlink" target="rightframe"><b>getDefault</b>
+(<code>int, SSLSessionCache</code>)</A></nobr><br>
+<nobr><A HREF="android.speech.tts.TextToSpeech.html#android.speech.tts.TextToSpeech.getDefaultEngine_added()" class="hiddenlink" target="rightframe"><b>getDefaultEngine</b>
+()</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.getDocumentURI_added()" class="hiddenlink" target="rightframe"><b>getDocumentURI</b>
+()</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.getDomConfig_added()" class="hiddenlink" target="rightframe"><b>getDomConfig</b>
+()</A></nobr><br>
+<nobr><A HREF="android.text.AndroidCharacter.html#android.text.AndroidCharacter.getEastAsianWidth_added(char)" class="hiddenlink" target="rightframe"><b>getEastAsianWidth</b>
+(<code>char</code>)</A></nobr><br>
+<nobr><A HREF="android.text.AndroidCharacter.html#android.text.AndroidCharacter.getEastAsianWidths_added(char[], int, int, byte[])" class="hiddenlink" target="rightframe"><b>getEastAsianWidths</b>
+(<code>char[], int, int, byte[]</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Element.html#org.w3c.dom.Element.getElementsByTagNameNS_changed(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">getElementsByTagNameNS
+(<code>String, String</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getExposureCompensation_added()" class="hiddenlink" target="rightframe"><b>getExposureCompensation</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getExposureCompensationStep_added()" class="hiddenlink" target="rightframe"><b>getExposureCompensationStep</b>
+()</A></nobr><br>
+<i>getExternalCacheDir</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.getExternalCacheDir_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.getExternalCacheDir_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.getExternalCacheDir_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<i>getExternalFilesDir</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.getExternalFilesDir_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.getExternalFilesDir_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.getExternalFilesDir_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<nobr><A HREF="android.os.Environment.html#android.os.Environment.getExternalStoragePublicDirectory_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>getExternalStoragePublicDirectory</b>
+(<code>String</code>)</A></nobr><br>
+<i>getFeature</i><br>
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.DOMImplementation.html#org.w3c.dom.DOMImplementation.getFeature_added(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, String</code>)</b>&nbsp;in&nbsp;org.w3c.dom.DOMImplementation
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.getFeature_added(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, String</code>)</b>&nbsp;in&nbsp;org.w3c.dom.Node
+</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getFocalLength_added()" class="hiddenlink" target="rightframe"><b>getFocalLength</b>
+()</A></nobr><br>
+<nobr><A HREF="android.os.Debug.html#android.os.Debug.getGlobalClassInitCount_added()" class="hiddenlink" target="rightframe"><b>getGlobalClassInitCount</b>
+()</A></nobr><br>
+<nobr><A HREF="android.os.Debug.html#android.os.Debug.getGlobalClassInitTime_added()" class="hiddenlink" target="rightframe"><b>getGlobalClassInitTime</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.BaseExpandableListAdapter.html#android.widget.BaseExpandableListAdapter.getGroupType_added(int)" class="hiddenlink" target="rightframe"><b>getGroupType</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.BaseExpandableListAdapter.html#android.widget.BaseExpandableListAdapter.getGroupTypeCount_added()" class="hiddenlink" target="rightframe"><b>getGroupTypeCount</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getHorizontalViewAngle_added()" class="hiddenlink" target="rightframe"><b>getHorizontalViewAngle</b>
+()</A></nobr><br>
+<nobr><A HREF="android.net.SSLCertificateSocketFactory.html#android.net.SSLCertificateSocketFactory.getHttpSocketFactory_added(int, android.net.SSLSessionCache)" class="hiddenlink" target="rightframe"><b>getHttpSocketFactory</b>
+(<code>int, SSLSessionCache</code>)</A></nobr><br>
+<i>getInputEncoding</i><br>
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.getInputEncoding_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;org.w3c.dom.Document
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Entity.html#org.w3c.dom.Entity.getInputEncoding_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;org.w3c.dom.Entity
+</A></nobr><br>
+<nobr><A HREF="android.net.SSLCertificateSocketFactory.html#android.net.SSLCertificateSocketFactory.getInsecure_added(int, android.net.SSLSessionCache)" class="hiddenlink" target="rightframe"><b>getInsecure</b>
+(<code>int, SSLSessionCache</code>)</A></nobr><br>
+<nobr><A HREF="android.provider.CallLog.Calls.html#android.provider.CallLog.Calls.getLastOutgoingCall_added(android.content.Context)" class="hiddenlink" target="rightframe"><b>getLastOutgoingCall</b>
+(<code>Context</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getMaxExposureCompensation_added()" class="hiddenlink" target="rightframe"><b>getMaxExposureCompensation</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getMaxZoom_added()" class="hiddenlink" target="rightframe"><b>getMaxZoom</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getMinExposureCompensation_added()" class="hiddenlink" target="rightframe"><b>getMinExposureCompensation</b>
+()</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.NamedNodeMap.html#org.w3c.dom.NamedNodeMap.getNamedItemNS_changed(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">getNamedItemNS
+(<code>String, String</code>)</A></nobr><br>
+<nobr><A HREF="java.net.DatagramSocketImpl.html#java.net.DatagramSocketImpl.getOption_removed(int)" class="hiddenlink" target="rightframe"><strike>getOption</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.Display.html#android.view.Display.getOrientation_changed()" class="hiddenlink" target="rightframe">getOrientation
+()</A></nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.getPackageCodePath_added()" class="hiddenlink" target="rightframe"><b>getPackageCodePath</b>
+()</A></nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.getPackageResourcePath_added()" class="hiddenlink" target="rightframe"><b>getPackageResourcePath</b>
+()</A></nobr><br>
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.getPeriodicSyncs_added(android.accounts.Account, java.lang.String)" class="hiddenlink" target="rightframe"><b>getPeriodicSyncs</b>
+(<code>Account, String</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getPluginsEnabled_changed()" class="hiddenlink" target="rightframe">getPluginsEnabled
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getPluginState_added()" class="hiddenlink" target="rightframe"><b>getPluginState</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.Display.html#android.view.Display.getRotation_added()" class="hiddenlink" target="rightframe"><b>getRotation</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.ViewConfiguration.html#android.view.ViewConfiguration.getScaledPagingTouchSlop_added()" class="hiddenlink" target="rightframe"><b>getScaledPagingTouchSlop</b>
+()</A></nobr><br>
+<i>getSchema</i><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.DocumentBuilder.html#javax.xml.parsers.DocumentBuilder.getSchema_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;javax.xml.parsers.DocumentBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.DocumentBuilderFactory.html#javax.xml.parsers.DocumentBuilderFactory.getSchema_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;javax.xml.parsers.DocumentBuilderFactory
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.SAXParser.html#javax.xml.parsers.SAXParser.getSchema_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;javax.xml.parsers.SAXParser
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.SAXParserFactory.html#javax.xml.parsers.SAXParserFactory.getSchema_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;javax.xml.parsers.SAXParserFactory
+</A></nobr><br>
+<i>getSchemaTypeInfo</i><br>
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Attr.html#org.w3c.dom.Attr.getSchemaTypeInfo_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;org.w3c.dom.Attr
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Element.html#org.w3c.dom.Element.getSchemaTypeInfo_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;org.w3c.dom.Element
+</A></nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.getSearchableInfo_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getSearchableInfo</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.getSearchablesInGlobalSearch_added()" class="hiddenlink" target="rightframe"><b>getSearchablesInGlobalSearch</b>
+()</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.getStrictErrorChecking_added()" class="hiddenlink" target="rightframe"><b>getStrictErrorChecking</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getSupportedJpegThumbnailSizes_added()" class="hiddenlink" target="rightframe"><b>getSupportedJpegThumbnailSizes</b>
+()</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.getTextContent_added()" class="hiddenlink" target="rightframe"><b>getTextContent</b>
+()</A></nobr><br>
+<i>getThumbnail</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.MediaStore.Images.Thumbnails.html#android.provider.MediaStore.Images.Thumbnails.getThumbnail_added(android.content.ContentResolver, long, long, int, android.graphics.BitmapFactory.Options)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>ContentResolver, long, long, int, Options</code>)</b>&nbsp;in&nbsp;android.provider.MediaStore.Images.Thumbnails
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.MediaStore.Video.Thumbnails.html#android.provider.MediaStore.Video.Thumbnails.getThumbnail_added(android.content.ContentResolver, long, long, int, android.graphics.BitmapFactory.Options)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>ContentResolver, long, long, int, Options</code>)</b>&nbsp;in&nbsp;android.provider.MediaStore.Video.Thumbnails
+</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.getUserData_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>getUserData</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.net.http.SslCertificate.html#android.net.http.SslCertificate.getValidNotAfter_changed()" class="hiddenlink" target="rightframe">getValidNotAfter
+()</A></nobr><br>
+<nobr><A HREF="android.net.http.SslCertificate.html#android.net.http.SslCertificate.getValidNotAfterDate_added()" class="hiddenlink" target="rightframe"><b>getValidNotAfterDate</b>
+()</A></nobr><br>
+<nobr><A HREF="android.net.http.SslCertificate.html#android.net.http.SslCertificate.getValidNotBefore_changed()" class="hiddenlink" target="rightframe">getValidNotBefore
+()</A></nobr><br>
+<nobr><A HREF="android.net.http.SslCertificate.html#android.net.http.SslCertificate.getValidNotBeforeDate_added()" class="hiddenlink" target="rightframe"><b>getValidNotBeforeDate</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getVerticalViewAngle_added()" class="hiddenlink" target="rightframe"><b>getVerticalViewAngle</b>
+()</A></nobr><br>
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.getVoiceDetailsIntent_added(android.content.Context)" class="hiddenlink" target="rightframe"><b>getVoiceDetailsIntent</b>
+(<code>Context</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Text.html#org.w3c.dom.Text.getWholeText_added()" class="hiddenlink" target="rightframe"><b>getWholeText</b>
+()</A></nobr><br>
+<i>getXmlEncoding</i><br>
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.getXmlEncoding_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;org.w3c.dom.Document
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Entity.html#org.w3c.dom.Entity.getXmlEncoding_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;org.w3c.dom.Entity
+</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.getXmlStandalone_added()" class="hiddenlink" target="rightframe"><b>getXmlStandalone</b>
+()</A></nobr><br>
+<i>getXmlVersion</i><br>
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.getXmlVersion_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;org.w3c.dom.Document
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="org.w3c.dom.Entity.html#org.w3c.dom.Entity.getXmlVersion_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;org.w3c.dom.Entity
+</A></nobr><br>
+<nobr><A HREF="android.view.VelocityTracker.html#android.view.VelocityTracker.getXVelocity_added(int)" class="hiddenlink" target="rightframe"><b>getXVelocity</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.VelocityTracker.html#android.view.VelocityTracker.getYVelocity_added(int)" class="hiddenlink" target="rightframe"><b>getYVelocity</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getZoom_added()" class="hiddenlink" target="rightframe"><b>getZoom</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getZoomRatios_added()" class="hiddenlink" target="rightframe"><b>getZoomRatios</b>
+()</A></nobr><br>
+<A NAME="H"></A>
+<br><font size="+2">H</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#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="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="org.w3c.dom.Element.html#org.w3c.dom.Element.hasAttributeNS_changed(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">hasAttributeNS
+(<code>String, String</code>)</A></nobr><br>
+<nobr><A HREF="android.accounts.AccountManager.html#android.accounts.AccountManager.hasFeatures_added(android.accounts.Account, java.lang.String[], android.accounts.AccountManagerCallback<java.lang.Boolean>, android.os.Handler)" class="hiddenlink" target="rightframe"><b>hasFeatures</b>
+(<code>Account, String[], AccountManagerCallback&lt;Boolean&gt;, Handler</code>)</A></nobr><br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#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="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.insertWithOnConflict_added(java.lang.String, java.lang.String, android.content.ContentValues, int)" class="hiddenlink" target="rightframe"><b>insertWithOnConflict</b>
+(<code>String, String, ContentValues, int</code>)</A></nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.isBluetoothScoAvailableOffCall_added()" class="hiddenlink" target="rightframe"><b>isBluetoothScoAvailableOffCall</b>
+()</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.isDefaultNamespace_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>isDefaultNamespace</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Text.html#org.w3c.dom.Text.isElementContentWhitespace_added()" class="hiddenlink" target="rightframe"><b>isElementContentWhitespace</b>
+()</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.isEqualNode_added(org.w3c.dom.Node)" class="hiddenlink" target="rightframe"><b>isEqualNode</b>
+(<code>Node</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Attr.html#org.w3c.dom.Attr.isId_added()" class="hiddenlink" target="rightframe"><b>isId</b>
+()</A></nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.isLocationProviderEnabled_added(android.content.ContentResolver, java.lang.String)" class="hiddenlink" target="rightframe"><b>isLocationProviderEnabled</b>
+(<code>ContentResolver, String</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.isSameNode_added(org.w3c.dom.Node)" class="hiddenlink" target="rightframe"><b>isSameNode</b>
+(<code>Node</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.isSmoothZoomSupported_added()" class="hiddenlink" target="rightframe"><b>isSmoothZoomSupported</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.isStripEnabled_added()" class="hiddenlink" target="rightframe"><b>isStripEnabled</b>
+()</A></nobr><br>
+<nobr><A HREF="java.nio.charset.Charset.html#java.nio.charset.Charset.isSupported_changed(java.lang.String)" class="hiddenlink" target="rightframe">isSupported
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.app.ActivityManager.html#android.app.ActivityManager.isUserAMonkey_added()" class="hiddenlink" target="rightframe"><b>isUserAMonkey</b>
+()</A></nobr><br>
+<i>isXIncludeAware</i><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.DocumentBuilder.html#javax.xml.parsers.DocumentBuilder.isXIncludeAware_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;javax.xml.parsers.DocumentBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.SAXParser.html#javax.xml.parsers.SAXParser.isXIncludeAware_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;javax.xml.parsers.SAXParser
+</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.isZoomSupported_added()" class="hiddenlink" target="rightframe"><b>isZoomSupported</b>
+()</A></nobr><br>
+<A NAME="K"></A>
+<br><font size="+2">K</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#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="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.ActivityManager.html#android.app.ActivityManager.killBackgroundProcesses_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>killBackgroundProcesses</b>
+(<code>String</code>)</A></nobr><br>
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#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="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.webkit.WebView.html#android.webkit.WebView.loadUrl_added(java.lang.String, java.util.Map<java.lang.String, java.lang.String>)" class="hiddenlink" target="rightframe"><b>loadUrl</b>
+(<code>String, Map&lt;String, String&gt;</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.lookupNamespaceURI_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>lookupNamespaceURI</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.lookupPrefix_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>lookupPrefix</b>
+(<code>String</code>)</A></nobr><br>
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#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="#W"><font size="-2">W</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.MediaStore.Audio.Playlists.Members.html#android.provider.MediaStore.Audio.Playlists.Members.moveItem_added(android.content.ContentResolver, long, int, int)" class="hiddenlink" target="rightframe"><b>moveItem</b>
+(<code>ContentResolver, long, int, int</code>)</A></nobr><br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</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="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.database.sqlite.SQLiteProgram.html#android.database.sqlite.SQLiteProgram.native_compile_changed(java.lang.String)" class="hiddenlink" target="rightframe">native_compile
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.database.sqlite.SQLiteProgram.html#android.database.sqlite.SQLiteProgram.native_finalize_changed()" class="hiddenlink" target="rightframe">native_finalize
+()</A></nobr><br>
+<i>newEntityIterator</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.ContactsContract.Groups.html#android.provider.ContactsContract.Groups.newEntityIterator_added(android.database.Cursor)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Cursor</code>)</b>&nbsp;in&nbsp;android.provider.ContactsContract.Groups
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.provider.ContactsContract.RawContacts.html#android.provider.ContactsContract.RawContacts.newEntityIterator_added(android.database.Cursor)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Cursor</code>)</b>&nbsp;in&nbsp;android.provider.ContactsContract.RawContacts
+</A></nobr><br>
+<i>newInstance</i><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.DocumentBuilderFactory.html#javax.xml.parsers.DocumentBuilderFactory.newInstance_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;javax.xml.parsers.DocumentBuilderFactory
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.SAXParserFactory.html#javax.xml.parsers.SAXParserFactory.newInstance_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;javax.xml.parsers.SAXParserFactory
+</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.normalizeDocument_added()" class="hiddenlink" target="rightframe"><b>normalizeDocument</b>
+()</A></nobr><br>
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#P"><font size="-2">P</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="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.webkit.WebView.html#android.webkit.WebView.onChildViewAdded_changed(android.view.View, android.view.View)" class="hiddenlink" target="rightframe">onChildViewAdded
+(<code>View, View</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebView.html#android.webkit.WebView.onChildViewRemoved_changed(android.view.View, android.view.View)" class="hiddenlink" target="rightframe">onChildViewRemoved
+(<code>View, View</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.onConfigurationChanged_added(android.content.res.Configuration)" class="hiddenlink" target="rightframe"><b>onConfigurationChanged</b>
+(<code>Configuration</code>)</A></nobr><br>
+<i>onConsoleMessage</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.WebChromeClient.html#android.webkit.WebChromeClient.onConsoleMessage_removed(java.lang.String, int, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>String, int, String</code>)</strike>&nbsp;in&nbsp;android.webkit.WebChromeClient
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.WebChromeClient.html#android.webkit.WebChromeClient.onConsoleMessage_added(android.webkit.ConsoleMessage)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>ConsoleMessage</code>)</b>&nbsp;in&nbsp;android.webkit.WebChromeClient
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.webkit.WebChromeClient.html#android.webkit.WebChromeClient.onConsoleMessage_added(java.lang.String, int, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, int, String</code>)</b>&nbsp;in&nbsp;android.webkit.WebChromeClient
+</A></nobr><br>
+<i>onCreateDialog</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Activity.html#android.app.Activity.onCreateDialog_added(int, android.os.Bundle)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, Bundle</code>)</b>&nbsp;in&nbsp;android.app.Activity
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Activity.html#android.app.Activity.onCreateDialog_changed(int)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int</code>)&nbsp;in&nbsp;android.app.Activity
+</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.onDisplayHint_added(int)" class="hiddenlink" target="rightframe"><b>onDisplayHint</b>
+(<code>int</code>)</A></nobr><br>
+<i>onPrepareDialog</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Activity.html#android.app.Activity.onPrepareDialog_added(int, android.app.Dialog, android.os.Bundle)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, Dialog, Bundle</code>)</b>&nbsp;in&nbsp;android.app.Activity
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Activity.html#android.app.Activity.onPrepareDialog_changed(int, android.app.Dialog)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int, Dialog</code>)&nbsp;in&nbsp;android.app.Activity
+</A></nobr><br>
+<nobr><A HREF="android.webkit.WebViewClient.html#android.webkit.WebViewClient.onReceivedSslError_added(android.webkit.WebView, android.webkit.SslErrorHandler, android.net.http.SslError)" class="hiddenlink" target="rightframe"><b>onReceivedSslError</b>
+(<code>WebView, SslErrorHandler, SslError</code>)</A></nobr><br>
+<nobr><A HREF="android.content.AbstractThreadedSyncAdapter.html#android.content.AbstractThreadedSyncAdapter.onSyncCanceled_added()" class="hiddenlink" target="rightframe"><b>onSyncCanceled</b>
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebViewClient.html#android.webkit.WebViewClient.onTooManyRedirects_changed(android.webkit.WebView, android.os.Message, android.os.Message)" class="hiddenlink" target="rightframe">onTooManyRedirects
+(<code>WebView, Message, Message</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.onVisibilityChanged_added(android.view.View, int)" class="hiddenlink" target="rightframe"><b>onVisibilityChanged</b>
+(<code>View, int</code>)</A></nobr><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.putCharSequenceArray_added(java.lang.String, java.lang.CharSequence[])" class="hiddenlink" target="rightframe"><b>putCharSequenceArray</b>
+(<code>String, CharSequence[]</code>)</A></nobr><br>
+<nobr><A HREF="android.os.Bundle.html#android.os.Bundle.putCharSequenceArrayList_added(java.lang.String, java.util.ArrayList<java.lang.CharSequence>)" class="hiddenlink" target="rightframe"><b>putCharSequenceArrayList</b>
+(<code>String, ArrayList&lt;CharSequence&gt;</code>)</A></nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.putCharSequenceArrayListExtra_added(java.lang.String, java.util.ArrayList<java.lang.CharSequence>)" class="hiddenlink" target="rightframe"><b>putCharSequenceArrayListExtra</b>
+(<code>String, ArrayList&lt;CharSequence&gt;</code>)</A></nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.putExtra_added(java.lang.String, java.lang.CharSequence[])" class="hiddenlink" target="rightframe"><b>putExtra</b>
+(<code>String, CharSequence[]</code>)</A></nobr><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#W"><font size="-2">W</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.res.Configuration.html#android.content.res.Configuration.readFromParcel_added(android.os.Parcel)" class="hiddenlink" target="rightframe"><b>readFromParcel</b>
+(<code>Parcel</code>)</A></nobr><br>
+<nobr><A HREF="android.os.PowerManager.html#android.os.PowerManager.reboot_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>reboot</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.reconnect_added()" class="hiddenlink" target="rightframe"><b>reconnect</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.registerMediaButtonEventReceiver_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>registerMediaButtonEventReceiver</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.content.ContentResolver.html#android.content.ContentResolver.removePeriodicSync_added(android.accounts.Account, java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>removePeriodicSync</b>
+(<code>Account, String, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.renameNode_added(org.w3c.dom.Node, java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe"><b>renameNode</b>
+(<code>Node, String, String</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Text.html#org.w3c.dom.Text.replaceWholeText_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>replaceWholeText</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.requestAudioFocus_added(android.media.AudioManager.OnAudioFocusChangeListener, int, int)" class="hiddenlink" target="rightframe"><b>requestAudioFocus</b>
+(<code>OnAudioFocusChangeListener, int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.os.Debug.html#android.os.Debug.resetGlobalClassInitCount_added()" class="hiddenlink" target="rightframe"><b>resetGlobalClassInitCount</b>
+()</A></nobr><br>
+<nobr><A HREF="android.os.Debug.html#android.os.Debug.resetGlobalClassInitTime_added()" class="hiddenlink" target="rightframe"><b>resetGlobalClassInitTime</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.ActivityManager.html#android.app.ActivityManager.restartPackage_changed(java.lang.String)" class="hiddenlink" target="rightframe">restartPackage
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.VideoView.html#android.widget.VideoView.resume_added()" class="hiddenlink" target="rightframe"><b>resume</b>
+()</A></nobr><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.media.MediaScannerConnection.html#android.media.MediaScannerConnection.scanFile_added(android.content.Context, java.lang.String[], java.lang.String[], android.media.MediaScannerConnection.OnScanCompletedListener)" class="hiddenlink" target="rightframe"><b>scanFile</b>
+(<code>Context, String[], String[], OnScanCompletedListener</code>)</A></nobr><br>
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.setAudioChannels_added(int)" class="hiddenlink" target="rightframe"><b>setAudioChannels</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.setAudioEncodingBitRate_added(int)" class="hiddenlink" target="rightframe"><b>setAudioEncodingBitRate</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.setAudioSamplingRate_added(int)" class="hiddenlink" target="rightframe"><b>setAudioSamplingRate</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setBlockNetworkLoads_added(boolean)" class="hiddenlink" target="rightframe"><b>setBlockNetworkLoads</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.RemoteViews.html#android.widget.RemoteViews.setBundle_added(int, java.lang.String, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>setBundle</b>
+(<code>int, String, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.ImageView.html#android.widget.ImageView.setColorFilter_added(int)" class="hiddenlink" target="rightframe"><b>setColorFilter</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.setDisplayOrientation_added(int)" class="hiddenlink" target="rightframe"><b>setDisplayOrientation</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.setDocumentURI_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setDocumentURI</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.opengl.GLSurfaceView.html#android.opengl.GLSurfaceView.setEGLContextClientVersion_added(int)" class="hiddenlink" target="rightframe"><b>setEGLContextClientVersion</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.speech.tts.TextToSpeech.html#android.speech.tts.TextToSpeech.setEngineByPackageName_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setEngineByPackageName</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.setExposureCompensation_added(int)" class="hiddenlink" target="rightframe"><b>setExposureCompensation</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.setGpsProcessingMethod_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setGpsProcessingMethod</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Element.html#org.w3c.dom.Element.setIdAttribute_added(java.lang.String, boolean)" class="hiddenlink" target="rightframe"><b>setIdAttribute</b>
+(<code>String, boolean</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Element.html#org.w3c.dom.Element.setIdAttributeNode_added(org.w3c.dom.Attr, boolean)" class="hiddenlink" target="rightframe"><b>setIdAttributeNode</b>
+(<code>Attr, boolean</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Element.html#org.w3c.dom.Element.setIdAttributeNS_added(java.lang.String, java.lang.String, boolean)" class="hiddenlink" target="rightframe"><b>setIdAttributeNS</b>
+(<code>String, String, boolean</code>)</A></nobr><br>
+<i>setLeftStripDrawable</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.setLeftStripDrawable_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Drawable</code>)</b>&nbsp;in&nbsp;android.widget.TabWidget
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.setLeftStripDrawable_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.widget.TabWidget
+</A></nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.setLocationProviderEnabled_added(android.content.ContentResolver, java.lang.String, boolean)" class="hiddenlink" target="rightframe"><b>setLocationProviderEnabled</b>
+(<code>ContentResolver, String, boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.opengl.Matrix.html#android.opengl.Matrix.setLookAtM_added(float[], int, float, float, float, float, float, float, float, float, float)" class="hiddenlink" target="rightframe"><b>setLookAtM</b>
+(<code>float[], int, float, float, float, float, float, float, float, float, float</code>)</A></nobr><br>
+<nobr><A HREF="android.media.SoundPool.html#android.media.SoundPool.setOnLoadCompleteListener_added(android.media.SoundPool.OnLoadCompleteListener)" class="hiddenlink" target="rightframe"><b>setOnLoadCompleteListener</b>
+(<code>OnLoadCompleteListener</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Dialog.html#android.app.Dialog.setOnShowListener_added(android.content.DialogInterface.OnShowListener)" class="hiddenlink" target="rightframe"><b>setOnShowListener</b>
+(<code>OnShowListener</code>)</A></nobr><br>
+<nobr><A HREF="java.net.DatagramSocketImpl.html#java.net.DatagramSocketImpl.setOption_removed(int, java.lang.Object)" class="hiddenlink" target="rightframe"><strike>setOption</strike>
+(<code>int, Object</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setPluginsEnabled_changed(boolean)" class="hiddenlink" target="rightframe">setPluginsEnabled
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setPluginState_added(android.webkit.WebSettings.PluginState)" class="hiddenlink" target="rightframe"><b>setPluginState</b>
+(<code>PluginState</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.setPreviewCallbackWithBuffer_added(android.hardware.Camera.PreviewCallback)" class="hiddenlink" target="rightframe"><b>setPreviewCallbackWithBuffer</b>
+(<code>PreviewCallback</code>)</A></nobr><br>
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.setProfile_added(android.media.CamcorderProfile)" class="hiddenlink" target="rightframe"><b>setProfile</b>
+(<code>CamcorderProfile</code>)</A></nobr><br>
+<i>setRightStripDrawable</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.setRightStripDrawable_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Drawable</code>)</b>&nbsp;in&nbsp;android.widget.TabWidget
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.setRightStripDrawable_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.widget.TabWidget
+</A></nobr><br>
+<i>setSchema</i><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.DocumentBuilderFactory.html#javax.xml.parsers.DocumentBuilderFactory.setSchema_added(javax.xml.validation.Schema)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Schema</code>)</b>&nbsp;in&nbsp;javax.xml.parsers.DocumentBuilderFactory
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.SAXParserFactory.html#javax.xml.parsers.SAXParserFactory.setSchema_added(javax.xml.validation.Schema)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Schema</code>)</b>&nbsp;in&nbsp;javax.xml.parsers.SAXParserFactory
+</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.setStrictErrorChecking_added(boolean)" class="hiddenlink" target="rightframe"><b>setStrictErrorChecking</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.setStripEnabled_added(boolean)" class="hiddenlink" target="rightframe"><b>setStripEnabled</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.setTextContent_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setTextContent</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.app.AlarmManager.html#android.app.AlarmManager.setTime_added(long)" class="hiddenlink" target="rightframe"><b>setTime</b>
+(<code>long</code>)</A></nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.setTo_added(android.content.res.Configuration)" class="hiddenlink" target="rightframe"><b>setTo</b>
+(<code>Configuration</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Node.html#org.w3c.dom.Node.setUserData_added(java.lang.String, java.lang.Object, org.w3c.dom.UserDataHandler)" class="hiddenlink" target="rightframe"><b>setUserData</b>
+(<code>String, Object, UserDataHandler</code>)</A></nobr><br>
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.setVideoEncodingBitRate_added(int)" class="hiddenlink" target="rightframe"><b>setVideoEncodingBitRate</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.setXmlStandalone_added(boolean)" class="hiddenlink" target="rightframe"><b>setXmlStandalone</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Document.html#org.w3c.dom.Document.setXmlVersion_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setXmlVersion</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.setZoom_added(int)" class="hiddenlink" target="rightframe"><b>setZoom</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.setZoomChangeListener_added(android.hardware.Camera.OnZoomChangeListener)" class="hiddenlink" target="rightframe"><b>setZoomChangeListener</b>
+(<code>OnZoomChangeListener</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.showDialog_added(int, android.os.Bundle)" class="hiddenlink" target="rightframe"><b>showDialog</b>
+(<code>int, Bundle</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.AbsListView.html#android.widget.AbsListView.smoothScrollBy_added(int, int)" class="hiddenlink" target="rightframe"><b>smoothScrollBy</b>
+(<code>int, int</code>)</A></nobr><br>
+<i>smoothScrollToPosition</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.AbsListView.html#android.widget.AbsListView.smoothScrollToPosition_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.widget.AbsListView
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.AbsListView.html#android.widget.AbsListView.smoothScrollToPosition_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.widget.AbsListView
+</A></nobr><br>
+<nobr><A HREF="java.util.regex.Matcher.html#java.util.regex.Matcher.start_changed()" class="hiddenlink" target="rightframe">start
+()</A></nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.startBluetoothSco_added()" class="hiddenlink" target="rightframe"><b>startBluetoothSco</b>
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.CacheManager.html#android.webkit.CacheManager.startCacheTransaction_changed()" class="hiddenlink" target="rightframe">startCacheTransaction
+()</A></nobr><br>
+<nobr><A HREF="dalvik.system.VMDebug.html#dalvik.system.VMDebug.startMethodTracing_changed()" class="hiddenlink" target="rightframe">startMethodTracing
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.startSmoothZoom_added(int)" class="hiddenlink" target="rightframe"><b>startSmoothZoom</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.stopBluetoothSco_added()" class="hiddenlink" target="rightframe"><b>stopBluetoothSco</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.stopSmoothZoom_added()" class="hiddenlink" target="rightframe"><b>stopSmoothZoom</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.VideoView.html#android.widget.VideoView.suspend_added()" class="hiddenlink" target="rightframe"><b>suspend</b>
+()</A></nobr><br>
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.text.util.Rfc822Tokenizer.html#android.text.util.Rfc822Tokenizer.tokenize_added(java.lang.CharSequence, java.util.Collection<android.text.util.Rfc822Token>)" class="hiddenlink" target="rightframe"><b>tokenize</b>
+(<code>CharSequence, Collection&lt;Rfc822Token&gt;</code>)</A></nobr><br>
+<A NAME="U"></A>
+<br><font size="+2">U</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.unregisterMediaButtonEventReceiver_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>unregisterMediaButtonEventReceiver</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.database.sqlite.SQLiteDatabase.html#android.database.sqlite.SQLiteDatabase.updateWithOnConflict_added(java.lang.String, android.content.ContentValues, java.lang.String, java.lang.String[], int)" class="hiddenlink" target="rightframe"><b>updateWithOnConflict</b>
+(<code>String, ContentValues, String, String[], int</code>)</A></nobr><br>
+<A NAME="W"></A>
+<br><font size="+2">W</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>wtf</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.util.Log.html#android.util.Log.wtf_added(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, String</code>)</b>&nbsp;in&nbsp;android.util.Log
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.util.Log.html#android.util.Log.wtf_added(java.lang.String, java.lang.String, java.lang.Throwable)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, String, Throwable</code>)</b>&nbsp;in&nbsp;android.util.Log
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.util.Log.html#android.util.Log.wtf_added(java.lang.String, java.lang.Throwable)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, Throwable</code>)</b>&nbsp;in&nbsp;android.util.Log
+</A></nobr><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/methods_index_changes.html b/docs/html/sdk/api_diff/8/changes/methods_index_changes.html
new file mode 100644
index 0000000..b7268b7
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/methods_index_changes.html
@@ -0,0 +1,303 @@
+<!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>
+Method Changes Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Methods" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="methods_index_all.html" class="staysblack">All Methods</a>
+  <br>
+<A HREF="methods_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<A HREF="methods_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<b>Changes</b>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+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>
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<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="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</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.pm.PackageManager.html#android.content.pm.PackageManager.addPreferredActivity_changed(android.content.IntentFilter, int, android.content.ComponentName[], android.content.ComponentName)" class="hiddenlink" target="rightframe">addPreferredActivity
+(<code>IntentFilter, int, ComponentName[], ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="java.util.regex.Matcher.html#java.util.regex.Matcher.appendReplacement_changed(java.lang.StringBuffer, java.lang.String)" class="hiddenlink" target="rightframe">appendReplacement
+(<code>StringBuffer, String</code>)</A></nobr><br>
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</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">
+<i>clone</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ComponentName.html#android.content.ComponentName.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.content.ComponentName
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.gesture.Gesture.html#android.gesture.Gesture.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.gesture.Gesture
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.gesture.GesturePoint.html#android.gesture.GesturePoint.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.gesture.GesturePoint
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.gesture.GestureStroke.html#android.gesture.GestureStroke.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.gesture.GestureStroke
+</A></nobr><br>
+<i>compile</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.database.sqlite.SQLiteProgram.html#android.database.sqlite.SQLiteProgram.compile_changed(java.lang.String, boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, boolean</code>)&nbsp;in&nbsp;android.database.sqlite.SQLiteProgram
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.regex.Pattern.html#java.util.regex.Pattern.compile_changed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String</code>)&nbsp;in&nbsp;java.util.regex.Pattern
+</A></nobr><br>
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</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="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</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.webkit.CacheManager.html#android.webkit.CacheManager.endCacheTransaction_changed()" class="hiddenlink" target="rightframe">endCacheTransaction
+()</A></nobr><br>
+<A NAME="F"></A>
+<br><font size="+2">F</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</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="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</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="java.nio.charset.Charset.html#java.nio.charset.Charset.forName_changed(java.lang.String)" class="hiddenlink" target="rightframe">forName
+(<code>String</code>)</A></nobr><br>
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#H"><font size="-2">H</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</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="org.w3c.dom.Element.html#org.w3c.dom.Element.getAttributeNodeNS_changed(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">getAttributeNodeNS
+(<code>String, String</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Element.html#org.w3c.dom.Element.getAttributeNS_changed(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">getAttributeNS
+(<code>String, String</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.ListView.html#android.widget.ListView.getCheckItemIds_changed()" class="hiddenlink" target="rightframe">getCheckItemIds
+()</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.Element.html#org.w3c.dom.Element.getElementsByTagNameNS_changed(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">getElementsByTagNameNS
+(<code>String, String</code>)</A></nobr><br>
+<nobr><A HREF="org.w3c.dom.NamedNodeMap.html#org.w3c.dom.NamedNodeMap.getNamedItemNS_changed(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">getNamedItemNS
+(<code>String, String</code>)</A></nobr><br>
+<nobr><A HREF="android.view.Display.html#android.view.Display.getOrientation_changed()" class="hiddenlink" target="rightframe">getOrientation
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getPluginsEnabled_changed()" class="hiddenlink" target="rightframe">getPluginsEnabled
+()</A></nobr><br>
+<nobr><A HREF="android.net.http.SslCertificate.html#android.net.http.SslCertificate.getValidNotAfter_changed()" class="hiddenlink" target="rightframe">getValidNotAfter
+()</A></nobr><br>
+<nobr><A HREF="android.net.http.SslCertificate.html#android.net.http.SslCertificate.getValidNotBefore_changed()" class="hiddenlink" target="rightframe">getValidNotBefore
+()</A></nobr><br>
+<A NAME="H"></A>
+<br><font size="+2">H</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#I"><font size="-2">I</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</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="org.w3c.dom.Element.html#org.w3c.dom.Element.hasAttributeNS_changed(java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe">hasAttributeNS
+(<code>String, String</code>)</A></nobr><br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</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="java.nio.charset.Charset.html#java.nio.charset.Charset.isSupported_changed(java.lang.String)" class="hiddenlink" target="rightframe">isSupported
+(<code>String</code>)</A></nobr><br>
+<i>isXIncludeAware</i><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.DocumentBuilder.html#javax.xml.parsers.DocumentBuilder.isXIncludeAware_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;javax.xml.parsers.DocumentBuilder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.SAXParser.html#javax.xml.parsers.SAXParser.isXIncludeAware_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;javax.xml.parsers.SAXParser
+</A></nobr><br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</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.database.sqlite.SQLiteProgram.html#android.database.sqlite.SQLiteProgram.native_compile_changed(java.lang.String)" class="hiddenlink" target="rightframe">native_compile
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.database.sqlite.SQLiteProgram.html#android.database.sqlite.SQLiteProgram.native_finalize_changed()" class="hiddenlink" target="rightframe">native_finalize
+()</A></nobr><br>
+<i>newInstance</i><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.DocumentBuilderFactory.html#javax.xml.parsers.DocumentBuilderFactory.newInstance_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;javax.xml.parsers.DocumentBuilderFactory
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.xml.parsers.SAXParserFactory.html#javax.xml.parsers.SAXParserFactory.newInstance_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;javax.xml.parsers.SAXParserFactory
+</A></nobr><br>
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#N"><font size="-2">N</font></a> 
+<a href="#R"><font size="-2">R</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.webkit.WebView.html#android.webkit.WebView.onChildViewAdded_changed(android.view.View, android.view.View)" class="hiddenlink" target="rightframe">onChildViewAdded
+(<code>View, View</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebView.html#android.webkit.WebView.onChildViewRemoved_changed(android.view.View, android.view.View)" class="hiddenlink" target="rightframe">onChildViewRemoved
+(<code>View, View</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.onCreateDialog_changed(int)" class="hiddenlink" target="rightframe">onCreateDialog
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Activity.html#android.app.Activity.onPrepareDialog_changed(int, android.app.Dialog)" class="hiddenlink" target="rightframe">onPrepareDialog
+(<code>int, Dialog</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebViewClient.html#android.webkit.WebViewClient.onTooManyRedirects_changed(android.webkit.WebView, android.os.Message, android.os.Message)" class="hiddenlink" target="rightframe">onTooManyRedirects
+(<code>WebView, Message, Message</code>)</A></nobr><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</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.app.ActivityManager.html#android.app.ActivityManager.restartPackage_changed(java.lang.String)" class="hiddenlink" target="rightframe">restartPackage
+(<code>String</code>)</A></nobr><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setPluginsEnabled_changed(boolean)" class="hiddenlink" target="rightframe">setPluginsEnabled
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="java.util.regex.Matcher.html#java.util.regex.Matcher.start_changed()" class="hiddenlink" target="rightframe">start
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.CacheManager.html#android.webkit.CacheManager.startCacheTransaction_changed()" class="hiddenlink" target="rightframe">startCacheTransaction
+()</A></nobr><br>
+<nobr><A HREF="dalvik.system.VMDebug.html#dalvik.system.VMDebug.startMethodTracing_changed()" class="hiddenlink" target="rightframe">startMethodTracing
+()</A></nobr><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/methods_index_removals.html b/docs/html/sdk/api_diff/8/changes/methods_index_removals.html
new file mode 100644
index 0000000..5e7e067e
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/methods_index_removals.html
@@ -0,0 +1,85 @@
+<!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>
+Method Removals Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Methods" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="methods_index_all.html" class="staysblack">All Methods</a>
+  <br>
+<b>Removals</b>
+  <br>
+<A HREF="methods_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<A HREF="methods_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+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>
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<a href="#O"><font size="-2">O</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="java.net.DatagramSocketImpl.html#java.net.DatagramSocketImpl.getOption_removed(int)" class="hiddenlink" target="rightframe"><strike>getOption</strike>
+(<code>int</code>)</A></nobr><br>
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<a href="#G"><font size="-2">G</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.webkit.WebChromeClient.html#android.webkit.WebChromeClient.onConsoleMessage_removed(java.lang.String, int, java.lang.String)" class="hiddenlink" target="rightframe"><strike>onConsoleMessage</strike>
+(<code>String, int, String</code>)</A></nobr><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="java.net.DatagramSocketImpl.html#java.net.DatagramSocketImpl.setOption_removed(int, java.lang.Object)" class="hiddenlink" target="rightframe"><strike>setOption</strike>
+(<code>int, Object</code>)</A></nobr><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/org.w3c.dom.Attr.html b/docs/html/sdk/api_diff/8/changes/org.w3c.dom.Attr.html
new file mode 100644
index 0000000..860375b
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/org.w3c.dom.Attr.html
@@ -0,0 +1,129 @@
+<!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>
+org.w3c.dom.Attr
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Interface org.w3c.dom.<A HREF="../../../../reference/org/w3c/dom/Attr.html" target="_top"><font size="+2"><code>Attr</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Attr.getSchemaTypeInfo_added()"></A>
+  <nobr><code>TypeInfo</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Attr.html#getSchemaTypeInfo()" target="_top"><code>getSchemaTypeInfo</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Attr.isId_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Attr.html#isId()" target="_top"><code>isId</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/org.w3c.dom.DOMException.html b/docs/html/sdk/api_diff/8/changes/org.w3c.dom.DOMException.html
new file mode 100644
index 0000000..c7e82fb
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/org.w3c.dom.DOMException.html
@@ -0,0 +1,129 @@
+<!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>
+org.w3c.dom.DOMException
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class org.w3c.dom.<A HREF="../../../../reference/org/w3c/dom/DOMException.html" target="_top"><font size="+2"><code>DOMException</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.DOMException.TYPE_MISMATCH_ERR"></A>
+  <nobr><code>short</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/DOMException.html#TYPE_MISMATCH_ERR" target="_top"><code>TYPE_MISMATCH_ERR</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.DOMException.VALIDATION_ERR"></A>
+  <nobr><code>short</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/DOMException.html#VALIDATION_ERR" target="_top"><code>VALIDATION_ERR</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/org.w3c.dom.DOMImplementation.html b/docs/html/sdk/api_diff/8/changes/org.w3c.dom.DOMImplementation.html
new file mode 100644
index 0000000..4c498fa
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/org.w3c.dom.DOMImplementation.html
@@ -0,0 +1,122 @@
+<!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>
+org.w3c.dom.DOMImplementation
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Interface org.w3c.dom.<A HREF="../../../../reference/org/w3c/dom/DOMImplementation.html" target="_top"><font size="+2"><code>DOMImplementation</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.DOMImplementation.getFeature_added(java.lang.String, java.lang.String)"></A>
+  <nobr><code>Object</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/DOMImplementation.html#getFeature(java.lang.String, java.lang.String)" target="_top"><code>getFeature</code></A>(<code>String,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/org.w3c.dom.Document.html b/docs/html/sdk/api_diff/8/changes/org.w3c.dom.Document.html
new file mode 100644
index 0000000..8eaf593
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/org.w3c.dom.Document.html
@@ -0,0 +1,213 @@
+<!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>
+org.w3c.dom.Document
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Interface org.w3c.dom.<A HREF="../../../../reference/org/w3c/dom/Document.html" target="_top"><font size="+2"><code>Document</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Document.adoptNode_added(org.w3c.dom.Node)"></A>
+  <nobr><code>Node</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Document.html#adoptNode(org.w3c.dom.Node)" target="_top"><code>adoptNode</code></A>(<code>Node</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Document.getDocumentURI_added()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Document.html#getDocumentURI()" target="_top"><code>getDocumentURI</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Document.getDomConfig_added()"></A>
+  <nobr><code>DOMConfiguration</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Document.html#getDomConfig()" target="_top"><code>getDomConfig</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Document.getInputEncoding_added()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Document.html#getInputEncoding()" target="_top"><code>getInputEncoding</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Document.getStrictErrorChecking_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Document.html#getStrictErrorChecking()" target="_top"><code>getStrictErrorChecking</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Document.getXmlEncoding_added()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Document.html#getXmlEncoding()" target="_top"><code>getXmlEncoding</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Document.getXmlStandalone_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Document.html#getXmlStandalone()" target="_top"><code>getXmlStandalone</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Document.getXmlVersion_added()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Document.html#getXmlVersion()" target="_top"><code>getXmlVersion</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Document.normalizeDocument_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Document.html#normalizeDocument()" target="_top"><code>normalizeDocument</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Document.renameNode_added(org.w3c.dom.Node, java.lang.String, java.lang.String)"></A>
+  <nobr><code>Node</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Document.html#renameNode(org.w3c.dom.Node, java.lang.String, java.lang.String)" target="_top"><code>renameNode</code></A>(<code>Node,</nobr> String<nobr>,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Document.setDocumentURI_added(java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Document.html#setDocumentURI(java.lang.String)" target="_top"><code>setDocumentURI</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Document.setStrictErrorChecking_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Document.html#setStrictErrorChecking(boolean)" target="_top"><code>setStrictErrorChecking</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Document.setXmlStandalone_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Document.html#setXmlStandalone(boolean)" target="_top"><code>setXmlStandalone</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Document.setXmlVersion_added(java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Document.html#setXmlVersion(java.lang.String)" target="_top"><code>setXmlVersion</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/org.w3c.dom.Element.html b/docs/html/sdk/api_diff/8/changes/org.w3c.dom.Element.html
new file mode 100644
index 0000000..bef9622
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/org.w3c.dom.Element.html
@@ -0,0 +1,191 @@
+<!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>
+org.w3c.dom.Element
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Interface org.w3c.dom.<A HREF="../../../../reference/org/w3c/dom/Element.html" target="_top"><font size="+2"><code>Element</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Element.getSchemaTypeInfo_added()"></A>
+  <nobr><code>TypeInfo</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Element.html#getSchemaTypeInfo()" target="_top"><code>getSchemaTypeInfo</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Element.setIdAttribute_added(java.lang.String, boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Element.html#setIdAttribute(java.lang.String, boolean)" target="_top"><code>setIdAttribute</code></A>(<code>String,</nobr> boolean<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Element.setIdAttributeNS_added(java.lang.String, java.lang.String, boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Element.html#setIdAttributeNS(java.lang.String, java.lang.String, boolean)" target="_top"><code>setIdAttributeNS</code></A>(<code>String,</nobr> String<nobr>,</nobr> boolean<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Element.setIdAttributeNode_added(org.w3c.dom.Attr, boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Element.html#setIdAttributeNode(org.w3c.dom.Attr, boolean)" target="_top"><code>setIdAttributeNode</code></A>(<code>Attr,</nobr> boolean<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Element.getAttributeNS_changed(java.lang.String, java.lang.String)"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Element.html#getAttributeNS(java.lang.String, java.lang.String)" target="_top"><code>getAttributeNS</code></A>(<code>String,</nobr> String<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>org.w3c.dom.DOMException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Element.getAttributeNodeNS_changed(java.lang.String, java.lang.String)"></A>
+  <nobr><code>Attr</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Element.html#getAttributeNodeNS(java.lang.String, java.lang.String)" target="_top"><code>getAttributeNodeNS</code></A>(<code>String,</nobr> String<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>org.w3c.dom.DOMException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Element.getElementsByTagNameNS_changed(java.lang.String, java.lang.String)"></A>
+  <nobr><code>NodeList</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Element.html#getElementsByTagNameNS(java.lang.String, java.lang.String)" target="_top"><code>getElementsByTagNameNS</code></A>(<code>String,</nobr> String<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>org.w3c.dom.DOMException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Element.hasAttributeNS_changed(java.lang.String, java.lang.String)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Element.html#hasAttributeNS(java.lang.String, java.lang.String)" target="_top"><code>hasAttributeNS</code></A>(<code>String,</nobr> String<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>org.w3c.dom.DOMException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/org.w3c.dom.Entity.html b/docs/html/sdk/api_diff/8/changes/org.w3c.dom.Entity.html
new file mode 100644
index 0000000..07cc42c
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/org.w3c.dom.Entity.html
@@ -0,0 +1,136 @@
+<!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>
+org.w3c.dom.Entity
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Interface org.w3c.dom.<A HREF="../../../../reference/org/w3c/dom/Entity.html" target="_top"><font size="+2"><code>Entity</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Entity.getInputEncoding_added()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Entity.html#getInputEncoding()" target="_top"><code>getInputEncoding</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Entity.getXmlEncoding_added()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Entity.html#getXmlEncoding()" target="_top"><code>getXmlEncoding</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Entity.getXmlVersion_added()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Entity.html#getXmlVersion()" target="_top"><code>getXmlVersion</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/org.w3c.dom.NamedNodeMap.html b/docs/html/sdk/api_diff/8/changes/org.w3c.dom.NamedNodeMap.html
new file mode 100644
index 0000000..08662fd
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/org.w3c.dom.NamedNodeMap.html
@@ -0,0 +1,125 @@
+<!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>
+org.w3c.dom.NamedNodeMap
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Interface org.w3c.dom.<A HREF="../../../../reference/org/w3c/dom/NamedNodeMap.html" target="_top"><font size="+2"><code>NamedNodeMap</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.NamedNodeMap.getNamedItemNS_changed(java.lang.String, java.lang.String)"></A>
+  <nobr><code>Node</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/NamedNodeMap.html#getNamedItemNS(java.lang.String, java.lang.String)" target="_top"><code>getNamedItemNS</code></A>(<code>String,</nobr> String<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from no exceptions to <code>org.w3c.dom.DOMException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/org.w3c.dom.Node.html b/docs/html/sdk/api_diff/8/changes/org.w3c.dom.Node.html
new file mode 100644
index 0000000..9c9e968
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/org.w3c.dom.Node.html
@@ -0,0 +1,249 @@
+<!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>
+org.w3c.dom.Node
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Interface org.w3c.dom.<A HREF="../../../../reference/org/w3c/dom/Node.html" target="_top"><font size="+2"><code>Node</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Node.compareDocumentPosition_added(org.w3c.dom.Node)"></A>
+  <nobr><code>short</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Node.html#compareDocumentPosition(org.w3c.dom.Node)" target="_top"><code>compareDocumentPosition</code></A>(<code>Node</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Node.getBaseURI_added()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Node.html#getBaseURI()" target="_top"><code>getBaseURI</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Node.getFeature_added(java.lang.String, java.lang.String)"></A>
+  <nobr><code>Object</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Node.html#getFeature(java.lang.String, java.lang.String)" target="_top"><code>getFeature</code></A>(<code>String,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Node.getTextContent_added()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Node.html#getTextContent()" target="_top"><code>getTextContent</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Node.getUserData_added(java.lang.String)"></A>
+  <nobr><code>Object</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Node.html#getUserData(java.lang.String)" target="_top"><code>getUserData</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Node.isDefaultNamespace_added(java.lang.String)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Node.html#isDefaultNamespace(java.lang.String)" target="_top"><code>isDefaultNamespace</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Node.isEqualNode_added(org.w3c.dom.Node)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Node.html#isEqualNode(org.w3c.dom.Node)" target="_top"><code>isEqualNode</code></A>(<code>Node</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Node.isSameNode_added(org.w3c.dom.Node)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Node.html#isSameNode(org.w3c.dom.Node)" target="_top"><code>isSameNode</code></A>(<code>Node</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Node.lookupNamespaceURI_added(java.lang.String)"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Node.html#lookupNamespaceURI(java.lang.String)" target="_top"><code>lookupNamespaceURI</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Node.lookupPrefix_added(java.lang.String)"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Node.html#lookupPrefix(java.lang.String)" target="_top"><code>lookupPrefix</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Node.setTextContent_added(java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Node.html#setTextContent(java.lang.String)" target="_top"><code>setTextContent</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Node.setUserData_added(java.lang.String, java.lang.Object, org.w3c.dom.UserDataHandler)"></A>
+  <nobr><code>Object</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Node.html#setUserData(java.lang.String, java.lang.Object, org.w3c.dom.UserDataHandler)" target="_top"><code>setUserData</code></A>(<code>String,</nobr> Object<nobr>,</nobr> UserDataHandler<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Node.DOCUMENT_POSITION_CONTAINED_BY"></A>
+  <nobr><code>short</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Node.html#DOCUMENT_POSITION_CONTAINED_BY" target="_top"><code>DOCUMENT_POSITION_CONTAINED_BY</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Node.DOCUMENT_POSITION_CONTAINS"></A>
+  <nobr><code>short</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Node.html#DOCUMENT_POSITION_CONTAINS" target="_top"><code>DOCUMENT_POSITION_CONTAINS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Node.DOCUMENT_POSITION_DISCONNECTED"></A>
+  <nobr><code>short</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Node.html#DOCUMENT_POSITION_DISCONNECTED" target="_top"><code>DOCUMENT_POSITION_DISCONNECTED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Node.DOCUMENT_POSITION_FOLLOWING"></A>
+  <nobr><code>short</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Node.html#DOCUMENT_POSITION_FOLLOWING" target="_top"><code>DOCUMENT_POSITION_FOLLOWING</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC"></A>
+  <nobr><code>short</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Node.html#DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" target="_top"><code>DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Node.DOCUMENT_POSITION_PRECEDING"></A>
+  <nobr><code>short</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Node.html#DOCUMENT_POSITION_PRECEDING" target="_top"><code>DOCUMENT_POSITION_PRECEDING</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/org.w3c.dom.Text.html b/docs/html/sdk/api_diff/8/changes/org.w3c.dom.Text.html
new file mode 100644
index 0000000..eb8a239
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/org.w3c.dom.Text.html
@@ -0,0 +1,136 @@
+<!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>
+org.w3c.dom.Text
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Interface org.w3c.dom.<A HREF="../../../../reference/org/w3c/dom/Text.html" target="_top"><font size="+2"><code>Text</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Text.getWholeText_added()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Text.html#getWholeText()" target="_top"><code>getWholeText</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Text.isElementContentWhitespace_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Text.html#isElementContentWhitespace()" target="_top"><code>isElementContentWhitespace</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="org.w3c.dom.Text.replaceWholeText_added(java.lang.String)"></A>
+  <nobr><code>Text</code>&nbsp;<A HREF="../../../../reference/org/w3c/dom/Text.html#replaceWholeText(java.lang.String)" target="_top"><code>replaceWholeText</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/packages_index_additions.html b/docs/html/sdk/api_diff/8/changes/packages_index_additions.html
new file mode 100644
index 0000000..80069e3
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/packages_index_additions.html
@@ -0,0 +1,77 @@
+<!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>
+Package Additions Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Packages" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="packages_index_all.html" class="staysblack">All Packages</a>
+  <br>
+<font color="#999999">Removals</font>
+  <br>
+<b>Additions</b>
+  <br>
+<A HREF="packages_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+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>
+<br>
+<div id="indexTableEntries">
+<A NAME="A"></A>
+<A HREF="changes-summary.html#android.app.admin" class="hiddenlink" target="rightframe"><b>android.app.admin</b></A><br>
+<A HREF="changes-summary.html#android.app.backup" class="hiddenlink" target="rightframe"><b>android.app.backup</b></A><br>
+<A NAME="J"></A>
+<A HREF="changes-summary.html#javax.xml.datatype" class="hiddenlink" target="rightframe"><b>javax.xml.datatype</b></A><br>
+<A HREF="changes-summary.html#javax.xml.namespace" class="hiddenlink" target="rightframe"><b>javax.xml.namespace</b></A><br>
+<A HREF="changes-summary.html#javax.xml.transform" class="hiddenlink" target="rightframe"><b>javax.xml.transform</b></A><br>
+<A HREF="changes-summary.html#javax.xml.transform.dom" class="hiddenlink" target="rightframe"><b>javax.xml.transform.dom</b></A><br>
+<A HREF="changes-summary.html#javax.xml.transform.sax" class="hiddenlink" target="rightframe"><b>javax.xml.transform.sax</b></A><br>
+<A HREF="changes-summary.html#javax.xml.transform.stream" class="hiddenlink" target="rightframe"><b>javax.xml.transform.stream</b></A><br>
+<A HREF="changes-summary.html#javax.xml.validation" class="hiddenlink" target="rightframe"><b>javax.xml.validation</b></A><br>
+<A HREF="changes-summary.html#javax.xml.xpath" class="hiddenlink" target="rightframe"><b>javax.xml.xpath</b></A><br>
+<A NAME="O"></A>
+<A HREF="changes-summary.html#org.w3c.dom.ls" class="hiddenlink" target="rightframe"><b>org.w3c.dom.ls</b></A><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/packages_index_all.html b/docs/html/sdk/api_diff/8/changes/packages_index_all.html
new file mode 100644
index 0000000..49852d2
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/packages_index_all.html
@@ -0,0 +1,118 @@
+<!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>
+Package Differences Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Packages" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<b>Packages</b>
+  <br>
+<font color="#999999">Removals</font>
+  <br>
+<A HREF="packages_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<A HREF="packages_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+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>
+<br>
+<div id="indexTableEntries">
+<A NAME="A"></A>
+<A HREF="pkg_android.html" class="hiddenlink" target="rightframe">android</A><br>
+<A HREF="pkg_android.accounts.html" class="hiddenlink" target="rightframe">android.accounts</A><br>
+<A HREF="pkg_android.app.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<A HREF="changes-summary.html#android.app.admin" class="hiddenlink" target="rightframe"><b>android.app.admin</b></A><br>
+<A HREF="changes-summary.html#android.app.backup" class="hiddenlink" target="rightframe"><b>android.app.backup</b></A><br>
+<A HREF="pkg_android.content.html" class="hiddenlink" target="rightframe">android.content</A><br>
+<A HREF="pkg_android.content.pm.html" class="hiddenlink" target="rightframe">android.content.pm</A><br>
+<A HREF="pkg_android.content.res.html" class="hiddenlink" target="rightframe">android.content.res</A><br>
+<A HREF="pkg_android.database.html" class="hiddenlink" target="rightframe">android.database</A><br>
+<A HREF="pkg_android.database.sqlite.html" class="hiddenlink" target="rightframe">android.database.sqlite</A><br>
+<A HREF="pkg_android.gesture.html" class="hiddenlink" target="rightframe">android.gesture</A><br>
+<A HREF="pkg_android.graphics.html" class="hiddenlink" target="rightframe">android.graphics</A><br>
+<A HREF="pkg_android.hardware.html" class="hiddenlink" target="rightframe">android.hardware</A><br>
+<A HREF="pkg_android.location.html" class="hiddenlink" target="rightframe">android.location</A><br>
+<A HREF="pkg_android.media.html" class="hiddenlink" target="rightframe">android.media</A><br>
+<A HREF="pkg_android.net.html" class="hiddenlink" target="rightframe">android.net</A><br>
+<A HREF="pkg_android.net.http.html" class="hiddenlink" target="rightframe">android.net.http</A><br>
+<A HREF="pkg_android.opengl.html" class="hiddenlink" target="rightframe">android.opengl</A><br>
+<A HREF="pkg_android.os.html" class="hiddenlink" target="rightframe">android.os</A><br>
+<A HREF="pkg_android.provider.html" class="hiddenlink" target="rightframe">android.provider</A><br>
+<A HREF="pkg_android.speech.html" class="hiddenlink" target="rightframe">android.speech</A><br>
+<A HREF="pkg_android.speech.tts.html" class="hiddenlink" target="rightframe">android.speech.tts</A><br>
+<A HREF="pkg_android.telephony.html" class="hiddenlink" target="rightframe">android.telephony</A><br>
+<A HREF="pkg_android.test.html" class="hiddenlink" target="rightframe">android.test</A><br>
+<A HREF="pkg_android.test.mock.html" class="hiddenlink" target="rightframe">android.test.mock</A><br>
+<A HREF="pkg_android.text.html" class="hiddenlink" target="rightframe">android.text</A><br>
+<A HREF="pkg_android.text.style.html" class="hiddenlink" target="rightframe">android.text.style</A><br>
+<A HREF="pkg_android.text.util.html" class="hiddenlink" target="rightframe">android.text.util</A><br>
+<A HREF="pkg_android.util.html" class="hiddenlink" target="rightframe">android.util</A><br>
+<A HREF="pkg_android.view.html" class="hiddenlink" target="rightframe">android.view</A><br>
+<A HREF="pkg_android.view.animation.html" class="hiddenlink" target="rightframe">android.view.animation</A><br>
+<A HREF="pkg_android.webkit.html" class="hiddenlink" target="rightframe">android.webkit</A><br>
+<A HREF="pkg_android.widget.html" class="hiddenlink" target="rightframe">android.widget</A><br>
+<A NAME="D"></A>
+<A HREF="pkg_dalvik.bytecode.html" class="hiddenlink" target="rightframe">dalvik.bytecode</A><br>
+<A HREF="pkg_dalvik.system.html" class="hiddenlink" target="rightframe">dalvik.system</A><br>
+<A NAME="J"></A>
+<A HREF="pkg_java.net.html" class="hiddenlink" target="rightframe">java.net</A><br>
+<A HREF="pkg_java.nio.charset.html" class="hiddenlink" target="rightframe">java.nio.charset</A><br>
+<A HREF="pkg_java.util.html" class="hiddenlink" target="rightframe">java.util</A><br>
+<A HREF="pkg_java.util.regex.html" class="hiddenlink" target="rightframe">java.util.regex</A><br>
+<A HREF="pkg_javax.xml.html" class="hiddenlink" target="rightframe">javax.xml</A><br>
+<A HREF="changes-summary.html#javax.xml.datatype" class="hiddenlink" target="rightframe"><b>javax.xml.datatype</b></A><br>
+<A HREF="changes-summary.html#javax.xml.namespace" class="hiddenlink" target="rightframe"><b>javax.xml.namespace</b></A><br>
+<A HREF="pkg_javax.xml.parsers.html" class="hiddenlink" target="rightframe">javax.xml.parsers</A><br>
+<A HREF="changes-summary.html#javax.xml.transform" class="hiddenlink" target="rightframe"><b>javax.xml.transform</b></A><br>
+<A HREF="changes-summary.html#javax.xml.transform.dom" class="hiddenlink" target="rightframe"><b>javax.xml.transform.dom</b></A><br>
+<A HREF="changes-summary.html#javax.xml.transform.sax" class="hiddenlink" target="rightframe"><b>javax.xml.transform.sax</b></A><br>
+<A HREF="changes-summary.html#javax.xml.transform.stream" class="hiddenlink" target="rightframe"><b>javax.xml.transform.stream</b></A><br>
+<A HREF="changes-summary.html#javax.xml.validation" class="hiddenlink" target="rightframe"><b>javax.xml.validation</b></A><br>
+<A HREF="changes-summary.html#javax.xml.xpath" class="hiddenlink" target="rightframe"><b>javax.xml.xpath</b></A><br>
+<A NAME="O"></A>
+<A HREF="pkg_org.w3c.dom.html" class="hiddenlink" target="rightframe">org.w3c.dom</A><br>
+<A HREF="changes-summary.html#org.w3c.dom.ls" class="hiddenlink" target="rightframe"><b>org.w3c.dom.ls</b></A><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/packages_index_changes.html b/docs/html/sdk/api_diff/8/changes/packages_index_changes.html
new file mode 100644
index 0000000..152b182
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/packages_index_changes.html
@@ -0,0 +1,107 @@
+<!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>
+Package Changes Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Packages" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="packages_index_all.html" class="staysblack">All Packages</a>
+  <br>
+<font color="#999999">Removals</font>
+  <br>
+<A HREF="packages_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<b>Changes</b>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+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>
+<br>
+<div id="indexTableEntries">
+<A NAME="A"></A>
+<A HREF="pkg_android.html" class="hiddenlink" target="rightframe">android</A><br>
+<A HREF="pkg_android.accounts.html" class="hiddenlink" target="rightframe">android.accounts</A><br>
+<A HREF="pkg_android.app.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<A HREF="pkg_android.content.html" class="hiddenlink" target="rightframe">android.content</A><br>
+<A HREF="pkg_android.content.pm.html" class="hiddenlink" target="rightframe">android.content.pm</A><br>
+<A HREF="pkg_android.content.res.html" class="hiddenlink" target="rightframe">android.content.res</A><br>
+<A HREF="pkg_android.database.html" class="hiddenlink" target="rightframe">android.database</A><br>
+<A HREF="pkg_android.database.sqlite.html" class="hiddenlink" target="rightframe">android.database.sqlite</A><br>
+<A HREF="pkg_android.gesture.html" class="hiddenlink" target="rightframe">android.gesture</A><br>
+<A HREF="pkg_android.graphics.html" class="hiddenlink" target="rightframe">android.graphics</A><br>
+<A HREF="pkg_android.hardware.html" class="hiddenlink" target="rightframe">android.hardware</A><br>
+<A HREF="pkg_android.location.html" class="hiddenlink" target="rightframe">android.location</A><br>
+<A HREF="pkg_android.media.html" class="hiddenlink" target="rightframe">android.media</A><br>
+<A HREF="pkg_android.net.html" class="hiddenlink" target="rightframe">android.net</A><br>
+<A HREF="pkg_android.net.http.html" class="hiddenlink" target="rightframe">android.net.http</A><br>
+<A HREF="pkg_android.opengl.html" class="hiddenlink" target="rightframe">android.opengl</A><br>
+<A HREF="pkg_android.os.html" class="hiddenlink" target="rightframe">android.os</A><br>
+<A HREF="pkg_android.provider.html" class="hiddenlink" target="rightframe">android.provider</A><br>
+<A HREF="pkg_android.speech.html" class="hiddenlink" target="rightframe">android.speech</A><br>
+<A HREF="pkg_android.speech.tts.html" class="hiddenlink" target="rightframe">android.speech.tts</A><br>
+<A HREF="pkg_android.telephony.html" class="hiddenlink" target="rightframe">android.telephony</A><br>
+<A HREF="pkg_android.test.html" class="hiddenlink" target="rightframe">android.test</A><br>
+<A HREF="pkg_android.test.mock.html" class="hiddenlink" target="rightframe">android.test.mock</A><br>
+<A HREF="pkg_android.text.html" class="hiddenlink" target="rightframe">android.text</A><br>
+<A HREF="pkg_android.text.style.html" class="hiddenlink" target="rightframe">android.text.style</A><br>
+<A HREF="pkg_android.text.util.html" class="hiddenlink" target="rightframe">android.text.util</A><br>
+<A HREF="pkg_android.util.html" class="hiddenlink" target="rightframe">android.util</A><br>
+<A HREF="pkg_android.view.html" class="hiddenlink" target="rightframe">android.view</A><br>
+<A HREF="pkg_android.view.animation.html" class="hiddenlink" target="rightframe">android.view.animation</A><br>
+<A HREF="pkg_android.webkit.html" class="hiddenlink" target="rightframe">android.webkit</A><br>
+<A HREF="pkg_android.widget.html" class="hiddenlink" target="rightframe">android.widget</A><br>
+<A NAME="D"></A>
+<A HREF="pkg_dalvik.bytecode.html" class="hiddenlink" target="rightframe">dalvik.bytecode</A><br>
+<A HREF="pkg_dalvik.system.html" class="hiddenlink" target="rightframe">dalvik.system</A><br>
+<A NAME="J"></A>
+<A HREF="pkg_java.net.html" class="hiddenlink" target="rightframe">java.net</A><br>
+<A HREF="pkg_java.nio.charset.html" class="hiddenlink" target="rightframe">java.nio.charset</A><br>
+<A HREF="pkg_java.util.html" class="hiddenlink" target="rightframe">java.util</A><br>
+<A HREF="pkg_java.util.regex.html" class="hiddenlink" target="rightframe">java.util.regex</A><br>
+<A HREF="pkg_javax.xml.html" class="hiddenlink" target="rightframe">javax.xml</A><br>
+<A HREF="pkg_javax.xml.parsers.html" class="hiddenlink" target="rightframe">javax.xml.parsers</A><br>
+<A NAME="O"></A>
+<A HREF="pkg_org.w3c.dom.html" class="hiddenlink" target="rightframe">org.w3c.dom</A><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/packages_index_removals.html b/docs/html/sdk/api_diff/8/changes/packages_index_removals.html
new file mode 100644
index 0000000..d0ffabc
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/packages_index_removals.html
@@ -0,0 +1,63 @@
+<!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>
+Package Removals Index
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY class="gc-documentation" style="padding:12px;">
+<a NAME="topheader"></a>
+<table summary="Index for Packages" width="100%" class="jdiffIndex" border="0" cellspacing="0" cellpadding="0" style="padding-bottom:0;margin-bottom:0;">
+  <tr>
+  <th class="indexHeader">
+    Filter the Index:
+  </th>
+  </tr>
+  <tr>
+  <td class="indexText" style="line-height:1.3em;padding-left:2em;">
+<a href="packages_index_all.html" class="staysblack">All Packages</a>
+  <br>
+<font color="#999999">Removals</font>
+  <br>
+<A HREF="packages_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<A HREF="packages_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption" style="background-color:#eee;padding:0 4px 0 4px;font-size:11px;margin-bottom:1em;">
+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>
+<br>
+<div id="indexTableEntries">
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_android.accounts.html b/docs/html/sdk/api_diff/8/changes/pkg_android.accounts.html
new file mode 100644
index 0000000..7f2c3e0
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_android.accounts.html
@@ -0,0 +1,119 @@
+<!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.accounts
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/accounts/package-summary.html" target="_top"><font size="+1"><code>android.accounts</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AccountManager"></A>
+  <nobr><A HREF="android.accounts.AccountManager.html">AccountManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_android.app.html b/docs/html/sdk/api_diff/8/changes/pkg_android.app.html
new file mode 100644
index 0000000..892b454
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_android.app.html
@@ -0,0 +1,176 @@
+<!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.app
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/app/package-summary.html" target="_top"><font size="+1"><code>android.app</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SearchableInfo"></A>
+  <nobr><A HREF="../../../../reference/android/app/SearchableInfo.html" target="_top"><code>SearchableInfo</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="UiModeManager"></A>
+  <nobr><A HREF="../../../../reference/android/app/UiModeManager.html" target="_top"><code>UiModeManager</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Activity"></A>
+  <nobr><A HREF="android.app.Activity.html">Activity</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ActivityManager"></A>
+  <nobr><A HREF="android.app.ActivityManager.html">ActivityManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ActivityManager.ProcessErrorStateInfo"></A>
+  <nobr><A HREF="android.app.ActivityManager.ProcessErrorStateInfo.html">ActivityManager.ProcessErrorStateInfo</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AlarmManager"></A>
+  <nobr><A HREF="android.app.AlarmManager.html">AlarmManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Dialog"></A>
+  <nobr><A HREF="android.app.Dialog.html">Dialog</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SearchManager"></A>
+  <nobr><A HREF="android.app.SearchManager.html">SearchManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_android.content.html b/docs/html/sdk/api_diff/8/changes/pkg_android.content.html
new file mode 100644
index 0000000..d0a8e32
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_android.content.html
@@ -0,0 +1,211 @@
+<!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.content
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/content/package-summary.html" target="_top"><font size="+1"><code>android.content</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes and Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes and Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DialogInterface.OnShowListener"></A>
+  <nobr><A HREF="../../../../reference/android/content/DialogInterface.OnShowListener.html" target="_top"><code><I>DialogInterface.OnShowListener</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Entity"></A>
+  <nobr><A HREF="../../../../reference/android/content/Entity.html" target="_top"><code>Entity</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Entity.NamedContentValues"></A>
+  <nobr><A HREF="../../../../reference/android/content/Entity.NamedContentValues.html" target="_top"><code>Entity.NamedContentValues</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="EntityIterator"></A>
+  <nobr><A HREF="../../../../reference/android/content/EntityIterator.html" target="_top"><code><I>EntityIterator</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PeriodicSync"></A>
+  <nobr><A HREF="../../../../reference/android/content/PeriodicSync.html" target="_top"><code>PeriodicSync</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SyncInfo"></A>
+  <nobr><A HREF="../../../../reference/android/content/SyncInfo.html" target="_top"><code>SyncInfo</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AbstractThreadedSyncAdapter"></A>
+  <nobr><A HREF="android.content.AbstractThreadedSyncAdapter.html">AbstractThreadedSyncAdapter</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ComponentName"></A>
+  <nobr><A HREF="android.content.ComponentName.html">ComponentName</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContentResolver"></A>
+  <nobr><A HREF="android.content.ContentResolver.html">ContentResolver</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Context"></A>
+  <nobr><A HREF="android.content.Context.html">Context</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContextWrapper"></A>
+  <nobr><A HREF="android.content.ContextWrapper.html">ContextWrapper</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Intent"></A>
+  <nobr><A HREF="android.content.Intent.html">Intent</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SyncResult"></A>
+  <nobr><A HREF="android.content.SyncResult.html">SyncResult</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_android.content.pm.html b/docs/html/sdk/api_diff/8/changes/pkg_android.content.pm.html
new file mode 100644
index 0000000..29f6c7a
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_android.content.pm.html
@@ -0,0 +1,140 @@
+<!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.content.pm
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/content/pm/package-summary.html" target="_top"><font size="+1"><code>android.content.pm</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ActivityInfo"></A>
+  <nobr><A HREF="android.content.pm.ActivityInfo.html">ActivityInfo</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ApplicationInfo"></A>
+  <nobr><A HREF="android.content.pm.ApplicationInfo.html">ApplicationInfo</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ComponentInfo"></A>
+  <nobr><A HREF="android.content.pm.ComponentInfo.html">ComponentInfo</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PackageManager"></A>
+  <nobr><A HREF="android.content.pm.PackageManager.html">PackageManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_android.content.res.html b/docs/html/sdk/api_diff/8/changes/pkg_android.content.res.html
new file mode 100644
index 0000000..055d42a
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_android.content.res.html
@@ -0,0 +1,119 @@
+<!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.content.res
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/content/res/package-summary.html" target="_top"><font size="+1"><code>android.content.res</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Configuration"></A>
+  <nobr><A HREF="android.content.res.Configuration.html">Configuration</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_android.database.html b/docs/html/sdk/api_diff/8/changes/pkg_android.database.html
new file mode 100644
index 0000000..dece819
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_android.database.html
@@ -0,0 +1,119 @@
+<!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.database
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/database/package-summary.html" target="_top"><font size="+1"><code>android.database</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DatabaseUtils"></A>
+  <nobr><A HREF="android.database.DatabaseUtils.html">DatabaseUtils</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_android.database.sqlite.html b/docs/html/sdk/api_diff/8/changes/pkg_android.database.sqlite.html
new file mode 100644
index 0000000..6f0d2ba
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_android.database.sqlite.html
@@ -0,0 +1,126 @@
+<!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.database.sqlite
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/database/sqlite/package-summary.html" target="_top"><font size="+1"><code>android.database.sqlite</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SQLiteDatabase"></A>
+  <nobr><A HREF="android.database.sqlite.SQLiteDatabase.html">SQLiteDatabase</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SQLiteProgram"></A>
+  <nobr><A HREF="android.database.sqlite.SQLiteProgram.html">SQLiteProgram</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_android.gesture.html b/docs/html/sdk/api_diff/8/changes/pkg_android.gesture.html
new file mode 100644
index 0000000..28ec9d1
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_android.gesture.html
@@ -0,0 +1,148 @@
+<!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.gesture
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/gesture/package-summary.html" target="_top"><font size="+1"><code>android.gesture</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GestureUtils"></A>
+  <nobr><A HREF="../../../../reference/android/gesture/GestureUtils.html" target="_top"><code>GestureUtils</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Gesture"></A>
+  <nobr><A HREF="android.gesture.Gesture.html">Gesture</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GesturePoint"></A>
+  <nobr><A HREF="android.gesture.GesturePoint.html">GesturePoint</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GestureStroke"></A>
+  <nobr><A HREF="android.gesture.GestureStroke.html">GestureStroke</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_android.graphics.html b/docs/html/sdk/api_diff/8/changes/pkg_android.graphics.html
new file mode 100644
index 0000000..aafb0e0
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_android.graphics.html
@@ -0,0 +1,141 @@
+<!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.graphics
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/graphics/package-summary.html" target="_top"><font size="+1"><code>android.graphics</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ImageFormat"></A>
+  <nobr><A HREF="../../../../reference/android/graphics/ImageFormat.html" target="_top"><code>ImageFormat</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="YuvImage"></A>
+  <nobr><A HREF="../../../../reference/android/graphics/YuvImage.html" target="_top"><code>YuvImage</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PixelFormat"></A>
+  <nobr><A HREF="android.graphics.PixelFormat.html">PixelFormat</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_android.hardware.html b/docs/html/sdk/api_diff/8/changes/pkg_android.hardware.html
new file mode 100644
index 0000000..13d1c3a
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_android.hardware.html
@@ -0,0 +1,148 @@
+<!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.hardware
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/hardware/package-summary.html" target="_top"><font size="+1"><code>android.hardware</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Camera.OnZoomChangeListener"></A>
+  <nobr><A HREF="../../../../reference/android/hardware/Camera.OnZoomChangeListener.html" target="_top"><code><I>Camera.OnZoomChangeListener</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Camera"></A>
+  <nobr><A HREF="android.hardware.Camera.html">Camera</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Camera.Parameters"></A>
+  <nobr><A HREF="android.hardware.Camera.Parameters.html">Camera.Parameters</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Sensor"></A>
+  <nobr><A HREF="android.hardware.Sensor.html">Sensor</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_android.html b/docs/html/sdk/api_diff/8/changes/pkg_android.html
new file mode 100644
index 0000000..c100283
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_android.html
@@ -0,0 +1,140 @@
+<!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
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/package-summary.html" target="_top"><font size="+1"><code>android</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Manifest.permission"></A>
+  <nobr><A HREF="android.Manifest.permission.html">Manifest.permission</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="R.anim"></A>
+  <nobr><A HREF="android.R.anim.html">R.anim</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="R.attr"></A>
+  <nobr><A HREF="android.R.attr.html">R.attr</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="R.id"></A>
+  <nobr><A HREF="android.R.id.html">R.id</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_android.location.html b/docs/html/sdk/api_diff/8/changes/pkg_android.location.html
new file mode 100644
index 0000000..a4244d2
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_android.location.html
@@ -0,0 +1,119 @@
+<!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.location
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/location/package-summary.html" target="_top"><font size="+1"><code>android.location</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LocationManager"></A>
+  <nobr><A HREF="android.location.LocationManager.html">LocationManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_android.media.html b/docs/html/sdk/api_diff/8/changes/pkg_android.media.html
new file mode 100644
index 0000000..4289206
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_android.media.html
@@ -0,0 +1,204 @@
+<!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.media
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/media/package-summary.html" target="_top"><font size="+1"><code>android.media</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes and Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes and Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AudioManager.OnAudioFocusChangeListener"></A>
+  <nobr><A HREF="../../../../reference/android/media/AudioManager.OnAudioFocusChangeListener.html" target="_top"><code><I>AudioManager.OnAudioFocusChangeListener</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CamcorderProfile"></A>
+  <nobr><A HREF="../../../../reference/android/media/CamcorderProfile.html" target="_top"><code>CamcorderProfile</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CameraProfile"></A>
+  <nobr><A HREF="../../../../reference/android/media/CameraProfile.html" target="_top"><code>CameraProfile</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MediaScannerConnection.OnScanCompletedListener"></A>
+  <nobr><A HREF="../../../../reference/android/media/MediaScannerConnection.OnScanCompletedListener.html" target="_top"><code><I>MediaScannerConnection.<br>OnScanCompletedListener</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SoundPool.OnLoadCompleteListener"></A>
+  <nobr><A HREF="../../../../reference/android/media/SoundPool.OnLoadCompleteListener.html" target="_top"><code><I>SoundPool.OnLoadCompleteListener</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ThumbnailUtils"></A>
+  <nobr><A HREF="../../../../reference/android/media/ThumbnailUtils.html" target="_top"><code>ThumbnailUtils</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes and Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes and Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AudioManager"></A>
+  <nobr><A HREF="android.media.AudioManager.html">AudioManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ExifInterface"></A>
+  <nobr><A HREF="android.media.ExifInterface.html">ExifInterface</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MediaRecorder"></A>
+  <nobr><A HREF="android.media.MediaRecorder.html">MediaRecorder</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MediaScannerConnection"></A>
+  <nobr><A HREF="android.media.MediaScannerConnection.html">MediaScannerConnection</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MediaScannerConnection.MediaScannerConnectionClient"></A>
+  <nobr><A HREF="android.media.MediaScannerConnection.MediaScannerConnectionClient.html"><I>MediaScannerConnection.<br>MediaScannerConnectionClient</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SoundPool"></A>
+  <nobr><A HREF="android.media.SoundPool.html">SoundPool</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_android.net.html b/docs/html/sdk/api_diff/8/changes/pkg_android.net.html
new file mode 100644
index 0000000..b771a2b
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_android.net.html
@@ -0,0 +1,148 @@
+<!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.net
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/net/package-summary.html" target="_top"><font size="+1"><code>android.net</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SSLSessionCache"></A>
+  <nobr><A HREF="../../../../reference/android/net/SSLSessionCache.html" target="_top"><code>SSLSessionCache</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TrafficStats"></A>
+  <nobr><A HREF="../../../../reference/android/net/TrafficStats.html" target="_top"><code>TrafficStats</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ConnectivityManager"></A>
+  <nobr><A HREF="android.net.ConnectivityManager.html">ConnectivityManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SSLCertificateSocketFactory"></A>
+  <nobr><A HREF="android.net.SSLCertificateSocketFactory.html">SSLCertificateSocketFactory</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_android.net.http.html b/docs/html/sdk/api_diff/8/changes/pkg_android.net.http.html
new file mode 100644
index 0000000..5b9f5c8
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_android.net.http.html
@@ -0,0 +1,141 @@
+<!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.net.http
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/net/http/package-summary.html" target="_top"><font size="+1"><code>android.net.http</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AndroidHttpClient"></A>
+  <nobr><A HREF="../../../../reference/android/net/http/AndroidHttpClient.html" target="_top"><code>AndroidHttpClient</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SslError"></A>
+  <nobr><A HREF="../../../../reference/android/net/http/SslError.html" target="_top"><code>SslError</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SslCertificate"></A>
+  <nobr><A HREF="android.net.http.SslCertificate.html">SslCertificate</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_android.opengl.html b/docs/html/sdk/api_diff/8/changes/pkg_android.opengl.html
new file mode 100644
index 0000000..1bea6d9
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_android.opengl.html
@@ -0,0 +1,162 @@
+<!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.opengl
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/opengl/package-summary.html" target="_top"><font size="+1"><code>android.opengl</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ETC1"></A>
+  <nobr><A HREF="../../../../reference/android/opengl/ETC1.html" target="_top"><code>ETC1</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ETC1Util"></A>
+  <nobr><A HREF="../../../../reference/android/opengl/ETC1Util.html" target="_top"><code>ETC1Util</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ETC1Util.ETC1Texture"></A>
+  <nobr><A HREF="../../../../reference/android/opengl/ETC1Util.ETC1Texture.html" target="_top"><code>ETC1Util.ETC1Texture</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GLES20"></A>
+  <nobr><A HREF="../../../../reference/android/opengl/GLES20.html" target="_top"><code>GLES20</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GLSurfaceView"></A>
+  <nobr><A HREF="android.opengl.GLSurfaceView.html">GLSurfaceView</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Matrix"></A>
+  <nobr><A HREF="android.opengl.Matrix.html">Matrix</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_android.os.html b/docs/html/sdk/api_diff/8/changes/pkg_android.os.html
new file mode 100644
index 0000000..cf3fc7d
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_android.os.html
@@ -0,0 +1,190 @@
+<!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.os
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/os/package-summary.html" target="_top"><font size="+1"><code>android.os</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes and Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes and Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DropBoxManager"></A>
+  <nobr><A HREF="../../../../reference/android/os/DropBoxManager.html" target="_top"><code>DropBoxManager</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DropBoxManager.Entry"></A>
+  <nobr><A HREF="../../../../reference/android/os/DropBoxManager.Entry.html" target="_top"><code>DropBoxManager.Entry</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RecoverySystem"></A>
+  <nobr><A HREF="../../../../reference/android/os/RecoverySystem.html" target="_top"><code>RecoverySystem</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RecoverySystem.ProgressListener"></A>
+  <nobr><A HREF="../../../../reference/android/os/RecoverySystem.ProgressListener.html" target="_top"><code><I>RecoverySystem.ProgressListener</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Build"></A>
+  <nobr><A HREF="android.os.Build.html">Build</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Build.VERSION_CODES"></A>
+  <nobr><A HREF="android.os.Build.VERSION_CODES.html">Build.VERSION_CODES</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Bundle"></A>
+  <nobr><A HREF="android.os.Bundle.html">Bundle</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Debug"></A>
+  <nobr><A HREF="android.os.Debug.html">Debug</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Environment"></A>
+  <nobr><A HREF="android.os.Environment.html">Environment</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PowerManager"></A>
+  <nobr><A HREF="android.os.PowerManager.html">PowerManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_android.provider.html b/docs/html/sdk/api_diff/8/changes/pkg_android.provider.html
new file mode 100644
index 0000000..06db000
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_android.provider.html
@@ -0,0 +1,210 @@
+<!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.provider
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/provider/package-summary.html" target="_top"><font size="+1"><code>android.provider</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes and Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes and Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Browser"></A>
+  <nobr><A HREF="android.provider.Browser.html">Browser</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CallLog.Calls"></A>
+  <nobr><A HREF="android.provider.CallLog.Calls.html">CallLog.Calls</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Contacts.PresenceColumns"></A>
+  <nobr><A HREF="android.provider.Contacts.PresenceColumns.html"><I>Contacts.PresenceColumns</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContactsContract.Groups"></A>
+  <nobr><A HREF="android.provider.ContactsContract.Groups.html">ContactsContract.Groups</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContactsContract.RawContacts"></A>
+  <nobr><A HREF="android.provider.ContactsContract.RawContacts.html">ContactsContract.RawContacts</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContactsContract.StatusColumns"></A>
+  <nobr><A HREF="android.provider.ContactsContract.StatusColumns.html"><I>ContactsContract.StatusColumns</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MediaStore"></A>
+  <nobr><A HREF="android.provider.MediaStore.html">MediaStore</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MediaStore.Audio.AudioColumns"></A>
+  <nobr><A HREF="android.provider.MediaStore.Audio.AudioColumns.html"><I>MediaStore.Audio.AudioColumns</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MediaStore.Audio.Playlists.Members"></A>
+  <nobr><A HREF="android.provider.MediaStore.Audio.Playlists.Members.html">MediaStore.Audio.Playlists.<br>Members</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MediaStore.Images.Thumbnails"></A>
+  <nobr><A HREF="android.provider.MediaStore.Images.Thumbnails.html">MediaStore.Images.Thumbnails</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MediaStore.Video.Thumbnails"></A>
+  <nobr><A HREF="android.provider.MediaStore.Video.Thumbnails.html">MediaStore.Video.Thumbnails</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Settings"></A>
+  <nobr><A HREF="android.provider.Settings.html">Settings</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Settings.Secure"></A>
+  <nobr><A HREF="android.provider.Settings.Secure.html">Settings.Secure</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Settings.System"></A>
+  <nobr><A HREF="android.provider.Settings.System.html">Settings.System</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_android.speech.html b/docs/html/sdk/api_diff/8/changes/pkg_android.speech.html
new file mode 100644
index 0000000..0ae2978
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_android.speech.html
@@ -0,0 +1,155 @@
+<!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.speech
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/speech/package-summary.html" target="_top"><font size="+1"><code>android.speech</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes and Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes and Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RecognitionListener"></A>
+  <nobr><A HREF="../../../../reference/android/speech/RecognitionListener.html" target="_top"><code><I>RecognitionListener</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RecognitionService"></A>
+  <nobr><A HREF="../../../../reference/android/speech/RecognitionService.html" target="_top"><code>RecognitionService</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RecognitionService.Callback"></A>
+  <nobr><A HREF="../../../../reference/android/speech/RecognitionService.Callback.html" target="_top"><code>RecognitionService.Callback</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SpeechRecognizer"></A>
+  <nobr><A HREF="../../../../reference/android/speech/SpeechRecognizer.html" target="_top"><code>SpeechRecognizer</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RecognizerIntent"></A>
+  <nobr><A HREF="android.speech.RecognizerIntent.html">RecognizerIntent</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_android.speech.tts.html b/docs/html/sdk/api_diff/8/changes/pkg_android.speech.tts.html
new file mode 100644
index 0000000..d8368a2
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_android.speech.tts.html
@@ -0,0 +1,126 @@
+<!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.speech.tts
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/speech/tts/package-summary.html" target="_top"><font size="+1"><code>android.speech.tts</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TextToSpeech"></A>
+  <nobr><A HREF="android.speech.tts.TextToSpeech.html">TextToSpeech</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TextToSpeech.Engine"></A>
+  <nobr><A HREF="android.speech.tts.TextToSpeech.Engine.html">TextToSpeech.Engine</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_android.telephony.html b/docs/html/sdk/api_diff/8/changes/pkg_android.telephony.html
new file mode 100644
index 0000000..718df76
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_android.telephony.html
@@ -0,0 +1,119 @@
+<!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.telephony
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/telephony/package-summary.html" target="_top"><font size="+1"><code>android.telephony</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TelephonyManager"></A>
+  <nobr><A HREF="android.telephony.TelephonyManager.html">TelephonyManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_android.test.html b/docs/html/sdk/api_diff/8/changes/pkg_android.test.html
new file mode 100644
index 0000000..df8b98c
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_android.test.html
@@ -0,0 +1,119 @@
+<!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
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/test/package-summary.html" target="_top"><font size="+1"><code>android.test</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ActivityInstrumentationTestCase2"></A>
+  <nobr><A HREF="android.test.ActivityInstrumentationTestCase2.html">ActivityInstrumentationTestCase2</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_android.test.mock.html b/docs/html/sdk/api_diff/8/changes/pkg_android.test.mock.html
new file mode 100644
index 0000000..344281b
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_android.test.mock.html
@@ -0,0 +1,148 @@
+<!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.mock
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/test/mock/package-summary.html" target="_top"><font size="+1"><code>android.test.mock</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MockContentProvider"></A>
+  <nobr><A HREF="../../../../reference/android/test/mock/MockContentProvider.html" target="_top"><code>MockContentProvider</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MockCursor"></A>
+  <nobr><A HREF="../../../../reference/android/test/mock/MockCursor.html" target="_top"><code>MockCursor</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MockContext"></A>
+  <nobr><A HREF="android.test.mock.MockContext.html">MockContext</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MockPackageManager"></A>
+  <nobr><A HREF="android.test.mock.MockPackageManager.html">MockPackageManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_android.text.html b/docs/html/sdk/api_diff/8/changes/pkg_android.text.html
new file mode 100644
index 0000000..ae9e9a7
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_android.text.html
@@ -0,0 +1,119 @@
+<!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.text
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/text/package-summary.html" target="_top"><font size="+1"><code>android.text</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AndroidCharacter"></A>
+  <nobr><A HREF="android.text.AndroidCharacter.html">AndroidCharacter</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_android.text.style.html b/docs/html/sdk/api_diff/8/changes/pkg_android.text.style.html
new file mode 100644
index 0000000..6332233
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_android.text.style.html
@@ -0,0 +1,119 @@
+<!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.text.style
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/text/style/package-summary.html" target="_top"><font size="+1"><code>android.text.style</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LeadingMarginSpan.LeadingMarginSpan2"></A>
+  <nobr><A HREF="../../../../reference/android/text/style/LeadingMarginSpan.LeadingMarginSpan2.html" target="_top"><code><I>LeadingMarginSpan.LeadingMarginSpan2</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_android.text.util.html b/docs/html/sdk/api_diff/8/changes/pkg_android.text.util.html
new file mode 100644
index 0000000..875efa6
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_android.text.util.html
@@ -0,0 +1,119 @@
+<!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.text.util
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/text/util/package-summary.html" target="_top"><font size="+1"><code>android.text.util</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Rfc822Tokenizer"></A>
+  <nobr><A HREF="android.text.util.Rfc822Tokenizer.html">Rfc822Tokenizer</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_android.util.html b/docs/html/sdk/api_diff/8/changes/pkg_android.util.html
new file mode 100644
index 0000000..7803591
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_android.util.html
@@ -0,0 +1,176 @@
+<!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.util
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/util/package-summary.html" target="_top"><font size="+1"><code>android.util</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Base64"></A>
+  <nobr><A HREF="../../../../reference/android/util/Base64.html" target="_top"><code>Base64</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Base64InputStream"></A>
+  <nobr><A HREF="../../../../reference/android/util/Base64InputStream.html" target="_top"><code>Base64InputStream</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Base64OutputStream"></A>
+  <nobr><A HREF="../../../../reference/android/util/Base64OutputStream.html" target="_top"><code>Base64OutputStream</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="EventLog"></A>
+  <nobr><A HREF="../../../../reference/android/util/EventLog.html" target="_top"><code>EventLog</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="EventLog.Event"></A>
+  <nobr><A HREF="../../../../reference/android/util/EventLog.Event.html" target="_top"><code>EventLog.Event</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Patterns"></A>
+  <nobr><A HREF="../../../../reference/android/util/Patterns.html" target="_top"><code>Patterns</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="EventLogTags"></A>
+  <nobr><A HREF="android.util.EventLogTags.html">EventLogTags</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Log"></A>
+  <nobr><A HREF="android.util.Log.html">Log</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_android.view.animation.html b/docs/html/sdk/api_diff/8/changes/pkg_android.view.animation.html
new file mode 100644
index 0000000..559c118
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_android.view.animation.html
@@ -0,0 +1,119 @@
+<!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.view.animation
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/view/animation/package-summary.html" target="_top"><font size="+1"><code>android.view.animation</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Animation"></A>
+  <nobr><A HREF="android.view.animation.Animation.html">Animation</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_android.view.html b/docs/html/sdk/api_diff/8/changes/pkg_android.view.html
new file mode 100644
index 0000000..cb5401f
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_android.view.html
@@ -0,0 +1,204 @@
+<!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.view
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/view/package-summary.html" target="_top"><font size="+1"><code>android.view</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes and Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes and Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ScaleGestureDetector"></A>
+  <nobr><A HREF="../../../../reference/android/view/ScaleGestureDetector.html" target="_top"><code>ScaleGestureDetector</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ScaleGestureDetector.OnScaleGestureListener"></A>
+  <nobr><A HREF="../../../../reference/android/view/ScaleGestureDetector.OnScaleGestureListener.html" target="_top"><code><I>ScaleGestureDetector.<br>OnScaleGestureListener</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ScaleGestureDetector.SimpleOnScaleGestureListener"></A>
+  <nobr><A HREF="../../../../reference/android/view/ScaleGestureDetector.SimpleOnScaleGestureListener.html" target="_top"><code>ScaleGestureDetector.<br>SimpleOnScaleGestureListener</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Display"></A>
+  <nobr><A HREF="android.view.Display.html">Display</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GestureDetector"></A>
+  <nobr><A HREF="android.view.GestureDetector.html">GestureDetector</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HapticFeedbackConstants"></A>
+  <nobr><A HREF="android.view.HapticFeedbackConstants.html">HapticFeedbackConstants</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MotionEvent"></A>
+  <nobr><A HREF="android.view.MotionEvent.html">MotionEvent</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="VelocityTracker"></A>
+  <nobr><A HREF="android.view.VelocityTracker.html">VelocityTracker</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="View"></A>
+  <nobr><A HREF="android.view.View.html">View</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ViewConfiguration"></A>
+  <nobr><A HREF="android.view.ViewConfiguration.html">ViewConfiguration</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ViewGroup.LayoutParams"></A>
+  <nobr><A HREF="android.view.ViewGroup.LayoutParams.html">ViewGroup.LayoutParams</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="WindowManager.LayoutParams"></A>
+  <nobr><A HREF="android.view.WindowManager.LayoutParams.html">WindowManager.LayoutParams</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_android.webkit.html b/docs/html/sdk/api_diff/8/changes/pkg_android.webkit.html
new file mode 100644
index 0000000..038f1451
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_android.webkit.html
@@ -0,0 +1,183 @@
+<!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.webkit
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/webkit/package-summary.html" target="_top"><font size="+1"><code>android.webkit</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ConsoleMessage"></A>
+  <nobr><A HREF="../../../../reference/android/webkit/ConsoleMessage.html" target="_top"><code>ConsoleMessage</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ConsoleMessage.MessageLevel"></A>
+  <nobr><A HREF="../../../../reference/android/webkit/ConsoleMessage.MessageLevel.html" target="_top"><code>ConsoleMessage.MessageLevel</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="WebSettings.PluginState"></A>
+  <nobr><A HREF="../../../../reference/android/webkit/WebSettings.PluginState.html" target="_top"><code>WebSettings.PluginState</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CacheManager"></A>
+  <nobr><A HREF="android.webkit.CacheManager.html">CacheManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="JsResult"></A>
+  <nobr><A HREF="android.webkit.JsResult.html">JsResult</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="WebChromeClient"></A>
+  <nobr><A HREF="android.webkit.WebChromeClient.html">WebChromeClient</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="WebSettings"></A>
+  <nobr><A HREF="android.webkit.WebSettings.html">WebSettings</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="WebView"></A>
+  <nobr><A HREF="android.webkit.WebView.html">WebView</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="WebViewClient"></A>
+  <nobr><A HREF="android.webkit.WebViewClient.html">WebViewClient</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_android.widget.html b/docs/html/sdk/api_diff/8/changes/pkg_android.widget.html
new file mode 100644
index 0000000..bfbf096
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_android.widget.html
@@ -0,0 +1,176 @@
+<!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.widget
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/widget/package-summary.html" target="_top"><font size="+1"><code>android.widget</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HeterogeneousExpandableList"></A>
+  <nobr><A HREF="../../../../reference/android/widget/HeterogeneousExpandableList.html" target="_top"><code><I>HeterogeneousExpandableList</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AbsListView"></A>
+  <nobr><A HREF="android.widget.AbsListView.html">AbsListView</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BaseExpandableListAdapter"></A>
+  <nobr><A HREF="android.widget.BaseExpandableListAdapter.html">BaseExpandableListAdapter</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ImageView"></A>
+  <nobr><A HREF="android.widget.ImageView.html">ImageView</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ListView"></A>
+  <nobr><A HREF="android.widget.ListView.html">ListView</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RemoteViews"></A>
+  <nobr><A HREF="android.widget.RemoteViews.html">RemoteViews</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TabWidget"></A>
+  <nobr><A HREF="android.widget.TabWidget.html">TabWidget</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="VideoView"></A>
+  <nobr><A HREF="android.widget.VideoView.html">VideoView</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_dalvik.bytecode.html b/docs/html/sdk/api_diff/8/changes/pkg_dalvik.bytecode.html
new file mode 100644
index 0000000..943ec6b
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_dalvik.bytecode.html
@@ -0,0 +1,119 @@
+<!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>
+dalvik.bytecode
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/dalvik/bytecode/package-summary.html" target="_top"><font size="+1"><code>dalvik.bytecode</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Opcodes"></A>
+  <nobr><A HREF="dalvik.bytecode.Opcodes.html"><I>Opcodes</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_dalvik.system.html b/docs/html/sdk/api_diff/8/changes/pkg_dalvik.system.html
new file mode 100644
index 0000000..14aff19
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_dalvik.system.html
@@ -0,0 +1,126 @@
+<!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>
+dalvik.system
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/dalvik/system/package-summary.html" target="_top"><font size="+1"><code>dalvik.system</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="VMDebug"></A>
+  <nobr><A HREF="dalvik.system.VMDebug.html">VMDebug</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Zygote"></A>
+  <nobr><A HREF="dalvik.system.Zygote.html">Zygote</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_java.net.html b/docs/html/sdk/api_diff/8/changes/pkg_java.net.html
new file mode 100644
index 0000000..510e838
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_java.net.html
@@ -0,0 +1,119 @@
+<!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>
+java.net
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/java/net/package-summary.html" target="_top"><font size="+1"><code>java.net</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DatagramSocketImpl"></A>
+  <nobr><A HREF="java.net.DatagramSocketImpl.html">DatagramSocketImpl</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_java.nio.charset.html b/docs/html/sdk/api_diff/8/changes/pkg_java.nio.charset.html
new file mode 100644
index 0000000..e83a1be
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_java.nio.charset.html
@@ -0,0 +1,119 @@
+<!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>
+java.nio.charset
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/java/nio/charset/package-summary.html" target="_top"><font size="+1"><code>java.nio.charset</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Charset"></A>
+  <nobr><A HREF="java.nio.charset.Charset.html">Charset</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_java.util.html b/docs/html/sdk/api_diff/8/changes/pkg_java.util.html
new file mode 100644
index 0000000..0d13408
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_java.util.html
@@ -0,0 +1,126 @@
+<!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>
+java.util
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/java/util/package-summary.html" target="_top"><font size="+1"><code>java.util</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ArrayList"></A>
+  <nobr><A HREF="java.util.ArrayList.html">ArrayList</A></nobr>
+  </TD>
+  <TD VALIGN="TOP"><a href="../../../../reference/java/util/ArrayList.html">ArrayList</a> now implements <a href="../../../../reference/java/util/List.html">List</a> indirectly, via <a href="../../../../reference/java/util/AbstractList.html">AbstractList</a>.</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="HashMap"></A>
+  <nobr><A HREF="java.util.HashMap.html">HashMap</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_java.util.regex.html b/docs/html/sdk/api_diff/8/changes/pkg_java.util.regex.html
new file mode 100644
index 0000000..5227e54
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_java.util.regex.html
@@ -0,0 +1,126 @@
+<!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>
+java.util.regex
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/java/util/regex/package-summary.html" target="_top"><font size="+1"><code>java.util.regex</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Matcher"></A>
+  <nobr><A HREF="java.util.regex.Matcher.html">Matcher</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Pattern"></A>
+  <nobr><A HREF="java.util.regex.Pattern.html">Pattern</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_javax.xml.html b/docs/html/sdk/api_diff/8/changes/pkg_javax.xml.html
new file mode 100644
index 0000000..f0168b6
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_javax.xml.html
@@ -0,0 +1,119 @@
+<!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>
+javax.xml
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/javax/xml/package-summary.html" target="_top"><font size="+1"><code>javax.xml</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="XMLConstants"></A>
+  <nobr><A HREF="javax.xml.XMLConstants.html">XMLConstants</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_javax.xml.parsers.html b/docs/html/sdk/api_diff/8/changes/pkg_javax.xml.parsers.html
new file mode 100644
index 0000000..9ddbcbb
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_javax.xml.parsers.html
@@ -0,0 +1,140 @@
+<!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>
+javax.xml.parsers
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/javax/xml/parsers/package-summary.html" target="_top"><font size="+1"><code>javax.xml.parsers</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DocumentBuilder"></A>
+  <nobr><A HREF="javax.xml.parsers.DocumentBuilder.html">DocumentBuilder</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DocumentBuilderFactory"></A>
+  <nobr><A HREF="javax.xml.parsers.DocumentBuilderFactory.html">DocumentBuilderFactory</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SAXParser"></A>
+  <nobr><A HREF="javax.xml.parsers.SAXParser.html">SAXParser</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SAXParserFactory"></A>
+  <nobr><A HREF="javax.xml.parsers.SAXParserFactory.html">SAXParserFactory</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/changes/pkg_org.w3c.dom.html b/docs/html/sdk/api_diff/8/changes/pkg_org.w3c.dom.html
new file mode 100644
index 0000000..eca49bc0
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/changes/pkg_org.w3c.dom.html
@@ -0,0 +1,253 @@
+<!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>
+org.w3c.dom
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">8</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">7</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2010.05.11 19:22</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/org/w3c/dom/package-summary.html" target="_top"><font size="+1"><code>org.w3c.dom</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DOMConfiguration"></A>
+  <nobr><A HREF="../../../../reference/org/w3c/dom/DOMConfiguration.html" target="_top"><code><I>DOMConfiguration</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DOMError"></A>
+  <nobr><A HREF="../../../../reference/org/w3c/dom/DOMError.html" target="_top"><code><I>DOMError</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DOMErrorHandler"></A>
+  <nobr><A HREF="../../../../reference/org/w3c/dom/DOMErrorHandler.html" target="_top"><code><I>DOMErrorHandler</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DOMImplementationList"></A>
+  <nobr><A HREF="../../../../reference/org/w3c/dom/DOMImplementationList.html" target="_top"><code><I>DOMImplementationList</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DOMImplementationSource"></A>
+  <nobr><A HREF="../../../../reference/org/w3c/dom/DOMImplementationSource.html" target="_top"><code><I>DOMImplementationSource</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DOMLocator"></A>
+  <nobr><A HREF="../../../../reference/org/w3c/dom/DOMLocator.html" target="_top"><code><I>DOMLocator</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DOMStringList"></A>
+  <nobr><A HREF="../../../../reference/org/w3c/dom/DOMStringList.html" target="_top"><code><I>DOMStringList</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NameList"></A>
+  <nobr><A HREF="../../../../reference/org/w3c/dom/NameList.html" target="_top"><code><I>NameList</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TypeInfo"></A>
+  <nobr><A HREF="../../../../reference/org/w3c/dom/TypeInfo.html" target="_top"><code><I>TypeInfo</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="UserDataHandler"></A>
+  <nobr><A HREF="../../../../reference/org/w3c/dom/UserDataHandler.html" target="_top"><code><I>UserDataHandler</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes and Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes and Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Attr"></A>
+  <nobr><A HREF="org.w3c.dom.Attr.html"><I>Attr</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DOMException"></A>
+  <nobr><A HREF="org.w3c.dom.DOMException.html">DOMException</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DOMImplementation"></A>
+  <nobr><A HREF="org.w3c.dom.DOMImplementation.html"><I>DOMImplementation</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Document"></A>
+  <nobr><A HREF="org.w3c.dom.Document.html"><I>Document</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Element"></A>
+  <nobr><A HREF="org.w3c.dom.Element.html"><I>Element</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Entity"></A>
+  <nobr><A HREF="org.w3c.dom.Entity.html"><I>Entity</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NamedNodeMap"></A>
+  <nobr><A HREF="org.w3c.dom.NamedNodeMap.html"><I>NamedNodeMap</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Node"></A>
+  <nobr><A HREF="org.w3c.dom.Node.html"><I>Node</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Text"></A>
+  <nobr><A HREF="org.w3c.dom.Text.html"><I>Text</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/8/missingSinces.txt b/docs/html/sdk/api_diff/8/missingSinces.txt
new file mode 100644
index 0000000..905b3ef
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/missingSinces.txt
@@ -0,0 +1,464 @@
+NO DOC BLOCK: android.net.http.AndroidHttpClient Class
+NO DOC BLOCK: android.media.AudioManager.OnAudioFocusChangeListener Interface
+NO DOC BLOCK: android.util.Base64 Class
+NO DOC BLOCK: android.util.Base64InputStream Class
+NO DOC BLOCK: android.util.Base64OutputStream Class
+NO DOC BLOCK: android.media.CamcorderProfile Class
+NO DOC BLOCK: android.hardware.Camera.OnZoomChangeListener Interface
+NO DOC BLOCK: android.media.CameraProfile Class
+NO DOC BLOCK: android.webkit.ConsoleMessage Class
+NO DOC BLOCK: android.webkit.ConsoleMessage.MessageLevel Class
+NO DOC BLOCK: android.content.DialogInterface.OnShowListener Interface
+NO DOC BLOCK: org.w3c.dom.DOMConfiguration Interface
+NO DOC BLOCK: org.w3c.dom.DOMError Interface
+NO DOC BLOCK: org.w3c.dom.DOMErrorHandler Interface
+NO DOC BLOCK: org.w3c.dom.DOMImplementationList Interface
+NO DOC BLOCK: org.w3c.dom.DOMImplementationSource Interface
+NO DOC BLOCK: org.w3c.dom.DOMLocator Interface
+NO DOC BLOCK: org.w3c.dom.DOMStringList Interface
+NO DOC BLOCK: android.os.DropBoxManager Class
+NO DOC BLOCK: android.os.DropBoxManager.Entry Class
+NO DOC BLOCK: android.content.Entity Class
+NO DOC BLOCK: android.content.Entity.NamedContentValues Class
+NO DOC BLOCK: android.content.EntityIterator Interface
+NO DOC BLOCK: android.opengl.ETC1 Class
+NO DOC BLOCK: android.opengl.ETC1Util Class
+NO DOC BLOCK: android.opengl.ETC1Util.ETC1Texture Class
+NO DOC BLOCK: android.util.EventLog Class
+NO DOC BLOCK: android.util.EventLog.Event Class
+NO DOC BLOCK: android.gesture.GestureUtils Class
+NO DOC BLOCK: android.opengl.GLES20 Class
+NO DOC BLOCK: android.widget.HeterogeneousExpandableList Interface
+NO DOC BLOCK: android.graphics.ImageFormat Class
+NO DOC BLOCK: android.text.style.LeadingMarginSpan.LeadingMarginSpan2 Interface
+NO DOC BLOCK: android.media.MediaScannerConnection.OnScanCompletedListener Interface
+NO DOC BLOCK: android.test.mock.MockContentProvider Class
+NO DOC BLOCK: android.test.mock.MockCursor Class
+NO DOC BLOCK: org.w3c.dom.NameList Interface
+NO DOC BLOCK: android.util.Patterns Class
+NO DOC BLOCK: android.content.PeriodicSync Class
+NO DOC BLOCK: android.speech.RecognitionListener Interface
+NO DOC BLOCK: android.speech.RecognitionService Class
+NO DOC BLOCK: android.speech.RecognitionService.Callback Class
+NO DOC BLOCK: android.os.RecoverySystem Class
+NO DOC BLOCK: android.os.RecoverySystem.ProgressListener Interface
+NO DOC BLOCK: android.view.ScaleGestureDetector Class
+NO DOC BLOCK: android.view.ScaleGestureDetector.OnScaleGestureListener Interface
+NO DOC BLOCK: android.view.ScaleGestureDetector.SimpleOnScaleGestureListener Class
+NO DOC BLOCK: android.app.SearchableInfo Class
+NO DOC BLOCK: android.media.SoundPool.OnLoadCompleteListener Interface
+NO DOC BLOCK: android.speech.SpeechRecognizer Class
+NO DOC BLOCK: android.net.http.SslError Class
+NO DOC BLOCK: android.net.SSLSessionCache Class
+NO DOC BLOCK: android.content.SyncInfo Class
+NO DOC BLOCK: android.media.ThumbnailUtils Class
+NO DOC BLOCK: android.net.TrafficStats Class
+NO DOC BLOCK: org.w3c.dom.TypeInfo Interface
+NO DOC BLOCK: android.app.UiModeManager Class
+NO DOC BLOCK: org.w3c.dom.UserDataHandler Interface
+NO DOC BLOCK: android.webkit.WebSettings.PluginState Class
+NO DOC BLOCK: android.graphics.YuvImage Class
+NO DOC BLOCK: android.test.ActivityInstrumentationTestCase2 Constructor (java.lang.Class<T>)
+NO DOC BLOCK: android.view.GestureDetector Constructor (android.content.Context, android.view.GestureDetector.OnGestureListener, android.os.Handler, boolean)
+NO DOC BLOCK: android.net.http.SslCertificate Constructor (java.lang.String, java.lang.String, java.util.Date, java.util.Date)
+NO DOC BLOCK: android.media.AudioManager Method abandonAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener)
+NO DOC BLOCK: android.hardware.Camera Method addCallbackBuffer(byte[])
+NO DOC BLOCK: android.content.ContentResolver Method addPeriodicSync(android.accounts.Account, java.lang.String, android.os.Bundle, long)
+NO DOC BLOCK: android.content.pm.PackageManager Method addPermissionAsync(android.content.pm.PermissionInfo)
+NO DOC BLOCK: android.test.mock.MockPackageManager Method addPermissionAsync(android.content.pm.PermissionInfo)
+NO DOC BLOCK: org.w3c.dom.Document Method adoptNode(org.w3c.dom.Node)
+NO DOC BLOCK: android.speech.tts.TextToSpeech Method areDefaultsEnforced()
+NO DOC BLOCK: android.media.SoundPool Method autoPause()
+NO DOC BLOCK: android.media.SoundPool Method autoResume()
+NO DOC BLOCK: android.view.animation.Animation Method cancel()
+NO DOC BLOCK: android.provider.MediaStore.Images.Thumbnails Method cancelThumbnailRequest(android.content.ContentResolver, long, long)
+NO DOC BLOCK: android.provider.MediaStore.Video.Thumbnails Method cancelThumbnailRequest(android.content.ContentResolver, long, long)
+NO DOC BLOCK: android.content.pm.PackageManager Method canonicalToCurrentPackageNames(java.lang.String[])
+NO DOC BLOCK: android.test.mock.MockPackageManager Method canonicalToCurrentPackageNames(java.lang.String[])
+NO DOC BLOCK: org.w3c.dom.Node Method compareDocumentPosition(org.w3c.dom.Node)
+NO DOC BLOCK: android.content.pm.PackageManager Method currentToCanonicalPackageNames(java.lang.String[])
+NO DOC BLOCK: android.test.mock.MockPackageManager Method currentToCanonicalPackageNames(java.lang.String[])
+NO DOC BLOCK: android.database.DatabaseUtils Method cursorDoubleToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, java.lang.String)
+NO DOC BLOCK: android.database.DatabaseUtils Method cursorFloatToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, java.lang.String)
+NO DOC BLOCK: android.database.DatabaseUtils Method cursorIntToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, java.lang.String)
+NO DOC BLOCK: android.database.DatabaseUtils Method cursorLongToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, java.lang.String)
+NO DOC BLOCK: android.database.DatabaseUtils Method cursorShortToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, java.lang.String)
+NO DOC BLOCK: android.database.DatabaseUtils Method cursorStringToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, java.lang.String)
+NO DOC BLOCK: android.view.View Method dispatchConfigurationChanged(android.content.res.Configuration)
+NO DOC BLOCK: android.view.View Method dispatchDisplayHint(int)
+NO DOC BLOCK: android.view.View Method dispatchVisibilityChanged(android.view.View, int)
+NO DOC BLOCK: android.os.Debug Method dumpService(java.lang.String, java.io.FileDescriptor, java.lang.String[])
+NO DOC BLOCK: android.webkit.WebView Method emulateShiftHeld()
+NO DOC BLOCK: android.view.MotionEvent Method getActionIndex()
+NO DOC BLOCK: android.view.MotionEvent Method getActionMasked()
+NO DOC BLOCK: android.media.ExifInterface Method getAttributeDouble(java.lang.String, double)
+NO DOC BLOCK: org.w3c.dom.Node Method getBaseURI()
+NO DOC BLOCK: android.webkit.WebSettings Method getBlockNetworkLoads()
+NO DOC BLOCK: android.os.Bundle Method getCharSequenceArray(java.lang.String)
+NO DOC BLOCK: android.content.Intent Method getCharSequenceArrayExtra(java.lang.String)
+NO DOC BLOCK: android.os.Bundle Method getCharSequenceArrayList(java.lang.String)
+NO DOC BLOCK: android.content.Intent Method getCharSequenceArrayListExtra(java.lang.String)
+NO DOC BLOCK: android.widget.ListView Method getCheckedItemIds()
+NO DOC BLOCK: android.widget.BaseExpandableListAdapter Method getChildType(int, int)
+NO DOC BLOCK: android.widget.BaseExpandableListAdapter Method getChildTypeCount()
+NO DOC BLOCK: android.content.ContentResolver Method getCurrentSync()
+NO DOC BLOCK: android.net.SSLCertificateSocketFactory Method getDefault(int, android.net.SSLSessionCache)
+NO DOC BLOCK: android.speech.tts.TextToSpeech Method getDefaultEngine()
+NO DOC BLOCK: org.w3c.dom.Document Method getDocumentURI()
+NO DOC BLOCK: org.w3c.dom.Document Method getDomConfig()
+NO DOC BLOCK: android.text.AndroidCharacter Method getEastAsianWidth(char)
+NO DOC BLOCK: android.text.AndroidCharacter Method getEastAsianWidths(char[], int, int, byte[])
+NO DOC BLOCK: android.hardware.Camera.Parameters Method getExposureCompensation()
+NO DOC BLOCK: android.hardware.Camera.Parameters Method getExposureCompensationStep()
+NO DOC BLOCK: android.content.Context Method getExternalCacheDir()
+NO DOC BLOCK: android.content.ContextWrapper Method getExternalCacheDir()
+NO DOC BLOCK: android.test.mock.MockContext Method getExternalCacheDir()
+NO DOC BLOCK: android.content.Context Method getExternalFilesDir(java.lang.String)
+NO DOC BLOCK: android.content.ContextWrapper Method getExternalFilesDir(java.lang.String)
+NO DOC BLOCK: android.test.mock.MockContext Method getExternalFilesDir(java.lang.String)
+NO DOC BLOCK: android.os.Environment Method getExternalStoragePublicDirectory(java.lang.String)
+NO DOC BLOCK: org.w3c.dom.DOMImplementation Method getFeature(java.lang.String, java.lang.String)
+NO DOC BLOCK: org.w3c.dom.Node Method getFeature(java.lang.String, java.lang.String)
+NO DOC BLOCK: android.hardware.Camera.Parameters Method getFocalLength()
+NO DOC BLOCK: android.os.Debug Method getGlobalClassInitCount()
+NO DOC BLOCK: android.os.Debug Method getGlobalClassInitTime()
+NO DOC BLOCK: android.widget.BaseExpandableListAdapter Method getGroupType(int)
+NO DOC BLOCK: android.widget.BaseExpandableListAdapter Method getGroupTypeCount()
+NO DOC BLOCK: android.hardware.Camera.Parameters Method getHorizontalViewAngle()
+NO DOC BLOCK: android.net.SSLCertificateSocketFactory Method getHttpSocketFactory(int, android.net.SSLSessionCache)
+NO DOC BLOCK: org.w3c.dom.Document Method getInputEncoding()
+NO DOC BLOCK: org.w3c.dom.Entity Method getInputEncoding()
+NO DOC BLOCK: android.net.SSLCertificateSocketFactory Method getInsecure(int, android.net.SSLSessionCache)
+NO DOC BLOCK: android.provider.CallLog.Calls Method getLastOutgoingCall(android.content.Context)
+NO DOC BLOCK: android.hardware.Camera.Parameters Method getMaxExposureCompensation()
+NO DOC BLOCK: android.hardware.Camera.Parameters Method getMaxZoom()
+NO DOC BLOCK: android.hardware.Camera.Parameters Method getMinExposureCompensation()
+NO DOC BLOCK: android.content.Context Method getPackageCodePath()
+NO DOC BLOCK: android.content.Context Method getPackageResourcePath()
+NO DOC BLOCK: android.content.ContentResolver Method getPeriodicSyncs(android.accounts.Account, java.lang.String)
+NO DOC BLOCK: android.webkit.WebSettings Method getPluginState()
+NO DOC BLOCK: android.view.Display Method getRotation()
+NO DOC BLOCK: android.view.ViewConfiguration Method getScaledPagingTouchSlop()
+NO DOC BLOCK: javax.xml.parsers.DocumentBuilder Method getSchema()
+NO DOC BLOCK: javax.xml.parsers.DocumentBuilderFactory Method getSchema()
+NO DOC BLOCK: javax.xml.parsers.SAXParser Method getSchema()
+NO DOC BLOCK: javax.xml.parsers.SAXParserFactory Method getSchema()
+NO DOC BLOCK: org.w3c.dom.Attr Method getSchemaTypeInfo()
+NO DOC BLOCK: org.w3c.dom.Element Method getSchemaTypeInfo()
+NO DOC BLOCK: android.app.SearchManager Method getSearchableInfo(android.content.ComponentName)
+NO DOC BLOCK: android.app.SearchManager Method getSearchablesInGlobalSearch()
+NO DOC BLOCK: org.w3c.dom.Document Method getStrictErrorChecking()
+NO DOC BLOCK: android.hardware.Camera.Parameters Method getSupportedJpegThumbnailSizes()
+NO DOC BLOCK: org.w3c.dom.Node Method getTextContent()
+NO DOC BLOCK: android.provider.MediaStore.Images.Thumbnails Method getThumbnail(android.content.ContentResolver, long, long, int, android.graphics.BitmapFactory.Options)
+NO DOC BLOCK: android.provider.MediaStore.Video.Thumbnails Method getThumbnail(android.content.ContentResolver, long, long, int, android.graphics.BitmapFactory.Options)
+NO DOC BLOCK: org.w3c.dom.Node Method getUserData(java.lang.String)
+NO DOC BLOCK: android.net.http.SslCertificate Method getValidNotAfterDate()
+NO DOC BLOCK: android.net.http.SslCertificate Method getValidNotBeforeDate()
+NO DOC BLOCK: android.hardware.Camera.Parameters Method getVerticalViewAngle()
+NO DOC BLOCK: android.speech.RecognizerIntent Method getVoiceDetailsIntent(android.content.Context)
+NO DOC BLOCK: org.w3c.dom.Text Method getWholeText()
+NO DOC BLOCK: org.w3c.dom.Document Method getXmlEncoding()
+NO DOC BLOCK: org.w3c.dom.Entity Method getXmlEncoding()
+NO DOC BLOCK: org.w3c.dom.Document Method getXmlStandalone()
+NO DOC BLOCK: org.w3c.dom.Document Method getXmlVersion()
+NO DOC BLOCK: org.w3c.dom.Entity Method getXmlVersion()
+NO DOC BLOCK: android.view.VelocityTracker Method getXVelocity(int)
+NO DOC BLOCK: android.view.VelocityTracker Method getYVelocity(int)
+NO DOC BLOCK: android.hardware.Camera.Parameters Method getZoom()
+NO DOC BLOCK: android.hardware.Camera.Parameters Method getZoomRatios()
+NO DOC BLOCK: android.accounts.AccountManager Method hasFeatures(android.accounts.Account, java.lang.String[], android.accounts.AccountManagerCallback<java.lang.Boolean>, android.os.Handler)
+NO DOC BLOCK: android.database.sqlite.SQLiteDatabase Method insertWithOnConflict(java.lang.String, java.lang.String, android.content.ContentValues, int)
+NO DOC BLOCK: android.media.AudioManager Method isBluetoothScoAvailableOffCall()
+NO DOC BLOCK: org.w3c.dom.Node Method isDefaultNamespace(java.lang.String)
+NO DOC BLOCK: org.w3c.dom.Text Method isElementContentWhitespace()
+NO DOC BLOCK: org.w3c.dom.Node Method isEqualNode(org.w3c.dom.Node)
+NO DOC BLOCK: org.w3c.dom.Attr Method isId()
+NO DOC BLOCK: android.provider.Settings.Secure Method isLocationProviderEnabled(android.content.ContentResolver, java.lang.String)
+NO DOC BLOCK: org.w3c.dom.Node Method isSameNode(org.w3c.dom.Node)
+NO DOC BLOCK: android.hardware.Camera.Parameters Method isSmoothZoomSupported()
+NO DOC BLOCK: android.widget.TabWidget Method isStripEnabled()
+NO DOC BLOCK: android.app.ActivityManager Method isUserAMonkey()
+NO DOC BLOCK: android.hardware.Camera.Parameters Method isZoomSupported()
+NO DOC BLOCK: android.app.ActivityManager Method killBackgroundProcesses(java.lang.String)
+NO DOC BLOCK: android.webkit.WebView Method loadUrl(java.lang.String, java.util.Map<java.lang.String, java.lang.String>)
+NO DOC BLOCK: org.w3c.dom.Node Method lookupNamespaceURI(java.lang.String)
+NO DOC BLOCK: org.w3c.dom.Node Method lookupPrefix(java.lang.String)
+NO DOC BLOCK: android.provider.MediaStore.Audio.Playlists.Members Method moveItem(android.content.ContentResolver, long, int, int)
+NO DOC BLOCK: android.provider.ContactsContract.Groups Method newEntityIterator(android.database.Cursor)
+NO DOC BLOCK: android.provider.ContactsContract.RawContacts Method newEntityIterator(android.database.Cursor)
+NO DOC BLOCK: org.w3c.dom.Document Method normalizeDocument()
+NO DOC BLOCK: android.view.View Method onConfigurationChanged(android.content.res.Configuration)
+NO DOC BLOCK: android.webkit.WebChromeClient Method onConsoleMessage(android.webkit.ConsoleMessage)
+NO DOC BLOCK: android.webkit.WebChromeClient Method onConsoleMessage(java.lang.String, int, java.lang.String)
+NO DOC BLOCK: android.app.Activity Method onCreateDialog(int, android.os.Bundle)
+NO DOC BLOCK: android.view.View Method onDisplayHint(int)
+NO DOC BLOCK: android.app.Activity Method onPrepareDialog(int, android.app.Dialog, android.os.Bundle)
+NO DOC BLOCK: android.webkit.WebViewClient Method onReceivedSslError(android.webkit.WebView, android.webkit.SslErrorHandler, android.net.http.SslError)
+NO DOC BLOCK: android.content.AbstractThreadedSyncAdapter Method onSyncCanceled()
+NO DOC BLOCK: android.view.View Method onVisibilityChanged(android.view.View, int)
+NO DOC BLOCK: android.os.Bundle Method putCharSequenceArray(java.lang.String, java.lang.CharSequence[])
+NO DOC BLOCK: android.os.Bundle Method putCharSequenceArrayList(java.lang.String, java.util.ArrayList<java.lang.CharSequence>)
+NO DOC BLOCK: android.content.Intent Method putCharSequenceArrayListExtra(java.lang.String, java.util.ArrayList<java.lang.CharSequence>)
+NO DOC BLOCK: android.content.Intent Method putExtra(java.lang.String, java.lang.CharSequence[])
+NO DOC BLOCK: android.content.res.Configuration Method readFromParcel(android.os.Parcel)
+NO DOC BLOCK: android.os.PowerManager Method reboot(java.lang.String)
+NO DOC BLOCK: android.hardware.Camera Method reconnect()
+NO DOC BLOCK: android.media.AudioManager Method registerMediaButtonEventReceiver(android.content.ComponentName)
+NO DOC BLOCK: android.content.ContentResolver Method removePeriodicSync(android.accounts.Account, java.lang.String, android.os.Bundle)
+NO DOC BLOCK: org.w3c.dom.Document Method renameNode(org.w3c.dom.Node, java.lang.String, java.lang.String)
+NO DOC BLOCK: org.w3c.dom.Text Method replaceWholeText(java.lang.String)
+NO DOC BLOCK: android.media.AudioManager Method requestAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, int, int)
+NO DOC BLOCK: android.os.Debug Method resetGlobalClassInitCount()
+NO DOC BLOCK: android.os.Debug Method resetGlobalClassInitTime()
+NO DOC BLOCK: android.widget.VideoView Method resume()
+NO DOC BLOCK: android.media.MediaScannerConnection Method scanFile(android.content.Context, java.lang.String[], java.lang.String[], android.media.MediaScannerConnection.OnScanCompletedListener)
+NO DOC BLOCK: android.media.MediaRecorder Method setAudioChannels(int)
+NO DOC BLOCK: android.media.MediaRecorder Method setAudioEncodingBitRate(int)
+NO DOC BLOCK: android.media.MediaRecorder Method setAudioSamplingRate(int)
+NO DOC BLOCK: android.webkit.WebSettings Method setBlockNetworkLoads(boolean)
+NO DOC BLOCK: android.widget.RemoteViews Method setBundle(int, java.lang.String, android.os.Bundle)
+NO DOC BLOCK: android.widget.ImageView Method setColorFilter(int)
+NO DOC BLOCK: android.hardware.Camera Method setDisplayOrientation(int)
+NO DOC BLOCK: org.w3c.dom.Document Method setDocumentURI(java.lang.String)
+NO DOC BLOCK: android.opengl.GLSurfaceView Method setEGLContextClientVersion(int)
+NO DOC BLOCK: android.speech.tts.TextToSpeech Method setEngineByPackageName(java.lang.String)
+NO DOC BLOCK: android.hardware.Camera.Parameters Method setExposureCompensation(int)
+NO DOC BLOCK: android.hardware.Camera.Parameters Method setGpsProcessingMethod(java.lang.String)
+NO DOC BLOCK: org.w3c.dom.Element Method setIdAttribute(java.lang.String, boolean)
+NO DOC BLOCK: org.w3c.dom.Element Method setIdAttributeNode(org.w3c.dom.Attr, boolean)
+NO DOC BLOCK: org.w3c.dom.Element Method setIdAttributeNS(java.lang.String, java.lang.String, boolean)
+NO DOC BLOCK: android.widget.TabWidget Method setLeftStripDrawable(android.graphics.drawable.Drawable)
+NO DOC BLOCK: android.widget.TabWidget Method setLeftStripDrawable(int)
+NO DOC BLOCK: android.provider.Settings.Secure Method setLocationProviderEnabled(android.content.ContentResolver, java.lang.String, boolean)
+NO DOC BLOCK: android.opengl.Matrix Method setLookAtM(float[], int, float, float, float, float, float, float, float, float, float)
+NO DOC BLOCK: android.media.SoundPool Method setOnLoadCompleteListener(android.media.SoundPool.OnLoadCompleteListener)
+NO DOC BLOCK: android.app.Dialog Method setOnShowListener(android.content.DialogInterface.OnShowListener)
+NO DOC BLOCK: android.webkit.WebSettings Method setPluginState(android.webkit.WebSettings.PluginState)
+NO DOC BLOCK: android.hardware.Camera Method setPreviewCallbackWithBuffer(android.hardware.Camera.PreviewCallback)
+NO DOC BLOCK: android.media.MediaRecorder Method setProfile(android.media.CamcorderProfile)
+NO DOC BLOCK: android.widget.TabWidget Method setRightStripDrawable(android.graphics.drawable.Drawable)
+NO DOC BLOCK: android.widget.TabWidget Method setRightStripDrawable(int)
+NO DOC BLOCK: javax.xml.parsers.DocumentBuilderFactory Method setSchema(javax.xml.validation.Schema)
+NO DOC BLOCK: javax.xml.parsers.SAXParserFactory Method setSchema(javax.xml.validation.Schema)
+NO DOC BLOCK: org.w3c.dom.Document Method setStrictErrorChecking(boolean)
+NO DOC BLOCK: android.widget.TabWidget Method setStripEnabled(boolean)
+NO DOC BLOCK: org.w3c.dom.Node Method setTextContent(java.lang.String)
+NO DOC BLOCK: android.app.AlarmManager Method setTime(long)
+NO DOC BLOCK: android.content.res.Configuration Method setTo(android.content.res.Configuration)
+NO DOC BLOCK: org.w3c.dom.Node Method setUserData(java.lang.String, java.lang.Object, org.w3c.dom.UserDataHandler)
+NO DOC BLOCK: android.media.MediaRecorder Method setVideoEncodingBitRate(int)
+NO DOC BLOCK: org.w3c.dom.Document Method setXmlStandalone(boolean)
+NO DOC BLOCK: org.w3c.dom.Document Method setXmlVersion(java.lang.String)
+NO DOC BLOCK: android.hardware.Camera.Parameters Method setZoom(int)
+NO DOC BLOCK: android.hardware.Camera Method setZoomChangeListener(android.hardware.Camera.OnZoomChangeListener)
+NO DOC BLOCK: android.app.Activity Method showDialog(int, android.os.Bundle)
+NO DOC BLOCK: android.widget.AbsListView Method smoothScrollBy(int, int)
+NO DOC BLOCK: android.widget.AbsListView Method smoothScrollToPosition(int)
+NO DOC BLOCK: android.widget.AbsListView Method smoothScrollToPosition(int, int)
+NO DOC BLOCK: android.media.AudioManager Method startBluetoothSco()
+NO DOC BLOCK: android.hardware.Camera Method startSmoothZoom(int)
+NO DOC BLOCK: android.media.AudioManager Method stopBluetoothSco()
+NO DOC BLOCK: android.hardware.Camera Method stopSmoothZoom()
+NO DOC BLOCK: android.widget.VideoView Method suspend()
+NO DOC BLOCK: android.text.util.Rfc822Tokenizer Method tokenize(java.lang.CharSequence, java.util.Collection<android.text.util.Rfc822Token>)
+NO DOC BLOCK: android.media.AudioManager Method unregisterMediaButtonEventReceiver(android.content.ComponentName)
+NO DOC BLOCK: android.database.sqlite.SQLiteDatabase Method updateWithOnConflict(java.lang.String, android.content.ContentValues, java.lang.String, java.lang.String[], int)
+NO DOC BLOCK: android.util.Log Method wtf(java.lang.String, java.lang.String)
+NO DOC BLOCK: android.util.Log Method wtf(java.lang.String, java.lang.String, java.lang.Throwable)
+NO DOC BLOCK: android.util.Log Method wtf(java.lang.String, java.lang.Throwable)
+NO DOC BLOCK: android.provider.Settings Field ACTION_ADD_ACCOUNT
+NO DOC BLOCK: android.provider.Settings Field ACTION_DEVICE_INFO_SETTINGS
+NO DOC BLOCK: android.content.Intent Field ACTION_EXTERNAL_APPLICATIONS_AVAILABLE
+NO DOC BLOCK: android.content.Intent Field ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE
+NO DOC BLOCK: android.speech.RecognizerIntent Field ACTION_GET_LANGUAGE_DETAILS
+NO DOC BLOCK: android.view.MotionEvent Field ACTION_POINTER_INDEX_MASK
+NO DOC BLOCK: android.view.MotionEvent Field ACTION_POINTER_INDEX_SHIFT
+NO DOC BLOCK: android.media.AudioManager Field ACTION_SCO_AUDIO_STATE_CHANGED
+NO DOC BLOCK: android.provider.Settings Field ACTION_SEARCH_SETTINGS
+NO DOC BLOCK: android.provider.Settings.Secure Field ALLOWED_GEOLOCATION_ORIGINS
+NO DOC BLOCK: android.media.AudioManager Field AUDIOFOCUS_GAIN
+NO DOC BLOCK: android.media.AudioManager Field AUDIOFOCUS_GAIN_TRANSIENT
+NO DOC BLOCK: android.media.AudioManager Field AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK
+NO DOC BLOCK: android.media.AudioManager Field AUDIOFOCUS_LOSS
+NO DOC BLOCK: android.media.AudioManager Field AUDIOFOCUS_LOSS_TRANSIENT
+NO DOC BLOCK: android.media.AudioManager Field AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK
+NO DOC BLOCK: android.media.AudioManager Field AUDIOFOCUS_REQUEST_FAILED
+NO DOC BLOCK: android.media.AudioManager Field AUDIOFOCUS_REQUEST_GRANTED
+NO DOC BLOCK: android.provider.Contacts.PresenceColumns Field AVAILABLE
+NO DOC BLOCK: android.provider.ContactsContract.StatusColumns Field AVAILABLE
+NO DOC BLOCK: android.provider.Contacts.PresenceColumns Field AWAY
+NO DOC BLOCK: android.provider.ContactsContract.StatusColumns Field AWAY
+NO DOC BLOCK: android.content.pm.ApplicationInfo Field backupAgentName
+NO DOC BLOCK: android.Manifest.permission Field BIND_DEVICE_ADMIN
+NO DOC BLOCK: android.content.Context Field BIND_NOT_FOREGROUND
+NO DOC BLOCK: android.Manifest.permission Field BIND_WALLPAPER
+NO DOC BLOCK: android.provider.MediaStore.Audio.AudioColumns Field BOOKMARK
+NO DOC BLOCK: android.os.Build Field BOOTLOADER
+NO DOC BLOCK: android.view.WindowManager.LayoutParams Field BRIGHTNESS_OVERRIDE_FULL
+NO DOC BLOCK: android.view.WindowManager.LayoutParams Field BRIGHTNESS_OVERRIDE_NONE
+NO DOC BLOCK: android.view.WindowManager.LayoutParams Field BRIGHTNESS_OVERRIDE_OFF
+NO DOC BLOCK: android.view.WindowManager.LayoutParams Field buttonBrightness
+NO DOC BLOCK: android.content.Intent Field CATEGORY_CAR_MODE
+NO DOC BLOCK: android.content.pm.ActivityInfo Field CONFIG_UI_MODE
+NO DOC BLOCK: android.database.sqlite.SQLiteDatabase Field CONFLICT_ABORT
+NO DOC BLOCK: android.database.sqlite.SQLiteDatabase Field CONFLICT_FAIL
+NO DOC BLOCK: android.database.sqlite.SQLiteDatabase Field CONFLICT_IGNORE
+NO DOC BLOCK: android.database.sqlite.SQLiteDatabase Field CONFLICT_NONE
+NO DOC BLOCK: android.database.sqlite.SQLiteDatabase Field CONFLICT_REPLACE
+NO DOC BLOCK: android.database.sqlite.SQLiteDatabase Field CONFLICT_ROLLBACK
+NO DOC BLOCK: android.os.Build Field CPU_ABI2
+NO DOC BLOCK: android.app.SearchManager Field CURSOR_EXTRA_KEY_IN_PROGRESS
+NO DOC BLOCK: android.R.id Field custom
+NO DOC BLOCK: android.R.anim Field cycle_interpolator
+NO DOC BLOCK: dalvik.system.Zygote Field DEBUG_ENABLE_SAFEMODE
+NO DOC BLOCK: android.content.SyncResult Field delayUntil
+NO DOC BLOCK: android.content.pm.ComponentInfo Field descriptionRes
+NO DOC BLOCK: android.speech.RecognizerIntent Field DETAILS_META_DATA
+NO DOC BLOCK: android.content.Context Field DEVICE_POLICY_SERVICE
+NO DOC BLOCK: android.os.Environment Field DIRECTORY_ALARMS
+NO DOC BLOCK: android.os.Environment Field DIRECTORY_DCIM
+NO DOC BLOCK: android.os.Environment Field DIRECTORY_DOWNLOADS
+NO DOC BLOCK: android.os.Environment Field DIRECTORY_MOVIES
+NO DOC BLOCK: android.os.Environment Field DIRECTORY_MUSIC
+NO DOC BLOCK: android.os.Environment Field DIRECTORY_NOTIFICATIONS
+NO DOC BLOCK: android.os.Environment Field DIRECTORY_PICTURES
+NO DOC BLOCK: android.os.Environment Field DIRECTORY_PODCASTS
+NO DOC BLOCK: android.os.Environment Field DIRECTORY_RINGTONES
+NO DOC BLOCK: android.provider.Contacts.PresenceColumns Field DO_NOT_DISTURB
+NO DOC BLOCK: android.provider.ContactsContract.StatusColumns Field DO_NOT_DISTURB
+NO DOC BLOCK: org.w3c.dom.Node Field DOCUMENT_POSITION_CONTAINED_BY
+NO DOC BLOCK: org.w3c.dom.Node Field DOCUMENT_POSITION_CONTAINS
+NO DOC BLOCK: org.w3c.dom.Node Field DOCUMENT_POSITION_DISCONNECTED
+NO DOC BLOCK: org.w3c.dom.Node Field DOCUMENT_POSITION_FOLLOWING
+NO DOC BLOCK: org.w3c.dom.Node Field DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC
+NO DOC BLOCK: org.w3c.dom.Node Field DOCUMENT_POSITION_PRECEDING
+NO DOC BLOCK: android.content.Context Field DROPBOX_SERVICE
+NO DOC BLOCK: android.text.AndroidCharacter Field EAST_ASIAN_WIDTH_AMBIGUOUS
+NO DOC BLOCK: android.text.AndroidCharacter Field EAST_ASIAN_WIDTH_FULL_WIDTH
+NO DOC BLOCK: android.text.AndroidCharacter Field EAST_ASIAN_WIDTH_HALF_WIDTH
+NO DOC BLOCK: android.text.AndroidCharacter Field EAST_ASIAN_WIDTH_NARROW
+NO DOC BLOCK: android.text.AndroidCharacter Field EAST_ASIAN_WIDTH_NEUTRAL
+NO DOC BLOCK: android.text.AndroidCharacter Field EAST_ASIAN_WIDTH_WIDE
+NO DOC BLOCK: android.R.attr Field expandableListViewWhiteStyle
+NO DOC BLOCK: android.provider.Settings Field EXTRA_AUTHORITIES
+NO DOC BLOCK: android.speech.tts.TextToSpeech.Engine Field EXTRA_AVAILABLE_VOICES
+NO DOC BLOCK: android.speech.RecognizerIntent Field EXTRA_CALLING_PACKAGE
+NO DOC BLOCK: android.content.Intent Field EXTRA_CHANGED_PACKAGE_LIST
+NO DOC BLOCK: android.content.Intent Field EXTRA_CHANGED_UID_LIST
+NO DOC BLOCK: android.speech.tts.TextToSpeech.Engine Field EXTRA_CHECK_VOICE_DATA_FOR
+NO DOC BLOCK: android.provider.MediaStore Field EXTRA_DURATION_LIMIT
+NO DOC BLOCK: android.provider.MediaStore Field EXTRA_FULL_SCREEN
+NO DOC BLOCK: android.provider.Browser Field EXTRA_HEADERS
+NO DOC BLOCK: android.speech.RecognizerIntent Field EXTRA_LANGUAGE_PREFERENCE
+NO DOC BLOCK: android.speech.RecognizerIntent Field EXTRA_ONLY_RETURN_LANGUAGE_PREFERENCE
+NO DOC BLOCK: android.speech.RecognizerIntent Field EXTRA_PARTIAL_RESULTS
+NO DOC BLOCK: android.media.AudioManager Field EXTRA_SCO_AUDIO_STATE
+NO DOC BLOCK: android.app.SearchManager Field EXTRA_SELECT_QUERY
+NO DOC BLOCK: android.provider.MediaStore Field EXTRA_SHOW_ACTION_ICONS
+NO DOC BLOCK: android.provider.MediaStore Field EXTRA_SIZE_LIMIT
+NO DOC BLOCK: android.speech.RecognizerIntent Field EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS
+NO DOC BLOCK: android.speech.RecognizerIntent Field EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS
+NO DOC BLOCK: android.speech.RecognizerIntent Field EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS
+NO DOC BLOCK: android.speech.RecognizerIntent Field EXTRA_SUPPORTED_LANGUAGES
+NO DOC BLOCK: android.speech.tts.TextToSpeech.Engine Field EXTRA_UNAVAILABLE_VOICES
+NO DOC BLOCK: android.content.pm.PackageManager Field FEATURE_BLUETOOTH
+NO DOC BLOCK: android.content.pm.PackageManager Field FEATURE_LOCATION
+NO DOC BLOCK: android.content.pm.PackageManager Field FEATURE_LOCATION_GPS
+NO DOC BLOCK: android.content.pm.PackageManager Field FEATURE_LOCATION_NETWORK
+NO DOC BLOCK: android.content.pm.PackageManager Field FEATURE_MICROPHONE
+NO DOC BLOCK: android.content.pm.PackageManager Field FEATURE_SENSOR_ACCELEROMETER
+NO DOC BLOCK: android.content.pm.PackageManager Field FEATURE_SENSOR_COMPASS
+NO DOC BLOCK: android.content.pm.PackageManager Field FEATURE_TOUCHSCREEN
+NO DOC BLOCK: android.content.pm.PackageManager Field FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT
+NO DOC BLOCK: android.content.pm.PackageManager Field FEATURE_WIFI
+NO DOC BLOCK: android.content.pm.ApplicationInfo Field FLAG_ALLOW_BACKUP
+NO DOC BLOCK: android.view.WindowManager.LayoutParams Field FLAG_ALLOW_LOCK_WHILE_SCREEN_ON
+NO DOC BLOCK: android.content.pm.ApplicationInfo Field FLAG_EXTERNAL_STORAGE
+NO DOC BLOCK: android.content.pm.ApplicationInfo Field FLAG_KILL_AFTER_RESTORE
+NO DOC BLOCK: android.content.Intent Field FLAG_RECEIVER_REPLACE_PENDING
+NO DOC BLOCK: android.content.pm.ApplicationInfo Field FLAG_RESTORE_ANY_VERSION
+NO DOC BLOCK: android.content.pm.ApplicationInfo Field FLAG_VM_SAFE_MODE
+NO DOC BLOCK: android.hardware.Camera.Parameters Field FOCUS_MODE_EDOF
+NO DOC BLOCK: android.os.Build.VERSION_CODES Field FROYO
+NO DOC BLOCK: android.os.Build Field HARDWARE
+NO DOC BLOCK: android.provider.Contacts.PresenceColumns Field IDLE
+NO DOC BLOCK: android.provider.ContactsContract.StatusColumns Field IDLE
+NO DOC BLOCK: android.R.attr Field installLocation
+NO DOC BLOCK: android.app.SearchManager Field INTENT_ACTION_GLOBAL_SEARCH
+NO DOC BLOCK: android.provider.MediaStore Field INTENT_ACTION_MUSIC_PLAYER
+NO DOC BLOCK: android.app.SearchManager Field INTENT_ACTION_SEARCH_SETTINGS
+NO DOC BLOCK: android.provider.Contacts.PresenceColumns Field INVISIBLE
+NO DOC BLOCK: android.provider.ContactsContract.StatusColumns Field INVISIBLE
+NO DOC BLOCK: android.provider.MediaStore.Audio.AudioColumns Field IS_PODCAST
+NO DOC BLOCK: android.view.HapticFeedbackConstants Field KEYBOARD_TAP
+NO DOC BLOCK: android.Manifest.permission Field KILL_BACKGROUND_PROCESSES
+NO DOC BLOCK: dalvik.system.VMDebug Field KIND_GLOBAL_CLASS_INIT_COUNT
+NO DOC BLOCK: dalvik.system.VMDebug Field KIND_GLOBAL_CLASS_INIT_TIME
+NO DOC BLOCK: dalvik.system.VMDebug Field KIND_THREAD_CLASS_INIT_COUNT
+NO DOC BLOCK: dalvik.system.VMDebug Field KIND_THREAD_CLASS_INIT_TIME
+NO DOC BLOCK: android.provider.Settings.Secure Field LOCK_PATTERN_ENABLED
+NO DOC BLOCK: android.provider.Settings.Secure Field LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED
+NO DOC BLOCK: android.provider.Settings.Secure Field LOCK_PATTERN_VISIBLE
+NO DOC BLOCK: android.view.ViewGroup.LayoutParams Field MATCH_PARENT
+NO DOC BLOCK: android.telephony.TelephonyManager Field NETWORK_TYPE_IDEN
+NO DOC BLOCK: android.provider.Contacts.PresenceColumns Field OFFLINE
+NO DOC BLOCK: android.provider.ContactsContract.StatusColumns Field OFFLINE
+NO DOC BLOCK: dalvik.bytecode.Opcodes Field OP_BREAKPOINT
+NO DOC BLOCK: dalvik.bytecode.Opcodes Field OP_EXECUTE_INLINE_RANGE
+NO DOC BLOCK: dalvik.bytecode.Opcodes Field OP_THROW_VERIFICATION_ERROR
+NO DOC BLOCK: android.location.LocationManager Field PASSIVE_PROVIDER
+NO DOC BLOCK: android.provider.Contacts.PresenceColumns Field PRESENCE_CUSTOM_STATUS
+NO DOC BLOCK: android.provider.ContactsContract.StatusColumns Field PRESENCE_CUSTOM_STATUS
+NO DOC BLOCK: android.provider.Contacts.PresenceColumns Field PRESENCE_STATUS
+NO DOC BLOCK: android.provider.ContactsContract.StatusColumns Field PRESENCE_STATUS
+NO DOC BLOCK: android.provider.Contacts.PresenceColumns Field PRIORITY
+NO DOC BLOCK: android.os.Build Field RADIO
+NO DOC BLOCK: android.R.attr Field restoreAnyVersion
+NO DOC BLOCK: android.hardware.Camera.Parameters Field SCENE_MODE_BARCODE
+NO DOC BLOCK: android.media.AudioManager Field SCO_AUDIO_STATE_CONNECTED
+NO DOC BLOCK: android.media.AudioManager Field SCO_AUDIO_STATE_DISCONNECTED
+NO DOC BLOCK: android.media.AudioManager Field SCO_AUDIO_STATE_ERROR
+NO DOC BLOCK: android.provider.Settings.System Field SCREEN_BRIGHTNESS_MODE
+NO DOC BLOCK: android.provider.Settings.System Field SCREEN_BRIGHTNESS_MODE_AUTOMATIC
+NO DOC BLOCK: android.provider.Settings.System Field SCREEN_BRIGHTNESS_MODE_MANUAL
+NO DOC BLOCK: android.Manifest.permission Field SET_TIME
+NO DOC BLOCK: android.app.ActivityManager.ProcessErrorStateInfo Field stackTrace
+NO DOC BLOCK: android.app.SearchManager Field SUGGEST_COLUMN_TEXT_2_URL
+NO DOC BLOCK: android.content.ContentResolver Field SYNC_EXTRAS_DO_NOT_RETRY
+NO DOC BLOCK: android.content.ContentResolver Field SYNC_EXTRAS_IGNORE_BACKOFF
+NO DOC BLOCK: android.content.ContentResolver Field SYNC_EXTRAS_IGNORE_SETTINGS
+NO DOC BLOCK: android.content.ContentResolver Field SYNC_OBSERVER_TYPE_ACTIVE
+NO DOC BLOCK: android.content.ContentResolver Field SYNC_OBSERVER_TYPE_PENDING
+NO DOC BLOCK: android.content.ContentResolver Field SYNC_OBSERVER_TYPE_SETTINGS
+NO DOC BLOCK: android.R.attr Field tabStripEnabled
+NO DOC BLOCK: android.R.attr Field tabStripLeft
+NO DOC BLOCK: android.R.attr Field tabStripRight
+NO DOC BLOCK: android.media.ExifInterface Field TAG_FOCAL_LENGTH
+NO DOC BLOCK: android.media.ExifInterface Field TAG_GPS_DATESTAMP
+NO DOC BLOCK: android.media.ExifInterface Field TAG_GPS_PROCESSING_METHOD
+NO DOC BLOCK: android.media.ExifInterface Field TAG_GPS_TIMESTAMP
+NO DOC BLOCK: android.provider.Settings.Secure Field TTS_ENABLED_PLUGINS
+NO DOC BLOCK: org.w3c.dom.DOMException Field TYPE_MISMATCH_ERR
+NO DOC BLOCK: android.net.ConnectivityManager Field TYPE_MOBILE_DUN
+NO DOC BLOCK: android.net.ConnectivityManager Field TYPE_MOBILE_HIPRI
+NO DOC BLOCK: android.net.ConnectivityManager Field TYPE_MOBILE_MMS
+NO DOC BLOCK: android.net.ConnectivityManager Field TYPE_MOBILE_SUPL
+NO DOC BLOCK: android.net.ConnectivityManager Field TYPE_WIMAX
+NO DOC BLOCK: android.content.res.Configuration Field UI_MODE_NIGHT_MASK
+NO DOC BLOCK: android.content.res.Configuration Field UI_MODE_NIGHT_NO
+NO DOC BLOCK: android.content.res.Configuration Field UI_MODE_NIGHT_UNDEFINED
+NO DOC BLOCK: android.content.res.Configuration Field UI_MODE_NIGHT_YES
+NO DOC BLOCK: android.content.Context Field UI_MODE_SERVICE
+NO DOC BLOCK: android.content.res.Configuration Field UI_MODE_TYPE_CAR
+NO DOC BLOCK: android.content.res.Configuration Field UI_MODE_TYPE_DESK
+NO DOC BLOCK: android.content.res.Configuration Field UI_MODE_TYPE_MASK
+NO DOC BLOCK: android.content.res.Configuration Field UI_MODE_TYPE_NORMAL
+NO DOC BLOCK: android.content.res.Configuration Field UI_MODE_TYPE_UNDEFINED
+NO DOC BLOCK: android.content.res.Configuration Field uiMode
+NO DOC BLOCK: android.os.Build Field UNKNOWN
+NO DOC BLOCK: android.provider.MediaStore Field UNKNOWN_STRING
+NO DOC BLOCK: org.w3c.dom.DOMException Field VALIDATION_ERR
+NO DOC BLOCK: android.R.attr Field vmSafeMode
+NO DOC BLOCK: android.provider.Settings.System Field VOLUME_BLUETOOTH_SCO
+NO DOC BLOCK: android.R.attr Field webTextViewStyle
diff --git a/docs/html/sdk/api_diff/8/stylesheet-jdiff.css b/docs/html/sdk/api_diff/8/stylesheet-jdiff.css
new file mode 100644
index 0000000..edafaa3
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/stylesheet-jdiff.css
@@ -0,0 +1,44 @@
+
+/* (http://www.jdiff.org) */
+
+div.and-diff-id {border: 1px solid #eee;position:relative;float:right;clear:both;padding:0px;}
+table.diffspectable {border:1px;padding:0px;margin:0px;}
+.diffspechead {background-color:#eee;}
+.diffspectable tr {border:0px;padding:0px;}
+.diffspectable td  {background-color:eee;border:0px;font-size:90%;font-weight:normal;padding:0px;padding-left:1px;padding-right:1px;text-align:center;color:777;}
+td.diffvalueold {color:orange;background-color:white;border:0px;font-size:80%;font-style:normal;text-align:left;padding:0px;padding-left:1px;padding-right:1px;line-height:.95em;}
+td.diffvaluenew {color:green;background-color:white;border:0px;font-size:80%;font-weight:normal;text-align:left;padding:0px;padding-left:1px;padding-right:1px;line-height:.95em;}
+td.diffvalue {color:444;background-color:white;border:0px;font-size:80%;font-weight:normal;text-align:left;padding:0px;padding-left:1px;padding-right:1px;line-height:.95em;}
+td.diffspec {background-color:white;border:0px;font-size:80%;font-weight:normal;padding:1px;color:444;text-align:right;padding-right:.5em;line-height:.95em;}
+tt {font-size:11pt;font-family:monospace;}
+.indexHeader {
+  font-size:96%;
+  line-height:.8em;}
+.jdiffIndex td {
+  font-size:96%;
+  xline-height:.8em;
+  padding:2px;
+  padding-left:1em;}
+.indexText {
+  font-size:100%;
+  padding-left:1em;}
+#indexTableCaption {
+  font-size:96%;
+  margin-top:.25em;
+  margin-bottom:0;
+  }
+.hiddenlink {
+  font-size:96%;
+  line-height:.8em;
+  text-decoration:none;}
+a {
+  text-decoration:none;}
+a:hover {
+  text-decoration:underline;}
+.indexBox {
+  border: 1px solid red;
+  margin:1em 0 0 0;}
+.letterIndexHead {
+  font-size: 1.5em;font-weight:9;
+  margin:0 0 0em 0;
+  border: 1px solid red;}
diff --git a/docs/html/sdk/api_diff/8/user_comments_for_7_to_8.xml b/docs/html/sdk/api_diff/8/user_comments_for_7_to_8.xml
new file mode 100644
index 0000000..2ad7e83
--- /dev/null
+++ b/docs/html/sdk/api_diff/8/user_comments_for_7_to_8.xml
@@ -0,0 +1,4445 @@
+<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
+<comments
+  xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
+  xsi:noNamespaceSchemaLocation='comments.xsd'
+  name="7_to_8"
+  jdversion="1.1.0">
+
+<!-- Use this file to enter an API change description. For example, when you remove a class, 
+     you can enter a comment for that class that points developers to the replacement class. 
+     You can also provide a change summary for modified API, to give an overview of the changes 
+     why they were made, workarounds, etc.  -->
+
+<!-- When the API diffs report is generated, the comments in this file get added to the tables of 
+     removed, added, and modified packages, classes, methods, and fields. This file does not ship 
+     with the final report. -->
+
+<!-- The id attribute in an identifier element identifies the change as noted in the report. 
+     An id has the form package[.class[.[ctor|method|field].signature]], where [] indicates optional 
+     text. A comment element can have multiple identifier elements, which will will cause the same 
+     text to appear at each place in the report, but will be converted to separate comments when the 
+     comments file is used. -->
+
+<!-- HTML tags in the text field will appear in the report. You also need to close p HTML elements, 
+     used for paragraphs - see the top-level documentation. -->
+
+<!-- You can include standard javadoc links in your change descriptions. You can use the @first command  
+     to cause jdiff to include the first line of the API documentation. You also need to close p HTML 
+     elements, used for paragraphs - see the top-level documentation. -->
+
+<comment>
+  <identifier id="android"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.Manifest.permission"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.Manifest.permission.BIND_DEVICE_ADMIN"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.Manifest.permission.BIND_WALLPAPER"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.Manifest.permission.KILL_BACKGROUND_PROCESSES"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.Manifest.permission.RESTART_PACKAGES"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.Manifest.permission.SET_TIME"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.anim"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.anim.cycle_interpolator"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.expandableListViewWhiteStyle"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.installLocation"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.restoreAnyVersion"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.restoreNeedsApplication"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.tabStripEnabled"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.tabStripLeft"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.tabStripRight"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.vmSafeMode"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.webTextViewStyle"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.id"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.id.custom"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.accounts"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.accounts.AccountManager"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.accounts.AccountManager.hasFeatures_added(android.accounts.Account, java.lang.String[], android.accounts.AccountManagerCallback&lt;java.lang.Boolean&gt;, android.os.Handler)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.Activity"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.Activity.onCreateDialog_added(int, android.os.Bundle)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.Activity.onCreateDialog_changed(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.Activity.onPrepareDialog_added(int, android.app.Dialog, android.os.Bundle)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.Activity.onPrepareDialog_changed(int, android.app.Dialog)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.Activity.showDialog_added(int, android.os.Bundle)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.ActivityManager"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.ActivityManager.ProcessErrorStateInfo"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.ActivityManager.ProcessErrorStateInfo.stackTrace"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.ActivityManager.isUserAMonkey_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.ActivityManager.killBackgroundProcesses_added(java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.ActivityManager.restartPackage_changed(java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.AlarmManager"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.AlarmManager.setTime_added(long)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.Dialog"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.Dialog.setOnShowListener_added(android.content.DialogInterface.OnShowListener)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.SearchManager"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.SearchManager.CURSOR_EXTRA_KEY_IN_PROGRESS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.SearchManager.EXTRA_SELECT_QUERY"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.SearchManager.INTENT_ACTION_GLOBAL_SEARCH"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.SearchManager.INTENT_ACTION_SEARCH_SETTINGS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.SearchManager.SUGGEST_COLUMN_TEXT_2_URL"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.SearchManager.getSearchableInfo_added(android.content.ComponentName)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.SearchManager.getSearchablesInGlobalSearch_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.SearchableInfo"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.UiModeManager"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.admin"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.backup"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.AbstractThreadedSyncAdapter"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.AbstractThreadedSyncAdapter.onSyncCanceled_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.ComponentName"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.ComponentName.clone_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.ContentResolver"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.ContentResolver.SYNC_EXTRAS_DO_NOT_RETRY"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.ContentResolver.SYNC_EXTRAS_IGNORE_BACKOFF"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.ContentResolver.SYNC_EXTRAS_IGNORE_SETTINGS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.ContentResolver.SYNC_OBSERVER_TYPE_ACTIVE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.ContentResolver.SYNC_OBSERVER_TYPE_PENDING"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.ContentResolver.SYNC_OBSERVER_TYPE_SETTINGS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.ContentResolver.addPeriodicSync_added(android.accounts.Account, java.lang.String, android.os.Bundle, long)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.ContentResolver.getCurrentSync_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.ContentResolver.getPeriodicSyncs_added(android.accounts.Account, java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.ContentResolver.removePeriodicSync_added(android.accounts.Account, java.lang.String, android.os.Bundle)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Context"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Context.BIND_NOT_FOREGROUND"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Context.DEVICE_POLICY_SERVICE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Context.DROPBOX_SERVICE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Context.UI_MODE_SERVICE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Context.getExternalCacheDir_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Context.getExternalFilesDir_added(java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Context.getPackageCodePath_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Context.getPackageResourcePath_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.ContextWrapper"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.ContextWrapper.getExternalCacheDir_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.ContextWrapper.getExternalFilesDir_added(java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.DialogInterface.OnShowListener"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Entity"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Entity.NamedContentValues"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.EntityIterator"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Intent"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Intent.CATEGORY_CAR_MODE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Intent.EXTRA_CHANGED_PACKAGE_LIST"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Intent.EXTRA_CHANGED_UID_LIST"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Intent.FLAG_RECEIVER_REPLACE_PENDING"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Intent.getCharSequenceArrayExtra_added(java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Intent.getCharSequenceArrayListExtra_added(java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Intent.putCharSequenceArrayListExtra_added(java.lang.String, java.util.ArrayList&lt;java.lang.CharSequence&gt;)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Intent.putExtra_added(java.lang.String, java.lang.CharSequence[])"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.PeriodicSync"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.SyncInfo"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.SyncResult"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.SyncResult.delayUntil"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.ActivityInfo"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.ActivityInfo.CONFIG_UI_MODE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.ApplicationInfo"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.ApplicationInfo.FLAG_ALLOW_BACKUP"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.ApplicationInfo.FLAG_EXTERNAL_STORAGE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.ApplicationInfo.FLAG_KILL_AFTER_RESTORE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.ApplicationInfo.FLAG_RESTORE_ANY_VERSION"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.ApplicationInfo.FLAG_VM_SAFE_MODE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.ApplicationInfo.backupAgentName"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.ComponentInfo"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.ComponentInfo.descriptionRes"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.FEATURE_BLUETOOTH"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.FEATURE_LOCATION"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.FEATURE_LOCATION_GPS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.FEATURE_LOCATION_NETWORK"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.FEATURE_MICROPHONE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.FEATURE_SENSOR_ACCELEROMETER"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.FEATURE_SENSOR_COMPASS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.FEATURE_TOUCHSCREEN"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.FEATURE_WIFI"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.PKG_INSTALL_COMPLETE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.PKG_INSTALL_INCOMPLETE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.addPermissionAsync_added(android.content.pm.PermissionInfo)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.addPreferredActivity_changed(android.content.IntentFilter, int, android.content.ComponentName[], android.content.ComponentName)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.canonicalToCurrentPackageNames_added(java.lang.String[])"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.currentToCanonicalPackageNames_added(java.lang.String[])"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.res"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.res.Configuration"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.res.Configuration.UI_MODE_NIGHT_MASK"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.res.Configuration.UI_MODE_NIGHT_NO"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.res.Configuration.UI_MODE_NIGHT_UNDEFINED"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.res.Configuration.UI_MODE_NIGHT_YES"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.res.Configuration.UI_MODE_TYPE_CAR"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.res.Configuration.UI_MODE_TYPE_DESK"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.res.Configuration.UI_MODE_TYPE_MASK"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.res.Configuration.UI_MODE_TYPE_NORMAL"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.res.Configuration.UI_MODE_TYPE_UNDEFINED"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.res.Configuration.readFromParcel_added(android.os.Parcel)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.res.Configuration.setTo_added(android.content.res.Configuration)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.res.Configuration.uiMode"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.database"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.database.DatabaseUtils"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.database.DatabaseUtils.cursorDoubleToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.database.DatabaseUtils.cursorFloatToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.database.DatabaseUtils.cursorIntToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.database.DatabaseUtils.cursorLongToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.database.DatabaseUtils.cursorShortToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.database.DatabaseUtils.cursorStringToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.database.sqlite"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.database.sqlite.SQLiteDatabase"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.database.sqlite.SQLiteDatabase.CONFLICT_ABORT"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.database.sqlite.SQLiteDatabase.CONFLICT_FAIL"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.database.sqlite.SQLiteDatabase.CONFLICT_IGNORE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.database.sqlite.SQLiteDatabase.CONFLICT_NONE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.database.sqlite.SQLiteDatabase.CONFLICT_REPLACE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.database.sqlite.SQLiteDatabase.CONFLICT_ROLLBACK"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.database.sqlite.SQLiteDatabase.insertWithOnConflict_added(java.lang.String, java.lang.String, android.content.ContentValues, int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.database.sqlite.SQLiteDatabase.updateWithOnConflict_added(java.lang.String, android.content.ContentValues, java.lang.String, java.lang.String[], int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.database.sqlite.SQLiteProgram"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.database.sqlite.SQLiteProgram.compile_changed(java.lang.String, boolean)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.database.sqlite.SQLiteProgram.mDatabase"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.database.sqlite.SQLiteProgram.nHandle"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.database.sqlite.SQLiteProgram.nStatement"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.database.sqlite.SQLiteProgram.native_compile_changed(java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.database.sqlite.SQLiteProgram.native_finalize_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.gesture"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.gesture.Gesture"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.gesture.Gesture.clone_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.gesture.GesturePoint"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.gesture.GesturePoint.clone_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.gesture.GestureStroke"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.gesture.GestureStroke.clone_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.gesture.GestureUtils"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.ImageFormat"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.PixelFormat"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.PixelFormat.JPEG"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.PixelFormat.YCbCr_420_SP"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.PixelFormat.YCbCr_422_I"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.PixelFormat.YCbCr_422_SP"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.YuvImage"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.hardware"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.hardware.Camera"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.hardware.Camera.OnZoomChangeListener"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.hardware.Camera.Parameters"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.hardware.Camera.Parameters.FOCUS_MODE_EDOF"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.hardware.Camera.Parameters.SCENE_MODE_BARCODE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.hardware.Camera.Parameters.getExposureCompensationStep_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.hardware.Camera.Parameters.getExposureCompensation_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.hardware.Camera.Parameters.getFocalLength_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.hardware.Camera.Parameters.getHorizontalViewAngle_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.hardware.Camera.Parameters.getMaxExposureCompensation_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.hardware.Camera.Parameters.getMaxZoom_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.hardware.Camera.Parameters.getMinExposureCompensation_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.hardware.Camera.Parameters.getSupportedJpegThumbnailSizes_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.hardware.Camera.Parameters.getVerticalViewAngle_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.hardware.Camera.Parameters.getZoomRatios_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.hardware.Camera.Parameters.getZoom_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.hardware.Camera.Parameters.isSmoothZoomSupported_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.hardware.Camera.Parameters.isZoomSupported_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.hardware.Camera.Parameters.setExposureCompensation_added(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.hardware.Camera.Parameters.setGpsProcessingMethod_added(java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.hardware.Camera.Parameters.setZoom_added(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.hardware.Camera.addCallbackBuffer_added(byte[])"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.hardware.Camera.reconnect_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.hardware.Camera.setDisplayOrientation_added(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.hardware.Camera.setPreviewCallbackWithBuffer_added(android.hardware.Camera.PreviewCallback)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.hardware.Camera.setZoomChangeListener_added(android.hardware.Camera.OnZoomChangeListener)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.hardware.Camera.startSmoothZoom_added(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.hardware.Camera.stopSmoothZoom_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.hardware.Sensor"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.hardware.Sensor.TYPE_ORIENTATION"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.location"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.location.LocationManager"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.location.LocationManager.PASSIVE_PROVIDER"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.AudioManager"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.AudioManager.ACTION_SCO_AUDIO_STATE_CHANGED"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.AudioManager.AUDIOFOCUS_GAIN"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.AudioManager.AUDIOFOCUS_GAIN_TRANSIENT"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.AudioManager.AUDIOFOCUS_LOSS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.AudioManager.AUDIOFOCUS_LOSS_TRANSIENT"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.AudioManager.AUDIOFOCUS_REQUEST_FAILED"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.AudioManager.AUDIOFOCUS_REQUEST_GRANTED"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.AudioManager.EXTRA_SCO_AUDIO_STATE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.AudioManager.OnAudioFocusChangeListener"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.AudioManager.SCO_AUDIO_STATE_CONNECTED"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.AudioManager.SCO_AUDIO_STATE_DISCONNECTED"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.AudioManager.SCO_AUDIO_STATE_ERROR"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.AudioManager.abandonAudioFocus_added(android.media.AudioManager.OnAudioFocusChangeListener)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.AudioManager.isBluetoothScoAvailableOffCall_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.AudioManager.registerMediaButtonEventReceiver_added(android.content.ComponentName)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.AudioManager.requestAudioFocus_added(android.media.AudioManager.OnAudioFocusChangeListener, int, int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.AudioManager.startBluetoothSco_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.AudioManager.stopBluetoothSco_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.AudioManager.unregisterMediaButtonEventReceiver_added(android.content.ComponentName)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.CamcorderProfile"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.CameraProfile"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ExifInterface"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ExifInterface.TAG_FOCAL_LENGTH"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ExifInterface.TAG_GPS_DATESTAMP"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ExifInterface.TAG_GPS_PROCESSING_METHOD"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ExifInterface.TAG_GPS_TIMESTAMP"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ExifInterface.getAttributeDouble_added(java.lang.String, double)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.MediaRecorder"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.MediaRecorder.setAudioChannels_added(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.MediaRecorder.setAudioEncodingBitRate_added(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.MediaRecorder.setAudioSamplingRate_added(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.MediaRecorder.setProfile_added(android.media.CamcorderProfile)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.MediaRecorder.setVideoEncodingBitRate_added(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.MediaScannerConnection"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.MediaScannerConnection.MediaScannerConnectionClient"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.MediaScannerConnection.OnScanCompletedListener"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.MediaScannerConnection.scanFile_added(android.content.Context, java.lang.String[], java.lang.String[], android.media.MediaScannerConnection.OnScanCompletedListener)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.SoundPool"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.SoundPool.OnLoadCompleteListener"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.SoundPool.autoPause_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.SoundPool.autoResume_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.SoundPool.setOnLoadCompleteListener_added(android.media.SoundPool.OnLoadCompleteListener)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ThumbnailUtils"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.net"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.net.ConnectivityManager"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.net.ConnectivityManager.TYPE_MOBILE_DUN"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.net.ConnectivityManager.TYPE_MOBILE_HIPRI"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.net.ConnectivityManager.TYPE_MOBILE_MMS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.net.ConnectivityManager.TYPE_MOBILE_SUPL"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.net.ConnectivityManager.TYPE_WIMAX"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.net.SSLCertificateSocketFactory"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.net.SSLCertificateSocketFactory.ctor_changed(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.net.SSLCertificateSocketFactory.getDefault_added(int, android.net.SSLSessionCache)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.net.SSLCertificateSocketFactory.getHttpSocketFactory_added(int, android.net.SSLSessionCache)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.net.SSLCertificateSocketFactory.getInsecure_added(int, android.net.SSLSessionCache)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.net.SSLSessionCache"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.net.TrafficStats"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.net.http"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.net.http.AndroidHttpClient"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.net.http.SslCertificate"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.net.http.SslCertificate.ctor_added(java.lang.String, java.lang.String, java.util.Date, java.util.Date)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.net.http.SslCertificate.ctor_changed(java.lang.String, java.lang.String, java.lang.String, java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.net.http.SslCertificate.getValidNotAfterDate_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.net.http.SslCertificate.getValidNotAfter_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.net.http.SslCertificate.getValidNotBeforeDate_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.net.http.SslCertificate.getValidNotBefore_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.net.http.SslError"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.opengl"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.opengl.ETC1"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.opengl.ETC1Util"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.opengl.ETC1Util.ETC1Texture"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.opengl.GLES20"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.opengl.GLSurfaceView"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.opengl.GLSurfaceView.setEGLContextClientVersion_added(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.opengl.Matrix"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.opengl.Matrix.setLookAtM_added(float[], int, float, float, float, float, float, float, float, float, float)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Build"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Build.BOOTLOADER"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Build.CPU_ABI2"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Build.HARDWARE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Build.RADIO"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Build.UNKNOWN"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Build.VERSION_CODES"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Build.VERSION_CODES.FROYO"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Bundle"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Bundle.getCharSequenceArrayList_added(java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Bundle.getCharSequenceArray_added(java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Bundle.putCharSequenceArrayList_added(java.lang.String, java.util.ArrayList&lt;java.lang.CharSequence&gt;)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Bundle.putCharSequenceArray_added(java.lang.String, java.lang.CharSequence[])"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Debug"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Debug.dumpService_added(java.lang.String, java.io.FileDescriptor, java.lang.String[])"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Debug.getGlobalClassInitCount_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Debug.getGlobalClassInitTime_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Debug.resetGlobalClassInitCount_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Debug.resetGlobalClassInitTime_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.DropBoxManager"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.DropBoxManager.Entry"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Environment"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Environment.DIRECTORY_ALARMS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Environment.DIRECTORY_DCIM"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Environment.DIRECTORY_DOWNLOADS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Environment.DIRECTORY_MOVIES"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Environment.DIRECTORY_MUSIC"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Environment.DIRECTORY_NOTIFICATIONS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Environment.DIRECTORY_PICTURES"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Environment.DIRECTORY_PODCASTS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Environment.DIRECTORY_RINGTONES"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Environment.getExternalStoragePublicDirectory_added(java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.PowerManager"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.PowerManager.reboot_added(java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.RecoverySystem"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.RecoverySystem.ProgressListener"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Browser"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Browser.EXTRA_HEADERS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.CallLog.Calls"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.CallLog.Calls.getLastOutgoingCall_added(android.content.Context)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Contacts.PresenceColumns"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Contacts.PresenceColumns.AVAILABLE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Contacts.PresenceColumns.AWAY"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Contacts.PresenceColumns.DO_NOT_DISTURB"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Contacts.PresenceColumns.IDLE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Contacts.PresenceColumns.INVISIBLE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Contacts.PresenceColumns.OFFLINE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Contacts.PresenceColumns.PRESENCE_CUSTOM_STATUS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Contacts.PresenceColumns.PRESENCE_STATUS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Contacts.PresenceColumns.PRIORITY"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.ContactsContract.Groups"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.ContactsContract.Groups.newEntityIterator_added(android.database.Cursor)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.ContactsContract.RawContacts"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.ContactsContract.RawContacts.newEntityIterator_added(android.database.Cursor)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.ContactsContract.StatusColumns"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.ContactsContract.StatusColumns.AVAILABLE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.ContactsContract.StatusColumns.AWAY"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.ContactsContract.StatusColumns.DO_NOT_DISTURB"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.ContactsContract.StatusColumns.IDLE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.ContactsContract.StatusColumns.INVISIBLE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.ContactsContract.StatusColumns.OFFLINE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.ContactsContract.StatusColumns.PRESENCE_CUSTOM_STATUS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.ContactsContract.StatusColumns.PRESENCE_STATUS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.MediaStore"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.MediaStore.Audio.AudioColumns"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.MediaStore.Audio.AudioColumns.BOOKMARK"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.MediaStore.Audio.AudioColumns.IS_PODCAST"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.MediaStore.Audio.Playlists.Members"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.MediaStore.Audio.Playlists.Members.moveItem_added(android.content.ContentResolver, long, int, int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.MediaStore.EXTRA_DURATION_LIMIT"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.MediaStore.EXTRA_FULL_SCREEN"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.MediaStore.EXTRA_SHOW_ACTION_ICONS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.MediaStore.EXTRA_SIZE_LIMIT"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.MediaStore.INTENT_ACTION_MUSIC_PLAYER"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.MediaStore.Images.Thumbnails"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.MediaStore.Images.Thumbnails.cancelThumbnailRequest_added(android.content.ContentResolver, long, long)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.MediaStore.Images.Thumbnails.getThumbnail_added(android.content.ContentResolver, long, long, int, android.graphics.BitmapFactory.Options)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.MediaStore.UNKNOWN_STRING"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.MediaStore.Video.Thumbnails"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.MediaStore.Video.Thumbnails.cancelThumbnailRequest_added(android.content.ContentResolver, long, long)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.MediaStore.Video.Thumbnails.getThumbnail_added(android.content.ContentResolver, long, long, int, android.graphics.BitmapFactory.Options)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Settings"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Settings.ACTION_ADD_ACCOUNT"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Settings.ACTION_DEVICE_INFO_SETTINGS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Settings.ACTION_SEARCH_SETTINGS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Settings.EXTRA_AUTHORITIES"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Settings.Secure"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Settings.Secure.ALLOWED_GEOLOCATION_ORIGINS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Settings.Secure.LOCK_PATTERN_ENABLED"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Settings.Secure.LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Settings.Secure.LOCK_PATTERN_VISIBLE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Settings.Secure.TTS_ENABLED_PLUGINS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Settings.Secure.isLocationProviderEnabled_added(android.content.ContentResolver, java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Settings.Secure.setLocationProviderEnabled_added(android.content.ContentResolver, java.lang.String, boolean)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Settings.System"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Settings.System.LOCK_PATTERN_ENABLED"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Settings.System.LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Settings.System.LOCK_PATTERN_VISIBLE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Settings.System.VOLUME_BLUETOOTH_SCO"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.speech"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.speech.RecognitionListener"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.speech.RecognitionService"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.speech.RecognitionService.Callback"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.speech.RecognizerIntent"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.speech.RecognizerIntent.ACTION_GET_LANGUAGE_DETAILS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.speech.RecognizerIntent.DETAILS_META_DATA"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.speech.RecognizerIntent.EXTRA_CALLING_PACKAGE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.speech.RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.speech.RecognizerIntent.EXTRA_ONLY_RETURN_LANGUAGE_PREFERENCE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.speech.RecognizerIntent.EXTRA_PARTIAL_RESULTS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.speech.RecognizerIntent.EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.speech.RecognizerIntent.EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.speech.RecognizerIntent.EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.speech.RecognizerIntent.EXTRA_SUPPORTED_LANGUAGES"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.speech.RecognizerIntent.getVoiceDetailsIntent_added(android.content.Context)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.speech.SpeechRecognizer"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.speech.tts"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.speech.tts.TextToSpeech"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.speech.tts.TextToSpeech.Engine"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.speech.tts.TextToSpeech.Engine.EXTRA_AVAILABLE_VOICES"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.speech.tts.TextToSpeech.Engine.EXTRA_CHECK_VOICE_DATA_FOR"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.speech.tts.TextToSpeech.Engine.EXTRA_UNAVAILABLE_VOICES"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.speech.tts.TextToSpeech.areDefaultsEnforced_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.speech.tts.TextToSpeech.getDefaultEngine_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.speech.tts.TextToSpeech.setEngineByPackageName_added(java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.TelephonyManager"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.TelephonyManager.NETWORK_TYPE_IDEN"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.test"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.test.ActivityInstrumentationTestCase2"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.test.ActivityInstrumentationTestCase2.ctor_added(java.lang.Class&lt;T&gt;)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.test.ActivityInstrumentationTestCase2.ctor_changed(java.lang.String, java.lang.Class&lt;T&gt;)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.test.mock"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.test.mock.MockContentProvider"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.test.mock.MockContext"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.test.mock.MockContext.getExternalCacheDir_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.test.mock.MockContext.getExternalFilesDir_added(java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.test.mock.MockCursor"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.test.mock.MockPackageManager"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.test.mock.MockPackageManager.addPermissionAsync_added(android.content.pm.PermissionInfo)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.test.mock.MockPackageManager.canonicalToCurrentPackageNames_added(java.lang.String[])"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.test.mock.MockPackageManager.currentToCanonicalPackageNames_added(java.lang.String[])"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.text"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.text.AndroidCharacter"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.text.AndroidCharacter.EAST_ASIAN_WIDTH_AMBIGUOUS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.text.AndroidCharacter.EAST_ASIAN_WIDTH_FULL_WIDTH"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.text.AndroidCharacter.EAST_ASIAN_WIDTH_HALF_WIDTH"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.text.AndroidCharacter.EAST_ASIAN_WIDTH_NARROW"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.text.AndroidCharacter.EAST_ASIAN_WIDTH_NEUTRAL"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.text.AndroidCharacter.EAST_ASIAN_WIDTH_WIDE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.text.AndroidCharacter.getEastAsianWidth_added(char)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.text.AndroidCharacter.getEastAsianWidths_added(char[], int, int, byte[])"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.text.style"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.text.style.LeadingMarginSpan.LeadingMarginSpan2"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.text.util"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.text.util.Rfc822Tokenizer"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.text.util.Rfc822Tokenizer.tokenize_added(java.lang.CharSequence, java.util.Collection&lt;android.text.util.Rfc822Token&gt;)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.util"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.util.Base64"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.util.Base64InputStream"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.util.Base64OutputStream"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.util.EventLog"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.util.EventLog.Event"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.util.EventLogTags"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.util.Log"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.util.Log.wtf_added(java.lang.String, java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.util.Log.wtf_added(java.lang.String, java.lang.String, java.lang.Throwable)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.util.Log.wtf_added(java.lang.String, java.lang.Throwable)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.util.Patterns"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.Display"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.Display.getOrientation_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.Display.getRotation_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.GestureDetector"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.GestureDetector.ctor_added(android.content.Context, android.view.GestureDetector.OnGestureListener, android.os.Handler, boolean)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.HapticFeedbackConstants"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.HapticFeedbackConstants.KEYBOARD_TAP"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.MotionEvent"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.MotionEvent.ACTION_POINTER_1_DOWN"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.MotionEvent.ACTION_POINTER_1_UP"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.MotionEvent.ACTION_POINTER_2_DOWN"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.MotionEvent.ACTION_POINTER_2_UP"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.MotionEvent.ACTION_POINTER_3_DOWN"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.MotionEvent.ACTION_POINTER_3_UP"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.MotionEvent.ACTION_POINTER_ID_MASK"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.MotionEvent.ACTION_POINTER_ID_SHIFT"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.MotionEvent.ACTION_POINTER_INDEX_MASK"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.MotionEvent.ACTION_POINTER_INDEX_SHIFT"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.MotionEvent.getActionIndex_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.MotionEvent.getActionMasked_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.ScaleGestureDetector"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.ScaleGestureDetector.OnScaleGestureListener"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.ScaleGestureDetector.SimpleOnScaleGestureListener"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.VelocityTracker"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.VelocityTracker.getXVelocity_added(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.VelocityTracker.getYVelocity_added(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.View"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.View.dispatchConfigurationChanged_added(android.content.res.Configuration)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.View.dispatchDisplayHint_added(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.View.dispatchVisibilityChanged_added(android.view.View, int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.View.onConfigurationChanged_added(android.content.res.Configuration)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.View.onDisplayHint_added(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.View.onVisibilityChanged_added(android.view.View, int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.ViewConfiguration"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.ViewConfiguration.getScaledPagingTouchSlop_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.ViewGroup.LayoutParams"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.ViewGroup.LayoutParams.FILL_PARENT"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.ViewGroup.LayoutParams.MATCH_PARENT"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.WindowManager.LayoutParams"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_FULL"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_OFF"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.WindowManager.LayoutParams.buttonBrightness"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.animation"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.animation.Animation"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.animation.Animation.cancel_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.webkit"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.webkit.CacheManager"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.webkit.CacheManager.endCacheTransaction_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.webkit.CacheManager.startCacheTransaction_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.webkit.ConsoleMessage"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.webkit.ConsoleMessage.MessageLevel"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.webkit.JsResult"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.webkit.JsResult.mProxy"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.webkit.WebChromeClient"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.webkit.WebChromeClient.onConsoleMessage_added(android.webkit.ConsoleMessage)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.webkit.WebChromeClient.onConsoleMessage_added(java.lang.String, int, java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.webkit.WebChromeClient.onConsoleMessage_removed(java.lang.String, int, java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.webkit.WebSettings"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.webkit.WebSettings.PluginState"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.webkit.WebSettings.getBlockNetworkLoads_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.webkit.WebSettings.getPluginState_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.webkit.WebSettings.getPluginsEnabled_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.webkit.WebSettings.setBlockNetworkLoads_added(boolean)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.webkit.WebSettings.setPluginState_added(android.webkit.WebSettings.PluginState)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.webkit.WebSettings.setPluginsEnabled_changed(boolean)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.webkit.WebView"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.webkit.WebView.emulateShiftHeld_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.webkit.WebView.loadUrl_added(java.lang.String, java.util.Map&lt;java.lang.String, java.lang.String&gt;)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.webkit.WebView.onChildViewAdded_changed(android.view.View, android.view.View)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.webkit.WebView.onChildViewRemoved_changed(android.view.View, android.view.View)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.webkit.WebViewClient"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.webkit.WebViewClient.onReceivedSslError_added(android.webkit.WebView, android.webkit.SslErrorHandler, android.net.http.SslError)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.webkit.WebViewClient.onTooManyRedirects_changed(android.webkit.WebView, android.os.Message, android.os.Message)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.AbsListView"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.AbsListView.smoothScrollBy_added(int, int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.AbsListView.smoothScrollToPosition_added(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.AbsListView.smoothScrollToPosition_added(int, int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.BaseExpandableListAdapter"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.BaseExpandableListAdapter.getChildTypeCount_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.BaseExpandableListAdapter.getChildType_added(int, int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.BaseExpandableListAdapter.getGroupTypeCount_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.BaseExpandableListAdapter.getGroupType_added(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.HeterogeneousExpandableList"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.ImageView"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.ImageView.setColorFilter_added(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.ListView"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.ListView.getCheckItemIds_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.ListView.getCheckedItemIds_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.RemoteViews"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.RemoteViews.setBundle_added(int, java.lang.String, android.os.Bundle)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.TabWidget"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.TabWidget.isStripEnabled_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.TabWidget.setLeftStripDrawable_added(android.graphics.drawable.Drawable)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.TabWidget.setLeftStripDrawable_added(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.TabWidget.setRightStripDrawable_added(android.graphics.drawable.Drawable)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.TabWidget.setRightStripDrawable_added(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.TabWidget.setStripEnabled_added(boolean)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.VideoView"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.VideoView.resume_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.VideoView.suspend_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.bytecode"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.bytecode.Opcodes"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.bytecode.Opcodes.OP_BREAKPOINT"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.bytecode.Opcodes.OP_EXECUTE_INLINE_RANGE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.bytecode.Opcodes.OP_THROW_VERIFICATION_ERROR"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_3e"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_3f"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_40"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_41"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_42"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_43"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_73"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_79"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_7A"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_E3"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_E4"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_E5"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_E6"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_E7"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_E8"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_E9"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_EA"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_EB"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_EC"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_ED"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_EF"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_F1"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_FC"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_FD"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_FE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_FF"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.system"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.system.VMDebug"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.system.VMDebug.DEFAULT_METHOD_TRACE_FILE_NAME"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.system.VMDebug.KIND_GLOBAL_CLASS_INIT_COUNT"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.system.VMDebug.KIND_GLOBAL_CLASS_INIT_TIME"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.system.VMDebug.KIND_THREAD_CLASS_INIT_COUNT"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.system.VMDebug.KIND_THREAD_CLASS_INIT_TIME"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.system.VMDebug.startMethodTracing_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.system.Zygote"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="dalvik.system.Zygote.DEBUG_ENABLE_SAFEMODE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="java.net"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="java.net.DatagramSocketImpl"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="java.net.DatagramSocketImpl.getOption_removed(int)"/>
+  <text>
+    This method stub was removed from the DatagramSocketImpl abstract class, but subclasses still inherit the method from the <a href="../../../../reference/java/net/SocketOptions.html">SocketOptions</a> superclass.
+  </text>
+</comment>
+<comment>
+  <identifier id="java.net.DatagramSocketImpl.setOption_removed(int, java.lang.Object)"/>
+  <text>
+    This method stub was removed from the DatagramSocketImpl abstract class, but subclasses still inherit the method from the <a href="../../../../reference/java/net/SocketOptions.html">SocketOptions</a> superclass.
+  </text>
+</comment>
+<comment>
+  <identifier id="java.nio.charset"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="java.nio.charset.Charset"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="java.nio.charset.Charset.forName_changed(java.lang.String)"/>
+  <text>
+    The unchecked exceptions <code>java.nio.charset.IllegalCharsetNameException</code> and <code>java.nio.charset.UnsupportedCharsetExceptionare</code> are still thrown by this method but the exceptions were removed from the formal API specification.
+  </text>
+</comment>
+<comment>
+  <identifier id="java.nio.charset.Charset.isSupported_changed(java.lang.String)"/>
+  <text>
+    The unchecked exception <code>java.nio.charset.IllegalCharsetNameException</code> is still thrown by this method but the exception was removed from the formal API specification.
+  </text>
+</comment>
+<comment>
+  <identifier id="java.util"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="java.util.ArrayList"/>
+  <text>
+    <a href="../../../../reference/java/util/ArrayList.html">ArrayList</a> now implements <a href="../../../../reference/java/util/List.html">List</a> indirectly, via <a href="../../../../reference/java/util/AbstractList.html">AbstractList</a>.
+  </text>
+</comment>
+<comment>
+  <identifier id="java.util.HashMap"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="java.util.regex"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="java.util.regex.Matcher"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="java.util.regex.Matcher.appendReplacement_changed(java.lang.StringBuffer, java.lang.String)"/>
+  <text>
+    The unchecked exception <code>java.lang.IllegalStateException</code> is still thrown by this method but the exception was removed from the formal API specification.
+  </text>
+</comment>
+<comment>
+  <identifier id="java.util.regex.Matcher.start_changed()"/>
+  <text>
+    The unchecked exception <code>java.lang.IllegalStateException</code> is still thrown by this method but the exception was removed from the formal API specification.
+  </text>
+</comment>
+<comment>
+  <identifier id="java.util.regex.Pattern"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="java.util.regex.Pattern.compile_changed(java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="javax.xml"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="javax.xml.XMLConstants"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="javax.xml.XMLConstants.ctor_removed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="javax.xml.datatype"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="javax.xml.namespace"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="javax.xml.parsers"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="javax.xml.parsers.DocumentBuilder"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="javax.xml.parsers.DocumentBuilder.getSchema_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="javax.xml.parsers.DocumentBuilder.isXIncludeAware_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="javax.xml.parsers.DocumentBuilderFactory"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="javax.xml.parsers.DocumentBuilderFactory.getSchema_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="javax.xml.parsers.DocumentBuilderFactory.newInstance_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="javax.xml.parsers.DocumentBuilderFactory.setSchema_added(javax.xml.validation.Schema)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="javax.xml.parsers.SAXParser"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="javax.xml.parsers.SAXParser.getSchema_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="javax.xml.parsers.SAXParser.isXIncludeAware_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="javax.xml.parsers.SAXParserFactory"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="javax.xml.parsers.SAXParserFactory.getSchema_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="javax.xml.parsers.SAXParserFactory.newInstance_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="javax.xml.parsers.SAXParserFactory.setSchema_added(javax.xml.validation.Schema)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="javax.xml.transform"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="javax.xml.transform.dom"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="javax.xml.transform.sax"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="javax.xml.transform.stream"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="javax.xml.validation"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="javax.xml.xpath"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Attr"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Attr.getSchemaTypeInfo_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Attr.isId_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.DOMConfiguration"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.DOMError"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.DOMErrorHandler"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.DOMException"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.DOMException.TYPE_MISMATCH_ERR"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.DOMException.VALIDATION_ERR"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.DOMImplementation"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.DOMImplementation.getFeature_added(java.lang.String, java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.DOMImplementationList"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.DOMImplementationSource"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.DOMLocator"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.DOMStringList"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Document"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Document.adoptNode_added(org.w3c.dom.Node)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Document.getDocumentURI_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Document.getDomConfig_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Document.getInputEncoding_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Document.getStrictErrorChecking_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Document.getXmlEncoding_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Document.getXmlStandalone_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Document.getXmlVersion_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Document.normalizeDocument_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Document.renameNode_added(org.w3c.dom.Node, java.lang.String, java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Document.setDocumentURI_added(java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Document.setStrictErrorChecking_added(boolean)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Document.setXmlStandalone_added(boolean)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Document.setXmlVersion_added(java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Element"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Element.getAttributeNS_changed(java.lang.String, java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Element.getAttributeNodeNS_changed(java.lang.String, java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Element.getElementsByTagNameNS_changed(java.lang.String, java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Element.getSchemaTypeInfo_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Element.hasAttributeNS_changed(java.lang.String, java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Element.setIdAttributeNS_added(java.lang.String, java.lang.String, boolean)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Element.setIdAttributeNode_added(org.w3c.dom.Attr, boolean)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Element.setIdAttribute_added(java.lang.String, boolean)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Entity"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Entity.getInputEncoding_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Entity.getXmlEncoding_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Entity.getXmlVersion_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.NameList"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.NamedNodeMap"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.NamedNodeMap.getNamedItemNS_changed(java.lang.String, java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Node"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Node.DOCUMENT_POSITION_CONTAINED_BY"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Node.DOCUMENT_POSITION_CONTAINS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Node.DOCUMENT_POSITION_DISCONNECTED"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Node.DOCUMENT_POSITION_FOLLOWING"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Node.DOCUMENT_POSITION_PRECEDING"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Node.compareDocumentPosition_added(org.w3c.dom.Node)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Node.getBaseURI_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Node.getFeature_added(java.lang.String, java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Node.getTextContent_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Node.getUserData_added(java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Node.isDefaultNamespace_added(java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Node.isEqualNode_added(org.w3c.dom.Node)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Node.isSameNode_added(org.w3c.dom.Node)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Node.lookupNamespaceURI_added(java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Node.lookupPrefix_added(java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Node.setTextContent_added(java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Node.setUserData_added(java.lang.String, java.lang.Object, org.w3c.dom.UserDataHandler)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Text"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Text.getWholeText_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Text.isElementContentWhitespace_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.Text.replaceWholeText_added(java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.TypeInfo"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.UserDataHandler"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="org.w3c.dom.ls"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<!-- This comment is no longer used 
+<comment>
+  <identifier id="android.media.AudioManager.registerAudioFocusListener_added(android.media.AudioManager.OnAudioFocusChangeListener)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+-->
+<!-- This comment is no longer used 
+<comment>
+  <identifier id="android.media.AudioManager.unregisterAudioFocusListener_added(android.media.AudioManager.OnAudioFocusChangeListener)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+-->
+
+</comments>
diff --git a/docs/html/sdk/eclipse-adt.jd b/docs/html/sdk/eclipse-adt.jd
index d3e0a10..57eac1f 100644
--- a/docs/html/sdk/eclipse-adt.jd
+++ b/docs/html/sdk/eclipse-adt.jd
@@ -81,6 +81,9 @@
 .toggleable a {
   text-decoration:none;
 }
+.toggleme a {
+  text-decoration:underline;
+}
 .toggleable.closed .toggleme {
   display:none;
 }
@@ -89,6 +92,31 @@
 }
 </style>
 
+<div class="toggleable opened">
+  <a href="#" onclick="return toggleDiv(this)">
+        <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" width="9px" />
+ADT 0.9.6</a> <em>(March 2010)</em>
+  <div class="toggleme">
+
+<dl>
+<dt>Library projects:</dt>
+<dd>
+<p>The ADT Plugin now supports the use of <em>library projects</em> during
+development, a capability that lets you store shared Android application
+code and resources in a separate development project. You can then reference the
+library project from other Android projects and, at build time, the tools
+compile the shared code and resources as part of the dependent applications.
+More information about this feature is available in the <a
+href="{@docRoot}guide/developing/eclipse-adt.html#libraryProject">Developing 
+in Eclipse with ADT</a> document. </p>
+<p>If you are not developing in Eclipse, <a 
+href="tools-notes.html">SDK Tools r6</a> provides the equivalent library 
+project support through the Ant build system.</p>
+</dd>
+</dl>
+ </div>
+</div>
+
 <div class="toggleable closed">
   <a href="#" onclick="return toggleDiv(this)">
         <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" width="9px" />
diff --git a/docs/html/sdk/index.jd b/docs/html/sdk/index.jd
index e10c408..d383fde 100644
--- a/docs/html/sdk/index.jd
+++ b/docs/html/sdk/index.jd
@@ -1,17 +1,17 @@
 page.title=Android SDK
 sdk.redirect=0
 
-sdk.win_download=android-sdk_r05-windows.zip
-sdk.win_bytes=23449838
-sdk.win_checksum=cc2c51a24e2f876e0fa652e182ef5840
+sdk.win_download=android-sdk_r06-windows.zip
+sdk.win_bytes=
+sdk.win_checksum=
 
-sdk.mac_download=android-sdk_r05-mac_86.zip
-sdk.mac_bytes=19871714
-sdk.mac_checksum=6fcfeed0e1c36624c926551637eb3308
+sdk.mac_download=android-sdk_r06-mac_86.zip
+sdk.mac_bytes=
+sdk.mac_checksum=
 
-sdk.linux_download=android-sdk_r05-linux_86.tgz
-sdk.linux_bytes=16208523
-sdk.linux_checksum=1d695d6a31310406f5d49092a1bd9850
+sdk.linux_download=android-sdk_r06-linux_86.tgz
+sdk.linux_bytes=
+sdk.linux_checksum=
 
 @jd:body
 
diff --git a/docs/html/sdk/ndk/index.jd b/docs/html/sdk/ndk/index.jd
index fa2e712..3dfeedf 100644
--- a/docs/html/sdk/ndk/index.jd
+++ b/docs/html/sdk/ndk/index.jd
@@ -1,16 +1,16 @@
 ndk=true
 
-ndk.win_download=android-ndk-r3-windows.zip
-ndk.win_bytes=36473391
-ndk.win_checksum=4ce5c93a15f261b6dcade1b69da00902
+ndk.win_download=android-ndk-r4-windows.zip
+ndk.win_bytes=
+ndk.win_checksum=
 
-ndk.mac_download=android-ndk-r3-darwin-x86.zip
-ndk.mac_bytes=38258228
-ndk.mac_checksum=a083ccc36aa9a3a35404861e7d51d1ae
+ndk.mac_download=android-ndk-r4-darwin-x86.zip
+ndk.mac_bytes=
+ndk.mac_checksum=
 
-ndk.linux_download=android-ndk-r3-linux-x86.zip
-ndk.linux_bytes=37403241
-ndk.linux_checksum=f3b1700a195aae3a6e9b5637e5c49359
+ndk.linux_download=android-ndk-r4-linux-x86.zip
+ndk.linux_bytes=
+ndk.linux_checksum=
 
 page.title=Android NDK
 @jd:body
@@ -38,20 +38,19 @@
 }
 </script>
 <style>
-
 .toggleable {
 padding: .25em 1em;
-xfont-size:.95em;
 }
-
 .toggleme {
-  xmargin:1em;
   padding: 1em 1em 0 2em;
-line-height:1em;
+  line-height:1em;
 }
 .toggleable a {
   text-decoration:none;
 }
+.toggleme a {
+  text-decoration:underline;
+}
 .toggleable.closed .toggleme {
   display:none;
 }
@@ -63,6 +62,59 @@
 <div class="toggleable open">
   <a href="#" onclick="return toggleDiv(this)">
         <img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-img" height="9px" width="9px" />
+Android NDK, Revision 4</a> <em>(May 2010)</em>
+  <div class="toggleme">
+
+<dl>
+<dt>General notes:</dt>
+
+<dd>
+<ul>
+<li>Provides a simplified build system through the new <code>ndk-build</code> build
+command. </li>
+<li>Adds support for easy native debugging of generated machine code on production
+devices through the new <code>ndk-gdb</code> command.</li>
+<li>Adds a new Android-specific ABI for ARM-based CPU architectures,
+<code>armeabi-v7a</code>. The new ABI extends the existing <code>armeabi</code>
+ABI to include these CPU instruction set extensions:
+<ul>
+<li>Thumb-2 instructions</li>
+<li>VFP hardware FPU instructions (VFPv3-D16)</li>
+<li>Optional support for ARM Advanced SIMD (NEON) GCC intrinsics and VFPv3-D32.
+Supported by devices such as Verizon Droid by Motorola, Google Nexus One, and 
+others.</li>
+</ul>
+<li>Adds a new <code>cpufeatures</code> static library (with sources) that lets
+your app detect the host device's CPU features at runtime. Specifically,
+applications can check for ARMv7-A support, as well as VFPv3-D32 and NEON
+support, then provide separate code paths as needed.</li>
+<li>Adds a sample application, <code>hello-neon</code>, that illustrates how to 
+use the <code>cpufeatures</code> library to check CPU features and then provide
+an optimized code path using NEON instrinsics, if 
+supported by the CPU.</li>
+<li>Lets you generate machine code for either or both of the instruction sets
+supported by the NDK. For example, you can build for both ARMv5 and ARMv7-A
+architectures at the same time and have everything stored to your application's
+final <code>.apk</code>.</li>
+<li>To ensure that your applications are available to users only if their
+devices are capable of running them, Android Market now filters applications
+based on the instruction set information included in your application &mdash; no
+action is needed on your part to enable the filtering. Additionally, the Android
+system itself also checks your application at install time and allows the
+installation to continue only if the application provides a library that is
+compiled for the device's CPU architecture.</li>
+<li>Adds support for Android 2.2, including a new stable API for accessing
+the pixel buffers of {@link android.graphics.Bitmap} objects from native
+code.</li>
+</ul>
+</dd>
+</dl>
+</div>
+</div>
+
+<div class="toggleable closed">
+  <a href="#" onclick="return toggleDiv(this)">
+        <img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-img" height="9px" width="9px" />
 Android NDK, Revision 3</a> <em>(March 2010)</em>
   <div class="toggleme">
 
@@ -142,17 +194,34 @@
 <ul>
 <li>A set of tools and build files used to generate native code libraries from C
 and C++ sources</li>
-<li>A way to embed the corresponding native libraries into application package
-files (.apks) that can be deployed on Android devices</li>
+<li>A way to embed the corresponding native libraries into an application package
+file (<code>.apk</code>) that can be deployed on Android devices</li>
 <li>A set of native system headers and libraries that will be supported in all
 future versions of the Android platform, starting from Android 1.5 </li>
 <li>Documentation, samples, and tutorials</li>
 </ul>
 
-<p>This release of the NDK supports the ARMv5TE machine instruction set and
-provides stable headers for libc (the C library), libm (the Math library),
-OpenGL ES (3D graphics library), the JNI interface, and other libraries, as
-listed in the section below.</p>
+<p>The latest release of the NDK supports these ARM instruction sets:</p>
+<ul>
+<li>ARMv5TE (including Thumb-1 instructions)</li>
+<li>ARMv7-A (including Thumb-2 and VFPv3-D16 instructions, with 
+optional support for NEON/VFPv3-D32 instructions)</li>
+</ul>
+
+<p>ARMv5TE machine code will run on all ARM-based Android devices. ARMv7-A will
+run only on devices such as the Verizon Droid or Google Nexus One that have a
+compatible CPU. The main difference between the two instruction sets is that
+ARMv7-A supports hardware FPU, Thumb-2, and NEON instructions. You can target
+either or both of the instruction sets &mdash; ARMv5TE is the default, but
+switching to ARMv7-A is as easy as adding a single line to the application's
+Application.mk file, without needing to change anything else in the file. You
+can also build for both architectures at the same time and have everything
+stored in the final <code>.apk</code>. Complete information is provided in the
+CPU-ARCH-ABIS.TXT in the NDK package. </p>
+
+<p>The NDK provides stable headers for libc (the C library), libm (the Math
+library), OpenGL ES (3D graphics library), the JNI interface, and other
+libraries, as listed in the section below.</p>
 
 <p>The NDK will not benefit most applications. As a developer, you will need 
 to balance its benefits against its drawbacks; notably, using native code does 
@@ -184,6 +253,7 @@
 <li>libz (Zlib compression) headers</li>
 <li>liblog (Android logging) header</li>
 <li>OpenGL ES 1.1 and OpenGL ES 2.0 (3D graphics libraries) headers</li>
+<li>libjnigraphics (Pixel buffer access) header (for Android 2.2 and above).</li> 
 <li>A Minimal set of headers for C++ support</li>
 </ul>
 
@@ -224,6 +294,11 @@
 by headers in the NDK.</li>
 <li>CPU-ARCH-ABIS.TXT &mdash; a description of supported CPU architectures 
 and how to target them. </li>
+<li>CPU-FEATURES.TXT &mdash; a description of the <code>cpufeatures</code>
+static library that lets your application code detect the target device's 
+CPU family and the optional features at runtime. 	</li>
+<li>CPU-ARM-NEON.TXT &mdash; a description of how to build with optional
+ARM NEON / VFPv3-D32 instructions. </li>
 <li>CHANGES.TXT &mdash; a complete list of changes to the NDK across all 
 releases.</li>
 </ul>
@@ -268,8 +343,10 @@
 <ul>
   <li>For all development platforms, GNU Make 3.81 or later is required. Earlier
 versions of GNU Make might work but have not been tested.</li>
-  <li>For Windows, a recent release of <a
-href="http://www.cygwin.com">Cygwin</a> is required. </li>
+  <li>A recent version of awk (either GNU Awk or Nawk) is also required.</li>
+  <li>For Windows, <a
+href="http://www.cygwin.com">Cygwin</a> 1.7 or higher is required. The NDK 
+will <em>not</em> work with Cygwin 1.5 installations.</li>
 </ul>
 
 <h4>Android platform compatibility</h4>
@@ -294,7 +371,7 @@
 &lt;/manifest&gt;</pre>
 </li>
 
-<li>Additionally, if you use this NDK to create a native library that uses the
+<li>If you use this NDK to create a native library that uses the
 OpenGL ES APIs, the application containing the library can be deployed only to
 devices running the minimum platform versions described in the table below.
 To ensure compatibility, make sure that your application declares the proper
@@ -310,16 +387,42 @@
 <tr><td>OpenGL ES 2.0</td><td>Android 2.0 and higher</td><td><code>android:minSdkVersion="5"</code></td></tr>
 </table>
 
-<p>For more information about API Level and its relationship to Android 
+<p>For more information about API Level and its relationship to Android
 platform versions, see <a href="{@docRoot}guide/appendix/api-levels.html">
 Android API Levels</a>.</p></li>
+
+<li>Additionally, an application using the OpenGL ES APIs should declare a
+<code>&lt;uses-feature&gt;</code> element in its manifest, with an
+<code>android:glEsVersion</code> attribute that specifies the minimum OpenGl ES
+version required by the application. This ensures that Android Market will show
+your application only to users whose devices are capable of supporting your
+application. For example: 
+
+<pre style="margin:1em;">&lt;manifest&gt;
+  ...
+<!-- Declare that the application uses the OpenGL ES 2.0 API and is designed
+     to run only on devices that support OpenGL ES 2.0 or higher. -->
+  &lt;uses-feature android:glEsVersion="0x00020000" /&gt;
+  ...
+&lt;/manifest&gt;</pre>
+
+<p>For more information, see the <a
+href="{@docRoot}guide/topics/manifest/uses-feature-element.html"><code>&lt;uses-feature&gt;</code></a>
+documentation.</p></li>
+
+<li>If you use this NDK to create a native library that uses the API to access
+Android {@link android.graphics.Bitmap} pixel buffers, the application
+containing the library can be deployed only to devices running Android 2.2 (API
+level 8) or higher. To ensure compatibility, make sure that your application
+declares <code>&lt;uses-sdk android:minSdkVersion="8" /&gt;</code>attribute
+value in its manifest.</li>
 </ul>
 
 <h2 id="installing">Installing the NDK</h2>
 
 <p>Installing the NDK on your development computer is straightforward and
-involves extracting the NDK from its download package and running a host-setup
-script. </p>
+involves extracting the NDK from its download package. Unlike previous releases,
+there is no need to run a host-setup script.</p>
 
 <p>Before you get started make sure that you have downloaded the latest <a
 href="{@docRoot}sdk/index.html">Android SDK</a> and upgraded your applications
@@ -337,21 +440,9 @@
 <code>android-ndk-&lt;version&gt;</code>. You can rename the NDK directory if
 necessary and you can move it to any location on your computer. This
 documentation refers to the NDK directory as <code>&lt;ndk&gt;</code>.  </li>
-<li>Open a terminal, change to the NDK directory, and run the host-setup script.
-The script sets up your environment and generates a host configuration file used
-later, when building your shared libraries. The path to the host-setup script
-is:
-
-<p><code>&lt;ndk&gt;/build/host-setup.sh</code></p>
-
-<p>If the script completes successfully, it prints a "Host setup complete."
-message. If it fails, it prints instructions that you can follow to correct any
-problems. </p>
-</li>
 </ol>
 
-<p>Once you have run the host-setup script, you are ready start working with the
-NDK. </p>
+<p>You are now ready start working with the NDK. </p>
 
 <h2 id="gettingstarted">Getting Started with the NDK</h2>
 
@@ -371,17 +462,14 @@
 <code>&lt;project&gt;/jni/...</code></li>
 <li>Create <code>&lt;project&gt;/jni/Android.mk</code> to
 describe your native sources to the NDK build system</li>
-<li>Create <code>&lt;ndk&gt;/apps/&lt;my_app&gt;/Application.mk</code> to
-describe your Android application and native sources it needs to the NDK build
-system. This file sets up the link between an Android SDK application project
-and any number of shared libraries defined in the
-<code>&lt;project&gt;/jni/</code> folder and it specifies the path to the
-application project that will receive the shared library built from the
-sources.</li>
-<li>Build your native code by running this make command from the top-level NDK
-directory:
+<li>Optional: Create <code>&lt;project&gt;/jni/Application.mk</code>.</li>
+<li>Build your native code by running the 'ndk-build' script from your projet's directory.
+It is located in the top-level NDK directory:
 
-<p><code>$ make APP=&lt;my_app&gt;</code></p>
+<p><pre>
+$ cd &lt;project&gt;
+$ &lt;ndk&gt;/ndk-build
+</pre></p>
 
 <p>The build tools copy the stripped, shared libraries needed by your
 application to the proper location in the application's project directory.</p>
@@ -389,7 +477,7 @@
 
 <li>Finally, compile your application using the SDK tools in the usual way. The
 SDK build tools will package the shared libraries in the application's
-deployable .apk file. </p></li>
+deployable <code>.apk</code> file. </p></li>
 
 </ol>
 
@@ -399,7 +487,7 @@
 
 <h2 id="samples">Using the Sample Applications</h2>
 
-<p>The NDK includes four sample applications that illustrate how to use native
+<p>The NDK includes sample applications that illustrate how to use native
 code in your Android applications:</p>
 
 <ul>
@@ -415,36 +503,27 @@
 with a {@link android.opengl.GLSurfaceView} object. </li>
 <li><code>hello-gl2</code> &mdash; a simple application that renders a triangle
 using OpenGL ES 2.0 vertex and fragment shaders.</li>
+<li><code>hello-neon</code> &mdash; a simple application that shows how to use
+the <code>cpufeatures</code> library to check CPU capabilities at runtime,
+then use NEON intrinsics if supported by the CPU. Specifically, the 
+application implements two versions of a tiny benchmark for a FIR filter 
+loop, a C version and a NEON-optimized version for devices that support it.</li>
+<li><code>bitmap-plasma</code> &mdash; a simple application that demonstrates
+how to access the pixel buffers of Android {@link android.graphics.Bitmap}
+objects from native code, and uses this to generate an old-school "plasma"
+effect. </li>
 </ul>
 
-<p>For each sample, the NDK includes an Android application project, as well as
-the corresponding C source code and the necessary Android.mk and Application.mk
-files. The application projects are provided in
-<code>&lt;ndk&gt;/apps/&lt;app_name&gt;/project/</code> and the C source for
-each application is provided in
-<code>&lt;ndk&gt;/apps/&lt;app_name&gt;/project/jni/</code>.</p>
+<p>For each sample, the NDK includes the corresponding C source code and the
+necessary Android.mk and Application.mk files. There are  located under 
+<code>&lt;ndk&gt;/samples/&lt;name&gt;/</code> and their source code can be found under
+<code>&lt;ndk&gt;/samples/&lt;name&gt;/jni/</code>. </p>
 
-<p>Once you have installed the NDK and run <code>$ build/host-setup.sh</code> from
-the root of the NDK directory, you can build the shared libraries for the
-sample apps by using these commands:</p>
-<ul>
-<li><code>$ make APP=hello-jni</code> &mdash; compiles
-<code>hello-jni.c</code> and outputs a shared library to
-<code>&lt;ndk&gt;/apps/hello-jni/project/libs/armeabi/libhello-jni.so</code>.
-</li>
-<li><code>$ make APP=two-libs</code> &mdash; compiles
-<code>first.c</code> and <code>second.c</code> and outputs a shared library to
-<code>&lt;ndk&gt;/apps/two-libs/project/libs/armeabi/libtwolib-second.so</code>.
-</li>
-<li><code>$ make APP=san-angeles</code> &mdash; compiles
-<code>importgl.c</code>, <code>demo.c</code>,and <code>app-android.c</code> and 
-outputs a shared library to <code>&lt;ndk&gt;/apps/san-angeles/project/libs/armeabi/libsangeles.so</code>.
-</li>
-<li><code>$ make APP=hello-gl2</code> &mdash; compiles
-<code>gl_code.cpp</code> and outputs a shared library to 
-<code>&lt;ndk&gt;/apps/hello-gl2/project/libs/armeabi/libgl2jni.so</code>.
-</li>
-</ul>
+<p>You can build the shared libraries for the sample apps by going into <code>&lt;ndk&gt;/samples/&lt;name&gt;/</code>
+then calling the <code>ndk-build</code> command. The generated shared libraries will be located under
+<code>&lt;ndk&gt;/samples/&lt;name&gt;/libs/armeabi/</code> for (ARMv5TE machine code) and/or
+<code>&lt;ndk&gt;/samples/&lt;name&gt;/libs/armeabi-v7a/</code> for (ARMv7 machine code).
+</p>
 
 <p>Next, build the sample Android applications that use the shared
 libraries:</p>
@@ -475,3 +554,4 @@
 mailing list.</p>
 
 
+
diff --git a/docs/html/sdk/sdk_toc.cs b/docs/html/sdk/sdk_toc.cs
index a845e55..7438707 100644
--- a/docs/html/sdk/sdk_toc.cs
+++ b/docs/html/sdk/sdk_toc.cs
@@ -61,28 +61,21 @@
       </li>
     </ul>
     <ul>
-      <li><a href="<?cs var:toroot ?>sdk/android-2.1.html">Android 2.1
-        Platform</a> <span class="new">new!</span>
-      </li>
-      <li><a href="<?cs var:toroot ?>sdk/android-1.6.html">Android 1.6 
-        Platform</a></li>
+      <li><a href="<?cs var:toroot ?>sdk/android-2.2.html">Android 2.2 Platform</a> <span class="new">new!</span></li>
+      <li><a href="<?cs var:toroot ?>sdk/android-2.1.html">Android 2.1 Platform</a></li>
+      <li><a href="<?cs var:toroot ?>sdk/android-1.6.html">Android 1.6 Platform</a></li>
       <li><a href="<?cs var:toroot ?>sdk/android-1.5.html">Android 1.5 Platform</a></li>
       <li class="toggle-list">
         <div><a href="#" onclick="toggle(this.parentNode.parentNode,true); return false;">Older Platforms</a></div>
         <ul> 
-          <li><a href="<?cs var:toroot ?>sdk/android-2.0.1.html">Android 2.0.1
-            Platform</a>
-          </li>
-          <li><a href="<?cs var:toroot ?>sdk/android-2.0.html">Android 2.0
-            Platform</a>
-          </li>
-          <li><a href="<?cs var:toroot ?>sdk/android-1.1.html">Android 1.1 Platform</a>
-          </li>
+          <li><a href="<?cs var:toroot ?>sdk/android-2.0.1.html">Android 2.0.1 Platform</a></li>
+          <li><a href="<?cs var:toroot ?>sdk/android-2.0.html">Android 2.0 Platform</a></li>
+          <li><a href="<?cs var:toroot ?>sdk/android-1.1.html">Android 1.1 Platform</a></li>
         </ul>
       </li>
     </ul>
     <ul>
-      <li><a href="<?cs var:toroot ?>sdk/tools-notes.html">SDK Tools, r5</a> <span class="new">new!</span></li>
+      <li><a href="<?cs var:toroot ?>sdk/tools-notes.html">SDK Tools, r6</a> <span class="new">new!</span></li>
       <li><a href="<?cs var:toroot ?>sdk/win-usb.html">USB Driver for
       Windows, r3</a>
       </li>
@@ -100,8 +93,7 @@
       <span style="display:none" class="zh-TW"></span>
       </h2>
     <ul>
-      <li><a href="<?cs var:toroot ?>sdk/eclipse-adt.html">ADT
-      <?cs var:adt.zip.version ?></a>  <span class="new">new!</span>
+      <li><a href="<?cs var:toroot ?>sdk/eclipse-adt.html">ADT 0.9.7
       <span style="display:none" class="de"></span>
       <span style="display:none" class="es"></span>
       <span style="display:none" class="fr"></span>
@@ -109,6 +101,7 @@
       <span style="display:none" class="ja"></span>
       <span style="display:none" class="zh-CN"></span>
       <span style="display:none" class="zh-TW"></span></a>
+        <span class="new">new!</span>
       </li>
     </ul>
   </li>
@@ -123,7 +116,7 @@
       <span style="display:none" class="zh-TW"></span>
     </h2>
     <ul>
-      <li><a href="<?cs var:toroot ?>sdk/ndk/index.html">Android NDK, r3</a>
+      <li><a href="<?cs var:toroot ?>sdk/ndk/index.html">Android NDK, r4</a>
       <span class="new">new!</span></li>
     </ul>
   </li>
diff --git a/docs/html/sdk/tools-notes.jd b/docs/html/sdk/tools-notes.jd
index c60782f..c9be6ff 100644
--- a/docs/html/sdk/tools-notes.jd
+++ b/docs/html/sdk/tools-notes.jd
@@ -50,6 +50,9 @@
 .toggleable a {
   text-decoration:none;
 }
+.toggleme a {
+  text-decoration:underline;
+}
 .toggleable.closed .toggleme {
   display:none;
 }
@@ -57,9 +60,41 @@
   margin:0;
 }
 </style>
+
 <div class="toggleable opened">
   <a href="#" onclick="return toggleDiv(this)">
         <img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-img" height="9px" width="9px" />
+SDK Tools, Revision 6</a> <em>(May 2010)</em>
+  <div class="toggleme">
+
+<dl>
+<dt>Dependencies:</dt>
+<dd>
+<p>If you are developing in Eclipse with ADT, note that SDK Tools r6 is
+designed for use with ADT 0.9.7 and later. After installing SDK Tools r6, we
+highly recommend updating your ADT Plugin to 0.9.7.</p>
+</dd>
+
+<dt>Library projects:</dt>
+<dd>
+<p>The SDK Tools now support the use of <em>library projects</em> during
+development, a capability that lets you store shared Android application
+code and resources in a separate development project. You can then reference the
+library project from other Android projects and, at build time, the tools
+compile the shared code and resources as part of the dependent applications.
+More information about this feature is available in the <a
+href="{@docRoot}guide/developing/other-ide.html#libraryProject">Developing 
+in Other IDEs</a> document.</p>
+<p>If you are developing in Eclipse, <a href="eclipse-adt.html">ADT 0.9.7</a>
+provides the equivalent library project support.</p>
+</dd>
+</dl>
+ </div>
+</div>
+
+<div class="toggleable closed">
+  <a href="#" onclick="return toggleDiv(this)">
+        <img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-img" height="9px" width="9px" />
 SDK Tools, Revision 5</a> <em>(March 2010)</em>
   <div class="toggleme">
 
diff --git a/docs/html/sdk/win-usb.jd b/docs/html/sdk/win-usb.jd
index 38b34ed..37d2cbb 100644
--- a/docs/html/sdk/win-usb.jd
+++ b/docs/html/sdk/win-usb.jd
@@ -69,6 +69,9 @@
 .toggleable a {
   text-decoration:none;
 }
+.toggleme a {
+  text-decoration:underline;
+}
 .toggleable.closed .toggleme {
   display:none;
 }
diff --git a/graphics/java/android/graphics/Canvas.java b/graphics/java/android/graphics/Canvas.java
index 345f810..064fab6 100644
--- a/graphics/java/android/graphics/Canvas.java
+++ b/graphics/java/android/graphics/Canvas.java
@@ -16,11 +16,10 @@
 
 package android.graphics;
 
-import android.text.TextUtils;
-import android.text.SpannedString;
-import android.text.SpannableString;
 import android.text.GraphicsOperations;
-import android.util.DisplayMetrics;
+import android.text.SpannableString;
+import android.text.SpannedString;
+import android.text.TextUtils;
 
 import javax.microedition.khronos.opengles.GL;
 
@@ -59,6 +58,18 @@
     private int         mSurfaceFormat;
 
     /**
+     * Flag for drawTextRun indicating left-to-right run direction.
+     * @hide
+     */
+    public static final int DIRECTION_LTR = 0;
+    
+    /**
+     * Flag for drawTextRun indicating right-to-left run direction.
+     * @hide
+     */
+    public static final int DIRECTION_RTL = 1;
+    
+    /**
      * Construct an empty raster canvas. Use setBitmap() to specify a bitmap to
      * draw into.  The initial target density is {@link Bitmap#DENSITY_NONE};
      * this will typically be replaced when a target bitmap is set for the
@@ -1246,8 +1257,8 @@
             (text.length - index - count)) < 0) {
             throw new IndexOutOfBoundsException();
         }
-        native_drawText(mNativeCanvas, text, index, count, x, y,
-                        paint.mNativePaint);
+        native_drawText(mNativeCanvas, text, index, count, x, y, paint.mBidiFlags,
+                paint.mNativePaint);
     }
 
     /**
@@ -1259,7 +1270,10 @@
      * @param y     The y-coordinate of the origin of the text being drawn
      * @param paint The paint used for the text (e.g. color, size, style)
      */
-    public native void drawText(String text, float x, float y, Paint paint);
+    public void drawText(String text, float x, float y, Paint paint) {
+        native_drawText(mNativeCanvas, text, 0, text.length(), x, y, paint.mBidiFlags,
+                paint.mNativePaint);
+    }
 
     /**
      * Draw the text, with origin at (x,y), using the specified paint.
@@ -1277,8 +1291,8 @@
         if ((start | end | (end - start) | (text.length() - end)) < 0) {
             throw new IndexOutOfBoundsException();
         }
-        native_drawText(mNativeCanvas, text, start, end, x, y,
-                        paint.mNativePaint);
+        native_drawText(mNativeCanvas, text, start, end, x, y, paint.mBidiFlags,
+                paint.mNativePaint);
     }
 
     /**
@@ -1299,16 +1313,100 @@
         if (text instanceof String || text instanceof SpannedString ||
             text instanceof SpannableString) {
             native_drawText(mNativeCanvas, text.toString(), start, end, x, y,
-                            paint.mNativePaint);
-        }
-        else if (text instanceof GraphicsOperations) {
+                            paint.mBidiFlags, paint.mNativePaint);
+        } else if (text instanceof GraphicsOperations) {
             ((GraphicsOperations) text).drawText(this, start, end, x, y,
                                                      paint);
-        }
-        else {
+        } else {
             char[] buf = TemporaryBuffer.obtain(end - start);
             TextUtils.getChars(text, start, end, buf, 0);
-            drawText(buf, 0, end - start, x, y, paint);
+            native_drawText(mNativeCanvas, buf, 0, end - start, x, y, 
+                    paint.mBidiFlags, paint.mNativePaint);
+            TemporaryBuffer.recycle(buf);
+        }
+    }
+
+    /**
+     * Render a run of all LTR or all RTL text, with shaping. This does not run
+     * bidi on the provided text, but renders it as a uniform right-to-left or
+     * left-to-right run, as indicated by dir. Alignment of the text is as
+     * determined by the Paint's TextAlign value.
+     * 
+     * @param text the text to render
+     * @param index the start of the text to render. Data before this position
+     *            can be used for shaping context.
+     * @param length the length of the text to render. Data at or after this
+     *            position (start + length) can be used for shaping context.
+     * @param x the x position at which to draw the text
+     * @param y the y position at which to draw the text
+     * @param dir the run direction, either {@link DIRECTION_LTR} or 
+     *            {@link DIRECTION_RTL}.
+     * @param paint the paint
+     * @hide
+     */
+    public void drawTextRun(char[] text, int index, int length, float x, float y, int dir,
+            Paint paint) {
+
+        if (text == null) {
+            throw new NullPointerException("text is null");
+        }
+        if (paint == null) {
+            throw new NullPointerException("paint is null");
+        }
+        if ((index | length | text.length - index - length) < 0) {
+            throw new IndexOutOfBoundsException();
+        }
+        if (dir != DIRECTION_LTR && dir != DIRECTION_RTL) {
+            throw new IllegalArgumentException("unknown dir: " + dir);
+        }
+
+        native_drawTextRun(mNativeCanvas, text, index, length, x, y, dir, paint.mNativePaint);
+    }
+
+    /**
+     * Render a run of all LTR or all RTL text, with shaping. This does not run
+     * bidi on the provided text, but renders it as a uniform right-to-left or
+     * left-to-right run, as indicated by dir. Alignment of the text is as
+     * determined by the Paint's TextAlign value.
+     * 
+     * @param text the text to render
+     * @param start the start of the text to render. Data before this position
+     *            can be used for shaping context.
+     * @param end the end of the text to render. Data at or after this
+     *            position can be used for shaping context.
+     * @param x the x position at which to draw the text
+     * @param y the y position at which to draw the text
+     * @param dir the run direction, either 0 for LTR or 1 for RTL.
+     * @param paint the paint
+     * @hide
+     */
+    public void drawTextRun(CharSequence text, int start, int end, float x, 
+            float y, int dir, Paint paint) {
+
+        if (text == null) {
+            throw new NullPointerException("text is null");
+        }
+        if (paint == null) {
+            throw new NullPointerException("paint is null");
+        }
+        if ((start | end | end - start | text.length() - end) < 0) {
+            throw new IndexOutOfBoundsException();
+        }
+
+        int flags = dir == 0 ? 0 : 1;
+
+        if (text instanceof String || text instanceof SpannedString ||
+                text instanceof SpannableString) {
+            native_drawTextRun(mNativeCanvas, text.toString(), start, end, x, y,
+                    flags, paint.mNativePaint);
+        } else if (text instanceof GraphicsOperations) {
+            ((GraphicsOperations) text).drawTextRun(this, start, end, x, y, flags,
+                                                         paint);
+        } else {
+            char[] buf = TemporaryBuffer.obtain(end - start);
+            TextUtils.getChars(text, start, end, buf, 0);
+            native_drawTextRun(mNativeCanvas, buf, 0, end - start, x, y, 
+                        flags, paint.mNativePaint);
             TemporaryBuffer.recycle(buf);
         }
     }
@@ -1555,10 +1653,17 @@
     
     private static native void native_drawText(int nativeCanvas, char[] text,
                                                int index, int count, float x,
-                                               float y, int paint);
+                                               float y, int flags, int paint);
     private static native void native_drawText(int nativeCanvas, String text,
                                                int start, int end, float x,
-                                               float y, int paint);
+                                               float y, int flags, int paint);
+
+    private static native void native_drawTextRun(int nativeCanvas, String
+            text, int start, int end, float x, float y, int flags, int paint);
+
+    private static native void native_drawTextRun(int nativeCanvas, char[]
+            text, int start, int len, float x, float y, int flags, int paint);
+
     private static native void native_drawPosText(int nativeCanvas,
                                                   char[] text, int index,
                                                   int count, float[] pos,
diff --git a/graphics/java/android/graphics/Paint.java b/graphics/java/android/graphics/Paint.java
index 183c896..b564929 100644
--- a/graphics/java/android/graphics/Paint.java
+++ b/graphics/java/android/graphics/Paint.java
@@ -16,10 +16,10 @@
 
 package android.graphics;
 
-import android.text.TextUtils;
+import android.text.GraphicsOperations;
 import android.text.SpannableString;
 import android.text.SpannedString;
-import android.text.GraphicsOperations;
+import android.text.TextUtils;
 
 /**
  * The Paint class holds the style and color information about how to draw
@@ -39,6 +39,7 @@
     private boolean     mHasCompatScaling;
     private float       mCompatScaling;
     private float       mInvCompatScaling;
+    /* package */ int   mBidiFlags = BIDI_DEFAULT_LTR;
     
     private static final Style[] sStyleArray = {
         Style.FILL, Style.STROKE, Style.FILL_AND_STROKE
@@ -76,8 +77,64 @@
     private static final int DEFAULT_PAINT_FLAGS = DEV_KERN_TEXT_FLAG;
 
     /**
-     * The Style specifies if the primitive being drawn is filled,
-     * stroked, or both (in the same color). The default is FILL.
+     * Bidi flag to set LTR paragraph direction.
+     * 
+     * @hide
+     */
+    public static final int BIDI_LTR = 0x0;
+
+    /**
+     * Bidi flag to set RTL paragraph direction.
+     * 
+     * @hide
+     */
+    public static final int BIDI_RTL = 0x1;
+
+    /**
+     * Bidi flag to detect paragraph direction via heuristics, defaulting to
+     * LTR.
+     * 
+     * @hide
+     */
+    public static final int BIDI_DEFAULT_LTR = 0x2;
+
+    /**
+     * Bidi flag to detect paragraph direction via heuristics, defaulting to
+     * RTL.
+     * 
+     * @hide
+     */
+    public static final int BIDI_DEFAULT_RTL = 0x3;
+
+    /**
+     * Bidi flag to override direction to all LTR (ignore bidi).
+     * 
+     * @hide
+     */
+    public static final int BIDI_FORCE_LTR = 0x4;
+
+    /**
+     * Bidi flag to override direction to all RTL (ignore bidi).
+     * 
+     * @hide
+     */
+    public static final int BIDI_FORCE_RTL = 0x5;
+
+    /**
+     * Maximum Bidi flag value.
+     * @hide
+     */
+    private static final int BIDI_MAX_FLAG_VALUE = BIDI_FORCE_RTL;
+    
+    /**
+     * Mask for bidi flags.
+     * @hide
+     */
+    private static final int BIDI_FLAG_MASK = 0x7;
+    
+    /**
+     * The Style specifies if the primitive being drawn is filled, stroked, or
+     * both (in the same color). The default is FILL.
      */
     public enum Style {
         /**
@@ -210,6 +267,7 @@
         mHasCompatScaling = paint.mHasCompatScaling;
         mCompatScaling = paint.mCompatScaling;
         mInvCompatScaling = paint.mInvCompatScaling;
+        mBidiFlags = paint.mBidiFlags;
     }
 
     /** Restores the paint to its default settings. */
@@ -218,6 +276,7 @@
         setFlags(DEFAULT_PAINT_FLAGS);
         mHasCompatScaling = false;
         mCompatScaling = mInvCompatScaling = 1;
+        mBidiFlags = BIDI_DEFAULT_LTR;
     }
     
     /**
@@ -240,6 +299,7 @@
             mHasCompatScaling = src.mHasCompatScaling;
             mCompatScaling    = src.mCompatScaling;
             mInvCompatScaling = src.mInvCompatScaling;
+            mBidiFlags      = src.mBidiFlags;
         }
     }
 
@@ -254,10 +314,33 @@
             mInvCompatScaling = 1.0f/factor;
         }
     }
-    
+
+    /**
+     * Return the bidi flags on the paint.
+     * 
+     * @return the bidi flags on the paint
+     * @hide
+     */
+    public int getBidiFlags() {
+        return mBidiFlags;
+    }
+
+    /**
+     * Set the bidi flags on the paint.
+     * @hide
+     */
+    public void setBidiFlags(int flags) {
+        // only flag value is the 3-bit BIDI control setting
+        flags &= BIDI_FLAG_MASK;
+        if (flags > BIDI_MAX_FLAG_VALUE) {
+            throw new IllegalArgumentException("unknown bidi flag: " + flags);
+        }
+        mBidiFlags = flags;
+    }
+
     /**
      * Return the paint's flags. Use the Flag enum to test flag values.
-     *
+     * 
      * @return the paint's flags (see enums ending in _Flag for bit masks)
      */
     public native int getFlags();
diff --git a/graphics/java/android/renderscript/ProgramStore.java b/graphics/java/android/renderscript/ProgramStore.java
index 69be245..f558117 100644
--- a/graphics/java/android/renderscript/ProgramStore.java
+++ b/graphics/java/android/renderscript/ProgramStore.java
@@ -147,17 +147,17 @@
             if (b.mOut != null) {
                 outID = b.mOut.mID;
             }
-            rs.nProgramFragmentStoreBegin(inID, outID);
-            rs.nProgramFragmentStoreDepthFunc(b.mDepthFunc.mID);
-            rs.nProgramFragmentStoreDepthMask(b.mDepthMask);
-            rs.nProgramFragmentStoreColorMask(b.mColorMaskR,
+            rs.nProgramStoreBegin(inID, outID);
+            rs.nProgramStoreDepthFunc(b.mDepthFunc.mID);
+            rs.nProgramStoreDepthMask(b.mDepthMask);
+            rs.nProgramStoreColorMask(b.mColorMaskR,
                                               b.mColorMaskG,
                                               b.mColorMaskB,
                                               b.mColorMaskA);
-            rs.nProgramFragmentStoreBlendFunc(b.mBlendSrc.mID, b.mBlendDst.mID);
-            rs.nProgramFragmentStoreDither(b.mDither);
+            rs.nProgramStoreBlendFunc(b.mBlendSrc.mID, b.mBlendDst.mID);
+            rs.nProgramStoreDither(b.mDither);
 
-            int id = rs.nProgramFragmentStoreCreate();
+            int id = rs.nProgramStoreCreate();
             return new ProgramStore(id, rs);
         }
 
diff --git a/graphics/java/android/renderscript/RenderScript.java b/graphics/java/android/renderscript/RenderScript.java
index db2a3fd..6796505 100644
--- a/graphics/java/android/renderscript/RenderScript.java
+++ b/graphics/java/android/renderscript/RenderScript.java
@@ -71,7 +71,7 @@
 
     native void nContextBindRootScript(int script);
     native void nContextBindSampler(int sampler, int slot);
-    native void nContextBindProgramFragmentStore(int pfs);
+    native void nContextBindProgramStore(int pfs);
     native void nContextBindProgramFragment(int pf);
     native void nContextBindProgramVertex(int pf);
     native void nContextBindProgramRaster(int pr);
@@ -138,28 +138,29 @@
     native void nScriptSetClearDepth(int script, float depth);
     native void nScriptSetClearStencil(int script, int stencil);
     native void nScriptSetTimeZone(int script, byte[] timeZone);
-    native void nScriptSetType(int type, boolean writable, String name, int slot);
     native void nScriptSetRoot(boolean isRoot);
-    native void nScriptSetInvokable(String name, int slot);
     native void nScriptInvoke(int id, int slot);
+    native void nScriptInvokeData(int id, int slot);
+    native void nScriptInvokeV(int id, int slot, byte[] params);
+    native void nScriptSetVarI(int id, int slot, int val);
+    native void nScriptSetVarF(int id, int slot, float val);
+    native void nScriptSetVarV(int id, int slot, byte[] val);
 
     native void nScriptCBegin();
     native void nScriptCSetScript(byte[] script, int offset, int length);
     native int  nScriptCCreate();
-    native void nScriptCAddDefineI32(String name, int value);
-    native void nScriptCAddDefineF(String name, float value);
 
     native void nSamplerBegin();
     native void nSamplerSet(int param, int value);
     native int  nSamplerCreate();
 
-    native void nProgramFragmentStoreBegin(int in, int out);
-    native void nProgramFragmentStoreDepthFunc(int func);
-    native void nProgramFragmentStoreDepthMask(boolean enable);
-    native void nProgramFragmentStoreColorMask(boolean r, boolean g, boolean b, boolean a);
-    native void nProgramFragmentStoreBlendFunc(int src, int dst);
-    native void nProgramFragmentStoreDither(boolean enable);
-    native int  nProgramFragmentStoreCreate();
+    native void nProgramStoreBegin(int in, int out);
+    native void nProgramStoreDepthFunc(int func);
+    native void nProgramStoreDepthMask(boolean enable);
+    native void nProgramStoreColorMask(boolean r, boolean g, boolean b, boolean a);
+    native void nProgramStoreBlendFunc(int src, int dst);
+    native void nProgramStoreDither(boolean enable);
+    native int  nProgramStoreCreate();
 
     native int  nProgramRasterCreate(int in, int out, boolean pointSmooth, boolean lineSmooth, boolean pointSprite);
     native void nProgramRasterSetLineWidth(int pr, float v);
@@ -229,6 +230,13 @@
     Element mElement_COLOR_U8_4;
     Element mElement_COLOR_F32_4;
 
+    Sampler mSampler_CLAMP_NEAREST;
+    Sampler mSampler_CLAMP_LINEAR;
+    Sampler mSampler_CLAMP_LINEAR_MIP_LINEAR;
+    Sampler mSampler_WRAP_NEAREST;
+    Sampler mSampler_WRAP_LINEAR;
+    Sampler mSampler_WRAP_LINEAR_MIP_LINEAR;
+
     ///////////////////////////////////////////////////////////////////////////////////
     //
 
@@ -293,7 +301,6 @@
                     mRS.mMessageCallback.mID = msg;
                     mRS.mMessageCallback.run();
                 }
-                //Log.d(LOG_TAG, "MessageThread msg " + msg + " v1 " + rbuf[0] + " v2 " + rbuf[1] + " v3 " +rbuf[2]);
             }
             Log.d(LOG_TAG, "MessageThread exiting.");
         }
diff --git a/graphics/java/android/renderscript/RenderScriptGL.java b/graphics/java/android/renderscript/RenderScriptGL.java
index d1df23d..e90b4fc 100644
--- a/graphics/java/android/renderscript/RenderScriptGL.java
+++ b/graphics/java/android/renderscript/RenderScriptGL.java
@@ -74,9 +74,9 @@
         nContextBindRootScript(safeID(s));
     }
 
-    public void contextBindProgramFragmentStore(ProgramStore p) {
+    public void contextBindProgramStore(ProgramStore p) {
         validate();
-        nContextBindProgramFragmentStore(safeID(p));
+        nContextBindProgramStore(safeID(p));
     }
 
     public void contextBindProgramFragment(ProgramFragment p) {
diff --git a/graphics/java/android/renderscript/Sampler.java b/graphics/java/android/renderscript/Sampler.java
index 40ba722..da83d04 100644
--- a/graphics/java/android/renderscript/Sampler.java
+++ b/graphics/java/android/renderscript/Sampler.java
@@ -51,6 +51,86 @@
         mID = id;
     }
 
+    Sampler mSampler_CLAMP_NEAREST;
+    Sampler mSampler_CLAMP_LINEAR;
+    Sampler mSampler_CLAMP_LINEAR_MIP;
+    Sampler mSampler_WRAP_NEAREST;
+    Sampler mSampler_WRAP_LINEAR;
+    Sampler mSampler_WRAP_LINEAR_MIP;
+
+    public static Sampler CLAMP_NEAREST(RenderScript rs) {
+        if(rs.mSampler_CLAMP_NEAREST == null) {
+            Builder b = new Builder(rs);
+            b.setMin(Value.NEAREST);
+            b.setMag(Value.NEAREST);
+            b.setWrapS(Value.CLAMP);
+            b.setWrapT(Value.CLAMP);
+            rs.mSampler_CLAMP_NEAREST = b.create();
+        }
+        return rs.mSampler_CLAMP_NEAREST;
+    }
+
+    public static Sampler CLAMP_LINEAR(RenderScript rs) {
+        if(rs.mSampler_CLAMP_LINEAR == null) {
+            Builder b = new Builder(rs);
+            b.setMin(Value.LINEAR);
+            b.setMag(Value.LINEAR);
+            b.setWrapS(Value.CLAMP);
+            b.setWrapT(Value.CLAMP);
+            rs.mSampler_CLAMP_LINEAR = b.create();
+        }
+        return rs.mSampler_CLAMP_LINEAR;
+    }
+
+    public static Sampler CLAMP_LINEAR_MIP_LINEAR(RenderScript rs) {
+        if(rs.mSampler_CLAMP_LINEAR_MIP_LINEAR == null) {
+            Builder b = new Builder(rs);
+            b.setMin(Value.LINEAR_MIP_LINEAR);
+            b.setMag(Value.LINEAR_MIP_LINEAR);
+            b.setWrapS(Value.CLAMP);
+            b.setWrapT(Value.CLAMP);
+            rs.mSampler_CLAMP_LINEAR_MIP_LINEAR = b.create();
+        }
+        return rs.mSampler_CLAMP_LINEAR_MIP_LINEAR;
+    }
+
+    public static Sampler WRAP_NEAREST(RenderScript rs) {
+        if(rs.mSampler_WRAP_NEAREST == null) {
+            Builder b = new Builder(rs);
+            b.setMin(Value.NEAREST);
+            b.setMag(Value.NEAREST);
+            b.setWrapS(Value.WRAP);
+            b.setWrapT(Value.WRAP);
+            rs.mSampler_WRAP_NEAREST = b.create();
+        }
+        return rs.mSampler_WRAP_NEAREST;
+    }
+
+    public static Sampler WRAP_LINEAR(RenderScript rs) {
+        if(rs.mSampler_WRAP_LINEAR == null) {
+            Builder b = new Builder(rs);
+            b.setMin(Value.LINEAR);
+            b.setMag(Value.LINEAR);
+            b.setWrapS(Value.WRAP);
+            b.setWrapT(Value.WRAP);
+            rs.mSampler_WRAP_LINEAR = b.create();
+        }
+        return rs.mSampler_WRAP_LINEAR;
+    }
+
+    public static Sampler WRAP_LINEAR_MIP_LINEAR(RenderScript rs) {
+        if(rs.mSampler_WRAP_LINEAR_MIP_LINEAR == null) {
+            Builder b = new Builder(rs);
+            b.setMin(Value.LINEAR_MIP_LINEAR);
+            b.setMag(Value.LINEAR_MIP_LINEAR);
+            b.setWrapS(Value.WRAP);
+            b.setWrapT(Value.WRAP);
+            rs.mSampler_WRAP_LINEAR_MIP_LINEAR = b.create();
+        }
+        return rs.mSampler_WRAP_LINEAR_MIP_LINEAR;
+    }
+
+
     public static class Builder {
         RenderScript mRS;
         Value mMin;
diff --git a/graphics/java/android/renderscript/Script.java b/graphics/java/android/renderscript/Script.java
index 0d21368..632a459 100644
--- a/graphics/java/android/renderscript/Script.java
+++ b/graphics/java/android/renderscript/Script.java
@@ -46,6 +46,15 @@
         mRS.nScriptInvoke(mID, slot);
     }
 
+    protected void invokeData(int slot) {
+        mRS.nScriptInvokeData(mID, slot);
+    }
+
+    protected void invokeV(int slot, FieldPacker v) {
+        mRS.nScriptInvokeV(mID, slot, v.getData());
+    }
+
+
     Script(int id, RenderScript rs) {
         super(rs);
         mID = id;
@@ -53,7 +62,23 @@
 
     public void bindAllocation(Allocation va, int slot) {
         mRS.validate();
-        mRS.nScriptBindAllocation(mID, va.mID, slot);
+        if (va != null) {
+            mRS.nScriptBindAllocation(mID, va.mID, slot);
+        } else {
+            mRS.nScriptBindAllocation(mID, 0, slot);
+        }
+    }
+
+    public void setVar(int index, float v) {
+        mRS.nScriptSetVarF(mID, index, v);
+    }
+
+    public void setVar(int index, int v) {
+        mRS.nScriptSetVarI(mID, index, v);
+    }
+
+    public void setVar(int index, FieldPacker v) {
+        mRS.nScriptSetVarV(mID, index, v.getData());
     }
 
     public void setClearColor(float r, float g, float b, float a) {
@@ -82,71 +107,10 @@
 
     public static class Builder {
         RenderScript mRS;
-        boolean mIsRoot = false;
-        Type[] mTypes;
-        String[] mNames;
-        boolean[] mWritable;
-        int mInvokableCount = 0;
-        Invokable[] mInvokables;
 
         Builder(RenderScript rs) {
             mRS = rs;
-            mTypes = new Type[MAX_SLOT];
-            mNames = new String[MAX_SLOT];
-            mWritable = new boolean[MAX_SLOT];
-            mInvokables = new Invokable[MAX_SLOT];
         }
-
-        public void setType(Type t, int slot) {
-            mTypes[slot] = t;
-            mNames[slot] = null;
-        }
-
-        public void setType(Type t, String name, int slot) {
-            mTypes[slot] = t;
-            mNames[slot] = name;
-        }
-
-        public Invokable addInvokable(String func) {
-            Invokable i = new Invokable();
-            i.mName = func;
-            i.mRS = mRS;
-            i.mSlot = mInvokableCount;
-            mInvokables[mInvokableCount++] = i;
-            return i;
-        }
-
-        public void setType(boolean writable, int slot) {
-            mWritable[slot] = writable;
-        }
-
-        void transferCreate() {
-            mRS.nScriptSetRoot(mIsRoot);
-            for(int ct=0; ct < mTypes.length; ct++) {
-                if(mTypes[ct] != null) {
-                    mRS.nScriptSetType(mTypes[ct].mID, mWritable[ct], mNames[ct], ct);
-                }
-            }
-            for(int ct=0; ct < mInvokableCount; ct++) {
-                mRS.nScriptSetInvokable(mInvokables[ct].mName, ct);
-            }
-        }
-
-        void transferObject(Script s) {
-            s.mIsRoot = mIsRoot;
-            s.mTypes = mTypes;
-            s.mInvokables = new Invokable[mInvokableCount];
-            for(int ct=0; ct < mInvokableCount; ct++) {
-                s.mInvokables[ct] = mInvokables[ct];
-                s.mInvokables[ct].mScript = s;
-            }
-            s.mInvokables = null;
-        }
-
-        public void setRoot(boolean r) {
-            mIsRoot = r;
-        }
-
     }
 
 
diff --git a/graphics/java/android/renderscript/ScriptC.java b/graphics/java/android/renderscript/ScriptC.java
index f5d5b2f..c1ba000 100644
--- a/graphics/java/android/renderscript/ScriptC.java
+++ b/graphics/java/android/renderscript/ScriptC.java
@@ -81,8 +81,6 @@
     public static class Builder extends Script.Builder {
         byte[] mProgram;
         int mProgramLength;
-        HashMap<String,Integer> mIntDefines = new HashMap();
-        HashMap<String,Float> mFloatDefines = new HashMap();
 
         public Builder(RenderScript rs) {
             super(rs);
@@ -133,66 +131,20 @@
 
         static synchronized ScriptC internalCreate(Builder b) {
             b.mRS.nScriptCBegin();
-            b.transferCreate();
 
-            for (Entry<String,Integer> e: b.mIntDefines.entrySet()) {
-                b.mRS.nScriptCAddDefineI32(e.getKey(), e.getValue().intValue());
-            }
-            for (Entry<String,Float> e: b.mFloatDefines.entrySet()) {
-                b.mRS.nScriptCAddDefineF(e.getKey(), e.getValue().floatValue());
-            }
-
+            android.util.Log.e("rs", "len = " + b.mProgramLength);
             b.mRS.nScriptCSetScript(b.mProgram, 0, b.mProgramLength);
 
             int id = b.mRS.nScriptCCreate();
             ScriptC obj = new ScriptC(id, b.mRS);
-            b.transferObject(obj);
-
             return obj;
         }
 
-        public void addDefine(String name, int value) {
-            mIntDefines.put(name, value);
-        }
-
-        public void addDefine(String name, float value) {
-            mFloatDefines.put(name, value);
-        }
-
-        /**
-         * Takes the all public static final fields for a class, and adds defines
-         * for them, using the name of the field as the name of the define.
-         */
-        public void addDefines(Class cl) {
-            addDefines(cl.getFields(), (Modifier.STATIC | Modifier.FINAL | Modifier.PUBLIC), null);
-        }
-
-        /**
-         * Takes the all public fields for an object, and adds defines
-         * for them, using the name of the field as the name of the define.
-         */
-        public void addDefines(Object o) {
-            addDefines(o.getClass().getFields(), Modifier.PUBLIC, o);
-        }
-
-        void addDefines(Field[] fields, int mask, Object o) {
-            for (Field f: fields) {
-                try {
-                    if ((f.getModifiers() & mask) == mask) {
-                        Class t = f.getType();
-                        if (t == int.class) {
-                            mIntDefines.put(f.getName(), f.getInt(o));
-                        }
-                        else if (t == float.class) {
-                            mFloatDefines.put(f.getName(), f.getFloat(o));
-                        }
-                    }
-                } catch (IllegalAccessException ex) {
-                    // TODO: Do we want this log?
-                    Log.d(TAG, "addDefines skipping field " + f.getName());
-                }
-            }
-        }
+        public void addDefine(String name, int value) {}
+        public void addDefine(String name, float value) {}
+        public void addDefines(Class cl) {}
+        public void addDefines(Object o) {}
+        void addDefines(Field[] fields, int mask, Object o) {}
 
         public ScriptC create() {
             return internalCreate(this);
diff --git a/graphics/jni/android_renderscript_RenderScript.cpp b/graphics/jni/android_renderscript_RenderScript.cpp
index 45cc72e..00e6264 100644
--- a/graphics/jni/android_renderscript_RenderScript.cpp
+++ b/graphics/jni/android_renderscript_RenderScript.cpp
@@ -854,6 +854,33 @@
 }
 
 static void
+nScriptSetVarI(JNIEnv *_env, jobject _this, jint script, jint slot, jint val)
+{
+    RsContext con = (RsContext)(_env->GetIntField(_this, gContextId));
+    LOG_API("nScriptSetVarI, con(%p), s(%p), slot(%i), val(%i), b(%f), a(%f)", con, (void *)script, slot, val);
+    rsScriptSetVarI(con, (RsScript)script, slot, val);
+}
+
+static void
+nScriptSetVarF(JNIEnv *_env, jobject _this, jint script, jint slot, float val)
+{
+    RsContext con = (RsContext)(_env->GetIntField(_this, gContextId));
+    LOG_API("nScriptSetVarI, con(%p), s(%p), slot(%i), val(%i), b(%f), a(%f)", con, (void *)script, slot, val);
+    rsScriptSetVarF(con, (RsScript)script, slot, val);
+}
+
+static void
+nScriptSetVarV(JNIEnv *_env, jobject _this, jint script, jint slot, jbyteArray data)
+{
+    RsContext con = (RsContext)(_env->GetIntField(_this, gContextId));
+    LOG_API("nScriptSetVarV, con(%p), s(%p), slot(%i)", con, (void *)script, slot);
+    jint len = _env->GetArrayLength(data);
+    jbyte *ptr = _env->GetByteArrayElements(data, NULL);
+    rsScriptSetVarV(con, (RsScript)script, slot, ptr, len);
+    _env->ReleaseByteArrayElements(data, ptr, JNI_ABORT);
+}
+
+static void
 nScriptSetClearColor(JNIEnv *_env, jobject _this, jint script, jfloat r, jfloat g, jfloat b, jfloat a)
 {
     RsContext con = (RsContext)(_env->GetIntField(_this, gContextId));
@@ -895,36 +922,6 @@
 }
 
 static void
-nScriptSetType(JNIEnv *_env, jobject _this, jint type, jboolean writable, jstring _str, jint slot)
-{
-    RsContext con = (RsContext)(_env->GetIntField(_this, gContextId));
-    LOG_API("nScriptCAddType, con(%p), type(%p), writable(%i), slot(%i)", con, (RsType)type, writable, slot);
-    const char* n = NULL;
-    if (_str) {
-        n = _env->GetStringUTFChars(_str, NULL);
-    }
-    rsScriptSetType(con, (RsType)type, slot, writable, n);
-    if (n) {
-        _env->ReleaseStringUTFChars(_str, n);
-    }
-}
-
-static void
-nScriptSetInvoke(JNIEnv *_env, jobject _this, jstring _str, jint slot)
-{
-    RsContext con = (RsContext)(_env->GetIntField(_this, gContextId));
-    LOG_API("nScriptSetInvoke, con(%p)", con);
-    const char* n = NULL;
-    if (_str) {
-        n = _env->GetStringUTFChars(_str, NULL);
-    }
-    rsScriptSetInvoke(con, n, slot);
-    if (n) {
-        _env->ReleaseStringUTFChars(_str, n);
-    }
-}
-
-static void
 nScriptInvoke(JNIEnv *_env, jobject _this, jint obj, jint slot)
 {
     RsContext con = (RsContext)(_env->GetIntField(_this, gContextId));
@@ -933,6 +930,26 @@
 }
 
 static void
+nScriptInvokeData(JNIEnv *_env, jobject _this, jint obj, jint slot)
+{
+    RsContext con = (RsContext)(_env->GetIntField(_this, gContextId));
+    LOG_API("nScriptInvokeData, con(%p), script(%p)", con, (void *)obj);
+    rsScriptInvokeData(con, (RsScript)obj, slot, 0);
+}
+
+
+static void
+nScriptInvokeV(JNIEnv *_env, jobject _this, jint script, jint slot, jbyteArray data)
+{
+    RsContext con = (RsContext)(_env->GetIntField(_this, gContextId));
+    LOG_API("nScriptInvokeV, con(%p), s(%p), slot(%i)", con, (void *)script, slot);
+    jint len = _env->GetArrayLength(data);
+    jbyte *ptr = _env->GetByteArrayElements(data, NULL);
+    rsScriptInvokeV(con, (RsScript)script, slot, ptr, len);
+    _env->ReleaseByteArrayElements(data, ptr, JNI_ABORT);
+}
+
+static void
 nScriptSetRoot(JNIEnv *_env, jobject _this, jboolean isRoot)
 {
     RsContext con = (RsContext)(_env->GetIntField(_this, gContextId));
@@ -1025,60 +1042,60 @@
 // ---------------------------------------------------------------------------
 
 static void
-nProgramFragmentStoreBegin(JNIEnv *_env, jobject _this, jint in, jint out)
+nProgramStoreBegin(JNIEnv *_env, jobject _this, jint in, jint out)
 {
     RsContext con = (RsContext)(_env->GetIntField(_this, gContextId));
-    LOG_API("nProgramFragmentStoreBegin, con(%p), in(%p), out(%p)", con, (RsElement)in, (RsElement)out);
-    rsProgramFragmentStoreBegin(con, (RsElement)in, (RsElement)out);
+    LOG_API("nProgramStoreBegin, con(%p), in(%p), out(%p)", con, (RsElement)in, (RsElement)out);
+    rsProgramStoreBegin(con, (RsElement)in, (RsElement)out);
 }
 
 static void
-nProgramFragmentStoreDepthFunc(JNIEnv *_env, jobject _this, jint func)
+nProgramStoreDepthFunc(JNIEnv *_env, jobject _this, jint func)
 {
     RsContext con = (RsContext)(_env->GetIntField(_this, gContextId));
-    LOG_API("nProgramFragmentStoreDepthFunc, con(%p), func(%i)", con, func);
-    rsProgramFragmentStoreDepthFunc(con, (RsDepthFunc)func);
+    LOG_API("nProgramStoreDepthFunc, con(%p), func(%i)", con, func);
+    rsProgramStoreDepthFunc(con, (RsDepthFunc)func);
 }
 
 static void
-nProgramFragmentStoreDepthMask(JNIEnv *_env, jobject _this, jboolean enable)
+nProgramStoreDepthMask(JNIEnv *_env, jobject _this, jboolean enable)
 {
     RsContext con = (RsContext)(_env->GetIntField(_this, gContextId));
-    LOG_API("nProgramFragmentStoreDepthMask, con(%p), enable(%i)", con, enable);
-    rsProgramFragmentStoreDepthMask(con, enable);
+    LOG_API("nProgramStoreDepthMask, con(%p), enable(%i)", con, enable);
+    rsProgramStoreDepthMask(con, enable);
 }
 
 static void
-nProgramFragmentStoreColorMask(JNIEnv *_env, jobject _this, jboolean r, jboolean g, jboolean b, jboolean a)
+nProgramStoreColorMask(JNIEnv *_env, jobject _this, jboolean r, jboolean g, jboolean b, jboolean a)
 {
     RsContext con = (RsContext)(_env->GetIntField(_this, gContextId));
-    LOG_API("nProgramFragmentStoreColorMask, con(%p), r(%i), g(%i), b(%i), a(%i)", con, r, g, b, a);
-    rsProgramFragmentStoreColorMask(con, r, g, b, a);
+    LOG_API("nProgramStoreColorMask, con(%p), r(%i), g(%i), b(%i), a(%i)", con, r, g, b, a);
+    rsProgramStoreColorMask(con, r, g, b, a);
 }
 
 static void
-nProgramFragmentStoreBlendFunc(JNIEnv *_env, jobject _this, int src, int dst)
+nProgramStoreBlendFunc(JNIEnv *_env, jobject _this, int src, int dst)
 {
     RsContext con = (RsContext)(_env->GetIntField(_this, gContextId));
-    LOG_API("nProgramFragmentStoreBlendFunc, con(%p), src(%i), dst(%i)", con, src, dst);
-    rsProgramFragmentStoreBlendFunc(con, (RsBlendSrcFunc)src, (RsBlendDstFunc)dst);
+    LOG_API("nProgramStoreBlendFunc, con(%p), src(%i), dst(%i)", con, src, dst);
+    rsProgramStoreBlendFunc(con, (RsBlendSrcFunc)src, (RsBlendDstFunc)dst);
 }
 
 static void
-nProgramFragmentStoreDither(JNIEnv *_env, jobject _this, jboolean enable)
+nProgramStoreDither(JNIEnv *_env, jobject _this, jboolean enable)
 {
     RsContext con = (RsContext)(_env->GetIntField(_this, gContextId));
-    LOG_API("nProgramFragmentStoreDither, con(%p), enable(%i)", con, enable);
-    rsProgramFragmentStoreDither(con, enable);
+    LOG_API("nProgramStoreDither, con(%p), enable(%i)", con, enable);
+    rsProgramStoreDither(con, enable);
 }
 
 static jint
-nProgramFragmentStoreCreate(JNIEnv *_env, jobject _this)
+nProgramStoreCreate(JNIEnv *_env, jobject _this)
 {
     RsContext con = (RsContext)(_env->GetIntField(_this, gContextId));
-    LOG_API("nProgramFragmentStoreCreate, con(%p)", con);
+    LOG_API("nProgramStoreCreate, con(%p)", con);
 
-    return (jint)rsProgramFragmentStoreCreate(con);
+    return (jint)rsProgramStoreCreate(con);
 }
 
 // ---------------------------------------------------------------------------
@@ -1208,11 +1225,11 @@
 }
 
 static void
-nContextBindProgramFragmentStore(JNIEnv *_env, jobject _this, jint pfs)
+nContextBindProgramStore(JNIEnv *_env, jobject _this, jint pfs)
 {
     RsContext con = (RsContext)(_env->GetIntField(_this, gContextId));
-    LOG_API("nContextBindProgramFragmentStore, con(%p), pfs(%p)", con, (RsProgramFragmentStore)pfs);
-    rsContextBindProgramFragmentStore(con, (RsProgramFragmentStore)pfs);
+    LOG_API("nContextBindProgramStore, con(%p), pfs(%p)", con, (RsProgramStore)pfs);
+    rsContextBindProgramStore(con, (RsProgramStore)pfs);
 }
 
 static void
@@ -1424,24 +1441,25 @@
 {"nScriptSetClearDepth",           "(IF)V",                                (void*)nScriptSetClearDepth },
 {"nScriptSetClearStencil",         "(II)V",                                (void*)nScriptSetClearStencil },
 {"nScriptSetTimeZone",             "(I[B)V",                               (void*)nScriptSetTimeZone },
-{"nScriptSetType",                 "(IZLjava/lang/String;I)V",             (void*)nScriptSetType },
 {"nScriptSetRoot",                 "(Z)V",                                 (void*)nScriptSetRoot },
-{"nScriptSetInvokable",            "(Ljava/lang/String;I)V",               (void*)nScriptSetInvoke },
 {"nScriptInvoke",                  "(II)V",                                (void*)nScriptInvoke },
+{"nScriptInvokeData",              "(II)V",                                (void*)nScriptInvokeData },
+{"nScriptInvokeV",                 "(II[B)V",                              (void*)nScriptInvokeV },
+{"nScriptSetVarI",                 "(III)V",                               (void*)nScriptSetVarI },
+{"nScriptSetVarF",                 "(IIF)V",                               (void*)nScriptSetVarF },
+{"nScriptSetVarV",                 "(II[B)V",                              (void*)nScriptSetVarV },
 
 {"nScriptCBegin",                  "()V",                                  (void*)nScriptCBegin },
 {"nScriptCSetScript",              "([BII)V",                              (void*)nScriptCSetScript },
 {"nScriptCCreate",                 "()I",                                  (void*)nScriptCCreate },
-{"nScriptCAddDefineI32",           "(Ljava/lang/String;I)V",               (void*)nScriptCAddDefineI32 },
-{"nScriptCAddDefineF",             "(Ljava/lang/String;F)V",               (void*)nScriptCAddDefineF },
 
-{"nProgramFragmentStoreBegin",     "(II)V",                                (void*)nProgramFragmentStoreBegin },
-{"nProgramFragmentStoreDepthFunc", "(I)V",                                 (void*)nProgramFragmentStoreDepthFunc },
-{"nProgramFragmentStoreDepthMask", "(Z)V",                                 (void*)nProgramFragmentStoreDepthMask },
-{"nProgramFragmentStoreColorMask", "(ZZZZ)V",                              (void*)nProgramFragmentStoreColorMask },
-{"nProgramFragmentStoreBlendFunc", "(II)V",                                (void*)nProgramFragmentStoreBlendFunc },
-{"nProgramFragmentStoreDither",    "(Z)V",                                 (void*)nProgramFragmentStoreDither },
-{"nProgramFragmentStoreCreate",    "()I",                                  (void*)nProgramFragmentStoreCreate },
+{"nProgramStoreBegin",             "(II)V",                                (void*)nProgramStoreBegin },
+{"nProgramStoreDepthFunc",         "(I)V",                                 (void*)nProgramStoreDepthFunc },
+{"nProgramStoreDepthMask",         "(Z)V",                                 (void*)nProgramStoreDepthMask },
+{"nProgramStoreColorMask",         "(ZZZZ)V",                              (void*)nProgramStoreColorMask },
+{"nProgramStoreBlendFunc",         "(II)V",                                (void*)nProgramStoreBlendFunc },
+{"nProgramStoreDither",            "(Z)V",                                 (void*)nProgramStoreDither },
+{"nProgramStoreCreate",            "()I",                                  (void*)nProgramStoreCreate },
 
 {"nProgramBindConstants",          "(III)V",                               (void*)nProgramBindConstants },
 {"nProgramBindTexture",            "(III)V",                               (void*)nProgramBindTexture },
@@ -1465,7 +1483,7 @@
 {"nLightSetPosition",              "(IFFF)V",                              (void*)nLightSetPosition },
 
 {"nContextBindRootScript",         "(I)V",                                 (void*)nContextBindRootScript },
-{"nContextBindProgramFragmentStore","(I)V",                                (void*)nContextBindProgramFragmentStore },
+{"nContextBindProgramStore",       "(I)V",                                (void*)nContextBindProgramStore },
 {"nContextBindProgramFragment",    "(I)V",                                 (void*)nContextBindProgramFragment },
 {"nContextBindProgramVertex",      "(I)V",                                 (void*)nContextBindProgramVertex },
 {"nContextBindProgramRaster",      "(I)V",                                 (void*)nContextBindProgramRaster },
diff --git a/include/camera/CameraParameters.h b/include/camera/CameraParameters.h
index 0d27f1a..979df9f 100644
--- a/include/camera/CameraParameters.h
+++ b/include/camera/CameraParameters.h
@@ -39,23 +39,16 @@
     int getInt(const char *key) const;
     float getFloat(const char *key) const;
 
-    /* preview-size=176x144 */
+    void remove(const char *key);
+
     void setPreviewSize(int width, int height);
     void getPreviewSize(int *width, int *height) const;
-
-    /* preview-fps=15 */
     void setPreviewFrameRate(int fps);
     int getPreviewFrameRate() const;
-
-    /* preview-format=rgb565|yuv422 */
     void setPreviewFormat(const char *format);
     const char *getPreviewFormat() const;
-
-    /* picture-size=1024x768 */
     void setPictureSize(int width, int height);
     void getPictureSize(int *width, int *height) const;
-
-    /* picture-format=yuv422|jpeg */
     void setPictureFormat(const char *format);
     const char *getPictureFormat() const;
 
diff --git a/include/media/stagefright/CameraSource.h b/include/media/stagefright/CameraSource.h
index 3afa598..42d6634 100644
--- a/include/media/stagefright/CameraSource.h
+++ b/include/media/stagefright/CameraSource.h
@@ -28,7 +28,6 @@
 
 class ICamera;
 class IMemory;
-class ISurface;
 class Camera;
 
 class CameraSource : public MediaSource {
@@ -38,8 +37,6 @@
 
     virtual ~CameraSource();
 
-    void setPreviewSurface(const sp<ISurface> &surface);
-
     virtual status_t start(MetaData *params = NULL);
     virtual status_t stop();
 
@@ -52,7 +49,6 @@
     friend class CameraSourceListener;
 
     sp<Camera> mCamera;
-    sp<ISurface> mPreviewSurface;
 
     Mutex mLock;
     Condition mFrameAvailableCondition;
diff --git a/include/media/stagefright/HTTPDataSource.h b/include/media/stagefright/HTTPDataSource.h
index f3b44fd..0400bea 100644
--- a/include/media/stagefright/HTTPDataSource.h
+++ b/include/media/stagefright/HTTPDataSource.h
@@ -91,6 +91,7 @@
     void initHeaders(const KeyedVector<String8, String8> *overrides);
 
     status_t connectWithRedirectsAndRange(off_t rangeStart);
+    void applyTimeoutResponse();
 
     HTTPDataSource(const HTTPDataSource &);
     HTTPDataSource &operator=(const HTTPDataSource &);
diff --git a/include/media/stagefright/MPEG4Writer.h b/include/media/stagefright/MPEG4Writer.h
index 27d0f50..6064fc4 100644
--- a/include/media/stagefright/MPEG4Writer.h
+++ b/include/media/stagefright/MPEG4Writer.h
@@ -61,6 +61,12 @@
     FILE *mFile;
     off_t mOffset;
     off_t mMdatOffset;
+    uint8_t *mMoovBoxBuffer;
+    off_t mMoovBoxBufferOffset;
+    bool  mWriteMoovBoxToMemory;
+    off_t mFreeBoxOffset;
+    bool mStreamableFile;
+    off_t mEstimatedMoovBoxSize;
     uint32_t mInterleaveDurationUs;
     Mutex mLock;
 
@@ -75,6 +81,8 @@
     off_t addSample_l(MediaBuffer *buffer);
     off_t addLengthPrefixedSample_l(MediaBuffer *buffer);
 
+    inline size_t write(const void *ptr, size_t size, size_t nmemb, FILE* stream);
+
     MPEG4Writer(const MPEG4Writer &);
     MPEG4Writer &operator=(const MPEG4Writer &);
 };
diff --git a/include/private/surfaceflinger/SharedBufferStack.h b/include/private/surfaceflinger/SharedBufferStack.h
index 2504d39..c23832d 100644
--- a/include/private/surfaceflinger/SharedBufferStack.h
+++ b/include/private/surfaceflinger/SharedBufferStack.h
@@ -129,7 +129,7 @@
 
 // ----------------------------------------------------------------------------
 
-// 4 KB max
+// 32 KB max
 class SharedClient
 {
 public:
@@ -166,7 +166,7 @@
 protected:
     SharedClient* const mSharedClient;
     SharedBufferStack* const mSharedStack;
-    const int mNumBuffers;
+    int mNumBuffers;
     const int mIdentity;
     int32_t computeTail() const;
 
@@ -217,6 +217,7 @@
     bool needNewBuffer(int buffer) const;
     status_t setDirtyRegion(int buffer, const Region& reg);
     status_t setCrop(int buffer, const Rect& reg);
+    status_t setBufferCount(int bufferCount);
     
 private:
     friend struct Condition;
@@ -269,13 +270,61 @@
     status_t reallocate();
     status_t assertReallocate(int buffer);
     int32_t getQueuedCount() const;
-    
     Region getDirtyRegion(int buffer) const;
 
+    status_t resize(int newNumBuffers);
+
     SharedBufferStack::Statistics getStats() const;
     
 
 private:
+    /*
+     * BufferList is basically a fixed-capacity sorted-vector of
+     * unsigned 5-bits ints using a 32-bits int as storage.
+     * it has efficient iterators to find items in the list and not in the list.
+     */
+    class BufferList {
+        size_t mCapacity;
+        uint32_t mList;
+    public:
+        BufferList(size_t c = NUM_BUFFER_MAX) : mCapacity(c), mList(0) { }
+        status_t add(int value);
+        status_t remove(int value);
+
+        class const_iterator {
+            friend class BufferList;
+            uint32_t mask, curr;
+            const_iterator(uint32_t mask) :
+                mask(mask), curr(31 - __builtin_clz(mask)) { }
+        public:
+            inline bool operator == (const const_iterator& rhs) const {
+                return mask == rhs.mask;
+            }
+            inline bool operator != (const const_iterator& rhs) const {
+                return mask != rhs.mask;
+            }
+            inline int operator *() const { return curr; }
+            inline const const_iterator& operator ++(int) {
+                mask &= ~curr;
+                curr = 31 - __builtin_clz(mask);
+                return *this;
+            }
+        };
+
+        inline const_iterator begin() const {
+            return const_iterator(mList);
+        }
+        inline const_iterator end() const   {
+            return const_iterator(0);
+        }
+        inline const_iterator free_begin() const {
+            uint32_t mask = (1 << (32-mCapacity)) - 1;
+            return const_iterator( ~(mList | mask) );
+        }
+    };
+
+    BufferList mBufferList;
+
     struct UnlockUpdate : public UpdateBase {
         const int lockedBuffer;
         inline UnlockUpdate(SharedBufferBase* sbb, int lockedBuffer);
diff --git a/include/surfaceflinger/ISurface.h b/include/surfaceflinger/ISurface.h
index 472f759..9476686 100644
--- a/include/surfaceflinger/ISurface.h
+++ b/include/surfaceflinger/ISurface.h
@@ -47,12 +47,14 @@
         POST_BUFFER, // one-way transaction
         CREATE_OVERLAY,
         REQUEST_BUFFER,
+        SET_BUFFER_COUNT,
     };
 
 public: 
     DECLARE_META_INTERFACE(Surface);
 
     virtual sp<GraphicBuffer> requestBuffer(int bufferIdx, int usage) = 0; 
+    virtual status_t setBufferCount(int bufferCount) = 0;
     
     class BufferHeap {
     public:
diff --git a/include/surfaceflinger/Surface.h b/include/surfaceflinger/Surface.h
index 7ab3a00..973780f 100644
--- a/include/surfaceflinger/Surface.h
+++ b/include/surfaceflinger/Surface.h
@@ -217,6 +217,7 @@
     int  connect(int api);
     int  disconnect(int api);
     int  crop(Rect const* rect);
+    int  setBufferCount(int bufferCount);
 
     /*
      *  private stuff...
diff --git a/include/ui/android_native_buffer.h b/include/ui/android_native_buffer.h
index 9c92af8..402843e 100644
--- a/include/ui/android_native_buffer.h
+++ b/include/ui/android_native_buffer.h
@@ -33,6 +33,15 @@
         common.version = sizeof(android_native_buffer_t);
         memset(common.reserved, 0, sizeof(common.reserved));
     }
+
+    // Implement the methods that sp<android_native_buffer_t> expects so that it
+    // can be used to automatically refcount android_native_buffer_t's.
+    void incStrong(const void* id) const {
+        common.incRef(const_cast<android_native_base_t*>(&common));
+    }
+    void decStrong(const void* id) const {
+        common.decRef(const_cast<android_native_base_t*>(&common));
+    }
 #endif
 
     struct android_native_base_t common;
diff --git a/include/ui/egl/android_natives.h b/include/ui/egl/android_natives.h
index 471c3c7..49bfa2b 100644
--- a/include/ui/egl/android_natives.h
+++ b/include/ui/egl/android_natives.h
@@ -98,6 +98,15 @@
         common.version = sizeof(android_native_window_t);
         memset(common.reserved, 0, sizeof(common.reserved));
     }
+
+    // Implement the methods that sp<android_native_window_t> expects so that it
+    // can be used to automatically refcount android_native_window_t's.
+    void incStrong(const void* id) const {
+        common.incRef(const_cast<android_native_base_t*>(&common));
+    }
+    void decStrong(const void* id) const {
+        common.decRef(const_cast<android_native_base_t*>(&common));
+    }
 #endif
     
     struct android_native_base_t common;
@@ -291,6 +300,15 @@
 template <typename NATIVE_TYPE, typename TYPE, typename REF>
 class EGLNativeBase : public NATIVE_TYPE, public REF
 {
+public:
+    // Disambiguate between the incStrong in REF and NATIVE_TYPE
+    void incStrong(const void* id) const {
+        REF::incStrong(id);
+    }
+    void decStrong(const void* id) const {
+        REF::decStrong(id);
+    }
+
 protected:
     typedef EGLNativeBase<NATIVE_TYPE, TYPE, REF> BASE;
     EGLNativeBase() : NATIVE_TYPE(), REF() {
diff --git a/include/utils/ZipFileCRO.h b/include/utils/ZipFileCRO.h
index 30e0036..e38bf66 100644
--- a/include/utils/ZipFileCRO.h
+++ b/include/utils/ZipFileCRO.h
@@ -47,8 +47,8 @@
         const char* fileName);
 
 extern bool ZipFileCRO_getEntryInfo(ZipFileCRO zip, ZipEntryCRO entry,
-        int* pMethod, long* pUncompLen,
-        long* pCompLen, off_t* pOffset, long* pModWhen, long* pCrc32);
+        int* pMethod, size_t* pUncompLen,
+        size_t* pCompLen, off_t* pOffset, long* pModWhen, long* pCrc32);
 
 extern bool ZipFileCRO_uncompressEntry(ZipFileCRO zip, ZipEntryCRO entry, int fd);
 
diff --git a/include/utils/ZipFileRO.h b/include/utils/ZipFileRO.h
index 51c4f2f..97d31f4 100644
--- a/include/utils/ZipFileRO.h
+++ b/include/utils/ZipFileRO.h
@@ -58,14 +58,19 @@
 class ZipFileRO {
 public:
     ZipFileRO()
-        : mFd(-1), mFileMap(NULL), mHashTableSize(-1), mHashTable(NULL)
+        : mFd(-1), mFileName(NULL), mFileLength(-1),
+          mDirectoryMap(NULL),
+          mNumEntries(-1), mDirectoryOffset(-1),
+          mHashTableSize(-1), mHashTable(NULL)
         {}
     ~ZipFileRO() {
         free(mHashTable);
-        if (mFileMap)
-            mFileMap->release();
+        if (mDirectoryMap)
+            mDirectoryMap->release();
         if (mFd >= 0)
             close(mFd);
+        if (mFileName)
+            free(mFileName);
     }
 
     /*
@@ -118,8 +123,8 @@
      * Returns "false" if "entry" is bogus or if the data in the Zip file
      * appears to be bad.
      */
-    bool getEntryInfo(ZipEntryRO entry, int* pMethod, long* pUncompLen,
-        long* pCompLen, off_t* pOffset, long* pModWhen, long* pCrc32) const;
+    bool getEntryInfo(ZipEntryRO entry, int* pMethod, size_t* pUncompLen,
+        size_t* pCompLen, off_t* pOffset, long* pModWhen, long* pCrc32) const;
 
     /*
      * Create a new FileMap object that maps a subset of the archive.  For
@@ -155,13 +160,13 @@
      * Utility function: uncompress deflated data, buffer to buffer.
      */
     static bool inflateBuffer(void* outBuf, const void* inBuf,
-        long uncompLen, long compLen);
+        size_t uncompLen, size_t compLen);
 
     /*
      * Utility function: uncompress deflated data, buffer to fd.
      */
     static bool inflateBuffer(int fd, const void* inBuf,
-        long uncompLen, long compLen);
+        size_t uncompLen, size_t compLen);
 
     /*
      * Some basic functions for raw data manipulation.  "LE" means
@@ -179,6 +184,9 @@
     ZipFileRO(const ZipFileRO& src);
     ZipFileRO& operator=(const ZipFileRO& src);
 
+    /* locate and parse the central directory */
+    bool mapCentralDirectory(void);
+
     /* parse the archive, prepping internal structures */
     bool parseZipArchive(void);
 
@@ -203,12 +211,21 @@
     /* open Zip archive */
     int         mFd;
 
+    /* zip file name */
+    char*       mFileName;
+
+    /* length of file */
+    size_t      mFileLength;
+
     /* mapped file */
-    FileMap*    mFileMap;
+    FileMap*    mDirectoryMap;
 
     /* number of entries in the Zip archive */
     int         mNumEntries;
 
+    /* CD directory offset in the Zip archive */
+    off_t       mDirectoryOffset;
+
     /*
      * We know how many entries are in the Zip archive, so we have a
      * fixed-size hash table.  We probe for an empty slot.
diff --git a/libs/audioflinger/AudioDumpInterface.cpp b/libs/audioflinger/AudioDumpInterface.cpp
index a018b4c..6c11114 100644
--- a/libs/audioflinger/AudioDumpInterface.cpp
+++ b/libs/audioflinger/AudioDumpInterface.cpp
@@ -32,7 +32,7 @@
 // ----------------------------------------------------------------------------
 
 AudioDumpInterface::AudioDumpInterface(AudioHardwareInterface* hw)
-    : mFirstHwOutput(true), mPolicyCommands(String8("")), mFileName(String8(""))
+    : mPolicyCommands(String8("")), mFileName(String8(""))
 {
     if(hw == 0) {
         LOGE("Dump construct hw = 0");
@@ -47,6 +47,11 @@
     for (size_t i = 0; i < mOutputs.size(); i++) {
         closeOutputStream((AudioStreamOut *)mOutputs[i]);
     }
+
+    for (size_t i = 0; i < mInputs.size(); i++) {
+        closeInputStream((AudioStreamIn *)mInputs[i]);
+    }
+
     if(mFinalInterface) delete mFinalInterface;
 }
 
@@ -60,31 +65,32 @@
     uint32_t lRate = 44100;
 
 
-    if (AudioSystem::isA2dpDevice((AudioSystem::audio_devices)devices) || mFirstHwOutput) {
-        outFinal = mFinalInterface->openOutputStream(devices, format, channels, sampleRate, status);
-        if (outFinal != 0) {
-            lFormat = outFinal->format();
-            lChannels = outFinal->channels();
-            lRate = outFinal->sampleRate();
-            if (!AudioSystem::isA2dpDevice((AudioSystem::audio_devices)devices)) {
-                mFirstHwOutput = false;
+    outFinal = mFinalInterface->openOutputStream(devices, format, channels, sampleRate, status);
+    if (outFinal != 0) {
+        lFormat = outFinal->format();
+        lChannels = outFinal->channels();
+        lRate = outFinal->sampleRate();
+    } else {
+        if (format != 0) {
+            if (*format != 0) {
+                lFormat = *format;
+            } else {
+                *format = lFormat;
             }
         }
-    } else {
-        if (format != 0 && *format != 0) {
-            lFormat = *format;
-        } else {
-            lFormat = AudioSystem::PCM_16_BIT;
+        if (channels != 0) {
+            if (*channels != 0) {
+                lChannels = *channels;
+            } else {
+                *channels = lChannels;
+            }
         }
-        if (channels != 0 && *channels != 0) {
-            lChannels = *channels;
-        } else {
-            lChannels = AudioSystem::CHANNEL_OUT_STEREO;
-        }
-        if (sampleRate != 0 && *sampleRate != 0) {
-            lRate = *sampleRate;
-        } else {
-            lRate = 44100;
+        if (sampleRate != 0) {
+            if (*sampleRate != 0) {
+                lRate = *sampleRate;
+            } else {
+                *sampleRate = lRate;
+            }
         }
         if (status) *status = NO_ERROR;
     }
@@ -111,7 +117,6 @@
     dumpOut->standby();
     if (dumpOut->finalStream() != NULL) {
         mFinalInterface->closeOutputStream(dumpOut->finalStream());
-        mFirstHwOutput = true;
     }
 
     mOutputs.remove(dumpOut);
@@ -126,18 +131,33 @@
     uint32_t lChannels = AudioSystem::CHANNEL_IN_MONO;
     uint32_t lRate = 8000;
 
-
-    if (mInputs.size() == 0) {
-        inFinal = mFinalInterface->openInputStream(devices, format, channels, sampleRate, status, acoustics);
-        if (inFinal == 0) return 0;
-
+    inFinal = mFinalInterface->openInputStream(devices, format, channels, sampleRate, status, acoustics);
+    if (inFinal != 0) {
         lFormat = inFinal->format();
         lChannels = inFinal->channels();
         lRate = inFinal->sampleRate();
     } else {
-        if (format != 0 && *format != 0) lFormat = *format;
-        if (channels != 0 && *channels != 0) lChannels = *channels;
-        if (sampleRate != 0 && *sampleRate != 0) lRate = *sampleRate;
+        if (format != 0) {
+            if (*format != 0) {
+                lFormat = *format;
+            } else {
+                *format = lFormat;
+            }
+        }
+        if (channels != 0) {
+            if (*channels != 0) {
+                lChannels = *channels;
+            } else {
+                *channels = lChannels;
+            }
+        }
+        if (sampleRate != 0) {
+            if (*sampleRate != 0) {
+                lRate = *sampleRate;
+            } else {
+                *sampleRate = lRate;
+            }
+        }
         if (status) *status = NO_ERROR;
     }
     LOGV("openInputStream(), inFinal %p", inFinal);
@@ -223,6 +243,15 @@
     return keyValuePairs;
 }
 
+status_t AudioDumpInterface::setMode(int mode)
+{
+    return mFinalInterface->setMode(mode);
+}
+
+size_t AudioDumpInterface::getInputBufferSize(uint32_t sampleRate, int format, int channelCount)
+{
+    return mFinalInterface->getInputBufferSize(sampleRate, format, channelCount);
+}
 
 // ----------------------------------------------------------------------------
 
@@ -235,7 +264,7 @@
                                         uint32_t sampleRate)
     : mInterface(interface), mId(id),
       mSampleRate(sampleRate), mFormat(format), mChannels(channels), mLatency(0), mDevice(devices),
-      mBufferSize(1024), mFinalStream(finalStream), mOutFile(0), mFileCount(0)
+      mBufferSize(1024), mFinalStream(finalStream), mFile(0), mFileCount(0)
 {
     LOGV("AudioStreamOutDump Constructor %p, mInterface %p, mFinalStream %p", this, mInterface, mFinalStream);
 }
@@ -254,26 +283,26 @@
     if (mFinalStream) {
         ret = mFinalStream->write(buffer, bytes);
     } else {
-        usleep((bytes * 1000000) / frameSize() / sampleRate());
+        usleep((((bytes * 1000) / frameSize()) / sampleRate()) * 1000);
         ret = bytes;
     }
-    if(!mOutFile) {
+    if(!mFile) {
         if (mInterface->fileName() != "") {
             char name[255];
-            sprintf(name, "%s_%d_%d.pcm", mInterface->fileName().string(), mId, ++mFileCount);
-            mOutFile = fopen(name, "wb");
-            LOGV("Opening dump file %s, fh %p", name, mOutFile);
+            sprintf(name, "%s_out_%d_%d.pcm", mInterface->fileName().string(), mId, ++mFileCount);
+            mFile = fopen(name, "wb");
+            LOGV("Opening dump file %s, fh %p", name, mFile);
         }
     }
-    if (mOutFile) {
-        fwrite(buffer, bytes, 1, mOutFile);
+    if (mFile) {
+        fwrite(buffer, bytes, 1, mFile);
     }
     return ret;
 }
 
 status_t AudioStreamOutDump::standby()
 {
-    LOGV("AudioStreamOutDump standby(), mOutFile %p, mFinalStream %p", mOutFile, mFinalStream);
+    LOGV("AudioStreamOutDump standby(), mFile %p, mFinalStream %p", mFile, mFinalStream);
 
     Close();
     if (mFinalStream != 0 ) return mFinalStream->standby();
@@ -330,7 +359,7 @@
     }
 
     if (param.getInt(String8("format"), valueInt) == NO_ERROR) {
-        if (mOutFile == 0) {
+        if (mFile == 0) {
             mFormat = valueInt;
         } else {
             status = INVALID_OPERATION;
@@ -345,7 +374,7 @@
     }
     if (param.getInt(String8("sampling_rate"), valueInt) == NO_ERROR) {
         if (valueInt > 0 && valueInt <= 48000) {
-            if (mOutFile == 0) {
+            if (mFile == 0) {
                 mSampleRate = valueInt;
             } else {
                 status = INVALID_OPERATION;
@@ -373,9 +402,9 @@
 
 void AudioStreamOutDump::Close()
 {
-    if(mOutFile) {
-        fclose(mOutFile);
-        mOutFile = 0;
+    if(mFile) {
+        fclose(mFile);
+        mFile = 0;
     }
 }
 
@@ -396,7 +425,7 @@
                                         uint32_t sampleRate)
     : mInterface(interface), mId(id),
       mSampleRate(sampleRate), mFormat(format), mChannels(channels), mDevice(devices),
-      mBufferSize(1024), mFinalStream(finalStream), mInFile(0)
+      mBufferSize(1024), mFinalStream(finalStream), mFile(0), mFileCount(0)
 {
     LOGV("AudioStreamInDump Constructor %p, mInterface %p, mFinalStream %p", this, mInterface, mFinalStream);
 }
@@ -409,55 +438,68 @@
 
 ssize_t AudioStreamInDump::read(void* buffer, ssize_t bytes)
 {
+    ssize_t ret;
+
     if (mFinalStream) {
-        return mFinalStream->read(buffer, bytes);
-    }
-
-    usleep((bytes * 1000000) / frameSize() / sampleRate());
-
-    if(!mInFile) {
-        char name[255];
-        strcpy(name, "/sdcard/music/sine440");
-        if (channels() == AudioSystem::CHANNEL_IN_MONO) {
-            strcat(name, "_mo");
-        } else {
-            strcat(name, "_st");
+        ret = mFinalStream->read(buffer, bytes);
+        if(!mFile) {
+            if (mInterface->fileName() != "") {
+                char name[255];
+                sprintf(name, "%s_in_%d_%d.pcm", mInterface->fileName().string(), mId, ++mFileCount);
+                mFile = fopen(name, "wb");
+                LOGV("Opening input dump file %s, fh %p", name, mFile);
+            }
         }
-        if (format() == AudioSystem::PCM_16_BIT) {
-            strcat(name, "_16b");
-        } else {
-            strcat(name, "_8b");
+        if (mFile) {
+            fwrite(buffer, bytes, 1, mFile);
         }
-        if (sampleRate() < 16000) {
-            strcat(name, "_8k");
-        } else if (sampleRate() < 32000) {
-            strcat(name, "_22k");
-        } else if (sampleRate() < 48000) {
-            strcat(name, "_44k");
-        } else {
-            strcat(name, "_48k");
+    } else {
+        usleep((((bytes * 1000) / frameSize()) / sampleRate()) * 1000);
+        ret = bytes;
+        if(!mFile) {
+            char name[255];
+            strcpy(name, "/sdcard/music/sine440");
+            if (channels() == AudioSystem::CHANNEL_IN_MONO) {
+                strcat(name, "_mo");
+            } else {
+                strcat(name, "_st");
+            }
+            if (format() == AudioSystem::PCM_16_BIT) {
+                strcat(name, "_16b");
+            } else {
+                strcat(name, "_8b");
+            }
+            if (sampleRate() < 16000) {
+                strcat(name, "_8k");
+            } else if (sampleRate() < 32000) {
+                strcat(name, "_22k");
+            } else if (sampleRate() < 48000) {
+                strcat(name, "_44k");
+            } else {
+                strcat(name, "_48k");
+            }
+            strcat(name, ".wav");
+            mFile = fopen(name, "rb");
+            LOGV("Opening input read file %s, fh %p", name, mFile);
+            if (mFile) {
+                fseek(mFile, AUDIO_DUMP_WAVE_HDR_SIZE, SEEK_SET);
+            }
         }
-        strcat(name, ".wav");
-        mInFile = fopen(name, "rb");
-        LOGV("Opening dump file %s, fh %p", name, mInFile);
-        if (mInFile) {
-            fseek(mInFile, AUDIO_DUMP_WAVE_HDR_SIZE, SEEK_SET);
-        }
-
-    }
-    if (mInFile) {
-        ssize_t bytesRead = fread(buffer, bytes, 1, mInFile);
-        if (bytesRead != bytes) {
-            fseek(mInFile, AUDIO_DUMP_WAVE_HDR_SIZE, SEEK_SET);
-            fread((uint8_t *)buffer+bytesRead, bytes-bytesRead, 1, mInFile);
+        if (mFile) {
+            ssize_t bytesRead = fread(buffer, bytes, 1, mFile);
+            if (bytesRead >=0 && bytesRead < bytes) {
+                fseek(mFile, AUDIO_DUMP_WAVE_HDR_SIZE, SEEK_SET);
+                fread((uint8_t *)buffer+bytesRead, bytes-bytesRead, 1, mFile);
+            }
         }
     }
-    return bytes;
+
+    return ret;
 }
 
 status_t AudioStreamInDump::standby()
 {
-    LOGV("AudioStreamInDump standby(), mInFile %p, mFinalStream %p", mInFile, mFinalStream);
+    LOGV("AudioStreamInDump standby(), mFile %p, mFinalStream %p", mFile, mFinalStream);
 
     Close();
     if (mFinalStream != 0 ) return mFinalStream->standby();
@@ -523,9 +565,9 @@
 
 void AudioStreamInDump::Close()
 {
-    if(mInFile) {
-        fclose(mInFile);
-        mInFile = 0;
+    if(mFile) {
+        fclose(mFile);
+        mFile = 0;
     }
 }
 }; // namespace android
diff --git a/libs/audioflinger/AudioDumpInterface.h b/libs/audioflinger/AudioDumpInterface.h
index 4c62b3e..814ce5f 100644
--- a/libs/audioflinger/AudioDumpInterface.h
+++ b/libs/audioflinger/AudioDumpInterface.h
@@ -69,7 +69,7 @@
     uint32_t mDevice;                   // current device this output is routed to
     size_t  mBufferSize;
     AudioStreamOut      *mFinalStream;
-    FILE                *mOutFile;      // output file
+    FILE                *mFile;      // output file
     int                 mFileCount;
 };
 
@@ -109,7 +109,8 @@
     uint32_t mDevice;                   // current device this output is routed to
     size_t  mBufferSize;
     AudioStreamIn      *mFinalStream;
-    FILE                *mInFile;      // output file
+    FILE                *mFile;      // output file
+    int                 mFileCount;
 };
 
 class AudioDumpInterface : public AudioHardwareBase
@@ -134,6 +135,8 @@
     virtual status_t    setMasterVolume(float volume)
                             {return mFinalInterface->setMasterVolume(volume);}
 
+    virtual status_t    setMode(int mode);
+
     // mic mute
     virtual status_t    setMicMute(bool state)
                             {return mFinalInterface->setMicMute(state);}
@@ -143,6 +146,8 @@
     virtual status_t    setParameters(const String8& keyValuePairs);
     virtual String8     getParameters(const String8& keys);
 
+    virtual size_t      getInputBufferSize(uint32_t sampleRate, int format, int channelCount);
+
     virtual AudioStreamIn* openInputStream(uint32_t devices, int *format, uint32_t *channels,
             uint32_t *sampleRate, status_t *status, AudioSystem::audio_in_acoustics acoustics);
     virtual    void        closeInputStream(AudioStreamIn* in);
@@ -153,8 +158,7 @@
 protected:
 
     AudioHardwareInterface          *mFinalInterface;
-    SortedVector<AudioStreamOutDump *>    mOutputs;
-    bool                            mFirstHwOutput;
+    SortedVector<AudioStreamOutDump *>   mOutputs;
     SortedVector<AudioStreamInDump *>    mInputs;
     Mutex                           mLock;
     String8                         mPolicyCommands;
diff --git a/libs/audioflinger/AudioFlinger.cpp b/libs/audioflinger/AudioFlinger.cpp
index 2414e8d..06443ef 100644
--- a/libs/audioflinger/AudioFlinger.cpp
+++ b/libs/audioflinger/AudioFlinger.cpp
@@ -142,6 +142,7 @@
     }
 #ifdef LVMX
     LifeVibes::init();
+    mLifeVibesClientPid = -1;
 #endif
 }
 
@@ -596,8 +597,10 @@
     int musicEnabled = -1;
     if (NO_ERROR == param.get(key, value)) {
         if (value == LifevibesEnable) {
+            mLifeVibesClientPid = IPCThreadState::self()->getCallingPid();
             musicEnabled = 1;
         } else if (value == LifevibesDisable) {
+            mLifeVibesClientPid = -1;
             musicEnabled = 0;
         }
     }
@@ -609,7 +612,7 @@
         mHardwareStatus = AUDIO_SET_PARAMETER;
         result = mAudioHardware->setParameters(keyValuePairs);
 #ifdef LVMX
-        if ((NO_ERROR == result) && (musicEnabled != -1)) {
+        if (musicEnabled != -1) {
             LifeVibes::enableMusic((bool) musicEnabled);
         }
 #endif
@@ -713,51 +716,57 @@
 void AudioFlinger::registerClient(const sp<IAudioFlingerClient>& client)
 {
 
-    LOGV("registerClient() %p, tid %d, calling tid %d", client.get(), gettid(), IPCThreadState::self()->getCallingPid());
     Mutex::Autolock _l(mLock);
 
-    sp<IBinder> binder = client->asBinder();
-    if (mNotificationClients.indexOf(binder) < 0) {
-        LOGV("Adding notification client %p", binder.get());
-        binder->linkToDeath(this);
-        mNotificationClients.add(binder);
-    }
+    int pid = IPCThreadState::self()->getCallingPid();
+    if (mNotificationClients.indexOfKey(pid) < 0) {
+        sp<NotificationClient> notificationClient = new NotificationClient(this,
+                                                                            client,
+                                                                            pid);
+        LOGV("registerClient() client %p, pid %d", notificationClient.get(), pid);
 
-    // the config change is always sent from playback or record threads to avoid deadlock
-    // with AudioSystem::gLock
-    for (size_t i = 0; i < mPlaybackThreads.size(); i++) {
-        mPlaybackThreads.valueAt(i)->sendConfigEvent(AudioSystem::OUTPUT_OPENED);
-    }
+        mNotificationClients.add(pid, notificationClient);
 
-    for (size_t i = 0; i < mRecordThreads.size(); i++) {
-        mRecordThreads.valueAt(i)->sendConfigEvent(AudioSystem::INPUT_OPENED);
-    }
-}
+        sp<IBinder> binder = client->asBinder();
+        binder->linkToDeath(notificationClient);
 
-void AudioFlinger::binderDied(const wp<IBinder>& who) {
+        // the config change is always sent from playback or record threads to avoid deadlock
+        // with AudioSystem::gLock
+        for (size_t i = 0; i < mPlaybackThreads.size(); i++) {
+            mPlaybackThreads.valueAt(i)->sendConfigEvent(AudioSystem::OUTPUT_OPENED);
+        }
 
-    LOGV("binderDied() %p, tid %d, calling tid %d", who.unsafe_get(), gettid(), IPCThreadState::self()->getCallingPid());
-    Mutex::Autolock _l(mLock);
-
-    IBinder *binder = who.unsafe_get();
-
-    if (binder != NULL) {
-        int index = mNotificationClients.indexOf(binder);
-        if (index >= 0) {
-            LOGV("Removing notification client %p", binder);
-            mNotificationClients.removeAt(index);
+        for (size_t i = 0; i < mRecordThreads.size(); i++) {
+            mRecordThreads.valueAt(i)->sendConfigEvent(AudioSystem::INPUT_OPENED);
         }
     }
 }
 
+void AudioFlinger::removeNotificationClient(pid_t pid)
+{
+    Mutex::Autolock _l(mLock);
+
+    int index = mNotificationClients.indexOfKey(pid);
+    if (index >= 0) {
+        sp <NotificationClient> client = mNotificationClients.valueFor(pid);
+        LOGV("removeNotificationClient() %p, pid %d", client.get(), pid);
+#ifdef LVMX
+        if (pid == mLifeVibesClientPid) {
+            LOGV("Disabling lifevibes");
+            LifeVibes::enableMusic(false);
+            mLifeVibesClientPid = -1;
+        }
+#endif
+        mNotificationClients.removeItem(pid);
+    }
+}
+
 // audioConfigChanged_l() must be called with AudioFlinger::mLock held
-void AudioFlinger::audioConfigChanged_l(int event, int ioHandle, void *param2) {
+void AudioFlinger::audioConfigChanged_l(int event, int ioHandle, void *param2)
+{
     size_t size = mNotificationClients.size();
     for (size_t i = 0; i < size; i++) {
-        sp<IBinder> binder = mNotificationClients.itemAt(i);
-        LOGV("audioConfigChanged_l() Notifying change to client %p", binder.get());
-        sp<IAudioFlingerClient> client = interface_cast<IAudioFlingerClient> (binder);
-        client->ioConfigChanged(event, ioHandle, param2);
+        mNotificationClients.valueAt(i)->client()->ioConfigChanged(event, ioHandle, param2);
     }
 }
 
@@ -768,6 +777,7 @@
     mClients.removeItem(pid);
 }
 
+
 // ----------------------------------------------------------------------------
 
 AudioFlinger::ThreadBase::ThreadBase(const sp<AudioFlinger>& audioFlinger, int id)
@@ -3086,6 +3096,28 @@
 
 // ----------------------------------------------------------------------------
 
+AudioFlinger::NotificationClient::NotificationClient(const sp<AudioFlinger>& audioFlinger,
+                                                     const sp<IAudioFlingerClient>& client,
+                                                     pid_t pid)
+    : mAudioFlinger(audioFlinger), mPid(pid), mClient(client)
+{
+}
+
+AudioFlinger::NotificationClient::~NotificationClient()
+{
+    mClient.clear();
+}
+
+void AudioFlinger::NotificationClient::binderDied(const wp<IBinder>& who)
+{
+    sp<NotificationClient> keep(this);
+    {
+        mAudioFlinger->removeNotificationClient(mPid);
+    }
+}
+
+// ----------------------------------------------------------------------------
+
 AudioFlinger::TrackHandle::TrackHandle(const sp<AudioFlinger::PlaybackThread::Track>& track)
     : BnAudioTrack(),
       mTrack(track)
diff --git a/libs/audioflinger/AudioFlinger.h b/libs/audioflinger/AudioFlinger.h
index 739ec33..13aac8b 100644
--- a/libs/audioflinger/AudioFlinger.h
+++ b/libs/audioflinger/AudioFlinger.h
@@ -57,7 +57,7 @@
 
 static const nsecs_t kStandbyTimeInNsecs = seconds(3);
 
-class AudioFlinger : public BnAudioFlinger, public IBinder::DeathRecipient
+class AudioFlinger : public BnAudioFlinger
 {
 public:
     static void instantiate();
@@ -139,9 +139,6 @@
 
     virtual status_t getRenderPosition(uint32_t *halFrames, uint32_t *dspFrames, int output);
 
-    // IBinder::DeathRecipient
-    virtual     void        binderDied(const wp<IBinder>& who);
-
     enum hardware_call_state {
         AUDIO_HW_IDLE = 0,
         AUDIO_HW_INIT,
@@ -205,6 +202,27 @@
         pid_t               mPid;
     };
 
+    // --- Notification Client ---
+    class NotificationClient : public IBinder::DeathRecipient {
+    public:
+                            NotificationClient(const sp<AudioFlinger>& audioFlinger,
+                                                const sp<IAudioFlingerClient>& client,
+                                                pid_t pid);
+        virtual             ~NotificationClient();
+
+                sp<IAudioFlingerClient>    client() { return mClient; }
+
+                // IBinder::DeathRecipient
+                virtual     void        binderDied(const wp<IBinder>& who);
+
+    private:
+                            NotificationClient(const NotificationClient&);
+                            NotificationClient& operator = (const NotificationClient&);
+
+        sp<AudioFlinger>        mAudioFlinger;
+        pid_t                   mPid;
+        sp<IAudioFlingerClient> mClient;
+    };
 
     class TrackHandle;
     class RecordHandle;
@@ -685,6 +703,7 @@
 
 
                 void        removeClient_l(pid_t pid);
+                void        removeNotificationClient(pid_t pid);
 
 
     // record thread
@@ -796,8 +815,11 @@
 
                 DefaultKeyedVector< int, sp<RecordThread> >    mRecordThreads;
 
-                SortedVector< sp<IBinder> >         mNotificationClients;
+                DefaultKeyedVector< pid_t, sp<NotificationClient> >    mNotificationClients;
                 int                                 mNextThreadId;
+#ifdef LVMX
+                int mLifeVibesClientPid;
+#endif
 };
 
 // ----------------------------------------------------------------------------
diff --git a/libs/camera/CameraParameters.cpp b/libs/camera/CameraParameters.cpp
index d8f9c71..cfb7ba1 100644
--- a/libs/camera/CameraParameters.cpp
+++ b/libs/camera/CameraParameters.cpp
@@ -254,6 +254,11 @@
     return strtof(v, 0);
 }
 
+void CameraParameters::remove(const char *key)
+{
+    mMap.removeItem(String8(key));
+}
+
 static int parse_size(const char *str, int &width, int &height)
 {
     // Find the width.
diff --git a/libs/rs/Android.mk b/libs/rs/Android.mk
index 0b06022..f5cfe86 100644
--- a/libs/rs/Android.mk
+++ b/libs/rs/Android.mk
@@ -91,7 +91,7 @@
 	rsNoise.cpp \
 	rsProgram.cpp \
 	rsProgramFragment.cpp \
-	rsProgramFragmentStore.cpp \
+	rsProgramStore.cpp \
 	rsProgramRaster.cpp \
 	rsProgramVertex.cpp \
 	rsSampler.cpp \
@@ -106,7 +106,7 @@
 	rsVertexArray.cpp
 
 
-LOCAL_SHARED_LIBRARIES += libcutils libutils libEGL libGLESv1_CM libGLESv2 libui libacc
+LOCAL_SHARED_LIBRARIES += libcutils libutils libEGL libGLESv1_CM libGLESv2 libui libbcc
 LOCAL_LDLIBS := -lpthread -ldl
 LOCAL_MODULE:= libRS
 LOCAL_MODULE_TAGS := optional
diff --git a/libs/rs/RenderScript.h b/libs/rs/RenderScript.h
index 7415ba9..5e246ce 100644
--- a/libs/rs/RenderScript.h
+++ b/libs/rs/RenderScript.h
@@ -44,7 +44,7 @@
 typedef void * RsProgram;
 typedef void * RsProgramVertex;
 typedef void * RsProgramFragment;
-typedef void * RsProgramFragmentStore;
+typedef void * RsProgramStore;
 typedef void * RsProgramRaster;
 
 typedef void (* RsBitmapCallback_t)(void *);
diff --git a/libs/rs/RenderScriptEnv.h b/libs/rs/RenderScriptEnv.h
index 99b8c04..144e539 100644
--- a/libs/rs/RenderScriptEnv.h
+++ b/libs/rs/RenderScriptEnv.h
@@ -12,7 +12,7 @@
 typedef void * RsSimpleMesh;
 typedef void * RsType;
 typedef void * RsProgramFragment;
-typedef void * RsProgramFragmentStore;
+typedef void * RsProgramStore;
 typedef void * RsLight;
 
 
diff --git a/libs/rs/java/Film/src/com/android/film/FilmRS.java b/libs/rs/java/Film/src/com/android/film/FilmRS.java
index 7d04502..f45684c 100644
--- a/libs/rs/java/Film/src/com/android/film/FilmRS.java
+++ b/libs/rs/java/Film/src/com/android/film/FilmRS.java
@@ -217,8 +217,8 @@
 
         ScriptC.Builder sb = new ScriptC.Builder(mRS);
         sb.setScript(mRes, R.raw.filmstrip);
-        sb.setRoot(true);
-        sb.setType(mStripPositionType, "Pos", 1);
+        //sb.setRoot(true);
+        //sb.setType(mStripPositionType, "Pos", 1);
         mScriptStrip = sb.create();
         mScriptStrip.setClearColor(0.0f, 0.0f, 0.0f, 1.0f);
 
diff --git a/libs/rs/java/Fountain/res/raw/fountain.c b/libs/rs/java/Fountain/res/raw/fountain.c
deleted file mode 100644
index 73b819b..0000000
--- a/libs/rs/java/Fountain/res/raw/fountain.c
+++ /dev/null
@@ -1,52 +0,0 @@
-// Fountain test script
-#pragma version(1)
-
-int newPart = 0;
-
-int main(int launchID) {
-    int ct;
-    int count = Control->count;
-    int rate = Control->rate;
-    float height = getHeight();
-    struct point_s * p = (struct point_s *)point;
-
-    if (rate) {
-        float rMax = ((float)rate) * 0.005f;
-        int x = Control->x;
-        int y = Control->y;
-        int color = ((int)(Control->r * 255.f)) |
-                    ((int)(Control->g * 255.f)) << 8 |
-                    ((int)(Control->b * 255.f)) << 16 |
-                    (0xf0 << 24);
-        struct point_s * np = &p[newPart];
-
-        while (rate--) {
-            vec2Rand((float *)&np->delta.x, rMax);
-            np->position.x = x;
-            np->position.y = y;
-            np->color = color;
-            newPart++;
-            np++;
-            if (newPart >= count) {
-                newPart = 0;
-                np = &p[newPart];
-            }
-        }
-    }
-
-    for (ct=0; ct < count; ct++) {
-        float dy = p->delta.y + 0.15f;
-        float posy = p->position.y + dy;
-        if ((posy > height) && (dy > 0)) {
-            dy *= -0.3f;
-        }
-        p->delta.y = dy;
-        p->position.x += p->delta.x;
-        p->position.y = posy;
-        p++;
-    }
-
-    uploadToBufferObject(NAMED_PartBuffer);
-    drawSimpleMesh(NAMED_PartMesh);
-    return 1;
-}
diff --git a/libs/rs/java/Fountain/res/raw/fountain.rs b/libs/rs/java/Fountain/res/raw/fountain.rs
new file mode 100644
index 0000000..5562a77
--- /dev/null
+++ b/libs/rs/java/Fountain/res/raw/fountain.rs
@@ -0,0 +1,69 @@
+// Fountain test script
+#pragma version(1)
+
+#include "../../../../scriptc/rs_types.rsh"
+#include "../../../../scriptc/rs_math.rsh"
+#include "../../../../scriptc/rs_graphics.rsh"
+
+static int newPart = 0;
+
+float4 partColor;
+rs_mesh partMesh;
+rs_allocation partBuffer;
+
+typedef struct __attribute__((packed, aligned(4))) Point_s {
+    float2 delta;
+    rs_position2 pos;
+    rs_color4u color;
+} Point_t;
+Point_t *point;
+
+#pragma rs export_var(point, partColor, partMesh, partBuffer)
+//#pragma rs export_type(Point_s)
+//#pragma rs export_element(point)
+
+int root() {
+    debugPf(1, partColor.x);
+    debugPi(4, partMesh);
+    debugPi(5, partBuffer);
+
+    float height = getHeight();
+    int size = allocGetDimX(partBuffer);
+
+    Point_t * p = point;
+    for (int ct=0; ct < size; ct++) {
+        p->delta.y += 0.15f;
+        p->pos += p->delta;
+        if ((p->pos.y > height) && (p->delta.y > 0)) {
+            p->delta.y *= -0.3f;
+        }
+        p++;
+    }
+
+    uploadToBufferObject(partBuffer);
+    drawSimpleMesh(partMesh);
+    return 1;
+}
+
+void addParticles(int rate, int x, int y)
+{
+    float rMax = ((float)rate) * 0.005f;
+    int size = allocGetDimX(partBuffer);
+
+    rs_color4u c = convertColorTo8888(partColor.x, partColor.y, partColor.z);
+    Point_t * np = &point[newPart];
+
+    float2 p = {x, y};
+    while (rate--) {
+        np->delta = vec2Rand(rMax);
+        np->pos = p;
+        np->color = c;
+        newPart++;
+        np++;
+        if (newPart >= size) {
+            newPart = 0;
+            np = &point[newPart];
+        }
+    }
+}
+
diff --git a/libs/rs/java/Fountain/res/raw/fountain2.rs b/libs/rs/java/Fountain/res/raw/fountain2.rs
deleted file mode 100644
index 5d36e35..0000000
--- a/libs/rs/java/Fountain/res/raw/fountain2.rs
+++ /dev/null
@@ -1,73 +0,0 @@
-// Fountain test script
-#pragma version(1)
-
-#include "../../../../scriptc/rs_types.rsh"
-#include "../../../../scriptc/rs_math.rsh"
-#include "../../../../scriptc/rs_graphics.rsh"
-
-static int newPart = 0;
-
-typedef struct Control_s {
-    int x, y;
-    int rate;
-    int count;
-    float r, g, b;
-    rs_mesh partMesh;
-    rs_allocation partBuffer;
-} Control_t;
-Control_t *Control;
-
-typedef struct Point_s{
-    float2 delta;
-    rs_position2 pos;
-    rs_color4u color;
-} Point_t;
-Point_t *point;
-
-int main(int launchID) {
-    int ct;
-    int count = Control->count;
-    int rate = Control->rate;
-    float height = getHeight();
-    Point_t * p = point;
-
-    if (rate) {
-        float rMax = ((float)rate) * 0.005f;
-        int color = ((int)(Control->r * 255.f)) |
-                    ((int)(Control->g * 255.f)) << 8 |
-                    ((int)(Control->b * 255.f)) << 16 |
-                    (0xf0 << 24);
-        Point_t * np = &p[newPart];
-
-        while (rate--) {
-            np->delta.x = rand(rMax);
-            np->delta.y = rand(rMax);
-            //np->delta = vec2Rand(rMax);
-            np->pos.x = Control->x;
-            np->pos.y = Control->y;
-            np->color = color;
-            newPart++;
-            np++;
-            if (newPart >= count) {
-                newPart = 0;
-                np = &p[newPart];
-            }
-        }
-    }
-
-    for (ct=0; ct < count; ct++) {
-        float dy = p->delta.y + 0.15f;
-        float posy = p->pos.y + dy;
-        if ((posy > height) && (dy > 0)) {
-            dy *= -0.3f;
-        }
-        p->delta.y = dy;
-        p->pos.x += p->delta.x;
-        p->pos.y = posy;
-        p++;
-    }
-
-    uploadToBufferObject(Control->partBuffer);
-    drawSimpleMesh(Control->partMesh);
-    return 1;
-}
diff --git a/libs/rs/java/Fountain/res/raw/fountain_bc.bc b/libs/rs/java/Fountain/res/raw/fountain_bc.bc
new file mode 100644
index 0000000..f147068
--- /dev/null
+++ b/libs/rs/java/Fountain/res/raw/fountain_bc.bc
Binary files differ
diff --git a/libs/rs/java/Fountain/src/com/android/fountain/FountainRS.java b/libs/rs/java/Fountain/src/com/android/fountain/FountainRS.java
index 9356579..d193134 100644
--- a/libs/rs/java/Fountain/src/com/android/fountain/FountainRS.java
+++ b/libs/rs/java/Fountain/src/com/android/fountain/FountainRS.java
@@ -24,16 +24,6 @@
 public class FountainRS {
     public static final int PART_COUNT = 20000;
 
-    static class SomeData {
-        public int x;
-        public int y;
-        public int rate;
-        public int count;
-        public float r;
-        public float g;
-        public float b;
-    }
-
     public FountainRS() {
     }
 
@@ -43,21 +33,28 @@
         initRS();
     }
 
+    Float4 tmpColor = new Float4();
+    boolean holdingColor = false;
     public void newTouchPosition(int x, int y, int rate) {
-        if (mSD.rate == 0) {
-            mSD.r = ((x & 0x1) != 0) ? 0.f : 1.f;
-            mSD.g = ((x & 0x2) != 0) ? 0.f : 1.f;
-            mSD.b = ((x & 0x4) != 0) ? 0.f : 1.f;
-            if ((mSD.r + mSD.g + mSD.b) < 0.9f) {
-                mSD.r = 0.8f;
-                mSD.g = 0.5f;
-                mSD.b = 1.f;
+        if (rate > 0) {
+            if (true/*!holdingColor*/) {
+                tmpColor.x = ((x & 0x1) != 0) ? 0.f : 1.f;
+                tmpColor.y = ((x & 0x2) != 0) ? 0.f : 1.f;
+                tmpColor.z = ((x & 0x4) != 0) ? 0.f : 1.f;
+                if ((tmpColor.x + tmpColor.y + tmpColor.z) < 0.9f) {
+                    tmpColor.x = 0.8f;
+                    tmpColor.y = 0.5f;
+                    tmpColor.z = 1.0f;
+                }
+                android.util.Log.e("rs", "set color " + tmpColor.x + ", " + tmpColor.y + ", " + tmpColor.z);
+                mScript.set_partColor(tmpColor);
             }
+            mScript.invokable_addParticles(rate, x, y);
+            holdingColor = true;
+        } else {
+            holdingColor = false;
         }
-        mSD.rate = rate;
-        mSD.x = x;
-        mSD.y = y;
-        mIntAlloc.data(mSD);
+
     }
 
 
@@ -65,49 +62,26 @@
 
     private Resources mRes;
 
+    private ScriptField_Point mPoints;
+    private ScriptC_Fountain mScript;
     private RenderScriptGL mRS;
-    private Allocation mIntAlloc;
     private SimpleMesh mSM;
-    private SomeData mSD;
-    private Type mSDType;
 
     private void initRS() {
-        mSD = new SomeData();
-        mSDType = Type.createFromClass(mRS, SomeData.class, 1, "SomeData");
-        mIntAlloc = Allocation.createTyped(mRS, mSDType);
-        mSD.count = PART_COUNT;
-        mIntAlloc.data(mSD);
-
-        Element.Builder eb = new Element.Builder(mRS);
-        eb.add(Element.createVector(mRS, Element.DataType.FLOAT_32, 2), "delta");
-        eb.add(Element.createAttrib(mRS, Element.DataType.FLOAT_32, Element.DataKind.POSITION, 2), "position");
-        eb.add(Element.createAttrib(mRS, Element.DataType.UNSIGNED_8, Element.DataKind.COLOR, 4), "color");
-        Element primElement = eb.create();
-
+        mPoints = new ScriptField_Point(mRS, PART_COUNT);
 
         SimpleMesh.Builder smb = new SimpleMesh.Builder(mRS);
-        int vtxSlot = smb.addVertexType(primElement, PART_COUNT);
+        int vtxSlot = smb.addVertexType(mPoints.getType());
         smb.setPrimitive(Primitive.POINT);
         mSM = smb.create();
-        mSM.setName("PartMesh");
+        mSM.bindVertexAllocation(mPoints.getAllocation(), vtxSlot);
 
-        Allocation partAlloc = mSM.createVertexAllocation(vtxSlot);
-        partAlloc.setName("PartBuffer");
-        mSM.bindVertexAllocation(partAlloc, 0);
-
-        // All setup of named objects should be done by this point
-        // because we are about to compile the script.
-        ScriptC.Builder sb = new ScriptC.Builder(mRS);
-        sb.setScript(mRes, R.raw.fountain);
-        sb.setRoot(true);
-        sb.setType(mSDType, "Control", 0);
-        sb.setType(mSM.getVertexType(0), "point", 1);
-        Script script = sb.create();
-        script.setClearColor(0.0f, 0.0f, 0.0f, 1.0f);
-
-        script.bindAllocation(mIntAlloc, 0);
-        script.bindAllocation(partAlloc, 1);
-        mRS.contextBindRootScript(script);
+        mScript = new ScriptC_Fountain(mRS, mRes, true);
+        mScript.setClearColor(0.0f, 0.0f, 0.0f, 1.0f);
+        mScript.set_partMesh(mSM);
+        mScript.set_partBuffer(mPoints.getAllocation());
+        mScript.bind_point(mPoints);
+        mRS.contextBindRootScript(mScript);
     }
 
 }
diff --git a/libs/rs/java/Fountain/src/com/android/fountain/ScriptC_Fountain.java b/libs/rs/java/Fountain/src/com/android/fountain/ScriptC_Fountain.java
new file mode 100644
index 0000000..7cff390
--- /dev/null
+++ b/libs/rs/java/Fountain/src/com/android/fountain/ScriptC_Fountain.java
@@ -0,0 +1,49 @@
+
+package com.android.fountain;
+
+import android.content.res.Resources;
+import android.renderscript.*;
+import android.util.Log;
+
+public class ScriptC_Fountain
+    extends android.renderscript.ScriptC
+{
+    public ScriptC_Fountain(RenderScript rs, Resources resources, boolean isRoot) {
+        super(rs, resources, R.raw.fountain_bc, isRoot);
+    }
+
+    public void set_partColor(Float4 v) {
+        FieldPacker fp = new FieldPacker(16);
+        fp.addF32(v);
+        setVar(0, fp);
+    }
+    public void set_partMesh(SimpleMesh v) {
+        setVar(1, v.getID());
+    }
+    public void set_partBuffer(Allocation v) {
+        setVar(2, v.getID());
+    }
+
+    private ScriptField_Point mField_point;
+    public void bind_point(ScriptField_Point f) {
+        mField_point = f;
+        if (f == null) {
+            bindAllocation(null, 3);
+        } else {
+            bindAllocation(f.getAllocation(), 3);
+        }
+    }
+    public ScriptField_Point get_point() {
+        return mField_point;
+    }
+
+
+    public void invokable_addParticles(int count, int x, int y) {
+        FieldPacker fp = new FieldPacker(12);
+        fp.addI32(count);
+        fp.addI32(x);
+        fp.addI32(y);
+        invokeV(0, fp);
+    }
+}
+
diff --git a/libs/rs/java/Fountain/src/com/android/fountain/ScriptField_Point.java b/libs/rs/java/Fountain/src/com/android/fountain/ScriptField_Point.java
new file mode 100644
index 0000000..edd18d5
--- /dev/null
+++ b/libs/rs/java/Fountain/src/com/android/fountain/ScriptField_Point.java
@@ -0,0 +1,67 @@
+
+package com.android.fountain;
+
+import android.content.res.Resources;
+import android.renderscript.*;
+import android.util.Log;
+
+public class ScriptField_Point
+    extends android.renderscript.Script.FieldBase
+{
+
+    static public class Item {
+        Item() {
+            delta = new Float2();
+            pos = new Float2();
+            color = new Short4();
+        }
+
+        public static final int sizeof = (5*4);
+        Float2 delta;
+        Float2 pos;
+        Short4 color;
+    }
+    private Item mItemArray[];
+
+
+    public ScriptField_Point(RenderScript rs, int count) {
+        // Allocate a pack/unpack buffer
+        mIOBuffer = new FieldPacker(Item.sizeof * count);
+        mItemArray = new Item[count];
+
+        Element.Builder eb = new Element.Builder(rs);
+        eb.add(Element.createVector(rs, Element.DataType.FLOAT_32, 2), "delta");
+        eb.add(Element.createAttrib(rs, Element.DataType.FLOAT_32, Element.DataKind.POSITION, 2), "pos");
+        eb.add(Element.createAttrib(rs, Element.DataType.UNSIGNED_8, Element.DataKind.COLOR, 4), "color");
+        mElement = eb.create();
+
+        init(rs, count);
+    }
+
+    private void copyToArray(Item i, int index) {
+        mIOBuffer.reset(index * Item.sizeof);
+        mIOBuffer.addF32(i.delta);
+        mIOBuffer.addF32(i.pos);
+        mIOBuffer.addU8(i.color);
+    }
+
+    public void set(Item i, int index, boolean copyNow) {
+        mItemArray[index] = i;
+        if (copyNow) {
+            copyToArray(i, index);
+            mAllocation.subData1D(index * Item.sizeof, Item.sizeof, mIOBuffer.getData());
+        }
+    }
+
+    public void copyAll() {
+        for (int ct=0; ct < mItemArray.length; ct++) {
+            copyToArray(mItemArray[ct], ct);
+        }
+        mAllocation.data(mIOBuffer.getData());
+    }
+
+
+    private FieldPacker mIOBuffer;
+
+
+}
diff --git a/libs/rs/java/ImageProcessing/res/raw/threshold.rs b/libs/rs/java/ImageProcessing/res/raw/threshold.rs
index 888f0cd..8dc614e 100644
--- a/libs/rs/java/ImageProcessing/res/raw/threshold.rs
+++ b/libs/rs/java/ImageProcessing/res/raw/threshold.rs
@@ -1,62 +1,49 @@
-/*
-// block of defines matching what RS will insert at runtime.
-struct Params_s{
-    int inHeight;
-    int inWidth;
-    int outHeight;
-    int outWidth;
-    float threshold;
-};
-struct Params_s * Params;
-struct InPixel_s{
-    char a;
-    char b;
-    char g;
-    char r;
-};
-struct InPixel_s * InPixel;
-struct OutPixel_s{
-    char a;
-    char b;
-    char g;
-    char r;
-};
-struct OutPixel_s * OutPixel;
-*/
+#pragma version(1)
 
-struct color_s {
-    char b;
-    char g;
-    char r;
-    char a;
-};
+#include "../../../../scriptc/rs_types.rsh"
+#include "../../../../scriptc/rs_math.rsh"
+#include "../../../../scriptc/rs_graphics.rsh"
 
-void main() {
-    int t = uptimeMillis();
+int height;
+int width;
+float threshold;
 
-    struct color_s *in = (struct color_s *) InPixel;
-    struct color_s *out = (struct color_s *) OutPixel;
+typedef struct c4u_s {
+    char r, g, b, a;
+} c4u_t;
 
-    int count = Params->inWidth * Params->inHeight;
-    int i;
-    float threshold = (Params->threshold * 255.f);
+//rs_color4u * InPixel;
+//rs_color4u * OutPixel;
+c4u_t * InPixel;
+c4u_t * OutPixel;
 
-    for (i = 0; i < count; i++) {
-        float luminance = 0.2125f * in->r +
-                          0.7154f * in->g +
-                          0.0721f * in->b;
-        if (luminance > threshold) {
-            *out = *in;
-        } else {
-            *((int *)out) = *((int *)in) & 0xff000000;
-        }
+#pragma rs export_var(height, width, threshold, InPixel, OutPixel)
 
+void filter() {
+    debugP(0, (void *)height);
+    debugP(0, (void *)width);
+    debugP(0, (void *)((int)threshold));
+    debugP(0, (void *)InPixel);
+    debugP(0, (void *)OutPixel);
+
+    rs_color4u *in = (rs_color4u *)InPixel;
+    rs_color4u *out = (rs_color4u *)OutPixel;
+    //const rs_color4u mask = {0,0,0,0xff};
+
+    int count = width * height;
+    int tf = threshold * 255 * 255;
+    int masks[2] = {0xffffffff, 0xff000000};
+
+    while (count--) {
+        int luminance = 54 * in->x +
+                        182 * in->y +
+                        18 * in->z;
+        int idx = ((uint32_t)(luminance - tf)) >> 31;
+        *((int *)out) = *((int *)in) & masks[idx];
         in++;
         out++;
     }
 
-    t= uptimeMillis() - t;
-    debugI32("Filter time", t);
-
     sendToClient(&count, 1, 4, 0);
 }
+
diff --git a/libs/rs/java/ImageProcessing/res/raw/threshold2.rs b/libs/rs/java/ImageProcessing/res/raw/threshold2.rs
deleted file mode 100644
index 9f687b5..0000000
--- a/libs/rs/java/ImageProcessing/res/raw/threshold2.rs
+++ /dev/null
@@ -1,49 +0,0 @@
-#pragma version(1)
-
-#include "../../../../scriptc/rs_types.rsh"
-#include "../../../../scriptc/rs_math.rsh"
-#include "../../../../scriptc/rs_graphics.rsh"
-
-typedef struct Params_s{
-    int inHeight;
-    int inWidth;
-    int outHeight;
-    int outWidth;
-    float threshold;
-} Params_t;
-
-Params_t * Params;
-rs_color4u * InPixel;
-rs_color4u * OutPixel;
-
-
-int main() {
-    int t = uptimeMillis();
-
-    rs_color4u *in = InPixel;
-    rs_color4u *out = OutPixel;
-
-    int count = Params->inWidth * Params->inHeight;
-    int i;
-    float threshold = Params->threshold * 255.f;
-
-    for (i = 0; i < count; i++) {
-        float luminance = 0.2125f * in->x +
-                          0.7154f * in->y +
-                          0.0721f * in->z;
-        if (luminance > threshold) {
-            *out = *in;
-        } else {
-            *((int *)out) = *((int *)in) & 0xff000000;
-        }
-
-        in++;
-        out++;
-    }
-
-    t= uptimeMillis() - t;
-    debugI32("Filter time", t);
-
-    sendToClient(&count, 1, 4, 0);
-    return 0;
-}
diff --git a/libs/rs/java/ImageProcessing/res/raw/threshold_bc.bc b/libs/rs/java/ImageProcessing/res/raw/threshold_bc.bc
new file mode 100644
index 0000000..55d514c
--- /dev/null
+++ b/libs/rs/java/ImageProcessing/res/raw/threshold_bc.bc
Binary files differ
diff --git a/libs/rs/java/ImageProcessing/src/com/android/rs/image/ImageProcessingActivity.java b/libs/rs/java/ImageProcessing/src/com/android/rs/image/ImageProcessingActivity.java
index 9ce53d8..aec5e23 100644
--- a/libs/rs/java/ImageProcessing/src/com/android/rs/image/ImageProcessingActivity.java
+++ b/libs/rs/java/ImageProcessing/src/com/android/rs/image/ImageProcessingActivity.java
@@ -34,19 +34,14 @@
 import java.lang.Math;
 
 public class ImageProcessingActivity extends Activity implements SurfaceHolder.Callback {
-    private Bitmap mBitmap;
-    private Params mParams;
-    private Script.Invokable mInvokable;
-    private int[] mInData;
-    private int[] mOutData;
+    private Bitmap mBitmapIn;
+    private Bitmap mBitmapOut;
+    private ScriptC_Threshold mScript;
+    private float mThreshold = 0.5f;
 
     @SuppressWarnings({"FieldCanBeLocal"})
     private RenderScript mRS;
     @SuppressWarnings({"FieldCanBeLocal"})
-    private Type mParamsType;
-    @SuppressWarnings({"FieldCanBeLocal"})
-    private Allocation mParamsAllocation;
-    @SuppressWarnings({"FieldCanBeLocal"})
     private Type mPixelType;
     @SuppressWarnings({"FieldCanBeLocal"})
     private Allocation mInPixelsAllocation;
@@ -56,28 +51,9 @@
     private SurfaceView mSurfaceView;
     private ImageView mDisplayView;
 
-    static class Params {
-        public int inWidth;
-        public int outWidth;
-        public int inHeight;
-        public int outHeight;
-
-        public float threshold;
-    }
-
-    static class Pixel {
-        public byte a;
-        public byte r;
-        public byte g;
-        public byte b;
-    }
-
     class FilterCallback extends RenderScript.RSMessage {
         private Runnable mAction = new Runnable() {
             public void run() {
-                mOutPixelsAllocation.readData(mOutData);
-                mBitmap.setPixels(mOutData, 0, mParams.outWidth, 0, 0,
-                        mParams.outWidth, mParams.outHeight);
                 mDisplayView.invalidate();
             }
         };
@@ -89,29 +65,35 @@
         }
     }
 
+    int in[];
+    int out[];
     private void javaFilter() {
-        long t = java.lang.System.currentTimeMillis();
-        int count = mParams.inWidth * mParams.inHeight;
-        float threshold = mParams.threshold * 255.f;
+        final int w = mBitmapIn.getWidth();
+        final int h = mBitmapIn.getHeight();
+        final int count = w * h;
 
-        for (int i = 0; i < count; i++) {
-            final float r = (float)((mInData[i] >> 0) & 0xff);
-            final float g = (float)((mInData[i] >> 8) & 0xff);
-            final float b = (float)((mInData[i] >> 16) & 0xff);
-
-            final float luminance = 0.2125f * r +
-                              0.7154f * g +
-                              0.0721f * b;
-            if (luminance > threshold) {
-                mOutData[i] = mInData[i];
-            } else {
-                mOutData[i] = mInData[i] & 0xff000000;
-            }
+        if (in == null) {
+            in = new int[count];
+            out = new int[count];
+            mBitmapIn.getPixels(in, 0, w, 0, 0, w, h);
         }
 
-        t = java.lang.System.currentTimeMillis() - t;
+        int threshold = (int)(mThreshold * 255.f) * 255;
+        //long t = java.lang.System.currentTimeMillis();
 
-        android.util.Log.v("Img", "frame time ms " + t);
+        for (int i = 0; i < count; i++) {
+            final int luminance = 54 * ((in[i] >> 0) & 0xff) +
+                                  182* ((in[i] >> 8) & 0xff) +
+                                  18 * ((in[i] >> 16) & 0xff);
+            if (luminance > threshold) {
+                out[i] = in[i];
+            } else {
+                out[i] = in[i] & 0xff000000;
+            }
+        }
+        //t = java.lang.System.currentTimeMillis() - t;
+        //android.util.Log.v("Img", "frame time ms " + t);
+        mBitmapOut.setPixels(out, 0, w, 0, 0, w, h);
     }
 
     @Override
@@ -119,29 +101,31 @@
         super.onCreate(savedInstanceState);
         setContentView(R.layout.main);
 
-        mBitmap = loadBitmap(R.drawable.data);
+        mBitmapIn = loadBitmap(R.drawable.data);
+        mBitmapOut = loadBitmap(R.drawable.data);
 
         mSurfaceView = (SurfaceView) findViewById(R.id.surface);
         mSurfaceView.getHolder().addCallback(this);
 
         mDisplayView = (ImageView) findViewById(R.id.display);
-        mDisplayView.setImageBitmap(mBitmap);
+        mDisplayView.setImageBitmap(mBitmapOut);
 
         ((SeekBar) findViewById(R.id.threshold)).setOnSeekBarChangeListener(
                 new SeekBar.OnSeekBarChangeListener() {
             public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                 if (fromUser) {
-                    mParams.threshold = progress / 100.0f;
-                    mParamsAllocation.data(mParams);
+                    mThreshold = progress / 100.0f;
+                    mScript.set_threshold(mThreshold);
 
+                    long t = java.lang.System.currentTimeMillis();
                     if (true) {
-                        mInvokable.execute();
+                        mScript.invokable_Filter();
                     } else {
                         javaFilter();
-                        mBitmap.setPixels(mOutData, 0, mParams.outWidth, 0, 0,
-                                mParams.outWidth, mParams.outHeight);
                         mDisplayView.invalidate();
                     }
+                    t = java.lang.System.currentTimeMillis() - t;
+                    android.util.Log.v("Img", "frame time core ms " + t);
                 }
             }
 
@@ -154,10 +138,8 @@
     }
 
     public void surfaceCreated(SurfaceHolder holder) {
-        mParams = createParams();
-        mInvokable = createScript();
-
-        mInvokable.execute();
+        createScript();
+        mScript.invokable_Filter();
     }
 
     public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
@@ -166,54 +148,19 @@
     public void surfaceDestroyed(SurfaceHolder holder) {
     }
 
-    private Script.Invokable createScript() {
+    private void createScript() {
         mRS = RenderScript.create();
         mRS.mMessageCallback = new FilterCallback();
 
-        mParamsType = Type.createFromClass(mRS, Params.class, 1, "Parameters");
-        mParamsAllocation = Allocation.createTyped(mRS, mParamsType);
-        mParamsAllocation.data(mParams);
+        mInPixelsAllocation = Allocation.createBitmapRef(mRS, mBitmapIn);
+        mOutPixelsAllocation = Allocation.createBitmapRef(mRS, mBitmapOut);
 
-        final int pixelCount = mParams.inWidth * mParams.inHeight;
-
-        mPixelType = Type.createFromClass(mRS, Pixel.class, 1, "Pixel");
-        mInPixelsAllocation = Allocation.createSized(mRS,
-                Element.createUser(mRS, Element.DataType.SIGNED_32),
-                pixelCount);
-        mOutPixelsAllocation = Allocation.createSized(mRS,
-                Element.createUser(mRS, Element.DataType.SIGNED_32),
-                pixelCount);
-
-        mInData = new int[pixelCount];
-        mBitmap.getPixels(mInData, 0, mParams.inWidth, 0, 0, mParams.inWidth, mParams.inHeight);
-        mInPixelsAllocation.data(mInData);
-
-        mOutData = new int[pixelCount];
-        mOutPixelsAllocation.data(mOutData);
-
-        ScriptC.Builder sb = new ScriptC.Builder(mRS);
-        sb.setType(mParamsType, "Params", 0);
-        sb.setType(mPixelType, "InPixel", 1);
-        sb.setType(mPixelType, "OutPixel", 2);
-        sb.setType(true, 2);
-        Script.Invokable invokable = sb.addInvokable("main");
-        sb.setScript(getResources(), R.raw.threshold);
-        //sb.setRoot(true);
-
-        ScriptC script = sb.create();
-        script.bindAllocation(mParamsAllocation, 0);
-        script.bindAllocation(mInPixelsAllocation, 1);
-        script.bindAllocation(mOutPixelsAllocation, 2);
-
-        return invokable;
-    }
-
-    private Params createParams() {
-        final Params params = new Params();
-        params.inWidth = params.outWidth = mBitmap.getWidth();
-        params.inHeight = params.outHeight = mBitmap.getHeight();
-        params.threshold = 0.5f;
-        return params;
+        mScript = new ScriptC_Threshold(mRS, getResources(), false);
+        mScript.set_width(mBitmapIn.getWidth());
+        mScript.set_height(mBitmapIn.getHeight());
+        mScript.set_threshold(mThreshold);
+        mScript.bind_InPixel(mInPixelsAllocation);
+        mScript.bind_OutPixel(mOutPixelsAllocation);
     }
 
     private Bitmap loadBitmap(int resource) {
diff --git a/libs/rs/java/ImageProcessing/src/com/android/rs/image/ScriptC_Threshold.java b/libs/rs/java/ImageProcessing/src/com/android/rs/image/ScriptC_Threshold.java
new file mode 100644
index 0000000..dbaa18c
--- /dev/null
+++ b/libs/rs/java/ImageProcessing/src/com/android/rs/image/ScriptC_Threshold.java
@@ -0,0 +1,67 @@
+
+package com.android.rs.image;
+
+import android.content.res.Resources;
+import android.renderscript.*;
+import android.util.Log;
+
+public class ScriptC_Threshold
+    extends android.renderscript.ScriptC
+{
+    private final static int mFieldIndex_height = 0;
+    private final static int mFieldIndex_width = 1;
+    private final static int mFieldIndex_threshold = 2;
+    private final static int mFieldIndex_InPixel = 3;
+    private final static int mFieldIndex_OutPixel = 4;
+
+    private Allocation mField_InPixel;
+    private Allocation mField_OutPixel;
+
+    public ScriptC_Threshold(RenderScript rs, Resources resources, boolean isRoot) {
+        super(rs, resources, R.raw.threshold_bc, isRoot);
+    }
+
+    public void bind_InPixel(Allocation f) {
+        if (f != null) {
+            //if (f.getType().getElement() != Element.ATTRIB_COLOR_U8_4(mRS)) {
+                //throw new IllegalArgumentException("Element type mismatch.");
+            //}
+        }
+        bindAllocation(f, mFieldIndex_InPixel);
+        mField_InPixel = f;
+    }
+    public Allocation get_InPixel() {
+        return mField_InPixel;
+    }
+
+    public void bind_OutPixel(Allocation f) {
+        if (f != null) {
+            //if (f.getType().getElement() != Element.ATTRIB_COLOR_U8_4(mRS)) {
+                //throw new IllegalArgumentException("Element type mismatch.");
+            //}
+        }
+        bindAllocation(f, mFieldIndex_OutPixel);
+        mField_OutPixel = f;
+    }
+    public Allocation get_OutPixel() {
+        return mField_OutPixel;
+    }
+
+    public void set_height(int v) {
+        setVar(mFieldIndex_height, v);
+    }
+
+    public void set_width(int v) {
+        setVar(mFieldIndex_width, v);
+    }
+
+    public void set_threshold(float v) {
+        setVar(mFieldIndex_threshold, v);
+    }
+
+    private final static int mInvokableIndex_Filter = 0;
+    public void invokable_Filter() {
+        invokeData(mInvokableIndex_Filter);
+    }
+}
+
diff --git a/libs/rs/rs.spec b/libs/rs/rs.spec
index 08aa369..9c57e66 100644
--- a/libs/rs/rs.spec
+++ b/libs/rs/rs.spec
@@ -4,8 +4,8 @@
 	param RsScript sampler
 	}
 
-ContextBindProgramFragmentStore {
-	param RsProgramFragmentStore pgm
+ContextBindProgramStore {
+	param RsProgramStore pgm
 	}
 
 ContextBindProgramFragment {
@@ -272,27 +272,51 @@
 	param uint32_t stencil
 	}
 
-ScriptSetType {
-	param RsType type
-	param uint32_t slot
-	param bool isWritable
-	param const char * name
-	}
-
-ScriptSetInvoke {
-	param const char * name
-	param uint32_t slot
-	}
 
 ScriptInvoke {
 	param RsScript s
 	param uint32_t slot
 	}
 
+ScriptInvokeData {
+	param RsScript s
+	param uint32_t slot
+	param void * data
+	}
+
+ScriptInvokeV {
+	param RsScript s
+	param uint32_t slot
+	param const void * data
+	param uint32_t dataLen
+	handcodeApi
+	togglePlay
+	}
+
 ScriptSetRoot {
 	param bool isRoot
 	}
 
+ScriptSetVarI {
+	param RsScript s
+	param uint32_t slot
+	param int value
+	}
+
+ScriptSetVarF {
+	param RsScript s
+	param uint32_t slot
+	param float value
+	}
+
+ScriptSetVarV {
+	param RsScript s
+	param uint32_t slot
+	param const void * data
+	param uint32_t dataLen
+	handcodeApi
+	togglePlay
+	}
 
 
 ScriptCSetScript {
@@ -318,37 +342,37 @@
     param int32_t value
     }
 
-ProgramFragmentStoreBegin {
+ProgramStoreBegin {
 	param RsElement in
 	param RsElement out
 	}
 
-ProgramFragmentStoreColorMask {
+ProgramStoreColorMask {
 	param bool r
 	param bool g
 	param bool b
 	param bool a
 	}
 
-ProgramFragmentStoreBlendFunc {
+ProgramStoreBlendFunc {
 	param RsBlendSrcFunc srcFunc
 	param RsBlendDstFunc destFunc
 	}
 
-ProgramFragmentStoreDepthMask {
+ProgramStoreDepthMask {
 	param bool enable
 }
 
-ProgramFragmentStoreDither {
+ProgramStoreDither {
 	param bool enable
 }
 
-ProgramFragmentStoreDepthFunc {
+ProgramStoreDepthFunc {
 	param RsDepthFunc func
 }
 
-ProgramFragmentStoreCreate {
-	ret RsProgramFragmentStore
+ProgramStoreCreate {
+	ret RsProgramStore
 	}
 
 ProgramRasterCreate {
diff --git a/libs/rs/rsContext.cpp b/libs/rs/rsContext.cpp
index 4107229..f802a7f 100644
--- a/libs/rs/rsContext.cpp
+++ b/libs/rs/rsContext.cpp
@@ -131,7 +131,7 @@
 {
     ObjectBaseRef<ProgramFragment> frag(mFragment);
     ObjectBaseRef<ProgramVertex> vtx(mVertex);
-    ObjectBaseRef<ProgramFragmentStore> store(mFragmentStore);
+    ObjectBaseRef<ProgramStore> store(mFragmentStore);
     ObjectBaseRef<ProgramRaster> raster(mRaster);
 
     uint32_t ret = s->run(this, launchID);
@@ -154,7 +154,6 @@
 uint32_t Context::runRootScript()
 {
     timerSet(RS_TIMER_CLEAR_SWAP);
-    rsAssert(mRootScript->mEnviroment.mIsRoot);
 
     eglQuerySurface(mEGL.mDisplay, mEGL.mSurface, EGL_WIDTH, &mEGL.mWidth);
     eglQuerySurface(mEGL.mDisplay, mEGL.mSurface, EGL_HEIGHT, &mEGL.mHeight);
@@ -583,7 +582,7 @@
     mRootScript.set(s);
 }
 
-void Context::setFragmentStore(ProgramFragmentStore *pfs)
+void Context::setFragmentStore(ProgramStore *pfs)
 {
     rsAssert(mIsGraphicsContext);
     if (pfs == NULL) {
@@ -640,28 +639,6 @@
     }
 }
 
-ObjectBase * Context::lookupName(const char *name) const
-{
-    for(size_t ct=0; ct < mNames.size(); ct++) {
-        if (!strcmp(name, mNames[ct]->getName())) {
-            return mNames[ct];
-        }
-    }
-    return NULL;
-}
-
-void Context::appendNameDefines(String8 *str) const
-{
-    char buf[256];
-    for (size_t ct=0; ct < mNames.size(); ct++) {
-        str->append("#define NAMED_");
-        str->append(mNames[ct]->getName());
-        str->append(" ");
-        sprintf(buf, "%i\n", (int)mNames[ct]);
-        str->append(buf);
-    }
-}
-
 bool Context::objDestroyOOBInit()
 {
     if (!mObjDestroy.mMutex.init()) {
@@ -829,9 +806,9 @@
     s->bindToContext(&rsc->mStateSampler, slot);
 }
 
-void rsi_ContextBindProgramFragmentStore(Context *rsc, RsProgramFragmentStore vpfs)
+void rsi_ContextBindProgramStore(Context *rsc, RsProgramStore vpfs)
 {
-    ProgramFragmentStore *pfs = static_cast<ProgramFragmentStore *>(vpfs);
+    ProgramStore *pfs = static_cast<ProgramStore *>(vpfs);
     rsc->setFragmentStore(pfs);
 }
 
diff --git a/libs/rs/rsContext.h b/libs/rs/rsContext.h
index 8e755a9..c8f0be5 100644
--- a/libs/rs/rsContext.h
+++ b/libs/rs/rsContext.h
@@ -33,7 +33,7 @@
 #include "rsSampler.h"
 #include "rsLight.h"
 #include "rsProgramFragment.h"
-#include "rsProgramFragmentStore.h"
+#include "rsProgramStore.h"
 #include "rsProgramRaster.h"
 #include "rsProgramVertex.h"
 #include "rsShaderCache.h"
@@ -71,7 +71,7 @@
     TypeState mStateType;
     SamplerState mStateSampler;
     ProgramFragmentState mStateFragment;
-    ProgramFragmentStoreState mStateFragmentStore;
+    ProgramStoreState mStateFragmentStore;
     ProgramRasterState mStateRaster;
     ProgramVertexState mStateVertex;
     LightState mStateLight;
@@ -85,12 +85,12 @@
     void setRaster(ProgramRaster *);
     void setVertex(ProgramVertex *);
     void setFragment(ProgramFragment *);
-    void setFragmentStore(ProgramFragmentStore *);
+    void setFragmentStore(ProgramStore *);
 
     void updateSurface(void *sur);
 
     const ProgramFragment * getFragment() {return mFragment.get();}
-    const ProgramFragmentStore * getFragmentStore() {return mFragmentStore.get();}
+    const ProgramStore * getFragmentStore() {return mFragmentStore.get();}
     const ProgramRaster * getRaster() {return mRaster.get();}
     const ProgramVertex * getVertex() {return mVertex.get();}
 
@@ -104,8 +104,6 @@
 
     void assignName(ObjectBase *obj, const char *name, uint32_t len);
     void removeName(ObjectBase *obj);
-    ObjectBase * lookupName(const char *name) const;
-    void appendNameDefines(String8 *str) const;
 
     uint32_t getMessageToClient(void *data, size_t *receiveLen, size_t bufferLen, bool wait);
     bool sendMessageToClient(void *data, uint32_t cmdID, size_t len, bool waitForSpace);
@@ -120,7 +118,7 @@
     ProgramVertex * getDefaultProgramVertex() const {
         return mStateVertex.mDefault.get();
     }
-    ProgramFragmentStore * getDefaultProgramFragmentStore() const {
+    ProgramStore * getDefaultProgramStore() const {
         return mStateFragmentStore.mDefault.get();
     }
     ProgramRaster * getDefaultProgramRaster() const {
@@ -223,7 +221,7 @@
     ObjectBaseRef<Script> mRootScript;
     ObjectBaseRef<ProgramFragment> mFragment;
     ObjectBaseRef<ProgramVertex> mVertex;
-    ObjectBaseRef<ProgramFragmentStore> mFragmentStore;
+    ObjectBaseRef<ProgramStore> mFragmentStore;
     ObjectBaseRef<ProgramRaster> mRaster;
 
 
diff --git a/libs/rs/rsHandcode.h b/libs/rs/rsHandcode.h
index 800eddd..f6e56ac 100644
--- a/libs/rs/rsHandcode.h
+++ b/libs/rs/rsHandcode.h
@@ -1,6 +1,49 @@
 
 #define DATA_SYNC_SIZE 1024
 
+static inline void rsHCAPI_ScriptInvokeV (RsContext rsc, RsScript va, uint32_t slot, const void * data, uint32_t sizeBytes)
+{
+    ThreadIO *io = &((Context *)rsc)->mIO;
+    uint32_t size = sizeof(RS_CMD_ScriptInvokeV);
+    if (sizeBytes < DATA_SYNC_SIZE) {
+        size += (sizeBytes + 3) & ~3;
+    }
+    RS_CMD_ScriptInvokeV *cmd = static_cast<RS_CMD_ScriptInvokeV *>(io->mToCore.reserve(size));
+    cmd->s = va;
+    cmd->slot = slot;
+    cmd->dataLen = sizeBytes;
+    cmd->data = data;
+    if (sizeBytes < DATA_SYNC_SIZE) {
+        cmd->data = (void *)(cmd+1);
+        memcpy(cmd+1, data, sizeBytes);
+        io->mToCore.commit(RS_CMD_ID_ScriptInvokeV, size);
+    } else {
+        io->mToCore.commitSync(RS_CMD_ID_ScriptInvokeV, size);
+    }
+}
+
+
+static inline void rsHCAPI_ScriptSetVarV (RsContext rsc, RsScript va, uint32_t slot, const void * data, uint32_t sizeBytes)
+{
+    ThreadIO *io = &((Context *)rsc)->mIO;
+    uint32_t size = sizeof(RS_CMD_ScriptSetVarV);
+    if (sizeBytes < DATA_SYNC_SIZE) {
+        size += (sizeBytes + 3) & ~3;
+    }
+    RS_CMD_ScriptSetVarV *cmd = static_cast<RS_CMD_ScriptSetVarV *>(io->mToCore.reserve(size));
+    cmd->s = va;
+    cmd->slot = slot;
+    cmd->dataLen = sizeBytes;
+    cmd->data = data;
+    if (sizeBytes < DATA_SYNC_SIZE) {
+        cmd->data = (void *)(cmd+1);
+        memcpy(cmd+1, data, sizeBytes);
+        io->mToCore.commit(RS_CMD_ID_ScriptSetVarV, size);
+    } else {
+        io->mToCore.commitSync(RS_CMD_ID_ScriptSetVarV, size);
+    }
+}
+
 static inline void rsHCAPI_AllocationData (RsContext rsc, RsAllocation va, const void * data, uint32_t sizeBytes)
 {
     ThreadIO *io = &((Context *)rsc)->mIO;
diff --git a/libs/rs/rsProgramFragment.cpp b/libs/rs/rsProgramFragment.cpp
index c17b94c..d192195 100644
--- a/libs/rs/rsProgramFragment.cpp
+++ b/libs/rs/rsProgramFragment.cpp
@@ -328,6 +328,7 @@
 {
     ProgramFragment *pf = new ProgramFragment(rsc, params, paramLength);
     pf->incUserRef();
+    LOGE("rsi_ProgramFragmentCreate %p", pf);
     return pf;
 }
 
@@ -337,6 +338,7 @@
 {
     ProgramFragment *pf = new ProgramFragment(rsc, shaderText, shaderLength, params, paramLength);
     pf->incUserRef();
+    LOGE("rsi_ProgramFragmentCreate2 %p", pf);
     return pf;
 }
 
diff --git a/libs/rs/rsProgramFragmentStore.cpp b/libs/rs/rsProgramStore.cpp
similarity index 78%
rename from libs/rs/rsProgramFragmentStore.cpp
rename to libs/rs/rsProgramStore.cpp
index 8a2157f..2e5114f 100644
--- a/libs/rs/rsProgramFragmentStore.cpp
+++ b/libs/rs/rsProgramStore.cpp
@@ -15,7 +15,7 @@
  */
 
 #include "rsContext.h"
-#include "rsProgramFragmentStore.h"
+#include "rsProgramStore.h"
 
 #include <GLES/gl.h>
 #include <GLES/glext.h>
@@ -24,7 +24,7 @@
 using namespace android::renderscript;
 
 
-ProgramFragmentStore::ProgramFragmentStore(Context *rsc) :
+ProgramStore::ProgramStore(Context *rsc) :
     Program(rsc)
 {
     mAllocFile = __FILE__;
@@ -46,11 +46,11 @@
 
 }
 
-ProgramFragmentStore::~ProgramFragmentStore()
+ProgramStore::~ProgramStore()
 {
 }
 
-void ProgramFragmentStore::setupGL(const Context *rsc, ProgramFragmentStoreState *state)
+void ProgramStore::setupGL(const Context *rsc, ProgramStoreState *state)
 {
     if (state->mLast.get() == this) {
         return;
@@ -85,7 +85,7 @@
     }
 }
 
-void ProgramFragmentStore::setupGL2(const Context *rsc, ProgramFragmentStoreState *state)
+void ProgramStore::setupGL2(const Context *rsc, ProgramStoreState *state)
 {
     if (state->mLast.get() == this) {
         return;
@@ -121,12 +121,12 @@
 }
 
 
-void ProgramFragmentStore::setDitherEnable(bool enable)
+void ProgramStore::setDitherEnable(bool enable)
 {
     mDitherEnable = enable;
 }
 
-void ProgramFragmentStore::setDepthFunc(RsDepthFunc func)
+void ProgramStore::setDepthFunc(RsDepthFunc func)
 {
     mDepthTestEnable = true;
 
@@ -156,12 +156,12 @@
     }
 }
 
-void ProgramFragmentStore::setDepthMask(bool mask)
+void ProgramStore::setDepthMask(bool mask)
 {
     mDepthWriteEnable = mask;
 }
 
-void ProgramFragmentStore::setBlendFunc(RsBlendSrcFunc src, RsBlendDstFunc dst)
+void ProgramStore::setBlendFunc(RsBlendSrcFunc src, RsBlendDstFunc dst)
 {
     mBlendEnable = true;
     if ((src == RS_BLEND_SRC_ONE) &&
@@ -227,7 +227,7 @@
     }
 }
 
-void ProgramFragmentStore::setColorMask(bool r, bool g, bool b, bool a)
+void ProgramStore::setColorMask(bool r, bool g, bool b, bool a)
 {
     mColorRWriteEnable = r;
     mColorGWriteEnable = g;
@@ -236,24 +236,24 @@
 }
 
 
-ProgramFragmentStoreState::ProgramFragmentStoreState()
+ProgramStoreState::ProgramStoreState()
 {
     mPFS = NULL;
 }
 
-ProgramFragmentStoreState::~ProgramFragmentStoreState()
+ProgramStoreState::~ProgramStoreState()
 {
     delete mPFS;
 
 }
 
-void ProgramFragmentStoreState::init(Context *rsc, int32_t w, int32_t h)
+void ProgramStoreState::init(Context *rsc, int32_t w, int32_t h)
 {
-    ProgramFragmentStore *pfs = new ProgramFragmentStore(rsc);
+    ProgramStore *pfs = new ProgramStore(rsc);
     mDefault.set(pfs);
 }
 
-void ProgramFragmentStoreState::deinit(Context *rsc)
+void ProgramStoreState::deinit(Context *rsc)
 {
     mDefault.clear();
     mLast.clear();
@@ -263,42 +263,42 @@
 namespace android {
 namespace renderscript {
 
-void rsi_ProgramFragmentStoreBegin(Context * rsc, RsElement in, RsElement out)
+void rsi_ProgramStoreBegin(Context * rsc, RsElement in, RsElement out)
 {
     delete rsc->mStateFragmentStore.mPFS;
-    rsc->mStateFragmentStore.mPFS = new ProgramFragmentStore(rsc);
+    rsc->mStateFragmentStore.mPFS = new ProgramStore(rsc);
 
 }
 
-void rsi_ProgramFragmentStoreDepthFunc(Context *rsc, RsDepthFunc func)
+void rsi_ProgramStoreDepthFunc(Context *rsc, RsDepthFunc func)
 {
     rsc->mStateFragmentStore.mPFS->setDepthFunc(func);
 }
 
-void rsi_ProgramFragmentStoreDepthMask(Context *rsc, bool mask)
+void rsi_ProgramStoreDepthMask(Context *rsc, bool mask)
 {
     rsc->mStateFragmentStore.mPFS->setDepthMask(mask);
 }
 
-void rsi_ProgramFragmentStoreColorMask(Context *rsc, bool r, bool g, bool b, bool a)
+void rsi_ProgramStoreColorMask(Context *rsc, bool r, bool g, bool b, bool a)
 {
     rsc->mStateFragmentStore.mPFS->setColorMask(r, g, b, a);
 }
 
-void rsi_ProgramFragmentStoreBlendFunc(Context *rsc, RsBlendSrcFunc src, RsBlendDstFunc dst)
+void rsi_ProgramStoreBlendFunc(Context *rsc, RsBlendSrcFunc src, RsBlendDstFunc dst)
 {
     rsc->mStateFragmentStore.mPFS->setBlendFunc(src, dst);
 }
 
-RsProgramFragmentStore rsi_ProgramFragmentStoreCreate(Context *rsc)
+RsProgramStore rsi_ProgramStoreCreate(Context *rsc)
 {
-    ProgramFragmentStore *pfs = rsc->mStateFragmentStore.mPFS;
+    ProgramStore *pfs = rsc->mStateFragmentStore.mPFS;
     pfs->incUserRef();
     rsc->mStateFragmentStore.mPFS = 0;
     return pfs;
 }
 
-void rsi_ProgramFragmentStoreDither(Context *rsc, bool enable)
+void rsi_ProgramStoreDither(Context *rsc, bool enable)
 {
     rsc->mStateFragmentStore.mPFS->setDitherEnable(enable);
 }
diff --git a/libs/rs/rsProgramFragmentStore.h b/libs/rs/rsProgramStore.h
similarity index 74%
rename from libs/rs/rsProgramFragmentStore.h
rename to libs/rs/rsProgramStore.h
index 3412c99..1b5543c 100644
--- a/libs/rs/rsProgramFragmentStore.h
+++ b/libs/rs/rsProgramStore.h
@@ -23,16 +23,16 @@
 namespace android {
 namespace renderscript {
 
-class ProgramFragmentStoreState;
+class ProgramStoreState;
 
-class ProgramFragmentStore : public Program
+class ProgramStore : public Program
 {
 public:
-    ProgramFragmentStore(Context *);
-    virtual ~ProgramFragmentStore();
+    ProgramStore(Context *);
+    virtual ~ProgramStore();
 
-    virtual void setupGL(const Context *, ProgramFragmentStoreState *);
-    virtual void setupGL2(const Context *, ProgramFragmentStoreState *);
+    virtual void setupGL(const Context *, ProgramStoreState *);
+    virtual void setupGL2(const Context *, ProgramStoreState *);
 
     void setDepthFunc(RsDepthFunc);
     void setDepthMask(bool);
@@ -60,19 +60,19 @@
     bool mStencilTestEnable;
 };
 
-class ProgramFragmentStoreState
+class ProgramStoreState
 {
 public:
-    ProgramFragmentStoreState();
-    ~ProgramFragmentStoreState();
+    ProgramStoreState();
+    ~ProgramStoreState();
     void init(Context *rsc, int32_t w, int32_t h);
     void deinit(Context *rsc);
 
-    ObjectBaseRef<ProgramFragmentStore> mDefault;
-    ObjectBaseRef<ProgramFragmentStore> mLast;
+    ObjectBaseRef<ProgramStore> mDefault;
+    ObjectBaseRef<ProgramStore> mLast;
 
 
-    ProgramFragmentStore *mPFS;
+    ProgramStore *mPFS;
 };
 
 
diff --git a/libs/rs/rsScript.cpp b/libs/rs/rsScript.cpp
index a33933b..1c63c11 100644
--- a/libs/rs/rsScript.cpp
+++ b/libs/rs/rsScript.cpp
@@ -30,13 +30,25 @@
     mEnviroment.mClearColor[3] = 1;
     mEnviroment.mClearDepth = 1;
     mEnviroment.mClearStencil = 0;
-    mEnviroment.mIsRoot = false;
 }
 
 Script::~Script()
 {
 }
 
+void Script::setVar(uint32_t slot, const void *val, uint32_t len)
+{
+    int32_t *destPtr = ((int32_t **)mEnviroment.mFieldAddress)[slot];
+    if (destPtr) {
+        //LOGE("setVar f1  %f", ((const float *)destPtr)[0]);
+        //LOGE("setVar %p %i", destPtr, len);
+        memcpy(destPtr, val, len);
+        //LOGE("setVar f2  %f", ((const float *)destPtr)[0]);
+    } else {
+        LOGE("Calling setVar on slot = %i which is null", slot);
+    }
+}
+
 namespace android {
 namespace renderscript {
 
@@ -44,7 +56,9 @@
 void rsi_ScriptBindAllocation(Context * rsc, RsScript vs, RsAllocation va, uint32_t slot)
 {
     Script *s = static_cast<Script *>(vs);
-    s->mSlots[slot].set(static_cast<Allocation *>(va));
+    Allocation *a = static_cast<Allocation *>(va);
+    s->mSlots[slot].set(a);
+    //LOGE("rsi_ScriptBindAllocation %i  %p  %p", slot, a, a->getPtr());
 }
 
 void rsi_ScriptSetClearColor(Context * rsc, RsScript vs, float r, float g, float b, float a)
@@ -80,35 +94,111 @@
     const Type *t = static_cast<const Type *>(vt);
     ss->mConstantBufferTypes[slot].set(t);
     ss->mSlotWritable[slot] = writable;
-    if (name) {
-        ss->mSlotNames[slot].setTo(name);
-    } else {
-        ss->mSlotNames[slot].setTo("");
-    }
+    LOGE("rsi_ScriptSetType");
 }
 
 void rsi_ScriptSetInvoke(Context *rsc, const char *name, uint32_t slot)
 {
-    ScriptCState *ss = &rsc->mScriptC;
-    ss->mInvokableNames[slot] = name;
+    LOGE("rsi_ScriptSetInvoke");
 }
 
+
 void rsi_ScriptInvoke(Context *rsc, RsScript vs, uint32_t slot)
 {
+    //LOGE("rsi_ScriptInvoke %i", slot);
     Script *s = static_cast<Script *>(vs);
-    if (s->mEnviroment.mInvokables[slot] == NULL) {
+    if ((slot >= s->mEnviroment.mInvokeFunctionCount) ||
+        (s->mEnviroment.mInvokeFunctions[slot] == NULL)) {
         rsc->setError(RS_ERROR_BAD_SCRIPT, "Calling invoke on bad script");
         return;
     }
     s->setupScript();
-    s->mEnviroment.mInvokables[slot]();
+    //LOGE("invoking %i %p", slot, s->mEnviroment.mInvokeFunctions[slot]);
+    s->mEnviroment.mInvokeFunctions[slot]();
+    //LOGE("invoke finished");
 }
 
 
+void rsi_ScriptInvokeData(Context *rsc, RsScript vs, uint32_t slot, void *data)
+{
+    //LOGE("rsi_ScriptInvoke %i", slot);
+    Script *s = static_cast<Script *>(vs);
+    if ((slot >= s->mEnviroment.mInvokeFunctionCount) ||
+        (s->mEnviroment.mInvokeFunctions[slot] == NULL)) {
+        rsc->setError(RS_ERROR_BAD_SCRIPT, "Calling invoke on bad script");
+        return;
+    }
+    s->setupScript();
+    //LOGE("invoking %i %p", slot, s->mEnviroment.mInvokeFunctions[slot]);
+    s->mEnviroment.mInvokeFunctions[slot]();
+    //LOGE("invoke finished");
+}
+
+void rsi_ScriptInvokeV(Context *rsc, RsScript vs, uint32_t slot, const void *data, uint32_t len)
+{
+    //LOGE("rsi_ScriptInvoke %i", slot);
+    Script *s = static_cast<Script *>(vs);
+    if ((slot >= s->mEnviroment.mInvokeFunctionCount) ||
+        (s->mEnviroment.mInvokeFunctions[slot] == NULL)) {
+        rsc->setError(RS_ERROR_BAD_SCRIPT, "Calling invoke on bad script");
+        return;
+    }
+    s->setupScript();
+
+    LOGE("rsi_ScriptInvokeV, len=%i", len);
+    const uint32_t * dPtr = (const uint32_t *)data;
+    switch(len) {
+    case 0:
+        s->mEnviroment.mInvokeFunctions[slot]();
+        break;
+    case 4:
+        ((void (*)(uint32_t))
+         s->mEnviroment.mInvokeFunctions[slot])(dPtr[0]);
+        break;
+    case 8:
+        ((void (*)(uint32_t, uint32_t))
+         s->mEnviroment.mInvokeFunctions[slot])(dPtr[0], dPtr[1]);
+        break;
+    case 12:
+        ((void (*)(uint32_t, uint32_t, uint32_t))
+         s->mEnviroment.mInvokeFunctions[slot])(dPtr[0], dPtr[1], dPtr[2]);
+        break;
+    case 16:
+        ((void (*)(uint32_t, uint32_t, uint32_t, uint32_t))
+         s->mEnviroment.mInvokeFunctions[slot])(dPtr[0], dPtr[1], dPtr[2], dPtr[3]);
+        break;
+    case 20:
+        ((void (*)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t))
+         s->mEnviroment.mInvokeFunctions[slot])(dPtr[0], dPtr[1], dPtr[2], dPtr[3], dPtr[4]);
+        break;
+
+
+    }
+
+}
+
 void rsi_ScriptSetRoot(Context * rsc, bool isRoot)
 {
-    ScriptCState *ss = &rsc->mScriptC;
-    ss->mScript->mEnviroment.mIsRoot = isRoot;
+    LOGE("rsi_ScriptSetRoot");
+}
+
+void rsi_ScriptSetVarI(Context *rsc, RsScript vs, uint32_t slot, int value)
+{
+    Script *s = static_cast<Script *>(vs);
+    s->setVar(slot, &value, sizeof(value));
+}
+
+void rsi_ScriptSetVarF(Context *rsc, RsScript vs, uint32_t slot, float value)
+{
+    Script *s = static_cast<Script *>(vs);
+    s->setVar(slot, &value, sizeof(value));
+}
+
+void rsi_ScriptSetVarV(Context *rsc, RsScript vs, uint32_t slot, const void *data, uint32_t len)
+{
+    const float *fp = (const float *)data;
+    Script *s = static_cast<Script *>(vs);
+    s->setVar(slot, data, len);
 }
 
 
diff --git a/libs/rs/rsScript.h b/libs/rs/rsScript.h
index 5f4a536..c2fe8ef 100644
--- a/libs/rs/rsScript.h
+++ b/libs/rs/rsScript.h
@@ -27,9 +27,9 @@
 class ProgramVertex;
 class ProgramFragment;
 class ProgramRaster;
-class ProgramFragmentStore;
+class ProgramStore;
 
-#define MAX_SCRIPT_BANKS 16
+#define MAX_SCRIPT_BANKS 32
 
 class Script : public ObjectBase
 {
@@ -39,9 +39,7 @@
     Script(Context *);
     virtual ~Script();
 
-
     struct Enviroment_t {
-        bool mIsRoot;
         float mClearColor[4];
         float mClearDepth;
         uint32_t mClearStencil;
@@ -52,22 +50,23 @@
         ObjectBaseRef<ProgramVertex> mVertex;
         ObjectBaseRef<ProgramFragment> mFragment;
         ObjectBaseRef<ProgramRaster> mRaster;
-        ObjectBaseRef<ProgramFragmentStore> mFragmentStore;
-        InvokeFunc_t mInvokables[MAX_SCRIPT_BANKS];
+        ObjectBaseRef<ProgramStore> mFragmentStore;
+
+        uint32_t mInvokeFunctionCount;
+        InvokeFunc_t *mInvokeFunctions;
+        uint32_t mFieldCount;
+        void ** mFieldAddress;
+
         char * mScriptText;
         uint32_t mScriptTextLength;
     };
     Enviroment_t mEnviroment;
 
-    uint32_t mCounstantBufferCount;
-
-
     ObjectBaseRef<Allocation> mSlots[MAX_SCRIPT_BANKS];
     ObjectBaseRef<const Type> mTypes[MAX_SCRIPT_BANKS];
-    String8 mSlotNames[MAX_SCRIPT_BANKS];
     bool mSlotWritable[MAX_SCRIPT_BANKS];
 
-
+    void setVar(uint32_t slot, const void *val, uint32_t len);
 
     virtual void setupScript() = 0;
     virtual uint32_t run(Context *, uint32_t launchID) = 0;
diff --git a/libs/rs/rsScriptC.cpp b/libs/rs/rsScriptC.cpp
index 1f23773..86cda80 100644
--- a/libs/rs/rsScriptC.cpp
+++ b/libs/rs/rsScriptC.cpp
@@ -17,8 +17,7 @@
 #include "rsContext.h"
 #include "rsScriptC.h"
 #include "rsMatrix.h"
-
-#include "acc/acc.h"
+#include "../../../external/llvm/libbcc/include/bcc/bcc.h"
 #include "utils/Timers.h"
 
 #include <GLES/gl.h>
@@ -37,14 +36,14 @@
 {
     mAllocFile = __FILE__;
     mAllocLine = __LINE__;
-    mAccScript = NULL;
+    mBccScript = NULL;
     memset(&mProgram, 0, sizeof(mProgram));
 }
 
 ScriptC::~ScriptC()
 {
-    if (mAccScript) {
-        accDeleteScript(mAccScript);
+    if (mBccScript) {
+        bccDeleteScript(mBccScript);
     }
     free(mEnviroment.mScriptText);
     mEnviroment.mScriptText = NULL;
@@ -52,9 +51,22 @@
 
 void ScriptC::setupScript()
 {
-    for (int ct=0; ct < MAX_SCRIPT_BANKS; ct++) {
-        if (mProgram.mSlotPointers[ct]) {
-            *mProgram.mSlotPointers[ct] = mSlots[ct]->getPtr();
+    for (uint32_t ct=0; ct < mEnviroment.mFieldCount; ct++) {
+        if (!mSlots[ct].get())
+            continue;
+        void *ptr = mSlots[ct]->getPtr();
+        void **dest = ((void ***)mEnviroment.mFieldAddress)[ct];
+        //LOGE("setupScript %i %p = %p    %p %i", ct, dest, ptr, mSlots[ct]->getType(), mSlots[ct]->getType()->getDimX());
+
+        //const uint32_t *p32 = (const uint32_t *)ptr;
+        //for (uint32_t ct2=0; ct2 < mSlots[ct]->getType()->getDimX(); ct2++) {
+            //LOGE("  %i = 0x%08x ", ct2, p32[ct2]);
+        //}
+
+        if (dest) {
+            *dest = ptr;
+        } else {
+            LOGE("ScriptC::setupScript, NULL var binding address.");
         }
     }
 }
@@ -62,7 +74,7 @@
 
 uint32_t ScriptC::run(Context *rsc, uint32_t launchIndex)
 {
-    if (mProgram.mScript == NULL) {
+    if (mProgram.mRoot == NULL) {
         rsc->setError(RS_ERROR_BAD_SCRIPT, "Attempted to run bad script");
         return 0;
     }
@@ -92,8 +104,10 @@
 
     uint32_t ret = 0;
     tls->mScript = this;
-    ret = mProgram.mScript(launchIndex);
+    //LOGE("ScriptC::run %p", mProgram.mRoot);
+    ret = mProgram.mRoot();
     tls->mScript = NULL;
+    //LOGE("ScriptC::run ret %i", ret);
     return ret;
 }
 
@@ -113,19 +127,14 @@
 {
     for (uint32_t ct=0; ct < MAX_SCRIPT_BANKS; ct++) {
         mConstantBufferTypes[ct].clear();
-        mSlotNames[ct].setTo("");
-        mInvokableNames[ct].setTo("");
         mSlotWritable[ct] = false;
     }
 
     delete mScript;
     mScript = new ScriptC(NULL);
-
-    mInt32Defines.clear();
-    mFloatDefines.clear();
 }
 
-static ACCvoid* symbolLookup(ACCvoid* pContext, const ACCchar* name)
+static BCCvoid* symbolLookup(BCCvoid* pContext, const BCCchar* name)
 {
     const ScriptCState::SymbolTable_t *sym = ScriptCState::lookupSymbol(name);
     if (sym) {
@@ -137,63 +146,51 @@
 
 void ScriptCState::runCompiler(Context *rsc, ScriptC *s)
 {
-    s->mAccScript = accCreateScript();
-    String8 tmp;
+    LOGE("ScriptCState::runCompiler ");
 
-    rsc->appendNameDefines(&tmp);
-    appendDecls(&tmp);
-    appendVarDefines(rsc, &tmp);
-    appendTypes(rsc, &tmp);
-    tmp.append("#line 1\n");
-
-    const char* scriptSource[] = {tmp.string(), s->mEnviroment.mScriptText};
-    int scriptLength[] = {tmp.length(), s->mEnviroment.mScriptTextLength} ;
-    accScriptSource(s->mAccScript, sizeof(scriptLength) / sizeof(int), scriptSource, scriptLength);
-    accRegisterSymbolCallback(s->mAccScript, symbolLookup, NULL);
-    accCompileScript(s->mAccScript);
-    accGetScriptLabel(s->mAccScript, "main", (ACCvoid**) &s->mProgram.mScript);
-    accGetScriptLabel(s->mAccScript, "init", (ACCvoid**) &s->mProgram.mInit);
-    rsAssert(s->mProgram.mScript);
-
-    if (!s->mProgram.mScript) {
-        ACCchar buf[4096];
-        ACCsizei len;
-        accGetScriptInfoLog(s->mAccScript, sizeof(buf), &len, buf);
-        LOGE(buf);
-        rsc->setError(RS_ERROR_BAD_SCRIPT, "Error compiling user script.");
-        return;
-    }
+    s->mBccScript = bccCreateScript();
+    bccScriptBitcode(s->mBccScript, s->mEnviroment.mScriptText, s->mEnviroment.mScriptTextLength);
+    bccRegisterSymbolCallback(s->mBccScript, symbolLookup, NULL);
+    LOGE("ScriptCState::runCompiler 3");
+    bccCompileScript(s->mBccScript);
+    LOGE("ScriptCState::runCompiler 4");
+    bccGetScriptLabel(s->mBccScript, "root", (BCCvoid**) &s->mProgram.mRoot);
+    bccGetScriptLabel(s->mBccScript, "init", (BCCvoid**) &s->mProgram.mInit);
+    LOGE("root %p,  init %p", s->mProgram.mRoot, s->mProgram.mInit);
 
     if (s->mProgram.mInit) {
         s->mProgram.mInit();
     }
 
-    for (int ct=0; ct < MAX_SCRIPT_BANKS; ct++) {
-        if (mSlotNames[ct].length() > 0) {
-            accGetScriptLabel(s->mAccScript,
-                              mSlotNames[ct].string(),
-                              (ACCvoid**) &s->mProgram.mSlotPointers[ct]);
-        }
+    s->mEnviroment.mInvokeFunctions = (Script::InvokeFunc_t *)calloc(100, sizeof(void *));
+    BCCchar **labels = new char*[100];
+    bccGetFunctions(s->mBccScript, (BCCsizei *)&s->mEnviroment.mInvokeFunctionCount,
+                    100, (BCCchar **)labels);
+    //LOGE("func count %i", s->mEnviroment.mInvokeFunctionCount);
+    for (uint32_t i=0; i < s->mEnviroment.mInvokeFunctionCount; i++) {
+        BCCsizei length;
+        bccGetFunctionBinary(s->mBccScript, labels[i], (BCCvoid **)&(s->mEnviroment.mInvokeFunctions[i]), &length);
+        //LOGE("func %i %p", i, s->mEnviroment.mInvokeFunctions[i]);
     }
 
-    for (int ct=0; ct < MAX_SCRIPT_BANKS; ct++) {
-        if (mInvokableNames[ct].length() > 0) {
-            accGetScriptLabel(s->mAccScript,
-                              mInvokableNames[ct].string(),
-                              (ACCvoid**) &s->mEnviroment.mInvokables[ct]);
-        }
+    s->mEnviroment.mFieldAddress = (void **)calloc(100, sizeof(void *));
+    bccGetExportVars(s->mBccScript, (BCCsizei *)&s->mEnviroment.mFieldCount,
+                     100, s->mEnviroment.mFieldAddress);
+    //LOGE("var count %i", s->mEnviroment.mFieldCount);
+    for (uint32_t i=0; i < s->mEnviroment.mFieldCount; i++) {
+        //LOGE("var %i %p", i, s->mEnviroment.mFieldAddress[i]);
     }
 
     s->mEnviroment.mFragment.set(rsc->getDefaultProgramFragment());
     s->mEnviroment.mVertex.set(rsc->getDefaultProgramVertex());
-    s->mEnviroment.mFragmentStore.set(rsc->getDefaultProgramFragmentStore());
+    s->mEnviroment.mFragmentStore.set(rsc->getDefaultProgramStore());
     s->mEnviroment.mRaster.set(rsc->getDefaultProgramRaster());
 
-    if (s->mProgram.mScript) {
+    if (s->mProgram.mRoot) {
         const static int pragmaMax = 16;
-        ACCsizei pragmaCount;
-        ACCchar * str[pragmaMax];
-        accGetPragmas(s->mAccScript, &pragmaCount, pragmaMax, &str[0]);
+        BCCsizei pragmaCount;
+        BCCchar * str[pragmaMax];
+        bccGetPragmas(s->mBccScript, &pragmaCount, pragmaMax, &str[0]);
 
         for (int ct=0; ct < pragmaCount; ct+=2) {
             if (!strcmp(str[ct], "version")) {
@@ -208,11 +205,6 @@
                     s->mEnviroment.mVertex.clear();
                     continue;
                 }
-                ProgramVertex * pv = (ProgramVertex *)rsc->lookupName(str[ct+1]);
-                if (pv != NULL) {
-                    s->mEnviroment.mVertex.set(pv);
-                    continue;
-                }
                 LOGE("Unreconized value %s passed to stateVertex", str[ct+1]);
             }
 
@@ -224,11 +216,6 @@
                     s->mEnviroment.mRaster.clear();
                     continue;
                 }
-                ProgramRaster * pr = (ProgramRaster *)rsc->lookupName(str[ct+1]);
-                if (pr != NULL) {
-                    s->mEnviroment.mRaster.set(pr);
-                    continue;
-                }
                 LOGE("Unreconized value %s passed to stateRaster", str[ct+1]);
             }
 
@@ -240,11 +227,6 @@
                     s->mEnviroment.mFragment.clear();
                     continue;
                 }
-                ProgramFragment * pf = (ProgramFragment *)rsc->lookupName(str[ct+1]);
-                if (pf != NULL) {
-                    s->mEnviroment.mFragment.set(pf);
-                    continue;
-                }
                 LOGE("Unreconized value %s passed to stateFragment", str[ct+1]);
             }
 
@@ -256,12 +238,6 @@
                     s->mEnviroment.mFragmentStore.clear();
                     continue;
                 }
-                ProgramFragmentStore * pfs =
-                    (ProgramFragmentStore *)rsc->lookupName(str[ct+1]);
-                if (pfs != NULL) {
-                    s->mEnviroment.mFragmentStore.set(pfs);
-                    continue;
-                }
                 LOGE("Unreconized value %s passed to stateStore", str[ct+1]);
             }
 
@@ -273,111 +249,6 @@
     }
 }
 
-static void appendElementBody(String8 *s, const Element *e)
-{
-    s->append(" {\n");
-    for (size_t ct2=0; ct2 < e->getFieldCount(); ct2++) {
-        const Element *c = e->getField(ct2);
-        s->append("    ");
-        s->append(c->getCType());
-        s->append(" ");
-        s->append(e->getFieldName(ct2));
-        s->append(";\n");
-    }
-    s->append("}");
-}
-
-void ScriptCState::appendVarDefines(const Context *rsc, String8 *str)
-{
-    char buf[256];
-    if (rsc->props.mLogScripts) {
-        LOGD("appendVarDefines mInt32Defines.size()=%d mFloatDefines.size()=%d\n",
-                mInt32Defines.size(), mFloatDefines.size());
-    }
-    for (size_t ct=0; ct < mInt32Defines.size(); ct++) {
-        str->append("#define ");
-        str->append(mInt32Defines.keyAt(ct));
-        str->append(" ");
-        sprintf(buf, "%i\n", (int)mInt32Defines.valueAt(ct));
-        str->append(buf);
-    }
-    for (size_t ct=0; ct < mFloatDefines.size(); ct++) {
-        str->append("#define ");
-        str->append(mFloatDefines.keyAt(ct));
-        str->append(" ");
-        sprintf(buf, "%ff\n", mFloatDefines.valueAt(ct));
-        str->append(buf);
-    }
-}
-
-
-
-void ScriptCState::appendTypes(const Context *rsc, String8 *str)
-{
-    char buf[256];
-    String8 tmp;
-
-    str->append("struct vecF32_2_s {float x; float y;};\n");
-    str->append("struct vecF32_3_s {float x; float y; float z;};\n");
-    str->append("struct vecF32_4_s {float x; float y; float z; float w;};\n");
-    str->append("struct vecU8_4_s {char r; char g; char b; char a;};\n");
-    str->append("#define vecF32_2_t struct vecF32_2_s\n");
-    str->append("#define vecF32_3_t struct vecF32_3_s\n");
-    str->append("#define vecF32_4_t struct vecF32_4_s\n");
-    str->append("#define vecU8_4_t struct vecU8_4_s\n");
-    str->append("#define vecI8_4_t struct vecU8_4_s\n");
-
-    for (size_t ct=0; ct < MAX_SCRIPT_BANKS; ct++) {
-        const Type *t = mConstantBufferTypes[ct].get();
-        if (!t) {
-            continue;
-        }
-        const Element *e = t->getElement();
-        if (e->getName() && (e->getFieldCount() > 1)) {
-            String8 s("struct struct_");
-            s.append(e->getName());
-            s.append(e->getCStructBody());
-            s.append(";\n");
-
-            s.append("#define ");
-            s.append(e->getName());
-            s.append("_t struct struct_");
-            s.append(e->getName());
-            s.append("\n\n");
-            if (rsc->props.mLogScripts) {
-                LOGV(s);
-            }
-            str->append(s);
-        }
-
-        if (mSlotNames[ct].length() > 0) {
-            String8 s;
-            if (e->getName()) {
-                // Use the named struct
-                s.setTo(e->getName());
-            } else {
-                // create an struct named from the slot.
-                s.setTo("struct ");
-                s.append(mSlotNames[ct]);
-                s.append("_s");
-                s.append(e->getCStructBody());
-                //appendElementBody(&s, e);
-                s.append(";\n");
-                s.append("struct ");
-                s.append(mSlotNames[ct]);
-                s.append("_s");
-            }
-
-            s.append(" * ");
-            s.append(mSlotNames[ct]);
-            s.append(";\n");
-            if (rsc->props.mLogScripts) {
-                LOGV(s);
-            }
-            str->append(s);
-        }
-    }
-}
 
 
 namespace android {
@@ -420,7 +291,6 @@
     s->setContext(rsc);
     for (int ct=0; ct < MAX_SCRIPT_BANKS; ct++) {
         s->mTypes[ct].set(ss->mConstantBufferTypes[ct].get());
-        s->mSlotNames[ct] = ss->mSlotNames[ct];
         s->mSlotWritable[ct] = ss->mSlotWritable[ct];
     }
 
@@ -430,14 +300,12 @@
 
 void rsi_ScriptCSetDefineF(Context *rsc, const char* name, float value)
 {
-    ScriptCState *ss = &rsc->mScriptC;
-    ss->mFloatDefines.add(String8(name), value);
+    LOGE("Error rsi_ScriptCSetDefineF");
 }
 
 void rsi_ScriptCSetDefineI32(Context *rsc, const char* name, int32_t value)
 {
-    ScriptCState *ss = &rsc->mScriptC;
-    ss->mInt32Defines.add(String8(name), value);
+    LOGE("Error rsi_ScriptCSetDefineI");
 }
 
 }
diff --git a/libs/rs/rsScriptC.h b/libs/rs/rsScriptC.h
index 35abadf..c23fb73 100644
--- a/libs/rs/rsScriptC.h
+++ b/libs/rs/rsScriptC.h
@@ -23,7 +23,7 @@
 
 #include <utils/KeyedVector.h>
 
-struct ACCscript;
+struct BCCscript;
 
 // ---------------------------------------------------------------------------
 namespace android {
@@ -34,7 +34,7 @@
 class ScriptC : public Script
 {
 public:
-    typedef int (*RunScript_t)(uint32_t launchIndex);
+    typedef int (*RunScript_t)();
     typedef void (*VoidFunc_t)();
 
     ScriptC(Context *);
@@ -44,15 +44,13 @@
         int mVersionMajor;
         int mVersionMinor;
 
-        RunScript_t mScript;
+        RunScript_t mRoot;
         VoidFunc_t mInit;
-
-        void ** mSlotPointers[MAX_SCRIPT_BANKS];
     };
 
     Program_t mProgram;
 
-    ACCscript*    mAccScript;
+    BCCscript*    mBccScript;
 
     virtual void setupScript();
     virtual uint32_t run(Context *, uint32_t launchID);
@@ -67,27 +65,19 @@
     ScriptC *mScript;
 
     ObjectBaseRef<const Type> mConstantBufferTypes[MAX_SCRIPT_BANKS];
-    String8 mSlotNames[MAX_SCRIPT_BANKS];
+    //String8 mSlotNames[MAX_SCRIPT_BANKS];
     bool mSlotWritable[MAX_SCRIPT_BANKS];
-    String8 mInvokableNames[MAX_SCRIPT_BANKS];
+    //String8 mInvokableNames[MAX_SCRIPT_BANKS];
 
     void clear();
     void runCompiler(Context *rsc, ScriptC *s);
-    void appendVarDefines(const Context *rsc, String8 *str);
-    void appendTypes(const Context *rsc, String8 *str);
 
     struct SymbolTable_t {
         const char * mName;
         void * mPtr;
-        const char * mRet;
-        const char * mParam;
     };
     static SymbolTable_t gSyms[];
     static const SymbolTable_t * lookupSymbol(const char *);
-    static void appendDecls(String8 *str);
-
-    KeyedVector<String8,int> mInt32Defines;
-    KeyedVector<String8,float> mFloatDefines;
 };
 
 
diff --git a/libs/rs/rsScriptC_Lib.cpp b/libs/rs/rsScriptC_Lib.cpp
index 202ca3d..0e09474 100644
--- a/libs/rs/rsScriptC_Lib.cpp
+++ b/libs/rs/rsScriptC_Lib.cpp
@@ -39,6 +39,160 @@
     Context * rsc = tls->mContext; \
     ScriptC * sc = (ScriptC *) tls->mScript
 
+
+static float SC_acospi(float v) {
+    return acosf(v)/ M_PI;
+}
+
+static float SC_asinpi(float v) {
+    return asinf(v) / M_PI;
+}
+
+static float SC_atanpi(float v) {
+    return atanf(v) / M_PI;
+}
+
+static float SC_atan2pi(float y, float x) {
+    return atan2f(y, x) / M_PI;
+}
+
+static float SC_cospi(float v) {
+    return cosf(v * M_PI);
+}
+
+static float SC_exp10(float v) {
+    return pow(10.f, v);
+
+}
+
+static float SC_fract(float v, int *iptr) {
+    int i = (int)floor(v);
+    iptr[0] = i;
+    return fmin(v - i, 0x1.fffffep-1f);
+}
+
+static float SC_log2(float v) {
+    return log10(v) / log10(2.f);
+}
+
+static float SC_pown(float v, int p) {
+    return powf(v, (float)p);
+}
+
+static float SC_powr(float v, float p) {
+    return powf(v, p);
+}
+
+float SC_rootn(float v, int r) {
+    return pow(v, 1.f / r);
+}
+
+float SC_rsqrt(float v) {
+    return 1.f / sqrtf(v);
+}
+
+float SC_sincos(float v, float *cosptr) {
+    *cosptr = cosf(v);
+    return sinf(v);
+}
+
+static float SC_sinpi(float v) {
+    return sinf(v * M_PI);
+}
+
+static float SC_tanpi(float v) {
+    return tanf(v * M_PI);
+}
+
+    //{ "logb", (void *)& },
+    //{ "mad", (void *)& },
+    //{ "nan", (void *)& },
+    //{ "tgamma", (void *)& },
+
+//////////////////////////////////////////////////////////////////////////////
+// Integer
+//////////////////////////////////////////////////////////////////////////////
+
+
+static uint32_t SC_abs_i32(int32_t v) {return abs(v);}
+static uint16_t SC_abs_i16(int16_t v) {return (uint16_t)abs(v);}
+static uint8_t SC_abs_i8(int8_t v) {return (uint8_t)abs(v);}
+
+static uint32_t SC_clz_u32(uint32_t v) {return __builtin_clz(v);}
+static uint16_t SC_clz_u16(uint16_t v) {return (uint16_t)__builtin_clz(v);}
+static uint8_t SC_clz_u8(uint8_t v) {return (uint8_t)__builtin_clz(v);}
+static int32_t SC_clz_i32(int32_t v) {return (int32_t)__builtin_clz((uint32_t)v);}
+static int16_t SC_clz_i16(int16_t v) {return (int16_t)__builtin_clz(v);}
+static int8_t SC_clz_i8(int8_t v) {return (int8_t)__builtin_clz(v);}
+
+static uint32_t SC_max_u32(uint32_t v, uint32_t v2) {return rsMax(v, v2);}
+static uint16_t SC_max_u16(uint16_t v, uint16_t v2) {return rsMax(v, v2);}
+static uint8_t SC_max_u8(uint8_t v, uint8_t v2) {return rsMax(v, v2);}
+static int32_t SC_max_i32(int32_t v, int32_t v2) {return rsMax(v, v2);}
+static int16_t SC_max_i16(int16_t v, int16_t v2) {return rsMax(v, v2);}
+static int8_t SC_max_i8(int8_t v, int8_t v2) {return rsMax(v, v2);}
+
+static uint32_t SC_min_u32(uint32_t v, uint32_t v2) {return rsMin(v, v2);}
+static uint16_t SC_min_u16(uint16_t v, uint16_t v2) {return rsMin(v, v2);}
+static uint8_t SC_min_u8(uint8_t v, uint8_t v2) {return rsMin(v, v2);}
+static int32_t SC_min_i32(int32_t v, int32_t v2) {return rsMin(v, v2);}
+static int16_t SC_min_i16(int16_t v, int16_t v2) {return rsMin(v, v2);}
+static int8_t SC_min_i8(int8_t v, int8_t v2) {return rsMin(v, v2);}
+
+//////////////////////////////////////////////////////////////////////////////
+// Float util
+//////////////////////////////////////////////////////////////////////////////
+
+static float SC_clamp_f32(float amount, float low, float high)
+{
+    return amount < low ? low : (amount > high ? high : amount);
+}
+
+static float SC_degrees(float radians)
+{
+    return radians * (180.f / M_PI);
+}
+
+static float SC_max_f32(float v, float v2)
+{
+    return rsMax(v, v2);
+}
+
+static float SC_min_f32(float v, float v2)
+{
+    return rsMin(v, v2);
+}
+
+static float SC_mix_f32(float start, float stop, float amount)
+{
+    //LOGE("lerpf %f  %f  %f", start, stop, amount);
+    return start + (stop - start) * amount;
+}
+
+static float SC_radians(float degrees)
+{
+    return degrees * (M_PI / 180.f);
+}
+
+static float SC_step_f32(float edge, float v)
+{
+    if (v < edge) return 0.f;
+    return 1.f;
+}
+
+static float SC_sign_f32(float value)
+{
+    if (value > 0) return 1.f;
+    if (value < 0) return -1.f;
+    return value;
+}
+
+
+
+//////////////////////////////////////////////////////////////////////////////
+// Non-Updated code below
+//////////////////////////////////////////////////////////////////////////////
+
 typedef struct {
     float x;
     float y;
@@ -61,47 +215,6 @@
 // IO routines
 //////////////////////////////////////////////////////////////////////////////
 
-static float SC_loadF(uint32_t bank, uint32_t offset)
-{
-    GET_TLS();
-    const void *vp = sc->mSlots[bank]->getPtr();
-    const float *f = static_cast<const float *>(vp);
-    //LOGE("loadF %i %i = %f %x", bank, offset, f, ((int *)&f)[0]);
-    return f[offset];
-}
-
-static int32_t SC_loadI32(uint32_t bank, uint32_t offset)
-{
-    GET_TLS();
-    const void *vp = sc->mSlots[bank]->getPtr();
-    const int32_t *i = static_cast<const int32_t *>(vp);
-    //LOGE("loadI32 %i %i = %i", bank, offset, t);
-    return i[offset];
-}
-
-static float* SC_loadArrayF(uint32_t bank, uint32_t offset)
-{
-    GET_TLS();
-    void *vp = sc->mSlots[bank]->getPtr();
-    float *f = static_cast<float *>(vp);
-    return f + offset;
-}
-
-static int32_t* SC_loadArrayI32(uint32_t bank, uint32_t offset)
-{
-    GET_TLS();
-    void *vp = sc->mSlots[bank]->getPtr();
-    int32_t *i = static_cast<int32_t *>(vp);
-    return i + offset;
-}
-
-static float* SC_loadSimpleMeshVerticesF(RsSimpleMesh mesh, uint32_t idx)
-{
-    SimpleMesh *tm = static_cast<SimpleMesh *>(mesh);
-    void *vp = tm->mVertexBuffers[idx]->getPtr();;
-    return static_cast<float *>(vp);
-}
-
 static void SC_updateSimpleMesh(RsSimpleMesh mesh)
 {
     GET_TLS();
@@ -109,72 +222,6 @@
     sm->uploadAll(rsc);
 }
 
-static uint32_t SC_loadU32(uint32_t bank, uint32_t offset)
-{
-    GET_TLS();
-    const void *vp = sc->mSlots[bank]->getPtr();
-    const uint32_t *i = static_cast<const uint32_t *>(vp);
-    return i[offset];
-}
-
-static void SC_loadVec4(uint32_t bank, uint32_t offset, rsc_Vector4 *v)
-{
-    GET_TLS();
-    const void *vp = sc->mSlots[bank]->getPtr();
-    const float *f = static_cast<const float *>(vp);
-    memcpy(v, &f[offset], sizeof(rsc_Vector4));
-}
-
-static void SC_loadMatrix(uint32_t bank, uint32_t offset, rsc_Matrix *m)
-{
-    GET_TLS();
-    const void *vp = sc->mSlots[bank]->getPtr();
-    const float *f = static_cast<const float *>(vp);
-    memcpy(m, &f[offset], sizeof(rsc_Matrix));
-}
-
-
-static void SC_storeF(uint32_t bank, uint32_t offset, float v)
-{
-    //LOGE("storeF %i %i %f", bank, offset, v);
-    GET_TLS();
-    void *vp = sc->mSlots[bank]->getPtr();
-    float *f = static_cast<float *>(vp);
-    f[offset] = v;
-}
-
-static void SC_storeI32(uint32_t bank, uint32_t offset, int32_t v)
-{
-    GET_TLS();
-    void *vp = sc->mSlots[bank]->getPtr();
-    int32_t *f = static_cast<int32_t *>(vp);
-    static_cast<int32_t *>(sc->mSlots[bank]->getPtr())[offset] = v;
-}
-
-static void SC_storeU32(uint32_t bank, uint32_t offset, uint32_t v)
-{
-    GET_TLS();
-    void *vp = sc->mSlots[bank]->getPtr();
-    uint32_t *f = static_cast<uint32_t *>(vp);
-    static_cast<uint32_t *>(sc->mSlots[bank]->getPtr())[offset] = v;
-}
-
-static void SC_storeVec4(uint32_t bank, uint32_t offset, const rsc_Vector4 *v)
-{
-    GET_TLS();
-    void *vp = sc->mSlots[bank]->getPtr();
-    float *f = static_cast<float *>(vp);
-    memcpy(&f[offset], v, sizeof(rsc_Vector4));
-}
-
-static void SC_storeMatrix(uint32_t bank, uint32_t offset, const rsc_Matrix *m)
-{
-    GET_TLS();
-    void *vp = sc->mSlots[bank]->getPtr();
-    float *f = static_cast<float *>(vp);
-    memcpy(&f[offset], m, sizeof(rsc_Matrix));
-}
-
 //////////////////////////////////////////////////////////////////////////////
 // Vec3 routines
 //////////////////////////////////////////////////////////////////////////////
@@ -281,10 +328,6 @@
 // Math routines
 //////////////////////////////////////////////////////////////////////////////
 
-#define PI 3.1415926f
-#define DEG_TO_RAD PI / 180.0f
-#define RAD_TO_DEG 180.0f / PI
-
 static float SC_sinf_fast(float x)
 {
     const float A =   1.0f / (2.0f * M_PI);
@@ -325,6 +368,7 @@
 
 static float SC_randf(float max)
 {
+    //LOGE("max %f", max);
     float r = (float)rand();
     return r / RAND_MAX * max;
 }
@@ -340,46 +384,11 @@
     return (value > 0) - (value < 0);
 }
 
-static float SC_signf(float value)
-{
-    return (value > 0) - (value < 0);
-}
-
-static float SC_clampf(float amount, float low, float high)
-{
-    return amount < low ? low : (amount > high ? high : amount);
-}
-
 static int SC_clamp(int amount, int low, int high)
 {
     return amount < low ? low : (amount > high ? high : amount);
 }
 
-static float SC_maxf(float a, float b)
-{
-    return a > b ? a : b;
-}
-
-static float SC_minf(float a, float b)
-{
-    return a < b ? a : b;
-}
-
-static float SC_sqrf(float v)
-{
-    return v * v;
-}
-
-static int SC_sqr(int v)
-{
-    return v * v;
-}
-
-static float SC_fracf(float v)
-{
-    return v - floorf(v);
-}
-
 static float SC_roundf(float v)
 {
     return floorf(v + 0.4999999999);
@@ -410,21 +419,6 @@
     return sqrtf(a * a + b * b + c * c);
 }
 
-static float SC_radf(float degrees)
-{
-    return degrees * DEG_TO_RAD;
-}
-
-static float SC_degf(float radians)
-{
-    return radians * RAD_TO_DEG;
-}
-
-static float SC_lerpf(float start, float stop, float amount)
-{
-    return start + (stop - start) * amount;
-}
-
 static float SC_normf(float start, float stop, float value)
 {
     return (value - start) / (stop - start);
@@ -435,6 +429,12 @@
     return maxStart + (maxStart - maxStop) * ((value - minStart) / (minStop - minStart));
 }
 
+static float SC_frac(float v)
+{
+    int i = (int)floor(v);
+    return fmin(v - i, 0x1.fffffep-1f);
+}
+
 //////////////////////////////////////////////////////////////////////////////
 // Time routines
 //////////////////////////////////////////////////////////////////////////////
@@ -602,12 +602,14 @@
 }
 
 
-static void SC_vec2Rand(float *vec, float maxLen)
+static rsvF_2 SC_vec2Rand(float maxLen)
 {
-    float angle = SC_randf(PI * 2);
+    float2 t;
+    float angle = SC_randf(M_PI * 2);
     float len = SC_randf(maxLen);
-    vec[0] = len * sinf(angle);
-    vec[1] = len * cosf(angle);
+    t.f[0] = len * sinf(angle);
+    t.f[1] = len * cosf(angle);
+    return t.v;
 }
 
 
@@ -636,25 +638,28 @@
 
 }
 
-static void SC_bindProgramFragmentStore(RsProgramFragmentStore pfs)
+static void SC_bindProgramStore(RsProgramStore pfs)
 {
     GET_TLS();
-    rsi_ContextBindProgramFragmentStore(rsc, pfs);
-
+    rsi_ContextBindProgramStore(rsc, pfs);
 }
 
 static void SC_bindProgramFragment(RsProgramFragment pf)
 {
     GET_TLS();
     rsi_ContextBindProgramFragment(rsc, pf);
-
 }
 
 static void SC_bindProgramVertex(RsProgramVertex pv)
 {
     GET_TLS();
     rsi_ContextBindProgramVertex(rsc, pv);
+}
 
+static void SC_bindProgramRaster(RsProgramRaster pv)
+{
+    GET_TLS();
+    rsi_ContextBindProgramRaster(rsc, pv);
 }
 
 //////////////////////////////////////////////////////////////////////////////
@@ -829,6 +834,7 @@
 static void SC_drawRect(float x1, float y1,
                         float x2, float y2, float z)
 {
+    //LOGE("SC_drawRect %f,%f  %f,%f  %f", x1, y1, x2, y2, z);
     SC_drawQuad(x1, y2, z,
                 x2, y2, z,
                 x2, y1, z,
@@ -860,6 +866,44 @@
 //
 //////////////////////////////////////////////////////////////////////////////
 
+static uint32_t SC_allocGetDimX(RsAllocation va)
+{
+    GET_TLS();
+    const Allocation *a = static_cast<const Allocation *>(va);
+    //LOGE("SC_allocGetDimX a=%p", a);
+    //LOGE(" type=%p", a->getType());
+    return a->getType()->getDimX();
+}
+
+static uint32_t SC_allocGetDimY(RsAllocation va)
+{
+    GET_TLS();
+    const Allocation *a = static_cast<const Allocation *>(va);
+    return a->getType()->getDimY();
+}
+
+static uint32_t SC_allocGetDimZ(RsAllocation va)
+{
+    GET_TLS();
+    const Allocation *a = static_cast<const Allocation *>(va);
+    return a->getType()->getDimZ();
+}
+
+static uint32_t SC_allocGetDimLOD(RsAllocation va)
+{
+    GET_TLS();
+    const Allocation *a = static_cast<const Allocation *>(va);
+    return a->getType()->getDimLOD();
+}
+
+static uint32_t SC_allocGetDimFaces(RsAllocation va)
+{
+    GET_TLS();
+    const Allocation *a = static_cast<const Allocation *>(va);
+    return a->getType()->getDimFaces();
+}
+
+
 static void SC_color(float r, float g, float b, float a)
 {
     GET_TLS();
@@ -872,35 +916,6 @@
     }
 }
 
-static void SC_ambient(float r, float g, float b, float a)
-{
-    GLfloat params[] = { r, g, b, a };
-    glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, params);
-}
-
-static void SC_diffuse(float r, float g, float b, float a)
-{
-    GLfloat params[] = { r, g, b, a };
-    glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, params);
-}
-
-static void SC_specular(float r, float g, float b, float a)
-{
-    GLfloat params[] = { r, g, b, a };
-    glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, params);
-}
-
-static void SC_emission(float r, float g, float b, float a)
-{
-    GLfloat params[] = { r, g, b, a };
-    glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, params);
-}
-
-static void SC_shininess(float s)
-{
-    glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, s);
-}
-
 static void SC_pointAttenuation(float a, float b, float c)
 {
     GLfloat params[] = { a, b, c };
@@ -964,8 +979,10 @@
 
 static int SC_hsbToAbgr(float h, float s, float b, float a)
 {
+    //LOGE("hsb a %f, %f, %f    %f", h, s, b, a);
     float rgb[3];
     SC_hsbToRgb(h, s, b, rgb);
+    //LOGE("rgb  %f, %f, %f ", rgb[0], rgb[1], rgb[2]);
     return int(a      * 255.0f) << 24 |
            int(rgb[2] * 255.0f) << 16 |
            int(rgb[1] * 255.0f) <<  8 |
@@ -1045,27 +1062,28 @@
     return rsc->getHeight();
 }
 
-static uint32_t SC_colorFloatRGBAtoUNorm8(float r, float g, float b, float a)
-{
-    uint32_t c = 0;
-    c |= (uint32_t)(r * 255.f + 0.5f);
-    c |= ((uint32_t)(g * 255.f + 0.5f)) << 8;
-    c |= ((uint32_t)(b * 255.f + 0.5f)) << 16;
-    c |= ((uint32_t)(a * 255.f + 0.5f)) << 24;
-    return c;
+static uchar4 SC_convertColorTo8888_f3(float r, float g, float b) {
+    uchar4 t;
+    t.f[0] = (uint8_t)(r * 255.f);
+    t.f[1] = (uint8_t)(g * 255.f);
+    t.f[2] = (uint8_t)(b * 255.f);
+    t.f[3] = 0xff;
+    return t;
 }
 
-static uint32_t SC_colorFloatRGBAto565(float r, float g, float b)
-{
-    uint32_t ir = (uint32_t)(r * 255.f + 0.5f);
-    uint32_t ig = (uint32_t)(g * 255.f + 0.5f);
-    uint32_t ib = (uint32_t)(b * 255.f + 0.5f);
-    return rs888to565(ir, ig, ib);
+static uchar4 SC_convertColorTo8888_f4(float r, float g, float b, float a) {
+    uchar4 t;
+    t.f[0] = (uint8_t)(r * 255.f);
+    t.f[1] = (uint8_t)(g * 255.f);
+    t.f[2] = (uint8_t)(b * 255.f);
+    t.f[3] = (uint8_t)(a * 255.f);
+    return t;
 }
 
 static uint32_t SC_toClient(void *data, int cmdID, int len, int waitForSpace)
 {
     GET_TLS();
+    //LOGE("SC_toClient %i %i %i", cmdID, len, waitForSpace);
     return rsc->sendMessageToClient(data, cmdID, len, waitForSpace != 0);
 }
 
@@ -1075,316 +1093,283 @@
     rsc->runScript((Script *)scriptID, 0);
 }
 
+static void SC_debugP(int i, void *p)
+{
+    LOGE("debug P  %i  %p, %i", i, p, (int)p);
+}
+
+static void SC_debugPi(int i, int p)
+{
+    LOGE("debug Pi %i  0x%08x, %i", i, p, (int)p);
+}
+
+static void SC_debugPf(int i, float p)
+{
+    LOGE("debug Pf  %i  %f,   0x%08x", i, p, reinterpret_cast<uint32_t *>(&p)[0]);
+}
+
+int SC_divsi3(int a, int b)
+{
+    return a / b;
+}
 
 //////////////////////////////////////////////////////////////////////////////
 // Class implementation
 //////////////////////////////////////////////////////////////////////////////
 
-ScriptCState::SymbolTable_t ScriptCState::gSyms[] = {
-    // IO
-    { "loadI32", (void *)&SC_loadI32,
-        "int", "(int, int)" },
-    //{ "loadU32", (void *)&SC_loadU32, "unsigned int", "(int, int)" },
-    { "loadF", (void *)&SC_loadF,
-        "float", "(int, int)" },
-    { "loadArrayF", (void *)&SC_loadArrayF,
-        "float*", "(int, int)" },
-    { "loadArrayI32", (void *)&SC_loadArrayI32,
-        "int*", "(int, int)" },
-    { "loadVec4", (void *)&SC_loadVec4,
-        "void", "(int, int, float *)" },
-    { "loadMatrix", (void *)&SC_loadMatrix,
-        "void", "(int, int, float *)" },
-    { "storeI32", (void *)&SC_storeI32,
-        "void", "(int, int, int)" },
-    //{ "storeU32", (void *)&SC_storeU32, "void", "(int, int, unsigned int)" },
-    { "storeF", (void *)&SC_storeF,
-        "void", "(int, int, float)" },
-    { "storeVec4", (void *)&SC_storeVec4,
-        "void", "(int, int, float *)" },
-    { "storeMatrix", (void *)&SC_storeMatrix,
-        "void", "(int, int, float *)" },
-    { "loadSimpleMeshVerticesF", (void *)&SC_loadSimpleMeshVerticesF,
-        "float*", "(int, int)" },
-    { "updateSimpleMesh", (void *)&SC_updateSimpleMesh,
-        "void", "(int)" },
+// llvm name mangling ref
+//  <builtin-type> ::= v  # void
+//                 ::= b  # bool
+//                 ::= c  # char
+//                 ::= a  # signed char
+//                 ::= h  # unsigned char
+//                 ::= s  # short
+//                 ::= t  # unsigned short
+//                 ::= i  # int
+//                 ::= j  # unsigned int
+//                 ::= l  # long
+//                 ::= m  # unsigned long
+//                 ::= x  # long long, __int64
+//                 ::= y  # unsigned long long, __int64
+//                 ::= f  # float
+//                 ::= d  # double
 
-    // math
-    { "modf", (void *)&fmod,
-        "float", "(float, float)" },
-    { "abs", (void *)&abs,
-        "int", "(int)" },
-    { "absf", (void *)&fabsf,
-        "float", "(float)" },
-    { "sinf_fast", (void *)&SC_sinf_fast,
-        "float", "(float)" },
-    { "cosf_fast", (void *)&SC_cosf_fast,
-        "float", "(float)" },
-    { "sinf", (void *)&sinf,
-        "float", "(float)" },
-    { "cosf", (void *)&cosf,
-        "float", "(float)" },
-    { "asinf", (void *)&asinf,
-        "float", "(float)" },
-    { "acosf", (void *)&acosf,
-        "float", "(float)" },
-    { "atanf", (void *)&atanf,
-        "float", "(float)" },
-    { "atan2f", (void *)&atan2f,
-        "float", "(float, float)" },
-    { "fabsf", (void *)&fabsf,
-        "float", "(float)" },
-    { "randf", (void *)&SC_randf,
-        "float", "(float)" },
-    { "randf2", (void *)&SC_randf2,
-        "float", "(float, float)" },
-    { "floorf", (void *)&floorf,
-        "float", "(float)" },
-    { "fracf", (void *)&SC_fracf,
-        "float", "(float)" },
-    { "ceilf", (void *)&ceilf,
-        "float", "(float)" },
-    { "roundf", (void *)&SC_roundf,
-        "float", "(float)" },
-    { "expf", (void *)&expf,
-        "float", "(float)" },
-    { "logf", (void *)&logf,
-        "float", "(float)" },
-    { "powf", (void *)&powf,
-        "float", "(float, float)" },
-    { "maxf", (void *)&SC_maxf,
-        "float", "(float, float)" },
-    { "minf", (void *)&SC_minf,
-        "float", "(float, float)" },
-    { "sqrt", (void *)&sqrt,
-        "int", "(int)" },
-    { "sqrtf", (void *)&sqrtf,
-        "float", "(float)" },
-    { "sqr", (void *)&SC_sqr,
-        "int", "(int)" },
-    { "sqrf", (void *)&SC_sqrf,
-        "float", "(float)" },
-    { "sign", (void *)&SC_sign,
-        "int", "(int)" },
-    { "signf", (void *)&SC_signf,
-        "float", "(float)" },
-    { "clamp", (void *)&SC_clamp,
-        "int", "(int, int, int)" },
-    { "clampf", (void *)&SC_clampf,
-        "float", "(float, float, float)" },
-    { "distf2", (void *)&SC_distf2,
-        "float", "(float, float, float, float)" },
-    { "distf3", (void *)&SC_distf3,
-        "float", "(float, float, float, float, float, float)" },
-    { "magf2", (void *)&SC_magf2,
-        "float", "(float, float)" },
-    { "magf3", (void *)&SC_magf3,
-        "float", "(float, float, float)" },
-    { "radf", (void *)&SC_radf,
-        "float", "(float)" },
-    { "degf", (void *)&SC_degf,
-        "float", "(float)" },
-    { "lerpf", (void *)&SC_lerpf,
-        "float", "(float, float, float)" },
-    { "normf", (void *)&SC_normf,
-        "float", "(float, float, float)" },
-    { "mapf", (void *)&SC_mapf,
-        "float", "(float, float, float, float, float)" },
-    { "noisef", (void *)&SC_noisef,
-        "float", "(float)" },
-    { "noisef2", (void *)&SC_noisef2,
-        "float", "(float, float)" },
-    { "noisef3", (void *)&SC_noisef3,
-        "float", "(float, float, float)" },
-    { "turbulencef2", (void *)&SC_turbulencef2,
-        "float", "(float, float, float)" },
-    { "turbulencef3", (void *)&SC_turbulencef3,
-        "float", "(float, float, float, float)" },
+ScriptCState::SymbolTable_t ScriptCState::gSyms[] = {
+    { "__divsi3", (void *)&SC_divsi3 },
+
+    // IO
+    { "updateSimpleMesh", (void *)&SC_updateSimpleMesh },
+
+    // OpenCL math
+    { "_Z4acosf", (void *)&acosf },
+    { "_Z5acoshf", (void *)&acoshf },
+    { "_Z6acospif", (void *)&SC_acospi },
+    { "_Z4asinf", (void *)&asinf },
+    { "_Z5asinhf", (void *)&asinhf },
+    { "_Z6asinpif", (void *)&SC_asinpi },
+    { "_Z4atanf", (void *)&atanf },
+    { "_Z5atan2f", (void *)&atan2f },
+    { "_Z6atanpif", (void *)&SC_atanpi },
+    { "_Z7atan2pif", (void *)&SC_atan2pi },
+    { "_Z4cbrtf", (void *)&cbrtf },
+    { "_Z4ceilf", (void *)&ceilf },
+    { "_Z8copysignff", (void *)&copysignf },
+    { "_Z3cosf", (void *)&cosf },
+    { "_Z4coshf", (void *)&coshf },
+    { "_Z5cospif", (void *)&SC_cospi },
+    { "_Z4erfcf", (void *)&erfcf },
+    { "_Z3erff", (void *)&erff },
+    { "_Z3expf", (void *)&expf },
+    { "_Z4exp2f", (void *)&exp2f },
+    { "_Z5exp10f", (void *)&SC_exp10 },
+    { "_Z5expm1f", (void *)&expm1f },
+    { "_Z4fabsf", (void *)&fabsf },
+    { "_Z4fdimff", (void *)&fdimf },
+    { "_Z5floorf", (void *)&floorf },
+    { "_Z3fmafff", (void *)&fmaf },
+    { "_Z4fmaxff", (void *)&fmaxf },
+    { "_Z4fminff", (void *)&fminf },  // float fmin(float, float)
+    { "_Z4fmodff", (void *)&fmodf },
+    { "_Z5fractfPf", (void *)&SC_fract },
+    { "_Z5frexpfPi", (void *)&frexpf },
+    { "_Z5hypotff", (void *)&hypotf },
+    { "_Z5ilogbf", (void *)&ilogbf },
+    { "_Z5ldexpfi", (void *)&ldexpf },
+    { "_Z6lgammaf", (void *)&lgammaf },
+    { "_Z3logf", (void *)&logf },
+    { "_Z4log2f", (void *)&SC_log2 },
+    { "_Z5log10f", (void *)&log10f },
+    { "_Z5log1pf", (void *)&log1pf },
+    //{ "logb", (void *)& },
+    //{ "mad", (void *)& },
+    { "modf", (void *)&modff },
+    //{ "nan", (void *)& },
+    { "_Z9nextafterff", (void *)&nextafterf },
+    { "_Z3powff", (void *)&powf },
+    { "_Z4pownfi", (void *)&SC_pown },
+    { "_Z4powrff", (void *)&SC_powr },
+    { "_Z9remainderff", (void *)&remainderf },
+    { "remquo", (void *)&remquof },
+    { "_Z4rintf", (void *)&rintf },
+    { "_Z5rootnfi", (void *)&SC_rootn },
+    { "_Z5roundf", (void *)&roundf },
+    { "_Z5rsqrtf", (void *)&SC_rsqrt },
+    { "_Z3sinf", (void *)&sinf },
+    { "sincos", (void *)&SC_sincos },
+    { "_Z4sinhf", (void *)&sinhf },
+    { "_Z5sinpif", (void *)&SC_sinpi },
+    { "_Z4sqrtf", (void *)&sqrtf },
+    { "_Z3tanf", (void *)&tanf },
+    { "_Z4tanhf", (void *)&tanhf },
+    { "_Z5tanpif", (void *)&SC_tanpi },
+    //{ "tgamma", (void *)& },
+    { "_Z5truncf", (void *)&truncf },
+
+    // OpenCL Int
+    { "_Z3absi", (void *)&SC_abs_i32 },
+    { "_Z3abss", (void *)&SC_abs_i16 },
+    { "_Z3absc", (void *)&SC_abs_i8 },
+    { "_Z3clzj", (void *)&SC_clz_u32 },
+    { "_Z3clzt", (void *)&SC_clz_u16 },
+    { "_Z3clzh", (void *)&SC_clz_u8 },
+    { "_Z3clzi", (void *)&SC_clz_i32 },
+    { "_Z3clzs", (void *)&SC_clz_i16 },
+    { "_Z3clzc", (void *)&SC_clz_i8 },
+    { "_Z3maxjj", (void *)&SC_max_u32 },
+    { "_Z3maxtt", (void *)&SC_max_u16 },
+    { "_Z3maxhh", (void *)&SC_max_u8 },
+    { "_Z3maxii", (void *)&SC_max_i32 },
+    { "_Z3maxss", (void *)&SC_max_i16 },
+    { "_Z3maxcc", (void *)&SC_max_i8 },
+    { "_Z3minjj", (void *)&SC_min_u32 },
+    { "_Z3mintt", (void *)&SC_min_u16 },
+    { "_Z3minhh", (void *)&SC_min_u8 },
+    { "_Z3minii", (void *)&SC_min_i32 },
+    { "_Z3minss", (void *)&SC_min_i16 },
+    { "_Z3mincc", (void *)&SC_min_i8 },
+
+    // OpenCL 6.11.4
+    { "_Z5clampfff", (void *)&SC_clamp_f32 },
+    { "_Z7degreesf", (void *)&SC_degrees },
+    { "_Z3maxff", (void *)&SC_max_f32 },
+    { "_Z3minff", (void *)&SC_min_f32 },
+    { "_Z3mixfff", (void *)&SC_mix_f32 },
+    { "_Z7radiansf", (void *)&SC_radians },
+    { "_Z4stepff", (void *)&SC_step_f32 },
+    //{ "smoothstep", (void *)& },
+    { "_Z4signf", (void *)&SC_sign_f32 },
+
+
+
+
+    { "modf", (void *)&fmod },
+    { "_Z4fracf", (void *)&SC_frac },
+    //{ "sinf_fast", (void *)&SC_sinf_fast },
+    //{ "cosf_fast", (void *)&SC_cosf_fast },
+    { "randf", (void *)&SC_randf },
+    { "randf2", (void *)&SC_randf2 },
+    { "sign", (void *)&SC_sign },
+    { "clamp", (void *)&SC_clamp },
+    { "distf2", (void *)&SC_distf2 },
+    { "distf3", (void *)&SC_distf3 },
+    { "magf2", (void *)&SC_magf2 },
+    { "magf3", (void *)&SC_magf3 },
+    { "normf", (void *)&SC_normf },
+    { "mapf", (void *)&SC_mapf },
+    { "noisef", (void *)&SC_noisef },
+    { "noisef2", (void *)&SC_noisef2 },
+    { "noisef3", (void *)&SC_noisef3 },
+    { "turbulencef2", (void *)&SC_turbulencef2 },
+    { "turbulencef3", (void *)&SC_turbulencef3 },
 
     // time
-    { "second", (void *)&SC_second,
-        "int", "()" },
-    { "minute", (void *)&SC_minute,
-        "int", "()" },
-    { "hour", (void *)&SC_hour,
-        "int", "()" },
-    { "day", (void *)&SC_day,
-        "int", "()" },
-    { "month", (void *)&SC_month,
-        "int", "()" },
-    { "year", (void *)&SC_year,
-        "int", "()" },
-    { "uptimeMillis", (void*)&SC_uptimeMillis,
-        "int", "()" },      // TODO: use long instead
-    { "startTimeMillis", (void*)&SC_startTimeMillis,
-        "int", "()" },      // TODO: use long instead
-    { "elapsedTimeMillis", (void*)&SC_elapsedTimeMillis,
-        "int", "()" },      // TODO: use long instead
+    { "second", (void *)&SC_second },
+    { "minute", (void *)&SC_minute },
+    { "hour", (void *)&SC_hour },
+    { "day", (void *)&SC_day },
+    { "month", (void *)&SC_month },
+    { "year", (void *)&SC_year },
+    { "uptimeMillis", (void*)&SC_uptimeMillis },      // TODO: use long instead
+    { "startTimeMillis", (void*)&SC_startTimeMillis },      // TODO: use long instead
+    { "elapsedTimeMillis", (void*)&SC_elapsedTimeMillis },      // TODO: use long instead
 
     // matrix
-    { "matrixLoadIdentity", (void *)&SC_matrixLoadIdentity,
-        "void", "(float *mat)" },
-    { "matrixLoadFloat", (void *)&SC_matrixLoadFloat,
-        "void", "(float *mat, float *f)" },
-    { "matrixLoadMat", (void *)&SC_matrixLoadMat,
-        "void", "(float *mat, float *newmat)" },
-    { "matrixLoadRotate", (void *)&SC_matrixLoadRotate,
-        "void", "(float *mat, float rot, float x, float y, float z)" },
-    { "matrixLoadScale", (void *)&SC_matrixLoadScale,
-        "void", "(float *mat, float x, float y, float z)" },
-    { "matrixLoadTranslate", (void *)&SC_matrixLoadTranslate,
-        "void", "(float *mat, float x, float y, float z)" },
-    { "matrixLoadMultiply", (void *)&SC_matrixLoadMultiply,
-        "void", "(float *mat, float *lhs, float *rhs)" },
-    { "matrixMultiply", (void *)&SC_matrixMultiply,
-        "void", "(float *mat, float *rhs)" },
-    { "matrixRotate", (void *)&SC_matrixRotate,
-        "void", "(float *mat, float rot, float x, float y, float z)" },
-    { "matrixScale", (void *)&SC_matrixScale,
-        "void", "(float *mat, float x, float y, float z)" },
-    { "matrixTranslate", (void *)&SC_matrixTranslate,
-        "void", "(float *mat, float x, float y, float z)" },
+    { "matrixLoadIdentity", (void *)&SC_matrixLoadIdentity },
+    { "matrixLoadFloat", (void *)&SC_matrixLoadFloat },
+    { "matrixLoadMat", (void *)&SC_matrixLoadMat },
+    { "matrixLoadRotate", (void *)&SC_matrixLoadRotate },
+    { "matrixLoadScale", (void *)&SC_matrixLoadScale },
+    { "matrixLoadTranslate", (void *)&SC_matrixLoadTranslate },
+    { "matrixLoadMultiply", (void *)&SC_matrixLoadMultiply },
+    { "matrixMultiply", (void *)&SC_matrixMultiply },
+    { "matrixRotate", (void *)&SC_matrixRotate },
+    { "matrixScale", (void *)&SC_matrixScale },
+    { "matrixTranslate", (void *)&SC_matrixTranslate },
 
     // vector
-    { "vec2Rand", (void *)&SC_vec2Rand,
-        "void", "(float *vec, float maxLen)" },
+    { "vec2Rand", (void *)&SC_vec2Rand },
 
     // vec3
-    { "vec3Norm", (void *)&SC_vec3Norm,
-        "void", "(struct vecF32_3_s *)" },
-    { "vec3Length", (void *)&SC_vec3Length,
-        "float", "(struct vecF32_3_s *)" },
-    { "vec3Add", (void *)&SC_vec3Add,
-        "void", "(struct vecF32_3_s *dest, struct vecF32_3_s *lhs, struct vecF32_3_s *rhs)" },
-    { "vec3Sub", (void *)&SC_vec3Sub,
-        "void", "(struct vecF32_3_s *dest, struct vecF32_3_s *lhs, struct vecF32_3_s *rhs)" },
-    { "vec3Cross", (void *)&SC_vec3Cross,
-        "void", "(struct vecF32_3_s *dest, struct vecF32_3_s *lhs, struct vecF32_3_s *rhs)" },
-    { "vec3Dot", (void *)&SC_vec3Dot,
-        "float", "(struct vecF32_3_s *lhs, struct vecF32_3_s *rhs)" },
-    { "vec3Scale", (void *)&SC_vec3Scale,
-        "void", "(struct vecF32_3_s *lhs, float scale)" },
+    { "vec3Norm", (void *)&SC_vec3Norm },
+    { "vec3Length", (void *)&SC_vec3Length },
+    { "vec3Add", (void *)&SC_vec3Add },
+    { "vec3Sub", (void *)&SC_vec3Sub },
+    { "vec3Cross", (void *)&SC_vec3Cross },
+    { "vec3Dot", (void *)&SC_vec3Dot },
+    { "vec3Scale", (void *)&SC_vec3Scale },
 
     // vec4
-    { "vec4Norm", (void *)&SC_vec4Norm,
-        "void", "(struct vecF32_4_s *)" },
-    { "vec4Length", (void *)&SC_vec4Length,
-        "float", "(struct vecF32_4_s *)" },
-    { "vec4Add", (void *)&SC_vec4Add,
-        "void", "(struct vecF32_4_s *dest, struct vecF32_4_s *lhs, struct vecF32_4_s *rhs)" },
-    { "vec4Sub", (void *)&SC_vec4Sub,
-        "void", "(struct vecF32_4_s *dest, struct vecF32_4_s *lhs, struct vecF32_4_s *rhs)" },
-    { "vec4Dot", (void *)&SC_vec4Dot,
-        "float", "(struct vecF32_4_s *lhs, struct vecF32_4_s *rhs)" },
-    { "vec4Scale", (void *)&SC_vec4Scale,
-        "void", "(struct vecF32_4_s *lhs, float scale)" },
+    { "vec4Norm", (void *)&SC_vec4Norm },
+    { "vec4Length", (void *)&SC_vec4Length },
+    { "vec4Add", (void *)&SC_vec4Add },
+    { "vec4Sub", (void *)&SC_vec4Sub },
+    { "vec4Dot", (void *)&SC_vec4Dot },
+    { "vec4Scale", (void *)&SC_vec4Scale },
 
     // context
-    { "bindProgramFragment", (void *)&SC_bindProgramFragment,
-        "void", "(int)" },
-    { "bindProgramFragmentStore", (void *)&SC_bindProgramFragmentStore,
-        "void", "(int)" },
-    { "bindProgramStore", (void *)&SC_bindProgramFragmentStore,
-        "void", "(int)" },
-    { "bindProgramVertex", (void *)&SC_bindProgramVertex,
-        "void", "(int)" },
-    { "bindSampler", (void *)&SC_bindSampler,
-        "void", "(int, int, int)" },
-    { "bindTexture", (void *)&SC_bindTexture,
-        "void", "(int, int, int)" },
+    { "bindProgramFragment", (void *)&SC_bindProgramFragment },
+    { "bindProgramStore", (void *)&SC_bindProgramStore },
+    { "bindProgramVertex", (void *)&SC_bindProgramVertex },
+    { "bindProgramRaster", (void *)&SC_bindProgramRaster },
+    { "bindSampler", (void *)&SC_bindSampler },
+    { "bindTexture", (void *)&SC_bindTexture },
 
     // vp
-    { "vpLoadModelMatrix", (void *)&SC_vpLoadModelMatrix,
-        "void", "(void *)" },
-    { "vpLoadTextureMatrix", (void *)&SC_vpLoadTextureMatrix,
-        "void", "(void *)" },
+    { "vpLoadModelMatrix", (void *)&SC_vpLoadModelMatrix },
+    { "vpLoadTextureMatrix", (void *)&SC_vpLoadTextureMatrix },
 
-
+    // allocation
+    { "allocGetDimX", (void *)&SC_allocGetDimX },
+    { "allocGetDimY", (void *)&SC_allocGetDimY },
+    { "allocGetDimZ", (void *)&SC_allocGetDimZ },
+    { "allocGetDimLOD", (void *)&SC_allocGetDimLOD },
+    { "allocGetDimFaces", (void *)&SC_allocGetDimFaces },
 
     // drawing
-    { "drawRect", (void *)&SC_drawRect,
-        "void", "(float x1, float y1, float x2, float y2, float z)" },
-    { "drawQuad", (void *)&SC_drawQuad,
-        "void", "(float x1, float y1, float z1, float x2, float y2, float z2, float x3, float y3, float z3, float x4, float y4, float z4)" },
-    { "drawQuadTexCoords", (void *)&SC_drawQuadTexCoords,
-        "void", "(float x1, float y1, float z1, float u1, float v1, float x2, float y2, float z2, float u2, float v2, float x3, float y3, float z3, float u3, float v3, float x4, float y4, float z4, float u4, float v4)" },
-    { "drawSprite", (void *)&SC_drawSprite,
-        "void", "(float x, float y, float z, float w, float h)" },
-    { "drawSpriteScreenspace", (void *)&SC_drawSpriteScreenspace,
-        "void", "(float x, float y, float z, float w, float h)" },
-    { "drawSpriteScreenspaceCropped", (void *)&SC_drawSpriteScreenspaceCropped,
-        "void", "(float x, float y, float z, float w, float h, float cx0, float cy0, float cx1, float cy1)" },
-    { "drawLine", (void *)&SC_drawLine,
-        "void", "(float x1, float y1, float z1, float x2, float y2, float z2)" },
-    { "drawPoint", (void *)&SC_drawPoint,
-        "void", "(float x1, float y1, float z1)" },
-    { "drawSimpleMesh", (void *)&SC_drawSimpleMesh,
-        "void", "(int ism)" },
-    { "drawSimpleMeshRange", (void *)&SC_drawSimpleMeshRange,
-        "void", "(int ism, int start, int len)" },
+    { "drawRect", (void *)&SC_drawRect },
+    { "drawQuad", (void *)&SC_drawQuad },
+    { "drawQuadTexCoords", (void *)&SC_drawQuadTexCoords },
+    { "drawSprite", (void *)&SC_drawSprite },
+    { "drawSpriteScreenspace", (void *)&SC_drawSpriteScreenspace },
+    { "drawSpriteScreenspaceCropped", (void *)&SC_drawSpriteScreenspaceCropped },
+    { "drawLine", (void *)&SC_drawLine },
+    { "drawPoint", (void *)&SC_drawPoint },
+    { "drawSimpleMesh", (void *)&SC_drawSimpleMesh },
+    { "drawSimpleMeshRange", (void *)&SC_drawSimpleMeshRange },
 
 
     // misc
-    { "pfClearColor", (void *)&SC_ClearColor,
-        "void", "(float, float, float, float)" },
-    { "color", (void *)&SC_color,
-        "void", "(float, float, float, float)" },
-    { "hsb", (void *)&SC_hsb,
-        "void", "(float, float, float, float)" },
-    { "hsbToRgb", (void *)&SC_hsbToRgb,
-        "void", "(float, float, float, float*)" },
-    { "hsbToAbgr", (void *)&SC_hsbToAbgr,
-        "int", "(float, float, float, float)" },
-    { "ambient", (void *)&SC_ambient,
-        "void", "(float, float, float, float)" },
-    { "diffuse", (void *)&SC_diffuse,
-        "void", "(float, float, float, float)" },
-    { "specular", (void *)&SC_specular,
-        "void", "(float, float, float, float)" },
-    { "emission", (void *)&SC_emission,
-        "void", "(float, float, float, float)" },
-    { "shininess", (void *)&SC_shininess,
-        "void", "(float)" },
-    { "pointAttenuation", (void *)&SC_pointAttenuation,
-        "void", "(float, float, float)" },
+    { "pfClearColor", (void *)&SC_ClearColor },
+    { "color", (void *)&SC_color },
+    { "hsb", (void *)&SC_hsb },
+    { "hsbToRgb", (void *)&SC_hsbToRgb },
+    { "hsbToAbgr", (void *)&SC_hsbToAbgr },
+    { "pointAttenuation", (void *)&SC_pointAttenuation },
 
-    { "uploadToTexture", (void *)&SC_uploadToTexture,
-        "void", "(int, int)" },
-    { "uploadToBufferObject", (void *)&SC_uploadToBufferObject,
-        "void", "(int)" },
+    { "uploadToTexture", (void *)&SC_uploadToTexture },
+    { "uploadToBufferObject", (void *)&SC_uploadToBufferObject },
 
-    { "syncToGL", (void *)&SC_syncToGL,
-        "void", "(int)" },
+    { "syncToGL", (void *)&SC_syncToGL },
 
-    { "colorFloatRGBAtoUNorm8", (void *)&SC_colorFloatRGBAtoUNorm8,
-        "int", "(float, float, float, float)" },
-    { "colorFloatRGBto565", (void *)&SC_colorFloatRGBAto565,
-        "int", "(float, float, float)" },
+    { "getWidth", (void *)&SC_getWidth },
+    { "getHeight", (void *)&SC_getHeight },
 
+    { "sendToClient", (void *)&SC_toClient },
 
-    { "getWidth", (void *)&SC_getWidth,
-        "int", "()" },
-    { "getHeight", (void *)&SC_getHeight,
-        "int", "()" },
+    { "_Z18convertColorTo8888fff", (void *)&SC_convertColorTo8888_f3 },
+    { "_Z18convertColorTo8888ffff", (void *)&SC_convertColorTo8888_f4 },
 
-    { "sendToClient", (void *)&SC_toClient,
-        "int", "(void *data, int cmdID, int len, int waitForSpace)" },
+    { "debugF", (void *)&SC_debugF },
+    { "debugI32", (void *)&SC_debugI32 },
+    { "debugHexF", (void *)&SC_debugHexF },
+    { "debugHexI32", (void *)&SC_debugHexI32 },
+    { "debugP", (void *)&SC_debugP },
+    { "debugPf", (void *)&SC_debugPf },
+    { "debugPi", (void *)&SC_debugPi },
 
+    { "scriptCall", (void *)&SC_scriptCall },
 
-    { "debugF", (void *)&SC_debugF,
-        "void", "(void *, float)" },
-    { "debugI32", (void *)&SC_debugI32,
-        "void", "(void *, int)" },
-    { "debugHexF", (void *)&SC_debugHexF,
-        "void", "(void *, float)" },
-    { "debugHexI32", (void *)&SC_debugHexI32,
-        "void", "(void *, int)" },
-
-    { "scriptCall", (void *)&SC_scriptCall,
-        "void", "(int)" },
-
-
-    { NULL, NULL, NULL, NULL }
+    { NULL, NULL }
 };
 
 const ScriptCState::SymbolTable_t * ScriptCState::lookupSymbol(const char *sym)
@@ -1400,17 +1385,3 @@
     return NULL;
 }
 
-void ScriptCState::appendDecls(String8 *str)
-{
-    ScriptCState::SymbolTable_t *syms = gSyms;
-    while (syms->mPtr) {
-        str->append(syms->mRet);
-        str->append(" ");
-        str->append(syms->mName);
-        str->append(syms->mParam);
-        str->append(";\n");
-        syms++;
-    }
-}
-
-
diff --git a/libs/rs/rsUtils.h b/libs/rs/rsUtils.h
index 07f8933..adddf49 100644
--- a/libs/rs/rsUtils.h
+++ b/libs/rs/rsUtils.h
@@ -41,6 +41,38 @@
 #define rsAssert(v) while(0)
 #endif
 
+typedef float rsvF_2 __attribute__ ((vector_size (8)));
+typedef float rsvF_4 __attribute__ ((vector_size (16)));
+typedef float rsvF_8 __attribute__ ((vector_size (32)));
+typedef float rsvF_16 __attribute__ ((vector_size (64)));
+typedef uint8_t rsvU8_4 __attribute__ ((vector_size (4)));
+
+union float2 {
+    rsvF_2 v;
+    float f[2];
+};
+
+union float4 {
+    rsvF_4 v;
+    float f[4];
+};
+
+union float8 {
+    rsvF_8 v;
+    float f[8];
+};
+
+union float16 {
+    rsvF_16 v;
+    float f[16];
+};
+
+union uchar4 {
+    rsvU8_4 v;
+    uint8_t f[4];
+    uint32_t packed;
+};
+
 template<typename T>
 T rsMin(T in1, T in2)
 {
diff --git a/libs/rs/scriptc/rs_geom.rsh b/libs/rs/scriptc/rs_geom.rsh
deleted file mode 100644
index 6e9e9fc..0000000
--- a/libs/rs/scriptc/rs_geom.rsh
+++ /dev/null
@@ -1,26 +0,0 @@
-
-extern float3 __attribute__((overloadable)) cross(float3, float3);
-extern float4 __attribute__((overloadable)) cross(float4, float4);
-
-//extern float __attribute__((overloadable)) dot(float, float);
-extern float __attribute__((overloadable)) dot(float2, float2);
-extern float __attribute__((overloadable)) dot(float3, float3);
-extern float __attribute__((overloadable)) dot(float4, float4);
-
-//extern float __attribute__((overloadable)) distance(float, float);
-extern float __attribute__((overloadable)) distance(float2, float2);
-extern float __attribute__((overloadable)) distance(float3, float3);
-extern float __attribute__((overloadable)) distance(float4, float4);
-
-//extern float __attribute__((overloadable)) length(float);
-extern float __attribute__((overloadable)) length(float2);
-extern float __attribute__((overloadable)) length(float3);
-extern float __attribute__((overloadable)) length(float4);
-
-extern float2 __attribute__((overloadable)) normalize(float2);
-extern float3 __attribute__((overloadable)) normalize(float3);
-extern float4 __attribute__((overloadable)) normalize(float4);
-
-
-
-
diff --git a/libs/rs/scriptc/rs_graphics.rsh b/libs/rs/scriptc/rs_graphics.rsh
index 0f03732..4696fb3 100644
--- a/libs/rs/scriptc/rs_graphics.rsh
+++ b/libs/rs/scriptc/rs_graphics.rsh
@@ -2,6 +2,7 @@
 
 extern float rand(float max);
 
+//extern void vec2Rand(float *, float len);
 extern float2 vec2Rand(float len);
 
 extern float3 float3Norm(float3);
@@ -59,9 +60,21 @@
 
 extern int sendToClient(void *data, int cmdID, int len, int waitForSpace);
 
-extern void debugF(const char *, float);
-extern void debugI32(const char *, int);
-extern void debugHexI32(const char *, int);
+extern uint32_t allocGetDimX(rs_allocation);
+extern uint32_t allocGetDimY(rs_allocation);
+extern uint32_t allocGetDimZ(rs_allocation);
+extern uint32_t allocGetDimLOD(rs_allocation);
+extern uint32_t allocGetDimFaces(rs_allocation);
 
+//
+extern float normf(float start, float stop, float value);
+extern float clampf(float amount, float low, float high);
+extern float turbulencef2(float x, float y, float octaves);
+extern float turbulencef3(float x, float y, float z, float octaves);
+
+extern uchar4 __attribute__((overloadable)) convertColorTo8888(float r, float g, float b);
+extern uchar4 __attribute__((overloadable)) convertColorTo8888(float r, float g, float b, float a);
+extern uchar4 __attribute__((overloadable)) convertColorTo8888(float3);
+extern uchar4 __attribute__((overloadable)) convertColorTo8888(float4);
 
 
diff --git a/libs/rs/scriptc/rs_math.rsh b/libs/rs/scriptc/rs_math.rsh
index fba0f8f..48ab066 100644
--- a/libs/rs/scriptc/rs_math.rsh
+++ b/libs/rs/scriptc/rs_math.rsh
@@ -1,285 +1,653 @@
-// Float ops
-
-extern float __attribute__((overloadable)) abs(float);
-//extern float2 __attribute__((overloadable)) abs(float2);
-//extern float3 __attribute__((overloadable)) abs(float3);
-//extern float4 __attribute__((overloadable)) abs(float4);
-//extern float8 __attribute__((overloadable)) abs(float8);
-//extern float16 __attribute__((overloadable)) abs(float16);
+// Float ops, 6.11.2
 
 extern float __attribute__((overloadable)) acos(float);
-//extern float2 __attribute__((overloadable)) acos(float2);
-//extern float3 __attribute__((overloadable)) acos(float3);
-//extern float4 __attribute__((overloadable)) acos(float4);
-//extern float8 __attribute__((overloadable)) acos(float8);
-//extern float16 __attribute__((overloadable)) acos(float16);
+extern float2 __attribute__((overloadable)) acos(float2);
+extern float3 __attribute__((overloadable)) acos(float3);
+extern float4 __attribute__((overloadable)) acos(float4);
+extern float8 __attribute__((overloadable)) acos(float8);
+extern float16 __attribute__((overloadable)) acos(float16);
+
+extern float __attribute__((overloadable)) acosh(float);
+extern float2 __attribute__((overloadable)) acosh(float2);
+extern float3 __attribute__((overloadable)) acosh(float3);
+extern float4 __attribute__((overloadable)) acosh(float4);
+extern float8 __attribute__((overloadable)) acosh(float8);
+extern float16 __attribute__((overloadable)) acosh(float16);
+
+extern float __attribute__((overloadable)) acospi(float);
+extern float2 __attribute__((overloadable)) acospi(float2);
+extern float3 __attribute__((overloadable)) acospi(float3);
+extern float4 __attribute__((overloadable)) acospi(float4);
+extern float8 __attribute__((overloadable)) acospi(float8);
+extern float16 __attribute__((overloadable)) acospi(float16);
 
 extern float __attribute__((overloadable)) asin(float);
-//extern float2 __attribute__((overloadable)) asin(float2);
-//extern float3 __attribute__((overloadable)) asin(float3);
-//extern float4 __attribute__((overloadable)) asin(float4);
-//extern float8 __attribute__((overloadable)) asin(float8);
-//extern float16 __attribute__((overloadable)) asin(float16);
+extern float2 __attribute__((overloadable)) asin(float2);
+extern float3 __attribute__((overloadable)) asin(float3);
+extern float4 __attribute__((overloadable)) asin(float4);
+extern float8 __attribute__((overloadable)) asin(float8);
+extern float16 __attribute__((overloadable)) asin(float16);
+
+extern float __attribute__((overloadable)) asinh(float);
+extern float2 __attribute__((overloadable)) asinh(float2);
+extern float3 __attribute__((overloadable)) asinh(float3);
+extern float4 __attribute__((overloadable)) asinh(float4);
+extern float8 __attribute__((overloadable)) asinh(float8);
+extern float16 __attribute__((overloadable)) asinh(float16);
+
+extern float __attribute__((overloadable)) asinpi(float);
+extern float2 __attribute__((overloadable)) asinpi(float2);
+extern float3 __attribute__((overloadable)) asinpi(float3);
+extern float4 __attribute__((overloadable)) asinpi(float4);
+extern float8 __attribute__((overloadable)) asinpi(float8);
+extern float16 __attribute__((overloadable)) asinpi(float16);
 
 extern float __attribute__((overloadable)) atan(float);
-//extern float2 __attribute__((overloadable)) atan(float2);
-//extern float3 __attribute__((overloadable)) atan(float3);
-//extern float4 __attribute__((overloadable)) atan(float4);
-//extern float8 __attribute__((overloadable)) atan(float8);
-//extern float16 __attribute__((overloadable)) atan(float16);
+extern float2 __attribute__((overloadable)) atan(float2);
+extern float3 __attribute__((overloadable)) atan(float3);
+extern float4 __attribute__((overloadable)) atan(float4);
+extern float8 __attribute__((overloadable)) atan(float8);
+extern float16 __attribute__((overloadable)) atan(float16);
 
 extern float __attribute__((overloadable)) atan2(float, float);
-//extern float2 __attribute__((overloadable)) atan2(float2, float2);
-//extern float3 __attribute__((overloadable)) atan2(float3, float3);
-//extern float4 __attribute__((overloadable)) atan2(float4, float4);
-//extern float8 __attribute__((overloadable)) atan2(float8, float8);
-//extern float16 __attribute__((overloadable)) atan2(float16, float16);
+extern float2 __attribute__((overloadable)) atan2(float2, float2);
+extern float3 __attribute__((overloadable)) atan2(float3, float3);
+extern float4 __attribute__((overloadable)) atan2(float4, float4);
+extern float8 __attribute__((overloadable)) atan2(float8, float8);
+extern float16 __attribute__((overloadable)) atan2(float16, float16);
+
+extern float __attribute__((overloadable)) atanh(float);
+extern float2 __attribute__((overloadable)) atanh(float2);
+extern float3 __attribute__((overloadable)) atanh(float3);
+extern float4 __attribute__((overloadable)) atanh(float4);
+extern float8 __attribute__((overloadable)) atanh(float8);
+extern float16 __attribute__((overloadable)) atanh(float16);
+
+extern float __attribute__((overloadable)) atanpi(float);
+extern float2 __attribute__((overloadable)) atanpi(float2);
+extern float3 __attribute__((overloadable)) atanpi(float3);
+extern float4 __attribute__((overloadable)) atanpi(float4);
+extern float8 __attribute__((overloadable)) atanpi(float8);
+extern float16 __attribute__((overloadable)) atanpi(float16);
+
+extern float __attribute__((overloadable)) atan2pi(float, float);
+extern float2 __attribute__((overloadable)) atan2pi(float2, float2);
+extern float3 __attribute__((overloadable)) atan2pi(float3, float3);
+extern float4 __attribute__((overloadable)) atan2pi(float4, float4);
+extern float8 __attribute__((overloadable)) atan2pi(float8, float8);
+extern float16 __attribute__((overloadable)) atan2pi(float16, float16);
+
+extern float __attribute__((overloadable)) cbrt(float);
+extern float2 __attribute__((overloadable)) cbrt(float2);
+extern float3 __attribute__((overloadable)) cbrt(float3);
+extern float4 __attribute__((overloadable)) cbrt(float4);
+extern float8 __attribute__((overloadable)) cbrt(float8);
+extern float16 __attribute__((overloadable)) cbrt(float16);
 
 extern float __attribute__((overloadable)) ceil(float);
-//extern float2 __attribute__((overloadable)) ceil(float2);
-//extern float3 __attribute__((overloadable)) ceil(float3);
-//extern float4 __attribute__((overloadable)) ceil(float4);
-//extern float8 __attribute__((overloadable)) ceil(float8);
-//extern float16 __attribute__((overloadable)) ceil(float16);
-
-extern float __attribute__((overloadable)) clamp(float, float, float);
-//extern float2 __attribute__((overloadable)) clamp(float2, float2, float2);
-//extern float3 __attribute__((overloadable)) clamp(float3, float3, float3);
-//extern float4 __attribute__((overloadable)) clamp(float4, float4, float4);
-//extern float8 __attribute__((overloadable)) clamp(float8, float8, float8);
-//extern float16 __attribute__((overloadable)) clamp(float16, float16, float16);
-//extern float2 __attribute__((overloadable)) clamp(float2, float, float);
-//extern float3 __attribute__((overloadable)) clamp(float3, float, float);
-//extern float4 __attribute__((overloadable)) clamp(float4, float, float);
-//extern float8 __attribute__((overloadable)) clamp(float8, float, float);
-//extern float16 __attribute__((overloadable)) clamp(float16, float, float);
+extern float2 __attribute__((overloadable)) ceil(float2);
+extern float3 __attribute__((overloadable)) ceil(float3);
+extern float4 __attribute__((overloadable)) ceil(float4);
+extern float8 __attribute__((overloadable)) ceil(float8);
+extern float16 __attribute__((overloadable)) ceil(float16);
 
 extern float __attribute__((overloadable)) copysign(float, float);
-//extern float2 __attribute__((overloadable)) copysign(float2, float2);
-//extern float3 __attribute__((overloadable)) copysign(float3, float3);
-//extern float4 __attribute__((overloadable)) copysign(float4, float4);
-//extern float8 __attribute__((overloadable)) copysign(float8, float8);
-//extern float16 __attribute__((overloadable)) copysign(float16, float16);
+extern float2 __attribute__((overloadable)) copysign(float2, float2);
+extern float3 __attribute__((overloadable)) copysign(float3, float3);
+extern float4 __attribute__((overloadable)) copysign(float4, float4);
+extern float8 __attribute__((overloadable)) copysign(float8, float8);
+extern float16 __attribute__((overloadable)) copysign(float16, float16);
 
 extern float __attribute__((overloadable)) cos(float);
-//extern float2 __attribute__((overloadable)) cos(float2);
-//extern float3 __attribute__((overloadable)) cos(float3);
-//extern float4 __attribute__((overloadable)) cos(float4);
-//extern float8 __attribute__((overloadable)) cos(float8);
-//extern float16 __attribute__((overloadable)) cos(float16);
+extern float2 __attribute__((overloadable)) cos(float2);
+extern float3 __attribute__((overloadable)) cos(float3);
+extern float4 __attribute__((overloadable)) cos(float4);
+extern float8 __attribute__((overloadable)) cos(float8);
+extern float16 __attribute__((overloadable)) cos(float16);
 
-extern float __attribute__((overloadable)) degrees(float);
-//extern float2 __attribute__((overloadable)) degrees(float2);
-//extern float3 __attribute__((overloadable)) degrees(float3);
-//extern float4 __attribute__((overloadable)) degrees(float4);
-//extern float8 __attribute__((overloadable)) degrees(float8);
-//extern float16 __attribute__((overloadable)) degrees(float16);
+extern float __attribute__((overloadable)) cosh(float);
+extern float2 __attribute__((overloadable)) cosh(float2);
+extern float3 __attribute__((overloadable)) cosh(float3);
+extern float4 __attribute__((overloadable)) cosh(float4);
+extern float8 __attribute__((overloadable)) cosh(float8);
+extern float16 __attribute__((overloadable)) cosh(float16);
+
+extern float __attribute__((overloadable)) cospi(float);
+extern float2 __attribute__((overloadable)) cospi(float2);
+extern float3 __attribute__((overloadable)) cospi(float3);
+extern float4 __attribute__((overloadable)) cospi(float4);
+extern float8 __attribute__((overloadable)) cospi(float8);
+extern float16 __attribute__((overloadable)) cospi(float16);
+
+extern float __attribute__((overloadable)) erfc(float);
+extern float2 __attribute__((overloadable)) erfc(float2);
+extern float3 __attribute__((overloadable)) erfc(float3);
+extern float4 __attribute__((overloadable)) erfc(float4);
+extern float8 __attribute__((overloadable)) erfc(float8);
+extern float16 __attribute__((overloadable)) erfc(float16);
+
+extern float __attribute__((overloadable)) erf(float);
+extern float2 __attribute__((overloadable)) erf(float2);
+extern float3 __attribute__((overloadable)) erf(float3);
+extern float4 __attribute__((overloadable)) erf(float4);
+extern float8 __attribute__((overloadable)) erf(float8);
+extern float16 __attribute__((overloadable)) erf(float16);
 
 extern float __attribute__((overloadable)) exp(float);
-//extern float2 __attribute__((overloadable)) exp(float2);
-//extern float3 __attribute__((overloadable)) exp(float3);
-//extern float4 __attribute__((overloadable)) exp(float4);
-//extern float8 __attribute__((overloadable)) exp(float8);
-//extern float16 __attribute__((overloadable)) exp(float16);
+extern float2 __attribute__((overloadable)) exp(float2);
+extern float3 __attribute__((overloadable)) exp(float3);
+extern float4 __attribute__((overloadable)) exp(float4);
+extern float8 __attribute__((overloadable)) exp(float8);
+extern float16 __attribute__((overloadable)) exp(float16);
 
 extern float __attribute__((overloadable)) exp2(float);
-//extern float2 __attribute__((overloadable)) exp2(float2);
-//extern float3 __attribute__((overloadable)) exp2(float3);
-//extern float4 __attribute__((overloadable)) exp2(float4);
-//extern float8 __attribute__((overloadable)) exp2(float8);
-//extern float16 __attribute__((overloadable)) exp2(float16);
+extern float2 __attribute__((overloadable)) exp2(float2);
+extern float3 __attribute__((overloadable)) exp2(float3);
+extern float4 __attribute__((overloadable)) exp2(float4);
+extern float8 __attribute__((overloadable)) exp2(float8);
+extern float16 __attribute__((overloadable)) exp2(float16);
 
 extern float __attribute__((overloadable)) exp10(float);
-//extern float2 __attribute__((overloadable)) exp10(float2);
-//extern float3 __attribute__((overloadable)) exp10(float3);
-//extern float4 __attribute__((overloadable)) exp10(float4);
-//extern float8 __attribute__((overloadable)) exp10(float8);
-//extern float16 __attribute__((overloadable)) exp10(float16);
+extern float2 __attribute__((overloadable)) exp10(float2);
+extern float3 __attribute__((overloadable)) exp10(float3);
+extern float4 __attribute__((overloadable)) exp10(float4);
+extern float8 __attribute__((overloadable)) exp10(float8);
+extern float16 __attribute__((overloadable)) exp10(float16);
+
+extern float __attribute__((overloadable)) expm1(float);
+extern float2 __attribute__((overloadable)) expm1(float2);
+extern float3 __attribute__((overloadable)) expm1(float3);
+extern float4 __attribute__((overloadable)) expm1(float4);
+extern float8 __attribute__((overloadable)) expm1(float8);
+extern float16 __attribute__((overloadable)) expm1(float16);
 
 extern float __attribute__((overloadable)) fabs(float);
-//extern float2 __attribute__((overloadable)) fabs(float2);
-//extern float3 __attribute__((overloadable)) fabs(float3);
-//extern float4 __attribute__((overloadable)) fabs(float4);
-//extern float8 __attribute__((overloadable)) fabs(float8);
-//extern float16 __attribute__((overloadable)) fabs(float16);
+extern float2 __attribute__((overloadable)) fabs(float2);
+extern float3 __attribute__((overloadable)) fabs(float3);
+extern float4 __attribute__((overloadable)) fabs(float4);
+extern float8 __attribute__((overloadable)) fabs(float8);
+extern float16 __attribute__((overloadable)) fabs(float16);
+
+extern float __attribute__((overloadable)) fdim(float, float);
+extern float2 __attribute__((overloadable)) fdim(float2, float2);
+extern float3 __attribute__((overloadable)) fdim(float3, float3);
+extern float4 __attribute__((overloadable)) fdim(float4, float4);
+extern float8 __attribute__((overloadable)) fdim(float8, float8);
+extern float16 __attribute__((overloadable)) fdim(float16, float16);
 
 extern float __attribute__((overloadable)) floor(float);
-//extern float2 __attribute__((overloadable)) floor(float2);
-//extern float3 __attribute__((overloadable)) floor(float3);
-//extern float4 __attribute__((overloadable)) floor(float4);
-//extern float8 __attribute__((overloadable)) floor(float8);
-//extern float16 __attribute__((overloadable)) floor(float16);
+extern float2 __attribute__((overloadable)) floor(float2);
+extern float3 __attribute__((overloadable)) floor(float3);
+extern float4 __attribute__((overloadable)) floor(float4);
+extern float8 __attribute__((overloadable)) floor(float8);
+extern float16 __attribute__((overloadable)) floor(float16);
+
+extern float __attribute__((overloadable)) fma(float, float, float);
+extern float2 __attribute__((overloadable)) fma(float2, float2, float2);
+extern float3 __attribute__((overloadable)) fma(float3, float3, float3);
+extern float4 __attribute__((overloadable)) fma(float4, float4, float4);
+extern float8 __attribute__((overloadable)) fma(float8, float8, float8);
+extern float16 __attribute__((overloadable)) fma(float16, float16, float16);
 
 extern float __attribute__((overloadable)) fmax(float, float);
-//extern float2 __attribute__((overloadable)) fmax(float2, float2);
-//extern float3 __attribute__((overloadable)) fmax(float3, float3);
-//extern float4 __attribute__((overloadable)) fmax(float4, float4);
-//extern float8 __attribute__((overloadable)) fmax(float8, float8);
-//extern float16 __attribute__((overloadable)) fmax(float16, float16);
-//extern float2 __attribute__((overloadable)) fmax(float2, float);
-//extern float3 __attribute__((overloadable)) fmax(float3, float);
-//extern float4 __attribute__((overloadable)) fmax(float4, float);
-//extern float8 __attribute__((overloadable)) fmax(float8, float);
-//extern float16 __attribute__((overloadable)) fmax(float16, float);
+extern float2 __attribute__((overloadable)) fmax(float2, float2);
+extern float3 __attribute__((overloadable)) fmax(float3, float3);
+extern float4 __attribute__((overloadable)) fmax(float4, float4);
+extern float8 __attribute__((overloadable)) fmax(float8, float8);
+extern float16 __attribute__((overloadable)) fmax(float16, float16);
+extern float2 __attribute__((overloadable)) fmax(float2, float);
+extern float3 __attribute__((overloadable)) fmax(float3, float);
+extern float4 __attribute__((overloadable)) fmax(float4, float);
+extern float8 __attribute__((overloadable)) fmax(float8, float);
+extern float16 __attribute__((overloadable)) fmax(float16, float);
 
 extern float __attribute__((overloadable)) fmin(float, float);
-//extern float2 __attribute__((overloadable)) fmin(float2, float2);
-//extern float3 __attribute__((overloadable)) fmin(float3, float3);
-//extern float4 __attribute__((overloadable)) fmin(float4, float4);
-//extern float8 __attribute__((overloadable)) fmin(float8, float8);
-//extern float16 __attribute__((overloadable)) fmin(float16, float16);
-//extern float2 __attribute__((overloadable)) fmin(float2, float);
-//extern float3 __attribute__((overloadable)) fmin(float3, float);
-//extern float4 __attribute__((overloadable)) fmin(float4, float);
-//extern float8 __attribute__((overloadable)) fmin(float8, float);
-//extern float16 __attribute__((overloadable)) fmin(float16, float);
+extern float2 __attribute__((overloadable)) fmin(float2, float2);
+extern float3 __attribute__((overloadable)) fmin(float3, float3);
+extern float4 __attribute__((overloadable)) fmin(float4, float4);
+extern float8 __attribute__((overloadable)) fmin(float8, float8);
+extern float16 __attribute__((overloadable)) fmin(float16, float16);
+extern float2 __attribute__((overloadable)) fmin(float2, float);
+extern float3 __attribute__((overloadable)) fmin(float3, float);
+extern float4 __attribute__((overloadable)) fmin(float4, float);
+extern float8 __attribute__((overloadable)) fmin(float8, float);
+extern float16 __attribute__((overloadable)) fmin(float16, float);
 
 extern float __attribute__((overloadable)) fmod(float, float);
-//extern float2 __attribute__((overloadable)) fmod(float2, float2);
-//extern float3 __attribute__((overloadable)) fmod(float3, float3);
-//extern float4 __attribute__((overloadable)) fmod(float4, float4);
-//extern float8 __attribute__((overloadable)) fmod(float8, float8);
-//extern float16 __attribute__((overloadable)) fmod(float16, float16);
+extern float2 __attribute__((overloadable)) fmod(float2, float2);
+extern float3 __attribute__((overloadable)) fmod(float3, float3);
+extern float4 __attribute__((overloadable)) fmod(float4, float4);
+extern float8 __attribute__((overloadable)) fmod(float8, float8);
+extern float16 __attribute__((overloadable)) fmod(float16, float16);
+
+extern float __attribute__((overloadable)) fract(float, float *);
+extern float2 __attribute__((overloadable)) fract(float2, float2 *);
+extern float3 __attribute__((overloadable)) fract(float3, float3 *);
+extern float4 __attribute__((overloadable)) fract(float4, float4 *);
+extern float8 __attribute__((overloadable)) fract(float8, float8 *);
+extern float16 __attribute__((overloadable)) fract(float16, float16 *);
+
+extern float __attribute__((overloadable)) frexp(float, float *);
+extern float2 __attribute__((overloadable)) frexp(float2, float2 *);
+extern float3 __attribute__((overloadable)) frexp(float3, float3 *);
+extern float4 __attribute__((overloadable)) frexp(float4, float4 *);
+extern float8 __attribute__((overloadable)) frexp(float8, float8 *);
+extern float16 __attribute__((overloadable)) frexp(float16, float16 *);
+
+extern float __attribute__((overloadable)) hypot(float, float);
+extern float2 __attribute__((overloadable)) hypot(float2, float2);
+extern float3 __attribute__((overloadable)) hypot(float3, float3);
+extern float4 __attribute__((overloadable)) hypot(float4, float4);
+extern float8 __attribute__((overloadable)) hypot(float8, float8);
+extern float16 __attribute__((overloadable)) hypot(float16, float16);
+
+extern int __attribute__((overloadable)) ilogb(float);
+extern int2 __attribute__((overloadable)) ilogb(float2);
+extern int3 __attribute__((overloadable)) ilogb(float3);
+extern int4 __attribute__((overloadable)) ilogb(float4);
+extern int8 __attribute__((overloadable)) ilogb(float8);
+extern int16 __attribute__((overloadable)) ilogb(float16);
+
+extern float __attribute__((overloadable)) ldexp(float, int);
+extern float2 __attribute__((overloadable)) ldexp(float2, int2);
+extern float3 __attribute__((overloadable)) ldexp(float3, int3);
+extern float4 __attribute__((overloadable)) ldexp(float4, int4);
+extern float8 __attribute__((overloadable)) ldexp(float8, int8);
+extern float16 __attribute__((overloadable)) ldexp(float16, int16);
+extern float2 __attribute__((overloadable)) ldexp(float2, int);
+extern float3 __attribute__((overloadable)) ldexp(float3, int);
+extern float4 __attribute__((overloadable)) ldexp(float4, int);
+extern float8 __attribute__((overloadable)) ldexp(float8, int);
+extern float16 __attribute__((overloadable)) ldexp(float16, int);
+
+extern float __attribute__((overloadable)) lgamma(float);
+extern float2 __attribute__((overloadable)) lgamma(float2);
+extern float3 __attribute__((overloadable)) lgamma(float3);
+extern float4 __attribute__((overloadable)) lgamma(float4);
+extern float8 __attribute__((overloadable)) lgamma(float8);
+extern float16 __attribute__((overloadable)) lgamma(float16);
+extern float __attribute__((overloadable)) lgamma(float, float *);
+extern float2 __attribute__((overloadable)) lgamma(float2, float2 *);
+extern float3 __attribute__((overloadable)) lgamma(float3, float3 *);
+extern float4 __attribute__((overloadable)) lgamma(float4, float4 *);
+extern float8 __attribute__((overloadable)) lgamma(float8, float8 *);
+extern float16 __attribute__((overloadable)) lgamma(float16, float16 *);
 
 extern float __attribute__((overloadable)) log(float);
-//extern float2 __attribute__((overloadable)) log(float2);
-//extern float3 __attribute__((overloadable)) log(float3);
-//extern float4 __attribute__((overloadable)) log(float4);
-//extern float8 __attribute__((overloadable)) log(float8);
-//extern float16 __attribute__((overloadable)) log(float16);
+extern float2 __attribute__((overloadable)) log(float2);
+extern float3 __attribute__((overloadable)) log(float3);
+extern float4 __attribute__((overloadable)) log(float4);
+extern float8 __attribute__((overloadable)) log(float8);
+extern float16 __attribute__((overloadable)) log(float16);
 
 extern float __attribute__((overloadable)) log2(float);
-//extern float2 __attribute__((overloadable)) log2(float2);
-//extern float3 __attribute__((overloadable)) log2(float3);
-//extern float4 __attribute__((overloadable)) log2(float4);
-//extern float8 __attribute__((overloadable)) log2(float8);
-//extern float16 __attribute__((overloadable)) log2(float16);
+extern float2 __attribute__((overloadable)) log2(float2);
+extern float3 __attribute__((overloadable)) log2(float3);
+extern float4 __attribute__((overloadable)) log2(float4);
+extern float8 __attribute__((overloadable)) log2(float8);
+extern float16 __attribute__((overloadable)) log2(float16);
 
 extern float __attribute__((overloadable)) log10(float);
-//extern float2 __attribute__((overloadable)) log10(float2);
-//extern float3 __attribute__((overloadable)) log10(float3);
-//extern float4 __attribute__((overloadable)) log10(float4);
-//extern float8 __attribute__((overloadable)) log10(float8);
-//extern float16 __attribute__((overloadable)) log10(float16);
+extern float2 __attribute__((overloadable)) log10(float2);
+extern float3 __attribute__((overloadable)) log10(float3);
+extern float4 __attribute__((overloadable)) log10(float4);
+extern float8 __attribute__((overloadable)) log10(float8);
+extern float16 __attribute__((overloadable)) log10(float16);
 
-extern float __attribute__((overloadable)) max(float, float);
-//extern float2 __attribute__((overloadable)) max(float2, float2);
-//extern float3 __attribute__((overloadable)) max(float3, float3);
-//extern float4 __attribute__((overloadable)) max(float4, float4);
-//extern float8 __attribute__((overloadable)) max(float8, float8);
-//extern float16 __attribute__((overloadable)) max(float16, float16);
+extern float __attribute__((overloadable)) log1p(float);
+extern float2 __attribute__((overloadable)) log1p(float2);
+extern float3 __attribute__((overloadable)) log1p(float3);
+extern float4 __attribute__((overloadable)) log1p(float4);
+extern float8 __attribute__((overloadable)) log1p(float8);
+extern float16 __attribute__((overloadable)) log1p(float16);
 
-extern float __attribute__((overloadable)) min(float, float);
-//extern float2 __attribute__((overloadable)) min(float2, float2);
-//extern float3 __attribute__((overloadable)) min(float3, float3);
-//extern float4 __attribute__((overloadable)) min(float4, float4);
-//extern float8 __attribute__((overloadable)) min(float8, float8);
-//extern float16 __attribute__((overloadable)) min(float16, float16);
+extern float __attribute__((overloadable)) logb(float);
+extern float2 __attribute__((overloadable)) logb(float2);
+extern float3 __attribute__((overloadable)) logb(float3);
+extern float4 __attribute__((overloadable)) logb(float4);
+extern float8 __attribute__((overloadable)) logb(float8);
+extern float16 __attribute__((overloadable)) logb(float16);
 
-extern float __attribute__((overloadable)) mix(float, float, float);
-//extern float2 __attribute__((overloadable)) mix(float2, float2, float2);
-//extern float3 __attribute__((overloadable)) mix(float3, float3, float3);
-//extern float4 __attribute__((overloadable)) mix(float4, float4, float4);
-//extern float8 __attribute__((overloadable)) mix(float8, float8, float8);
-//extern float16 __attribute__((overloadable)) mix(float16, float16, float16);
-//extern float2 __attribute__((overloadable)) mix(float2, float2, float);
-//extern float3 __attribute__((overloadable)) mix(float3, float3, float);
-//extern float4 __attribute__((overloadable)) mix(float4, float4, float);
-//extern float8 __attribute__((overloadable)) mix(float8, float8, float);
-//extern float16 __attribute__((overloadable)) mix(float16, float16, float);
+extern float __attribute__((overloadable)) mad(float, float, float);
+extern float2 __attribute__((overloadable)) mad(float2, float2, float2);
+extern float3 __attribute__((overloadable)) mad(float3, float3, float3);
+extern float4 __attribute__((overloadable)) mad(float4, float4, float4);
+extern float8 __attribute__((overloadable)) mad(float8, float8, float8);
+extern float16 __attribute__((overloadable)) mad(float16, float16, float16);
+
+extern float __attribute__((overloadable)) modf(float, float *);
+extern float2 __attribute__((overloadable)) modf(float2, float2 *);
+extern float3 __attribute__((overloadable)) modf(float3, float3 *);
+extern float4 __attribute__((overloadable)) modf(float4, float4 *);
+extern float8 __attribute__((overloadable)) modf(float8, float8 *);
+extern float16 __attribute__((overloadable)) modf(float16, float16 *);
+
+extern float __attribute__((overloadable)) nan(uint);
+extern float2 __attribute__((overloadable)) nan(uint2);
+extern float3 __attribute__((overloadable)) nan(uint3);
+extern float4 __attribute__((overloadable)) nan(uint4);
+extern float8 __attribute__((overloadable)) nan(uint8);
+extern float16 __attribute__((overloadable)) nan(uint16);
+
+extern float __attribute__((overloadable)) nextafter(float, float);
+extern float2 __attribute__((overloadable)) nextafter(float2, float2);
+extern float3 __attribute__((overloadable)) nextafter(float3, float3);
+extern float4 __attribute__((overloadable)) nextafter(float4, float4);
+extern float8 __attribute__((overloadable)) nextafter(float8, float8);
+extern float16 __attribute__((overloadable)) nextafter(float16, float16);
 
 extern float __attribute__((overloadable)) pow(float, float);
-//extern float2 __attribute__((overloadable)) pow(float2, float2);
-//extern float3 __attribute__((overloadable)) pow(float3, float3);
-//extern float4 __attribute__((overloadable)) pow(float4, float4);
-//extern float8 __attribute__((overloadable)) pow(float8, float8);
-//extern float16 __attribute__((overloadable)) pow(float16, float16);
+extern float2 __attribute__((overloadable)) pow(float2, float2);
+extern float3 __attribute__((overloadable)) pow(float3, float3);
+extern float4 __attribute__((overloadable)) pow(float4, float4);
+extern float8 __attribute__((overloadable)) pow(float8, float8);
+extern float16 __attribute__((overloadable)) pow(float16, float16);
 
-extern float __attribute__((overloadable)) radians(float);
-//extern float2 __attribute__((overloadable)) radians(float2);
-//extern float3 __attribute__((overloadable)) radians(float3);
-//extern float4 __attribute__((overloadable)) radians(float4);
-//extern float8 __attribute__((overloadable)) radians(float8);
-//extern float16 __attribute__((overloadable)) radians(float16);
+extern float __attribute__((overloadable)) pown(float, int);
+extern float2 __attribute__((overloadable)) pown(float2, int2);
+extern float3 __attribute__((overloadable)) pown(float3, int3);
+extern float4 __attribute__((overloadable)) pown(float4, int4);
+extern float8 __attribute__((overloadable)) pown(float8, int8);
+extern float16 __attribute__((overloadable)) pown(float16, int16);
+
+extern float __attribute__((overloadable)) powr(float, float);
+extern float2 __attribute__((overloadable)) powr(float2, float2);
+extern float3 __attribute__((overloadable)) powr(float3, float3);
+extern float4 __attribute__((overloadable)) powr(float4, float4);
+extern float8 __attribute__((overloadable)) powr(float8, float8);
+extern float16 __attribute__((overloadable)) powr(float16, float16);
+
+extern float __attribute__((overloadable)) remainder(float, float);
+extern float2 __attribute__((overloadable)) remainder(float2, float2);
+extern float3 __attribute__((overloadable)) remainder(float3, float3);
+extern float4 __attribute__((overloadable)) remainder(float4, float4);
+extern float8 __attribute__((overloadable)) remainder(float8, float8);
+extern float16 __attribute__((overloadable)) remainder(float16, float16);
+
+extern float __attribute__((overloadable)) remquo(float, float, float *);
+extern float2 __attribute__((overloadable)) remquo(float2, float2, float2 *);
+extern float3 __attribute__((overloadable)) remquo(float3, float3, float3 *);
+extern float4 __attribute__((overloadable)) remquo(float4, float4, float4 *);
+extern float8 __attribute__((overloadable)) remquo(float8, float8, float8 *);
+extern float16 __attribute__((overloadable)) remquo(float16, float16, float16 *);
 
 extern float __attribute__((overloadable)) rint(float);
-//extern float2 __attribute__((overloadable)) rint(float2);
-//extern float3 __attribute__((overloadable)) rint(float3);
-//extern float4 __attribute__((overloadable)) rint(float4);
-//extern float8 __attribute__((overloadable)) rint(float8);
-//extern float16 __attribute__((overloadable)) rint(float16);
+extern float2 __attribute__((overloadable)) rint(float2);
+extern float3 __attribute__((overloadable)) rint(float3);
+extern float4 __attribute__((overloadable)) rint(float4);
+extern float8 __attribute__((overloadable)) rint(float8);
+extern float16 __attribute__((overloadable)) rint(float16);
+
+extern float __attribute__((overloadable)) rootn(float, int);
+extern float2 __attribute__((overloadable)) rootn(float2, int2);
+extern float3 __attribute__((overloadable)) rootn(float3, int3);
+extern float4 __attribute__((overloadable)) rootn(float4, int4);
+extern float8 __attribute__((overloadable)) rootn(float8, int8);
+extern float16 __attribute__((overloadable)) rootn(float16, int16);
 
 extern float __attribute__((overloadable)) round(float);
-//extern float2 __attribute__((overloadable)) round(float2);
-//extern float3 __attribute__((overloadable)) round(float3);
-//extern float4 __attribute__((overloadable)) round(float4);
-//extern float8 __attribute__((overloadable)) round(float8);
-//extern float16 __attribute__((overloadable)) round(float16);
+extern float2 __attribute__((overloadable)) round(float2);
+extern float3 __attribute__((overloadable)) round(float3);
+extern float4 __attribute__((overloadable)) round(float4);
+extern float8 __attribute__((overloadable)) round(float8);
+extern float16 __attribute__((overloadable)) round(float16);
 
 extern float __attribute__((overloadable)) rsqrt(float);
-//extern float2 __attribute__((overloadable)) rsqrt(float2);
-//extern float3 __attribute__((overloadable)) rsqrt(float3);
-//extern float4 __attribute__((overloadable)) rsqrt(float4);
-//extern float8 __attribute__((overloadable)) rsqrt(float8);
-//extern float16 __attribute__((overloadable)) rsqrt(float16);
-
-extern float __attribute__((overloadable)) sign(float);
-//extern float2 __attribute__((overloadable)) sign(float2);
-//extern float3 __attribute__((overloadable)) sign(float3);
-//extern float4 __attribute__((overloadable)) sign(float4);
-//extern float8 __attribute__((overloadable)) sign(float8);
-//extern float16 __attribute__((overloadable)) sign(float16);
+extern float2 __attribute__((overloadable)) rsqrt(float2);
+extern float3 __attribute__((overloadable)) rsqrt(float3);
+extern float4 __attribute__((overloadable)) rsqrt(float4);
+extern float8 __attribute__((overloadable)) rsqrt(float8);
+extern float16 __attribute__((overloadable)) rsqrt(float16);
 
 extern float __attribute__((overloadable)) sin(float);
-//extern float2 __attribute__((overloadable)) sin(float2);
-//extern float3 __attribute__((overloadable)) sin(float3);
-//extern float4 __attribute__((overloadable)) sin(float4);
-//extern float8 __attribute__((overloadable)) sin(float8);
-//extern float16 __attribute__((overloadable)) sin(float16);
+extern float2 __attribute__((overloadable)) sin(float2);
+extern float3 __attribute__((overloadable)) sin(float3);
+extern float4 __attribute__((overloadable)) sin(float4);
+extern float8 __attribute__((overloadable)) sin(float8);
+extern float16 __attribute__((overloadable)) sin(float16);
+
+extern float __attribute__((overloadable)) sincos(float, float *);
+extern float2 __attribute__((overloadable)) sincos(float2, float2 *);
+extern float3 __attribute__((overloadable)) sincos(float3, float3 *);
+extern float4 __attribute__((overloadable)) sincos(float4, float4 *);
+extern float8 __attribute__((overloadable)) sincos(float8, float8 *);
+extern float16 __attribute__((overloadable)) sincos(float16, float16 *);
+
+extern float __attribute__((overloadable)) sinh(float);
+extern float2 __attribute__((overloadable)) sinh(float2);
+extern float3 __attribute__((overloadable)) sinh(float3);
+extern float4 __attribute__((overloadable)) sinh(float4);
+extern float8 __attribute__((overloadable)) sinh(float8);
+extern float16 __attribute__((overloadable)) sinh(float16);
+
+extern float __attribute__((overloadable)) sinpi(float);
+extern float2 __attribute__((overloadable)) sinpi(float2);
+extern float3 __attribute__((overloadable)) sinpi(float3);
+extern float4 __attribute__((overloadable)) sinpi(float4);
+extern float8 __attribute__((overloadable)) sinpi(float8);
+extern float16 __attribute__((overloadable)) sinpi(float16);
 
 extern float __attribute__((overloadable)) sqrt(float);
-//extern float2 __attribute__((overloadable)) sqrt(float2);
-//extern float3 __attribute__((overloadable)) sqrt(float3);
-//extern float4 __attribute__((overloadable)) sqrt(float4);
-//extern float8 __attribute__((overloadable)) sqrt(float8);
-//extern float16 __attribute__((overloadable)) sqrt(float16);
+extern float2 __attribute__((overloadable)) sqrt(float2);
+extern float3 __attribute__((overloadable)) sqrt(float3);
+extern float4 __attribute__((overloadable)) sqrt(float4);
+extern float8 __attribute__((overloadable)) sqrt(float8);
+extern float16 __attribute__((overloadable)) sqrt(float16);
 
 extern float __attribute__((overloadable)) tan(float);
-//extern float2 __attribute__((overloadable)) tan(float2);
-//extern float3 __attribute__((overloadable)) tan(float3);
-//extern float4 __attribute__((overloadable)) tan(float4);
-//extern float8 __attribute__((overloadable)) tan(float8);
-//extern float16 __attribute__((overloadable)) tan(float16);
+extern float2 __attribute__((overloadable)) tan(float2);
+extern float3 __attribute__((overloadable)) tan(float3);
+extern float4 __attribute__((overloadable)) tan(float4);
+extern float8 __attribute__((overloadable)) tan(float8);
+extern float16 __attribute__((overloadable)) tan(float16);
+
+extern float __attribute__((overloadable)) tanh(float);
+extern float2 __attribute__((overloadable)) tanh(float2);
+extern float3 __attribute__((overloadable)) tanh(float3);
+extern float4 __attribute__((overloadable)) tanh(float4);
+extern float8 __attribute__((overloadable)) tanh(float8);
+extern float16 __attribute__((overloadable)) tanh(float16);
+
+extern float __attribute__((overloadable)) tanpi(float);
+extern float2 __attribute__((overloadable)) tanpi(float2);
+extern float3 __attribute__((overloadable)) tanpi(float3);
+extern float4 __attribute__((overloadable)) tanpi(float4);
+extern float8 __attribute__((overloadable)) tanpi(float8);
+extern float16 __attribute__((overloadable)) tanpi(float16);
+
+extern float __attribute__((overloadable)) tgamma(float);
+extern float2 __attribute__((overloadable)) tgamma(float2);
+extern float3 __attribute__((overloadable)) tgamma(float3);
+extern float4 __attribute__((overloadable)) tgamma(float4);
+extern float8 __attribute__((overloadable)) tgamma(float8);
+extern float16 __attribute__((overloadable)) tgamma(float16);
 
 extern float __attribute__((overloadable)) trunc(float);
-//extern float2 __attribute__((overloadable)) trunc(float2);
-//extern float3 __attribute__((overloadable)) trunc(float3);
-//extern float4 __attribute__((overloadable)) trunc(float4);
-//extern float8 __attribute__((overloadable)) trunc(float8);
-//extern float16 __attribute__((overloadable)) trunc(float16);
+extern float2 __attribute__((overloadable)) trunc(float2);
+extern float3 __attribute__((overloadable)) trunc(float3);
+extern float4 __attribute__((overloadable)) trunc(float4);
+extern float8 __attribute__((overloadable)) trunc(float8);
+extern float16 __attribute__((overloadable)) trunc(float16);
 
 
 
 
 
 
-// Int ops
+// Int ops (partial), 6.11.3
+extern uint __attribute__((overloadable)) abs(int);
+extern ushort __attribute__((overloadable)) abs(short);
+extern uchar __attribute__((overloadable)) abs(char);
 
-extern int __attribute__((overloadable)) abs(int);
-//extern int2 __attribute__((overloadable)) abs(int2);
-//extern int3 __attribute__((overloadable)) abs(int3);
-//extern int4 __attribute__((overloadable)) abs(int4);
-//extern int8 __attribute__((overloadable)) abs(int8);
-//extern int16 __attribute__((overloadable)) abs(int16);
+extern uint __attribute__((overloadable)) clz(uint);
+extern int __attribute__((overloadable)) clz(int);
+extern ushort __attribute__((overloadable)) clz(ushort);
+extern short __attribute__((overloadable)) clz(short);
+extern uchar __attribute__((overloadable)) clz(uchar);
+extern char __attribute__((overloadable)) clz(char);
+
+extern uint __attribute__((overloadable)) min(uint);
+extern int __attribute__((overloadable)) min(int);
+extern ushort __attribute__((overloadable)) min(ushort);
+extern short __attribute__((overloadable)) min(short);
+extern uchar __attribute__((overloadable)) min(uchar);
+extern char __attribute__((overloadable)) min(char);
+
+extern uint __attribute__((overloadable)) max(uint);
+extern int __attribute__((overloadable)) max(int);
+extern ushort __attribute__((overloadable)) max(ushort);
+extern short __attribute__((overloadable)) max(short);
+extern uchar __attribute__((overloadable)) max(uchar);
+extern char __attribute__((overloadable)) max(char);
 
 
 
-/*
-extern float modf(float, float);
+
+// 6.11.4
+
+extern float __attribute__((overloadable)) clamp(float, float, float);
+extern float2 __attribute__((overloadable)) clamp(float2, float2, float2);
+extern float3 __attribute__((overloadable)) clamp(float3, float3, float3);
+extern float4 __attribute__((overloadable)) clamp(float4, float4, float4);
+extern float8 __attribute__((overloadable)) clamp(float8, float8, float8);
+extern float16 __attribute__((overloadable)) clamp(float16, float16, float16);
+extern float2 __attribute__((overloadable)) clamp(float2, float, float);
+extern float3 __attribute__((overloadable)) clamp(float3, float, float);
+extern float4 __attribute__((overloadable)) clamp(float4, float, float);
+extern float8 __attribute__((overloadable)) clamp(float8, float, float);
+extern float16 __attribute__((overloadable)) clamp(float16, float, float);
+
+extern float __attribute__((overloadable)) degrees(float);
+extern float2 __attribute__((overloadable)) degrees(float2);
+extern float3 __attribute__((overloadable)) degrees(float3);
+extern float4 __attribute__((overloadable)) degrees(float4);
+extern float8 __attribute__((overloadable)) degrees(float8);
+extern float16 __attribute__((overloadable)) degrees(float16);
+
+extern float __attribute__((overloadable)) max(float, float);
+extern float2 __attribute__((overloadable)) max(float2, float2);
+extern float3 __attribute__((overloadable)) max(float3, float3);
+extern float4 __attribute__((overloadable)) max(float4, float4);
+extern float8 __attribute__((overloadable)) max(float8, float8);
+extern float16 __attribute__((overloadable)) max(float16, float16);
+extern float2 __attribute__((overloadable)) max(float2, float);
+extern float3 __attribute__((overloadable)) max(float3, float);
+extern float4 __attribute__((overloadable)) max(float4, float);
+extern float8 __attribute__((overloadable)) max(float8, float);
+extern float16 __attribute__((overloadable)) max(float16, float);
+
+extern float __attribute__((overloadable)) min(float, float);
+extern float2 __attribute__((overloadable)) min(float2, float2);
+extern float3 __attribute__((overloadable)) min(float3, float3);
+extern float4 __attribute__((overloadable)) min(float4, float4);
+extern float8 __attribute__((overloadable)) min(float8, float8);
+extern float16 __attribute__((overloadable)) min(float16, float16);
+extern float2 __attribute__((overloadable)) min(float2, float);
+extern float3 __attribute__((overloadable)) min(float3, float);
+extern float4 __attribute__((overloadable)) min(float4, float);
+extern float8 __attribute__((overloadable)) min(float8, float);
+extern float16 __attribute__((overloadable)) min(float16, float);
+
+extern float __attribute__((overloadable)) mix(float, float, float);
+extern float2 __attribute__((overloadable)) mix(float2, float2, float2);
+extern float3 __attribute__((overloadable)) mix(float3, float3, float3);
+extern float4 __attribute__((overloadable)) mix(float4, float4, float4);
+extern float8 __attribute__((overloadable)) mix(float8, float8, float8);
+extern float16 __attribute__((overloadable)) mix(float16, float16, float16);
+extern float2 __attribute__((overloadable)) mix(float2, float2, float);
+extern float3 __attribute__((overloadable)) mix(float3, float3, float);
+extern float4 __attribute__((overloadable)) mix(float4, float4, float);
+extern float8 __attribute__((overloadable)) mix(float8, float8, float);
+extern float16 __attribute__((overloadable)) mix(float16, float16, float);
+
+extern float __attribute__((overloadable)) radians(float);
+extern float2 __attribute__((overloadable)) radians(float2);
+extern float3 __attribute__((overloadable)) radians(float3);
+extern float4 __attribute__((overloadable)) radians(float4);
+extern float8 __attribute__((overloadable)) radians(float8);
+extern float16 __attribute__((overloadable)) radians(float16);
+
+extern float __attribute__((overloadable)) step(float, float);
+extern float2 __attribute__((overloadable)) step(float2, float2);
+extern float3 __attribute__((overloadable)) step(float3, float3);
+extern float4 __attribute__((overloadable)) step(float4, float4);
+extern float8 __attribute__((overloadable)) step(float8, float8);
+extern float16 __attribute__((overloadable)) step(float16, float16);
+extern float2 __attribute__((overloadable)) step(float, float2);
+extern float3 __attribute__((overloadable)) step(float, float3);
+extern float4 __attribute__((overloadable)) step(float, float4);
+extern float8 __attribute__((overloadable)) step(float, float8);
+extern float16 __attribute__((overloadable)) step(float, float16);
+
+extern float __attribute__((overloadable)) smoothstep(float, float, float);
+extern float2 __attribute__((overloadable)) smoothstep(float2, float2, float2);
+extern float3 __attribute__((overloadable)) smoothstep(float3, float3, float3);
+extern float4 __attribute__((overloadable)) smoothstep(float4, float4, float4);
+extern float8 __attribute__((overloadable)) smoothstep(float8, float8, float8);
+extern float16 __attribute__((overloadable)) smoothstep(float16, float16, float16);
+extern float2 __attribute__((overloadable)) smoothstep(float, float, float2);
+extern float3 __attribute__((overloadable)) smoothstep(float, float, float3);
+extern float4 __attribute__((overloadable)) smoothstep(float, float, float4);
+extern float8 __attribute__((overloadable)) smoothstep(float, float, float8);
+extern float16 __attribute__((overloadable)) smoothstep(float, float, float16);
+
+extern float __attribute__((overloadable)) sign(float);
+extern float2 __attribute__((overloadable)) sign(float2);
+extern float3 __attribute__((overloadable)) sign(float3);
+extern float4 __attribute__((overloadable)) sign(float4);
+extern float8 __attribute__((overloadable)) sign(float8);
+extern float16 __attribute__((overloadable)) sign(float16);
+
+// 6.11.5
+extern float3 __attribute__((overloadable)) cross(float2, float2);
+extern float3 __attribute__((overloadable)) cross(float3, float3);
+extern float4 __attribute__((overloadable)) cross(float4, float4);
+
+extern float __attribute__((overloadable)) dot(float, float);
+extern float __attribute__((overloadable)) dot(float2, float2);
+extern float __attribute__((overloadable)) dot(float3, float3);
+extern float __attribute__((overloadable)) dot(float4, float4);
+
+extern float __attribute__((overloadable)) distance(float, float);
+extern float __attribute__((overloadable)) distance(float2, float2);
+extern float __attribute__((overloadable)) distance(float3, float3);
+extern float __attribute__((overloadable)) distance(float4, float4);
+
+extern float __attribute__((overloadable)) length(float);
+extern float __attribute__((overloadable)) length(float2);
+extern float __attribute__((overloadable)) length(float3);
+extern float __attribute__((overloadable)) length(float4);
+
+extern float __attribute__((overloadable)) normalize(float);
+extern float2 __attribute__((overloadable)) normalize(float2);
+extern float3 __attribute__((overloadable)) normalize(float3);
+extern float4 __attribute__((overloadable)) normalize(float4);
+
+
+// RS specific functions
 extern float randf(float);
 extern float randf2(float, float);
-extern float fracf(float);
-extern float lerpf(float, float, float);
 extern float mapf(float, float, float, float, float);
-*/
+
+extern float __attribute__((overloadable)) frac(float);
+
+extern void debugP(int, void *);
+extern void debugPi(int, int);
+extern void debugPf(int, float);
+extern void debugF(const char *, float);
+extern void debugI32(const char *, int);
+extern void debugHexI32(const char *, int);
+
+extern void matrixLoadIdentity(void *mat);
+extern void matrixLoadFloat(void *mat, const float *f);
+extern void matrixLoadMat(void *mat, const void *newmat);
+extern void matrixLoadRotate(void *mat, float rot, float x, float y, float z);
+extern void matrixLoadScale(void *mat, float x, float y, float z);
+extern void matrixLoadTranslate(void *mat, float x, float y, float z);
+extern void matrixLoadMultiply(void *mat, const void *lhs, const void *rhs);
+extern void matrixMultiply(void *mat, const void *rhs);
+extern void matrixRotate(void *mat, float rot, float x, float y, float z);
+extern void matrixScale(void *mat, float x, float y, float z);
+extern void matrixTranslate(void *mat, float x, float y, float z);
+
 
diff --git a/libs/surfaceflinger/Android.mk b/libs/surfaceflinger/Android.mk
index 86eb78d..b8a0630 100644
--- a/libs/surfaceflinger/Android.mk
+++ b/libs/surfaceflinger/Android.mk
@@ -13,6 +13,7 @@
     LayerDim.cpp \
     MessageQueue.cpp \
     SurfaceFlinger.cpp \
+    TextureManager.cpp \
     Tokenizer.cpp \
     Transform.cpp
 
diff --git a/libs/surfaceflinger/DisplayHardware/DisplayHardware.cpp b/libs/surfaceflinger/DisplayHardware/DisplayHardware.cpp
index d979f00..af89e9a 100644
--- a/libs/surfaceflinger/DisplayHardware/DisplayHardware.cpp
+++ b/libs/surfaceflinger/DisplayHardware/DisplayHardware.cpp
@@ -125,7 +125,6 @@
     EGLint numConfigs=0;
     EGLSurface surface;
     EGLContext context;
-    mFlags = CACHED_BUFFERS;
 
     // TODO: all the extensions below should be queried through
     // eglGetProcAddress().
@@ -253,15 +252,6 @@
     LOGI("GL_MAX_TEXTURE_SIZE = %d", mMaxTextureSize);
     LOGI("GL_MAX_VIEWPORT_DIMS = %d", mMaxViewportDims);
 
-#if 0
-    // for drivers that don't have proper support for flushing cached buffers
-    // on gralloc unlock, uncomment this block and test for the specific
-    // renderer substring
-    if (strstr(gl_renderer, "<some vendor string>")) {
-        LOGD("Assuming uncached graphics buffers.");
-        mFlags &= ~CACHED_BUFFERS;
-    }
-#endif
 
     if (strstr(gl_extensions, "GL_ARB_texture_non_power_of_two")) {
         mFlags |= NPOT_EXTENSION;
diff --git a/libs/surfaceflinger/DisplayHardware/DisplayHardware.h b/libs/surfaceflinger/DisplayHardware/DisplayHardware.h
index 897a6ed..ebd7c42 100644
--- a/libs/surfaceflinger/DisplayHardware/DisplayHardware.h
+++ b/libs/surfaceflinger/DisplayHardware/DisplayHardware.h
@@ -50,7 +50,6 @@
         PARTIAL_UPDATES         = 0x00020000,   // video driver feature
         SLOW_CONFIG             = 0x00040000,   // software
         SWAP_RECTANGLE          = 0x00080000,
-        CACHED_BUFFERS          = 0x00100000
     };
 
     DisplayHardware(
diff --git a/libs/surfaceflinger/Layer.cpp b/libs/surfaceflinger/Layer.cpp
index e6658fa..1fe997d 100644
--- a/libs/surfaceflinger/Layer.cpp
+++ b/libs/surfaceflinger/Layer.cpp
@@ -48,41 +48,48 @@
 // ---------------------------------------------------------------------------
 
 Layer::Layer(SurfaceFlinger* flinger, DisplayID display, 
-        const sp<Client>& c, int32_t i)
-    :   LayerBaseClient(flinger, display, c, i),
+        const sp<Client>& client, int32_t i)
+    :   LayerBaseClient(flinger, display, client, i),
+        lcblk(NULL),
         mSecure(false),
-        mNoEGLImageForSwBuffers(false),
         mNeedsBlending(true),
-        mNeedsDithering(false)
+        mNeedsDithering(false),
+        mTextureManager(mFlags),
+        mBufferManager(mTextureManager)
 {
     // no OpenGL operation is possible here, since we might not be
     // in the OpenGL thread.
-    mFrontBufferIndex = lcblk->getFrontBuffer();
+    lcblk = new SharedBufferServer(
+            client->ctrlblk, i, mBufferManager.getBufferCount(),
+            getIdentity());
+
+   mBufferManager.setActiveBufferIndex( lcblk->getFrontBuffer() );
 }
 
 Layer::~Layer()
 {
     destroy();
     // the actual buffers will be destroyed here
+    delete lcblk;
+}
+
+// called with SurfaceFlinger::mStateLock as soon as the layer is entered
+// in the purgatory list
+void Layer::onRemoved()
+{
+    // wake up the condition
+    lcblk->setStatus(NO_INIT);
 }
 
 void Layer::destroy()
 {
-    for (size_t i=0 ; i<NUM_BUFFERS ; i++) {
-        if (mTextures[i].name != -1U) {
-            glDeleteTextures(1, &mTextures[i].name);
-            mTextures[i].name = -1U;
-        }
-        if (mTextures[i].image != EGL_NO_IMAGE_KHR) {
-            EGLDisplay dpy(mFlinger->graphicPlane(0).getEGLDisplay());
-            eglDestroyImageKHR(dpy, mTextures[i].image);
-            mTextures[i].image = EGL_NO_IMAGE_KHR;
-        }
-        Mutex::Autolock _l(mLock);
-        mBuffers[i].clear();
-        mWidth = mHeight = 0;
-    }
+    EGLDisplay dpy(mFlinger->graphicPlane(0).getEGLDisplay());
+    mBufferManager.destroy(dpy);
+
     mSurface.clear();
+
+    Mutex::Autolock _l(mLock);
+    mWidth = mHeight = 0;
 }
 
 sp<LayerBaseClient::Surface> Layer::createSurface() const
@@ -126,24 +133,19 @@
     mHeight = h;
     mSecure = (flags & ISurfaceComposer::eSecure) ? true : false;
     mNeedsBlending = (info.h_alpha - info.l_alpha) > 0;
-    mNoEGLImageForSwBuffers = !(hwFlags & DisplayHardware::CACHED_BUFFERS);
 
     // we use the red index
     int displayRedSize = displayInfo.getSize(PixelFormatInfo::INDEX_RED);
     int layerRedsize = info.getSize(PixelFormatInfo::INDEX_RED);
     mNeedsDithering = layerRedsize > displayRedSize;
 
-    for (size_t i=0 ; i<NUM_BUFFERS ; i++) {
-        mBuffers[i] = new GraphicBuffer();
-    }
     mSurface = new SurfaceLayer(mFlinger, clientIndex(), this);
     return NO_ERROR;
 }
 
 void Layer::reloadTexture(const Region& dirty)
 {
-    Mutex::Autolock _l(mLock);
-    sp<GraphicBuffer> buffer(getFrontBufferLocked());
+    sp<GraphicBuffer> buffer(mBufferManager.getActiveBuffer());
     if (buffer == NULL) {
         // this situation can happen if we ran out of memory for instance.
         // not much we can do. continue to use whatever texture was bound
@@ -151,118 +153,24 @@
         return;
     }
 
-    const int index = mFrontBufferIndex;
-
-    // create the new texture name if needed
-    if (UNLIKELY(mTextures[index].name == -1U)) {
-        mTextures[index].name = createTexture();
-        mTextures[index].width = 0;
-        mTextures[index].height = 0;
-    }
-
 #ifdef EGL_ANDROID_image_native_buffer
     if (mFlags & DisplayHardware::DIRECT_TEXTURE) {
-        if (buffer->usage & GraphicBuffer::USAGE_HW_TEXTURE) {
-            if (mTextures[index].dirty) {
-                if (initializeEglImage(buffer, &mTextures[index]) != NO_ERROR) {
-                    // not sure what we can do here...
-                    mFlags &= ~DisplayHardware::DIRECT_TEXTURE;
-                    goto slowpath;
-                }
-            }
-        } else {
-            if (mHybridBuffer==0 || (mHybridBuffer->width != buffer->width ||
-                    mHybridBuffer->height != buffer->height)) {
-                mHybridBuffer.clear();
-                mHybridBuffer = new GraphicBuffer(
-                        buffer->width, buffer->height, buffer->format,
-                        GraphicBuffer::USAGE_SW_WRITE_OFTEN |
-                        GraphicBuffer::USAGE_HW_TEXTURE);
-                if (initializeEglImage(
-                        mHybridBuffer, &mTextures[0]) != NO_ERROR) {
-                    // not sure what we can do here...
-                    mFlags &= ~DisplayHardware::DIRECT_TEXTURE;
-                    mHybridBuffer.clear();
-                    goto slowpath;
-                }
-            }
-
-            GGLSurface t;
-            status_t res = buffer->lock(&t, GRALLOC_USAGE_SW_READ_OFTEN);
-            LOGE_IF(res, "error %d (%s) locking buffer %p",
-                    res, strerror(res), buffer.get());
-            if (res == NO_ERROR) {
-                Texture* const texture(&mTextures[0]);
-
-                glBindTexture(GL_TEXTURE_2D, texture->name);
-
-                sp<GraphicBuffer> buf(mHybridBuffer);
-                void* vaddr;
-                res = buf->lock(GraphicBuffer::USAGE_SW_WRITE_OFTEN, &vaddr);
-                if (res == NO_ERROR) {
-                    int bpp = 0;
-                    switch (t.format) {
-                    case HAL_PIXEL_FORMAT_RGB_565:
-                    case HAL_PIXEL_FORMAT_RGBA_4444:
-                        bpp = 2;
-                        break;
-                    case HAL_PIXEL_FORMAT_RGBA_8888:
-                    case HAL_PIXEL_FORMAT_RGBX_8888:
-                        bpp = 4;
-                        break;
-                    default:
-                        if (isSupportedYuvFormat(t.format)) {
-                            // just show the Y plane of YUV buffers
-                            bpp = 1;
-                            break;
-                        }
-                        // oops, we don't handle this format!
-                        LOGE("layer %p, texture=%d, using format %d, which is not "
-                                "supported by the GL", this, texture->name, t.format);
-                    }
-                    if (bpp) {
-                        const Rect bounds(dirty.getBounds());
-                        size_t src_stride = t.stride;
-                        size_t dst_stride = buf->stride;
-                        if (src_stride == dst_stride &&
-                            bounds.width() == t.width &&
-                            bounds.height() == t.height)
-                        {
-                            memcpy(vaddr, t.data, t.height * t.stride * bpp);
-                        } else {
-                            GLubyte const * src = t.data +
-                                (bounds.left + bounds.top * src_stride) * bpp;
-                            GLubyte * dst = (GLubyte *)vaddr +
-                                (bounds.left + bounds.top * dst_stride) * bpp;
-                            const size_t length = bounds.width() * bpp;
-                            size_t h = bounds.height();
-                            src_stride *= bpp;
-                            dst_stride *= bpp;
-                            while (h--) {
-                                memcpy(dst, src, length);
-                                dst += dst_stride;
-                                src += src_stride;
-                            }
-                        }
-                    }
-                    buf->unlock();
-                }
-                buffer->unlock();
-            }
+        EGLDisplay dpy(mFlinger->graphicPlane(0).getEGLDisplay());
+        if (mBufferManager.initEglImage(dpy, buffer) != NO_ERROR) {
+            // not sure what we can do here...
+            mFlags &= ~DisplayHardware::DIRECT_TEXTURE;
+            goto slowpath;
         }
     } else
 #endif
     {
 slowpath:
-        for (size_t i=0 ; i<NUM_BUFFERS ; i++) {
-            mTextures[i].image = EGL_NO_IMAGE_KHR;
-        }
         GGLSurface t;
         status_t res = buffer->lock(&t, GRALLOC_USAGE_SW_READ_OFTEN);
         LOGE_IF(res, "error %d (%s) locking buffer %p",
                 res, strerror(res), buffer.get());
         if (res == NO_ERROR) {
-            loadTexture(&mTextures[0], dirty, t);
+            mBufferManager.loadTexture(dirty, t);
             buffer->unlock();
         }
     }
@@ -270,11 +178,8 @@
 
 void Layer::onDraw(const Region& clip) const
 {
-    int index = mFrontBufferIndex;
-    if (mTextures[index].image == EGL_NO_IMAGE_KHR)
-        index = 0;
-    GLuint textureName = mTextures[index].name;
-    if (UNLIKELY(textureName == -1LU)) {
+    Texture tex(mBufferManager.getActiveTexture());
+    if (tex.name == -1LU) {
         // the texture has not been created yet, this Layer has
         // in fact never been drawn into. This happens frequently with
         // SurfaceView because the WindowManager can't know when the client
@@ -300,7 +205,31 @@
         }
         return;
     }
-    drawWithOpenGL(clip, mTextures[index]);
+    drawWithOpenGL(clip, tex);
+}
+
+
+status_t Layer::setBufferCount(int bufferCount)
+{
+    // this ensures our client doesn't go away while we're accessing
+    // the shared area.
+    sp<Client> ourClient(client.promote());
+    if (ourClient == 0) {
+        // oops, the client is already gone
+        return DEAD_OBJECT;
+    }
+
+    status_t err;
+
+    // FIXME: resize() below is NOT thread-safe, we need to synchronize
+    // the users of lcblk in our process (ie: retire), and we assume the
+    // client is not mucking with the SharedStack, which is only enforced
+    // by construction, therefore we need to protect ourselves against
+    // buggy and malicious client (as always)
+
+    err = lcblk->resize(bufferCount);
+
+    return err;
 }
 
 sp<GraphicBuffer> Layer::requestBuffer(int index, int usage)
@@ -337,15 +266,7 @@
         Mutex::Autolock _l(mLock);
         w = mWidth;
         h = mHeight;
-        buffer = mBuffers[index];
-        
-        // destroy() could have been called before we get here, we log it
-        // because it's uncommon, and the code below should handle it
-        LOGW_IF(buffer==0, 
-                "mBuffers[%d] is null (mWidth=%d, mHeight=%d)",
-                index, w, h);
-        
-        mBuffers[index].clear();
+        buffer = mBufferManager.detachBuffer(index);
     }
 
     const uint32_t effectiveUsage = getEffectiveUsage(usage);
@@ -373,10 +294,7 @@
     if (err == NO_ERROR && buffer->handle != 0) {
         Mutex::Autolock _l(mLock);
         if (mWidth && mHeight) {
-            // and we have new buffer
-            mBuffers[index] = buffer;
-            // texture is now dirty...
-            mTextures[index].dirty = true;
+            mBufferManager.attachBuffer(index, buffer);
         } else {
             // oops we got killed while we were allocating the buffer
             buffer.clear();
@@ -406,15 +324,8 @@
     } else {
         // it's allowed to modify the usage flags here, but generally
         // the requested flags should be honored.
-        if (mNoEGLImageForSwBuffers) {
-            if (usage & GraphicBuffer::USAGE_HW_MASK) {
-                // request EGLImage for h/w buffers only
-                usage |= GraphicBuffer::USAGE_HW_TEXTURE;
-            }
-        } else {
-            // request EGLImage for all buffers
-            usage |= GraphicBuffer::USAGE_HW_TEXTURE;
-        }
+        // request EGLImage for all buffers
+        usage |= GraphicBuffer::USAGE_HW_TEXTURE;
     }
     return usage;
 }
@@ -428,13 +339,10 @@
         (front.requested_h != temp.requested_h)) {
         // the size changed, we need to ask our client to request a new buffer
         LOGD_IF(DEBUG_RESIZE,
-                    "resize (layer=%p), requested (%dx%d), "
-                    "drawing (%d,%d), (%dx%d), (%dx%d)",
+                    "resize (layer=%p), requested (%dx%d), drawing (%d,%d)",
                     this, 
                     int(temp.requested_w), int(temp.requested_h),
-                    int(front.requested_w), int(front.requested_h),
-                    int(mBuffers[0]->getWidth()), int(mBuffers[0]->getHeight()),
-                    int(mBuffers[1]->getWidth()), int(mBuffers[1]->getHeight()));
+                    int(front.requested_w), int(front.requested_h));
 
         // we're being resized and there is a freeze display request,
         // acquire a freeze lock, so that the screen stays put
@@ -486,22 +394,25 @@
 void Layer::lockPageFlip(bool& recomputeVisibleRegions)
 {
     ssize_t buf = lcblk->retireAndLock();
-    if (buf < NO_ERROR) {
-        //LOGW("nothing to retire (%s)", strerror(-buf));
-        // NOTE: here the buffer is locked because we will used 
+    if (buf == NOT_ENOUGH_DATA) {
+        // NOTE: This is not an error, it simply means there is nothing to
+        // retire. The buffer is locked because we will use it
         // for composition later in the loop
         return;
     }
 
-    // ouch, this really should never happen
-    if (uint32_t(buf)>=NUM_BUFFERS) {
+    if (buf < NO_ERROR) {
         LOGE("retireAndLock() buffer index (%d) out of range", buf);
         mPostedDirtyRegion.clear();
         return;
     }
 
     // we retired a buffer, which becomes the new front buffer
-    mFrontBufferIndex = buf;
+    if (mBufferManager.setActiveBufferIndex(buf) < NO_ERROR) {
+        LOGE("retireAndLock() buffer index (%d) out of range", buf);
+        mPostedDirtyRegion.clear();
+        return;
+    }
 
     // get the dirty region
     sp<GraphicBuffer> newFrontBuffer(getBuffer(buf));
@@ -593,10 +504,9 @@
 
 void Layer::finishPageFlip()
 {
-    status_t err = lcblk->unlock( mFrontBufferIndex );
-    LOGE_IF(err!=NO_ERROR, 
-            "layer %p, buffer=%d wasn't locked!",
-            this, mFrontBufferIndex);
+    int buf = mBufferManager.getActiveBufferIndex();
+    status_t err = lcblk->unlock( buf );
+    LOGE_IF(err!=NO_ERROR, "layer %p, buffer=%d wasn't locked!", this, buf);
 }
 
 
@@ -633,6 +543,109 @@
 
 // ---------------------------------------------------------------------------
 
+Layer::BufferManager::BufferManager(TextureManager& tm)
+    : mTextureManager(tm), mActiveBuffer(0), mFailover(false)
+{
+}
+
+size_t Layer::BufferManager::getBufferCount() const {
+    return NUM_BUFFERS;
+}
+
+// only for debugging
+sp<GraphicBuffer> Layer::BufferManager::getBuffer(size_t index) const {
+    return mBufferData[index].buffer;
+}
+
+status_t Layer::BufferManager::setActiveBufferIndex(size_t index) {
+    // TODO: need to validate 'index'
+    mActiveBuffer = index;
+    return NO_ERROR;
+}
+
+size_t Layer::BufferManager::getActiveBufferIndex() const {
+    return mActiveBuffer;
+}
+
+Texture Layer::BufferManager::getActiveTexture() const {
+    return mFailover ? mFailoverTexture : mBufferData[mActiveBuffer].texture;
+}
+
+sp<GraphicBuffer> Layer::BufferManager::getActiveBuffer() const {
+    Mutex::Autolock _l(mLock);
+    return mBufferData[mActiveBuffer].buffer;
+}
+
+sp<GraphicBuffer> Layer::BufferManager::detachBuffer(size_t index)
+{
+    sp<GraphicBuffer> buffer;
+    Mutex::Autolock _l(mLock);
+    buffer = mBufferData[index].buffer;
+    mBufferData[index].buffer = 0;
+    return buffer;
+}
+
+status_t Layer::BufferManager::attachBuffer(size_t index,
+        const sp<GraphicBuffer>& buffer)
+{
+    Mutex::Autolock _l(mLock);
+    mBufferData[index].buffer = buffer;
+    mBufferData[index].texture.dirty = true;
+    return NO_ERROR;
+}
+
+status_t Layer::BufferManager::destroyTexture(Texture* tex, EGLDisplay dpy)
+{
+    if (tex->name != -1U) {
+        glDeleteTextures(1, &tex->name);
+        tex->name = -1U;
+    }
+    if (tex->image != EGL_NO_IMAGE_KHR) {
+        eglDestroyImageKHR(dpy, tex->image);
+        tex->image = EGL_NO_IMAGE_KHR;
+    }
+    return NO_ERROR;
+}
+
+status_t Layer::BufferManager::destroy(EGLDisplay dpy)
+{
+    Mutex::Autolock _l(mLock);
+    for (size_t i=0 ; i<NUM_BUFFERS ; i++) {
+        destroyTexture(&mBufferData[i].texture, dpy);
+        mBufferData[i].buffer = 0;
+    }
+    destroyTexture(&mFailoverTexture, dpy);
+    return NO_ERROR;
+}
+
+status_t Layer::BufferManager::initEglImage(EGLDisplay dpy,
+        const sp<GraphicBuffer>& buffer)
+{
+    size_t index = mActiveBuffer;
+    Texture& texture(mBufferData[index].texture);
+    status_t err = mTextureManager.initEglImage(&texture, dpy, buffer);
+    // if EGLImage fails, we switch to regular texture mode, and we
+    // free all resources associated with using EGLImages.
+    if (err == NO_ERROR) {
+        mFailover = false;
+        destroyTexture(&mFailoverTexture, dpy);
+    } else {
+        mFailover = true;
+        for (size_t i=0 ; i<NUM_BUFFERS ; i++) {
+            destroyTexture(&mBufferData[i].texture, dpy);
+        }
+    }
+    return err;
+}
+
+status_t Layer::BufferManager::loadTexture(
+        const Region& dirty, const GGLSurface& t)
+{
+    return mTextureManager.loadTexture(&mFailoverTexture, dirty, t);
+}
+
+// ---------------------------------------------------------------------------
+
 Layer::SurfaceLayer::SurfaceLayer(const sp<SurfaceFlinger>& flinger,
         SurfaceID id, const sp<Layer>& owner)
     : Surface(flinger, id, owner->getIdentity(), owner)
@@ -648,15 +661,21 @@
     sp<GraphicBuffer> buffer;
     sp<Layer> owner(getOwner());
     if (owner != 0) {
-        LOGE_IF(uint32_t(index)>=NUM_BUFFERS,
-                "getBuffer() index (%d) out of range", index);
-        if (uint32_t(index) < NUM_BUFFERS) {
-            buffer = owner->requestBuffer(index, usage);
-        }
+        buffer = owner->requestBuffer(index, usage);
     }
     return buffer;
 }
 
+status_t Layer::SurfaceLayer::setBufferCount(int bufferCount)
+{
+    status_t err = DEAD_OBJECT;
+    sp<Layer> owner(getOwner());
+    if (owner != 0) {
+        err = owner->setBufferCount(bufferCount);
+    }
+    return err;
+}
+
 // ---------------------------------------------------------------------------
 
 
diff --git a/libs/surfaceflinger/Layer.h b/libs/surfaceflinger/Layer.h
index 98e30d7..80fbd6a 100644
--- a/libs/surfaceflinger/Layer.h
+++ b/libs/surfaceflinger/Layer.h
@@ -31,6 +31,7 @@
 
 #include "LayerBase.h"
 #include "Transform.h"
+#include "TextureManager.h"
 
 namespace android {
 
@@ -41,11 +42,13 @@
 
 // ---------------------------------------------------------------------------
 
-const size_t NUM_BUFFERS = 2;
-
 class Layer : public LayerBaseClient
 {
-public:    
+public:
+    // lcblk is (almost) only accessed from the main SF thread, in the places
+    // where it's not, a reference to Client must be held
+    SharedBufferServer*     lcblk;
+
                  Layer(SurfaceFlinger* flinger, DisplayID display,
                          const sp<Client>& client, int32_t i);
 
@@ -66,15 +69,14 @@
     virtual bool isSecure() const           { return mSecure; }
     virtual sp<Surface> createSurface() const;
     virtual status_t ditch();
+    virtual void onRemoved();
     
     // only for debugging
-    inline sp<GraphicBuffer> getBuffer(int i) const { return mBuffers[i]; }
+    inline sp<GraphicBuffer> getBuffer(int i) const { return mBufferManager.getBuffer(i); }
     // only for debugging
     inline const sp<FreezeLock>&  getFreezeLock() const { return mFreezeLock; }
     // only for debugging
     inline PixelFormat pixelFormat() const { return mFormat; }
-    // only for debugging
-    inline int getFrontBufferIndex() const { return mFrontBufferIndex; }
 
     virtual const char* getTypeId() const { return "Layer"; }
 
@@ -82,15 +84,12 @@
     virtual void dump(String8& result, char* scratch, size_t size) const;
 
 private:
-    inline sp<GraphicBuffer> getFrontBufferLocked() {
-        return mBuffers[mFrontBufferIndex];
-    }
- 
     void reloadTexture(const Region& dirty);
 
     uint32_t getEffectiveUsage(uint32_t usage) const;
 
     sp<GraphicBuffer> requestBuffer(int index, int usage);
+    status_t setBufferCount(int bufferCount);
     void destroy();
 
     class SurfaceLayer : public LayerBaseClient::Surface {
@@ -100,6 +99,7 @@
         ~SurfaceLayer();
     private:
         virtual sp<GraphicBuffer> requestBuffer(int index, int usage);
+        virtual status_t setBufferCount(int bufferCount);
         sp<Layer> getOwner() const {
             return static_cast<Layer*>(Surface::getOwner().get());
         }
@@ -109,22 +109,70 @@
     sp<Surface>             mSurface;
 
             bool            mSecure;
-            bool            mNoEGLImageForSwBuffers;
             int32_t         mFrontBufferIndex;
             bool            mNeedsBlending;
             bool            mNeedsDithering;
             Region          mPostedDirtyRegion;
             sp<FreezeLock>  mFreezeLock;
             PixelFormat     mFormat;
-            
-            // protected by mLock
-            sp<GraphicBuffer> mBuffers[NUM_BUFFERS];
-            Texture         mTextures[NUM_BUFFERS];
-            sp<GraphicBuffer> mHybridBuffer;
-            uint32_t        mWidth;
-            uint32_t        mHeight;
-            
-   mutable Mutex mLock;
+
+            class BufferManager {
+                static const size_t NUM_BUFFERS = 2;
+                struct BufferData {
+                    sp<GraphicBuffer>   buffer;
+                    Texture             texture;
+                };
+                mutable Mutex mLock;
+                BufferData          mBufferData[NUM_BUFFERS];
+                Texture             mFailoverTexture;
+                TextureManager&     mTextureManager;
+                ssize_t             mActiveBuffer;
+                bool                mFailover;
+                static status_t destroyTexture(Texture* tex, EGLDisplay dpy);
+
+            public:
+                BufferManager(TextureManager& tm);
+
+                size_t getBufferCount() const;
+
+                // detach/attach buffer from/to given index
+                sp<GraphicBuffer> detachBuffer(size_t index);
+                status_t attachBuffer(size_t index, const sp<GraphicBuffer>& buffer);
+
+                // ----------------------------------------------
+                // must be called from GL thread
+
+                // set/get active buffer index
+                status_t setActiveBufferIndex(size_t index);
+                size_t getActiveBufferIndex() const;
+
+                // return the active buffer
+                sp<GraphicBuffer> getActiveBuffer() const;
+
+                // return the active texture (or fail-over)
+                Texture getActiveTexture() const;
+
+                // frees resources associated with all buffers
+                status_t destroy(EGLDisplay dpy);
+
+                // load bitmap data into the active buffer
+                status_t loadTexture(const Region& dirty, const GGLSurface& t);
+
+                // make active buffer an EGLImage if needed
+                status_t initEglImage(EGLDisplay dpy,
+                        const sp<GraphicBuffer>& buffer);
+
+                // ----------------------------------------------
+                // only for debugging
+                sp<GraphicBuffer> getBuffer(size_t index) const;
+            };
+
+            TextureManager mTextureManager;
+            BufferManager mBufferManager;
+
+            mutable Mutex mLock;
+            uint32_t    mWidth;
+            uint32_t    mHeight;
 };
 
 // ---------------------------------------------------------------------------
diff --git a/libs/surfaceflinger/LayerBase.cpp b/libs/surfaceflinger/LayerBase.cpp
index 48b0e47..63b9520 100644
--- a/libs/surfaceflinger/LayerBase.cpp
+++ b/libs/surfaceflinger/LayerBase.cpp
@@ -32,6 +32,7 @@
 #include "LayerBase.h"
 #include "SurfaceFlinger.h"
 #include "DisplayHardware/DisplayHardware.h"
+#include "TextureManager.h"
 
 
 namespace android {
@@ -340,18 +341,6 @@
     */
 }
 
-GLuint LayerBase::createTexture() const
-{
-    GLuint textureName = -1;
-    glGenTextures(1, &textureName);
-    glBindTexture(GL_TEXTURE_2D, textureName);
-    glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
-    glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
-    glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
-    glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
-    return textureName;
-}
-
 void LayerBase::clearWithOpenGL(const Region& clip, GLclampx red,
                                 GLclampx green, GLclampx blue,
                                 GLclampx alpha) const
@@ -492,187 +481,6 @@
     }
 }
 
-bool LayerBase::isSupportedYuvFormat(int format) const
-{
-    switch (format) {
-        case HAL_PIXEL_FORMAT_YCbCr_422_SP:
-        case HAL_PIXEL_FORMAT_YCbCr_420_SP:
-        case HAL_PIXEL_FORMAT_YCbCr_422_P:
-        case HAL_PIXEL_FORMAT_YCbCr_420_P:
-        case HAL_PIXEL_FORMAT_YCbCr_422_I:
-        case HAL_PIXEL_FORMAT_YCbCr_420_I:
-        case HAL_PIXEL_FORMAT_YCrCb_420_SP:
-            return true;
-    }
-    return false;
-}
-
-void LayerBase::loadTexture(Texture* texture, 
-        const Region& dirty, const GGLSurface& t) const
-{
-    if (texture->name == -1U) {
-        // uh?
-        return;
-    }
-
-    glBindTexture(GL_TEXTURE_2D, texture->name);
-
-    /*
-     * In OpenGL ES we can't specify a stride with glTexImage2D (however,
-     * GL_UNPACK_ALIGNMENT is a limited form of stride).
-     * So if the stride here isn't representable with GL_UNPACK_ALIGNMENT, we
-     * need to do something reasonable (here creating a bigger texture).
-     * 
-     * extra pixels = (((stride - width) * pixelsize) / GL_UNPACK_ALIGNMENT);
-     * 
-     * This situation doesn't happen often, but some h/w have a limitation
-     * for their framebuffer (eg: must be multiple of 8 pixels), and
-     * we need to take that into account when using these buffers as
-     * textures.
-     *
-     * This should never be a problem with POT textures
-     */
-    
-    int unpack = __builtin_ctz(t.stride * bytesPerPixel(t.format));
-    unpack = 1 << ((unpack > 3) ? 3 : unpack);
-    glPixelStorei(GL_UNPACK_ALIGNMENT, unpack);
-    
-    /*
-     * round to POT if needed 
-     */
-    if (!(mFlags & DisplayHardware::NPOT_EXTENSION)) {
-        texture->NPOTAdjust = true;
-    }
-    
-    if (texture->NPOTAdjust) {
-        // find the smallest power-of-two that will accommodate our surface
-        texture->potWidth  = 1 << (31 - clz(t.width));
-        texture->potHeight = 1 << (31 - clz(t.height));
-        if (texture->potWidth  < t.width)  texture->potWidth  <<= 1;
-        if (texture->potHeight < t.height) texture->potHeight <<= 1;
-        texture->wScale = float(t.width)  / texture->potWidth;
-        texture->hScale = float(t.height) / texture->potHeight;
-    } else {
-        texture->potWidth  = t.width;
-        texture->potHeight = t.height;
-    }
-
-    Rect bounds(dirty.bounds());
-    GLvoid* data = 0;
-    if (texture->width != t.width || texture->height != t.height) {
-        texture->width  = t.width;
-        texture->height = t.height;
-
-        // texture size changed, we need to create a new one
-        bounds.set(Rect(t.width, t.height));
-        if (t.width  == texture->potWidth &&
-            t.height == texture->potHeight) {
-            // we can do it one pass
-            data = t.data;
-        }
-
-        if (t.format == HAL_PIXEL_FORMAT_RGB_565) {
-            glTexImage2D(GL_TEXTURE_2D, 0,
-                    GL_RGB, texture->potWidth, texture->potHeight, 0,
-                    GL_RGB, GL_UNSIGNED_SHORT_5_6_5, data);
-        } else if (t.format == HAL_PIXEL_FORMAT_RGBA_4444) {
-            glTexImage2D(GL_TEXTURE_2D, 0,
-                    GL_RGBA, texture->potWidth, texture->potHeight, 0,
-                    GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4, data);
-        } else if (t.format == HAL_PIXEL_FORMAT_RGBA_8888 ||
-                   t.format == HAL_PIXEL_FORMAT_RGBX_8888) {
-            glTexImage2D(GL_TEXTURE_2D, 0,
-                    GL_RGBA, texture->potWidth, texture->potHeight, 0,
-                    GL_RGBA, GL_UNSIGNED_BYTE, data);
-        } else if (isSupportedYuvFormat(t.format)) {
-            // just show the Y plane of YUV buffers
-            glTexImage2D(GL_TEXTURE_2D, 0,
-                    GL_LUMINANCE, texture->potWidth, texture->potHeight, 0,
-                    GL_LUMINANCE, GL_UNSIGNED_BYTE, data);
-        } else {
-            // oops, we don't handle this format!
-            LOGE("layer %p, texture=%d, using format %d, which is not "
-                 "supported by the GL", this, texture->name, t.format);
-        }
-    }
-    if (!data) {
-        if (t.format == HAL_PIXEL_FORMAT_RGB_565) {
-            glTexSubImage2D(GL_TEXTURE_2D, 0,
-                    0, bounds.top, t.width, bounds.height(),
-                    GL_RGB, GL_UNSIGNED_SHORT_5_6_5,
-                    t.data + bounds.top*t.stride*2);
-        } else if (t.format == HAL_PIXEL_FORMAT_RGBA_4444) {
-            glTexSubImage2D(GL_TEXTURE_2D, 0,
-                    0, bounds.top, t.width, bounds.height(),
-                    GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4,
-                    t.data + bounds.top*t.stride*2);
-        } else if (t.format == HAL_PIXEL_FORMAT_RGBA_8888 ||
-                   t.format == HAL_PIXEL_FORMAT_RGBX_8888) {
-            glTexSubImage2D(GL_TEXTURE_2D, 0,
-                    0, bounds.top, t.width, bounds.height(),
-                    GL_RGBA, GL_UNSIGNED_BYTE,
-                    t.data + bounds.top*t.stride*4);
-        } else if (isSupportedYuvFormat(t.format)) {
-            // just show the Y plane of YUV buffers
-            glTexSubImage2D(GL_TEXTURE_2D, 0,
-                    0, bounds.top, t.width, bounds.height(),
-                    GL_LUMINANCE, GL_UNSIGNED_BYTE,
-                    t.data + bounds.top*t.stride);
-        }
-    }
-}
-
-status_t LayerBase::initializeEglImage(
-        const sp<GraphicBuffer>& buffer, Texture* texture)
-{
-    status_t err = NO_ERROR;
-
-    // we need to recreate the texture
-    EGLDisplay dpy(mFlinger->graphicPlane(0).getEGLDisplay());
-
-    // free the previous image
-    if (texture->image != EGL_NO_IMAGE_KHR) {
-        eglDestroyImageKHR(dpy, texture->image);
-        texture->image = EGL_NO_IMAGE_KHR;
-    }
-
-    // construct an EGL_NATIVE_BUFFER_ANDROID
-    android_native_buffer_t* clientBuf = buffer->getNativeBuffer();
-
-    // create the new EGLImageKHR
-    const EGLint attrs[] = {
-            EGL_IMAGE_PRESERVED_KHR,    EGL_TRUE,
-            EGL_NONE,                   EGL_NONE
-    };
-    texture->image = eglCreateImageKHR(
-            dpy, EGL_NO_CONTEXT, EGL_NATIVE_BUFFER_ANDROID,
-            (EGLClientBuffer)clientBuf, attrs);
-
-    if (texture->image != EGL_NO_IMAGE_KHR) {
-        glBindTexture(GL_TEXTURE_2D, texture->name);
-        glEGLImageTargetTexture2DOES(GL_TEXTURE_2D,
-                (GLeglImageOES)texture->image);
-        GLint error = glGetError();
-        if (UNLIKELY(error != GL_NO_ERROR)) {
-            LOGE("layer=%p, glEGLImageTargetTexture2DOES(%p) "
-                 "failed err=0x%04x",
-                 this, texture->image, error);
-            err = INVALID_OPERATION;
-        } else {
-            // Everything went okay!
-            texture->NPOTAdjust = false;
-            texture->dirty  = false;
-            texture->width  = clientBuf->width;
-            texture->height = clientBuf->height;
-        }
-    } else {
-        LOGE("layer=%p, eglCreateImageKHR() failed. err=0x%4x",
-                this, eglGetError());
-        err = INVALID_OPERATION;
-    }
-    return err;
-}
-
 void LayerBase::dump(String8& result, char* buffer, size_t SIZE) const
 {
     const Layer::State& s(drawingState());
@@ -696,12 +504,9 @@
 
 LayerBaseClient::LayerBaseClient(SurfaceFlinger* flinger, DisplayID display,
         const sp<Client>& client, int32_t i)
-    : LayerBase(flinger, display), lcblk(NULL), client(client), mIndex(i),
+    : LayerBase(flinger, display), client(client), mIndex(i),
       mIdentity(uint32_t(android_atomic_inc(&sIdentity)))
 {
-    lcblk = new SharedBufferServer(
-            client->ctrlblk, i, NUM_BUFFERS,
-            mIdentity);
 }
 
 void LayerBaseClient::onFirstRef()
@@ -718,7 +523,6 @@
     if (client != 0) {
         client->free(mIndex);
     }
-    delete lcblk;
 }
 
 ssize_t LayerBaseClient::serverIndex() const
@@ -748,14 +552,6 @@
             const_cast<LayerBaseClient *>(this));
 }
 
-// called with SurfaceFlinger::mStateLock as soon as the layer is entered
-// in the purgatory list
-void LayerBaseClient::onRemoved()
-{
-    // wake up the condition
-    lcblk->setStatus(NO_INIT);
-}
-
 void LayerBaseClient::dump(String8& result, char* buffer, size_t SIZE) const
 {
     LayerBase::dump(result, buffer, SIZE);
@@ -825,6 +621,11 @@
     return NULL; 
 }
 
+status_t LayerBaseClient::Surface::setBufferCount(int bufferCount)
+{
+    return INVALID_OPERATION;
+}
+
 status_t LayerBaseClient::Surface::registerBuffers(
         const ISurface::BufferHeap& buffers) 
 { 
diff --git a/libs/surfaceflinger/LayerBase.h b/libs/surfaceflinger/LayerBase.h
index 219a53c..53b848f 100644
--- a/libs/surfaceflinger/LayerBase.h
+++ b/libs/surfaceflinger/LayerBase.h
@@ -46,6 +46,7 @@
 class GraphicBuffer;
 class GraphicPlane;
 class SurfaceFlinger;
+class Texture;
 
 // ---------------------------------------------------------------------------
 
@@ -221,35 +222,10 @@
     const GraphicPlane& graphicPlane(int dpy) const;
           GraphicPlane& graphicPlane(int dpy);
 
-          GLuint createTexture() const;
-    
-          struct Texture {
-              Texture() : name(-1U), width(0), height(0),
-                  image(EGL_NO_IMAGE_KHR), transform(0), 
-                  NPOTAdjust(false), dirty(true) { }
-              GLuint        name;
-              GLuint        width;
-              GLuint        height;
-              GLuint        potWidth;
-              GLuint        potHeight;
-              GLfloat       wScale;
-              GLfloat       hScale;
-              EGLImageKHR   image;
-              uint32_t      transform;
-              bool          NPOTAdjust;
-              bool          dirty;
-          };
-
           void clearWithOpenGL(const Region& clip, GLclampx r, GLclampx g,
                                GLclampx b, GLclampx alpha) const;
           void clearWithOpenGL(const Region& clip) const;
           void drawWithOpenGL(const Region& clip, const Texture& texture) const;
-          void loadTexture(Texture* texture, 
-                  const Region& dirty, const GGLSurface& t) const;
-          status_t initializeEglImage(
-                  const sp<GraphicBuffer>& buffer, Texture* texture);
-
-          bool isSupportedYuvFormat(int format) const;
           
                 sp<SurfaceFlinger> mFlinger;
                 uint32_t        mFlags;
@@ -294,10 +270,6 @@
 public:
     class Surface;
 
-    // lcblk is (almost) only accessed from the main SF thread, in the places
-    // where it's not, a reference to Client must be held
-    SharedBufferServer*     lcblk;
-
     LayerBaseClient(SurfaceFlinger* flinger, DisplayID display, 
             const sp<Client>& client, int32_t i);
     virtual ~LayerBaseClient();
@@ -311,7 +283,6 @@
             sp<Surface> getSurface();
     virtual sp<Surface> createSurface() const;
     virtual ssize_t     serverIndex() const;
-    virtual void        onRemoved();
     virtual const char* getTypeId() const { return "LayerBaseClient"; }
 
     class Surface : public BnSurface 
@@ -331,6 +302,8 @@
 
     private:
         virtual sp<GraphicBuffer> requestBuffer(int index, int usage);
+        virtual status_t setBufferCount(int bufferCount);
+
         virtual status_t registerBuffers(const ISurface::BufferHeap& buffers); 
         virtual void postBuffer(ssize_t offset);
         virtual void unregisterBuffers();
diff --git a/libs/surfaceflinger/LayerBuffer.cpp b/libs/surfaceflinger/LayerBuffer.cpp
index 0041a0f..dfcc80f 100644
--- a/libs/surfaceflinger/LayerBuffer.cpp
+++ b/libs/surfaceflinger/LayerBuffer.cpp
@@ -328,7 +328,7 @@
 LayerBuffer::BufferSource::BufferSource(LayerBuffer& layer,
         const ISurface::BufferHeap& buffers)
     : Source(layer), mStatus(NO_ERROR), mBufferSize(0),
-      mUseEGLImageDirectly(true)
+      mTextureManager(layer.mFlags)
 {
     if (buffers.heap == NULL) {
         // this is allowed, but in this case, it is illegal to receive
@@ -460,35 +460,10 @@
     NativeBuffer src(ourBuffer->getBuffer());
     const Rect transformedBounds(mLayer.getTransformedBounds());
 
-    if (UNLIKELY(mTexture.name == -1LU)) {
-        mTexture.name = mLayer.createTexture();
-    }
-
 #if defined(EGL_ANDROID_image_native_buffer)
     if (mLayer.mFlags & DisplayHardware::DIRECT_TEXTURE) {
         err = INVALID_OPERATION;
         if (ourBuffer->supportsCopybit()) {
-
-            // there are constraints on buffers used by the GPU and these may not
-            // be honored here. We need to change the API so the buffers
-            // are allocated with gralloc. For now disable this code-path
-#if 0
-            // First, try to use the buffer as an EGLImage directly
-            if (mUseEGLImageDirectly) {
-                // NOTE: Assume the buffer is allocated with the proper USAGE flags
-
-                sp<GraphicBuffer> buffer = new  GraphicBuffer(
-                        src.img.w, src.img.h, src.img.format,
-                        GraphicBuffer::USAGE_HW_TEXTURE,
-                        src.img.w, src.img.handle, false);
-
-                err = mLayer.initializeEglImage(buffer, &mTexture);
-                if (err != NO_ERROR) {
-                    mUseEGLImageDirectly = false;
-                }
-            }
-#endif
-
             copybit_device_t* copybit = mLayer.mBlitEngine;
             if (copybit && err != NO_ERROR) {
                 // create our EGLImageKHR the first time
@@ -525,7 +500,7 @@
         t.format = src.img.format;
         t.data = (GGLubyte*)src.img.base;
         const Region dirty(Rect(t.width, t.height));
-        mLayer.loadTexture(&mTexture, dirty, t);
+        mTextureManager.loadTexture(&mTexture, dirty, t);
     }
 
     mTexture.transform = mBufferHeap.transform;
@@ -591,7 +566,8 @@
         dst.crop.r = w;
         dst.crop.b = h;
 
-        err = mLayer.initializeEglImage(buffer, &mTexture);
+        EGLDisplay dpy(mLayer.mFlinger->graphicPlane(0).getEGLDisplay());
+        err = mTextureManager.initEglImage(&mTexture, dpy, buffer);
     }
 
     return err;
@@ -607,7 +583,6 @@
     glDeleteTextures(1, &mTexture.name);
     Texture defaultTexture;
     mTexture = defaultTexture;
-    mTexture.name = mLayer.createTexture();
 }
 
 // ---------------------------------------------------------------------------
diff --git a/libs/surfaceflinger/LayerBuffer.h b/libs/surfaceflinger/LayerBuffer.h
index 243cc43..869c74f 100644
--- a/libs/surfaceflinger/LayerBuffer.h
+++ b/libs/surfaceflinger/LayerBuffer.h
@@ -21,6 +21,7 @@
 #include <sys/types.h>
 
 #include "LayerBase.h"
+#include "TextureManager.h"
 
 struct copybit_device_t;
 
@@ -139,9 +140,9 @@
         status_t                        mStatus;
         ISurface::BufferHeap            mBufferHeap;
         size_t                          mBufferSize;
-        mutable LayerBase::Texture      mTexture;
+        mutable Texture                 mTexture;
         mutable NativeBuffer            mTempBuffer;
-        mutable bool                    mUseEGLImageDirectly;
+        mutable TextureManager          mTextureManager;
     };
     
     class OverlaySource : public Source {
diff --git a/libs/surfaceflinger/TextureManager.cpp b/libs/surfaceflinger/TextureManager.cpp
new file mode 100644
index 0000000..e5d5302
--- /dev/null
+++ b/libs/surfaceflinger/TextureManager.cpp
@@ -0,0 +1,242 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <stdlib.h>
+#include <stdint.h>
+#include <sys/types.h>
+
+#include <utils/Errors.h>
+#include <utils/Log.h>
+
+#include <ui/GraphicBuffer.h>
+
+#include <GLES/gl.h>
+#include <GLES/glext.h>
+
+#include <hardware/hardware.h>
+
+#include "clz.h"
+#include "DisplayHardware/DisplayHardware.h"
+#include "TextureManager.h"
+
+namespace android {
+
+// ---------------------------------------------------------------------------
+
+TextureManager::TextureManager(uint32_t flags)
+    : mFlags(flags)
+{
+}
+
+GLuint TextureManager::createTexture()
+{
+    GLuint textureName = -1;
+    glGenTextures(1, &textureName);
+    glBindTexture(GL_TEXTURE_2D, textureName);
+    glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
+    glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
+    glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+    glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
+    return textureName;
+}
+
+bool TextureManager::isSupportedYuvFormat(int format)
+{
+    switch (format) {
+        case HAL_PIXEL_FORMAT_YCbCr_422_SP:
+        case HAL_PIXEL_FORMAT_YCbCr_420_SP:
+        case HAL_PIXEL_FORMAT_YCbCr_422_P:
+        case HAL_PIXEL_FORMAT_YCbCr_420_P:
+        case HAL_PIXEL_FORMAT_YCbCr_422_I:
+        case HAL_PIXEL_FORMAT_YCbCr_420_I:
+        case HAL_PIXEL_FORMAT_YCrCb_420_SP:
+            return true;
+    }
+    return false;
+}
+
+status_t TextureManager::initEglImage(Texture* texture,
+        EGLDisplay dpy, const sp<GraphicBuffer>& buffer)
+{
+    status_t err = NO_ERROR;
+    if (!texture->dirty) return err;
+
+    // free the previous image
+    if (texture->image != EGL_NO_IMAGE_KHR) {
+        eglDestroyImageKHR(dpy, texture->image);
+        texture->image = EGL_NO_IMAGE_KHR;
+    }
+
+    // construct an EGL_NATIVE_BUFFER_ANDROID
+    android_native_buffer_t* clientBuf = buffer->getNativeBuffer();
+
+    // create the new EGLImageKHR
+    const EGLint attrs[] = {
+            EGL_IMAGE_PRESERVED_KHR,    EGL_TRUE,
+            EGL_NONE,                   EGL_NONE
+    };
+    texture->image = eglCreateImageKHR(
+            dpy, EGL_NO_CONTEXT, EGL_NATIVE_BUFFER_ANDROID,
+            (EGLClientBuffer)clientBuf, attrs);
+
+    if (texture->image != EGL_NO_IMAGE_KHR) {
+        if (texture->name == -1UL) {
+            texture->name = createTexture();
+            texture->width = 0;
+            texture->height = 0;
+        }
+        glBindTexture(GL_TEXTURE_2D, texture->name);
+        glEGLImageTargetTexture2DOES(GL_TEXTURE_2D,
+                (GLeglImageOES)texture->image);
+        GLint error = glGetError();
+        if (error != GL_NO_ERROR) {
+            LOGE("glEGLImageTargetTexture2DOES(%p) failed err=0x%04x",
+                    texture->image, error);
+            err = INVALID_OPERATION;
+        } else {
+            // Everything went okay!
+            texture->NPOTAdjust = false;
+            texture->dirty  = false;
+            texture->width  = clientBuf->width;
+            texture->height = clientBuf->height;
+        }
+    } else {
+        LOGE("eglCreateImageKHR() failed. err=0x%4x", eglGetError());
+        err = INVALID_OPERATION;
+    }
+    return err;
+}
+
+status_t TextureManager::loadTexture(Texture* texture,
+        const Region& dirty, const GGLSurface& t)
+{
+    if (texture->name == -1UL) {
+        texture->name = createTexture();
+        texture->width = 0;
+        texture->height = 0;
+    }
+
+    glBindTexture(GL_TEXTURE_2D, texture->name);
+
+    /*
+     * In OpenGL ES we can't specify a stride with glTexImage2D (however,
+     * GL_UNPACK_ALIGNMENT is a limited form of stride).
+     * So if the stride here isn't representable with GL_UNPACK_ALIGNMENT, we
+     * need to do something reasonable (here creating a bigger texture).
+     *
+     * extra pixels = (((stride - width) * pixelsize) / GL_UNPACK_ALIGNMENT);
+     *
+     * This situation doesn't happen often, but some h/w have a limitation
+     * for their framebuffer (eg: must be multiple of 8 pixels), and
+     * we need to take that into account when using these buffers as
+     * textures.
+     *
+     * This should never be a problem with POT textures
+     */
+
+    int unpack = __builtin_ctz(t.stride * bytesPerPixel(t.format));
+    unpack = 1 << ((unpack > 3) ? 3 : unpack);
+    glPixelStorei(GL_UNPACK_ALIGNMENT, unpack);
+
+    /*
+     * round to POT if needed
+     */
+    if (!(mFlags & DisplayHardware::NPOT_EXTENSION)) {
+        texture->NPOTAdjust = true;
+    }
+
+    if (texture->NPOTAdjust) {
+        // find the smallest power-of-two that will accommodate our surface
+        texture->potWidth  = 1 << (31 - clz(t.width));
+        texture->potHeight = 1 << (31 - clz(t.height));
+        if (texture->potWidth  < t.width)  texture->potWidth  <<= 1;
+        if (texture->potHeight < t.height) texture->potHeight <<= 1;
+        texture->wScale = float(t.width)  / texture->potWidth;
+        texture->hScale = float(t.height) / texture->potHeight;
+    } else {
+        texture->potWidth  = t.width;
+        texture->potHeight = t.height;
+    }
+
+    Rect bounds(dirty.bounds());
+    GLvoid* data = 0;
+    if (texture->width != t.width || texture->height != t.height) {
+        texture->width  = t.width;
+        texture->height = t.height;
+
+        // texture size changed, we need to create a new one
+        bounds.set(Rect(t.width, t.height));
+        if (t.width  == texture->potWidth &&
+            t.height == texture->potHeight) {
+            // we can do it one pass
+            data = t.data;
+        }
+
+        if (t.format == HAL_PIXEL_FORMAT_RGB_565) {
+            glTexImage2D(GL_TEXTURE_2D, 0,
+                    GL_RGB, texture->potWidth, texture->potHeight, 0,
+                    GL_RGB, GL_UNSIGNED_SHORT_5_6_5, data);
+        } else if (t.format == HAL_PIXEL_FORMAT_RGBA_4444) {
+            glTexImage2D(GL_TEXTURE_2D, 0,
+                    GL_RGBA, texture->potWidth, texture->potHeight, 0,
+                    GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4, data);
+        } else if (t.format == HAL_PIXEL_FORMAT_RGBA_8888 ||
+                   t.format == HAL_PIXEL_FORMAT_RGBX_8888) {
+            glTexImage2D(GL_TEXTURE_2D, 0,
+                    GL_RGBA, texture->potWidth, texture->potHeight, 0,
+                    GL_RGBA, GL_UNSIGNED_BYTE, data);
+        } else if (isSupportedYuvFormat(t.format)) {
+            // just show the Y plane of YUV buffers
+            glTexImage2D(GL_TEXTURE_2D, 0,
+                    GL_LUMINANCE, texture->potWidth, texture->potHeight, 0,
+                    GL_LUMINANCE, GL_UNSIGNED_BYTE, data);
+        } else {
+            // oops, we don't handle this format!
+            LOGE("texture=%d, using format %d, which is not "
+                 "supported by the GL", texture->name, t.format);
+        }
+    }
+    if (!data) {
+        if (t.format == HAL_PIXEL_FORMAT_RGB_565) {
+            glTexSubImage2D(GL_TEXTURE_2D, 0,
+                    0, bounds.top, t.width, bounds.height(),
+                    GL_RGB, GL_UNSIGNED_SHORT_5_6_5,
+                    t.data + bounds.top*t.stride*2);
+        } else if (t.format == HAL_PIXEL_FORMAT_RGBA_4444) {
+            glTexSubImage2D(GL_TEXTURE_2D, 0,
+                    0, bounds.top, t.width, bounds.height(),
+                    GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4,
+                    t.data + bounds.top*t.stride*2);
+        } else if (t.format == HAL_PIXEL_FORMAT_RGBA_8888 ||
+                   t.format == HAL_PIXEL_FORMAT_RGBX_8888) {
+            glTexSubImage2D(GL_TEXTURE_2D, 0,
+                    0, bounds.top, t.width, bounds.height(),
+                    GL_RGBA, GL_UNSIGNED_BYTE,
+                    t.data + bounds.top*t.stride*4);
+        } else if (isSupportedYuvFormat(t.format)) {
+            // just show the Y plane of YUV buffers
+            glTexSubImage2D(GL_TEXTURE_2D, 0,
+                    0, bounds.top, t.width, bounds.height(),
+                    GL_LUMINANCE, GL_UNSIGNED_BYTE,
+                    t.data + bounds.top*t.stride);
+        }
+    }
+    return NO_ERROR;
+}
+
+// ---------------------------------------------------------------------------
+
+}; // namespace android
diff --git a/libs/surfaceflinger/TextureManager.h b/libs/surfaceflinger/TextureManager.h
new file mode 100644
index 0000000..90cb62b
--- /dev/null
+++ b/libs/surfaceflinger/TextureManager.h
@@ -0,0 +1,79 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ANDROID_TEXTURE_MANAGER_H
+#define ANDROID_TEXTURE_MANAGER_H
+
+#include <stdint.h>
+#include <sys/types.h>
+
+#include <EGL/egl.h>
+#include <EGL/eglext.h>
+#include <GLES/gl.h>
+
+#include <ui/Region.h>
+
+#include <pixelflinger/pixelflinger.h>
+
+namespace android {
+
+// ---------------------------------------------------------------------------
+
+class GraphicBuffer;
+
+// ---------------------------------------------------------------------------
+
+struct Texture {
+    Texture() : name(-1U), width(0), height(0),
+        image(EGL_NO_IMAGE_KHR), transform(0),
+        NPOTAdjust(false), dirty(true) { }
+    GLuint        name;
+    GLuint        width;
+    GLuint        height;
+    GLuint        potWidth;
+    GLuint        potHeight;
+    GLfloat       wScale;
+    GLfloat       hScale;
+    EGLImageKHR   image;
+    uint32_t      transform;
+    bool          NPOTAdjust;
+    bool          dirty;
+};
+
+// ---------------------------------------------------------------------------
+
+class TextureManager {
+    uint32_t mFlags;
+    GLuint createTexture();
+    static bool isSupportedYuvFormat(int format);
+public:
+
+    TextureManager(uint32_t flags);
+
+    // load bitmap data into the active buffer
+    status_t loadTexture(Texture* texture,
+            const Region& dirty, const GGLSurface& t);
+
+    // make active buffer an EGLImage if needed
+    status_t initEglImage(Texture* texture,
+            EGLDisplay dpy, const sp<GraphicBuffer>& buffer);
+};
+
+// ---------------------------------------------------------------------------
+
+}; // namespace android
+
+#endif // ANDROID_TEXTURE_MANAGER_H
diff --git a/libs/surfaceflinger_client/ISurface.cpp b/libs/surfaceflinger_client/ISurface.cpp
index bb86199..c5d0c0e 100644
--- a/libs/surfaceflinger_client/ISurface.cpp
+++ b/libs/surfaceflinger_client/ISurface.cpp
@@ -83,6 +83,16 @@
         return buffer;
     }
 
+    virtual status_t setBufferCount(int bufferCount)
+    {
+        Parcel data, reply;
+        data.writeInterfaceToken(ISurface::getInterfaceDescriptor());
+        data.writeInt32(bufferCount);
+        remote()->transact(SET_BUFFER_COUNT, data, &reply);
+        status_t err = reply.readInt32();
+        return err;
+    }
+
     virtual status_t registerBuffers(const BufferHeap& buffers)
     {
         Parcel data, reply;
@@ -146,6 +156,13 @@
                 return BAD_VALUE;
             return reply->write(*buffer);
         }
+        case SET_BUFFER_COUNT: {
+            CHECK_INTERFACE(ISurface, data, reply);
+            int bufferCount = data.readInt32();
+            status_t err = setBufferCount(bufferCount);
+            reply->writeInt32(err);
+            return NO_ERROR;
+        }
         case REGISTER_BUFFERS: {
             CHECK_INTERFACE(ISurface, data, reply);
             BufferHeap buffer;
diff --git a/libs/surfaceflinger_client/SharedBufferStack.cpp b/libs/surfaceflinger_client/SharedBufferStack.cpp
index c42cd53..4a98026 100644
--- a/libs/surfaceflinger_client/SharedBufferStack.cpp
+++ b/libs/surfaceflinger_client/SharedBufferStack.cpp
@@ -305,7 +305,6 @@
     : UpdateBase(sbb), numBuffers(numBuffers) {
 }
 ssize_t SharedBufferServer::RetireUpdate::operator()() {
-    // head is only written in this function, which is single-thread.
     int32_t head = stack.head;
     if (uint32_t(head) >= NUM_BUFFER_MAX)
         return BAD_VALUE;
@@ -322,16 +321,14 @@
         }
     } while (android_atomic_cmpxchg(queued, queued-1, &stack.queued));
     
-    // update the head pointer
-    head = ((head+1 >= numBuffers) ? 0 : head+1);
-
     // lock the buffer before advancing head, which automatically unlocks
     // the buffer we preventively locked upon entering this function
+    head = (head + 1) % numBuffers;
     android_atomic_write(stack.index[head], &stack.inUse);
 
-    // advance head
+    // head is only modified here, so we don't need to use cmpxchg
     android_atomic_write(head, &stack.head);
-    
+
     // now that head has moved, we can increment the number of available buffers
     android_atomic_inc(&stack.available);
     return head;
@@ -450,6 +447,14 @@
     return stack.setDirtyRegion(buf, reg);
 }
 
+status_t SharedBufferClient::setBufferCount(int bufferCount)
+{
+    if (uint32_t(bufferCount) >= NUM_BUFFER_MAX)
+        return BAD_VALUE;
+    mNumBuffers = bufferCount;
+    return NO_ERROR;
+}
+
 // ----------------------------------------------------------------------------
 
 SharedBufferServer::SharedBufferServer(SharedClient* sharedClient,
@@ -463,6 +468,7 @@
     mSharedStack->reallocMask = 0;
     memset(mSharedStack->buffers, 0, sizeof(mSharedStack->buffers));
     for (int i=0 ; i<num ; i++) {
+        mBufferList.add(i);
         mSharedStack->index[i] = i;
     }
 }
@@ -513,6 +519,7 @@
 
 status_t SharedBufferServer::assertReallocate(int buf)
 {
+    // TODO: need to validate "buf"
     ReallocateCondition condition(this, buf);
     status_t err = waitForCondition(condition);
     return err;
@@ -524,12 +531,85 @@
     return stack.getDirtyRegion(buf);
 }
 
+
+/*
+ *
+ * NOTE: this is not thread-safe on the server-side, meaning
+ * 'head' cannot move during this operation. The client-side
+ * can safely operate an usual.
+ *
+ */
+status_t SharedBufferServer::resize(int newNumBuffers)
+{
+    if (uint32_t(newNumBuffers) >= NUM_BUFFER_MAX)
+        return BAD_VALUE;
+
+    // for now we're not supporting shrinking
+    const int numBuffers = mNumBuffers;
+    if (newNumBuffers < numBuffers)
+        return BAD_VALUE;
+
+    SharedBufferStack& stack( *mSharedStack );
+    const int extra = newNumBuffers - numBuffers;
+
+    // read the head, make sure it's valid
+    int32_t head = stack.head;
+    if (uint32_t(head) >= NUM_BUFFER_MAX)
+        return BAD_VALUE;
+
+    int base = numBuffers;
+    int32_t avail = stack.available;
+    int tail = head - avail + 1;
+    if (tail >= 0) {
+        int8_t* const index = const_cast<int8_t*>(stack.index);
+        const int nb = numBuffers - head;
+        memmove(&index[head + extra], &index[head], nb);
+        base = head;
+        // move head 'extra' ahead, this doesn't impact stack.index[head];
+        stack.head = head + extra;
+    }
+    stack.available += extra;
+
+    // fill the new free space with unused buffers
+    BufferList::const_iterator curr(mBufferList.free_begin());
+    for (int i=0 ; i<extra ; i++) {
+        stack.index[base+i] = *curr++;
+        mBufferList.add(stack.index[base+i]);
+    }
+
+    mNumBuffers = newNumBuffers;
+    return NO_ERROR;
+}
+
 SharedBufferStack::Statistics SharedBufferServer::getStats() const
 {
     SharedBufferStack& stack( *mSharedStack );
     return stack.stats;
 }
 
+// ---------------------------------------------------------------------------
+status_t SharedBufferServer::BufferList::add(int value)
+{
+    if (uint32_t(value) >= mCapacity)
+        return BAD_VALUE;
+    uint32_t mask = 1<<(31-value);
+    if (mList & mask)
+        return ALREADY_EXISTS;
+    mList |= mask;
+    return NO_ERROR;
+}
+
+status_t SharedBufferServer::BufferList::remove(int value)
+{
+    if (uint32_t(value) >= mCapacity)
+        return BAD_VALUE;
+    uint32_t mask = 1<<(31-value);
+    if (!(mList & mask))
+        return NAME_NOT_FOUND;
+    mList &= ~mask;
+    return NO_ERROR;
+}
+
 
 // ---------------------------------------------------------------------------
 }; // namespace android
diff --git a/libs/surfaceflinger_client/Surface.cpp b/libs/surfaceflinger_client/Surface.cpp
index eee4dae..afbeafb 100644
--- a/libs/surfaceflinger_client/Surface.cpp
+++ b/libs/surfaceflinger_client/Surface.cpp
@@ -673,6 +673,27 @@
     return NO_ERROR;
 }
 
+int Surface::setBufferCount(int bufferCount)
+{
+    sp<ISurface> s(mSurface);
+    if (s == 0) return NO_INIT;
+
+    // FIXME: this needs to be synchronized dequeue/queue
+
+    status_t err = s->setBufferCount(bufferCount);
+    LOGE_IF(err, "ISurface::setBufferCount(%d) returned %s",
+            bufferCount, strerror(-err));
+    if (err == NO_ERROR) {
+        err = mSharedBufferClient->getStatus();
+        LOGE_IF(err,  "Surface (identity=%d) state = %d", mIdentity, err);
+        if (!err) {
+            // update our local copy of the buffer count
+            mSharedBufferClient->setBufferCount(bufferCount);
+        }
+    }
+    return err;
+}
+
 
 // ----------------------------------------------------------------------------
 
diff --git a/libs/utils/AssetManager.cpp b/libs/utils/AssetManager.cpp
index 5a05e6a..60a0d82 100644
--- a/libs/utils/AssetManager.cpp
+++ b/libs/utils/AssetManager.cpp
@@ -824,7 +824,7 @@
 
     // TODO: look for previously-created shared memory slice?
     int method;
-    long uncompressedLen;
+    size_t uncompressedLen;
 
     //printf("USING Zip '%s'\n", pEntry->getFileName());
 
diff --git a/libs/utils/ZipFileCRO.cpp b/libs/utils/ZipFileCRO.cpp
index 45f6c8b..16b219c 100644
--- a/libs/utils/ZipFileCRO.cpp
+++ b/libs/utils/ZipFileCRO.cpp
@@ -39,8 +39,8 @@
 }
 
 bool ZipFileCRO_getEntryInfo(ZipFileCRO zipToken, ZipEntryRO entryToken,
-        int* pMethod, long* pUncompLen,
-        long* pCompLen, off_t* pOffset, long* pModWhen, long* pCrc32) {
+        int* pMethod, size_t* pUncompLen,
+        size_t* pCompLen, off_t* pOffset, long* pModWhen, long* pCrc32) {
     ZipFileRO* zip = (ZipFileRO*)zipToken;
     ZipEntryRO entry = (ZipEntryRO)entryToken;
     return zip->getEntryInfo(entry, pMethod, pUncompLen, pCompLen, pOffset,
diff --git a/libs/utils/ZipFileRO.cpp b/libs/utils/ZipFileRO.cpp
index 6c701dd..28dc512 100644
--- a/libs/utils/ZipFileRO.cpp
+++ b/libs/utils/ZipFileRO.cpp
@@ -29,6 +29,22 @@
 #include <fcntl.h>
 #include <errno.h>
 #include <assert.h>
+#include <unistd.h>
+
+/*
+ * TEMP_FAILURE_RETRY is defined by some, but not all, versions of
+ * <unistd.h>. (Alas, it is not as standard as we'd hoped!) So, if it's
+ * not already defined, then define it here.
+ */
+#ifndef TEMP_FAILURE_RETRY
+/* Used to retry syscalls that can return EINTR. */
+#define TEMP_FAILURE_RETRY(exp) ({         \
+    typeof (exp) _rc;                      \
+    do {                                   \
+        _rc = (exp);                       \
+    } while (_rc == -1 && errno == EINTR); \
+    _rc; })
+#endif
 
 using namespace android;
 
@@ -38,6 +54,7 @@
 #define kEOCDSignature      0x06054b50
 #define kEOCDLen            22
 #define kEOCDNumEntries     8               // offset to #of entries in file
+#define kEOCDSize           12              // size of the central directory
 #define kEOCDFileOffset     16              // offset to central directory
 
 #define kMaxCommentLen      65535           // longest possible in ushort
@@ -90,9 +107,8 @@
 status_t ZipFileRO::open(const char* zipFileName)
 {
     int fd = -1;
-    off_t length;
 
-    assert(mFileMap == NULL);
+    assert(mDirectoryMap == NULL);
 
     /*
      * Open and map the specified file.
@@ -103,172 +119,240 @@
         return NAME_NOT_FOUND;
     }
 
-    length = lseek(fd, 0, SEEK_END);
-    if (length < 0) {
+    mFileLength = lseek(fd, 0, SEEK_END);
+    if (mFileLength < kEOCDLen) {
         close(fd);
         return UNKNOWN_ERROR;
     }
 
-    mFileMap = new FileMap();
-    if (mFileMap == NULL) {
-        close(fd);
-        return NO_MEMORY;
+    if (mFileName != NULL) {
+        free(mFileName);
     }
-    if (!mFileMap->create(zipFileName, fd, 0, length, true)) {
-        LOGW("Unable to map '%s': %s\n", zipFileName, strerror(errno));
-        close(fd);
-        return UNKNOWN_ERROR;
-    }
+    mFileName = strdup(zipFileName);
 
     mFd = fd;
 
     /*
-     * Got it mapped, verify it and create data structures for fast access.
+     * Find the Central Directory and store its size and number of entries.
+     */
+    if (!mapCentralDirectory()) {
+        goto bail;
+    }
+
+    /*
+     * Verify Central Directory and create data structures for fast access.
      */
     if (!parseZipArchive()) {
-        mFileMap->release();
-        mFileMap = NULL;
-        return UNKNOWN_ERROR;
+        goto bail;
     }
 
     return OK;
+
+bail:
+    free(mFileName);
+    mFileName = NULL;
+    close(fd);
+    return UNKNOWN_ERROR;
 }
 
 /*
  * Parse the Zip archive, verifying its contents and initializing internal
  * data structures.
  */
+bool ZipFileRO::mapCentralDirectory(void)
+{
+    size_t readAmount = kMaxEOCDSearch;
+    if (readAmount > (size_t) mFileLength)
+        readAmount = mFileLength;
+
+    unsigned char* scanBuf = (unsigned char*) malloc(readAmount);
+    if (scanBuf == NULL) {
+        LOGW("couldn't allocate scanBuf: %s", strerror(errno));
+        free(scanBuf);
+        return false;
+    }
+
+    /*
+     * Make sure this is a Zip archive.
+     */
+    if (lseek(mFd, 0, SEEK_SET) != 0) {
+        LOGW("seek to start failed: %s", strerror(errno));
+        free(scanBuf);
+        return false;
+    }
+
+    ssize_t actual = TEMP_FAILURE_RETRY(read(mFd, scanBuf, sizeof(int32_t)));
+    if (actual != (ssize_t) sizeof(int32_t)) {
+        LOGI("couldn't read first signature from zip archive: %s", strerror(errno));
+        free(scanBuf);
+        return false;
+    }
+
+    {
+        unsigned int header = get4LE(scanBuf);
+        if (header == kEOCDSignature) {
+            LOGI("Found Zip archive, but it looks empty\n");
+            free(scanBuf);
+            return false;
+        } else if (header != kLFHSignature) {
+            LOGV("Not a Zip archive (found 0x%08x)\n", val);
+            free(scanBuf);
+            return false;
+        }
+    }
+
+    /*
+     * Perform the traditional EOCD snipe hunt.
+     *
+     * We're searching for the End of Central Directory magic number,
+     * which appears at the start of the EOCD block.  It's followed by
+     * 18 bytes of EOCD stuff and up to 64KB of archive comment.  We
+     * need to read the last part of the file into a buffer, dig through
+     * it to find the magic number, parse some values out, and use those
+     * to determine the extent of the CD.
+     *
+     * We start by pulling in the last part of the file.
+     */
+    off_t searchStart = mFileLength - readAmount;
+
+    if (lseek(mFd, searchStart, SEEK_SET) != searchStart) {
+        LOGW("seek %ld failed: %s\n",  (long) searchStart, strerror(errno));
+        free(scanBuf);
+        return false;
+    }
+    actual = TEMP_FAILURE_RETRY(read(mFd, scanBuf, readAmount));
+    if (actual != (ssize_t) readAmount) {
+        LOGW("Zip: read %zd failed: %s\n", readAmount, strerror(errno));
+        free(scanBuf);
+        return false;
+    }
+
+    /*
+     * Scan backward for the EOCD magic.  In an archive without a trailing
+     * comment, we'll find it on the first try.  (We may want to consider
+     * doing an initial minimal read; if we don't find it, retry with a
+     * second read as above.)
+     */
+    int i;
+    for (i = readAmount - kEOCDLen; i >= 0; i--) {
+        if (scanBuf[i] == 0x50 && get4LE(&scanBuf[i]) == kEOCDSignature) {
+            LOGV("+++ Found EOCD at buf+%d\n", i);
+            break;
+        }
+    }
+    if (i < 0) {
+        LOGD("Zip: EOCD not found, %s is not zip\n", mFileName);
+        free(scanBuf);
+        return false;
+    }
+
+    off_t eocdOffset = searchStart + i;
+    const unsigned char* eocdPtr = scanBuf + i;
+
+    assert(eocdOffset < mFileLength);
+
+    /*
+     * Grab the CD offset and size, and the number of entries in the
+     * archive.  Verify that they look reasonable.
+     */
+    unsigned int numEntries = get2LE(eocdPtr + kEOCDNumEntries);
+    unsigned int dirSize = get4LE(eocdPtr + kEOCDSize);
+    unsigned int dirOffset = get4LE(eocdPtr + kEOCDFileOffset);
+
+    if ((long long) dirOffset + (long long) dirSize > (long long) eocdOffset) {
+        LOGW("bad offsets (dir %ld, size %u, eocd %ld)\n",
+            (long) dirOffset, dirSize, (long) eocdOffset);
+        free(scanBuf);
+        return false;
+    }
+    if (numEntries == 0) {
+        LOGW("empty archive?\n");
+        free(scanBuf);
+        return false;
+    }
+
+    LOGV("+++ numEntries=%d dirSize=%d dirOffset=%d\n",
+        numEntries, dirSize, dirOffset);
+
+    mDirectoryMap = new FileMap();
+    if (mDirectoryMap == NULL) {
+        LOGW("Unable to create directory map: %s", strerror(errno));
+        free(scanBuf);
+        return false;
+    }
+
+    if (!mDirectoryMap->create(mFileName, mFd, dirOffset, dirSize, true)) {
+        LOGW("Unable to map '%s' (%zd to %zd): %s\n", mFileName,
+                dirOffset, dirOffset + dirSize, strerror(errno));
+        free(scanBuf);
+        return false;
+    }
+
+    mNumEntries = numEntries;
+    mDirectoryOffset = dirOffset;
+
+    return true;
+}
+
 bool ZipFileRO::parseZipArchive(void)
 {
-#define CHECK_OFFSET(_off) {                                                \
-        if ((unsigned int) (_off) >= maxOffset) {                           \
-            LOGE("ERROR: bad offset %u (max %d): %s\n",                     \
-                (unsigned int) (_off), maxOffset, #_off);                   \
-            goto bail;                                                      \
-        }                                                                   \
-    }
-    const unsigned char* basePtr = (const unsigned char*)mFileMap->getDataPtr();
-    const unsigned char* ptr;
-    size_t length = mFileMap->getDataLength();
     bool result = false;
-    unsigned int i, numEntries, cdOffset;
-    unsigned int val;
-
-    /*
-     * The first 4 bytes of the file will either be the local header
-     * signature for the first file (kLFHSignature) or, if the archive doesn't
-     * have any files in it, the end-of-central-directory signature
-     * (kEOCDSignature).
-     */
-    val = get4LE(basePtr);
-    if (val == kEOCDSignature) {
-        LOGI("Found Zip archive, but it looks empty\n");
-        goto bail;
-    } else if (val != kLFHSignature) {
-        LOGV("Not a Zip archive (found 0x%08x)\n", val);
-        goto bail;
-    }
-
-    /*
-     * Find the EOCD.  We'll find it immediately unless they have a file
-     * comment.
-     */
-    ptr = basePtr + length - kEOCDLen;
-
-    while (ptr >= basePtr) {
-        if (*ptr == (kEOCDSignature & 0xff) && get4LE(ptr) == kEOCDSignature)
-            break;
-        ptr--;
-    }
-    if (ptr < basePtr) {
-        LOGI("Could not find end-of-central-directory in Zip\n");
-        goto bail;
-    }
-
-    /*
-     * There are two interesting items in the EOCD block: the number of
-     * entries in the file, and the file offset of the start of the
-     * central directory.
-     *
-     * (There's actually a count of the #of entries in this file, and for
-     * all files which comprise a spanned archive, but for our purposes
-     * we're only interested in the current file.  Besides, we expect the
-     * two to be equivalent for our stuff.)
-     */
-    numEntries = get2LE(ptr + kEOCDNumEntries);
-    cdOffset = get4LE(ptr + kEOCDFileOffset);
-
-    /* valid offsets are [0,EOCD] */
-    unsigned int maxOffset;
-    maxOffset = (ptr - basePtr) +1;
-
-    LOGV("+++ numEntries=%d cdOffset=%d\n", numEntries, cdOffset);
-    if (numEntries == 0 || cdOffset >= length) {
-        LOGW("Invalid entries=%d offset=%d (len=%zd)\n",
-            numEntries, cdOffset, length);
-        goto bail;
-    }
+    const unsigned char* cdPtr = (const unsigned char*) mDirectoryMap->getDataPtr();
+    size_t cdLength = mDirectoryMap->getDataLength();
+    int numEntries = mNumEntries;
 
     /*
      * Create hash table.  We have a minimum 75% load factor, possibly as
      * low as 50% after we round off to a power of 2.
      */
-    mNumEntries = numEntries;
-    mHashTableSize = roundUpPower2(1 + ((numEntries * 4) / 3));
-    mHashTable = (HashEntry*) calloc(1, sizeof(HashEntry) * mHashTableSize);
+    mHashTableSize = roundUpPower2(1 + (numEntries * 4) / 3);
+    mHashTable = (HashEntry*) calloc(mHashTableSize, sizeof(HashEntry));
 
     /*
      * Walk through the central directory, adding entries to the hash
      * table.
      */
-    ptr = basePtr + cdOffset;
-    for (i = 0; i < numEntries; i++) {
-        unsigned int fileNameLen, extraLen, commentLen, localHdrOffset;
-        const unsigned char* localHdr;
-        unsigned int hash;
-
+    const unsigned char* ptr = cdPtr;
+    for (int i = 0; i < numEntries; i++) {
         if (get4LE(ptr) != kCDESignature) {
             LOGW("Missed a central dir sig (at %d)\n", i);
             goto bail;
         }
-        if (ptr + kCDELen > basePtr + length) {
+        if (ptr + kCDELen > cdPtr + cdLength) {
             LOGW("Ran off the end (at %d)\n", i);
             goto bail;
         }
 
-        localHdrOffset = get4LE(ptr + kCDELocalOffset);
-        CHECK_OFFSET(localHdrOffset);
+        long localHdrOffset = (long) get4LE(ptr + kCDELocalOffset);
+        if (localHdrOffset >= mDirectoryOffset) {
+            LOGW("bad LFH offset %ld at entry %d\n", localHdrOffset, i);
+            goto bail;
+        }
+
+        unsigned int fileNameLen, extraLen, commentLen, hash;
+
         fileNameLen = get2LE(ptr + kCDENameLen);
         extraLen = get2LE(ptr + kCDEExtraLen);
         commentLen = get2LE(ptr + kCDECommentLen);
 
-        //LOGV("+++ %d: localHdr=%d fnl=%d el=%d cl=%d\n",
-        //    i, localHdrOffset, fileNameLen, extraLen, commentLen);
-        //LOGV(" '%.*s'\n", fileNameLen, ptr + kCDELen);
-
         /* add the CDE filename to the hash table */
         hash = computeHash((const char*)ptr + kCDELen, fileNameLen);
         addToHash((const char*)ptr + kCDELen, fileNameLen, hash);
 
-        localHdr = basePtr + localHdrOffset;
-        if (get4LE(localHdr) != kLFHSignature) {
-            LOGW("Bad offset to local header: %d (at %d)\n",
-                localHdrOffset, i);
+        ptr += kCDELen + fileNameLen + extraLen + commentLen;
+        if ((size_t)(ptr - cdPtr) > cdLength) {
+            LOGW("bad CD advance (%d vs %zd) at entry %d\n",
+                (int) (ptr - cdPtr), cdLength, i);
             goto bail;
         }
-
-        ptr += kCDELen + fileNameLen + extraLen + commentLen;
-        CHECK_OFFSET(ptr - basePtr);
     }
-
+    LOGV("+++ zip good scan %d entries\n", numEntries);
     result = true;
 
 bail:
     return result;
-#undef CHECK_OFFSET
 }
 
-
 /*
  * Simple string hash function for non-null-terminated strings.
  */
@@ -315,7 +399,7 @@
             memcmp(mHashTable[ent].name, fileName, nameLen) == 0)
         {
             /* match */
-            return (ZipEntryRO) (ent + kZipEntryAdj);
+            return (ZipEntryRO)(long)(ent + kZipEntryAdj);
         }
 
         ent = (ent + 1) & (mHashTableSize-1);
@@ -354,20 +438,24 @@
  * Returns "false" if the offsets to the fields or the contents of the fields
  * appear to be bogus.
  */
-bool ZipFileRO::getEntryInfo(ZipEntryRO entry, int* pMethod, long* pUncompLen,
-    long* pCompLen, off_t* pOffset, long* pModWhen, long* pCrc32) const
+bool ZipFileRO::getEntryInfo(ZipEntryRO entry, int* pMethod, size_t* pUncompLen,
+    size_t* pCompLen, off_t* pOffset, long* pModWhen, long* pCrc32) const
 {
-    int ent = entryToIndex(entry);
+    bool ret = false;
+
+    const int ent = entryToIndex(entry);
     if (ent < 0)
         return false;
 
+    HashEntry hashEntry = mHashTable[ent];
+
     /*
      * Recover the start of the central directory entry from the filename
-     * pointer.
+     * pointer.  The filename is the first entry past the fixed-size data,
+     * so we can just subtract back from that.
      */
-    const unsigned char* basePtr = (const unsigned char*)mFileMap->getDataPtr();
-    const unsigned char* ptr = (const unsigned char*) mHashTable[ent].name;
-    size_t zipLength = mFileMap->getDataLength();
+    const unsigned char* ptr = (const unsigned char*) hashEntry.name;
+    off_t cdOffset = mDirectoryOffset;
 
     ptr -= kCDELen;
 
@@ -380,48 +468,78 @@
     if (pCrc32 != NULL)
         *pCrc32 = get4LE(ptr + kCDECRC);
 
+    size_t compLen = get4LE(ptr + kCDECompLen);
+    if (pCompLen != NULL)
+        *pCompLen = compLen;
+    size_t uncompLen = get4LE(ptr + kCDEUncompLen);
+    if (pUncompLen != NULL)
+        *pUncompLen = uncompLen;
+
     /*
-     * We need to make sure that the lengths are not so large that somebody
-     * trying to map the compressed or uncompressed data runs off the end
-     * of the mapped region.
+     * If requested, determine the offset of the start of the data.  All we
+     * have is the offset to the Local File Header, which is variable size,
+     * so we have to read the contents of the struct to figure out where
+     * the actual data starts.
+     *
+     * We also need to make sure that the lengths are not so large that
+     * somebody trying to map the compressed or uncompressed data runs
+     * off the end of the mapped region.
+     *
+     * Note we don't verify compLen/uncompLen if they don't request the
+     * dataOffset, because dataOffset is expensive to determine.  However,
+     * if they don't have the file offset, they're not likely to be doing
+     * anything with the contents.
      */
-    unsigned long localHdrOffset = get4LE(ptr + kCDELocalOffset);
-    if (localHdrOffset + kLFHLen >= zipLength) {
-        LOGE("ERROR: bad local hdr offset in zip\n");
-        return false;
-    }
-    const unsigned char* localHdr = basePtr + localHdrOffset;
-    off_t dataOffset = localHdrOffset + kLFHLen
-        + get2LE(localHdr + kLFHNameLen) + get2LE(localHdr + kLFHExtraLen);
-    if ((unsigned long) dataOffset >= zipLength) {
-        LOGE("ERROR: bad data offset in zip\n");
-        return false;
-    }
-
-    if (pCompLen != NULL) {
-        *pCompLen = get4LE(ptr + kCDECompLen);
-        if (*pCompLen < 0 || (size_t)(dataOffset + *pCompLen) >= zipLength) {
-            LOGE("ERROR: bad compressed length in zip\n");
-            return false;
-        }
-    }
-    if (pUncompLen != NULL) {
-        *pUncompLen = get4LE(ptr + kCDEUncompLen);
-        if (*pUncompLen < 0) {
-            LOGE("ERROR: negative uncompressed length in zip\n");
-            return false;
-        }
-        if (method == kCompressStored &&
-            (size_t)(dataOffset + *pUncompLen) >= zipLength)
-        {
-            LOGE("ERROR: bad uncompressed length in zip\n");
-            return false;
-        }
-    }
-
     if (pOffset != NULL) {
+        long localHdrOffset = get4LE(ptr + kCDELocalOffset);
+        if (localHdrOffset + kLFHLen >= cdOffset) {
+            LOGE("ERROR: bad local hdr offset in zip\n");
+            return false;
+        }
+
+        unsigned char lfhBuf[kLFHLen];
+        if (lseek(mFd, localHdrOffset, SEEK_SET) != localHdrOffset) {
+            LOGW("failed seeking to lfh at offset %ld\n", localHdrOffset);
+            return false;
+        }
+        ssize_t actual =
+            TEMP_FAILURE_RETRY(read(mFd, lfhBuf, sizeof(lfhBuf)));
+        if (actual != sizeof(lfhBuf)) {
+            LOGW("failed reading lfh from offset %ld\n", localHdrOffset);
+            return false;
+        }
+
+        if (get4LE(lfhBuf) != kLFHSignature) {
+            LOGW("didn't find signature at start of lfh, offset=%ld\n",
+                localHdrOffset);
+            return false;
+        }
+
+        off_t dataOffset = localHdrOffset + kLFHLen
+            + get2LE(lfhBuf + kLFHNameLen) + get2LE(lfhBuf + kLFHExtraLen);
+        if (dataOffset >= cdOffset) {
+            LOGW("bad data offset %ld in zip\n", (long) dataOffset);
+            return false;
+        }
+
+        /* check lengths */
+        if ((off_t)(dataOffset + compLen) > cdOffset) {
+            LOGW("bad compressed length in zip (%ld + %zd > %ld)\n",
+                (long) dataOffset, compLen, (long) cdOffset);
+            return false;
+        }
+
+        if (method == kCompressStored &&
+            (off_t)(dataOffset + uncompLen) > cdOffset)
+        {
+            LOGE("ERROR: bad uncompressed length in zip (%ld + %zd > %ld)\n",
+                (long) dataOffset, uncompLen, (long) cdOffset);
+            return false;
+        }
+
         *pOffset = dataOffset;
     }
+
     return true;
 }
 
@@ -457,14 +575,14 @@
      */
 
     FileMap* newMap;
-    long compLen;
+    size_t compLen;
     off_t offset;
 
     if (!getEntryInfo(entry, NULL, NULL, &compLen, &offset, NULL, NULL))
         return NULL;
 
     newMap = new FileMap();
-    if (!newMap->create(mFileMap->getFileName(), mFd, offset, compLen, true)) {
+    if (!newMap->create(mFileName, mFd, offset, compLen, true)) {
         newMap->release();
         return NULL;
     }
@@ -480,19 +598,26 @@
  */
 bool ZipFileRO::uncompressEntry(ZipEntryRO entry, void* buffer) const
 {
-    const int kSequentialMin = 32768;
+    const size_t kSequentialMin = 32768;
     bool result = false;
     int ent = entryToIndex(entry);
     if (ent < 0)
         return -1;
 
-    const unsigned char* basePtr = (const unsigned char*)mFileMap->getDataPtr();
     int method;
-    long uncompLen, compLen;
+    size_t uncompLen, compLen;
     off_t offset;
+    const unsigned char* ptr;
 
     getEntryInfo(entry, &method, &uncompLen, &compLen, &offset, NULL, NULL);
 
+    FileMap* file = createEntryFileMap(entry);
+    if (file == NULL) {
+        goto bail;
+    }
+
+    ptr = (const unsigned char*) file->getDataPtr();
+
     /*
      * Experiment with madvise hint.  When we want to uncompress a file,
      * we pull some stuff out of the central dir entry and then hit a
@@ -507,17 +632,17 @@
      * pair of system calls are negated by a reduction in page faults.
      */
     if (compLen > kSequentialMin)
-        mFileMap->advise(FileMap::SEQUENTIAL);
+        file->advise(FileMap::SEQUENTIAL);
 
     if (method == kCompressStored) {
-        memcpy(buffer, basePtr + offset, uncompLen);
+        memcpy(buffer, ptr, uncompLen);
     } else {
-        if (!inflateBuffer(buffer, basePtr + offset, uncompLen, compLen))
+        if (!inflateBuffer(buffer, ptr, uncompLen, compLen))
             goto bail;
     }
 
     if (compLen > kSequentialMin)
-        mFileMap->advise(FileMap::NORMAL);
+        file->advise(FileMap::NORMAL);
 
     result = true;
 
@@ -537,29 +662,34 @@
     if (ent < 0)
         return -1;
 
-    const unsigned char* basePtr = (const unsigned char*)mFileMap->getDataPtr();
     int method;
-    long uncompLen, compLen;
+    size_t uncompLen, compLen;
     off_t offset;
+    const unsigned char* ptr;
 
     getEntryInfo(entry, &method, &uncompLen, &compLen, &offset, NULL, NULL);
 
-    if (method == kCompressStored) {
-        ssize_t actual;
+    const FileMap* file = createEntryFileMap(entry);
+    if (file == NULL) {
+        goto bail;
+    }
 
-        actual = write(fd, basePtr + offset, uncompLen);
+    ptr = (const unsigned char*) file->getDataPtr();
+
+    if (method == kCompressStored) {
+        ssize_t actual = write(fd, ptr, uncompLen);
         if (actual < 0) {
             LOGE("Write failed: %s\n", strerror(errno));
             goto bail;
-        } else if (actual != uncompLen) {
-            LOGE("Partial write during uncompress (%d of %ld)\n",
-                (int)actual, uncompLen);
+        } else if ((size_t) actual != uncompLen) {
+            LOGE("Partial write during uncompress (%zd of %zd)\n",
+                actual, uncompLen);
             goto bail;
         } else {
             LOGI("+++ successful write\n");
         }
     } else {
-        if (!inflateBuffer(fd, basePtr+offset, uncompLen, compLen))
+        if (!inflateBuffer(fd, ptr, uncompLen, compLen))
             goto bail;
     }
 
@@ -573,7 +703,7 @@
  * Uncompress "deflate" data from one buffer to another.
  */
 /*static*/ bool ZipFileRO::inflateBuffer(void* outBuf, const void* inBuf,
-    long uncompLen, long compLen)
+    size_t uncompLen, size_t compLen)
 {
     bool result = false;
     z_stream zstream;
@@ -582,7 +712,7 @@
     /*
      * Initialize the zlib stream struct.
      */
-	memset(&zstream, 0, sizeof(zstream));
+    memset(&zstream, 0, sizeof(zstream));
     zstream.zalloc = Z_NULL;
     zstream.zfree = Z_NULL;
     zstream.opaque = Z_NULL;
@@ -592,10 +722,10 @@
     zstream.avail_out = uncompLen;
     zstream.data_type = Z_UNKNOWN;
 
-	/*
-	 * Use the undocumented "negative window bits" feature to tell zlib
-	 * that there's no zlib header waiting for it.
-	 */
+    /*
+     * Use the undocumented "negative window bits" feature to tell zlib
+     * that there's no zlib header waiting for it.
+     */
     zerr = inflateInit2(&zstream, -MAX_WBITS);
     if (zerr != Z_OK) {
         if (zerr == Z_VERSION_ERROR) {
@@ -619,8 +749,8 @@
     }
 
     /* paranoia */
-    if ((long) zstream.total_out != uncompLen) {
-        LOGW("Size mismatch on inflated file (%ld vs %ld)\n",
+    if (zstream.total_out != uncompLen) {
+        LOGW("Size mismatch on inflated file (%ld vs %zd)\n",
             zstream.total_out, uncompLen);
         goto z_bail;
     }
@@ -638,10 +768,10 @@
  * Uncompress "deflate" data from one buffer to an open file descriptor.
  */
 /*static*/ bool ZipFileRO::inflateBuffer(int fd, const void* inBuf,
-    long uncompLen, long compLen)
+    size_t uncompLen, size_t compLen)
 {
     bool result = false;
-    const int kWriteBufSize = 32768;
+    const size_t kWriteBufSize = 32768;
     unsigned char writeBuf[kWriteBufSize];
     z_stream zstream;
     int zerr;
@@ -649,7 +779,7 @@
     /*
      * Initialize the zlib stream struct.
      */
-	memset(&zstream, 0, sizeof(zstream));
+    memset(&zstream, 0, sizeof(zstream));
     zstream.zalloc = Z_NULL;
     zstream.zfree = Z_NULL;
     zstream.opaque = Z_NULL;
@@ -659,10 +789,10 @@
     zstream.avail_out = sizeof(writeBuf);
     zstream.data_type = Z_UNKNOWN;
 
-	/*
-	 * Use the undocumented "negative window bits" feature to tell zlib
-	 * that there's no zlib header waiting for it.
-	 */
+    /*
+     * Use the undocumented "negative window bits" feature to tell zlib
+     * that there's no zlib header waiting for it.
+     */
     zerr = inflateInit2(&zstream, -MAX_WBITS);
     if (zerr != Z_OK) {
         if (zerr == Z_VERSION_ERROR) {
@@ -708,8 +838,8 @@
     assert(zerr == Z_STREAM_END);       /* other errors should've been caught */
 
     /* paranoia */
-    if ((long) zstream.total_out != uncompLen) {
-        LOGW("Size mismatch on inflated file (%ld vs %ld)\n",
+    if (zstream.total_out != uncompLen) {
+        LOGW("Size mismatch on inflated file (%ld vs %zd)\n",
             zstream.total_out, uncompLen);
         goto z_bail;
     }
diff --git a/media/java/android/media/AudioManager.java b/media/java/android/media/AudioManager.java
index 2e3eae0..b23dcde 100644
--- a/media/java/android/media/AudioManager.java
+++ b/media/java/android/media/AudioManager.java
@@ -1382,7 +1382,11 @@
     }
 
     /**
-     * Register a listener for audio focus updates.
+     * @hide
+     * Registers a listener to be called when audio focus changes. Calling this method is optional
+     * before calling {@link #requestAudioFocus(OnAudioFocusChangeListener, int, int)}, as it
+     * will register the listener as well if it wasn't registered already.
+     * @param l the listener to be notified of audio focus changes.
      */
     public void registerAudioFocusListener(OnAudioFocusChangeListener l) {
         synchronized(mFocusListenerLock) {
@@ -1394,16 +1398,12 @@
     }
 
     /**
-     * TODO document for SDK
+     * @hide
+     * Causes the specified listener to not be called anymore when focus is gained or lost.
+     * @param l the listener to unregister.
      */
     public void unregisterAudioFocusListener(OnAudioFocusChangeListener l) {
-        // notify service to remove it from audio focus stack
-        IAudioService service = getService();
-        try {
-            service.unregisterAudioFocusClient(getIdForAudioFocusListener(l));
-        } catch (RemoteException e) {
-            Log.e(TAG, "Can't call unregisterFocusClient() from AudioService due to "+e);
-        }
+
         // remove locally
         synchronized(mFocusListenerLock) {
             mAudioFocusIdListenerMap.remove(getIdForAudioFocusListener(l));
@@ -1412,18 +1412,18 @@
 
 
     /**
-     * TODO document for SDK
+     * A failed focus change request.
      */
     public static final int AUDIOFOCUS_REQUEST_FAILED = 0;
     /**
-     * TODO document for SDK
+     * A successful focus change request.
      */
     public static final int AUDIOFOCUS_REQUEST_GRANTED = 1;
 
 
     /**
      *  Request audio focus.
-     *  Send a request to obtain the audio focus for a specific stream type
+     *  Send a request to obtain the audio focus
      *  @param l the listener to be notified of audio focus changes
      *  @param streamType the main audio stream type affected by the focus request
      *  @param durationHint use {@link #AUDIOFOCUS_GAIN_TRANSIENT} to indicate this focus request
@@ -1456,13 +1456,13 @@
 
 
     /**
-     *  TODO document for SDK
-     *  Abandon audio focus.
+     *  Abandon audio focus. Causes the previous focus owner, if any, to receive focus.
+     *  @param l the listener with which focus was requested.
      *  @return {@link #AUDIOFOCUS_REQUEST_FAILED} or {@link #AUDIOFOCUS_REQUEST_GRANTED}
      */
     public int abandonAudioFocus(OnAudioFocusChangeListener l) {
         int status = AUDIOFOCUS_REQUEST_FAILED;
-        registerAudioFocusListener(l);
+        unregisterAudioFocusListener(l);
         IAudioService service = getService();
         try {
             status = service.abandonAudioFocus(mAudioFocusDispatcher,
@@ -1477,7 +1477,7 @@
     //====================================================================
     // Remote Control
     /**
-     * TODO document for SDK
+     * Register a component to be the sole receiver of MEDIA_BUTTON intents.
      * @param eventReceiver identifier of a {@link android.content.BroadcastReceiver}
      *      that will receive the media button intent. This broadcast receiver must be declared
      *      in the application manifest.
@@ -1493,7 +1493,9 @@
     }
 
     /**
-     * TODO document for SDK
+     * Unregister the receiver of MEDIA_BUTTON intents.
+     * @param eventReceiver identifier of a {@link android.content.BroadcastReceiver}
+     *      that was registered with {@link #registerMediaButtonEventReceiver(ComponentName)}.
      */
     public void unregisterMediaButtonEventReceiver(ComponentName eventReceiver) {
         IAudioService service = getService();
diff --git a/media/java/android/media/AudioService.java b/media/java/android/media/AudioService.java
index d55d0a5..5c278d9 100644
--- a/media/java/android/media/AudioService.java
+++ b/media/java/android/media/AudioService.java
@@ -1930,6 +1930,8 @@
      */
     private final static String IN_VOICE_COMM_FOCUS_ID = "AudioFocus_For_Phone_Ring_And_Calls";
 
+    private final static Object mAudioFocusLock = new Object();
+
     private PhoneStateListener mPhoneStateListener = new PhoneStateListener() {
         @Override
         public void onCallStateChanged(int state, String incomingNumber) {
@@ -2000,7 +2002,7 @@
      */
     private void dumpFocusStack(PrintWriter pw) {
         pw.println("\nAudio Focus stack entries:");
-        synchronized(mFocusStack) {
+        synchronized(mAudioFocusLock) {
             Iterator<FocusStackEntry> stackIterator = mFocusStack.iterator();
             while(stackIterator.hasNext()) {
                 FocusStackEntry fse = stackIterator.next();
@@ -2091,7 +2093,7 @@
         }
 
         public void binderDied() {
-            synchronized(mFocusStack) {
+            synchronized(mAudioFocusLock) {
                 Log.w(TAG, "  AudioFocus   audio focus client died");
                 removeFocusStackEntryForClient(mCb);
             }
@@ -2117,11 +2119,11 @@
             return AudioManager.AUDIOFOCUS_REQUEST_FAILED;
         }
 
-        if (!canReassignAudioFocus()) {
-            return AudioManager.AUDIOFOCUS_REQUEST_FAILED;
-        }
+        synchronized(mAudioFocusLock) {
+            if (!canReassignAudioFocus()) {
+                return AudioManager.AUDIOFOCUS_REQUEST_FAILED;
+            }
 
-        synchronized(mFocusStack) {
             if (!mFocusStack.empty() && mFocusStack.peek().mClientId.equals(clientId)) {
                 // if focus is already owned by this client and the reason for acquiring the focus
                 // hasn't changed, don't do anything
@@ -2151,7 +2153,7 @@
             // push focus requester at the top of the audio focus stack
             mFocusStack.push(new FocusStackEntry(mainStreamType, focusChangeHint, false, fd, cb,
                     clientId));
-        }//synchronized(mFocusStack)
+        }//synchronized(mAudioFocusLock)
 
         // handle the potential premature death of the new holder of the focus
         // (premature death == death before abandoning focus) for a client which is not the
@@ -2173,10 +2175,17 @@
     /** @see AudioManager#abandonAudioFocus(IAudioFocusDispatcher) */
     public int abandonAudioFocus(IAudioFocusDispatcher fl, String clientId) {
         Log.i(TAG, " AudioFocus  abandonAudioFocus() from " + clientId);
-
-        // this will take care of notifying the new focus owner if needed
-        synchronized(mFocusStack) {
-            removeFocusStackEntry(clientId, true);
+        try {
+            // this will take care of notifying the new focus owner if needed
+            synchronized(mAudioFocusLock) {
+                removeFocusStackEntry(clientId, true);
+            }
+        } catch (java.util.ConcurrentModificationException cme) {
+            // Catching this exception here is temporary. It is here just to prevent
+            // a crash seen when the "Silent" notification is played. This is believed to be fixed
+            // but this try catch block is left just to be safe.
+            Log.e(TAG, "FATAL EXCEPTION AudioFocus  abandonAudioFocus() caused " + cme);
+            cme.printStackTrace();
         }
 
         return AudioManager.AUDIOFOCUS_REQUEST_GRANTED;
@@ -2184,7 +2193,7 @@
 
 
     public void unregisterAudioFocusClient(String clientId) {
-        synchronized(mFocusStack) {
+        synchronized(mAudioFocusLock) {
             removeFocusStackEntry(clientId, false);
         }
     }
diff --git a/media/java/android/media/MediaScanner.java b/media/java/android/media/MediaScanner.java
index e80ece6..013f8fc 100644
--- a/media/java/android/media/MediaScanner.java
+++ b/media/java/android/media/MediaScanner.java
@@ -869,12 +869,15 @@
             values.put(MediaStore.Images.ImageColumns.DATA, "");
             String [] pathSpec = new String[] {path + '%'};
             try {
+                // These tables have DELETE_FILE triggers that delete the file from the
+                // sd card when deleting the database entry. We don't want to do this in
+                // this case, since it would cause those files to be removed if a .nomedia
+                // file was added after the fact, when in that case we only want the database
+                // entries to be removed.
                 mMediaProvider.update(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values,
                         MediaStore.Images.ImageColumns.DATA + " LIKE ?", pathSpec);
                 mMediaProvider.update(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, values,
                         MediaStore.Images.ImageColumns.DATA + " LIKE ?", pathSpec);
-                mMediaProvider.update(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, values,
-                        MediaStore.Images.ImageColumns.DATA + " LIKE ?", pathSpec);
             } catch (RemoteException e) {
                 throw new RuntimeException();
             }
diff --git a/media/libmediaplayerservice/StagefrightRecorder.cpp b/media/libmediaplayerservice/StagefrightRecorder.cpp
index 57db7e4..e41a716 100644
--- a/media/libmediaplayerservice/StagefrightRecorder.cpp
+++ b/media/libmediaplayerservice/StagefrightRecorder.cpp
@@ -32,6 +32,7 @@
 #include <media/stagefright/OMXCodec.h>
 #include <camera/ICamera.h>
 #include <camera/Camera.h>
+#include <camera/CameraParameters.h>
 #include <surfaceflinger/ISurface.h>
 #include <utils/Errors.h>
 #include <sys/types.h>
@@ -88,6 +89,12 @@
 }
 
 status_t StagefrightRecorder::setVideoSize(int width, int height) {
+    if (width <= 0 || height <= 0) {
+        LOGE("Invalid video size: %dx%d", width, height);
+        return BAD_VALUE;
+    }
+
+    // Additional check on the dimension will be performed later
     mVideoWidth = width;
     mVideoHeight = height;
 
@@ -95,6 +102,12 @@
 }
 
 status_t StagefrightRecorder::setVideoFrameRate(int frames_per_second) {
+    if (frames_per_second <= 0 || frames_per_second > 30) {
+        LOGE("Invalid video frame rate: %d", frames_per_second);
+        return BAD_VALUE;
+    }
+
+    // Additional check on the frame rate will be performed later
     mFrameRate = frames_per_second;
 
     return OK;
@@ -152,9 +165,9 @@
 
 // Attempt to parse an int64 literal optionally surrounded by whitespace,
 // returns true on success, false otherwise.
-static bool safe_strtoi64(const char *s, int32_t *val) {
+static bool safe_strtoi64(const char *s, int64_t *val) {
     char *end;
-    *val = static_cast<int32_t>(strtoll(s, &end, 10));
+    *val = strtoll(s, &end, 10);
 
     if (end == s || errno == ERANGE) {
         return false;
@@ -171,6 +184,18 @@
     return *end == '\0';
 }
 
+// Return true if the value is in [0, 0x007FFFFFFF]
+static bool safe_strtoi32(const char *s, int32_t *val) {
+    int64_t temp;
+    if (safe_strtoi64(s, &temp)) {
+        if (temp >= 0 && temp <= 0x007FFFFFFF) {
+            *val = static_cast<int32_t>(temp);
+            return true;
+        }
+    }
+    return false;
+}
+
 // Trim both leading and trailing whitespace from the given string.
 static void TrimString(String8 *s) {
     size_t num_bytes = s->bytes();
@@ -191,85 +216,129 @@
 
 status_t StagefrightRecorder::setParamAudioSamplingRate(int32_t sampleRate) {
     LOGV("setParamAudioSamplingRate: %d", sampleRate);
+    if (sampleRate <= 0) {
+        LOGE("Invalid audio sampling rate: %d", sampleRate);
+        return BAD_VALUE;
+    }
+
+    // Additional check on the sample rate will be performed later.
     mSampleRate = sampleRate;
     return OK;
 }
 
 status_t StagefrightRecorder::setParamAudioNumberOfChannels(int32_t channels) {
     LOGV("setParamAudioNumberOfChannels: %d", channels);
+    if (channels <= 0 || channels >= 3) {
+        LOGE("Invalid number of audio channels: %d", channels);
+    }
+
+    // Additional check on the number of channels will be performed later.
     mAudioChannels = channels;
     return OK;
 }
 
 status_t StagefrightRecorder::setParamAudioEncodingBitRate(int32_t bitRate) {
     LOGV("setParamAudioEncodingBitRate: %d", bitRate);
+    if (bitRate <= 0) {
+        LOGE("Invalid audio encoding bit rate: %d", bitRate);
+        return BAD_VALUE;
+    }
+
+    // The target bit rate may not be exactly the same as the requested.
+    // It depends on many factors, such as rate control, and the bit rate
+    // range that a specific encoder supports. The mismatch between the
+    // the target and requested bit rate will NOT be treated as an error.
     mAudioBitRate = bitRate;
     return OK;
 }
 
 status_t StagefrightRecorder::setParamVideoEncodingBitRate(int32_t bitRate) {
     LOGV("setParamVideoEncodingBitRate: %d", bitRate);
+    if (bitRate <= 0) {
+        LOGE("Invalid video encoding bit rate: %d", bitRate);
+        return BAD_VALUE;
+    }
+
+    // The target bit rate may not be exactly the same as the requested.
+    // It depends on many factors, such as rate control, and the bit rate
+    // range that a specific encoder supports. The mismatch between the
+    // the target and requested bit rate will NOT be treated as an error.
     mVideoBitRate = bitRate;
     return OK;
 }
 
-status_t StagefrightRecorder::setParamMaxDurationOrFileSize(int32_t limit,
+status_t StagefrightRecorder::setParamMaxDurationOrFileSize(int64_t limit,
         bool limit_is_duration) {
     LOGV("setParamMaxDurationOrFileSize: limit (%d) for %s",
             limit, limit_is_duration?"duration":"size");
+    if (limit_is_duration) {  // limit is in ms
+        if (limit <= 1000) {  // XXX: 1 second
+            LOGE("Max file duration is too short: %lld us", limit);
+        }
+        mMaxFileDurationUs = limit * 1000LL;
+    } else {
+        if (limit <= 1024) {  // XXX: 1 kB
+            LOGE("Max file size is too small: %lld bytes", limit);
+        }
+        mMaxFileSizeBytes = limit;
+    }
     return OK;
 }
 
 status_t StagefrightRecorder::setParamInterleaveDuration(int32_t durationUs) {
     LOGV("setParamInterleaveDuration: %d", durationUs);
+    if (durationUs <= 20000) {  // XXX: 20 ms
+        LOGE("Audio/video interleave duration is too small: %d us", durationUs);
+        return BAD_VALUE;
+    }
     mInterleaveDurationUs = durationUs;
     return OK;
 }
+
 status_t StagefrightRecorder::setParameter(
         const String8 &key, const String8 &value) {
     LOGV("setParameter: key (%s) => value (%s)", key.string(), value.string());
     if (key == "max-duration") {
-        int32_t max_duration_ms;
+        int64_t max_duration_ms;
         if (safe_strtoi64(value.string(), &max_duration_ms)) {
             return setParamMaxDurationOrFileSize(
                     max_duration_ms, true /* limit_is_duration */);
         }
     } else if (key == "max-filesize") {
-        int32_t max_filesize_bytes;
+        int64_t max_filesize_bytes;
         if (safe_strtoi64(value.string(), &max_filesize_bytes)) {
             return setParamMaxDurationOrFileSize(
                     max_filesize_bytes, false /* limit is filesize */);
         }
     } else if (key == "audio-param-sampling-rate") {
         int32_t sampling_rate;
-        if (safe_strtoi64(value.string(), &sampling_rate)) {
+        if (safe_strtoi32(value.string(), &sampling_rate)) {
             return setParamAudioSamplingRate(sampling_rate);
         }
     } else if (key == "audio-param-number-of-channels") {
         int32_t number_of_channels;
-        if (safe_strtoi64(value.string(), &number_of_channels)) {
+        if (safe_strtoi32(value.string(), &number_of_channels)) {
             return setParamAudioNumberOfChannels(number_of_channels);
         }
     } else if (key == "audio-param-encoding-bitrate") {
         int32_t audio_bitrate;
-        if (safe_strtoi64(value.string(), &audio_bitrate)) {
+        if (safe_strtoi32(value.string(), &audio_bitrate)) {
             return setParamAudioEncodingBitRate(audio_bitrate);
         }
     } else if (key == "video-param-encoding-bitrate") {
         int32_t video_bitrate;
-        if (safe_strtoi64(value.string(), &video_bitrate)) {
+        if (safe_strtoi32(value.string(), &video_bitrate)) {
             return setParamVideoEncodingBitRate(video_bitrate);
         }
     } else if (key == "param-interleave-duration-us") {
         int32_t durationUs;
-        if (safe_strtoi64(value.string(), &durationUs)) {
+        if (safe_strtoi32(value.string(), &durationUs)) {
             return setParamInterleaveDuration(durationUs);
         }
     } else {
         LOGE("setParameter: failed to find key %s", key.string());
-        return BAD_VALUE;
     }
-    return OK;
+    return BAD_VALUE;
 }
 
 status_t StagefrightRecorder::setParameters(const String8 &params) {
@@ -332,6 +401,10 @@
         case OUTPUT_FORMAT_AMR_WB:
             return startAMRRecording();
 
+        case OUTPUT_FORMAT_AAC_ADIF:
+        case OUTPUT_FORMAT_AAC_ADTS:
+            return startAACRecording();
+
         default:
             return UNKNOWN_ERROR;
     }
@@ -377,6 +450,7 @@
     encMeta->setInt32(kKeyMaxInputSize, maxInputSize);
     encMeta->setInt32(kKeyChannelCount, mAudioChannels);
     encMeta->setInt32(kKeySampleRate, mSampleRate);
+    encMeta->setInt32(kKeyBitRate, mAudioBitRate);
 
     OMXClient client;
     CHECK_EQ(client.connect(), OK);
@@ -388,18 +462,55 @@
     return audioEncoder;
 }
 
+status_t StagefrightRecorder::startAACRecording() {
+    CHECK(mOutputFormat == OUTPUT_FORMAT_AAC_ADIF ||
+          mOutputFormat == OUTPUT_FORMAT_AAC_ADTS);
+
+    CHECK(mAudioEncoder == AUDIO_ENCODER_AAC);
+    CHECK(mAudioSource != AUDIO_SOURCE_LIST_END);
+    CHECK(mOutputFd >= 0);
+
+    CHECK(0 == "AACWriter is not implemented yet");
+
+    return OK;
+}
+
 status_t StagefrightRecorder::startAMRRecording() {
-    if (mAudioSource == AUDIO_SOURCE_LIST_END
-        || mVideoSource != VIDEO_SOURCE_LIST_END) {
+    CHECK(mOutputFormat == OUTPUT_FORMAT_AMR_NB ||
+          mOutputFormat == OUTPUT_FORMAT_AMR_WB);
+
+    if (mOutputFormat == OUTPUT_FORMAT_AMR_NB) {
+        if (mAudioEncoder != AUDIO_ENCODER_DEFAULT &&
+            mAudioEncoder != AUDIO_ENCODER_AMR_NB) {
+            LOGE("Invalid encoder %d used for AMRNB recording",
+                    mAudioEncoder);
+            return UNKNOWN_ERROR;
+        }
+        if (mSampleRate != 8000) {
+            LOGE("Invalid sampling rate %d used for AMRNB recording",
+                    mSampleRate);
+            return UNKNOWN_ERROR;
+        }
+    } else {  // mOutputFormat must be OUTPUT_FORMAT_AMR_WB
+        if (mAudioEncoder != AUDIO_ENCODER_AMR_WB) {
+            LOGE("Invlaid encoder %d used for AMRWB recording",
+                    mAudioEncoder);
+            return UNKNOWN_ERROR;
+        }
+        if (mSampleRate != 16000) {
+            LOGE("Invalid sample rate %d used for AMRWB recording",
+                    mSampleRate);
+            return UNKNOWN_ERROR;
+        }
+    }
+    if (mAudioChannels != 1) {
+        LOGE("Invalid number of audio channels %d used for amr recording",
+                mAudioChannels);
         return UNKNOWN_ERROR;
     }
 
-    if (mOutputFormat == OUTPUT_FORMAT_AMR_NB
-            && mAudioEncoder != AUDIO_ENCODER_DEFAULT
-            && mAudioEncoder != AUDIO_ENCODER_AMR_NB) {
-        return UNKNOWN_ERROR;
-    } else if (mOutputFormat == OUTPUT_FORMAT_AMR_WB
-            && mAudioEncoder != AUDIO_ENCODER_AMR_WB) {
+    if (mAudioSource >= AUDIO_SOURCE_LIST_END) {
+        LOGE("Invalid audio source: %d", mAudioSource);
         return UNKNOWN_ERROR;
     }
 
@@ -444,14 +555,47 @@
             || mVideoSource == VIDEO_SOURCE_CAMERA) {
         CHECK(mCamera != NULL);
 
+        if (mCamera == 0) {
+            mCamera = Camera::connect(0);
+        }
+        CHECK(mCamera != NULL);
+
+        // Set the actual video recording frame size
+        CameraParameters params(mCamera->getParameters());
+        params.setPreviewSize(mVideoWidth, mVideoHeight);
+        params.setPreviewFrameRate(mFrameRate);
+        String8 s = params.flatten();
+        CHECK_EQ(OK, mCamera->setParameters(s));
+        CameraParameters newCameraParams(mCamera->getParameters());
+
+        // Check on video frame size
+        int frameWidth = 0, frameHeight = 0;
+        newCameraParams.getPreviewSize(&frameWidth, &frameHeight);
+        if (frameWidth  < 0 || frameWidth  != mVideoWidth ||
+            frameHeight < 0 || frameHeight != mVideoHeight) {
+            LOGE("Failed to set the video frame size to %dx%d",
+                    mVideoWidth, mVideoHeight);
+            return UNKNOWN_ERROR;
+        }
+
+        // Check on video frame rate
+        int frameRate = newCameraParams.getPreviewFrameRate();
+        if (frameRate < 0 || (frameRate - mFrameRate) != 0) {
+            LOGE("Failed to set frame rate to %d", mFrameRate);
+            return UNKNOWN_ERROR;
+        }
+
+        CHECK_EQ(OK, mCamera->setPreviewDisplay(mPreviewSurface));
+
         sp<CameraSource> cameraSource =
             CameraSource::CreateFromCamera(mCamera);
 
         CHECK(cameraSource != NULL);
 
-        cameraSource->setPreviewSurface(mPreviewSurface);
-
         sp<MetaData> enc_meta = new MetaData;
+        enc_meta->setInt32(kKeyBitRate, mVideoBitRate);
+        enc_meta->setInt32(kKeySampleRate, mFrameRate);  // XXX: kKeySampleRate?
+
         switch (mVideoEncoder) {
             case VIDEO_ENCODER_H263:
                 enc_meta->setCString(kKeyMIMEType, MEDIA_MIMETYPE_VIDEO_H263);
@@ -491,7 +635,12 @@
         mWriter->addSource(encoder);
     }
 
-    ((MPEG4Writer *)mWriter.get())->setInterleaveDuration(mInterleaveDurationUs);
+    {
+        // MPEGWriter specific handling
+        MPEG4Writer *writer = ((MPEG4Writer *) mWriter.get());  // mWriter is an MPEGWriter
+        writer->setInterleaveDuration(mInterleaveDurationUs);
+    }
+
     mWriter->start();
     return OK;
 }
diff --git a/media/libmediaplayerservice/StagefrightRecorder.h b/media/libmediaplayerservice/StagefrightRecorder.h
index 3b99e91..b7d554b 100644
--- a/media/libmediaplayerservice/StagefrightRecorder.h
+++ b/media/libmediaplayerservice/StagefrightRecorder.h
@@ -75,6 +75,8 @@
     int32_t mAudioChannels;
     int32_t mSampleRate;
     int32_t mInterleaveDurationUs;
+    int64_t mMaxFileSizeBytes;
+    int64_t mMaxFileDurationUs;
 
     String8 mParams;
     int mOutputFd;
@@ -82,6 +84,7 @@
 
     status_t startMPEG4Recording();
     status_t startAMRRecording();
+    status_t startAACRecording();
     sp<MediaSource> createAudioSource();
     status_t setParameter(const String8 &key, const String8 &value);
     status_t setParamVideoEncodingBitRate(int32_t bitRate);
@@ -89,7 +92,7 @@
     status_t setParamAudioNumberOfChannels(int32_t channles);
     status_t setParamAudioSamplingRate(int32_t sampleRate);
     status_t setParamInterleaveDuration(int32_t durationUs);
-    status_t setParamMaxDurationOrFileSize(int32_t limit, bool limit_is_duration);
+    status_t setParamMaxDurationOrFileSize(int64_t limit, bool limit_is_duration);
 
     StagefrightRecorder(const StagefrightRecorder &);
     StagefrightRecorder &operator=(const StagefrightRecorder &);
diff --git a/media/libstagefright/AwesomePlayer.cpp b/media/libstagefright/AwesomePlayer.cpp
index 475160e..f668caa 100644
--- a/media/libstagefright/AwesomePlayer.cpp
+++ b/media/libstagefright/AwesomePlayer.cpp
@@ -778,7 +778,12 @@
             }
         }
 
-        mAudioSource->start();
+        status_t err = mAudioSource->start();
+
+        if (err != OK) {
+            mAudioSource.clear();
+            return err;
+        }
     } else if (!strcasecmp(mime, MEDIA_MIMETYPE_AUDIO_QCELP)) {
         // For legacy reasons we're simply going to ignore the absence
         // of an audio decoder for QCELP instead of aborting playback
diff --git a/media/libstagefright/CameraSource.cpp b/media/libstagefright/CameraSource.cpp
index 038c3b3..cd26e6b 100644
--- a/media/libstagefright/CameraSource.cpp
+++ b/media/libstagefright/CameraSource.cpp
@@ -27,39 +27,10 @@
 #include <media/stagefright/MetaData.h>
 #include <camera/Camera.h>
 #include <camera/CameraParameters.h>
-#include <ui/GraphicBuffer.h>
-#include <ui/Overlay.h>
-#include <surfaceflinger/ISurface.h>
 #include <utils/String8.h>
 
 namespace android {
 
-struct DummySurface : public BnSurface {
-    DummySurface() {}
-
-    virtual sp<GraphicBuffer> requestBuffer(int bufferIdx, int usage) {
-        return NULL;
-    }
-
-    virtual status_t registerBuffers(const BufferHeap &buffers) {
-        return OK;
-    }
-
-    virtual void postBuffer(ssize_t offset) {}
-    virtual void unregisterBuffers() {}
-
-    virtual sp<OverlayRef> createOverlay(
-            uint32_t w, uint32_t h, int32_t format, int32_t orientation) {
-        return NULL;
-    }
-
-protected:
-    virtual ~DummySurface() {}
-
-    DummySurface(const DummySurface &);
-    DummySurface &operator=(const DummySurface &);
-};
-
 struct CameraSourceListener : public CameraListener {
     CameraSourceListener(const sp<CameraSource> &source);
 
@@ -147,23 +118,12 @@
     }
 }
 
-void CameraSource::setPreviewSurface(const sp<ISurface> &surface) {
-    mPreviewSurface = surface;
-}
-
 status_t CameraSource::start(MetaData *) {
     LOGV("start");
     CHECK(!mStarted);
 
     mCamera->setListener(new CameraSourceListener(this));
-
-    status_t err =
-        mCamera->setPreviewDisplay(
-                mPreviewSurface != NULL ? mPreviewSurface : new DummySurface);
-    CHECK_EQ(err, OK);
-
-    err = mCamera->startRecording();
-    CHECK_EQ(err, OK);
+    CHECK_EQ(OK, mCamera->startRecording());
 
     mStarted = true;
 
diff --git a/media/libstagefright/HTTPDataSource.cpp b/media/libstagefright/HTTPDataSource.cpp
index 8e26c37e..f72a6cc 100644
--- a/media/libstagefright/HTTPDataSource.cpp
+++ b/media/libstagefright/HTTPDataSource.cpp
@@ -84,6 +84,7 @@
         }
 
         if (httpStatus >= 200 && httpStatus < 300) {
+            applyTimeoutResponse();
             return OK;
         }
 
@@ -133,6 +134,22 @@
     return ERROR_IO;
 }
 
+void HTTPDataSource::applyTimeoutResponse() {
+    string timeout;
+    if (mHttp->find_header_value("X-SocketTimeout", &timeout)) {
+        const char *s = timeout.c_str();
+        char *end;
+        long tmp = strtol(s, &end, 10);
+        if (end == s || *end != '\0') {
+            LOGW("Illegal X-SocketTimeout value given.");
+            return;
+        }
+
+        LOGI("overriding default timeout, new timeout is %ld seconds", tmp);
+        mHttp->setReceiveTimeout(tmp);
+    }
+}
+
 HTTPDataSource::HTTPDataSource(
         const char *uri, const KeyedVector<String8, String8> *headers) {
     CHECK(!strncasecmp("http://", uri, 7));
diff --git a/media/libstagefright/HTTPStream.cpp b/media/libstagefright/HTTPStream.cpp
index 6145ec2..9c99866 100644
--- a/media/libstagefright/HTTPStream.cpp
+++ b/media/libstagefright/HTTPStream.cpp
@@ -68,10 +68,7 @@
         return UNKNOWN_ERROR;
     }
 
-    struct timeval tv;
-    tv.tv_usec = 0;
-    tv.tv_sec = 5;
-    CHECK_EQ(0, setsockopt(mSocket, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv)));
+    setReceiveTimeout(5);  // Time out reads after 5 secs by default
 
     mState = CONNECTING;
 
@@ -329,5 +326,17 @@
     return true;
 }
 
+void HTTPStream::setReceiveTimeout(int seconds) {
+    if (seconds < 0) {
+        // Disable the timeout.
+        seconds = 0;
+    }
+
+    struct timeval tv;
+    tv.tv_usec = 0;
+    tv.tv_sec = seconds;
+    CHECK_EQ(0, setsockopt(mSocket, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv)));
+}
+
 }  // namespace android
 
diff --git a/media/libstagefright/MPEG4Writer.cpp b/media/libstagefright/MPEG4Writer.cpp
index fd792ee..19cccf7 100644
--- a/media/libstagefright/MPEG4Writer.cpp
+++ b/media/libstagefright/MPEG4Writer.cpp
@@ -113,6 +113,7 @@
     : mFile(fopen(filename, "wb")),
       mOffset(0),
       mMdatOffset(0),
+      mEstimatedMoovBoxSize(0),
       mInterleaveDurationUs(500000) {
     CHECK(mFile != NULL);
 }
@@ -121,6 +122,7 @@
     : mFile(fdopen(fd, "wb")),
       mOffset(0),
       mMdatOffset(0),
+      mEstimatedMoovBoxSize(0),
       mInterleaveDurationUs(500000) {
     CHECK(mFile != NULL);
 }
@@ -147,15 +149,33 @@
         return UNKNOWN_ERROR;
     }
 
+    mStreamableFile = true;
+    mWriteMoovBoxToMemory = false;
+    mMoovBoxBuffer = NULL;
+    mMoovBoxBufferOffset = 0;
+
     beginBox("ftyp");
       writeFourcc("isom");
       writeInt32(0);
       writeFourcc("isom");
     endBox();
 
-    mMdatOffset = mOffset;
-    write("\x00\x00\x00\x01mdat????????", 16);
+    mFreeBoxOffset = mOffset;
 
+    if (mEstimatedMoovBoxSize == 0) {
+        // XXX: Estimate the moov box size
+        //      based on max file size or duration limit
+        mEstimatedMoovBoxSize = 0x0F00;
+    }
+    CHECK(mEstimatedMoovBoxSize >= 8);
+    fseeko(mFile, mFreeBoxOffset, SEEK_SET);
+    writeInt32(mEstimatedMoovBoxSize);
+    write("free", 4);
+
+    mMdatOffset = mFreeBoxOffset + mEstimatedMoovBoxSize;
+    mOffset = mMdatOffset;
+    fseeko(mFile, mMdatOffset, SEEK_SET);
+    write("\x00\x00\x00\x01mdat????????", 16);
     for (List<Track *>::iterator it = mTracks.begin();
          it != mTracks.end(); ++it) {
         status_t err = (*it)->start();
@@ -189,14 +209,20 @@
         }
     }
 
+
     // Fix up the size of the 'mdat' chunk.
-    fseek(mFile, mMdatOffset + 8, SEEK_SET);
+    fseeko(mFile, mMdatOffset + 8, SEEK_SET);
     int64_t size = mOffset - mMdatOffset;
     size = hton64(size);
     fwrite(&size, 1, 8, mFile);
-    fseek(mFile, mOffset, SEEK_SET);
+    fseeko(mFile, mOffset, SEEK_SET);
 
     time_t now = time(NULL);
+    const off_t moovOffset = mOffset;
+    mWriteMoovBoxToMemory = true;
+    mMoovBoxBuffer = (uint8_t *) malloc(mEstimatedMoovBoxSize);
+    mMoovBoxBufferOffset = 0;
+    CHECK(mMoovBoxBuffer != NULL);
 
     beginBox("moov");
 
@@ -236,8 +262,30 @@
       }
     endBox();  // moov
 
+    mWriteMoovBoxToMemory = false;
+    if (mStreamableFile) {
+        CHECK(mMoovBoxBufferOffset + 8 <= mEstimatedMoovBoxSize);
+
+        // Moov box
+        fseeko(mFile, mFreeBoxOffset, SEEK_SET);
+        mOffset = mFreeBoxOffset;
+        write(mMoovBoxBuffer, 1, mMoovBoxBufferOffset, mFile);
+
+        // Free box
+        mFreeBoxOffset = mStreamableFile? mOffset: mFreeBoxOffset;
+        fseeko(mFile, mFreeBoxOffset, SEEK_SET);
+        writeInt32(mEstimatedMoovBoxSize - mMoovBoxBufferOffset);
+        write("free", 4);
+
+        // Free temp memory
+        free(mMoovBoxBuffer);
+        mMoovBoxBuffer = NULL;
+        mMoovBoxBufferOffset = 0;
+    }
+
     CHECK(mBoxes.empty());
 
+    fflush(mFile);
     fclose(mFile);
     mFile = NULL;
 }
@@ -317,10 +365,41 @@
     return old_offset;
 }
 
+size_t MPEG4Writer::write(
+        const void *ptr, size_t size, size_t nmemb, FILE *stream) {
+
+    const size_t bytes = size * nmemb;
+    if (mWriteMoovBoxToMemory) {
+        if (8 + mMoovBoxBufferOffset + bytes > mEstimatedMoovBoxSize) {
+            for (List<off_t>::iterator it = mBoxes.begin();
+                 it != mBoxes.end(); ++it) {
+                (*it) += mOffset;
+            }
+            fseeko(mFile, mOffset, SEEK_SET);
+            fwrite(mMoovBoxBuffer, 1, mMoovBoxBufferOffset, stream);
+            fwrite(ptr, size, nmemb, stream);
+            mOffset += (bytes + mMoovBoxBufferOffset);
+            free(mMoovBoxBuffer);
+            mMoovBoxBuffer = NULL;
+            mMoovBoxBufferOffset = 0;
+            mWriteMoovBoxToMemory = false;
+            mStreamableFile = false;
+        } else {
+            memcpy(mMoovBoxBuffer + mMoovBoxBufferOffset, ptr, bytes);
+            mMoovBoxBufferOffset += bytes;
+        }
+    } else {
+        fwrite(ptr, size, nmemb, stream);
+        mOffset += bytes;
+    }
+    return bytes;
+}
+
 void MPEG4Writer::beginBox(const char *fourcc) {
     CHECK_EQ(strlen(fourcc), 4);
 
-    mBoxes.push_back(mOffset);
+    mBoxes.push_back(mWriteMoovBoxToMemory?
+            mMoovBoxBufferOffset: mOffset);
 
     writeInt32(0);
     writeFourcc(fourcc);
@@ -332,51 +411,48 @@
     off_t offset = *--mBoxes.end();
     mBoxes.erase(--mBoxes.end());
 
-    fseek(mFile, offset, SEEK_SET);
-    writeInt32(mOffset - offset);
-    mOffset -= 4;
-    fseek(mFile, mOffset, SEEK_SET);
+    if (mWriteMoovBoxToMemory) {
+       int32_t x = htonl(mMoovBoxBufferOffset - offset);
+       memcpy(mMoovBoxBuffer + offset, &x, 4);
+    } else {
+        fseeko(mFile, offset, SEEK_SET);
+        writeInt32(mOffset - offset);
+        mOffset -= 4;
+        fseeko(mFile, mOffset, SEEK_SET);
+    }
 }
 
 void MPEG4Writer::writeInt8(int8_t x) {
-    fwrite(&x, 1, 1, mFile);
-    ++mOffset;
+    write(&x, 1, 1, mFile);
 }
 
 void MPEG4Writer::writeInt16(int16_t x) {
     x = htons(x);
-    fwrite(&x, 1, 2, mFile);
-    mOffset += 2;
+    write(&x, 1, 2, mFile);
 }
 
 void MPEG4Writer::writeInt32(int32_t x) {
     x = htonl(x);
-    fwrite(&x, 1, 4, mFile);
-    mOffset += 4;
+    write(&x, 1, 4, mFile);
 }
 
 void MPEG4Writer::writeInt64(int64_t x) {
     x = hton64(x);
-    fwrite(&x, 1, 8, mFile);
-    mOffset += 8;
+    write(&x, 1, 8, mFile);
 }
 
 void MPEG4Writer::writeCString(const char *s) {
     size_t n = strlen(s);
-
-    fwrite(s, 1, n + 1, mFile);
-    mOffset += n + 1;
+    write(s, 1, n + 1, mFile);
 }
 
 void MPEG4Writer::writeFourcc(const char *s) {
     CHECK_EQ(strlen(s), 4);
-    fwrite(s, 1, 4, mFile);
-    mOffset += 4;
+    write(s, 1, 4, mFile);
 }
 
 void MPEG4Writer::write(const void *data, size_t size) {
-    fwrite(data, 1, size, mFile);
-    mOffset += size;
+    write(data, 1, size, mFile);
 }
 
 bool MPEG4Writer::reachedEOS() {
diff --git a/media/libstagefright/OggExtractor.cpp b/media/libstagefright/OggExtractor.cpp
index 699b955..d0d1b14 100644
--- a/media/libstagefright/OggExtractor.cpp
+++ b/media/libstagefright/OggExtractor.cpp
@@ -94,6 +94,8 @@
     size_t mCurrentPageSize;
     size_t mNextLaceIndex;
 
+    off_t mFirstDataOffset;
+
     vorbis_info mVi;
     vorbis_comment mVc;
 
@@ -183,7 +185,8 @@
     : mSource(source),
       mOffset(0),
       mCurrentPageSize(0),
-      mNextLaceIndex(0) {
+      mNextLaceIndex(0),
+      mFirstDataOffset(-1) {
     mCurrentPage.mNumSegments = 0;
 }
 
@@ -222,6 +225,12 @@
 }
 
 status_t MyVorbisExtractor::seekToOffset(off_t offset) {
+    if (mFirstDataOffset >= 0 && offset < mFirstDataOffset) {
+        // Once we know where the actual audio data starts (past the headers)
+        // don't ever seek to anywhere before that.
+        offset = mFirstDataOffset;
+    }
+
     off_t pageOffset;
     status_t err = findNextPage(offset, &pageOffset);
 
@@ -438,6 +447,8 @@
     verifyHeader(packet, 5);
     packet->release();
     packet = NULL;
+
+    mFirstDataOffset = mOffset + mCurrentPageSize;
 }
 
 void MyVorbisExtractor::verifyHeader(
diff --git a/media/libstagefright/codecs/aacdec/AACDecoder.cpp b/media/libstagefright/codecs/aacdec/AACDecoder.cpp
index ae23691..2bc4448 100644
--- a/media/libstagefright/codecs/aacdec/AACDecoder.cpp
+++ b/media/libstagefright/codecs/aacdec/AACDecoder.cpp
@@ -90,8 +90,10 @@
         mConfig->pOutputBuffer_plus = NULL;
         mConfig->repositionFlag = false;
 
-        CHECK_EQ(PVMP4AudioDecoderConfig(mConfig, mDecoderBuf),
-                 MP4AUDEC_SUCCESS);
+        if (PVMP4AudioDecoderConfig(mConfig, mDecoderBuf)
+                != MP4AUDEC_SUCCESS) {
+            return ERROR_UNSUPPORTED;
+        }
     }
 
     mSource->start();
diff --git a/media/libstagefright/codecs/vorbis/dec/VorbisDecoder.cpp b/media/libstagefright/codecs/vorbis/dec/VorbisDecoder.cpp
index 5485f25..df3f16a 100644
--- a/media/libstagefright/codecs/vorbis/dec/VorbisDecoder.cpp
+++ b/media/libstagefright/codecs/vorbis/dec/VorbisDecoder.cpp
@@ -173,18 +173,19 @@
     pack.granulepos = 0;
     pack.packetno = 0;
 
+    int numFrames = 0;
+
     int err = vorbis_dsp_synthesis(mState, &pack, 1);
     if (err != 0) {
         LOGW("vorbis_dsp_synthesis returned %d", err);
-        return 0;
-    }
+    } else {
+        numFrames = vorbis_dsp_pcmout(
+                mState, (int16_t *)out->data(), kMaxNumSamplesPerBuffer);
 
-    int numFrames = vorbis_dsp_pcmout(
-            mState, (int16_t *)out->data(), kMaxNumSamplesPerBuffer);
-
-    if (numFrames < 0) {
-        LOGE("vorbis_dsp_pcmout returned %d", numFrames);
-        return 0;
+        if (numFrames < 0) {
+            LOGE("vorbis_dsp_pcmout returned %d", numFrames);
+            numFrames = 0;
+        }
     }
 
     out->set_range(0, numFrames * sizeof(int16_t) * mNumChannels);
@@ -203,6 +204,7 @@
         CHECK(seekTimeUs >= 0);
 
         mNumFramesOutput = 0;
+        vorbis_dsp_restart(mState);
     } else {
         seekTimeUs = -1;
     }
diff --git a/media/libstagefright/include/HTTPStream.h b/media/libstagefright/include/HTTPStream.h
index 5d638f3..35b0865 100644
--- a/media/libstagefright/include/HTTPStream.h
+++ b/media/libstagefright/include/HTTPStream.h
@@ -52,6 +52,9 @@
     bool find_header_value(
             const string &key, string *value) const;
 
+    // Pass a negative value to disable the timeout.
+    void setReceiveTimeout(int seconds);
+
 private:
     enum State {
         READY,
diff --git a/media/mtp/Android.mk b/media/mtp/Android.mk
new file mode 100644
index 0000000..4d86064
--- /dev/null
+++ b/media/mtp/Android.mk
@@ -0,0 +1,73 @@
+#
+# Copyright (C) 2010 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+LOCAL_PATH:= $(call my-dir)
+
+ifneq ($(TARGET_SIMULATOR),true)
+
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES:=                                       \
+                  mtptest.cpp                           \
+                  MtpDatabase.cpp                       \
+                  MtpDataPacket.cpp                     \
+                  MtpDebug.cpp                          \
+                  MtpPacket.cpp                         \
+                  MtpRequestPacket.cpp                  \
+                  MtpResponsePacket.cpp                 \
+                  MtpServer.cpp                         \
+                  MtpStringBuffer.cpp                   \
+                  MtpStorage.cpp                        \
+                  MtpUtils.cpp                          \
+                  SqliteDatabase.cpp                    \
+                  SqliteStatement.cpp                   \
+
+LOCAL_MODULE:= mtptest
+
+LOCAL_C_INCLUDES := external/sqlite/dist
+
+LOCAL_CFLAGS := -DMTP_DEVICE
+
+LOCAL_SHARED_LIBRARIES := libutils libsqlite
+
+include $(BUILD_EXECUTABLE)
+
+endif
+
+ifeq ($(HOST_OS),linux)
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := ptptest
+LOCAL_SRC_FILES:=                                       \
+                  ptptest.cpp                           \
+                  MtpClient.cpp                         \
+                  MtpDataPacket.cpp                     \
+                  MtpDebug.cpp                          \
+                  MtpPacket.cpp                         \
+                  MtpRequestPacket.cpp                  \
+                  MtpResponsePacket.cpp                 \
+                  MtpStringBuffer.cpp                   \
+
+
+LOCAL_STATIC_LIBRARIES := libusbhost
+LOCAL_LDLIBS := -lpthread
+
+LOCAL_CFLAGS := -g -DMTP_HOST
+LOCAL_LDFLAGS := -g
+
+include $(BUILD_HOST_EXECUTABLE)
+
+endif
\ No newline at end of file
diff --git a/media/mtp/MtpClient.cpp b/media/mtp/MtpClient.cpp
new file mode 100644
index 0000000..5e4adb4
--- /dev/null
+++ b/media/mtp/MtpClient.cpp
@@ -0,0 +1,136 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <errno.h>
+
+#include <usbhost/usbhost.h>
+
+#include "MtpClient.h"
+#include "MtpDebug.h"
+#include "MtpStringBuffer.h"
+
+MtpClient::MtpClient(struct usb_endpoint *ep_in, struct usb_endpoint *ep_out,
+            struct usb_endpoint *ep_intr)
+    :   mEndpointIn(ep_in),
+        mEndpointOut(ep_out),
+        mEndpointIntr(ep_intr),
+        mSessionID(0),
+        mTransactionID(0)
+{
+
+}
+
+MtpClient::~MtpClient() {
+}
+
+
+bool MtpClient::openSession() {
+printf("openSession\n");
+    mSessionID = 0;
+    mTransactionID = 0;
+    MtpSessionID newSession = 1;
+    mRequest.reset();
+    mRequest.setParameter(1, newSession);
+    if (!sendRequest(MTP_OPERATION_OPEN_SESSION))
+        return false;
+    MtpResponseCode ret = readResponse();
+    if (ret == MTP_RESPONSE_SESSION_ALREADY_OPEN)
+        newSession = mResponse.getParameter(1);
+    else if (ret != MTP_RESPONSE_OK)
+        return false;
+
+    mSessionID = newSession;
+    mTransactionID = 1;
+    return true;
+}
+
+bool MtpClient::getDeviceInfo() {
+    mRequest.reset();
+    if (!sendRequest(MTP_OPERATION_GET_DEVICE_INFO))
+        return false;
+    if (!readData())
+        return false;
+    MtpResponseCode ret = readResponse();
+    if (ret == MTP_RESPONSE_OK) {
+        MtpStringBuffer string;
+
+        // fill in device info
+        printf("MTP standard version: %d\n", mData.getUInt16());
+        printf("MTP Vendor Extension ID: %d\n", mData.getUInt32());
+        printf("MTP vendor extension version: %d\n", mData.getUInt16());
+        mData.getString(string);
+        printf("vendor extension desc %s\n", (const char *)string);
+
+        return true;
+    }
+    return false;
+}
+
+bool MtpClient::closeSession() {
+    return true;
+}
+
+bool MtpClient::sendRequest(MtpOperationCode operation) {
+    printf("sendRequest: %s\n", MtpDebug::getOperationCodeName(operation));
+    mRequest.setOperationCode(operation);
+    if (mTransactionID > 0)
+        mRequest.setTransactionID(mTransactionID++);
+    int ret = mRequest.write(mEndpointOut);
+    mRequest.dump();
+    return (ret > 0);
+}
+
+bool MtpClient::sendData(MtpOperationCode operation) {
+    printf("sendData\n");
+    mData.setOperationCode(mRequest.getOperationCode());
+    mData.setTransactionID(mRequest.getTransactionID());
+    int ret = mData.write(mEndpointOut);
+    mData.dump();
+    return (ret > 0);
+}
+
+bool MtpClient::readData() {
+     int ret = mData.read(mEndpointIn);
+    printf("readData returned %d\n", ret);
+    if (ret >= MTP_CONTAINER_HEADER_SIZE) {
+        mData.dump();
+        return true;
+    }
+    else {
+        printf("readResponse failed\n");
+        return false;
+    }
+}
+
+MtpResponseCode MtpClient::readResponse() {
+    printf("readResponse\n");
+    int ret = mResponse.read(mEndpointIn);
+    if (ret >= MTP_CONTAINER_HEADER_SIZE) {
+        mResponse.dump();
+        return mResponse.getResponseCode();
+    }
+    else {
+        printf("readResponse failed\n");
+        return -1;
+    }
+}
+
diff --git a/media/mtp/MtpClient.h b/media/mtp/MtpClient.h
new file mode 100644
index 0000000..fbbd388
--- /dev/null
+++ b/media/mtp/MtpClient.h
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _MTP_CLIENT_H
+#define _MTP_CLIENT_H
+
+#include "MtpRequestPacket.h"
+#include "MtpDataPacket.h"
+#include "MtpResponsePacket.h"
+#include "mtp.h"
+
+#include "MtpUtils.h"
+
+class MtpClient {
+private:
+    struct usb_endpoint *mEndpointIn;
+    struct usb_endpoint *mEndpointOut;
+    struct usb_endpoint *mEndpointIntr;
+
+    // current session ID
+    MtpSessionID        mSessionID;
+    // current transaction ID
+    MtpTransactionID    mTransactionID;
+
+    MtpRequestPacket    mRequest;
+    MtpDataPacket       mData;
+    MtpResponsePacket   mResponse;
+
+public:
+                        MtpClient(struct usb_endpoint *ep_in, struct usb_endpoint *ep_out,
+                                    struct usb_endpoint *ep_intr);
+    virtual             ~MtpClient();
+
+    bool                openSession();
+    bool                getDeviceInfo();
+    bool                closeSession();
+
+private:
+    bool                sendRequest(MtpOperationCode operation);
+    bool                sendData(MtpOperationCode operation);
+    bool                readData();
+    MtpResponseCode     readResponse();
+
+};
+
+#endif // _MTP_CLIENT_H
diff --git a/media/mtp/MtpDataPacket.cpp b/media/mtp/MtpDataPacket.cpp
new file mode 100644
index 0000000..8e7ea6e
--- /dev/null
+++ b/media/mtp/MtpDataPacket.cpp
@@ -0,0 +1,296 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <stdio.h>
+#include <sys/types.h>
+#include <fcntl.h>
+
+#include "MtpDataPacket.h"
+#include "MtpStringBuffer.h"
+
+MtpDataPacket::MtpDataPacket()
+    :   MtpPacket(512),
+        mOffset(MTP_CONTAINER_HEADER_SIZE)
+{
+}
+
+MtpDataPacket::~MtpDataPacket() {
+}
+
+void MtpDataPacket::reset() {
+    MtpPacket::reset();
+    mOffset = MTP_CONTAINER_HEADER_SIZE;
+}
+
+void MtpDataPacket::setOperationCode(MtpOperationCode code) {
+    MtpPacket::putUInt16(MTP_CONTAINER_CODE_OFFSET, code);
+}
+
+void MtpDataPacket::setTransactionID(MtpTransactionID id) {
+    MtpPacket::putUInt32(MTP_CONTAINER_TRANSACTION_ID_OFFSET, id);
+}
+
+uint16_t MtpDataPacket::getUInt16() {
+    int offset = mOffset;
+    uint16_t result = (uint16_t)mBuffer[offset] | ((uint16_t)mBuffer[offset + 1] << 8);
+    mOffset += 2;
+    return result;
+}
+
+uint32_t MtpDataPacket::getUInt32() {
+    int offset = mOffset;
+    uint32_t result = (uint32_t)mBuffer[offset] | ((uint32_t)mBuffer[offset + 1] << 8) |
+           ((uint32_t)mBuffer[offset + 2] << 16)  | ((uint32_t)mBuffer[offset + 3] << 24);
+    mOffset += 4;
+    return result;
+}
+
+uint64_t MtpDataPacket::getUInt64() {
+    int offset = mOffset;
+    uint64_t result = (uint64_t)mBuffer[offset] | ((uint64_t)mBuffer[offset + 1] << 8) |
+           ((uint64_t)mBuffer[offset + 2] << 16) | ((uint64_t)mBuffer[offset + 3] << 24) |
+           ((uint64_t)mBuffer[offset + 4] << 32) | ((uint64_t)mBuffer[offset + 5] << 40) |
+           ((uint64_t)mBuffer[offset + 6] << 48)  | ((uint64_t)mBuffer[offset + 7] << 56);
+    mOffset += 8;
+    return result;
+}
+
+void MtpDataPacket::getString(MtpStringBuffer& string)
+{
+    string.readFromPacket(this);
+}
+
+void MtpDataPacket::putInt8(int8_t value) {
+    allocate(mOffset + 1);
+    mBuffer[mOffset++] = (uint8_t)value;
+    if (mPacketSize < mOffset)
+        mPacketSize = mOffset;
+}
+
+void MtpDataPacket::putUInt8(uint8_t value) {
+    allocate(mOffset + 1);
+    mBuffer[mOffset++] = (uint8_t)value;
+    if (mPacketSize < mOffset)
+        mPacketSize = mOffset;
+}
+
+void MtpDataPacket::putInt16(int16_t value) {
+    allocate(mOffset + 2);
+    mBuffer[mOffset++] = (uint8_t)(value & 0xFF);
+    mBuffer[mOffset++] = (uint8_t)((value >> 8) & 0xFF);
+    if (mPacketSize < mOffset)
+        mPacketSize = mOffset;
+}
+
+void MtpDataPacket::putUInt16(uint16_t value) {
+    allocate(mOffset + 2);
+    mBuffer[mOffset++] = (uint8_t)(value & 0xFF);
+    mBuffer[mOffset++] = (uint8_t)((value >> 8) & 0xFF);
+    if (mPacketSize < mOffset)
+        mPacketSize = mOffset;
+}
+
+void MtpDataPacket::putInt32(int32_t value) {
+    allocate(mOffset + 4);
+    mBuffer[mOffset++] = (uint8_t)(value & 0xFF);
+    mBuffer[mOffset++] = (uint8_t)((value >> 8) & 0xFF);
+    mBuffer[mOffset++] = (uint8_t)((value >> 16) & 0xFF);
+    mBuffer[mOffset++] = (uint8_t)((value >> 24) & 0xFF);
+    if (mPacketSize < mOffset)
+        mPacketSize = mOffset;
+}
+
+void MtpDataPacket::putUInt32(uint32_t value) {
+    allocate(mOffset + 4);
+    mBuffer[mOffset++] = (uint8_t)(value & 0xFF);
+    mBuffer[mOffset++] = (uint8_t)((value >> 8) & 0xFF);
+    mBuffer[mOffset++] = (uint8_t)((value >> 16) & 0xFF);
+    mBuffer[mOffset++] = (uint8_t)((value >> 24) & 0xFF);
+    if (mPacketSize < mOffset)
+        mPacketSize = mOffset;
+}
+
+void MtpDataPacket::putInt64(int64_t value) {
+    allocate(mOffset + 8);
+    mBuffer[mOffset++] = (uint8_t)(value & 0xFF);
+    mBuffer[mOffset++] = (uint8_t)((value >> 8) & 0xFF);
+    mBuffer[mOffset++] = (uint8_t)((value >> 16) & 0xFF);
+    mBuffer[mOffset++] = (uint8_t)((value >> 24) & 0xFF);
+    mBuffer[mOffset++] = (uint8_t)((value >> 32) & 0xFF);
+    mBuffer[mOffset++] = (uint8_t)((value >> 40) & 0xFF);
+    mBuffer[mOffset++] = (uint8_t)((value >> 48) & 0xFF);
+    mBuffer[mOffset++] = (uint8_t)((value >> 56) & 0xFF);
+    if (mPacketSize < mOffset)
+        mPacketSize = mOffset;
+}
+
+void MtpDataPacket::putUInt64(uint64_t value) {
+    allocate(mOffset + 8);
+    mBuffer[mOffset++] = (uint8_t)(value & 0xFF);
+    mBuffer[mOffset++] = (uint8_t)((value >> 8) & 0xFF);
+    mBuffer[mOffset++] = (uint8_t)((value >> 16) & 0xFF);
+    mBuffer[mOffset++] = (uint8_t)((value >> 24) & 0xFF);
+    mBuffer[mOffset++] = (uint8_t)((value >> 32) & 0xFF);
+    mBuffer[mOffset++] = (uint8_t)((value >> 40) & 0xFF);
+    mBuffer[mOffset++] = (uint8_t)((value >> 48) & 0xFF);
+    mBuffer[mOffset++] = (uint8_t)((value >> 56) & 0xFF);
+    if (mPacketSize < mOffset)
+        mPacketSize = mOffset;
+}
+
+void MtpDataPacket::putAInt8(const int8_t* values, int count) {
+    putUInt32(count);
+    for (int i = 0; i < count; i++)
+        putInt8(*values++);
+}
+
+void MtpDataPacket::putAUInt8(const uint8_t* values, int count) {
+    putUInt32(count);
+    for (int i = 0; i < count; i++)
+        putUInt8(*values++);
+}
+
+void MtpDataPacket::putAInt16(const int16_t* values, int count) {
+    putUInt32(count);
+    for (int i = 0; i < count; i++)
+        putInt16(*values++);
+}
+
+void MtpDataPacket::putAUInt16(const uint16_t* values, int count) {
+    putUInt32(count);
+    for (int i = 0; i < count; i++)
+        putUInt16(*values++);
+}
+
+void MtpDataPacket::putAInt32(const int32_t* values, int count) {
+    putUInt32(count);
+    for (int i = 0; i < count; i++)
+        putInt32(*values++);
+}
+
+void MtpDataPacket::putAUInt32(const uint32_t* values, int count) {
+    putUInt32(count);
+    for (int i = 0; i < count; i++)
+        putUInt32(*values++);
+}
+
+void MtpDataPacket::putAUInt32(const UInt32List* list) {
+    if (!list) {
+        putEmptyArray();
+    } else {
+        size_t size = list->size();
+        putUInt32(size);
+        for (size_t i = 0; i < size; i++)
+            putUInt32((*list)[i]);
+    }
+}
+
+void MtpDataPacket::putAInt64(const int64_t* values, int count) {
+    putUInt32(count);
+    for (int i = 0; i < count; i++)
+        putInt64(*values++);
+}
+
+void MtpDataPacket::putAUInt64(const uint64_t* values, int count) {
+    putUInt32(count);
+    for (int i = 0; i < count; i++)
+        putUInt64(*values++);
+}
+
+void MtpDataPacket::putString(const MtpStringBuffer& string)
+{
+    string.writeToPacket(this);
+}
+
+void MtpDataPacket::putString(const char* s)
+{
+    MtpStringBuffer string(s);
+    string.writeToPacket(this);
+}
+
+#ifdef MTP_DEVICE 
+int MtpDataPacket::read(int fd) {
+    // first read the header
+    int ret = ::read(fd, mBuffer, MTP_CONTAINER_HEADER_SIZE);
+printf("MtpDataPacket::read 1 returned %d\n", ret);
+    if (ret != MTP_CONTAINER_HEADER_SIZE)
+        return -1;
+    // then the following data
+    int total = MtpPacket::getUInt32(MTP_CONTAINER_LENGTH_OFFSET);
+    int remaining = total - MTP_CONTAINER_HEADER_SIZE;
+printf("total: %d, remaining: %d\n", total, remaining);
+    ret = ::read(fd, &mBuffer[0] + MTP_CONTAINER_HEADER_SIZE, remaining);
+printf("MtpDataPacket::read 2 returned %d\n", ret);
+    if (ret != remaining)
+        return -1;
+
+    mPacketSize = total;
+    mOffset = MTP_CONTAINER_HEADER_SIZE;
+    return total;
+}
+
+int MtpDataPacket::readDataHeader(int fd) {
+    int ret = ::read(fd, mBuffer, MTP_CONTAINER_HEADER_SIZE);
+    if (ret > 0)
+        mPacketSize = ret;
+    else
+        mPacketSize = 0;
+    return ret;
+}
+
+int MtpDataPacket::write(int fd) {
+    MtpPacket::putUInt32(MTP_CONTAINER_LENGTH_OFFSET, mPacketSize);
+    MtpPacket::putUInt16(MTP_CONTAINER_TYPE_OFFSET, MTP_CONTAINER_TYPE_DATA);
+
+    // send header separately from data
+    int ret = ::write(fd, mBuffer, MTP_CONTAINER_HEADER_SIZE);
+    if (ret == MTP_CONTAINER_HEADER_SIZE)
+        ret = ::write(fd, mBuffer + MTP_CONTAINER_HEADER_SIZE,
+                        mPacketSize - MTP_CONTAINER_HEADER_SIZE);
+    return (ret < 0 ? ret : 0);
+}
+
+int MtpDataPacket::writeDataHeader(int fd, uint32_t length) {
+    MtpPacket::putUInt32(MTP_CONTAINER_LENGTH_OFFSET, length);
+    MtpPacket::putUInt16(MTP_CONTAINER_TYPE_OFFSET, MTP_CONTAINER_TYPE_DATA);
+    int ret = ::write(fd, mBuffer, MTP_CONTAINER_HEADER_SIZE);
+    return (ret < 0 ? ret : 0);
+}
+#endif // MTP_DEVICE
+
+#ifdef MTP_HOST
+int MtpDataPacket::read(struct usb_endpoint *ep) {
+    // first read the header
+    int ret = transfer(ep, mBuffer, mBufferSize);
+printf("MtpDataPacket::transfer returned %d\n", ret);
+    if (ret >= 0)
+        mPacketSize = ret;
+    return ret;
+}
+
+int MtpDataPacket::write(struct usb_endpoint *ep) {
+    MtpPacket::putUInt32(MTP_CONTAINER_LENGTH_OFFSET, mPacketSize);
+    MtpPacket::putUInt16(MTP_CONTAINER_TYPE_OFFSET, MTP_CONTAINER_TYPE_DATA);
+
+    // send header separately from data
+    int ret = transfer(ep, mBuffer, MTP_CONTAINER_HEADER_SIZE);
+    if (ret == MTP_CONTAINER_HEADER_SIZE)
+        ret = transfer(ep, mBuffer + MTP_CONTAINER_HEADER_SIZE,
+                        mPacketSize - MTP_CONTAINER_HEADER_SIZE);
+    return (ret < 0 ? ret : 0);
+}
+
+#endif // MTP_HOST
diff --git a/media/mtp/MtpDataPacket.h b/media/mtp/MtpDataPacket.h
new file mode 100644
index 0000000..3b18e4e
--- /dev/null
+++ b/media/mtp/MtpDataPacket.h
@@ -0,0 +1,89 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _MTP_DATA_PACKET_H
+#define _MTP_DATA_PACKET_H
+
+#include "MtpPacket.h"
+#include "mtp.h"
+
+class MtpDataPacket : public MtpPacket {
+private:
+    // current offset for get/put methods
+    int                 mOffset;
+
+public:
+                        MtpDataPacket();
+    virtual             ~MtpDataPacket();
+
+    virtual void        reset();
+
+    void                setOperationCode(MtpOperationCode code);
+    void                setTransactionID(MtpTransactionID id);
+
+    inline uint8_t      getUInt8() { return (uint8_t)mBuffer[mOffset++]; }
+    inline int8_t       getInt8() { return (int8_t)mBuffer[mOffset++]; }
+    uint16_t            getUInt16();
+    inline int16_t      getInt16() { return (int16_t)getUInt16(); }
+    uint32_t            getUInt32();
+    inline int32_t      getInt32() { return (int32_t)getUInt32(); }
+    uint64_t            getUInt64();
+    inline int64_t      getInt64() { return (int64_t)getUInt64(); }
+    void                getString(MtpStringBuffer& string);
+
+    void                putInt8(int8_t value);
+    void                putUInt8(uint8_t value);
+    void                putInt16(int16_t value);
+    void                putUInt16(uint16_t value);
+    void                putInt32(int32_t value);
+    void                putUInt32(uint32_t value);
+    void                putInt64(int64_t value);
+    void                putUInt64(uint64_t value);
+
+    void                putAInt8(const int8_t* values, int count);
+    void                putAUInt8(const uint8_t* values, int count);
+    void                putAInt16(const int16_t* values, int count);
+    void                putAUInt16(const uint16_t* values, int count);
+    void                putAInt32(const int32_t* values, int count);
+    void                putAUInt32(const uint32_t* values, int count);
+    void                putAUInt32(const UInt32List* list);
+    void                putAInt64(const int64_t* values, int count);
+    void                putAUInt64(const uint64_t* values, int count);
+    void                putString(const MtpStringBuffer& string);
+    void                putString(const char* string);
+    inline void         putEmptyString() { putUInt16(0); }
+    inline void         putEmptyArray() { putUInt32(0); }
+
+
+#ifdef MTP_DEVICE
+    // fill our buffer with data from the given file descriptor
+    int                 read(int fd);
+    int                 readDataHeader(int fd);
+
+    // write our data to the given file descriptor
+    int                 write(int fd);
+    int                 writeDataHeader(int fd, uint32_t length);
+#endif
+
+#ifdef MTP_HOST
+    int                 read(struct usb_endpoint *ep);
+    int                 write(struct usb_endpoint *ep);
+#endif
+
+    inline bool         hasData() const { return mPacketSize > MTP_CONTAINER_HEADER_SIZE; }
+};
+
+#endif // _MTP_DATA_PACKET_H
diff --git a/media/mtp/MtpDatabase.cpp b/media/mtp/MtpDatabase.cpp
new file mode 100644
index 0000000..bb44ab6
--- /dev/null
+++ b/media/mtp/MtpDatabase.cpp
@@ -0,0 +1,386 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "MtpDatabase.h"
+#include "MtpDataPacket.h"
+#include "SqliteDatabase.h"
+#include "SqliteStatement.h"
+
+#include <stdio.h>
+#include <sqlite3.h>
+
+#define ID_COLUMN       1
+#define PATH_COLUMN     2
+#define FORMAT_COLUMN   3
+#define PARENT_COLUMN   4
+#define STORAGE_COLUMN  5
+#define SIZE_COLUMN     6
+#define CREATED_COLUMN  7
+#define MODIFIED_COLUMN 8
+
+#define TABLE_CREATE    "CREATE TABLE IF NOT EXISTS files ("    \
+                        "_id INTEGER PRIMARY KEY,"              \
+                        "path TEXT,"                            \
+                        "format INTEGER,"                       \
+                        "parent INTEGER,"                       \
+                        "storage INTEGER,"                      \
+                        "size INTEGER,"                         \
+                        "date_created INTEGER,"                 \
+                        "date_modified INTEGER"                 \
+                        ");"
+
+#define PATH_INDEX_CREATE "CREATE INDEX IF NOT EXISTS path_index on files(path);"
+
+#define FILE_ID_QUERY   "SELECT _id FROM files WHERE path = ?;"
+#define FILE_PATH_QUERY "SELECT path,size FROM files WHERE _id = ?"
+
+#define GET_OBJECT_INFO_QUERY   "SELECT storage,format,parent,path,size,date_created,date_modified FROM files WHERE _id = ?;"
+#define FILE_INSERT     "INSERT INTO files VALUES(?,?,?,?,?,?,?,?);"
+#define FILE_DELETE     "DELETE FROM files WHERE path = ?;"
+
+
+struct PropertyTableEntry {
+    MtpObjectProperty   property;
+    int                 type;
+    const char*         columnName;
+};
+
+static const PropertyTableEntry   kPropertyTable[] = {
+    {   MTP_PROPERTY_PARENT_OBJECT,     MTP_TYPE_UINT32,    "parent"        },
+    {   MTP_PROPERTY_STORAGE_ID,        MTP_TYPE_UINT32,    "storage"       },
+    {   MTP_PROPERTY_OBJECT_FORMAT,     MTP_TYPE_UINT32,    "format"        },
+    {   MTP_PROPERTY_OBJECT_FILE_NAME,  MTP_TYPE_STR,       "path"          },
+    {   MTP_PROPERTY_OBJECT_SIZE,       MTP_TYPE_UINT64,    "size"          },
+    {   MTP_PROPERTY_DATE_CREATED,      MTP_TYPE_STR,       "date_created"  },
+    {   MTP_PROPERTY_DATE_MODIFIED,     MTP_TYPE_STR,       "date_modified" },
+};
+
+static bool getPropertyInfo(MtpObjectProperty property, int& type, const char*& columnName) {
+    int count = sizeof(kPropertyTable) / sizeof(kPropertyTable[0]);
+    const PropertyTableEntry* entry = kPropertyTable;
+    for (int i = 0; i < count; i++, entry++) {
+        if (entry->property == property) {
+            type = entry->type;
+            columnName = entry->columnName;
+            return true;
+        }
+    }
+    return false;
+}
+
+
+MtpDatabase::MtpDatabase()
+    :   mFileIdQuery(NULL),
+        mObjectInfoQuery(NULL),
+        mFileInserter(NULL),
+        mFileDeleter(NULL)
+{
+}
+
+MtpDatabase::~MtpDatabase() {
+}
+
+bool MtpDatabase::open(const char* path, bool create) {
+    if (!SqliteDatabase::open(path, create))
+        return false;
+
+    // create the table if necessary
+    if (!exec(TABLE_CREATE)) {
+        fprintf(stderr, "could not create table\n");
+        return false;
+    }
+    if (!exec(PATH_INDEX_CREATE)) {
+        fprintf(stderr, "could not path index\n");
+        return false;
+    }
+    return true;
+}
+
+MtpObjectHandle MtpDatabase::addFile(const char* path,
+                                    MtpObjectFormat format,
+                                    MtpObjectHandle parent,
+                                    MtpStorageID storage,
+                                    uint64_t size,
+                                    time_t created,
+                                    time_t modified) {
+
+    // first check to see if the file exists
+    if (mFileIdQuery)
+        mFileIdQuery->reset();
+    else {
+        mFileIdQuery = new SqliteStatement(this);
+        if (!mFileIdQuery->prepare(FILE_ID_QUERY)) {
+            fprintf(stderr, "could not compile FILE_ID_QUERY\n");
+            delete mFileIdQuery;
+            mFileIdQuery = NULL;
+            return kInvalidObjectHandle;
+        }
+    }
+
+    mFileIdQuery->bind(1, path);
+    if (mFileIdQuery->step()) {
+        int row = mFileIdQuery->getColumnInt(0);
+        if (row > 0)
+            return row;
+    }
+
+    if (!mFileInserter) {
+        mFileInserter = new SqliteStatement(this);
+        if (!mFileInserter->prepare(FILE_INSERT)) {
+            fprintf(stderr, "could not compile FILE_INSERT\n");
+            delete mFileInserter;
+            mFileInserter = NULL;
+            return kInvalidObjectHandle;
+        }
+    }
+    mFileInserter->bind(PATH_COLUMN, path);
+    mFileInserter->bind(FORMAT_COLUMN, format);
+    mFileInserter->bind(PARENT_COLUMN, parent);
+    mFileInserter->bind(STORAGE_COLUMN, storage);
+    mFileInserter->bind(SIZE_COLUMN, size);
+    mFileInserter->bind(CREATED_COLUMN, created);
+    mFileInserter->bind(MODIFIED_COLUMN, modified);
+    mFileInserter->step();
+    mFileInserter->reset();
+    int row = lastInsertedRow();
+    return (row > 0 ? row : kInvalidObjectHandle);
+}
+
+MtpObjectHandleList* MtpDatabase::getObjectList(MtpStorageID storageID,
+                                                MtpObjectFormat format,
+                                                MtpObjectHandle parent) {
+    bool                whereStorage = (storageID != 0xFFFFFFFF);
+    bool                whereFormat = (format != 0);
+    bool                whereParent = (parent != 0);
+    char                intBuffer[20];
+
+    MtpString  query("SELECT _id FROM files");
+    if (whereStorage || whereFormat || whereParent)
+        query += " WHERE";
+    if (whereStorage) {
+        snprintf(intBuffer, sizeof(intBuffer), "%d", storageID);
+        query += " storage = ";
+        query += intBuffer;
+    }
+    if (whereFormat) {
+        snprintf(intBuffer, sizeof(intBuffer), "%d", format);
+        if (whereStorage)
+            query += " AND";
+        query += " format = ";
+        query += intBuffer;
+    }
+    if (whereParent) {
+        snprintf(intBuffer, sizeof(intBuffer), "%d", parent);
+        if (whereStorage || whereFormat)
+            query += " AND";
+        query += " parent = ";
+        query += intBuffer;
+    }
+    query += ";";
+
+    SqliteStatement stmt(this);
+    printf("%s\n", (const char *)query);
+    stmt.prepare(query);
+
+    MtpObjectHandleList* list = new MtpObjectHandleList();
+    while (!stmt.isDone()) {
+        if (stmt.step()) {
+            int index = stmt.getColumnInt(0);
+            printf("stmt.getColumnInt returned %d\n", index);
+            if (index > 0)
+                list->push(index);
+        }
+    }
+    printf("list size: %d\n", list->size());
+    return list;
+}
+
+MtpResponseCode MtpDatabase::getObjectProperty(MtpObjectHandle handle,
+                                    MtpObjectProperty property,
+                                    MtpDataPacket& packet) {
+    int         type;
+    const char* columnName;
+    char        intBuffer[20];
+
+    if (!getPropertyInfo(property, type, columnName))
+        return MTP_RESPONSE_INVALID_OBJECT_PROP_CODE;
+    snprintf(intBuffer, sizeof(intBuffer), "%d", handle);
+
+    MtpString  query("SELECT ");
+    query += columnName;
+    query += " FROM files WHERE _id = ";
+    query += intBuffer;
+    query += ";";
+
+    SqliteStatement stmt(this);
+    printf("%s\n", (const char *)query);
+    stmt.prepare(query);
+
+    if (!stmt.step())
+        return MTP_RESPONSE_INVALID_OBJECT_HANDLE;
+
+    switch (type) {
+        case MTP_TYPE_INT8:
+            packet.putInt8(stmt.getColumnInt(0));
+            break;
+        case MTP_TYPE_UINT8:
+            packet.putUInt8(stmt.getColumnInt(0));
+            break;
+        case MTP_TYPE_INT16:
+            packet.putInt16(stmt.getColumnInt(0));
+            break;
+        case MTP_TYPE_UINT16:
+            packet.putUInt16(stmt.getColumnInt(0));
+            break;
+        case MTP_TYPE_INT32:
+            packet.putInt32(stmt.getColumnInt(0));
+            break;
+        case MTP_TYPE_UINT32:
+            packet.putUInt32(stmt.getColumnInt(0));
+            break;
+        case MTP_TYPE_INT64:
+            packet.putInt64(stmt.getColumnInt64(0));
+            break;
+        case MTP_TYPE_UINT64:
+            packet.putUInt64(stmt.getColumnInt64(0));
+            break;
+        case MTP_TYPE_STR:
+            packet.putString(stmt.getColumnString(0));
+            break;
+        default:
+            fprintf(stderr, "unsupported object type\n");
+            return MTP_RESPONSE_INVALID_OBJECT_HANDLE;
+    }
+    return MTP_RESPONSE_OK;
+}
+
+MtpResponseCode MtpDatabase::getObjectInfo(MtpObjectHandle handle,
+                                        MtpDataPacket& packet) {
+    char    date[20];
+
+    if (mObjectInfoQuery)
+        mObjectInfoQuery->reset();
+    else {
+        mObjectInfoQuery = new SqliteStatement(this);
+        if (!mObjectInfoQuery->prepare(GET_OBJECT_INFO_QUERY)) {
+            fprintf(stderr, "could not compile FILE_ID_QUERY\n");
+            delete mObjectInfoQuery;
+            mObjectInfoQuery = NULL;
+            return MTP_RESPONSE_GENERAL_ERROR;
+        }
+    }
+
+    mObjectInfoQuery->bind(1, handle);
+    if (!mObjectInfoQuery->step())
+        return MTP_RESPONSE_INVALID_OBJECT_HANDLE;
+
+    MtpStorageID storageID = mObjectInfoQuery->getColumnInt(0);
+    MtpObjectFormat format = mObjectInfoQuery->getColumnInt(1);
+    MtpObjectHandle parent = mObjectInfoQuery->getColumnInt(2);
+    // extract name from path.  do we want a separate database entry for this?
+    const char* name = mObjectInfoQuery->getColumnString(3);
+    const char* lastSlash = strrchr(name, '/');
+    if (lastSlash)
+        name = lastSlash + 1;
+    int64_t size = mObjectInfoQuery->getColumnInt64(4);
+    time_t created = mObjectInfoQuery->getColumnInt(5);
+    time_t modified = mObjectInfoQuery->getColumnInt(6);
+    int associationType = (format == MTP_FORMAT_ASSOCIATION ?
+                            MTP_ASSOCIATION_TYPE_GENERIC_FOLDER :
+                            MTP_ASSOCIATION_TYPE_UNDEFINED);
+
+    printf("storageID: %d, format: %d, parent: %d\n", storageID, format, parent);
+
+    packet.putUInt32(storageID);
+    packet.putUInt16(format);
+    packet.putUInt16(0);   // protection status
+    packet.putUInt32((size > 0xFFFFFFFFLL ? 0xFFFFFFFF : size));
+    packet.putUInt16(0);   // thumb format
+    packet.putUInt32(0);   // thumb compressed size
+    packet.putUInt32(0);   // thumb pix width
+    packet.putUInt32(0);   // thumb pix height
+    packet.putUInt32(0);   // image pix width
+    packet.putUInt32(0);   // image pix height
+    packet.putUInt32(0);   // image bit depth
+    packet.putUInt32(parent);
+    packet.putUInt16(associationType);
+    packet.putUInt32(0);   // association desc
+    packet.putUInt32(0);   // sequence number
+    packet.putString(name);   // file name
+    formatDateTime(created, date, sizeof(date));
+    packet.putString(date);   // date created
+    formatDateTime(modified, date, sizeof(date));
+    packet.putString(date);   // date modified
+    packet.putEmptyString();   // keywords
+
+    return MTP_RESPONSE_OK;
+}
+
+bool MtpDatabase::getObjectFilePath(MtpObjectHandle handle,
+                                    MtpString& filePath,
+                                    int64_t& fileLength) {
+    if (mFilePathQuery)
+        mFilePathQuery->reset();
+    else {
+        mFilePathQuery = new SqliteStatement(this);
+        if (!mFilePathQuery->prepare(FILE_PATH_QUERY)) {
+            fprintf(stderr, "could not compile FILE_ID_QUERY\n");
+            delete mFilePathQuery;
+            mFilePathQuery = NULL;
+            return kInvalidObjectHandle;
+        }
+    }
+
+    mFilePathQuery->bind(1, handle);
+    if (!mFilePathQuery->step())
+        return false;
+
+    const char* path = mFilePathQuery->getColumnString(0);
+    if (!path)
+        return false;
+    filePath = path;
+    fileLength = mFilePathQuery->getColumnInt64(1);
+    return true;
+}
+
+bool MtpDatabase::deleteFile(MtpObjectHandle handle) {
+    if (!mFileDeleter) {
+        mFileDeleter = new SqliteStatement(this);
+        if (!mFileDeleter->prepare(FILE_DELETE)) {
+            fprintf(stderr, "could not compile FILE_DELETE\n");
+            delete mFileDeleter;
+            mFileDeleter = NULL;
+            return false;
+        }
+    }
+printf("deleteFile %d\n", handle);
+    mFileDeleter->bind(1, handle);
+    mFileDeleter->step();
+    mFileDeleter->reset();
+    return true;
+}
+
+/*
+    for getObjectPropDesc
+
+    packet.putUInt16(property);
+    packet.putUInt16(dataType);
+    packet.putUInt8(getSet);
+    // default value DTS
+    packet.putUInt32(groupCode);
+    packet.putUInt8(formFlag);
+    // form, variable
+*/
diff --git a/media/mtp/MtpDatabase.h b/media/mtp/MtpDatabase.h
new file mode 100644
index 0000000..66f70bd
--- /dev/null
+++ b/media/mtp/MtpDatabase.h
@@ -0,0 +1,65 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _MTP_DATABASE_H
+#define _MTP_DATABASE_H
+
+#include "MtpUtils.h"
+#include "SqliteDatabase.h"
+#include "mtp.h"
+
+class MtpDataPacket;
+class SqliteStatement;
+
+class MtpDatabase : public SqliteDatabase {
+private:
+    SqliteStatement*        mFileIdQuery;
+    SqliteStatement*        mFilePathQuery;
+    SqliteStatement*        mObjectInfoQuery;
+    SqliteStatement*        mFileInserter;
+    SqliteStatement*        mFileDeleter;
+
+public:
+                            MtpDatabase();
+    virtual                 ~MtpDatabase();
+
+    bool                    open(const char* path, bool create);
+    MtpObjectHandle         addFile(const char* path,
+                                    MtpObjectFormat format,
+                                    MtpObjectHandle parent,
+                                    MtpStorageID storage,
+                                    uint64_t size,
+                                    time_t created,
+                                    time_t modified);
+
+    MtpObjectHandleList*    getObjectList(MtpStorageID storageID,
+                                    MtpObjectFormat format,
+                                    MtpObjectHandle parent);
+
+    MtpResponseCode         getObjectProperty(MtpObjectHandle handle,
+                                    MtpObjectProperty property,
+                                    MtpDataPacket& packet);
+
+    MtpResponseCode         getObjectInfo(MtpObjectHandle handle,
+                                    MtpDataPacket& packet);
+
+    bool                    getObjectFilePath(MtpObjectHandle handle,
+                                    MtpString& filePath,
+                                    int64_t& fileLength);
+    bool                    deleteFile(MtpObjectHandle handle);
+};
+
+#endif // _MTP_DATABASE_H
diff --git a/media/mtp/MtpDebug.cpp b/media/mtp/MtpDebug.cpp
new file mode 100644
index 0000000..6d0273d
--- /dev/null
+++ b/media/mtp/MtpDebug.cpp
@@ -0,0 +1,73 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "MtpDebug.h"
+
+
+struct OperationCodeEntry {
+    const char* name;
+    MtpOperationCode code;
+};
+
+static const OperationCodeEntry sOperationCodes[] = {
+    { "MTP_OPERATION_GET_DEVICE_INFO",              0x1001 },
+    { "MTP_OPERATION_OPEN_SESSION",                 0x1002 },
+    { "MTP_OPERATION_CLOSE_SESSION",                0x1003 },
+    { "MTP_OPERATION_GET_STORAGE_IDS",              0x1004 },
+    { "MTP_OPERATION_GET_STORAGE_INFO",             0x1005 },
+    { "MTP_OPERATION_GET_NUM_OBJECTS",              0x1006 },
+    { "MTP_OPERATION_GET_OBJECT_HANDLES",           0x1007 },
+    { "MTP_OPERATION_GET_OBJECT_INFO",              0x1008 },
+    { "MTP_OPERATION_GET_OBJECT",                   0x1009 },
+    { "MTP_OPERATION_GET_THUMB",                    0x100A },
+    { "MTP_OPERATION_DELETE_OBJECT",                0x100B },
+    { "MTP_OPERATION_SEND_OBJECT_INFO",             0x100C },
+    { "MTP_OPERATION_SEND_OBJECT",                  0x100D },
+    { "MTP_OPERATION_INITIATE_CAPTURE",             0x100E },
+    { "MTP_OPERATION_FORMAT_STORE",                 0x100F },
+    { "MTP_OPERATION_RESET_DEVICE",                 0x1010 },
+    { "MTP_OPERATION_SELF_TEST",                    0x1011 },
+    { "MTP_OPERATION_SET_OBJECT_PROTECTION",        0x1012 },
+    { "MTP_OPERATION_POWER_DOWN",                   0x1013 },
+    { "MTP_OPERATION_GET_DEVICE_PROP_DESC",         0x1014 },
+    { "MTP_OPERATION_GET_DEVICE_PROP_VALUE",        0x1015 },
+    { "MTP_OPERATION_SET_DEVICE_PROP_VALUE",        0x1016 },
+    { "MTP_OPERATION_RESET_DEVICE_PROP_VALUE",      0x1017 },
+    { "MTP_OPERATION_TERMINATE_OPEN_CAPTURE",       0x1018 },
+    { "MTP_OPERATION_MOVE_OBJECT",                  0x1019 },
+    { "MTP_OPERATION_COPY_OBJECT",                  0x101A },
+    { "MTP_OPERATION_GET_PARTIAL_OBJECT",           0x101B },
+    { "MTP_OPERATION_INITIATE_OPEN_CAPTURE",        0x101C },
+    { "MTP_OPERATION_GET_OBJECT_PROPS_SUPPORTED",   0x9801 },
+    { "MTP_OPERATION_GET_OBJECT_PROP_DESC",         0x9802 },
+    { "MTP_OPERATION_GET_OBJECT_PROP_VALUE",        0x9803 },
+    { "MTP_OPERATION_SET_OBJECT_PROP_VALUE",        0x9804 },
+    { "MTP_OPERATION_GET_OBJECT_REFERENCES",        0x9810 },
+    { "MTP_OPERATION_SET_OBJECT_REFERENCES",        0x9811 },
+    { "MTP_OPERATION_SKIP",                         0x9820 },
+    { 0,                                            0      },
+};
+
+
+const char* MtpDebug::getOperationCodeName(MtpOperationCode code) {
+    const OperationCodeEntry* entry = sOperationCodes;
+    while (entry->name) {
+        if (entry->code == code)
+            return entry->name;
+        entry++;
+    }
+    return "*** UNKNOWN OPERATION ***";
+}
diff --git a/media/mtp/MtpDebug.h b/media/mtp/MtpDebug.h
new file mode 100644
index 0000000..bab79e9
--- /dev/null
+++ b/media/mtp/MtpDebug.h
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _MTP_DEBUG_H
+#define _MTP_DEBUG_H
+
+#include "mtp.h"
+
+class MtpDebug {
+public:
+    static const char* getOperationCodeName(MtpOperationCode code);
+};
+
+#endif // _MTP_DEBUG_H
diff --git a/media/mtp/MtpPacket.cpp b/media/mtp/MtpPacket.cpp
new file mode 100644
index 0000000..26a9460
--- /dev/null
+++ b/media/mtp/MtpPacket.cpp
@@ -0,0 +1,136 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdio.h>
+
+#include <usbhost/usbhost.h>
+
+#include "MtpPacket.h"
+
+MtpPacket::MtpPacket(int bufferSize)
+    :   mBuffer(NULL),
+        mBufferSize(bufferSize),
+        mAllocationIncrement(bufferSize),
+        mPacketSize(0)
+{
+    mBuffer = (uint8_t *)malloc(bufferSize);
+    if (!mBuffer) {
+        fprintf(stderr, "out of memory!\n");
+        abort();
+    }
+}
+
+MtpPacket::~MtpPacket() {
+    if (mBuffer)
+        free(mBuffer);
+}
+
+void MtpPacket::reset() {
+    allocate(MTP_CONTAINER_HEADER_SIZE);
+    mPacketSize = MTP_CONTAINER_HEADER_SIZE;
+    memset(mBuffer, 0, mBufferSize);
+}
+
+void MtpPacket::allocate(int length) {
+    if (length > mBufferSize) {
+        int newLength = length + mAllocationIncrement;
+        mBuffer = (uint8_t *)realloc(mBuffer, newLength);
+        if (!mBuffer) {
+            fprintf(stderr, "out of memory!\n");
+            abort();
+        }
+        mBufferSize = newLength;
+    }
+}
+
+void MtpPacket::dump() {
+    for (int i = 0; i < mPacketSize; i++) {
+        printf("%02X ", mBuffer[i]);
+        if (i % 16 == 15)
+            printf("\n");
+    }
+    printf("\n\n");
+}
+
+uint16_t MtpPacket::getUInt16(int offset) const {
+    return ((uint16_t)mBuffer[offset + 1] << 8) | (uint16_t)mBuffer[offset];
+}
+
+uint32_t MtpPacket::getUInt32(int offset) const {
+    return ((uint32_t)mBuffer[offset + 3] << 24) | ((uint32_t)mBuffer[offset + 2] << 16) |
+           ((uint32_t)mBuffer[offset + 1] << 8)  | (uint32_t)mBuffer[offset];
+}
+
+void MtpPacket::putUInt16(int offset, uint16_t value) {
+    mBuffer[offset++] = (uint8_t)(value & 0xFF);
+    mBuffer[offset++] = (uint8_t)((value >> 8) & 0xFF);
+}
+
+void MtpPacket::putUInt32(int offset, uint32_t value) {
+    mBuffer[offset++] = (uint8_t)(value & 0xFF);
+    mBuffer[offset++] = (uint8_t)((value >> 8) & 0xFF);
+    mBuffer[offset++] = (uint8_t)((value >> 16) & 0xFF);
+    mBuffer[offset++] = (uint8_t)((value >> 24) & 0xFF);
+}
+
+uint16_t MtpPacket::getContainerCode() const {
+    return getUInt16(MTP_CONTAINER_CODE_OFFSET);
+}
+
+void MtpPacket::setContainerCode(uint16_t code) {
+    putUInt16(MTP_CONTAINER_CODE_OFFSET, code);
+}
+
+MtpTransactionID MtpPacket::getTransactionID() const {
+    return getUInt32(MTP_CONTAINER_TRANSACTION_ID_OFFSET);
+}
+
+void MtpPacket::setTransactionID(MtpTransactionID id) {
+    putUInt32(MTP_CONTAINER_TRANSACTION_ID_OFFSET, id);
+}
+
+uint32_t MtpPacket::getParameter(int index) const {
+    if (index < 1 || index > 5) {
+        fprintf(stderr, "index %d out of range in MtpRequestPacket::getParameter\n", index);
+        return 0;
+    }
+    return getUInt32(MTP_CONTAINER_PARAMETER_OFFSET + (index - 1) * sizeof(uint32_t));
+}
+
+void MtpPacket::setParameter(int index, uint32_t value) {
+    if (index < 1 || index > 5) {
+        fprintf(stderr, "index %d out of range in MtpResponsePacket::setParameter\n", index);
+        return;
+    }
+    int offset = MTP_CONTAINER_PARAMETER_OFFSET + (index - 1) * sizeof(uint32_t);
+    if (mPacketSize < offset + sizeof(uint32_t))
+        mPacketSize = offset + sizeof(uint32_t);
+    putUInt32(offset, value);
+}
+
+#ifdef MTP_HOST
+int MtpPacket::transfer(struct usb_endpoint *ep, void* buffer, int length) {
+    printf("MtpPacket::transfer length: %d\n", length);
+    if (usb_endpoint_queue(ep, buffer, length)) {
+        printf("usb_endpoint_queue failed, errno: %d\n", errno);
+        return -1;
+    }
+    int ep_num;
+    return usb_endpoint_wait(usb_endpoint_get_device(ep), &ep_num);
+}
+#endif
diff --git a/media/mtp/MtpPacket.h b/media/mtp/MtpPacket.h
new file mode 100644
index 0000000..26a3c24
--- /dev/null
+++ b/media/mtp/MtpPacket.h
@@ -0,0 +1,68 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _MTP_PACKET_H
+#define _MTP_PACKET_H
+
+class MtpStringBuffer;
+
+#include "mtp.h"
+#include "MtpUtils.h"
+
+#include <stdint.h>
+
+class MtpPacket {
+
+protected:
+    uint8_t*            mBuffer;
+    // current size of the buffer
+    int                 mBufferSize;
+    // number of bytes to add when resizing the buffer
+    int                 mAllocationIncrement;
+    // size of the data in the packet
+    int                 mPacketSize;
+
+public:
+                        MtpPacket(int bufferSize);
+    virtual             ~MtpPacket();
+
+    // sets packet size to the default container size and sets buffer to zero
+    virtual void        reset();
+
+    void                allocate(int length);
+    void                dump();
+
+    uint16_t            getContainerCode() const;
+    void                setContainerCode(uint16_t code);
+
+    MtpTransactionID    getTransactionID() const;
+    void                setTransactionID(MtpTransactionID id);
+
+    uint32_t            getParameter(int index) const;
+    void                setParameter(int index, uint32_t value);
+
+#ifdef MTP_HOST
+    int                 transfer(struct usb_endpoint *ep, void* buffer, int length);
+#endif
+
+protected:
+    uint16_t            getUInt16(int offset) const;
+    uint32_t            getUInt32(int offset) const;
+    void                putUInt16(int offset, uint16_t value);
+    void                putUInt32(int offset, uint32_t value);
+};
+
+#endif // _MTP_PACKET_H
diff --git a/media/mtp/MtpRequestPacket.cpp b/media/mtp/MtpRequestPacket.cpp
new file mode 100644
index 0000000..ed4cc9d
--- /dev/null
+++ b/media/mtp/MtpRequestPacket.cpp
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <stdio.h>
+#include <sys/types.h>
+#include <fcntl.h>
+
+#include "MtpRequestPacket.h"
+
+MtpRequestPacket::MtpRequestPacket()
+    :   MtpPacket(512)
+{
+}
+
+MtpRequestPacket::~MtpRequestPacket() {
+}
+
+#ifdef MTP_DEVICE
+int MtpRequestPacket::read(int fd) {
+    int ret = ::read(fd, mBuffer, mBufferSize);
+    if (ret >= 0)
+        mPacketSize = ret;
+    else
+        mPacketSize = 0;
+    return ret;
+}
+#endif
+
+#ifdef MTP_HOST
+    // write our buffer to the given endpoint (host mode)
+int MtpRequestPacket::write(struct usb_endpoint *ep)
+{
+    putUInt32(MTP_CONTAINER_LENGTH_OFFSET, mPacketSize);
+    putUInt16(MTP_CONTAINER_TYPE_OFFSET, MTP_CONTAINER_TYPE_COMMAND);
+    return transfer(ep, mBuffer, mPacketSize);
+}
+#endif
diff --git a/media/mtp/MtpRequestPacket.h b/media/mtp/MtpRequestPacket.h
new file mode 100644
index 0000000..d44d1dc
--- /dev/null
+++ b/media/mtp/MtpRequestPacket.h
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _MTP_REQUEST_PACKET_H
+#define _MTP_REQUEST_PACKET_H
+
+#include "MtpPacket.h"
+#include "mtp.h"
+
+class MtpRequestPacket : public MtpPacket {
+
+public:
+                        MtpRequestPacket();
+    virtual             ~MtpRequestPacket();
+
+#ifdef MTP_DEVICE
+    // fill our buffer with data from the given file descriptor
+    int                 read(int fd);
+#endif
+
+#ifdef MTP_HOST
+    // write our buffer to the given endpoint
+    int                 write(struct usb_endpoint *ep);
+#endif
+
+    inline MtpOperationCode    getOperationCode() const { return getContainerCode(); }
+    inline void                setOperationCode(MtpOperationCode code)
+                                                    { return setContainerCode(code); }
+};
+
+#endif // _MTP_REQUEST_PACKET_H
diff --git a/media/mtp/MtpResponsePacket.cpp b/media/mtp/MtpResponsePacket.cpp
new file mode 100644
index 0000000..6ebac9e
--- /dev/null
+++ b/media/mtp/MtpResponsePacket.cpp
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <stdio.h>
+#include <sys/types.h>
+#include <fcntl.h>
+
+#include "MtpResponsePacket.h"
+
+MtpResponsePacket::MtpResponsePacket()
+    :   MtpPacket(512)
+{
+}
+
+MtpResponsePacket::~MtpResponsePacket() {
+}
+
+#ifdef MTP_DEVICE
+int MtpResponsePacket::write(int fd) {
+    putUInt32(MTP_CONTAINER_LENGTH_OFFSET, mPacketSize);
+    putUInt16(MTP_CONTAINER_TYPE_OFFSET, MTP_CONTAINER_TYPE_RESPONSE);
+    int ret = ::write(fd, mBuffer, mPacketSize);
+    return (ret < 0 ? ret : 0);
+}
+#endif
+
+#ifdef MTP_HOST
+    // read our buffer from the given endpoint
+int MtpResponsePacket::read(struct usb_endpoint *ep) {
+    int ret = transfer(ep, mBuffer, mBufferSize);
+     if (ret >= 0)
+        mPacketSize = ret;
+    else
+        mPacketSize = 0;
+    return ret;
+}
+#endif
+
+
diff --git a/media/mtp/MtpResponsePacket.h b/media/mtp/MtpResponsePacket.h
new file mode 100644
index 0000000..84c3024
--- /dev/null
+++ b/media/mtp/MtpResponsePacket.h
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _MTP_RESPONSE_PACKET_H
+#define _MTP_RESPONSE_PACKET_H
+
+#include "MtpPacket.h"
+#include "mtp.h"
+
+class MtpResponsePacket : public MtpPacket {
+
+public:
+                        MtpResponsePacket();
+    virtual             ~MtpResponsePacket();
+
+#ifdef MTP_DEVICE
+    // write our data to the given file descriptor
+    int                 write(int fd);
+#endif
+
+#ifdef MTP_HOST
+    // read our buffer from the given endpoint
+    int                 read(struct usb_endpoint *ep);
+#endif
+
+    inline MtpResponseCode      getResponseCode() const { return getContainerCode(); }
+    inline void                 setResponseCode(MtpResponseCode code)
+                                                     { return setContainerCode(code); }
+};
+
+#endif // _MTP_RESPONSE_PACKET_H
diff --git a/media/mtp/MtpServer.cpp b/media/mtp/MtpServer.cpp
new file mode 100644
index 0000000..57b84ac
--- /dev/null
+++ b/media/mtp/MtpServer.cpp
@@ -0,0 +1,516 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <errno.h>
+
+#include "MtpDebug.h"
+#include "MtpServer.h"
+#include "MtpStorage.h"
+#include "MtpStringBuffer.h"
+#include "MtpDatabase.h"
+
+#include "f_mtp.h"
+
+static const MtpOperationCode kSupportedOperationCodes[] = {
+    MTP_OPERATION_GET_DEVICE_INFO,
+    MTP_OPERATION_OPEN_SESSION,
+    MTP_OPERATION_CLOSE_SESSION,
+    MTP_OPERATION_GET_STORAGE_IDS,
+    MTP_OPERATION_GET_STORAGE_INFO,
+    MTP_OPERATION_GET_NUM_OBJECTS,
+    MTP_OPERATION_GET_OBJECT_HANDLES,
+    MTP_OPERATION_GET_OBJECT_INFO,
+    MTP_OPERATION_GET_OBJECT,
+//    MTP_OPERATION_GET_THUMB,
+    MTP_OPERATION_DELETE_OBJECT,
+    MTP_OPERATION_SEND_OBJECT_INFO,
+    MTP_OPERATION_SEND_OBJECT,
+//    MTP_OPERATION_INITIATE_CAPTURE,
+//    MTP_OPERATION_FORMAT_STORE,
+//    MTP_OPERATION_RESET_DEVICE,
+//    MTP_OPERATION_SELF_TEST,
+//    MTP_OPERATION_SET_OBJECT_PROTECTION,
+//    MTP_OPERATION_POWER_DOWN,
+    MTP_OPERATION_GET_DEVICE_PROP_DESC,
+    MTP_OPERATION_GET_DEVICE_PROP_VALUE,
+    MTP_OPERATION_SET_DEVICE_PROP_VALUE,
+    MTP_OPERATION_RESET_DEVICE_PROP_VALUE,
+//    MTP_OPERATION_TERMINATE_OPEN_CAPTURE,
+//    MTP_OPERATION_MOVE_OBJECT,
+//    MTP_OPERATION_COPY_OBJECT,
+//    MTP_OPERATION_GET_PARTIAL_OBJECT,
+//    MTP_OPERATION_INITIATE_OPEN_CAPTURE,
+    MTP_OPERATION_GET_OBJECT_PROPS_SUPPORTED,
+//    MTP_OPERATION_GET_OBJECT_PROP_DESC,
+    MTP_OPERATION_GET_OBJECT_PROP_VALUE,
+    MTP_OPERATION_SET_OBJECT_PROP_VALUE,
+//    MTP_OPERATION_GET_OBJECT_REFERENCES,
+//    MTP_OPERATION_SET_OBJECT_REFERENCES,
+//    MTP_OPERATION_SKIP,
+};
+
+static const MtpObjectProperty kSupportedObjectProperties[] = {
+    MTP_PROPERTY_STORAGE_ID,
+    MTP_PROPERTY_OBJECT_FORMAT,
+    MTP_PROPERTY_OBJECT_SIZE,
+    MTP_PROPERTY_OBJECT_FILE_NAME,
+    MTP_PROPERTY_PARENT_OBJECT,
+};
+
+static const MtpObjectFormat kSupportedPlaybackFormats[] = {
+    // FIXME - fill this out later
+    MTP_FORMAT_ASSOCIATION,
+    MTP_FORMAT_MP3,
+};
+
+MtpServer::MtpServer(int fd, const char* databasePath)
+    :   mFD(fd),
+        mDatabasePath(databasePath),
+        mDatabase(NULL),
+        mSessionID(0),
+        mSessionOpen(false),
+        mSendObjectHandle(kInvalidObjectHandle),
+        mSendObjectFileSize(0)
+{
+    mDatabase = new MtpDatabase();
+    mDatabase->open(databasePath, true);
+}
+
+MtpServer::~MtpServer() {
+}
+
+void MtpServer::addStorage(const char* filePath) {
+    int index = mStorages.size() + 1;
+    index |= index << 16;   // set high and low part to our index
+    MtpStorage* storage = new MtpStorage(index, filePath, mDatabase);
+    addStorage(storage);
+}
+
+MtpStorage* MtpServer::getStorage(MtpStorageID id) {
+    for (int i = 0; i < mStorages.size(); i++) {
+        MtpStorage* storage =  mStorages[i];
+        if (storage->getStorageID() == id)
+            return storage;
+    }
+    return NULL;
+}
+
+void MtpServer::scanStorage() {
+    for (int i = 0; i < mStorages.size(); i++) {
+        MtpStorage* storage =  mStorages[i];
+        storage->scanFiles();
+    }
+}
+
+void MtpServer::run() {
+    int fd = mFD;
+
+    printf("MtpServer::run fd: %d\n", fd);
+
+    while (1) {
+        int ret = mRequest.read(fd);
+        if (ret < 0) {
+            fprintf(stderr, "request read returned %d, errno: %d\n", ret, errno);
+            break;
+        }
+        MtpOperationCode operation = mRequest.getOperationCode();
+        MtpTransactionID transaction = mRequest.getTransactionID();
+
+        printf("operation: %s\n", MtpDebug::getOperationCodeName(operation));
+        mRequest.dump();
+
+        // FIXME need to generalize this
+        bool dataIn = (operation == MTP_OPERATION_SEND_OBJECT_INFO);
+        if (dataIn) {
+            int ret = mData.read(fd);
+            if (ret < 0) {
+                fprintf(stderr, "data read returned %d, errno: %d\n", ret, errno);
+                break;
+            }
+            printf("received data:\n");
+            mData.dump();
+        } else {
+            mData.reset();
+        }
+
+        handleRequest();
+
+        if (!dataIn && mData.hasData()) {
+            mData.setOperationCode(operation);
+            mData.setTransactionID(transaction);
+            printf("sending data:\n");
+            mData.dump();
+            ret = mData.write(fd);
+            if (ret < 0) {
+                fprintf(stderr, "request write returned %d, errno: %d\n", ret, errno);
+                break;
+            }
+        }
+
+        mResponse.setTransactionID(transaction);
+        ret = mResponse.write(fd);
+        if (ret < 0) {
+            fprintf(stderr, "request write returned %d, errno: %d\n", ret, errno);
+            break;
+        }
+    }
+}
+
+void MtpServer::handleRequest() {
+    MtpOperationCode operation = mRequest.getOperationCode();
+    MtpResponseCode response;
+
+    mResponse.reset();
+
+    if (mSendObjectHandle != kInvalidObjectHandle && operation != MTP_OPERATION_SEND_OBJECT) {
+        // FIXME - need to delete mSendObjectHandle from the database
+        fprintf(stderr, "expected SendObject after SendObjectInfo\n");
+        mSendObjectHandle = kInvalidObjectHandle;
+    }
+
+    switch (operation) {
+        case MTP_OPERATION_GET_DEVICE_INFO:
+            response = doGetDeviceInfo();
+            break;
+        case MTP_OPERATION_OPEN_SESSION:
+            response = doOpenSession();
+            break;
+        case MTP_OPERATION_CLOSE_SESSION:
+            response = doCloseSession();
+            break;
+        case MTP_OPERATION_GET_STORAGE_IDS:
+            response = doGetStorageIDs();
+            break;
+         case MTP_OPERATION_GET_STORAGE_INFO:
+            response = doGetStorageInfo();
+            break;
+        case MTP_OPERATION_GET_OBJECT_PROPS_SUPPORTED:
+            response = doGetObjectPropsSupported();
+            break;
+        case MTP_OPERATION_GET_OBJECT_HANDLES:
+            response = doGetObjectHandles();
+            break;
+        case MTP_OPERATION_GET_OBJECT_PROP_VALUE:
+            response = doGetObjectPropValue();
+            break;
+        case MTP_OPERATION_GET_OBJECT_INFO:
+            response = doGetObjectInfo();
+            break;
+        case MTP_OPERATION_GET_OBJECT:
+            response = doGetObject();
+            break;
+        case MTP_OPERATION_SEND_OBJECT_INFO:
+            response = doSendObjectInfo();
+            break;
+        case MTP_OPERATION_SEND_OBJECT:
+            response = doSendObject();
+            break;
+        case MTP_OPERATION_DELETE_OBJECT:
+            response = doDeleteObject();
+            break;
+        case MTP_OPERATION_GET_OBJECT_PROP_DESC:
+        default:
+            response = MTP_RESPONSE_OPERATION_NOT_SUPPORTED;
+            break;
+    }
+
+    mResponse.setResponseCode(response);
+}
+
+MtpResponseCode MtpServer::doGetDeviceInfo() {
+    MtpStringBuffer   string;
+
+    // fill in device info
+    mData.putUInt16(MTP_STANDARD_VERSION);
+    mData.putUInt32(6); // MTP Vendor Extension ID
+    mData.putUInt16(MTP_STANDARD_VERSION);
+    string.set("microsoft.com: 1.0;");
+    mData.putString(string); // MTP Extensions
+    mData.putUInt16(0); //Functional Mode
+    mData.putAUInt16(kSupportedOperationCodes,
+            sizeof(kSupportedOperationCodes) / sizeof(uint16_t)); // Operations Supported
+    mData.putEmptyArray(); // Events Supported
+    mData.putEmptyArray(); // Device Properties Supported
+    mData.putEmptyArray(); // Capture Formats
+    mData.putAUInt16(kSupportedPlaybackFormats,
+            sizeof(kSupportedPlaybackFormats) / sizeof(uint16_t)); // Playback Formats
+    // FIXME
+    string.set("Google, Inc.");
+    mData.putString(string);   // Manufacturer
+    string.set("Just an Ordinary MTP Device");
+    mData.putString(string);   // Model
+    string.set("1.0");
+    mData.putString(string);   // Device Version
+    string.set("123456789012345678AA");
+    mData.putString(string);   // Serial Number
+
+    return MTP_RESPONSE_OK;
+}
+
+MtpResponseCode MtpServer::doOpenSession() {
+    if (mSessionOpen) {
+        mResponse.setParameter(1, mSessionID);
+        return MTP_RESPONSE_SESSION_ALREADY_OPEN;
+    }
+    mSessionID = mRequest.getParameter(1);
+    mSessionOpen = true;
+    return MTP_RESPONSE_OK;
+}
+
+MtpResponseCode MtpServer::doCloseSession() {
+    if (!mSessionOpen)
+        return MTP_RESPONSE_SESSION_NOT_OPEN;
+    mSessionID = 0;
+    mSessionOpen = false;
+    return MTP_RESPONSE_OK;
+}
+
+MtpResponseCode MtpServer::doGetStorageIDs() {
+    if (!mSessionOpen)
+        return MTP_RESPONSE_SESSION_NOT_OPEN;
+
+    int count = mStorages.size();
+    mData.putUInt32(count);
+    for (int i = 0; i < count; i++)
+        mData.putUInt32(mStorages[i]->getStorageID());
+
+    return MTP_RESPONSE_OK;
+}
+
+MtpResponseCode MtpServer::doGetStorageInfo() {
+    MtpStringBuffer   string;
+
+    if (!mSessionOpen)
+        return MTP_RESPONSE_SESSION_NOT_OPEN;
+    MtpStorageID id = mRequest.getParameter(1);
+    MtpStorage* storage = getStorage(id);
+    if (!storage)
+        return MTP_RESPONSE_INVALID_STORAGE_ID;
+
+    mData.putUInt16(storage->getType());
+    mData.putUInt16(storage->getFileSystemType());
+    mData.putUInt16(storage->getAccessCapability());
+    mData.putUInt64(storage->getMaxCapacity());
+    mData.putUInt64(storage->getFreeSpace());
+    mData.putUInt32(1024*1024*1024); // Free Space in Objects
+    string.set(storage->getDescription());
+    mData.putString(string);
+    mData.putEmptyString();   // Volume Identifier
+
+    return MTP_RESPONSE_OK;
+}
+
+MtpResponseCode MtpServer::doGetObjectPropsSupported() {
+    if (!mSessionOpen)
+        return MTP_RESPONSE_SESSION_NOT_OPEN;
+    MtpObjectFormat format = mRequest.getParameter(1);
+    mData.putAUInt16(kSupportedObjectProperties,
+            sizeof(kSupportedObjectProperties) / sizeof(uint16_t));
+    return MTP_RESPONSE_OK;
+}
+
+MtpResponseCode MtpServer::doGetObjectHandles() {
+    if (!mSessionOpen)
+        return MTP_RESPONSE_SESSION_NOT_OPEN;
+    MtpStorageID storageID = mRequest.getParameter(1);      // 0xFFFFFFFF for all storage
+    MtpObjectFormat format = mRequest.getParameter(2);      // 0x00000000 for all formats
+    MtpObjectHandle parent = mRequest.getParameter(3);      // 0xFFFFFFFF for objects with no parent
+                                                            // 0x00000000 for all objects?
+
+    MtpObjectHandleList* handles = mDatabase->getObjectList(storageID, format, parent);
+    mData.putAUInt32(handles);
+    delete handles;
+    return MTP_RESPONSE_OK;
+}
+
+MtpResponseCode MtpServer::doGetObjectPropValue() {
+    MtpObjectHandle handle = mRequest.getParameter(1);
+    MtpObjectProperty property = mRequest.getParameter(2);
+
+    return mDatabase->getObjectProperty(handle, property, mData);
+}
+
+MtpResponseCode MtpServer::doGetObjectInfo() {
+    MtpObjectHandle handle = mRequest.getParameter(1);
+    return mDatabase->getObjectInfo(handle, mData);
+}
+
+MtpResponseCode MtpServer::doGetObject() {
+    MtpObjectHandle handle = mRequest.getParameter(1);
+    MtpString filePath;
+    int64_t fileLength;
+    if (!mDatabase->getObjectFilePath(handle, filePath, fileLength))
+        return MTP_RESPONSE_INVALID_OBJECT_HANDLE;
+
+    mtp_file_range  mfr;
+    mfr.path = filePath;
+    mfr.path_length = strlen(mfr.path);
+    mfr.offset = 0;
+    mfr.length = fileLength;
+
+    // send data header
+    mData.setOperationCode(mRequest.getOperationCode());
+    mData.setTransactionID(mRequest.getTransactionID());
+    mData.writeDataHeader(mFD, fileLength);
+
+    // then transfer the file
+    int ret = ioctl(mFD, MTP_SEND_FILE, (unsigned long)&mfr);
+    // FIXME - check for errors here
+    printf("MTP_SEND_FILE returned %d\n", ret);
+    return MTP_RESPONSE_OK;
+}
+
+MtpResponseCode MtpServer::doSendObjectInfo() {
+    MtpString path;
+    MtpStorageID storageID = mRequest.getParameter(1);
+    MtpStorage* storage = getStorage(storageID);
+    MtpObjectHandle parent = mRequest.getParameter(2);
+    if (!storage)
+        return MTP_RESPONSE_INVALID_STORAGE_ID;
+
+    // special case the root
+    if (parent == MTP_PARENT_ROOT)
+        path = storage->getPath();
+    else {
+        int64_t dummy;
+        if (!mDatabase->getObjectFilePath(parent, path, dummy))
+            return MTP_RESPONSE_INVALID_OBJECT_HANDLE;
+    }
+
+    // read only the fields we need
+    mData.getUInt32();  // storage ID
+    MtpObjectFormat format = mData.getUInt16();
+    mData.getUInt16();  // protection status
+    mSendObjectFileSize = mData.getUInt32();
+    mData.getUInt16();  // thumb format
+    mData.getUInt32();  // thumb compressed size
+    mData.getUInt32();  // thumb pix width
+    mData.getUInt32();  // thumb pix height
+    mData.getUInt32();  // image pix width
+    mData.getUInt32();  // image pix height
+    mData.getUInt32();  // image bit depth
+    mData.getUInt32();  // parent
+    uint16_t associationType = mData.getUInt16();
+    uint32_t associationDesc = mData.getUInt32();   // association desc
+    mData.getUInt32();  // sequence number
+    MtpStringBuffer name, created, modified;
+    mData.getString(name);    // file name
+    mData.getString(created);      // date created
+    mData.getString(modified);     // date modified
+    // keywords follow
+
+    time_t createdTime, modifiedTime;
+    if (!parseDateTime(created, createdTime))
+        createdTime = 0;
+    if (!parseDateTime(modified, modifiedTime))
+        modifiedTime = 0;
+printf("SendObjectInfo format: %04X size: %d name: %s, created: %s, modified: %s\n",
+format, mSendObjectFileSize, (const char*)name, (const char*)created, (const char*)modified);
+
+    if (path[path.size() - 1] != '/')
+        path += "/";
+    path += (const char *)name;
+
+    MtpObjectHandle handle = mDatabase->addFile((const char*)path,
+                                    format, parent, storageID, mSendObjectFileSize,
+                                    createdTime, modifiedTime);
+    if (handle == kInvalidObjectHandle)
+        return MTP_RESPONSE_GENERAL_ERROR;
+
+  if (format == MTP_FORMAT_ASSOCIATION) {
+        mode_t mask = umask(0);
+        int ret = mkdir((const char *)path, S_IRWXU | S_IRWXG | S_IRWXO);
+        umask(mask);
+        if (ret && ret != -EEXIST)
+            return MTP_RESPONSE_GENERAL_ERROR;
+    } else {
+        mSendObjectFilePath = path;
+        // save the handle for the SendObject call, which should follow
+        mSendObjectHandle = handle;
+    }
+
+    mResponse.setParameter(1, storageID);
+    mResponse.setParameter(2, parent);
+    mResponse.setParameter(3, handle);
+
+    return MTP_RESPONSE_OK;
+}
+
+MtpResponseCode MtpServer::doSendObject() {
+    if (mSendObjectHandle == kInvalidObjectHandle) {
+        fprintf(stderr, "Expected SendObjectInfo before SendObject\n");
+        return MTP_RESPONSE_NO_VALID_OBJECT_INFO;
+    }
+
+    // read the header
+    int ret = mData.readDataHeader(mFD);
+    // FIXME - check for errors here.
+
+    // reset so we don't attempt to send this back
+    mData.reset();
+
+    mtp_file_range  mfr;
+    mfr.path = (const char*)mSendObjectFilePath;
+    mfr.path_length = strlen(mfr.path);
+    mfr.offset = 0;
+    mfr.length = mSendObjectFileSize;
+
+    // transfer the file
+    ret = ioctl(mFD, MTP_RECEIVE_FILE, (unsigned long)&mfr);
+    // FIXME - check for errors here.
+    // we need to return a reasonable response and delete
+    // mSendObjectHandle from the database if this fails.
+    printf("MTP_RECEIVE_FILE returned %d\n", ret);
+
+    mSendObjectHandle = kInvalidObjectHandle;
+
+    return MTP_RESPONSE_OK;
+}
+
+MtpResponseCode MtpServer::doDeleteObject() {
+    MtpObjectHandle handle = mRequest.getParameter(1);
+    MtpObjectFormat format = mRequest.getParameter(1);
+    // FIXME - support deleting all objects if handle is 0xFFFFFFFF
+    // FIXME - implement deleting objects by format
+    // FIXME - handle non-empty directories
+
+    MtpString filePath;
+    int64_t fileLength;
+    if (!mDatabase->getObjectFilePath(handle, filePath, fileLength))
+        return MTP_RESPONSE_INVALID_OBJECT_HANDLE;
+
+printf("deleting %s\n", (const char *)filePath);
+    // one of these should work
+    rmdir((const char *)filePath);
+    unlink((const char *)filePath);
+
+    mDatabase->deleteFile(handle);
+
+    return MTP_RESPONSE_OK;
+}
+
+MtpResponseCode MtpServer::doGetObjectPropDesc() {
+    MtpObjectProperty property = mRequest.getParameter(1);
+    MtpObjectFormat format = mRequest.getParameter(2);
+
+    return -1;
+}
diff --git a/media/mtp/MtpServer.h b/media/mtp/MtpServer.h
new file mode 100644
index 0000000..81b1c81
--- /dev/null
+++ b/media/mtp/MtpServer.h
@@ -0,0 +1,86 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _MTP_SERVER_H
+#define _MTP_SERVER_H
+
+#include "MtpRequestPacket.h"
+#include "MtpDataPacket.h"
+#include "MtpResponsePacket.h"
+#include "mtp.h"
+
+#include "MtpUtils.h"
+
+class MtpStorage;
+class MtpDatabase;
+
+class MtpServer {
+
+private:
+    // file descriptor for MTP kernel driver
+    int                 mFD;
+
+    // path to our sqlite3 database
+    const char*         mDatabasePath;
+
+    MtpDatabase*        mDatabase;
+
+    // current session ID
+    MtpSessionID        mSessionID;
+    // true if we have an open session and mSessionID is valid
+    bool                mSessionOpen;
+
+    MtpRequestPacket    mRequest;
+    MtpDataPacket       mData;
+    MtpResponsePacket   mResponse;
+
+    MtpStorageList      mStorages;
+
+    // handle for new object, set by SendObjectInfo and used by SendObject
+    MtpObjectHandle     mSendObjectHandle;
+    MtpString           mSendObjectFilePath;
+    size_t              mSendObjectFileSize;
+
+public:
+                        MtpServer(int fd, const char* databasePath);
+    virtual             ~MtpServer();
+
+    void                addStorage(const char* filePath);
+    inline void         addStorage(MtpStorage* storage) { mStorages.push(storage); }
+    MtpStorage*         getStorage(MtpStorageID id);
+    void                scanStorage();
+    void                run();
+
+private:
+    void                handleRequest();
+
+    MtpResponseCode     doGetDeviceInfo();
+    MtpResponseCode     doOpenSession();
+    MtpResponseCode     doCloseSession();
+    MtpResponseCode     doGetStorageIDs();
+    MtpResponseCode     doGetStorageInfo();
+    MtpResponseCode     doGetObjectPropsSupported();
+    MtpResponseCode     doGetObjectHandles();
+    MtpResponseCode     doGetObjectPropValue();
+    MtpResponseCode     doGetObjectInfo();
+    MtpResponseCode     doGetObject();
+    MtpResponseCode     doSendObjectInfo();
+    MtpResponseCode     doSendObject();
+    MtpResponseCode     doDeleteObject();
+    MtpResponseCode     doGetObjectPropDesc();
+};
+
+#endif // _MTP_SERVER_H
diff --git a/media/mtp/MtpStorage.cpp b/media/mtp/MtpStorage.cpp
new file mode 100644
index 0000000..bbdef51
--- /dev/null
+++ b/media/mtp/MtpStorage.cpp
@@ -0,0 +1,135 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "MtpDatabase.h"
+#include "MtpStorage.h"
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/statfs.h>
+#include <unistd.h>
+#include <dirent.h>
+#include <errno.h>
+#include <string.h>
+#include <stdio.h>
+#include <limits.h>
+
+
+MtpStorage::MtpStorage(MtpStorageID id, const char* filePath, MtpDatabase* db)
+    :   mStorageID(id),
+        mFilePath(filePath),
+        mDatabase(db),
+        mMaxCapacity(0)
+{
+}
+
+MtpStorage::~MtpStorage() {
+}
+
+int MtpStorage::getType() const {
+    return MTP_STORAGE_FIXED_RAM;
+}
+
+int MtpStorage::getFileSystemType() const {
+    return MTP_STORAGE_FILESYSTEM_HIERARCHICAL;
+}
+
+int MtpStorage::getAccessCapability() const {
+    return MTP_STORAGE_READ_WRITE;
+}
+
+uint64_t MtpStorage::getMaxCapacity() {
+    if (mMaxCapacity == 0) {
+        struct statfs   stat;
+        if (statfs(mFilePath, &stat))
+            return -1;
+        mMaxCapacity = (uint64_t)stat.f_blocks * (uint64_t)stat.f_bsize;
+    }
+    return mMaxCapacity;
+}
+
+uint64_t MtpStorage::getFreeSpace() {
+    struct statfs   stat;
+    if (statfs(mFilePath, &stat))
+        return -1;
+    return (uint64_t)stat.f_bavail * (uint64_t)stat.f_bsize;
+}
+
+const char* MtpStorage::getDescription() const {
+    return "Phone Storage";
+}
+
+bool MtpStorage::scanFiles() {
+    mDatabase->beginTransaction();
+    int ret = scanDirectory(mFilePath, MTP_PARENT_ROOT);
+    mDatabase->commitTransaction();
+    return (ret == 0);
+}
+
+int MtpStorage::scanDirectory(const char* path, MtpObjectHandle parent)
+{
+    char buffer[PATH_MAX];
+    struct dirent* entry;
+
+    int length = strlen(path);
+    if (length > sizeof(buffer) + 2) {
+        fprintf(stderr, "path too long: %s\n", path);
+    }
+
+    DIR* dir = opendir(path);
+    if (!dir) {
+        fprintf(stderr, "opendir %s failed, errno: %d", path, errno);
+        return -1;
+    }
+
+    strncpy(buffer, path, sizeof(buffer));
+    char* fileStart = buffer + length;
+    // make sure we have a trailing slash
+    if (fileStart[-1] != '/') {
+        *(fileStart++) = '/';
+    }
+    int fileNameLength = sizeof(buffer) + fileStart - buffer;
+
+    while ((entry = readdir(dir))) {
+        const char* name = entry->d_name;
+
+        // ignore "." and "..", as well as any files or directories staring with dot
+        if (name[0] == '.') {
+            continue;
+        }
+        if (strlen(name) + 1 > fileNameLength) {
+            fprintf(stderr, "path too long for %s\n", name);
+            continue;
+        }
+        strcpy(fileStart, name);
+
+        struct stat statbuf;
+        memset(&statbuf, 0, sizeof(statbuf));
+        stat(buffer, &statbuf);
+
+        if (entry->d_type == DT_DIR) {
+            MtpObjectHandle handle = mDatabase->addFile(buffer, MTP_FORMAT_ASSOCIATION,
+                    parent, mStorageID, 0, 0, statbuf.st_mtime);
+            scanDirectory(buffer, handle);
+        } else if (entry->d_type == DT_REG) {
+            mDatabase->addFile(buffer, MTP_FORMAT_UNDEFINED, parent, mStorageID,
+                    statbuf.st_size, 0, statbuf.st_mtime);
+        }
+    }
+
+    closedir(dir);
+    return 0;
+}
diff --git a/media/mtp/MtpStorage.h b/media/mtp/MtpStorage.h
new file mode 100644
index 0000000..011cb81
--- /dev/null
+++ b/media/mtp/MtpStorage.h
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _MTP_STORAGE_H
+#define _MTP_STORAGE_H
+
+#include "mtp.h"
+
+class MtpDatabase;
+class SqliteStatement;
+
+class MtpStorage {
+
+private:
+    MtpStorageID            mStorageID;
+    const char*             mFilePath;
+    MtpDatabase*            mDatabase;
+    uint64_t                mMaxCapacity;
+
+public:
+                            MtpStorage(MtpStorageID id, const char* filePath, MtpDatabase* db);
+    virtual                 ~MtpStorage();
+
+    inline MtpStorageID     getStorageID() const { return mStorageID; }
+    int                     getType() const;
+    int                     getFileSystemType() const;
+    int                     getAccessCapability() const;
+    uint64_t                getMaxCapacity();
+    uint64_t                getFreeSpace();
+    const char*             getDescription() const;
+    inline const char*      getPath() const { return mFilePath; }
+
+    bool                    scanFiles();
+
+private:
+    int                     scanDirectory(const char* path, MtpObjectHandle parent);
+};
+
+#endif // _MTP_STORAGE_H
diff --git a/media/mtp/MtpStringBuffer.cpp b/media/mtp/MtpStringBuffer.cpp
new file mode 100644
index 0000000..6b55c44
--- /dev/null
+++ b/media/mtp/MtpStringBuffer.cpp
@@ -0,0 +1,133 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <string.h>
+
+#include "MtpDataPacket.h"
+#include "MtpStringBuffer.h"
+
+
+MtpStringBuffer::MtpStringBuffer()
+    :   mCharCount(0),
+        mByteCount(1)
+{
+    mBuffer[0] = 0;
+}
+
+MtpStringBuffer::MtpStringBuffer(const char* src)
+    :   mCharCount(0),
+        mByteCount(1)
+{
+    set(src);
+}
+
+MtpStringBuffer::MtpStringBuffer(const MtpStringBuffer& src)
+    :   mCharCount(src.mCharCount),
+        mByteCount(src.mByteCount)
+{
+    memcpy(mBuffer, src.mBuffer, mByteCount);
+}
+
+
+MtpStringBuffer::~MtpStringBuffer() {
+}
+
+void MtpStringBuffer::set(const char* src) {
+    int length = strlen(src);
+    if (length >= sizeof(mBuffer))
+        length = sizeof(mBuffer) - 1;
+    memcpy(mBuffer, src, length);
+
+    // count the characters
+    int count = 0;
+    char ch;
+    while ((ch = *src++) != 0) {
+        if ((ch & 0x80) == 0) {
+            // single byte character
+        } else if ((ch & 0xE0) == 0xC0) {
+            // two byte character
+            if (! *src++) {
+                // last character was truncated, so ignore last byte
+                length--;
+                break;
+            }
+        } else if ((ch & 0xF0) == 0xE0) {
+            // 3 byte char
+            if (! *src++) {
+                // last character was truncated, so ignore last byte
+                length--;
+                break;
+            }
+            if (! *src++) {
+                // last character was truncated, so ignore last two bytes
+                length -= 2;
+                break;
+            }
+        }
+        count++;
+    }
+
+    mByteCount = length + 1;
+    mBuffer[length] = 0;
+    mCharCount = count;
+}
+
+void MtpStringBuffer::readFromPacket(MtpDataPacket* packet) {
+    int count = packet->getUInt8();
+    uint8_t* dest = mBuffer;
+    for (int i = 0; i < count; i++) {
+        uint16_t ch = packet->getUInt16();
+        if (ch >= 0x0800) {
+            *dest++ = (uint8_t)(0xE0 | (ch >> 12));
+            *dest++ = (uint8_t)(0x80 | ((ch >> 6) & 0x3F));
+            *dest++ = (uint8_t)(0x80 | (ch & 0x3F));
+        } else if (ch >= 0x80) {
+            *dest++ = (uint8_t)(0xC0 | (ch >> 6));
+            *dest++ = (uint8_t)(0x80 | (ch & 0x3F));
+        } else {
+            *dest++ = ch;
+        }
+    }
+    *dest++ = 0;
+    mCharCount = count;
+    mByteCount = dest - mBuffer;
+}
+
+void MtpStringBuffer::writeToPacket(MtpDataPacket* packet) const {
+    int count = mCharCount;
+    const uint8_t* src = mBuffer;
+    packet->putUInt8(count);
+
+    // expand utf8 to 16 bit chars
+    for (int i = 0; i < count; i++) {
+        uint16_t ch;
+        uint16_t ch1 = *src++;
+        if ((ch1 & 0x80) == 0) {
+            // single byte character
+            ch = ch1;
+        } else if ((ch1 & 0xE0) == 0xC0) {
+            // two byte character
+            uint16_t ch2 = *src++;
+            ch = ((ch1 & 0x1F) << 6) | (ch2 & 0x3F);
+        } else {
+            // three byte character
+            uint16_t ch2 = *src++;
+            uint16_t ch3 = *src++;
+            ch = ((ch1 & 0x0F) << 12) | ((ch2 & 0x3F) << 6) | (ch3 & 0x3F);
+        }
+        packet->putUInt16(ch);
+    }
+}
diff --git a/media/mtp/MtpStringBuffer.h b/media/mtp/MtpStringBuffer.h
new file mode 100644
index 0000000..46138d2
--- /dev/null
+++ b/media/mtp/MtpStringBuffer.h
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _MTP_STRING_BUFFER_H
+#define _MTP_STRING_BUFFER_H
+
+#include <stdint.h>
+
+class MtpDataPacket;
+
+// Represents a utf8 string, with a maximum of 255 characters
+class MtpStringBuffer {
+
+private:
+    // maximum 3 bytes/character, with 1 extra for zero termination
+    uint8_t         mBuffer[255 * 3 + 1];
+    int             mCharCount;
+    int             mByteCount;
+
+public:
+                    MtpStringBuffer();
+                    MtpStringBuffer(const char* src);
+                    MtpStringBuffer(const MtpStringBuffer& src);
+    virtual         ~MtpStringBuffer();
+
+    void            set(const char* src);
+
+    void            readFromPacket(MtpDataPacket* packet);
+    void            writeToPacket(MtpDataPacket* packet) const;
+
+    inline int      getCharCount() const { return mCharCount; }
+    inline int      getByteCount() const { return mByteCount; }
+
+	inline operator const char*() const { return (const char *)mBuffer; }
+};
+
+#endif // _MTP_STRING_BUFFER_H
diff --git a/media/mtp/MtpUtils.cpp b/media/mtp/MtpUtils.cpp
new file mode 100644
index 0000000..a472781
--- /dev/null
+++ b/media/mtp/MtpUtils.cpp
@@ -0,0 +1,73 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <time.h>
+
+#include <cutils/tztime.h>
+#include "MtpUtils.h"
+
+/*
+DateTime strings follow a compatible subset of the definition found in ISO 8601, and
+take the form of a Unicode string formatted as: "YYYYMMDDThhmmss.s". In this
+representation, YYYY shall be replaced by the year, MM replaced by the month (01-12),
+DD replaced by the day (01-31), T is a constant character 'T' delimiting time from date,
+hh is replaced by the hour (00-23), mm is replaced by the minute (00-59), and ss by the
+second (00-59). The ".s" is optional, and represents tenths of a second.
+*/
+
+bool parseDateTime(const char* dateTime, time_t& outSeconds) {
+    int year, month, day, hour, minute, second;
+    struct tm tm;
+
+    if (sscanf(dateTime, "%04d%02d%02dT%02d%02d%02d",
+            &year, &month, &day, &hour, &minute, &second) != 6)
+        return false;
+    const char* tail = dateTime + 15;
+    // skip optional tenth of second
+    if (tail[0] == '.' && tail[1])
+        tail += 2;
+    //FIXME - support +/-hhmm
+    bool useUTC = (tail[0] == 'Z');
+
+    // hack to compute timezone
+    time_t dummy;
+    localtime_r(&dummy, &tm);
+
+    tm.tm_sec = second;
+    tm.tm_min = minute;
+    tm.tm_hour = hour;
+    tm.tm_mday = day;
+    tm.tm_mon = month;
+    tm.tm_year = year - 1900;
+    tm.tm_wday = 0;
+    tm.tm_isdst = -1;
+    if (useUTC)
+        outSeconds = mktime(&tm);
+    else
+        outSeconds = mktime_tz(&tm, tm.tm_zone);
+
+    return true;
+}
+
+void formatDateTime(time_t seconds, char* buffer, int bufferLength) {
+    struct tm tm;
+
+    localtime_r(&seconds, &tm);
+    snprintf(buffer, bufferLength, "%04d%02d%02dT%02d%02d%02d",
+        tm.tm_year + 1900, tm.tm_mon, tm.tm_mday, tm.tm_hour, tm.tm_min, tm.tm_sec);
+}
+
+
diff --git a/media/mtp/MtpUtils.h b/media/mtp/MtpUtils.h
new file mode 100644
index 0000000..2e80762
--- /dev/null
+++ b/media/mtp/MtpUtils.h
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _MTP_UTILS_H
+#define _MTP_UTILS_H
+
+#include "utils/String8.h"
+#include "utils/Vector.h"
+
+class MtpStorage;
+
+typedef android::Vector<MtpStorage *> MtpStorageList;
+typedef android::Vector<uint32_t> UInt32List;
+typedef UInt32List MtpObjectHandleList;
+
+typedef android::String8    MtpString;
+
+bool parseDateTime(const char* dateTime, time_t& outSeconds);
+void formatDateTime(time_t seconds, char* buffer, int bufferLength);
+
+#endif // _MTP_UTILS_H
diff --git a/media/mtp/SqliteDatabase.cpp b/media/mtp/SqliteDatabase.cpp
new file mode 100644
index 0000000..5a70dfe
--- /dev/null
+++ b/media/mtp/SqliteDatabase.cpp
@@ -0,0 +1,81 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "SqliteDatabase.h"
+#include "SqliteStatement.h"
+
+#include <stdio.h>
+#include <sqlite3.h>
+
+SqliteDatabase::SqliteDatabase()
+    :   mDatabaseHandle(NULL)
+{
+}
+
+SqliteDatabase::~SqliteDatabase() {
+    close();
+}
+
+bool SqliteDatabase::open(const char* path, bool create) {
+    int flags = SQLITE_OPEN_READWRITE;
+    if (create) flags |= SQLITE_OPEN_CREATE;
+    // SQLITE_OPEN_NOMUTEX?
+    int ret = sqlite3_open_v2(path, &mDatabaseHandle, flags, NULL);
+    if (ret) {
+        fprintf(stderr, "could not open database\n");
+        return false;
+    }
+    return true;
+}
+
+void SqliteDatabase::close() {
+    if (mDatabaseHandle) {
+        sqlite3_close(mDatabaseHandle);
+        mDatabaseHandle = NULL;
+    }
+}
+
+bool SqliteDatabase::exec(const char* sql) {
+    return (sqlite3_exec(mDatabaseHandle, sql, NULL, NULL, NULL) == 0);
+}
+
+int SqliteDatabase::lastInsertedRow() {
+    return sqlite3_last_insert_rowid(mDatabaseHandle);
+}
+
+void SqliteDatabase::beginTransaction() {
+    exec("BEGIN TRANSACTION");
+}
+
+void SqliteDatabase::commitTransaction() {
+    exec("COMMIT TRANSACTION");
+}
+
+void SqliteDatabase::rollbackTransaction() {
+    exec("ROLLBACK TRANSACTION");
+}
+
+int SqliteDatabase::getVersion() {
+    SqliteStatement stmt(this);
+    stmt.prepare("PRAGMA user_version;");
+    stmt.step();
+    return stmt.getColumnInt(0);
+}
+void SqliteDatabase::setVersion(int version) {
+    char    buffer[40];
+    snprintf(buffer, sizeof(buffer), "PRAGMA user_version = %d", version);
+    exec(buffer);
+}
diff --git a/media/mtp/SqliteDatabase.h b/media/mtp/SqliteDatabase.h
new file mode 100644
index 0000000..841b2b7
--- /dev/null
+++ b/media/mtp/SqliteDatabase.h
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _SQLITE_DATABASE_H
+#define _SQLITE_DATABASE_H
+
+typedef struct sqlite3 sqlite3;
+
+class SqliteDatabase {
+private:
+    sqlite3*        mDatabaseHandle;
+
+public:
+                    SqliteDatabase();
+    virtual         ~SqliteDatabase();
+
+    virtual bool    open(const char* path, bool create);
+    virtual void    close();
+
+    bool            exec(const char* sql);
+    int             lastInsertedRow();
+
+    void            beginTransaction();
+    void            commitTransaction();
+    void            rollbackTransaction();
+
+    int             getVersion();
+    void            setVersion(int version);
+
+    inline sqlite3* getDatabaseHandle() const { return mDatabaseHandle; }
+
+};
+
+#endif // _SQLITE_DATABASE_H
diff --git a/media/mtp/SqliteStatement.cpp b/media/mtp/SqliteStatement.cpp
new file mode 100644
index 0000000..e568928
--- /dev/null
+++ b/media/mtp/SqliteStatement.cpp
@@ -0,0 +1,77 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "SqliteStatement.h"
+#include "SqliteDatabase.h"
+
+#include <stdio.h>
+#include <sqlite3.h>
+
+SqliteStatement::SqliteStatement(SqliteDatabase* db)
+    :   mDatabaseHandle(db->getDatabaseHandle()),
+        mStatement(NULL),
+        mDone(false)
+{
+}
+
+SqliteStatement::~SqliteStatement() {
+    finalize();
+}
+
+bool SqliteStatement::prepare(const char* sql) {
+    return (sqlite3_prepare_v2(mDatabaseHandle, sql, -1, &mStatement, NULL) == 0);
+}
+
+bool SqliteStatement::step() {
+    int ret = sqlite3_step(mStatement);
+    if (ret == SQLITE_DONE) {
+        mDone = true;
+        return true;
+    }
+    return (ret == SQLITE_OK || ret == SQLITE_ROW);
+}
+
+void SqliteStatement::reset() {
+    sqlite3_reset(mStatement);
+    mDone = false;
+}
+
+void SqliteStatement::finalize() {
+    if (mStatement) {
+        sqlite3_finalize(mStatement);
+        mStatement = NULL;
+    }
+}
+
+void SqliteStatement::bind(int column, int value) {
+    sqlite3_bind_int(mStatement, column, value);
+}
+
+void SqliteStatement::bind(int column, const char* value) {
+    sqlite3_bind_text(mStatement, column, value, -1, SQLITE_TRANSIENT);
+}
+
+int SqliteStatement::getColumnInt(int column) {
+    return sqlite3_column_int(mStatement, column);
+}
+
+int64_t SqliteStatement::getColumnInt64(int column) {
+    return sqlite3_column_int64(mStatement, column);
+}
+
+const char* SqliteStatement::getColumnString(int column) {
+    return (const char *)sqlite3_column_text(mStatement, column);
+}
diff --git a/media/mtp/SqliteStatement.h b/media/mtp/SqliteStatement.h
new file mode 100644
index 0000000..0fd8a1e
--- /dev/null
+++ b/media/mtp/SqliteStatement.h
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _SQLITE_STATEMENT_H
+#define _SQLITE_STATEMENT_H
+
+typedef struct sqlite3 sqlite3;
+typedef struct sqlite3_stmt sqlite3_stmt;
+class SqliteDatabase;
+
+#include <stdint.h>
+
+class SqliteStatement {
+private:
+    sqlite3*        mDatabaseHandle;
+    sqlite3_stmt*   mStatement;
+    bool            mDone;
+
+public:
+                    SqliteStatement(SqliteDatabase* db);
+    virtual         ~SqliteStatement();
+
+    bool            prepare(const char* sql);
+    bool            step();
+    void            reset();
+    void            finalize();
+
+    void            bind(int column, int value);
+    void            bind(int column, const char* value);
+
+    int             getColumnInt(int column);
+    int64_t         getColumnInt64(int column);
+    const char*     getColumnString(int column);
+
+    inline bool     isDone() const { return mDone; }
+};
+
+#endif // _SQLITE_STATEMENT_H
diff --git a/media/mtp/f_mtp.h b/media/mtp/f_mtp.h
new file mode 100644
index 0000000..7307d74
--- /dev/null
+++ b/media/mtp/f_mtp.h
@@ -0,0 +1,39 @@
+/*
+ * Gadget Function Driver for MTP
+ *
+ * Copyright (C) 2010 Google, Inc.
+ * Author: Mike Lockwood <lockwood@android.com>
+ *
+ * This software is licensed under the terms of the GNU General Public
+ * License version 2, as published by the Free Software Foundation, and
+ * may be copied, distributed, and modified under those terms.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ */
+
+#ifndef __LINUX_USB_F_MTP_H
+#define __LINUX_USB_F_MTP_H
+
+struct mtp_file_range {
+	/* path for file to transfer */
+	const char	*path;
+	/* strlen(path) */
+	int			path_length;
+	/* offset in file for start of transfer */
+	loff_t  	offset;
+	/* number of bytes to transfer */
+	size_t		length;
+};
+
+/* Sends the specified file range to the host */
+#define MTP_SEND_FILE              _IOW('M', 0, struct mtp_file_range)
+/* Receives data from the host and writes it to a file.
+ * The file is created if it does not exist.
+ */
+#define MTP_RECEIVE_FILE           _IOW('M', 1, struct mtp_file_range)
+
+#endif /* __LINUX_USB_F_MTP_H */
diff --git a/media/mtp/mtp.h b/media/mtp/mtp.h
new file mode 100644
index 0000000..27abaa7
--- /dev/null
+++ b/media/mtp/mtp.h
@@ -0,0 +1,492 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _MTP_H
+#define _MTP_H
+
+#include <stdint.h>
+
+typedef uint16_t MtpOperationCode;
+typedef uint16_t MtpResponseCode;
+typedef uint32_t MtpSessionID;
+typedef uint32_t MtpStorageID;
+typedef uint32_t MtpTransactionID;
+typedef uint16_t MtpObjectFormat;
+typedef uint16_t MtpObjectProperty;
+
+// object handles are unique across all storage but only within a single session.
+// object handles cannot be reused after an object is deleted.
+// values 0x00000000 and 0xFFFFFFFF are reserved for special purposes.
+typedef uint32_t MtpObjectHandle;
+
+#define kInvalidObjectHandle 0xFFFFFFFF
+
+#define MTP_STANDARD_VERSION            100
+
+// Container Types
+#define MTP_CONTAINER_TYPE_UNDEFINED    0
+#define MTP_CONTAINER_TYPE_COMMAND      1
+#define MTP_CONTAINER_TYPE_DATA         2
+#define MTP_CONTAINER_TYPE_RESPONSE     3
+#define MTP_CONTAINER_TYPE_EVENT        4
+
+// Container Offsets
+#define MTP_CONTAINER_LENGTH_OFFSET             0
+#define MTP_CONTAINER_TYPE_OFFSET               4
+#define MTP_CONTAINER_CODE_OFFSET               6
+#define MTP_CONTAINER_TRANSACTION_ID_OFFSET     8
+#define MTP_CONTAINER_PARAMETER_OFFSET          12
+#define MTP_CONTAINER_HEADER_SIZE               12
+
+// Special values
+#define MTP_PARENT_ROOT         0xFFFFFFFF       // parent is root of the storage
+
+// MTP Types
+#define MTP_TYPE_UNDEFINED      0x0000          // Undefined
+#define MTP_TYPE_INT8           0x0001          // Signed 8-bit integer
+#define MTP_TYPE_UINT8          0x0002          // Unsigned 8-bit integer
+#define MTP_TYPE_INT16          0x0003          // Signed 16-bit integer
+#define MTP_TYPE_UINT16         0x0004          // Unsigned 16-bit integer
+#define MTP_TYPE_INT32          0x0005          // Signed 32-bit integer
+#define MTP_TYPE_UINT32         0x0006          // Unsigned 32-bit integer
+#define MTP_TYPE_INT64          0x0007          // Signed 64-bit integer
+#define MTP_TYPE_UINT64         0x0008          // Unsigned 64-bit integer
+#define MTP_TYPE_INT128         0x0009          // Signed 128-bit integer
+#define MTP_TYPE_UINT128        0x000A          // Unsigned 128-bit integer
+#define MTP_TYPE_AINT8          0x4001          // Array of signed 8-bit integers
+#define MTP_TYPE_AUINT8         0x4002          // Array of unsigned 8-bit integers
+#define MTP_TYPE_AINT16         0x4003          // Array of signed 16-bit integers
+#define MTP_TYPE_AUINT16        0x4004          // Array of unsigned 16-bit integers
+#define MTP_TYPE_AINT32         0x4005          // Array of signed 32-bit integers
+#define MTP_TYPE_AUINT32        0x4006          // Array of unsigned 32-bit integers
+#define MTP_TYPE_AINT64         0x4007          // Array of signed 64-bit integers
+#define MTP_TYPE_AUINT64        0x4008          // Array of unsigned 64-bit integers
+#define MTP_TYPE_AINT128        0x4009          // Array of signed 128-bit integers
+#define MTP_TYPE_AUINT128       0x400A          // Array of unsigned 128-bit integers
+#define MTP_TYPE_STR            0xFFFF          // Variable-length Unicode string
+
+// MTP Format Codes
+#define MTP_FORMAT_UNDEFINED                            0x3000   // Undefined object
+#define MTP_FORMAT_ASSOCIATION                          0x3001   // Association (for example, a folder)
+#define MTP_FORMAT_SCRIPT                               0x3002   // Device model-specific script
+#define MTP_FORMAT_EXECUTABLE                           0x3003   // Device model-specific binary executable
+#define MTP_FORMAT_TEXT                                 0x3004   // Text file
+#define MTP_FORMAT_HTML                                 0x3005   // Hypertext Markup Language file (text)
+#define MTP_FORMAT_DPOF                                 0x3006   // Digital Print Order Format file (text)
+#define MTP_FORMAT_AIFF                                 0x3007   // Audio clip
+#define MTP_FORMAT_WAV                                  0x3008   // Audio clip
+#define MTP_FORMAT_MP3                                  0x3009   // Audio clip
+#define MTP_FORMAT_AVI                                  0x300A   // Video clip
+#define MTP_FORMAT_MPEG                                 0x300B   // Video clip
+#define MTP_FORMAT_ASF                                  0x300C   // Microsoft Advanced Streaming Format (video)
+#define MTP_FORMAT_DEFINED                              0x3800   // Unknown image object
+#define MTP_FORMAT_EXIF_JPEG                            0x3801   // Exchangeable File Format, JEIDA standard
+#define MTP_FORMAT_TIFF_EP                              0x3802   // Tag Image File Format for Electronic Photography
+#define MTP_FORMAT_FLASHPIX                             0x3803   // Structured Storage Image Format
+#define MTP_FORMAT_BMP                                  0x3804   // Microsoft Windows Bitmap file
+#define MTP_FORMAT_CIFF                                 0x3805   // Canon Camera Image File Format
+#define MTP_FORMAT_GIF                                  0x3807   // Graphics Interchange Format
+#define MTP_FORMAT_JFIF                                 0x3808   // JPEG File Interchange Format
+#define MTP_FORMAT_CD                                   0x3809   // PhotoCD Image Pac
+#define MTP_FORMAT_PICT                                 0x380A   // Quickdraw Image Format
+#define MTP_FORMAT_PNG                                  0x380B   // Portable Network Graphics
+#define MTP_FORMAT_TIFF                                 0x380D   // Tag Image File Format
+#define MTP_FORMAT_TIFF_IT                              0x380E   // Tag Image File Format for Information Technology (graphic arts)
+#define MTP_FORMAT_JP2                                  0x380F   // JPEG2000 Baseline File Format
+#define MTP_FORMAT_JPX                                  0x3810   // JPEG2000 Extended File Format
+#define MTP_FORMAT_UNDEFINED_FIRMWARE                   0xB802
+#define MTP_FORMAT_WINDOWS_IMAGE_FORMAT                 0xB881
+#define MTP_FORMAT_UNDEFINED_AUDIO                      0xB900
+#define MTP_FORMAT_WMA                                  0xB901
+#define MTP_FORMAT_OGG                                  0xB902
+#define MTP_FORMAT_AAC                                  0xB903
+#define MTP_FORMAT_AUDIBLE                              0xB904
+#define MTP_FORMAT_FLAC                                 0xB906
+#define MTP_FORMAT_UNDEFINED_VIDEO                      0xB980
+#define MTP_FORMAT_WMV                                  0xB981
+#define MTP_FORMAT_MP4_CONTAINER                        0xB982  // ISO 14496-1
+#define MTP_FORMAT_MP2                                  0xB983
+#define MTP_FORMAT_3GP_CONTAINER                        0xB984  // 3GPP file format. Details: http://www.3gpp.org/ftp/Specs/html-info/26244.htm (page title - \u201cTransparent end-to-end packet switched streaming service, 3GPP file format\u201d).
+#define MTP_FORMAT_UNDEFINED_COLLECTION                 0xBA00
+#define MTP_FORMAT_ABSTRACT_MULTIMEDIA_ALBUM            0xBA01
+#define MTP_FORMAT_ABSTRACT_IMAGE_ALBUM                 0xBA02
+#define MTP_FORMAT_ABSTRACT_AUDIO_ALBUM                 0xBA03
+#define MTP_FORMAT_ABSTRACT_VIDEO_ALBUM                 0xBA04
+#define MTP_FORMAT_ABSTRACT_AV_PLAYLIST                 0xBA05
+#define MTP_FORMAT_ABSTRACT_CONTACT_GROUP               0xBA06
+#define MTP_FORMAT_ABSTRACT_MESSAGE_FOLDER              0xBA07
+#define MTP_FORMAT_ABSTRACT_CHAPTERED_PRODUCTION        0xBA08
+#define MTP_FORMAT_ABSTRACT_AUDIO_PLAYLIST              0xBA09
+#define MTP_FORMAT_ABSTRACT_VIDEO_PLAYLIST              0xBA0A
+#define MTP_FORMAT_ABSTRACT_MEDIACAST                   0xBA0B // For use with mediacasts; references multimedia enclosures of RSS feeds or episodic content
+#define MTP_FORMAT_WPL_PLAYLIST                         0xBA10
+#define MTP_FORMAT_M3U_PLAYLIST                         0xBA11
+#define MTP_FORMAT_MPL_PLAYLIST                         0xBA12
+#define MTP_FORMAT_ASX_PLAYLIST                         0xBA13
+#define MTP_FORMAT_PLS_PLAYLIST                         0xBA14
+#define MTP_FORMAT_UNDEFINED_DOCUMENT                   0xBA80
+#define MTP_FORMAT_ABSTRACT_DOCUMENT                    0xBA81
+#define MTP_FORMAT_XML_DOCUMENT                         0xBA82
+#define MTP_FORMAT_MS_WORD_DOCUMENT                     0xBA83
+#define MTP_FORMAT_MHT_COMPILED_HTML_DOCUMENT           0xBA84
+#define MTP_FORMAT_MS_EXCEL_SPREADSHEET                 0xBA85
+#define MTP_FORMAT_MS_POWERPOINT_PRESENTATION           0xBA86
+#define MTP_FORMAT_UNDEFINED_MESSAGE                    0xBB00
+#define MTP_FORMAT_ABSTRACT_MESSSAGE                    0xBB01
+#define MTP_FORMAT_UNDEFINED_CONTACT                    0xBB80
+#define MTP_FORMAT_ABSTRACT_CONTACT                     0xBB81
+#define MTP_FORMAT_VCARD_2                              0xBB82
+
+// MTP Object Property Codes
+#define MTP_PROPERTY_STORAGE_ID                             0xDC01
+#define MTP_PROPERTY_OBJECT_FORMAT                          0xDC02
+#define MTP_PROPERTY_PROTECTION_STATUS                      0xDC03
+#define MTP_PROPERTY_OBJECT_SIZE                            0xDC04
+#define MTP_PROPERTY_ASSOCIATION_TYPE                       0xDC05
+#define MTP_PROPERTY_ASSOCIATION_DESC                       0xDC06
+#define MTP_PROPERTY_OBJECT_FILE_NAME                       0xDC07
+#define MTP_PROPERTY_DATE_CREATED                           0xDC08
+#define MTP_PROPERTY_DATE_MODIFIED                          0xDC09
+#define MTP_PROPERTY_KEYWORDS                               0xDC0A
+#define MTP_PROPERTY_PARENT_OBJECT                          0xDC0B
+#define MTP_PROPERTY_ALLOWED_FOLDER_CONTENTS                0xDC0C
+#define MTP_PROPERTY_HIDDEN                                 0xDC0D
+#define MTP_PROPERTY_SYSTEM_OBJECT                          0xDC0E
+#define MTP_PROPERTY_PERSISTENT_UID                         0xDC41
+#define MTP_PROPERTY_SYNC_ID                                0xDC42
+#define MTP_PROPERTY_PROPERTY_BAG                           0xDC43
+#define MTP_PROPERTY_NAME                                   0xDC44
+#define MTP_PROPERTY_CREATED_BY                             0xDC45
+#define MTP_PROPERTY_ARTIST                                 0xDC46
+#define MTP_PROPERTY_DATE_AUTHORED                          0xDC47
+#define MTP_PROPERTY_DESCRIPTION                            0xDC48
+#define MTP_PROPERTY_URL_REFERENCE                          0xDC49
+#define MTP_PROPERTY_LANGUAGE_LOCALE                        0xDC4A
+#define MTP_PROPERTY_COPYRIGHT_INFORMATION                  0xDC4B
+#define MTP_PROPERTY_SOURCE                                 0xDC4C
+#define MTP_PROPERTY_ORIGIN_LOCATION                        0xDC4D
+#define MTP_PROPERTY_DATE_ADDED                             0xDC4E
+#define MTP_PROPERTY_NON_CONSUMABLE                         0xDC4F
+#define MTP_PROPERTY_CORRUPT_UNPLAYABLE                     0xDC50
+#define MTP_PROPERTY_PRODUCER_SERIAL_NUMBER                 0xDC51
+#define MTP_PROPERTY_REPRESENTATIVE_SAMPLE_FORMAT           0xDC81
+#define MTP_PROPERTY_REPRESENTATIVE_SAMPLE_SIZE             0xDC82
+#define MTP_PROPERTY_REPRESENTATIVE_SAMPLE_HEIGHT           0xDC83
+#define MTP_PROPERTY_REPRESENTATIVE_SAMPLE_WIDTH            0xDC84
+#define MTP_PROPERTY_REPRESENTATIVE_SAMPLE_DURATION         0xDC85
+#define MTP_PROPERTY_REPRESENTATIVE_SAMPLE_DATA             0xDC86
+#define MTP_PROPERTY_WIDTH                                  0xDC87
+#define MTP_PROPERTY_HEIGHT                                 0xDC88
+#define MTP_PROPERTY_DURATION                               0xDC89
+#define MTP_PROPERTY_RATING                                 0xDC8A
+#define MTP_PROPERTY_TRACK                                  0xDC8B
+#define MTP_PROPERTY_GENRE                                  0xDC8C
+#define MTP_PROPERTY_CREDITS                                0xDC8D
+#define MTP_PROPERTY_LYRICS                                 0xDC8E
+#define MTP_PROPERTY_SUBSCRIPTION_CONTENT_ID                0xDC8F
+#define MTP_PROPERTY_PRODUCED_BY                            0xDC90
+#define MTP_PROPERTY_USE_COUNT                              0xDC91
+#define MTP_PROPERTY_SKIP_COUNT                             0xDC92
+#define MTP_PROPERTY_LAST_ACCESSED                          0xDC93
+#define MTP_PROPERTY_PARENTAL_RATING                        0xDC94
+#define MTP_PROPERTY_META_GENRE                             0xDC95
+#define MTP_PROPERTY_COMPOSER                               0xDC96
+#define MTP_PROPERTY_EFFECTIVE_RATING                       0xDC97
+#define MTP_PROPERTY_SUBTITLE                               0xDC98
+#define MTP_PROPERTY_ORIGINAL_RELEASE_DATE                  0xDC99
+#define MTP_PROPERTY_ALBUM_NAME                             0xDC9A
+#define MTP_PROPERTY_ALBUM_ARTIST                           0xDC9B
+#define MTP_PROPERTY_MOOD                                   0xDC9C
+#define MTP_PROPERTY_DRM_STATUS                             0xDC9D
+#define MTP_PROPERTY_SUB_DESCRIPTION                        0xDC9E
+#define MTP_PROPERTY_IS_CROPPED                             0xDCD1
+#define MTP_PROPERTY_IS_COLOUR_CORRECTED                    0xDCD2
+#define MTP_PROPERTY_IMAGE_BIT_DEPTH                        0xDCD3
+#define MTP_PROPERTY_F_NUMBER                               0xDCD4
+#define MTP_PROPERTY_EXPOSURE_TIME                          0xDCD5
+#define MTP_PROPERTY_EXPOSURE_INDEX                         0xDCD6
+#define MTP_PROPERTY_TOTAL_BITRATE                          0xDE91
+#define MTP_PROPERTY_BITRATE_TYPE                           0xDE92
+#define MTP_PROPERTY_SAMPLE_RATE                            0xDE93
+#define MTP_PROPERTY_NUMBER_OF_CHANNELS                     0xDE94
+#define MTP_PROPERTY_AUDIO_BIT_DEPTH                        0xDE95
+#define MTP_PROPERTY_SCAN_TYPE                              0xDE97
+#define MTP_PROPERTY_AUDIO_WAVE_CODEC                       0xDE99
+#define MTP_PROPERTY_AUDIO_BITRATE                          0xDE9A
+#define MTP_PROPERTY_VIDEO_FOURCC_CODEC                     0xDE9B
+#define MTP_PROPERTY_VIDEO_BITRATE                          0xDE9C
+#define MTP_PROPERTY_FRAMES_PER_THOUSAND_SECONDS            0xDE9D
+#define MTP_PROPERTY_KEYFRAME_DISTANCE                      0xDE9E
+#define MTP_PROPERTY_BUFFER_SIZE                            0xDE9F
+#define MTP_PROPERTY_ENCODING_QUALITY                       0xDEA0
+#define MTP_PROPERTY_ENCODING_PROFILE                       0xDEA1
+#define MTP_PROPERTY_DISPLAY_NAME                           0xDCE0
+#define MTP_PROPERTY_BODY_TEXT                              0xDCE1
+#define MTP_PROPERTY_SUBJECT                                0xDCE2
+#define MTP_PROPERTY_PRIORITY                               0xDCE3
+#define MTP_PROPERTY_GIVEN_NAME                             0xDD00
+#define MTP_PROPERTY_MIDDLE_NAMES                           0xDD01
+#define MTP_PROPERTY_FAMILY_NAME                            0xDD02
+#define MTP_PROPERTY_PREFIX                                 0xDD03
+#define MTP_PROPERTY_SUFFIX                                 0xDD04
+#define MTP_PROPERTY_PHONETIC_GIVEN_NAME                    0xDD05
+#define MTP_PROPERTY_PHONETIC_FAMILY_NAME                   0xDD06
+#define MTP_PROPERTY_EMAIL_PRIMARY                          0xDD07
+#define MTP_PROPERTY_EMAIL_PERSONAL_1                       0xDD08
+#define MTP_PROPERTY_EMAIL_PERSONAL_2                       0xDD09
+#define MTP_PROPERTY_EMAIL_BUSINESS_1                       0xDD0A
+#define MTP_PROPERTY_EMAIL_BUSINESS_2                       0xDD0B
+#define MTP_PROPERTY_EMAIL_OTHERS                           0xDD0C
+#define MTP_PROPERTY_PHONE_NUMBER_PRIMARY                   0xDD0D
+#define MTP_PROPERTY_PHONE_NUMBER_PERSONAL                  0xDD0E
+#define MTP_PROPERTY_PHONE_NUMBER_PERSONAL_2                0xDD0F
+#define MTP_PROPERTY_PHONE_NUMBER_BUSINESS                  0xDD10
+#define MTP_PROPERTY_PHONE_NUMBER_BUSINESS_2                0xDD11
+#define MTP_PROPERTY_PHONE_NUMBER_MOBILE                    0xDD12
+#define MTP_PROPERTY_PHONE_NUMBER_MOBILE_2                  0xDD13
+#define MTP_PROPERTY_FAX_NUMBER_PRIMARY                     0xDD14
+#define MTP_PROPERTY_FAX_NUMBER_PERSONAL                    0xDD15
+#define MTP_PROPERTY_FAX_NUMBER_BUSINESS                    0xDD16
+#define MTP_PROPERTY_PAGER_NUMBER                           0xDD17
+#define MTP_PROPERTY_PHONE_NUMBER_OTHERS                    0xDD18
+#define MTP_PROPERTY_PRIMARY_WEB_ADDRESS                    0xDD19
+#define MTP_PROPERTY_PERSONAL_WEB_ADDRESS                   0xDD1A
+#define MTP_PROPERTY_BUSINESS_WEB_ADDRESS                   0xDD1B
+#define MTP_PROPERTY_INSTANT_MESSANGER_ADDRESS              0xDD1C
+#define MTP_PROPERTY_INSTANT_MESSANGER_ADDRESS_2            0xDD1D
+#define MTP_PROPERTY_INSTANT_MESSANGER_ADDRESS_3            0xDD1E
+#define MTP_PROPERTY_POSTAL_ADDRESS_PERSONAL_FULL           0xDD1F
+#define MTP_PROPERTY_POSTAL_ADDRESS_PERSONAL_LINE_1         0xDD20
+#define MTP_PROPERTY_POSTAL_ADDRESS_PERSONAL_LINE_2         0xDD21
+#define MTP_PROPERTY_POSTAL_ADDRESS_PERSONAL_CITY           0xDD22
+#define MTP_PROPERTY_POSTAL_ADDRESS_PERSONAL_REGION         0xDD23
+#define MTP_PROPERTY_POSTAL_ADDRESS_PERSONAL_POSTAL_CODE    0xDD24
+#define MTP_PROPERTY_POSTAL_ADDRESS_PERSONAL_COUNTRY        0xDD25
+#define MTP_PROPERTY_POSTAL_ADDRESS_BUSINESS_FULL           0xDD26
+#define MTP_PROPERTY_POSTAL_ADDRESS_BUSINESS_LINE_1         0xDD27
+#define MTP_PROPERTY_POSTAL_ADDRESS_BUSINESS_LINE_2         0xDD28
+#define MTP_PROPERTY_POSTAL_ADDRESS_BUSINESS_CITY           0xDD29
+#define MTP_PROPERTY_POSTAL_ADDRESS_BUSINESS_REGION         0xDD2A
+#define MTP_PROPERTY_POSTAL_ADDRESS_BUSINESS_POSTAL_CODE    0xDD2B
+#define MTP_PROPERTY_POSTAL_ADDRESS_BUSINESS_COUNTRY        0xDD2C
+#define MTP_PROPERTY_POSTAL_ADDRESS_OTHER_FULL              0xDD2D
+#define MTP_PROPERTY_POSTAL_ADDRESS_OTHER_LINE_1            0xDD2E
+#define MTP_PROPERTY_POSTAL_ADDRESS_OTHER_LINE_2            0xDD2F
+#define MTP_PROPERTY_POSTAL_ADDRESS_OTHER_CITY              0xDD30
+#define MTP_PROPERTY_POSTAL_ADDRESS_OTHER_REGION            0xDD31
+#define MTP_PROPERTY_POSTAL_ADDRESS_OTHER_POSTAL_CODE       0xDD32
+#define MTP_PROPERTY_POSTAL_ADDRESS_OTHER_COUNTRY           0xDD33
+#define MTP_PROPERTY_ORGANIZATION_NAME                      0xDD34
+#define MTP_PROPERTY_PHONETIC_ORGANIZATION_NAME             0xDD35
+#define MTP_PROPERTY_ROLE                                   0xDD36
+#define MTP_PROPERTY_BIRTHDATE                              0xDD37
+#define MTP_PROPERTY_MESSAGE_TO                             0xDD40
+#define MTP_PROPERTY_MESSAGE_CC                             0xDD41
+#define MTP_PROPERTY_MESSAGE_BCC                            0xDD42
+#define MTP_PROPERTY_MESSAGE_READ                           0xDD43
+#define MTP_PROPERTY_MESSAGE_RECEIVED_TIME                  0xDD44
+#define MTP_PROPERTY_MESSAGE_SENDER                         0xDD45
+#define MTP_PROPERTY_ACTIVITY_BEGIN_TIME                    0xDD50
+#define MTP_PROPERTY_ACTIVITY_END_TIME                      0xDD51
+#define MTP_PROPERTY_ACTIVITY_LOCATION                      0xDD52
+#define MTP_PROPERTY_ACTIVITY_REQUIRED_ATTENDEES            0xDD54
+#define MTP_PROPERTY_ACTIVITY_OPTIONAL_ATTENDEES            0xDD55
+#define MTP_PROPERTY_ACTIVITY_RESOURCES                     0xDD56
+#define MTP_PROPERTY_ACTIVITY_ACCEPTED                      0xDD57
+#define MTP_PROPERTY_ACTIVITY_TENTATIVE                     0xDD58
+#define MTP_PROPERTY_ACTIVITY_DECLINED                      0xDD59
+#define MTP_PROPERTY_ACTIVITY_REMAINDER_TIME                0xDD5A
+#define MTP_PROPERTY_ACTIVITY_OWNER                         0xDD5B
+#define MTP_PROPERTY_ACTIVITY_STATUS                        0xDD5C
+#define MTP_PROPERTY_OWNER                                  0xDD5D
+#define MTP_PROPERTY_EDITOR                                 0xDD5E
+#define MTP_PROPERTY_WEBMASTER                              0xDD5F
+#define MTP_PROPERTY_URL_SOURCE                             0xDD60
+#define MTP_PROPERTY_URL_DESTINATION                        0xDD61
+#define MTP_PROPERTY_TIME_BOOKMARK                          0xDD62
+#define MTP_PROPERTY_OBJECT_BOOKMARK                        0xDD63
+#define MTP_PROPERTY_BYTE_BOOKMARK                          0xDD64
+#define MTP_PROPERTY_LAST_BUILD_DATE                        0xDD70
+#define MTP_PROPERTY_TIME_TO_LIVE                           0xDD71
+#define MTP_PROPERTY_MEDIA_GUID                             0xDD72
+
+// MTP Device Property Codes
+#define MTP_DEVICE_PROPERTY_UNDEFINED                       0x5000
+#define MTP_DEVICE_PROPERTY_BATTERY_LEVEL                   0x5001
+#define MTP_DEVICE_PROPERTY_FUNCTIONAL_MODE                 0x5002
+#define MTP_DEVICE_PROPERTY_IMAGE_SIZE                      0x5003
+#define MTP_DEVICE_PROPERTY_COMPRESSION_SETTING             0x5004
+#define MTP_DEVICE_PROPERTY_WHITE_BALANCE                   0x5005
+#define MTP_DEVICE_PROPERTY_RGB_GAIN                        0x5006
+#define MTP_DEVICE_PROPERTY_F_NUMBER                        0x5007
+#define MTP_DEVICE_PROPERTY_FOCAL_LENGTH                    0x5008
+#define MTP_DEVICE_PROPERTY_FOCUS_DISTANCE                  0x5009
+#define MTP_DEVICE_PROPERTY_FOCUS_MODE                      0x500A
+#define MTP_DEVICE_PROPERTY_EXPOSURE_METERING_MODE          0x500B
+#define MTP_DEVICE_PROPERTY_FLASH_MODE                      0x500C
+#define MTP_DEVICE_PROPERTY_EXPOSURE_TIME                   0x500D
+#define MTP_DEVICE_PROPERTY_EXPOSURE_PROGRAM_MODE           0x500E
+#define MTP_DEVICE_PROPERTY_EXPOSURE_INDEX                  0x500F
+#define MTP_DEVICE_PROPERTY_EXPOSURE_BIAS_COMPENSATION      0x5010
+#define MTP_DEVICE_PROPERTY_DATETIME                        0x5011
+#define MTP_DEVICE_PROPERTY_CAPTURE_DELAY                   0x5012
+#define MTP_DEVICE_PROPERTY_STILL_CAPTURE_MODE              0x5013
+#define MTP_DEVICE_PROPERTY_CONTRAST                        0x5014
+#define MTP_DEVICE_PROPERTY_SHARPNESS                       0x5015
+#define MTP_DEVICE_PROPERTY_DIGITAL_ZOOM                    0x5016
+#define MTP_DEVICE_PROPERTY_EFFECT_MODE                     0x5017
+#define MTP_DEVICE_PROPERTY_BURST_NUMBER                    0x5018
+#define MTP_DEVICE_PROPERTY_BURST_INTERVAL                  0x5019
+#define MTP_DEVICE_PROPERTY_TIMELAPSE_NUMBER                0x501A
+#define MTP_DEVICE_PROPERTY_TIMELAPSE_INTERVAL              0x501B
+#define MTP_DEVICE_PROPERTY_FOCUS_METERING_MODE             0x501C
+#define MTP_DEVICE_PROPERTY_UPLOAD_URL                      0x501D
+#define MTP_DEVICE_PROPERTY_ARTIST                          0x501E
+#define MTP_DEVICE_PROPERTY_COPYRIGHT_INFO                  0x501F
+#define MTP_DEVICE_PROPERTY_SYNCHRONIZATION_PARTNER         0xD401
+#define MTP_DEVICE_PROPERTY_DEVICE_FRIENDLY_NAME            0xD402
+#define MTP_DEVICE_PROPERTY_VOLUME                          0xD403
+#define MTP_DEVICE_PROPERTY_SUPPORTED_FORMATS_ORDERED       0xD404
+#define MTP_DEVICE_PROPERTY_DEVICE_ICON                     0xD405
+#define MTP_DEVICE_PROPERTY_PLAYBACK_RATE                   0xD410
+#define MTP_DEVICE_PROPERTY_PLAYBACK_OBJECT                 0xD411
+#define MTP_DEVICE_PROPERTY_PLAYBACK_CONTAINER_INDEX        0xD412
+#define MTP_DEVICE_PROPERTY_SESSION_INITIATOR_VERSION_INFO  0xD406
+#define MTP_DEVICE_PROPERTY_PERCEIVED_DEVICE_TYPE           0xD407
+
+// MTP Operation Codes
+#define MTP_OPERATION_GET_DEVICE_INFO                       0x1001
+#define MTP_OPERATION_OPEN_SESSION                          0x1002
+#define MTP_OPERATION_CLOSE_SESSION                         0x1003
+#define MTP_OPERATION_GET_STORAGE_IDS                       0x1004
+#define MTP_OPERATION_GET_STORAGE_INFO                      0x1005
+#define MTP_OPERATION_GET_NUM_OBJECTS                       0x1006
+#define MTP_OPERATION_GET_OBJECT_HANDLES                    0x1007
+#define MTP_OPERATION_GET_OBJECT_INFO                       0x1008
+#define MTP_OPERATION_GET_OBJECT                            0x1009
+#define MTP_OPERATION_GET_THUMB                             0x100A
+#define MTP_OPERATION_DELETE_OBJECT                         0x100B
+#define MTP_OPERATION_SEND_OBJECT_INFO                      0x100C
+#define MTP_OPERATION_SEND_OBJECT                           0x100D
+#define MTP_OPERATION_INITIATE_CAPTURE                      0x100E
+#define MTP_OPERATION_FORMAT_STORE                          0x100F
+#define MTP_OPERATION_RESET_DEVICE                          0x1010
+#define MTP_OPERATION_SELF_TEST                             0x1011
+#define MTP_OPERATION_SET_OBJECT_PROTECTION                 0x1012
+#define MTP_OPERATION_POWER_DOWN                            0x1013
+#define MTP_OPERATION_GET_DEVICE_PROP_DESC                  0x1014
+#define MTP_OPERATION_GET_DEVICE_PROP_VALUE                 0x1015
+#define MTP_OPERATION_SET_DEVICE_PROP_VALUE                 0x1016
+#define MTP_OPERATION_RESET_DEVICE_PROP_VALUE               0x1017
+#define MTP_OPERATION_TERMINATE_OPEN_CAPTURE                0x1018
+#define MTP_OPERATION_MOVE_OBJECT                           0x1019
+#define MTP_OPERATION_COPY_OBJECT                           0x101A
+#define MTP_OPERATION_GET_PARTIAL_OBJECT                    0x101B
+#define MTP_OPERATION_INITIATE_OPEN_CAPTURE                 0x101C
+#define MTP_OPERATION_GET_OBJECT_PROPS_SUPPORTED            0x9801
+#define MTP_OPERATION_GET_OBJECT_PROP_DESC                  0x9802
+#define MTP_OPERATION_GET_OBJECT_PROP_VALUE                 0x9803
+#define MTP_OPERATION_SET_OBJECT_PROP_VALUE                 0x9804
+#define MTP_OPERATION_GET_OBJECT_REFERENCES                 0x9810
+#define MTP_OPERATION_SET_OBJECT_REFERENCES                 0x9811
+#define MTP_OPERATION_SKIP                                  0x9820
+
+// MTP Response Codes
+#define MTP_RESPONSE_UNDEFINED                                  0x2000
+#define MTP_RESPONSE_OK                                         0x2001
+#define MTP_RESPONSE_GENERAL_ERROR                              0x2002
+#define MTP_RESPONSE_SESSION_NOT_OPEN                           0x2003
+#define MTP_RESPONSE_INVALID_TRANSACTION_ID                     0x2004
+#define MTP_RESPONSE_OPERATION_NOT_SUPPORTED                    0x2005
+#define MTP_RESPONSE_PARAMETER_NOT_SUPPORTED                    0x2006
+#define MTP_RESPONSE_INCOMPLETE_TRANSFER                        0x2007
+#define MTP_RESPONSE_INVALID_STORAGE_ID                         0x2008
+#define MTP_RESPONSE_INVALID_OBJECT_HANDLE                      0x2009
+#define MTP_RESPONSE_DEVICE_PROP_NOT_SUPPORTED                  0x200A
+#define MTP_RESPONSE_INVALID_OBJECT_FORMAT_CODE                 0x200B
+#define MTP_RESPONSE_STORAGE_FULL                               0x200C
+#define MTP_RESPONSE_OBJECT_WRITE_PROTECTED                     0x200D
+#define MTP_RESPONSE_STORE_READ_ONLY                            0x200E
+#define MTP_RESPONSE_ACCESS_DENIED                              0x200F
+#define MTP_RESPONSE_NO_THUMBNAIL_PRESENT                       0x2010
+#define MTP_RESPONSE_SELF_TEST_FAILED                           0x2011
+#define MTP_RESPONSE_PARTIAL_DELETION                           0x2012
+#define MTP_RESPONSE_STORE_NOT_AVAILABLE                        0x2013
+#define MTP_RESPONSE_SPECIFICATION_BY_FORMAT_UNSUPPORTED        0x2014
+#define MTP_RESPONSE_NO_VALID_OBJECT_INFO                       0x2015
+#define MTP_RESPONSE_INVALID_CODE_FORMAT                        0x2016
+#define MTP_RESPONSE_UNKNOWN_VENDOR_CODE                        0x2017
+#define MTP_RESPONSE_CAPTURE_ALREADY_TERMINATED                 0x2018
+#define MTP_RESPONSE_DEVICE_BUSY                                0x2019
+#define MTP_RESPONSE_INVALID_PARENT_OBJECT                      0x201A
+#define MTP_RESPONSE_INVALID_DEVICE_PROP_FORMAT                 0x201B
+#define MTP_RESPONSE_INVALID_DEVICE_PROP_VALUE                  0x201C
+#define MTP_RESPONSE_INVALID_PARAMETER                          0x201D
+#define MTP_RESPONSE_SESSION_ALREADY_OPEN                       0x201E
+#define MTP_RESPONSE_TRANSACTION_CANCELLED                      0x201F
+#define MTP_RESPONSE_SPECIFICATION_OF_DESTINATION_UNSUPPORTED   0x2020
+#define MTP_RESPONSE_INVALID_OBJECT_PROP_CODE                   0xA801
+#define MTP_RESPONSE_INVALID_OBJECT_PROP_FORMAT                 0xA802
+#define MTP_RESPONSE_INVALID_OBJECT_PROP_VALUE                  0xA803
+#define MTP_RESPONSE_INVALID_OBJECT_REFERENCE                   0xA804
+#define MTP_RESPONSE_GROUP_NOT_SUPPORTED                        0xA805
+#define MTP_RESPONSE_INVALID_DATASET                            0xA806
+#define MTP_RESPONSE_SPECIFICATION_BY_GROUP_UNSUPPORTED         0xA807
+#define MTP_RESPONSE_SPECIFICATION_BY_DEPTH_UNSUPPORTED         0xA808
+#define MTP_RESPONSE_OBJECT_TOO_LARGE                           0xA809
+#define MTP_RESPONSE_OBJECT_PROP_NOT_SUPPORTED                  0xA80A
+
+// MTP Event Codes
+#define MTP_EVENT_UNDEFINED                         0x4000
+#define MTP_EVENT_CANCEL_TRANSACTION                0x4001
+#define MTP_EVENT_OBJECT_ADDED                      0x4002
+#define MTP_EVENT_OBJECT_REMOVED                    0x4003
+#define MTP_EVENT_STORE_ADDED                       0x4004
+#define MTP_EVENT_STORE_REMOVED                     0x4005
+#define MTP_EVENT_DEVICE_PROP_CHANGED               0x4006
+#define MTP_EVENT_OBJECT_INFO_CHANGED               0x4007
+#define MTP_EVENT_DEVICE_INFO_CHANGED               0x4008
+#define MTP_EVENT_REQUEST_OBJECT_TRANSFER           0x4009
+#define MTP_EVENT_STORE_FULL                        0x400A
+#define MTP_EVENT_DEVICE_RESET                      0x400B
+#define MTP_EVENT_STORAGE_INFO_CHANGED              0x400C
+#define MTP_EVENT_CAPTURE_COMPLETE                  0x400D
+#define MTP_EVENT_UNREPORTED_STATUS                 0x400E
+#define MTP_EVENT_OBJECT_PROP_CHANGED               0xC801
+#define MTP_EVENT_OBJECT_PROP_DESC_CHANGED          0xC802
+#define MTP_EVENT_OBJECT_REFERENCES_CHANGED         0xC803
+
+// Storage Type
+#define MTP_STORAGE_FIXED_ROM                       0x0001
+#define MTP_STORAGE_REMOVABLE_ROM                   0x0002
+#define MTP_STORAGE_FIXED_RAM                       0x0003
+#define MTP_STORAGE_REMOVABLE_RAM                   0x0004
+
+// Storage File System
+#define MTP_STORAGE_FILESYSTEM_FLAT                 0x0001
+#define MTP_STORAGE_FILESYSTEM_HIERARCHICAL         0x0002
+#define MTP_STORAGE_FILESYSTEM_DCF                  0x0003
+
+// Storage Access Capability
+#define MTP_STORAGE_READ_WRITE                      0x0000
+#define MTP_STORAGE_READ_ONLY_WITHOUT_DELETE        0x0000
+#define MTP_STORAGE_READ_ONLY_WITH_DELETE           0x0000
+
+// Association Type
+#define MTP_ASSOCIATION_TYPE_UNDEFINED              0x0000
+#define MTP_ASSOCIATION_TYPE_GENERIC_FOLDER         0x0001
+
+#endif // _MTP_H
diff --git a/media/mtp/mtptest.cpp b/media/mtp/mtptest.cpp
new file mode 100644
index 0000000..8996458
--- /dev/null
+++ b/media/mtp/mtptest.cpp
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#define LOG_TAG "mtp_usb"
+#include "cutils/log.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <fcntl.h>
+
+#include "MtpServer.h"
+#include "MtpStorage.h"
+
+
+static void enable_usb_function(const char* name, bool enable) {
+    char    path[PATH_MAX];
+
+    snprintf(path, sizeof(path), "/sys/class/usb_composite/%s/enable", name);
+    int fd = open(path, O_RDWR);
+    if (fd < 0) {
+        fprintf(stderr, "could not open %s in enable_usb_function\n", path);
+        exit(1);
+    }
+    write(fd, enable ? "1" : "0", 2);
+    close(fd);
+}
+
+int main() {
+    // first disable UMS and enable MTP USB functions
+    enable_usb_function("usb_mass_storage", false);
+    enable_usb_function("mtp", true);
+
+    int fd = open("/dev/mtp_usb", O_RDWR);
+    printf("open returned %d\n", fd);
+    if (fd < 0) {
+        fprintf(stderr, "could not open MTP driver\n");
+        return -1;
+    }
+
+    MtpServer   server(fd, "/data/data/mtp/mtp.db");
+    server.addStorage("/sdcard");
+    server.scanStorage();
+    server.run();
+
+    close(fd);
+    return 0;
+}
+
diff --git a/media/mtp/ptptest.cpp b/media/mtp/ptptest.cpp
new file mode 100644
index 0000000..1218fa6e6
--- /dev/null
+++ b/media/mtp/ptptest.cpp
@@ -0,0 +1,134 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <unistd.h>
+#include <stdio.h>
+#include <string.h>
+
+#include <usbhost/usbhost.h>
+#include <linux/usb/ch9.h>
+
+#include "MtpClient.h"
+
+static struct usb_device *sCameraDevice = NULL;
+static int sCameraInterface = 0;
+static MtpClient *sClient = NULL;
+
+
+static void start_session(struct usb_endpoint *ep_in, struct usb_endpoint *ep_out,
+            struct usb_endpoint *ep_intr)
+{
+    if (sClient)
+        delete sClient;
+    sClient = new MtpClient(ep_in, ep_out, ep_intr);
+    sClient->openSession();
+    sClient->getDeviceInfo();
+}
+
+static void usb_device_added(const char *devname)
+{
+    struct usb_descriptor_header* desc;
+    struct usb_descriptor_iter iter;
+
+    struct usb_device *device = usb_device_open(devname);
+    if (!device) return;
+
+    usb_descriptor_iter_init(device, &iter);
+
+    while ((desc = usb_descriptor_iter_next(&iter)) != NULL) {
+        if (desc->bDescriptorType == USB_DT_INTERFACE) {
+            struct usb_interface_descriptor *interface = (struct usb_interface_descriptor *)desc;
+
+            if (interface->bInterfaceClass == USB_CLASS_STILL_IMAGE &&
+                interface->bInterfaceSubClass == 1 && // Still Image Capture
+                interface->bInterfaceProtocol == 1)     // Picture Transfer Protocol (PIMA 15470)
+            {
+                printf("Found camera: \"%s\" \"%s\"\n", usb_device_get_manufacturer_name(device),
+                        usb_device_get_product_name(device));
+
+                // interface should be followed by three endpoints
+                struct usb_endpoint_descriptor *ep, *ep_in_desc = NULL, *ep_out_desc = NULL, *ep_intr_desc = NULL;
+                for (int i = 0; i < 3; i++) {
+                    ep = (struct usb_endpoint_descriptor *)usb_descriptor_iter_next(&iter);
+                    if (!ep || ep->bDescriptorType != USB_DT_ENDPOINT) {
+                        fprintf(stderr, "endpoints not found\n");
+                        return;
+                    }
+                    if (ep->bmAttributes == USB_ENDPOINT_XFER_BULK) {
+                        if (ep->bEndpointAddress & USB_ENDPOINT_DIR_MASK)
+                            ep_in_desc = ep;
+                        else
+                            ep_out_desc = ep;
+                    } else if (ep->bmAttributes == USB_ENDPOINT_XFER_INT &&
+                        ep->bEndpointAddress & USB_ENDPOINT_DIR_MASK) {
+                        ep_intr_desc = ep;
+                    }
+                }
+                if (!ep_in_desc || !ep_out_desc || !ep_intr_desc) {
+                    fprintf(stderr, "endpoints not found\n");
+                    return;
+                }
+
+                struct usb_endpoint *ep_in = usb_endpoint_open(device, ep_in_desc);
+                struct usb_endpoint *ep_out = usb_endpoint_open(device, ep_out_desc);
+                struct usb_endpoint *ep_intr = usb_endpoint_open(device, ep_intr_desc);
+
+                if (usb_device_claim_interface(device, interface->bInterfaceNumber)) {
+                    fprintf(stderr, "usb_device_claim_interface failed\n");
+                    usb_endpoint_close(ep_in);
+                    usb_endpoint_close(ep_out);
+                    usb_endpoint_close(ep_intr);
+                    return;
+                }
+
+                if (sCameraDevice) {
+                    usb_device_release_interface(sCameraDevice, sCameraInterface);
+                    usb_device_close(sCameraDevice);
+                }
+                sCameraDevice = device;
+                start_session(ep_in, ep_out, ep_intr);
+            }
+        }
+    }
+
+    if (device != sCameraDevice)
+        usb_device_close(device);
+}
+
+static void usb_device_removed(const char *devname)
+{
+    if (sCameraDevice && !strcmp(devname, usb_device_get_name(sCameraDevice))) {
+        delete sClient;
+        printf("Camera removed!\n");
+        usb_device_release_interface(sCameraDevice, sCameraInterface);
+        usb_device_close(sCameraDevice);
+        sCameraDevice = NULL;
+    }
+}
+
+int main(int argc, char* argv[])
+{
+    if (usb_host_init(usb_device_added, usb_device_removed)) {
+        fprintf(stderr, "usb_host_init failed\n");
+        return -1;
+    }
+
+    while (1) {
+        sleep(1);
+    }
+
+    return 0;
+}
\ No newline at end of file
diff --git a/opengl/libagl/Android.mk b/opengl/libagl/Android.mk
index 6cb146c..8abd649 100644
--- a/opengl/libagl/Android.mk
+++ b/opengl/libagl/Android.mk
@@ -37,6 +37,10 @@
 	LOCAL_CFLAGS += -fstrict-aliasing
 endif
 
+ifeq ($(ARCH_ARM_HAVE_TLS_REGISTER),true)
+    LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER
+endif
+
 ifneq ($(TARGET_SIMULATOR),true)
     # we need to access the private Bionic header <bionic_tls.h>
     # on ARM platforms, we need to mirror the ARCH_ARM_HAVE_TLS_REGISTER
diff --git a/opengl/libagl/texture.cpp b/opengl/libagl/texture.cpp
index 9407bd5..d67612e 100644
--- a/opengl/libagl/texture.cpp
+++ b/opengl/libagl/texture.cpp
@@ -1515,7 +1515,7 @@
         ogles_error(c, GL_INVALID_VALUE);
         return;
     }
-    if (x<0 || x<0) {
+    if (x<0 || y<0) {
         ogles_error(c, GL_INVALID_VALUE);
         return;
     }
diff --git a/policy/com/android/internal/policy/impl/PhoneWindow.java b/policy/com/android/internal/policy/impl/PhoneWindow.java
index 5592b6d..20d9f26 100644
--- a/policy/com/android/internal/policy/impl/PhoneWindow.java
+++ b/policy/com/android/internal/policy/impl/PhoneWindow.java
@@ -21,13 +21,6 @@
 import static android.view.WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR;
 import static android.view.WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN;
 import static android.view.WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER;
-
-import com.android.internal.view.menu.ContextMenuBuilder;
-import com.android.internal.view.menu.MenuBuilder;
-import com.android.internal.view.menu.MenuDialogHelper;
-import com.android.internal.view.menu.MenuView;
-import com.android.internal.view.menu.SubMenuBuilder;
-
 import android.app.KeyguardManager;
 import android.app.SearchManager;
 import android.content.ActivityNotFoundException;
@@ -51,6 +44,7 @@
 import android.util.EventLog;
 import android.util.Log;
 import android.util.SparseArray;
+import android.view.ActionBarView;
 import android.view.Gravity;
 import android.view.HapticFeedbackConstants;
 import android.view.KeyCharacterMap;
@@ -75,6 +69,12 @@
 import android.widget.ProgressBar;
 import android.widget.TextView;
 
+import com.android.internal.view.menu.ContextMenuBuilder;
+import com.android.internal.view.menu.MenuBuilder;
+import com.android.internal.view.menu.MenuDialogHelper;
+import com.android.internal.view.menu.MenuView;
+import com.android.internal.view.menu.SubMenuBuilder;
+
 /**
  * Android-specific Window.
  * <p>
@@ -105,6 +105,8 @@
     private LayoutInflater mLayoutInflater;
 
     private TextView mTitleView;
+    
+    private ActionBarView mActionBar;
 
     private DrawableFeatureState[] mDrawables;
 
@@ -258,6 +260,8 @@
     public void setTitle(CharSequence title) {
         if (mTitleView != null) {
             mTitleView.setText(title);
+        } else if (mActionBar != null) {
+            mActionBar.setTitle(title);
         }
         mTitle = title;
     }
@@ -2067,6 +2071,9 @@
 
         if (a.getBoolean(com.android.internal.R.styleable.Window_windowNoTitle, false)) {
             requestFeature(FEATURE_NO_TITLE);
+        } else if (a.getBoolean(com.android.internal.R.styleable.Window_windowActionBar, false)) {
+            // Don't allow an action bar if there is no title.
+            requestFeature(FEATURE_ACTION_BAR);
         }
 
         if (a.getBoolean(com.android.internal.R.styleable.Window_windowFullscreen, false)) {
@@ -2150,6 +2157,8 @@
             // If the window is floating, we need a dialog layout
             if (mIsFloating) {
                 layoutResource = com.android.internal.R.layout.dialog_title;
+            } else if ((features & (1 << FEATURE_ACTION_BAR)) != 0) {
+                layoutResource = com.android.internal.R.layout.screen_action_bar;
             } else {
                 layoutResource = com.android.internal.R.layout.screen_title;
             }
@@ -2234,6 +2243,13 @@
                 } else {
                     mTitleView.setText(mTitle);
                 }
+            } else {
+                mActionBar = (ActionBarView) findViewById(com.android.internal.R.id.action_bar);
+                if (mActionBar != null) {
+                    if (mActionBar.getTitle() == null) {
+                        mActionBar.setTitle(mTitle);
+                    }
+                }
             }
         }
     }
diff --git a/services/java/com/android/server/InputMethodManagerService.java b/services/java/com/android/server/InputMethodManagerService.java
index 5bf66e4..90c456c 100644
--- a/services/java/com/android/server/InputMethodManagerService.java
+++ b/services/java/com/android/server/InputMethodManagerService.java
@@ -472,8 +472,10 @@
                 mContext.getContentResolver(),
                 Settings.Secure.ENABLED_INPUT_METHODS);
         Slog.i(TAG, "Enabled input methods: " + enabledStr);
-        if (enabledStr == null) {
-            Slog.i(TAG, "Enabled input methods has not been set, enabling all");
+        final String defaultIme = Settings.Secure.getString(mContext
+                .getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD);
+        if (enabledStr == null || TextUtils.isEmpty(defaultIme)) {
+            Slog.i(TAG, "Enabled input methods or default IME has not been set, enabling all");
             InputMethodInfo defIm = null;
             StringBuilder sb = new StringBuilder(256);
             final int N = mMethodList.size();
@@ -1483,7 +1485,7 @@
 
         String defaultIme = Settings.Secure.getString(mContext
                 .getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD);
-        if (!map.containsKey(defaultIme)) {
+        if (!TextUtils.isEmpty(defaultIme) && !map.containsKey(defaultIme)) {
             if (chooseNewDefaultIMELocked()) {
                 updateFromSettingsLocked();
             }
diff --git a/services/java/com/android/server/LocationManagerService.java b/services/java/com/android/server/LocationManagerService.java
index b92480f..be03ab5 100644
--- a/services/java/com/android/server/LocationManagerService.java
+++ b/services/java/com/android/server/LocationManagerService.java
@@ -1646,7 +1646,7 @@
                 synchronized (mLock) {
                     for (int i = mProviders.size() - 1; i >= 0; i--) {
                         LocationProviderInterface provider = mProviders.get(i);
-                        if (provider.isEnabled() && provider.requiresNetwork()) {
+                        if (provider.requiresNetwork()) {
                             provider.updateNetworkState(mNetworkState, info);
                         }
                     }
diff --git a/services/java/com/android/server/NotificationPlayer.java b/services/java/com/android/server/NotificationPlayer.java
index 0b1a03b..52d2381 100644
--- a/services/java/com/android/server/NotificationPlayer.java
+++ b/services/java/com/android/server/NotificationPlayer.java
@@ -88,12 +88,15 @@
                     player.setDataSource(mCmd.context, mCmd.uri);
                     player.setLooping(mCmd.looping);
                     player.prepare();
-                    if (mCmd.looping) {
-                        audioManager.requestAudioFocus(null, mCmd.stream,
-                                AudioManager.AUDIOFOCUS_GAIN);
-                    } else {
-                        audioManager.requestAudioFocus(null, mCmd.stream,
-                                AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK);
+                    if ((mCmd.uri != null) && (mCmd.uri.getEncodedPath() != null)
+                            && (mCmd.uri.getEncodedPath().length() > 0)) {
+                        if (mCmd.looping) {
+                            audioManager.requestAudioFocus(null, mCmd.stream,
+                                    AudioManager.AUDIOFOCUS_GAIN);
+                        } else {
+                            audioManager.requestAudioFocus(null, mCmd.stream,
+                                    AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK);
+                        }
                     }
                     player.setOnCompletionListener(NotificationPlayer.this);
                     player.start();
diff --git a/services/java/com/android/server/PackageManagerService.java b/services/java/com/android/server/PackageManagerService.java
index c10a7e8..9f14e1951 100644
--- a/services/java/com/android/server/PackageManagerService.java
+++ b/services/java/com/android/server/PackageManagerService.java
@@ -5340,13 +5340,13 @@
         }
 
         SdInstallArgs(String cid) {
-            super(null, null, PackageManager.INSTALL_EXTERNAL, null);
-            this.cid = cid;
+            this((Uri)null, cid);
         }
 
         SdInstallArgs(Uri packageURI, String cid) {
             super(packageURI, null, PackageManager.INSTALL_EXTERNAL, null);
             this.cid = cid;
+            cachePath = PackageHelper.getSdDir(cid);
         }
 
         void createCopyFile() {
@@ -9608,7 +9608,10 @@
                    }
                    if (DEBUG_SD_INSTALL) Log.i(TAG, "Looking for pkg : " + pkgName);
                    PackageSetting ps = mSettings.mPackages.get(pkgName);
-                   if (ps != null && ps.codePathString != null) {
+                   // The package status is changed only if the code path
+                   // matches between settings and the container id.
+                   if (ps != null && ps.codePathString != null &&
+                           ps.codePathString.equals(args.getCodePath())) {
                        if (DEBUG_SD_INSTALL) Log.i(TAG, "Container : " + cid +
                                " corresponds to pkg : " + pkgName +
                                " at code path: " + ps.codePathString);
diff --git a/services/java/com/android/server/WindowManagerService.java b/services/java/com/android/server/WindowManagerService.java
index caa015a..6966400 100644
--- a/services/java/com/android/server/WindowManagerService.java
+++ b/services/java/com/android/server/WindowManagerService.java
@@ -6528,18 +6528,30 @@
                             case RawInputEvent.CLASS_KEYBOARD:
                                 KeyEvent ke = (KeyEvent)ev.event;
                                 if (ke.isDown()) {
-                                    lastKey = ke;
-                                    downTime = curTime;
-                                    keyRepeatCount = 0;
                                     lastKeyTime = curTime;
-                                    nextKeyTime = lastKeyTime
-                                            + ViewConfiguration.getLongPressTimeout();
-                                    if (DEBUG_INPUT) Slog.v(
-                                        TAG, "Received key down: first repeat @ "
-                                        + nextKeyTime);
+                                    if (lastKey != null &&
+                                            ke.getKeyCode() == lastKey.getKeyCode()) {
+                                        keyRepeatCount++;
+                                        // Arbitrary long timeout to block
+                                        // repeating here since we know that
+                                        // the device driver takes care of it.
+                                        nextKeyTime = lastKeyTime + LONG_WAIT;
+                                        if (DEBUG_INPUT) Slog.v(
+                                                TAG, "Received repeated key down");
+                                    } else {
+                                        downTime = curTime;
+                                        keyRepeatCount = 0;
+                                        nextKeyTime = lastKeyTime
+                                                + ViewConfiguration.getLongPressTimeout();
+                                        if (DEBUG_INPUT) Slog.v(
+                                            TAG, "Received key down: first repeat @ "
+                                            + nextKeyTime);
+                                    }
+                                    lastKey = ke;
                                 } else {
                                     lastKey = null;
                                     downTime = 0;
+                                    keyRepeatCount = 0;
                                     // Arbitrary long timeout.
                                     lastKeyTime = curTime;
                                     nextKeyTime = curTime + LONG_WAIT;
@@ -6547,7 +6559,12 @@
                                         TAG, "Received key up: ignore repeat @ "
                                         + nextKeyTime);
                                 }
-                                dispatchKey((KeyEvent)ev.event, 0, 0);
+                                if (keyRepeatCount > 0) {
+                                    dispatchKey(KeyEvent.changeTimeRepeat(ke,
+                                            ke.getEventTime(), keyRepeatCount), 0, 0);
+                                } else {
+                                    dispatchKey(ke, 0, 0);
+                                }
                                 mQueue.recycleEvent(ev);
                                 break;
                             case RawInputEvent.CLASS_TOUCHSCREEN:
diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java
index 706e15a..022eccf 100644
--- a/services/java/com/android/server/am/ActivityManagerService.java
+++ b/services/java/com/android/server/am/ActivityManagerService.java
@@ -321,12 +321,12 @@
     static final int MAX_HIDDEN_APPS = 15;
     
     // We put empty content processes after any hidden processes that have
-    // been idle for less than 30 seconds.
-    static final long CONTENT_APP_IDLE_OFFSET = 30*1000;
+    // been idle for less than 15 seconds.
+    static final long CONTENT_APP_IDLE_OFFSET = 15*1000;
     
     // We put empty content processes after any hidden processes that have
-    // been idle for less than 60 seconds.
-    static final long EMPTY_APP_IDLE_OFFSET = 60*1000;
+    // been idle for less than 120 seconds.
+    static final long EMPTY_APP_IDLE_OFFSET = 120*1000;
     
     static {
         // These values are set in system/rootdir/init.rc on startup.
@@ -880,6 +880,11 @@
     int mAdjSeq = 0;
 
     /**
+     * Current sequence id for process LRU updating.
+     */
+    int mLruSeq = 0;
+    
+    /**
      * Set to true if the ANDROID_SIMPLE_PROCESS_MANAGEMENT envvar
      * is set, indicating the user wants processes started in such a way
      * that they can use ANDROID_PROCESS_WRAPPER and know what will be
@@ -1588,8 +1593,8 @@
         }
     }
 
-    private final void updateLruProcessLocked(ProcessRecord app,
-            boolean oomAdj, boolean updateActivityTime) {
+    private final void updateLruProcessInternalLocked(ProcessRecord app,
+            boolean oomAdj, boolean updateActivityTime, int bestPos) {
         // put it on the LRU to keep track of when it should be exited.
         int lrui = mLruProcesses.indexOf(app);
         if (lrui >= 0) mLruProcesses.remove(lrui);
@@ -1597,6 +1602,8 @@
         int i = mLruProcesses.size()-1;
         int skipTop = 0;
         
+        app.lruSeq = mLruSeq;
+        
         // compute the new weight for this process.
         if (updateActivityTime) {
             app.lastActivityTime = SystemClock.uptimeMillis();
@@ -1619,6 +1626,7 @@
             // Also don't let it kick out the first few "real" hidden processes.
             skipTop = MIN_HIDDEN_APPS;
         }
+        
         while (i >= 0) {
             ProcessRecord p = mLruProcesses.get(i);
             // If this app shouldn't be in front of the first N background
@@ -1626,7 +1634,7 @@
             if (skipTop > 0 && p.setAdj >= HIDDEN_APP_MIN_ADJ) {
                 skipTop--;
             }
-            if (p.lruWeight <= app.lruWeight){
+            if (p.lruWeight <= app.lruWeight || i < bestPos) {
                 mLruProcesses.add(i+1, app);
                 break;
             }
@@ -1636,12 +1644,39 @@
             mLruProcesses.add(0, app);
         }
         
+        // If the app is currently using a content provider or service,
+        // bump those processes as well.
+        if (app.connections.size() > 0) {
+            for (ConnectionRecord cr : app.connections) {
+                if (cr.binding != null && cr.binding.service != null
+                        && cr.binding.service.app != null
+                        && cr.binding.service.app.lruSeq != mLruSeq) {
+                    updateLruProcessInternalLocked(cr.binding.service.app, oomAdj,
+                            updateActivityTime, i+1);
+                }
+            }
+        }
+        if (app.conProviders.size() > 0) {
+            for (ContentProviderRecord cpr : app.conProviders.keySet()) {
+                if (cpr.app != null && cpr.app.lruSeq != mLruSeq) {
+                    updateLruProcessInternalLocked(cpr.app, oomAdj,
+                            updateActivityTime, i+1);
+                }
+            }
+        }
+        
         //Slog.i(TAG, "Putting proc to front: " + app.processName);
         if (oomAdj) {
             updateOomAdjLocked();
         }
     }
 
+    private final void updateLruProcessLocked(ProcessRecord app,
+            boolean oomAdj, boolean updateActivityTime) {
+        mLruSeq++;
+        updateLruProcessInternalLocked(app, oomAdj, updateActivityTime, 0);
+    }
+    
     private final boolean updateLRUListLocked(HistoryRecord r) {
         final boolean hadit = mLRUActivities.remove(r);
         mLRUActivities.add(r);
@@ -4677,8 +4712,10 @@
         // Clean up already done if the process has been re-started.
         if (app.pid == pid && app.thread != null &&
                 app.thread.asBinder() == thread.asBinder()) {
-            Slog.i(TAG, "Process " + app.processName + " (pid " + pid
-                    + ") has died.");
+            if (!app.killedBackground) {
+                Slog.i(TAG, "Process " + app.processName + " (pid " + pid
+                        + ") has died.");
+            }
             EventLog.writeEvent(EventLogTags.AM_PROC_DIED, app.pid, app.processName);
             if (localLOGV) Slog.v(
                 TAG, "Dying app: " + app + ", pid: " + pid
@@ -7821,6 +7858,13 @@
                         r.conProviders.put(cpr, new Integer(cnt.intValue()+1));
                     }
                     cpr.clients.add(r);
+                    if (cpr.app != null && r.setAdj >= VISIBLE_APP_ADJ) {
+                        // If this is a visible app accessing the provider,
+                        // make sure to count it as being accessed and thus
+                        // back up on the LRU list.  This is good because
+                        // content providers are often expensive to start.
+                        updateLruProcessLocked(cpr.app, false, true);
+                    }
                 } else {
                     cpr.externals++;
                 }
@@ -8492,12 +8536,13 @@
                     continue;
                 }
                 int adj = proc.setAdj;
-                if (adj >= worstType) {
+                if (adj >= worstType && !proc.killedBackground) {
                     Slog.w(TAG, "Killing " + proc + " (adj " + adj + "): " + reason);
                     EventLog.writeEvent(EventLogTags.AM_KILL, proc.pid,
                             proc.processName, adj, reason);
                     killed = true;
-                    Process.killProcess(pids[i]);
+                    proc.killedBackground = true;
+                    Process.killProcessQuiet(pids[i]);
                 }
             }
         }
@@ -9829,6 +9874,7 @@
                     + " mFactoryTest=" + mFactoryTest);
             pw.println("  mGoingToSleep=" + mGoingToSleep);
             pw.println("  mLaunchingActivity=" + mLaunchingActivity);
+            pw.println("  mAdjSeq=" + mAdjSeq + " mLruSeq=" + mLruSeq);
         }
         
         return true;
@@ -14292,13 +14338,12 @@
                     if (!app.killedBackground) {
                         numHidden++;
                         if (numHidden > MAX_HIDDEN_APPS) {
-                            Slog.i(TAG, "Kill " + app.processName
-                                    + " (pid " + app.pid + "): hidden #" + numHidden
-                                    + " beyond limit " + MAX_HIDDEN_APPS);
+                            Slog.i(TAG, "No longer want " + app.processName
+                                    + " (pid " + app.pid + "): hidden #" + numHidden);
                             EventLog.writeEvent(EventLogTags.AM_KILL, app.pid,
                                     app.processName, app.setAdj, "too many background");
                             app.killedBackground = true;
-                            Process.killProcess(app.pid);
+                            Process.killProcessQuiet(app.pid);
                         }
                     }
                 }
diff --git a/services/java/com/android/server/am/ProcessRecord.java b/services/java/com/android/server/am/ProcessRecord.java
index 7620468..f49a182 100644
--- a/services/java/com/android/server/am/ProcessRecord.java
+++ b/services/java/com/android/server/am/ProcessRecord.java
@@ -66,7 +66,8 @@
     boolean bad;                // True if disabled in the bad process list
     boolean killedBackground;   // True when proc has been killed due to too many bg
     IBinder forcingToForeground;// Token that is forcing this process to be foreground
-    int adjSeq;                 // Sequence id for identifying repeated trav
+    int adjSeq;                 // Sequence id for identifying oom_adj assignment cycles
+    int lruSeq;                 // Sequence id for identifying LRU update cycles
     ComponentName instrumentationClass;// class installed to instrument app
     ApplicationInfo instrumentationInfo; // the application being instrumented
     String instrumentationProfileFile; // where to save profiling
@@ -175,6 +176,8 @@
         pw.print(prefix); pw.print("persistent="); pw.print(persistent);
                 pw.print(" removed="); pw.print(removed);
                 pw.print(" persistentActivities="); pw.println(persistentActivities);
+        pw.print(prefix); pw.print("adjSeq="); pw.print(adjSeq);
+                pw.print(" lruSeq="); pw.println(lruSeq);
         if (killedBackground) {
             pw.print(prefix); pw.print("killedBackground="); pw.println(killedBackground);
         }
diff --git a/services/java/com/android/server/status/StatusBarPolicy.java b/services/java/com/android/server/status/StatusBarPolicy.java
index 1816181..35ccfe8 100644
--- a/services/java/com/android/server/status/StatusBarPolicy.java
+++ b/services/java/com/android/server/status/StatusBarPolicy.java
@@ -954,7 +954,9 @@
                  && ((mServiceState.getRadioTechnology()
                         == ServiceState.RADIO_TECHNOLOGY_EVDO_0)
                      || (mServiceState.getRadioTechnology()
-                        == ServiceState.RADIO_TECHNOLOGY_EVDO_A)));
+                        == ServiceState.RADIO_TECHNOLOGY_EVDO_A)
+                     || (mServiceState.getRadioTechnology()
+                        == ServiceState.RADIO_TECHNOLOGY_EVDO_B)));
     }
 
     private boolean hasService() {
@@ -1070,7 +1072,6 @@
     }
 
     private final void updateDataNetType(int net) {
-
         switch (net) {
         case TelephonyManager.NETWORK_TYPE_EDGE:
             mDataIconList = sDataNetType_e;
@@ -1096,6 +1097,7 @@
             break;
         case TelephonyManager.NETWORK_TYPE_EVDO_0: //fall through
         case TelephonyManager.NETWORK_TYPE_EVDO_A:
+        case TelephonyManager.NETWORK_TYPE_EVDO_B:
             mDataIconList = sDataNetType_3g;
             break;
         default:
diff --git a/telephony/java/android/telephony/PhoneNumberUtils.java b/telephony/java/android/telephony/PhoneNumberUtils.java
index 666ad72..90f0ad0 100644
--- a/telephony/java/android/telephony/PhoneNumberUtils.java
+++ b/telephony/java/android/telephony/PhoneNumberUtils.java
@@ -732,7 +732,8 @@
             return "";
         }
 
-        if ((bytes[offset] & 0xff) == TOA_International) {
+        //Only TON field should be taken in consideration
+        if ((bytes[offset] & 0xf0) == (TOA_International & 0xf0)) {
             prependPlus = true;
         }
 
diff --git a/telephony/java/android/telephony/ServiceState.java b/telephony/java/android/telephony/ServiceState.java
index 6c66559..1f00885 100644
--- a/telephony/java/android/telephony/ServiceState.java
+++ b/telephony/java/android/telephony/ServiceState.java
@@ -89,6 +89,8 @@
     public static final int RADIO_TECHNOLOGY_HSUPA = 10;
     /** @hide */
     public static final int RADIO_TECHNOLOGY_HSPA = 11;
+    /** @hide */
+    public static final int RADIO_TECHNOLOGY_EVDO_B = 12;
 
     /**
      * Available registration states for GSM, UMTS and CDMA.
@@ -379,7 +381,6 @@
     @Override
     public String toString() {
         String radioTechnology = new String("Error in radioTechnology");
-
         switch(this.mRadioTechnology) {
         case 0:
             radioTechnology = "Unknown";
@@ -417,6 +418,9 @@
         case 11:
             radioTechnology = "HSPA";
             break;
+        case 12:
+            radioTechnology = "EvDo rev. B";
+            break;
         default:
             Log.w(LOG_TAG, "mRadioTechnology variable out of range.");
         break;
diff --git a/telephony/java/android/telephony/SmsManager.java b/telephony/java/android/telephony/SmsManager.java
index 2a969bb..953696b 100644
--- a/telephony/java/android/telephony/SmsManager.java
+++ b/telephony/java/android/telephony/SmsManager.java
@@ -395,4 +395,6 @@
     static public final int RESULT_ERROR_NO_SERVICE         = 4;
     /** Failed because we reached the sending queue limit.  {@hide} */
     static public final int RESULT_ERROR_LIMIT_EXCEEDED     = 5;
+    /** Failed because FDN is enabled. {@hide} */
+    static public final int RESULT_ERROR_FDN_CHECK_FAILURE  = 6;
 }
diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java
index f018d107..ab63017 100644
--- a/telephony/java/android/telephony/TelephonyManager.java
+++ b/telephony/java/android/telephony/TelephonyManager.java
@@ -391,6 +391,9 @@
     public static final int NETWORK_TYPE_HSPA = 10;
     /** Current network is iDen */
     public static final int NETWORK_TYPE_IDEN = 11;
+    /** Current network is EVDO revision B*/
+    public static final int NETWORK_TYPE_EVDO_B = 12;
+
 
     /**
      * Returns a constant indicating the radio technology (network type)
@@ -407,6 +410,7 @@
      * @see #NETWORK_TYPE_CDMA
      * @see #NETWORK_TYPE_EVDO_0
      * @see #NETWORK_TYPE_EVDO_A
+     * @see #NETWORK_TYPE_EVDO_B
      * @see #NETWORK_TYPE_1xRTT
      */
     public int getNetworkType() {
@@ -454,6 +458,8 @@
                 return "CDMA - EvDo rev. 0";
             case NETWORK_TYPE_EVDO_A:
                 return "CDMA - EvDo rev. A";
+            case NETWORK_TYPE_EVDO_B:
+                return "CDMA - EvDo rev. B";
             case NETWORK_TYPE_1xRTT:
                 return "CDMA - 1xRTT";
             default:
diff --git a/telephony/java/com/android/internal/telephony/CommandException.java b/telephony/java/com/android/internal/telephony/CommandException.java
index eb0a440..94c544e 100644
--- a/telephony/java/com/android/internal/telephony/CommandException.java
+++ b/telephony/java/com/android/internal/telephony/CommandException.java
@@ -37,6 +37,10 @@
         OP_NOT_ALLOWED_DURING_VOICE_CALL,
         OP_NOT_ALLOWED_BEFORE_REG_NW,
         SMS_FAIL_RETRY,
+        SIM_ABSENT,
+        SUBSCRIPTION_NOT_AVAILABLE,
+        MODE_NOT_SUPPORTED,
+        FDN_CHECK_FAILURE,
         ILLEGAL_SIM_OR_ME,
     }
 
@@ -69,6 +73,14 @@
                 return new CommandException(Error.OP_NOT_ALLOWED_BEFORE_REG_NW);
             case RILConstants.SMS_SEND_FAIL_RETRY:
                 return new CommandException(Error.SMS_FAIL_RETRY);
+            case RILConstants.SIM_ABSENT:
+                return new CommandException(Error.SIM_ABSENT);
+            case RILConstants.SUBSCRIPTION_NOT_AVAILABLE:
+                return new CommandException(Error.SUBSCRIPTION_NOT_AVAILABLE);
+            case RILConstants.MODE_NOT_SUPPORTED:
+                return new CommandException(Error.MODE_NOT_SUPPORTED);
+            case RILConstants.FDN_CHECK_FAILURE:
+                return new CommandException(Error.FDN_CHECK_FAILURE);
             case RILConstants.ILLEGAL_SIM_OR_ME:
                 return new CommandException(Error.ILLEGAL_SIM_OR_ME);
             default:
diff --git a/telephony/java/com/android/internal/telephony/CommandsInterface.java b/telephony/java/com/android/internal/telephony/CommandsInterface.java
index 9055203..5f27e3f 100644
--- a/telephony/java/com/android/internal/telephony/CommandsInterface.java
+++ b/telephony/java/com/android/internal/telephony/CommandsInterface.java
@@ -664,6 +664,19 @@
      *  retMsg.obj = AsyncResult ar
      *  ar.exception carries exception on failure
      *  ar.userObject contains the orignal value of result.obj
+     *  ar.result is null on success and failure
+     *
+     * CLIR_DEFAULT     == on "use subscription default value"
+     * CLIR_SUPPRESSION == on "CLIR suppression" (allow CLI presentation)
+     * CLIR_INVOCATION  == on "CLIR invocation" (restrict CLI presentation)
+     */
+    void dial(String address, int clirMode, UUSInfo uusInfo, Message result);
+
+    /**
+     *  returned message
+     *  retMsg.obj = AsyncResult ar
+     *  ar.exception carries exception on failure
+     *  ar.userObject contains the orignal value of result.obj
      *  ar.result is String containing IMSI on success
      */
     void getIMSI(Message result);
diff --git a/telephony/java/com/android/internal/telephony/Connection.java b/telephony/java/com/android/internal/telephony/Connection.java
index 37e8a99..0bcb63a 100644
--- a/telephony/java/com/android/internal/telephony/Connection.java
+++ b/telephony/java/com/android/internal/telephony/Connection.java
@@ -50,6 +50,7 @@
         CS_RESTRICTED,                  /* call was blocked by restricted all voice access */
         CS_RESTRICTED_NORMAL,           /* call was blocked by restricted normal voice access */
         CS_RESTRICTED_EMERGENCY,        /* call was blocked by restricted emergency voice access */
+        UNOBTAINABLE_NUMBER,            /* Unassigned number (3GPP TS 24.008 table 10.5.123) */
         CDMA_LOCKED_UNTIL_POWER_CYCLE,  /* MS is locked until next power cycle */
         CDMA_DROP,
         CDMA_INTERCEPT,                 /* INTERCEPT order received, MS state idle entered */
@@ -273,6 +274,13 @@
     public abstract int getNumberPresentation();
 
     /**
+     * Returns the User to User Signaling (UUS) information associated with
+     * incoming and waiting calls
+     * @return UUSInfo containing the UUS userdata.
+     */
+    public abstract UUSInfo getUUSInfo();
+
+    /**
      * Build a human representation of a connection instance, suitable for debugging.
      * Don't log personal stuff unless in debug mode.
      * @return a string representing the internal state of this connection.
diff --git a/telephony/java/com/android/internal/telephony/DriverCall.java b/telephony/java/com/android/internal/telephony/DriverCall.java
index 66f6b9c..663c284 100644
--- a/telephony/java/com/android/internal/telephony/DriverCall.java
+++ b/telephony/java/com/android/internal/telephony/DriverCall.java
@@ -49,6 +49,7 @@
     public int numberPresentation;
     public String name;
     public int namePresentation;
+    public UUSInfo uusInfo;
 
     /** returns null on error */
     static DriverCall
diff --git a/telephony/java/com/android/internal/telephony/Phone.java b/telephony/java/com/android/internal/telephony/Phone.java
index 7179bef..f14ab70 100644
--- a/telephony/java/com/android/internal/telephony/Phone.java
+++ b/telephony/java/com/android/internal/telephony/Phone.java
@@ -789,6 +789,19 @@
     Connection dial(String dialString) throws CallStateException;
 
     /**
+     * Initiate a new voice connection with supplementary User to User
+     * Information. This happens asynchronously, so you cannot assume the audio
+     * path is connected (or a call index has been assigned) until
+     * PhoneStateChanged notification has occurred.
+     *
+     * @exception CallStateException if a new outgoing call is not currently
+     *                possible because no more call slots exist or a call exists
+     *                that is dialing, alerting, ringing, or waiting. Other
+     *                errors are handled asynchronously.
+     */
+    Connection dial(String dialString, UUSInfo uusInfo) throws CallStateException;
+
+    /**
      * Handles PIN MMI commands (PIN/PIN2/PUK/PUK2), which are initiated
      * without SEND (so <code>dial</code> is not appropriate).
      *
diff --git a/telephony/java/com/android/internal/telephony/PhoneProxy.java b/telephony/java/com/android/internal/telephony/PhoneProxy.java
index 6d3798e..e1511e6 100644
--- a/telephony/java/com/android/internal/telephony/PhoneProxy.java
+++ b/telephony/java/com/android/internal/telephony/PhoneProxy.java
@@ -423,6 +423,10 @@
         return mActivePhone.dial(dialString);
     }
 
+    public Connection dial(String dialString, UUSInfo uusInfo) throws CallStateException {
+        return mActivePhone.dial(dialString, uusInfo);
+    }
+
     public boolean handlePinMmi(String dialString) {
         return mActivePhone.handlePinMmi(dialString);
     }
diff --git a/telephony/java/com/android/internal/telephony/RIL.java b/telephony/java/com/android/internal/telephony/RIL.java
index b942ad7..5bd9e39 100644
--- a/telephony/java/com/android/internal/telephony/RIL.java
+++ b/telephony/java/com/android/internal/telephony/RIL.java
@@ -795,12 +795,26 @@
 
     public void
     dial (String address, int clirMode, Message result) {
+        dial(address, clirMode, null, result);
+    }
+
+    public void
+    dial(String address, int clirMode, UUSInfo uusInfo, Message result) {
         RILRequest rr = RILRequest.obtain(RIL_REQUEST_DIAL, result);
 
         rr.mp.writeString(address);
         rr.mp.writeInt(clirMode);
         rr.mp.writeInt(0); // UUS information is absent
 
+        if (uusInfo == null) {
+            rr.mp.writeInt(0); // UUS information is absent
+        } else {
+            rr.mp.writeInt(1); // UUS information is present
+            rr.mp.writeInt(uusInfo.getType());
+            rr.mp.writeInt(uusInfo.getDcs());
+            rr.mp.writeByteArray(uusInfo.getUserData());
+        }
+
         if (RILJ_LOGD) riljLog(rr.serialString() + "> " + requestToString(rr.mRequest));
 
         send(rr);
@@ -2836,10 +2850,21 @@
             dc.namePresentation = p.readInt();
             int uusInfoPresent = p.readInt();
             if (uusInfoPresent == 1) {
-                // TODO: Copy the data to dc to forward to the apps.
-                p.readInt();
-                p.readInt();
-                p.createByteArray();
+                dc.uusInfo = new UUSInfo();
+                dc.uusInfo.setType(p.readInt());
+                dc.uusInfo.setDcs(p.readInt());
+                byte[] userData = p.createByteArray();
+                dc.uusInfo.setUserData(userData);
+                Log
+                        .v(LOG_TAG, String.format("Incoming UUS : type=%d, dcs=%d, length=%d",
+                                dc.uusInfo.getType(), dc.uusInfo.getDcs(),
+                                dc.uusInfo.getUserData().length));
+                Log.v(LOG_TAG, "Incoming UUS : data (string)="
+                        + new String(dc.uusInfo.getUserData()));
+                Log.v(LOG_TAG, "Incoming UUS : data (hex): "
+                        + IccUtils.bytesToHexString(dc.uusInfo.getUserData()));
+            } else {
+                Log.v(LOG_TAG, "Incoming UUS : NOT present!");
             }
 
             // Make sure there's a leading + on addresses with a TOA of 145
diff --git a/telephony/java/com/android/internal/telephony/RILConstants.java b/telephony/java/com/android/internal/telephony/RILConstants.java
index 01f4ab2..71a80e0 100644
--- a/telephony/java/com/android/internal/telephony/RILConstants.java
+++ b/telephony/java/com/android/internal/telephony/RILConstants.java
@@ -45,6 +45,11 @@
     int OP_NOT_ALLOWED_BEFORE_REG_NW = 9;     /* request is not allowed before device registers to
                                                  network */
     int SMS_SEND_FAIL_RETRY = 10;             /* send sms fail and need retry */
+    int SIM_ABSENT = 11;                      /* ICC card is absent */
+    int SUBSCRIPTION_NOT_AVAILABLE = 12;      /* fail to find CDMA subscription from specified
+                                                 location */
+    int MODE_NOT_SUPPORTED = 13;              /* HW does not support preferred network type */
+    int FDN_CHECK_FAILURE = 14;               /* send operation barred error when FDN is enabled */
     int ILLEGAL_SIM_OR_ME = 15;               /* network selection failure due
                                                  to wrong SIM/ME and no
                                                  retries needed */
diff --git a/telephony/java/com/android/internal/telephony/SMSDispatcher.java b/telephony/java/com/android/internal/telephony/SMSDispatcher.java
index fb58e14..9e17eb1 100644
--- a/telephony/java/com/android/internal/telephony/SMSDispatcher.java
+++ b/telephony/java/com/android/internal/telephony/SMSDispatcher.java
@@ -62,6 +62,7 @@
 import static android.telephony.SmsManager.RESULT_ERROR_NULL_PDU;
 import static android.telephony.SmsManager.RESULT_ERROR_RADIO_OFF;
 import static android.telephony.SmsManager.RESULT_ERROR_LIMIT_EXCEEDED;
+import static android.telephony.SmsManager.RESULT_ERROR_FDN_CHECK_FAILURE;
 
 
 public abstract class SMSDispatcher extends Handler {
@@ -500,13 +501,20 @@
                 Message retryMsg = obtainMessage(EVENT_SEND_RETRY, tracker);
                 sendMessageDelayed(retryMsg, SEND_RETRY_DELAY);
             } else if (tracker.mSentIntent != null) {
+                int error = RESULT_ERROR_GENERIC_FAILURE;
+
+                if (((CommandException)(ar.exception)).getCommandError()
+                        == CommandException.Error.FDN_CHECK_FAILURE) {
+                    error = RESULT_ERROR_FDN_CHECK_FAILURE;
+                }
                 // Done retrying; return an error to the app.
                 try {
                     Intent fillIn = new Intent();
                     if (ar.result != null) {
                         fillIn.putExtra("errorCode", ((SmsResponse)ar.result).errorCode);
                     }
-                    tracker.mSentIntent.send(mContext, RESULT_ERROR_GENERIC_FAILURE, fillIn);
+                    tracker.mSentIntent.send(mContext, error, fillIn);
+
                 } catch (CanceledException ex) {}
             }
         }
diff --git a/telephony/java/com/android/internal/telephony/ServiceStateTracker.java b/telephony/java/com/android/internal/telephony/ServiceStateTracker.java
index 7383649..706f260 100644
--- a/telephony/java/com/android/internal/telephony/ServiceStateTracker.java
+++ b/telephony/java/com/android/internal/telephony/ServiceStateTracker.java
@@ -44,6 +44,7 @@
     protected static final int DATA_ACCESS_HSDPA = 9;
     protected static final int DATA_ACCESS_HSUPA = 10;
     protected static final int DATA_ACCESS_HSPA = 11;
+    protected static final int DATA_ACCESS_CDMA_EvDo_B = 12;
 
     protected CommandsInterface cm;
 
diff --git a/telephony/java/com/android/internal/telephony/UUSInfo.java b/telephony/java/com/android/internal/telephony/UUSInfo.java
new file mode 100644
index 0000000..801b845
--- /dev/null
+++ b/telephony/java/com/android/internal/telephony/UUSInfo.java
@@ -0,0 +1,100 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.internal.telephony;
+
+public class UUSInfo {
+
+    /*
+     * User-to-User signaling Info activation types derived from 3GPP 23.087
+     * v8.0
+     */
+
+    public static final int UUS_TYPE1_IMPLICIT = 0;
+
+    public static final int UUS_TYPE1_REQUIRED = 1;
+
+    public static final int UUS_TYPE1_NOT_REQUIRED = 2;
+
+    public static final int UUS_TYPE2_REQUIRED = 3;
+
+    public static final int UUS_TYPE2_NOT_REQUIRED = 4;
+
+    public static final int UUS_TYPE3_REQUIRED = 5;
+
+    public static final int UUS_TYPE3_NOT_REQUIRED = 6;
+
+    /*
+     * User-to-User Signaling Information data coding schemes. Possible values
+     * for Octet 3 (Protocol Discriminator field) in the UUIE. The values have
+     * been specified in section 10.5.4.25 of 3GPP TS 24.008
+     */
+
+    public static final int UUS_DCS_USP = 0; /* User specified protocol */
+
+    public static final int UUS_DCS_OSIHLP = 1; /* OSI higher layer protocol */
+
+    public static final int UUS_DCS_X244 = 2; /* X.244 */
+
+    public static final int UUS_DCS_RMCF = 3; /*
+                                               * Reserved for system management
+                                               * convergence function
+                                               */
+
+    public static final int UUS_DCS_IA5c = 4; /* IA5 characters */
+
+    private int uusType;
+
+    private int uusDcs;
+
+    private byte[] uusData;
+
+    public UUSInfo() {
+        this.uusType = UUS_TYPE1_IMPLICIT;
+        this.uusDcs = UUS_DCS_IA5c;
+        this.uusData = null;
+    }
+
+    public UUSInfo(int uusType, int uusDcs, byte[] uusData) {
+        this.uusType = uusType;
+        this.uusDcs = uusDcs;
+        this.uusData = uusData;
+    }
+
+    public int getDcs() {
+        return uusDcs;
+    }
+
+    public void setDcs(int uusDcs) {
+        this.uusDcs = uusDcs;
+    }
+
+    public int getType() {
+        return uusType;
+    }
+
+    public void setType(int uusType) {
+        this.uusType = uusType;
+    }
+
+    public byte[] getUserData() {
+        return uusData;
+    }
+
+    public void setUserData(byte[] uusData) {
+        this.uusData = uusData;
+    }
+}
diff --git a/telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java b/telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java
index d4b807c..0c591e4 100755
--- a/telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java
+++ b/telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java
@@ -62,6 +62,7 @@
 import com.android.internal.telephony.PhoneSubInfo;
 import com.android.internal.telephony.TelephonyIntents;
 import com.android.internal.telephony.TelephonyProperties;
+import com.android.internal.telephony.UUSInfo;
 
 import static com.android.internal.telephony.TelephonyProperties.PROPERTY_ICC_OPERATOR_ALPHA;
 import static com.android.internal.telephony.TelephonyProperties.PROPERTY_ICC_OPERATOR_NUMERIC;
@@ -348,6 +349,10 @@
         return mCT.dial(newDialString);
     }
 
+    public Connection dial(String dialString, UUSInfo uusInfo) throws CallStateException {
+        throw new CallStateException("Sending UUS information NOT supported in CDMA!");
+    }
+
     public SignalStrength getSignalStrength() {
         return mSST.mSignalStrength;
     }
@@ -1444,5 +1449,4 @@
         }
         return false;
     }
-
 }
diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaConnection.java b/telephony/java/com/android/internal/telephony/cdma/CdmaConnection.java
index 188145b..fbe455e 100755
--- a/telephony/java/com/android/internal/telephony/cdma/CdmaConnection.java
+++ b/telephony/java/com/android/internal/telephony/cdma/CdmaConnection.java
@@ -945,4 +945,10 @@
     public int getNumberPresentation() {
         return numberPresentation;
     }
+
+    @Override
+    public UUSInfo getUUSInfo() {
+        // UUS information not supported in CDMA
+        return null;
+    }
 }
diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java b/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java
index 39fe007..6c71584 100644
--- a/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java
+++ b/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java
@@ -945,6 +945,9 @@
         case DATA_ACCESS_CDMA_EvDo_A:
             ret = "CDMA - EvDo rev. A";
             break;
+        case DATA_ACCESS_CDMA_EvDo_B:
+            ret = "CDMA - EvDo rev. B";
+            break;
         default:
             if (DBG) {
                 Log.e(LOG_TAG, "Wrong network. Can not return a string.");
@@ -1237,6 +1240,7 @@
         case 6: // RADIO_TECHNOLOGY_1xRTT
         case 7: // RADIO_TECHNOLOGY_EVDO_0
         case 8: // RADIO_TECHNOLOGY_EVDO_A
+        case 12: // RADIO_TECHNOLOGY_EVDO_B
             retVal = ServiceState.STATE_IN_SERVICE;
             break;
         default:
diff --git a/telephony/java/com/android/internal/telephony/gsm/CallFailCause.java b/telephony/java/com/android/internal/telephony/gsm/CallFailCause.java
index e7fbf6b..af2ad48 100644
--- a/telephony/java/com/android/internal/telephony/gsm/CallFailCause.java
+++ b/telephony/java/com/android/internal/telephony/gsm/CallFailCause.java
@@ -25,6 +25,9 @@
  *
  */
 public interface CallFailCause {
+    // Unassigned/Unobtainable number
+    static final int UNOBTAINABLE_NUMBER = 1;
+
     static final int NORMAL_CLEARING     = 16;
     // Busy Tone
     static final int USER_BUSY           = 17;
diff --git a/telephony/java/com/android/internal/telephony/gsm/GSMPhone.java b/telephony/java/com/android/internal/telephony/gsm/GSMPhone.java
old mode 100755
new mode 100644
index 2bb7968..c7b1e5c
--- a/telephony/java/com/android/internal/telephony/gsm/GSMPhone.java
+++ b/telephony/java/com/android/internal/telephony/gsm/GSMPhone.java
@@ -67,6 +67,7 @@
 import com.android.internal.telephony.PhoneProxy;
 import com.android.internal.telephony.PhoneSubInfo;
 import com.android.internal.telephony.TelephonyProperties;
+import com.android.internal.telephony.UUSInfo;
 import com.android.internal.telephony.gsm.stk.StkService;
 import com.android.internal.telephony.test.SimulatedRadioControl;
 import com.android.internal.telephony.IccVmNotSupportedException;
@@ -711,7 +712,12 @@
     }
 
     public Connection
-    dial (String dialString) throws CallStateException {
+    dial(String dialString) throws CallStateException {
+        return dial(dialString, null);
+    }
+
+    public Connection
+    dial (String dialString, UUSInfo uusInfo) throws CallStateException {
         // Need to make sure dialString gets parsed properly
         String newDialString = PhoneNumberUtils.stripSeparators(dialString);
 
@@ -727,9 +733,9 @@
                                "dialing w/ mmi '" + mmi + "'...");
 
         if (mmi == null) {
-            return mCT.dial(newDialString);
+            return mCT.dial(newDialString, uusInfo);
         } else if (mmi.isTemporaryModeCLIR()) {
-            return mCT.dial(mmi.dialingNumber, mmi.getCLIRMode());
+            return mCT.dial(mmi.dialingNumber, mmi.getCLIRMode(), uusInfo);
         } else {
             mPendingMMIs.add(mmi);
             mMmiRegistrants.notifyRegistrants(new AsyncResult(null, mmi, null));
diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmCallTracker.java b/telephony/java/com/android/internal/telephony/gsm/GsmCallTracker.java
index 87530e4..22fc13e 100644
--- a/telephony/java/com/android/internal/telephony/gsm/GsmCallTracker.java
+++ b/telephony/java/com/android/internal/telephony/gsm/GsmCallTracker.java
@@ -37,6 +37,7 @@
 import com.android.internal.telephony.EventLogTags;
 import com.android.internal.telephony.Phone;
 import com.android.internal.telephony.TelephonyProperties;
+import com.android.internal.telephony.UUSInfo;
 import com.android.internal.telephony.gsm.CallFailCause;
 import com.android.internal.telephony.gsm.GSMPhone;
 import com.android.internal.telephony.gsm.GsmCall;
@@ -167,7 +168,7 @@
      * clirMode is one of the CLIR_ constants
      */
     Connection
-    dial (String dialString, int clirMode) throws CallStateException {
+    dial (String dialString, int clirMode, UUSInfo uusInfo) throws CallStateException {
         // note that this triggers call state changed notif
         clearDisconnected();
 
@@ -213,7 +214,7 @@
             // Always unmute when initiating a new call
             setMute(false);
 
-            cm.dial(pendingMO.address, clirMode, obtainCompleteMessage());
+            cm.dial(pendingMO.address, clirMode, uusInfo, obtainCompleteMessage());
         }
 
         updatePhoneState();
@@ -222,10 +223,19 @@
         return pendingMO;
     }
 
+    Connection
+    dial(String dialString) throws CallStateException {
+        return dial(dialString, CommandsInterface.CLIR_DEFAULT, null);
+    }
 
     Connection
-    dial (String dialString) throws CallStateException {
-        return dial(dialString, CommandsInterface.CLIR_DEFAULT);
+    dial(String dialString, UUSInfo uusInfo) throws CallStateException {
+        return dial(dialString, CommandsInterface.CLIR_DEFAULT, uusInfo);
+    }
+
+    Connection
+    dial(String dialString, int clirMode) throws CallStateException {
+        return dial(dialString, clirMode, null);
     }
 
     void
diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmConnection.java b/telephony/java/com/android/internal/telephony/gsm/GsmConnection.java
index 4788a01..7dc2504 100644
--- a/telephony/java/com/android/internal/telephony/gsm/GsmConnection.java
+++ b/telephony/java/com/android/internal/telephony/gsm/GsmConnection.java
@@ -73,6 +73,7 @@
     DisconnectCause cause = DisconnectCause.NOT_DISCONNECTED;
     PostDialState postDialState = PostDialState.NOT_STARTED;
     int numberPresentation = Connection.PRESENTATION_ALLOWED;
+    UUSInfo uusInfo;
 
     Handler h;
 
@@ -126,6 +127,7 @@
         isIncoming = dc.isMT;
         createTime = System.currentTimeMillis();
         numberPresentation = dc.numberPresentation;
+        uusInfo = dc.uusInfo;
 
         this.index = index;
 
@@ -356,6 +358,9 @@
             case CallFailCause.FDN_BLOCKED:
                 return DisconnectCause.FDN_BLOCKED;
 
+            case CallFailCause.UNOBTAINABLE_NUMBER:
+                return DisconnectCause.UNOBTAINABLE_NUMBER;
+
             case CallFailCause.ERROR_UNSPECIFIED:
             case CallFailCause.NORMAL_CLEARING:
             default:
@@ -728,4 +733,9 @@
     public int getNumberPresentation() {
         return numberPresentation;
     }
+
+    @Override
+    public UUSInfo getUUSInfo() {
+        return uusInfo;
+    }
 }
diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmMmiCode.java b/telephony/java/com/android/internal/telephony/gsm/GsmMmiCode.java
index bcbd127..cacf057 100644
--- a/telephony/java/com/android/internal/telephony/gsm/GsmMmiCode.java
+++ b/telephony/java/com/android/internal/telephony/gsm/GsmMmiCode.java
@@ -832,8 +832,7 @@
 
                 if (ar.exception != null) {
                     state = State.FAILED;
-                    message = context.getText(
-                                            com.android.internal.R.string.mmiError);
+                    message = getErrorMessage(ar);
 
                     phone.onMMIDone(this);
                 }
@@ -852,6 +851,19 @@
     }
     //***** Private instance methods
 
+    private CharSequence getErrorMessage(AsyncResult ar) {
+
+        if (ar.exception instanceof CommandException) {
+            CommandException.Error err = ((CommandException)(ar.exception)).getCommandError();
+            if (err == CommandException.Error.FDN_CHECK_FAILURE) {
+                Log.i(LOG_TAG, "FDN_CHECK_FAILURE");
+                return context.getText(com.android.internal.R.string.mmiFdnError);
+            }
+        }
+
+        return context.getText(com.android.internal.R.string.mmiError);
+    }
+
     private CharSequence getScString() {
         if (sc != null) {
             if (isServiceCodeCallBarring(sc)) {
@@ -904,6 +916,9 @@
                     sb.append("\n");
                     sb.append(context.getText(
                             com.android.internal.R.string.needPuk2));
+                } else if (err == CommandException.Error.FDN_CHECK_FAILURE) {
+                    Log.i(LOG_TAG, "FDN_CHECK_FAILURE");
+                    sb.append(context.getText(com.android.internal.R.string.mmiFdnError));
                 } else {
                     sb.append(context.getText(
                             com.android.internal.R.string.mmiError));
@@ -953,7 +968,7 @@
 
         if (ar.exception != null) {
             state = State.FAILED;
-            sb.append(context.getText(com.android.internal.R.string.mmiError));
+            sb.append(getErrorMessage(ar));
         } else {
             int clirArgs[];
 
@@ -1123,7 +1138,7 @@
 
         if (ar.exception != null) {
             state = State.FAILED;
-            sb.append(context.getText(com.android.internal.R.string.mmiError));
+            sb.append(getErrorMessage(ar));
         } else {
             CallForwardInfo infos[];
 
@@ -1175,7 +1190,7 @@
 
         if (ar.exception != null) {
             state = State.FAILED;
-            sb.append(context.getText(com.android.internal.R.string.mmiError));
+            sb.append(getErrorMessage(ar));
         } else {
             int[] ints = (int[])ar.result;
 
diff --git a/telephony/java/com/android/internal/telephony/test/SimulatedCommands.java b/telephony/java/com/android/internal/telephony/test/SimulatedCommands.java
index 3675e78..fdcf78d 100644
--- a/telephony/java/com/android/internal/telephony/test/SimulatedCommands.java
+++ b/telephony/java/com/android/internal/telephony/test/SimulatedCommands.java
@@ -27,6 +27,7 @@
 import com.android.internal.telephony.CommandsInterface;
 import com.android.internal.telephony.DataCallState;
 import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.UUSInfo;
 import com.android.internal.telephony.gsm.CallFailCause;
 import com.android.internal.telephony.gsm.SmsBroadcastConfigInfo;
 import com.android.internal.telephony.gsm.SuppServiceNotification;
@@ -494,6 +495,23 @@
      *  retMsg.obj = AsyncResult ar
      *  ar.exception carries exception on failure
      *  ar.userObject contains the original value of result.obj
+     *  ar.result is null on success and failure
+     *
+     * CLIR_DEFAULT     == on "use subscription default value"
+     * CLIR_SUPPRESSION == on "CLIR suppression" (allow CLI presentation)
+     * CLIR_INVOCATION  == on "CLIR invocation" (restrict CLI presentation)
+     */
+    public void dial(String address, int clirMode, UUSInfo uusInfo, Message result) {
+        simulatedCallState.onDial(address);
+
+        resultSuccess(result, null);
+    }
+
+    /**
+     *  returned message
+     *  retMsg.obj = AsyncResult ar
+     *  ar.exception carries exception on failure
+     *  ar.userObject contains the original value of result.obj
      *  ar.result is String containing IMSI on success
      */
     public void getIMSI(Message result) {
diff --git a/telephony/tests/telephonytests/src/com/android/internal/telephony/PhoneNumberUtilsTest.java b/telephony/tests/telephonytests/src/com/android/internal/telephony/PhoneNumberUtilsTest.java
index b456a03..a74c5c2 100644
--- a/telephony/tests/telephonytests/src/com/android/internal/telephony/PhoneNumberUtilsTest.java
+++ b/telephony/tests/telephonytests/src/com/android/internal/telephony/PhoneNumberUtilsTest.java
@@ -85,6 +85,16 @@
         assertEquals("17005550020",
             PhoneNumberUtils.calledPartyBCDToString(b, 0, 7));
 
+        b[0] = (byte) 0x80; b[1] = (byte) 0x71; b[2] = (byte) 0x00; b[3] = (byte) 0x55;
+        b[4] = (byte) 0x05; b[5] = (byte) 0x20; b[6] = (byte) 0xF0;
+        assertEquals("17005550020",
+            PhoneNumberUtils.calledPartyBCDToString(b, 0, 7));
+
+        b[0] = (byte) 0x90; b[1] = (byte) 0x71; b[2] = (byte) 0x00; b[3] = (byte) 0x55;
+        b[4] = (byte) 0x05; b[5] = (byte) 0x20; b[6] = (byte) 0xF0;
+        assertEquals("+17005550020",
+            PhoneNumberUtils.calledPartyBCDToString(b, 0, 7));
+
         b[0] = (byte) 0x91; b[1] = (byte) 0x71; b[2] = (byte) 0x00; b[3] = (byte) 0x55;
         b[4] = (byte) 0x05; b[5] = (byte) 0x20; b[6] = (byte) 0xF0;
         assertEquals("+17005550020",
diff --git a/test-runner/Android.mk b/test-runner/Android.mk
index 962e96c..6d81b71 100644
--- a/test-runner/Android.mk
+++ b/test-runner/Android.mk
@@ -20,7 +20,7 @@
 
 LOCAL_SRC_FILES := $(call all-java-files-under, src)
 
-LOCAL_JAVA_LIBRARIES := core framework
+LOCAL_JAVA_LIBRARIES := core core-junit framework
 
 LOCAL_MODULE:= android.test.runner
 
diff --git a/test-runner/src/android/test/mock/MockCursor.java b/test-runner/src/android/test/mock/MockCursor.java
index 9b1c0ef..c817532 100644
--- a/test-runner/src/android/test/mock/MockCursor.java
+++ b/test-runner/src/android/test/mock/MockCursor.java
@@ -178,36 +178,11 @@
     }
 
     @SuppressWarnings("deprecation")
-    public boolean commitUpdates() {
-        throw new UnsupportedOperationException("unimplemented mock method");
-    }
-
-    @SuppressWarnings("deprecation")
-    public boolean commitUpdates(Map<? extends Long, ? extends Map<String, Object>> values) {
-        throw new UnsupportedOperationException("unimplemented mock method");
-    }
-
-    @SuppressWarnings("deprecation")
-    public boolean hasUpdates() {
-        throw new UnsupportedOperationException("unimplemented mock method");
-    }
-
-    @SuppressWarnings("deprecation")
     public void setNotificationUri(ContentResolver cr, Uri uri) {
         throw new UnsupportedOperationException("unimplemented mock method");
     }
 
     @SuppressWarnings("deprecation")
-    public boolean supportsUpdates() {
-        throw new UnsupportedOperationException("unimplemented mock method");
-    }
-
-    @SuppressWarnings("deprecation")
-    public boolean deleteRow() {
-        throw new UnsupportedOperationException("unimplemented mock method");
-    }
-
-    @SuppressWarnings("deprecation")
     public void unregisterContentObserver(ContentObserver observer) {
         throw new UnsupportedOperationException("unimplemented mock method");
     }
@@ -216,49 +191,4 @@
     public void unregisterDataSetObserver(DataSetObserver observer) {
         throw new UnsupportedOperationException("unimplemented mock method");
     }
-
-    @SuppressWarnings("deprecation")
-    public boolean updateBlob(int columnIndex, byte[] value) {
-        throw new UnsupportedOperationException("unimplemented mock method");
-    }
-
-    @SuppressWarnings("deprecation")
-    public boolean updateDouble(int columnIndex, double value) {
-        throw new UnsupportedOperationException("unimplemented mock method");
-    }
-
-    @SuppressWarnings("deprecation")
-    public boolean updateFloat(int columnIndex, float value) {
-        throw new UnsupportedOperationException("unimplemented mock method");
-    }
-
-    @SuppressWarnings("deprecation")
-    public boolean updateInt(int columnIndex, int value) {
-        throw new UnsupportedOperationException("unimplemented mock method");
-    }
-
-    @SuppressWarnings("deprecation")
-    public boolean updateLong(int columnIndex, long value) {
-        throw new UnsupportedOperationException("unimplemented mock method");
-    }
-
-    @SuppressWarnings("deprecation")
-    public boolean updateShort(int columnIndex, short value) {
-        throw new UnsupportedOperationException("unimplemented mock method");
-    }
-
-    @SuppressWarnings("deprecation")
-    public boolean updateString(int columnIndex, String value) {
-        throw new UnsupportedOperationException("unimplemented mock method");
-    }
-
-    @SuppressWarnings("deprecation")
-    public boolean updateToNull(int columnIndex) {
-        throw new UnsupportedOperationException("unimplemented mock method");
-    }
-
-    @SuppressWarnings("deprecation")
-    public void abortUpdates() {
-        throw new UnsupportedOperationException("unimplemented mock method");
-    }
 }
\ No newline at end of file
diff --git a/tests/DumpRenderTree/src/com/android/dumprendertree/FileFilter.java b/tests/DumpRenderTree/src/com/android/dumprendertree/FileFilter.java
index 0257a5e..41e0b2e 100644
--- a/tests/DumpRenderTree/src/com/android/dumprendertree/FileFilter.java
+++ b/tests/DumpRenderTree/src/com/android/dumprendertree/FileFilter.java
@@ -73,6 +73,7 @@
 
     static final String[] ignoreTestList = {
         "editing/selection/move-left-right.html", // Causes DumpRenderTree to hang
+        "fast/js/excessive-comma-usage.html", // Tests huge initializer list, causes OOM.
         "fast/js/regexp-charclass-crash.html", // RegExp is too large, causing OOM
         "fast/regex/test1.html", // Causes DumpRenderTree to hang with V8
         "fast/regex/slow.html" // Causes DumpRenderTree to hang with V8
diff --git a/tests/ImfTest/tests/src/com/android/imftest/samples/ImfBaseTestCase.java b/tests/ImfTest/tests/src/com/android/imftest/samples/ImfBaseTestCase.java
index 50e2009..bc77e04 100755
--- a/tests/ImfTest/tests/src/com/android/imftest/samples/ImfBaseTestCase.java
+++ b/tests/ImfTest/tests/src/com/android/imftest/samples/ImfBaseTestCase.java
@@ -19,6 +19,7 @@
 import android.app.Activity;
 import android.app.KeyguardManager;
 import android.content.Context;
+import android.content.Intent;
 import android.content.res.Configuration;
 import android.os.SystemClock;
 import android.test.InstrumentationTestCase;
@@ -38,7 +39,7 @@
     public final long WAIT_FOR_IME = 5000;
 
     /*
-     * Unfortunately there is now way for us to know how tall the IME is, 
+     * Unfortunately there is now way for us to know how tall the IME is,
      * so we have to hard code a minimum and maximum value.
      */
     public final int IME_MIN_HEIGHT = 150;
@@ -48,20 +49,23 @@
     protected T mTargetActivity;
     protected boolean mExpectAutoPop;
     private Class<T> mTargetActivityClass;
-    
+
     public ImfBaseTestCase(Class<T> activityClass) {
         mTargetActivityClass = activityClass;
     }
-    
+
     @Override
     public void setUp() throws Exception {
         super.setUp();
         final String packageName = getInstrumentation().getTargetContext().getPackageName();
-        mTargetActivity = launchActivity(packageName, mTargetActivityClass, null);
+        Intent intent = new Intent(Intent.ACTION_MAIN);
+        intent.addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
+        mTargetActivity = launchActivityWithIntent(packageName, mTargetActivityClass, intent);
         // expect ime to auto pop up if device has no hard keyboard
-        mExpectAutoPop = mTargetActivity.getResources().getConfiguration().hardKeyboardHidden == 
-            Configuration.HARDKEYBOARDHIDDEN_YES;
-        
+        int keyboardType = mTargetActivity.getResources().getConfiguration().keyboard;
+        mExpectAutoPop = (keyboardType  == Configuration.KEYBOARD_NOKEYS ||
+                keyboardType == Configuration.KEYBOARD_UNDEFINED);
+
         mImm = InputMethodManager.getInstance(mTargetActivity);
 
         KeyguardManager keyguardManager =
@@ -115,26 +119,26 @@
             assertFalse(destructiveCheckImeUp(rootView, servedView));
         }
     }
-    
+
     public boolean destructiveCheckImeUp(View rootView, View servedView) {
         int origHeight;
         int newHeight;
-        
+
         origHeight = rootView.getHeight();
-        
+
         // Tell the keyboard to go away.
         mImm.hideSoftInputFromWindow(servedView.getWindowToken(), 0);
-        
+
         // Give it five seconds to adjust
         newHeight = rootView.getHeight();
         long timeoutTime = SystemClock.uptimeMillis() + WAIT_FOR_IME;
         while (Math.abs(newHeight - origHeight) < IME_MIN_HEIGHT && SystemClock.uptimeMillis() < timeoutTime) {
             newHeight = rootView.getHeight();
         }
-        
+
         return (Math.abs(origHeight - newHeight) >= IME_MIN_HEIGHT);
     }
-    
+
     void pause(int millis) {
         try {
             Thread.sleep(millis);