am 2fc826ec: (-s ours) Import translations for late permission additions.

* commit '2fc826ec944cf85d1c3e65011091c58dc94110c0':
  Import translations for late permission additions.
diff --git a/Android.mk b/Android.mk
index 91850d5..5a40318 100644
--- a/Android.mk
+++ b/Android.mk
@@ -381,7 +381,7 @@
     -since ./frameworks/base/api/11.xml 11 \
     -since ./frameworks/base/api/12.xml 12 \
     -since ./frameworks/base/api/13.xml 13 \
-    -since ./frameworks/base/api/current.txt ICS \
+    -since ./frameworks/base/api/14.txt 14 \
 		-werror -hide 113 \
 		-overview $(LOCAL_PATH)/core/java/overview.html
 
@@ -400,6 +400,10 @@
 		            resources/samples/AccessibilityService "Accessibility Service" \
 		-samplecode $(sample_dir)/AccelerometerPlay \
 		            resources/samples/AccelerometerPlay "Accelerometer Play" \
+		-samplecode $(sample_dir)/ActionBarCompat \
+		            resources/samples/ActionBarCompat "Action Bar Compatibility" \
+                -samplecode $(sample_dir)/AndroidBeam \
+		            resources/samples/AndroidBeam "Android Beam" \
 		-samplecode $(sample_dir)/ApiDemos \
 		            resources/samples/ApiDemos "API Demos" \
 		-samplecode $(sample_dir)/Support4Demos \
@@ -414,12 +418,12 @@
 		            resources/samples/BusinessCard "Business Card" \
 		-samplecode $(sample_dir)/ContactManager \
 		            resources/samples/ContactManager "Contact Manager" \
-    -samplecode $(sample_dir)/CubeLiveWallpaper \
-                resources/samples/CubeLiveWallpaper "Cube Live Wallpaper" \
+		-samplecode $(sample_dir)/CubeLiveWallpaper \
+		            resources/samples/CubeLiveWallpaper "Cube Live Wallpaper" \
 		-samplecode $(sample_dir)/Home \
 		            resources/samples/Home "Home" \
-                -samplecode $(sample_dir)/HoneycombGallery \
-                            resources/samples/HoneycombGallery "Honeycomb Gallery" \
+		-samplecode $(sample_dir)/HoneycombGallery \
+		            resources/samples/HoneycombGallery "Honeycomb Gallery" \
 		-samplecode $(sample_dir)/JetBoy \
 		            resources/samples/JetBoy "JetBoy" \
 		-samplecode $(sample_dir)/LunarLander \
@@ -430,6 +434,8 @@
 		            resources/samples/NFCDemo "NFC Demo" \
 		-samplecode $(sample_dir)/NotePad \
 		            resources/samples/NotePad "Note Pad" \
+		-samplecode $(sample_dir)/SampleSpellCheckerService \
+		            resources/samples/SampleSpellCheckerService "Spell Checker" \
 		-samplecode $(sample_dir)/SampleSyncAdapter \
 		            resources/samples/SampleSyncAdapter "Sample Sync Adapter" \
 		-samplecode $(sample_dir)/RandomMusicPlayer \
@@ -473,7 +479,7 @@
 
 ## SDK version identifiers used in the published docs
   # major[.minor] version for current SDK. (full releases only)
-framework_docs_SDK_VERSION:=3.2
+framework_docs_SDK_VERSION:=4.0
   # release version (ie "Release x")  (full releases only)
 framework_docs_SDK_REL_ID:=1
 
diff --git a/CleanSpec.mk b/CleanSpec.mk
index 5ec9645..1c85279 100644
--- a/CleanSpec.mk
+++ b/CleanSpec.mk
@@ -113,6 +113,7 @@
 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/media/audio/)
 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/fonts/Lohit_Hindi.ttf)
 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/media/audio/)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/fonts/DroidSans*)
 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/media/audio/)
 # ************************************************
 # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
diff --git a/api/13.xml b/api/13.xml
index 2bfa04e..73995de 100644
--- a/api/13.xml
+++ b/api/13.xml
@@ -288451,7 +288451,7 @@
  type="double"
  transient="false"
  volatile="false"
- value="(-1.0 / 0.0)"
+ value="(-1.0/0.0)"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -288462,7 +288462,7 @@
  type="double"
  transient="false"
  volatile="false"
- value="(0.0 / 0.0)"
+ value="(0.0/0.0)"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -288473,7 +288473,7 @@
  type="double"
  transient="false"
  volatile="false"
- value="(1.0 / 0.0)"
+ value="(1.0/0.0)"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -289154,7 +289154,7 @@
  type="float"
  transient="false"
  volatile="false"
- value="(-1.0f / 0.0f)"
+ value="(-1.0f/0.0f)"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -289165,7 +289165,7 @@
  type="float"
  transient="false"
  volatile="false"
- value="(0.0f / 0.0f)"
+ value="(0.0f/0.0f)"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -289176,7 +289176,7 @@
  type="float"
  transient="false"
  volatile="false"
- value="(1.0f / 0.0f)"
+ value="(1.0f/0.0f)"
  static="true"
  final="true"
  deprecated="not deprecated"
diff --git a/build/phone-xhdpi-1024-dalvik-heap.mk b/build/phone-xhdpi-1024-dalvik-heap.mk
new file mode 100644
index 0000000..f76535a
--- /dev/null
+++ b/build/phone-xhdpi-1024-dalvik-heap.mk
@@ -0,0 +1,22 @@
+#
+# Copyright (C) 2011 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# Provides overrides to configure the Dalvik heap for a standard tablet device.
+
+PRODUCT_PROPERTY_OVERRIDES += \
+    dalvik.vm.heapstartsize=8m \
+    dalvik.vm.heapgrowthlimit=64m \
+    dalvik.vm.heapsize=256m
diff --git a/cmds/bu/src/com/android/commands/bu/Backup.java b/cmds/bu/src/com/android/commands/bu/Backup.java
index 4c4bf98..046ccca 100644
--- a/cmds/bu/src/com/android/commands/bu/Backup.java
+++ b/cmds/bu/src/com/android/commands/bu/Backup.java
@@ -66,6 +66,7 @@
         boolean saveApks = false;
         boolean saveShared = false;
         boolean doEverything = false;
+        boolean allIncludesSystem = true;
 
         String arg;
         while ((arg = nextArg()) != null) {
@@ -78,6 +79,10 @@
                     saveShared = true;
                 } else if ("-noshared".equals(arg)) {
                     saveShared = false;
+                } else if ("-system".equals(arg)) {
+                    allIncludesSystem = true;
+                } else if ("-nosystem".equals(arg)) {
+                    allIncludesSystem = false;
                 } else if ("-all".equals(arg)) {
                     doEverything = true;
                 } else {
@@ -102,7 +107,7 @@
         try {
             ParcelFileDescriptor fd = ParcelFileDescriptor.adoptFd(socketFd);
             String[] packArray = new String[packages.size()];
-            mBackupManager.fullBackup(fd, saveApks, saveShared, doEverything,
+            mBackupManager.fullBackup(fd, saveApks, saveShared, doEverything, allIncludesSystem,
                     packages.toArray(packArray));
         } catch (RemoteException e) {
             Log.e(TAG, "Unable to invoke backup manager for backup");
diff --git a/cmds/ip-up-vpn/ip-up-vpn.c b/cmds/ip-up-vpn/ip-up-vpn.c
index e9ee95d..0e6286f 100644
--- a/cmds/ip-up-vpn/ip-up-vpn.c
+++ b/cmds/ip-up-vpn/ip-up-vpn.c
@@ -40,6 +40,7 @@
 
 static int set_address(struct sockaddr *sa, const char *address) {
     sa->sa_family = AF_INET;
+    errno = EINVAL;
     return inet_pton(AF_INET, address, &((struct sockaddr_in *)sa)->sin_addr);
 }
 
@@ -124,10 +125,11 @@
         }
 
         /* Set the netmask. */
-        if (!set_address(&ifr.ifr_netmask, env("INTERNAL_NETMASK4")) ||
-                ioctl(s, SIOCSIFNETMASK, &ifr)) {
-            LOGE("Cannot set netmask: %s", strerror(errno));
-            return 1;
+        if (set_address(&ifr.ifr_netmask, env("INTERNAL_NETMASK4"))) {
+            if (ioctl(s, SIOCSIFNETMASK, &ifr)) {
+                LOGE("Cannot set netmask: %s", strerror(errno));
+                return 1;
+            }
         }
 
         /* TODO: Send few packets to trigger phase 2? */
diff --git a/cmds/stagefright/sf2.cpp b/cmds/stagefright/sf2.cpp
index 6fa66cf..f547e01 100644
--- a/cmds/stagefright/sf2.cpp
+++ b/cmds/stagefright/sf2.cpp
@@ -46,7 +46,8 @@
           mDecodeAudio(decodeAudio),
           mSurface(surface),
           mRenderToSurface(renderToSurface),
-          mCodec(new ACodec) {
+          mCodec(new ACodec),
+          mIsVorbis(false) {
         CHECK(!mDecodeAudio || mSurface == NULL);
     }
 
@@ -85,6 +86,12 @@
                     if (!strncasecmp(mDecodeAudio ? "audio/" : "video/",
                                      mime, 6)) {
                         mSource = extractor->getTrack(i);
+
+                        if (!strcasecmp(mime, MEDIA_MIMETYPE_AUDIO_VORBIS)) {
+                            mIsVorbis = true;
+                        } else {
+                            mIsVorbis = false;
+                        }
                         break;
                     }
                 }
@@ -227,6 +234,7 @@
     bool mRenderToSurface;
     sp<ACodec> mCodec;
     sp<MediaSource> mSource;
+    bool mIsVorbis;
 
     Vector<sp<ABuffer> > mCSD;
     size_t mCSDIndex;
@@ -369,6 +377,20 @@
 
             buffer->meta()->setInt32("csd", true);
             mCSD.push(buffer);
+        } else if (meta->findData(kKeyVorbisInfo, &type, &data, &size)) {
+            sp<ABuffer> buffer = new ABuffer(size);
+            memcpy(buffer->data(), data, size);
+
+            buffer->meta()->setInt32("csd", true);
+            mCSD.push(buffer);
+
+            CHECK(meta->findData(kKeyVorbisBooks, &type, &data, &size));
+
+            buffer = new ABuffer(size);
+            memcpy(buffer->data(), data, size);
+
+            buffer->meta()->setInt32("csd", true);
+            mCSD.push(buffer);
         }
 
         int32_t maxInputSize;
@@ -423,10 +445,17 @@
                     }
                 }
 
-                if (inBuffer->range_length() > sizeLeft) {
+                size_t sizeNeeded = inBuffer->range_length();
+                if (mIsVorbis) {
+                    // Vorbis data is suffixed with the number of
+                    // valid samples on the page.
+                    sizeNeeded += sizeof(int32_t);
+                }
+
+                if (sizeNeeded > sizeLeft) {
                     if (outBuffer->size() == 0) {
                         LOGE("Unable to fit even a single input buffer of size %d.",
-                             inBuffer->range_length());
+                             sizeNeeded);
                     }
                     CHECK_GT(outBuffer->size(), 0u);
 
@@ -448,10 +477,22 @@
                         + inBuffer->range_offset(),
                        inBuffer->range_length());
 
-                outBuffer->setRange(
-                        0, outBuffer->size() + inBuffer->range_length());
+                if (mIsVorbis) {
+                    int32_t numPageSamples;
+                    if (!inBuffer->meta_data()->findInt32(
+                                kKeyValidSamples, &numPageSamples)) {
+                        numPageSamples = -1;
+                    }
 
-                sizeLeft -= inBuffer->range_length();
+                    memcpy(outBuffer->data()
+                            + outBuffer->size() + inBuffer->range_length(),
+                           &numPageSamples, sizeof(numPageSamples));
+                }
+
+                outBuffer->setRange(
+                        0, outBuffer->size() + sizeNeeded);
+
+                sizeLeft -= sizeNeeded;
 
                 inBuffer->release();
                 inBuffer = NULL;
@@ -569,12 +610,16 @@
         CHECK(control->isValid());
 
         SurfaceComposerClient::openGlobalTransaction();
-        CHECK_EQ(control->setLayer(30000), (status_t)OK);
+        CHECK_EQ(control->setLayer(INT_MAX), (status_t)OK);
         CHECK_EQ(control->show(), (status_t)OK);
         SurfaceComposerClient::closeGlobalTransaction();
 
         surface = control->getSurface();
         CHECK(surface != NULL);
+
+        CHECK_EQ((status_t)OK,
+                 native_window_api_connect(
+                     surface.get(), NATIVE_WINDOW_API_MEDIA));
     }
 
     sp<Controller> controller =
@@ -589,6 +634,10 @@
     looper->unregisterHandler(controller->id());
 
     if (!decodeAudio && useSurface) {
+        CHECK_EQ((status_t)OK,
+                 native_window_api_disconnect(
+                     surface.get(), NATIVE_WINDOW_API_MEDIA));
+
         composerClient->dispose();
     }
 
diff --git a/cmds/stagefright/stagefright.cpp b/cmds/stagefright/stagefright.cpp
index 34f0a64..528d197 100644
--- a/cmds/stagefright/stagefright.cpp
+++ b/cmds/stagefright/stagefright.cpp
@@ -133,6 +133,39 @@
     }
 }
 
+static void dumpSource(const sp<MediaSource> &source, const String8 &filename) {
+    FILE *out = fopen(filename.string(), "wb");
+
+    CHECK_EQ((status_t)OK, source->start());
+
+    status_t err;
+    for (;;) {
+        MediaBuffer *mbuf;
+        err = source->read(&mbuf);
+
+        if (err == INFO_FORMAT_CHANGED) {
+            continue;
+        } else if (err != OK) {
+            break;
+        }
+
+        CHECK_EQ(
+                fwrite((const uint8_t *)mbuf->data() + mbuf->range_offset(),
+                       1,
+                       mbuf->range_length(),
+                       out),
+                (ssize_t)mbuf->range_length());
+
+        mbuf->release();
+        mbuf = NULL;
+    }
+
+    CHECK_EQ((status_t)OK, source->stop());
+
+    fclose(out);
+    out = NULL;
+}
+
 static void playSource(OMXClient *client, sp<MediaSource> &source) {
     sp<MetaData> meta = source->getFormat();
 
@@ -578,6 +611,7 @@
                     "(video only)\n");
     fprintf(stderr, "       -S allocate buffers from a surface\n");
     fprintf(stderr, "       -T allocate buffers from a surface texture\n");
+    fprintf(stderr, "       -d(ump) filename (raw stream data to a file)\n");
 }
 
 int main(int argc, char **argv) {
@@ -590,6 +624,8 @@
     bool seekTest = false;
     bool useSurfaceAlloc = false;
     bool useSurfaceTexAlloc = false;
+    bool dumpStream = false;
+    String8 dumpStreamFilename;
     gNumRepetitions = 1;
     gMaxNumFrames = 0;
     gReproduceBug = -1;
@@ -604,7 +640,7 @@
     sp<LiveSession> liveSession;
 
     int res;
-    while ((res = getopt(argc, argv, "han:lm:b:ptsrow:kxST")) >= 0) {
+    while ((res = getopt(argc, argv, "han:lm:b:ptsrow:kxSTd:")) >= 0) {
         switch (res) {
             case 'a':
             {
@@ -612,6 +648,13 @@
                 break;
             }
 
+            case 'd':
+            {
+                dumpStream = true;
+                dumpStreamFilename.setTo(optarg);
+                break;
+            }
+
             case 'l':
             {
                 listComponents = true;
@@ -874,7 +917,7 @@
             CHECK(control->isValid());
 
             SurfaceComposerClient::openGlobalTransaction();
-            CHECK_EQ(control->setLayer(30000), (status_t)OK);
+            CHECK_EQ(control->setLayer(INT_MAX), (status_t)OK);
             CHECK_EQ(control->show(), (status_t)OK);
             SurfaceComposerClient::closeGlobalTransaction();
 
@@ -886,6 +929,10 @@
             sp<SurfaceTexture> texture = new SurfaceTexture(0 /* tex */);
             gSurface = new SurfaceTextureClient(texture);
         }
+
+        CHECK_EQ((status_t)OK,
+                 native_window_api_connect(
+                     gSurface.get(), NATIVE_WINDOW_API_MEDIA));
     }
 
     DataSource::RegisterDefaultSniffers();
@@ -1062,6 +1109,8 @@
 
         if (gWriteMP4) {
             writeSourcesToMP4(mediaSources, syncInfoPresent);
+        } else if (dumpStream) {
+            dumpSource(mediaSource, dumpStreamFilename);
         } else if (seekTest) {
             performSeekTest(mediaSource);
         } else {
@@ -1077,6 +1126,10 @@
     }
 
     if ((useSurfaceAlloc || useSurfaceTexAlloc) && !audioOnly) {
+        CHECK_EQ((status_t)OK,
+                 native_window_api_disconnect(
+                     gSurface.get(), NATIVE_WINDOW_API_MEDIA));
+
         gSurface.clear();
 
         if (useSurfaceAlloc) {
diff --git a/cmds/stagefright/stream.cpp b/cmds/stagefright/stream.cpp
index b13236a..2378345 100644
--- a/cmds/stagefright/stream.cpp
+++ b/cmds/stagefright/stream.cpp
@@ -323,7 +323,7 @@
     CHECK(control->isValid());
 
     SurfaceComposerClient::openGlobalTransaction();
-    CHECK_EQ(control->setLayer(30000), (status_t)OK);
+    CHECK_EQ(control->setLayer(INT_MAX), (status_t)OK);
     CHECK_EQ(control->show(), (status_t)OK);
     SurfaceComposerClient::closeGlobalTransaction();
 
diff --git a/core/java/android/accounts/AccountManagerService.java b/core/java/android/accounts/AccountManagerService.java
index 173da8d..91def67 100644
--- a/core/java/android/accounts/AccountManagerService.java
+++ b/core/java/android/accounts/AccountManagerService.java
@@ -1811,6 +1811,14 @@
     }
 
     protected void dump(FileDescriptor fd, PrintWriter fout, String[] args) {
+        if (mContext.checkCallingOrSelfPermission(android.Manifest.permission.DUMP)
+                != PackageManager.PERMISSION_GRANTED) {
+            fout.println("Permission Denial: can't dump AccountsManager from from pid="
+                    + Binder.getCallingPid() + ", uid=" + Binder.getCallingUid()
+                    + " without permission " + android.Manifest.permission.DUMP);
+            return;
+        }
+
         synchronized (mCacheLock) {
             final SQLiteDatabase db = mOpenHelper.getReadableDatabase();
 
diff --git a/core/java/android/app/ActionBar.java b/core/java/android/app/ActionBar.java
index be00aa5..24d3a6b 100644
--- a/core/java/android/app/ActionBar.java
+++ b/core/java/android/app/ActionBar.java
@@ -29,16 +29,32 @@
 import android.widget.SpinnerAdapter;
 
 /**
- * Acts as a replacement for the title bar in Activities.
- * The action bar provides facilities for creating toolbar actions as well as
- * methods of navigating the application.
- * <p>By default, the action bar appears at the top of every activity, with the application icon on
- * the left, followed by the activity title. Items from the activity's options menu are also
- * accessible from the action bar.</p>
+ * A window feature at the top of the activity that may display the activity title, navigation
+ * modes, and other interactive items.
+ * <p>Beginning with Android 3.0 (API level 11), the action bar appears at the top of an
+ * activity's window when the activity uses the system's {@link
+ * android.R.style#Theme_Holo Holo} theme (or one of its descendant themes), which is the default.
+ * You may otherwise add the action bar by calling {@link
+ * android.view.Window#requestFeature requestFeature(FEATURE_ACTION_BAR)} or by declaring it in a
+ * custom theme with the {@link android.R.styleable#Theme_windowActionBar windowActionBar} property.
+ * <p>By default, the action bar shows the application icon on
+ * the left, followed by the activity title. If your activity has an options menu, you can make
+ * select items accessible directly from the action bar as "action items". You can also
+ * modify various characteristics of the action bar or remove it completely.</p>
  * <p>From your activity, you can retrieve an instance of {@link ActionBar} by calling {@link
  * android.app.Activity#getActionBar getActionBar()}.</p>
- * <p>For more information, read the <a href="{@docRoot}guide/topics/ui/actionbar.html">Action
+ * <p>In some cases, the action bar may be overlayed by another bar that enables contextual actions,
+ * using an {@link android.view.ActionMode}. For example, when the user selects one or more items in
+ * your activity, you can enable an action mode that offers actions specific to the selected
+ * items, with a UI that temporarily replaces the action bar. Although the UI may occupy the
+ * same space, the {@link android.view.ActionMode} APIs are distinct and independent from those for
+ * {@link ActionBar}.
+ * <div class="special reference">
+ * <h3>Developer Guides</h3>
+ * <p>For information about how to use the action bar, including how to add action items, navigation
+ * modes and more, read the <a href="{@docRoot}guide/topics/ui/actionbar.html">Action
  * Bar</a> developer guide.</p>
+ * </div>
  */
 public abstract class ActionBar {
     /**
@@ -423,6 +439,7 @@
      * Set the ActionBar's split background. This will appear in
      * the split action bar containing menu-provided action buttons
      * on some devices and configurations.
+     * <p>You can enable split action bar with {@link android.R.attr#uiOptions}
      *
      * @param d Background drawable for the split bar
      */
@@ -460,13 +477,6 @@
      * </ul>
      *
      * @return The current navigation mode.
-     * 
-     * @see #setStandardNavigationMode()
-     * @see #setStandardNavigationMode(CharSequence)
-     * @see #setStandardNavigationMode(CharSequence, CharSequence)
-     * @see #setDropdownNavigationMode(SpinnerAdapter)
-     * @see #setTabNavigationMode()
-     * @see #setCustomNavigationMode(View)
      */
     public abstract int getNavigationMode();
 
@@ -498,7 +508,6 @@
      * @return A new Tab
      *
      * @see #addTab(Tab)
-     * @see #insertTab(Tab, int)
      */
     public abstract Tab newTab();
 
@@ -606,7 +615,7 @@
     public abstract void show();
 
     /**
-     * Hide the ActionBar if it is not currently showing.
+     * Hide the ActionBar if it is currently showing.
      * If the window hosting the ActionBar does not have the feature
      * {@link Window#FEATURE_ACTION_BAR_OVERLAY} it will resize application
      * content to fit the new space available.
diff --git a/core/java/android/app/Activity.java b/core/java/android/app/Activity.java
index 034e3c7..8e8d37d 100644
--- a/core/java/android/app/Activity.java
+++ b/core/java/android/app/Activity.java
@@ -111,18 +111,6 @@
  * {@link android.R.styleable#AndroidManifestActivity &lt;activity&gt;}
  * declaration in their package's <code>AndroidManifest.xml</code>.</p>
  * 
- * <p>The Activity class is an important part of an application's overall lifecycle,
- * and the way activities are launched and put together is a fundamental
- * part of the platform's application model. For a detailed perspective on the structure of an
- * Android application and how activities behave, please read the
- * <a href="{@docRoot}guide/topics/fundamentals.html">Application Fundamentals</a> and
- * <a href="{@docRoot}guide/topics/fundamentals/tasks-and-back-stack.html">Tasks and Back Stack</a>
- * documents.</p>
- *
- * <p>You can also find a detailed discussion about how to create activities in the
- * <a href="{@docRoot}guide/topics/fundamentals/activities.html">Activities</a>
- * document.</p>
- * 
  * <p>Topics covered here:
  * <ol>
  * <li><a href="#Fragments">Fragments</a>
@@ -133,7 +121,22 @@
  * <li><a href="#Permissions">Permissions</a>
  * <li><a href="#ProcessLifecycle">Process Lifecycle</a>
  * </ol>
- * 
+ *
+ * <div class="special reference">
+ * <h3>Developer Guides</h3>
+ * <p>The Activity class is an important part of an application's overall lifecycle,
+ * and the way activities are launched and put together is a fundamental
+ * part of the platform's application model. For a detailed perspective on the structure of an
+ * Android application and how activities behave, please read the
+ * <a href="{@docRoot}guide/topics/fundamentals.html">Application Fundamentals</a> and
+ * <a href="{@docRoot}guide/topics/fundamentals/tasks-and-back-stack.html">Tasks and Back Stack</a>
+ * developer guides.</p>
+ *
+ * <p>You can also find a detailed discussion about how to create activities in the
+ * <a href="{@docRoot}guide/topics/fundamentals/activities.html">Activities</a>
+ * developer guide.</p>
+ * </div>
+ *
  * <a name="Fragments"></a>
  * <h3>Fragments</h3>
  *
@@ -3246,6 +3249,7 @@
         try {
             String resolvedType = null;
             if (fillInIntent != null) {
+                fillInIntent.setAllowFds(false);
                 resolvedType = fillInIntent.resolveTypeIfNeeded(getContentResolver());
             }
             int result = ActivityManagerNative.getDefault()
@@ -3370,6 +3374,7 @@
         if (mParent == null) {
             int result = IActivityManager.START_RETURN_INTENT_TO_CALLER;
             try {
+                intent.setAllowFds(false);
                 result = ActivityManagerNative.getDefault()
                     .startActivity(mMainThread.getApplicationThread(),
                             intent, intent.resolveTypeIfNeeded(
@@ -3419,6 +3424,7 @@
     public boolean startNextMatchingActivity(Intent intent) {
         if (mParent == null) {
             try {
+                intent.setAllowFds(false);
                 return ActivityManagerNative.getDefault()
                     .startNextMatchingActivity(mToken, intent);
             } catch (RemoteException e) {
@@ -3692,6 +3698,9 @@
             }
             if (false) Log.v(TAG, "Finishing self: token=" + mToken);
             try {
+                if (resultData != null) {
+                    resultData.setAllowFds(false);
+                }
                 if (ActivityManagerNative.getDefault()
                     .finishActivity(mToken, resultCode, resultData)) {
                     mFinished = true;
@@ -3812,6 +3821,7 @@
             int flags) {
         String packageName = getPackageName();
         try {
+            data.setAllowFds(false);
             IIntentSender target =
                 ActivityManagerNative.getDefault().getIntentSender(
                         IActivityManager.INTENT_SENDER_ACTIVITY_RESULT, packageName,
diff --git a/core/java/android/app/ActivityManagerNative.java b/core/java/android/app/ActivityManagerNative.java
index 7799779..b4471f0 100644
--- a/core/java/android/app/ActivityManagerNative.java
+++ b/core/java/android/app/ActivityManagerNative.java
@@ -1550,6 +1550,13 @@
             return true;
         }
 
+        case DISMISS_KEYGUARD_ON_NEXT_ACTIVITY_TRANSACTION: {
+            data.enforceInterface(IActivityManager.descriptor);
+            dismissKeyguardOnNextActivity();
+            reply.writeNoException();
+            return true;
+        }
+
         }
 
         return super.onTransact(code, data, reply, flags);
@@ -3504,5 +3511,15 @@
         reply.recycle();
     }
 
+    public void dismissKeyguardOnNextActivity() throws RemoteException {
+        Parcel data = Parcel.obtain();
+        Parcel reply = Parcel.obtain();
+        data.writeInterfaceToken(IActivityManager.descriptor);
+        mRemote.transact(DISMISS_KEYGUARD_ON_NEXT_ACTIVITY_TRANSACTION, data, reply, 0);
+        reply.readException();
+        data.recycle();
+        reply.recycle();
+    }
+
     private IBinder mRemote;
 }
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java
index 2c2a493..d2facdc 100644
--- a/core/java/android/app/ActivityThread.java
+++ b/core/java/android/app/ActivityThread.java
@@ -153,6 +153,7 @@
     final HashMap<IBinder, Service> mServices
             = new HashMap<IBinder, Service>();
     AppBindData mBoundApplication;
+    Profiler mProfiler;
     Configuration mConfiguration;
     Configuration mCompatConfiguration;
     Configuration mResConfiguration;
@@ -364,10 +365,6 @@
         ApplicationInfo appInfo;
         List<ProviderInfo> providers;
         ComponentName instrumentationName;
-        String profileFile;
-        ParcelFileDescriptor profileFd;
-        boolean autoStopProfiler;
-        boolean profiling;
         Bundle instrumentationArgs;
         IInstrumentationWatcher instrumentationWatcher;
         int debugMode;
@@ -375,10 +372,23 @@
         boolean persistent;
         Configuration config;
         CompatibilityInfo compatInfo;
-        boolean handlingProfiling;
+
+        /** Initial values for {@link Profiler}. */
+        String initProfileFile;
+        ParcelFileDescriptor initProfileFd;
+        boolean initAutoStopProfiler;
+
         public String toString() {
             return "AppBindData{appInfo=" + appInfo + "}";
         }
+    }
+
+    static final class Profiler {
+        String profileFile;
+        ParcelFileDescriptor profileFd;
+        boolean autoStopProfiler;
+        boolean profiling;
+        boolean handlingProfiling;
         public void setProfiler(String file, ParcelFileDescriptor fd) {
             if (profiling) {
                 if (fd != null) {
@@ -661,8 +671,6 @@
             data.appInfo = appInfo;
             data.providers = providers;
             data.instrumentationName = instrumentationName;
-            data.setProfiler(profileFile, profileFd);
-            data.autoStopProfiler = false;
             data.instrumentationArgs = instrumentationArgs;
             data.instrumentationWatcher = instrumentationWatcher;
             data.debugMode = debugMode;
@@ -670,6 +678,9 @@
             data.persistent = persistent;
             data.config = config;
             data.compatInfo = compatInfo;
+            data.initProfileFile = profileFile;
+            data.initProfileFd = profileFd;
+            data.initAutoStopProfiler = false;
             queueOrSendMessage(H.BIND_APPLICATION, data);
         }
 
@@ -1293,8 +1304,8 @@
         public final boolean queueIdle() {
             ActivityClientRecord a = mNewActivities;
             boolean stopProfiling = false;
-            if (mBoundApplication != null && mBoundApplication.profileFd != null
-                    && mBoundApplication.autoStopProfiler) {
+            if (mBoundApplication != null && mProfiler.profileFd != null
+                    && mProfiler.autoStopProfiler) {
                 stopProfiling = true;
             }
             if (a != null) {
@@ -1320,7 +1331,7 @@
                 } while (a != null);
             }
             if (stopProfiling) {
-                mBoundApplication.stopProfiling();
+                mProfiler.stopProfiling();
             }
             ensureJitEnabled();
             return false;
@@ -1467,7 +1478,7 @@
         }
 
         //Slog.i(TAG, "Resource: key=" + key + ", display metrics=" + metrics);
-        DisplayMetrics metrics = getDisplayMetricsLocked(compInfo, false);
+        DisplayMetrics metrics = getDisplayMetricsLocked(null, false);
         r = new Resources(assets, metrics, getConfiguration(), compInfo);
         if (false) {
             Slog.i(TAG, "Created app resources " + resDir + " " + r + ": "
@@ -1635,12 +1646,12 @@
     }
 
     public boolean isProfiling() {
-        return mBoundApplication != null && mBoundApplication.profileFile != null
-                && mBoundApplication.profileFd == null;
+        return mProfiler != null && mProfiler.profileFile != null
+                && mProfiler.profileFd == null;
     }
 
     public String getProfileFilePath() {
-        return mBoundApplication.profileFile;
+        return mProfiler.profileFile;
     }
 
     public Looper getLooper() {
@@ -1679,6 +1690,9 @@
             ContextImpl context = getSystemContext();
             context.init(new LoadedApk(this, "android", context, info,
                     CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO), null, this);
+
+            // give ourselves a default profiler
+            mProfiler = new Profiler();
         }
     }
 
@@ -1947,9 +1961,9 @@
         unscheduleGcIdler();
 
         if (r.profileFd != null) {
-            mBoundApplication.setProfiler(r.profileFile, r.profileFd);
-            mBoundApplication.startProfiling();
-            mBoundApplication.autoStopProfiler = r.autoStopProfiler;
+            mProfiler.setProfiler(r.profileFile, r.profileFd);
+            mProfiler.startProfiling();
+            mProfiler.autoStopProfiler = r.autoStopProfiler;
         }
 
         if (localLOGV) Slog.v(
@@ -2660,6 +2674,7 @@
             // Next have the activity save its current state and managed dialogs...
             if (!r.activity.mFinished && saveState) {
                 state = new Bundle();
+                state.setAllowFds(false);
                 mInstrumentation.callActivityOnSaveInstanceState(r.activity, state);
                 r.state = state;
             }
@@ -2761,6 +2776,7 @@
             if (!r.activity.mFinished && saveState) {
                 if (r.state == null) {
                     state = new Bundle();
+                    state.setAllowFds(false);
                     mInstrumentation.callActivityOnSaveInstanceState(r.activity, state);
                     r.state = state;
                 } else {
@@ -3292,6 +3308,7 @@
         }
         if (r.state == null && !r.stopped && !r.isPreHoneycomb()) {
             r.state = new Bundle();
+            r.state.setAllowFds(false);
             mInstrumentation.callActivityOnSaveInstanceState(r.activity, r.state);
         }
 
@@ -3459,7 +3476,7 @@
             return false;
         }
         int changes = mResConfiguration.updateFrom(config);
-        DisplayMetrics dm = getDisplayMetricsLocked(compat, true);
+        DisplayMetrics dm = getDisplayMetricsLocked(null, true);
 
         if (compat != null && (mResCompatibilityInfo == null ||
                 !mResCompatibilityInfo.equals(compat))) {
@@ -3500,7 +3517,20 @@
         
         return changes != 0;
     }
-    
+
+    final Configuration applyCompatConfiguration() {
+        Configuration config = mConfiguration;
+        if (mCompatConfiguration == null) {
+            mCompatConfiguration = new Configuration();
+        }
+        mCompatConfiguration.setTo(mConfiguration);
+        if (mResCompatibilityInfo != null && !mResCompatibilityInfo.supportsScreen()) {
+            mResCompatibilityInfo.applyToConfiguration(mCompatConfiguration);
+            config = mCompatConfiguration;
+        }
+        return config;
+    }
+
     final void handleConfigurationChanged(Configuration config, CompatibilityInfo compat) {
 
         ArrayList<ComponentCallbacks2> callbacks = null;
@@ -3529,14 +3559,7 @@
                 return;
             }
             mConfiguration.updateFrom(config);
-            if (mCompatConfiguration == null) {
-                mCompatConfiguration = new Configuration();
-            }
-            mCompatConfiguration.setTo(mConfiguration);
-            if (mResCompatibilityInfo != null && !mResCompatibilityInfo.supportsScreen()) {
-                mResCompatibilityInfo.applyToConfiguration(mCompatConfiguration);
-                config = mCompatConfiguration;
-            }
+            config = applyCompatConfiguration();
             callbacks = collectComponentCallbacksLocked(false, config);
         }
         
@@ -3570,10 +3593,10 @@
                     case 1:
                         ViewDebug.startLooperProfiling(pcd.path, pcd.fd.getFileDescriptor());
                         break;
-                    default:
-                        mBoundApplication.setProfiler(pcd.path, pcd.fd);
-                        mBoundApplication.autoStopProfiler = false;
-                        mBoundApplication.startProfiling();
+                    default:                        
+                        mProfiler.setProfiler(pcd.path, pcd.fd);
+                        mProfiler.autoStopProfiler = false;
+                        mProfiler.startProfiling();
                         break;
                 }
             } catch (RuntimeException e) {
@@ -3592,7 +3615,7 @@
                     ViewDebug.stopLooperProfiling();
                     break;
                 default:
-                    mBoundApplication.stopProfiling();
+                    mProfiler.stopProfiling();
                     break;
             }
         }
@@ -3685,6 +3708,11 @@
         mConfiguration = new Configuration(data.config);
         mCompatConfiguration = new Configuration(data.config);
 
+        mProfiler = new Profiler();
+        mProfiler.profileFile = data.initProfileFile;
+        mProfiler.profileFd = data.initProfileFd;
+        mProfiler.autoStopProfiler = data.initAutoStopProfiler;
+
         // send up app name; do this *before* waiting for debugger
         Process.setArgV0(data.processName);
         android.ddm.DdmHandleAppName.setAppName(data.processName);
@@ -3699,8 +3727,8 @@
             }
         }
 
-        if (data.profileFd != null) {
-            data.startProfiling();
+        if (mProfiler.profileFd != null) {
+            mProfiler.startProfiling();
         }
 
         // If the app is Honeycomb MR1 or earlier, switch its AsyncTask
@@ -3730,6 +3758,7 @@
          * in AppBindData can be safely assumed to be up to date
          */
         applyConfigurationToResourcesLocked(data.config, data.compatInfo);
+        applyCompatConfiguration();
 
         data.info = getPackageInfoNoCheck(data.appInfo, data.compatInfo);
 
@@ -3841,10 +3870,10 @@
             mInstrumentation.init(this, instrContext, appContext,
                     new ComponentName(ii.packageName, ii.name), data.instrumentationWatcher);
 
-            if (data.profileFile != null && !ii.handleProfiling
-                    && data.profileFd == null) {
-                data.handlingProfiling = true;
-                File file = new File(data.profileFile);
+            if (mProfiler.profileFile != null && !ii.handleProfiling
+                    && mProfiler.profileFd == null) {
+                mProfiler.handlingProfiling = true;
+                File file = new File(mProfiler.profileFile);
                 file.getParentFile().mkdirs();
                 Debug.startMethodTracing(file.toString(), 8 * 1024 * 1024);
             }
@@ -3896,8 +3925,8 @@
 
     /*package*/ final void finishInstrumentation(int resultCode, Bundle results) {
         IActivityManager am = ActivityManagerNative.getDefault();
-        if (mBoundApplication.profileFile != null && mBoundApplication.handlingProfiling
-                && mBoundApplication.profileFd == null) {
+        if (mProfiler.profileFile != null && mProfiler.handlingProfiling
+                && mProfiler.profileFd == null) {
             Debug.stopMethodTracing();
         }
         //Slog.i(TAG, "am: " + ActivityManagerNative.getDefault()
diff --git a/core/java/android/app/ContextImpl.java b/core/java/android/app/ContextImpl.java
index 2139704..2bf1fb7 100644
--- a/core/java/android/app/ContextImpl.java
+++ b/core/java/android/app/ContextImpl.java
@@ -874,6 +874,7 @@
         try {
             String resolvedType = null;
             if (fillInIntent != null) {
+                fillInIntent.setAllowFds(false);
                 resolvedType = fillInIntent.resolveTypeIfNeeded(getContentResolver());
             }
             int result = ActivityManagerNative.getDefault()
@@ -892,6 +893,7 @@
     public void sendBroadcast(Intent intent) {
         String resolvedType = intent.resolveTypeIfNeeded(getContentResolver());
         try {
+            intent.setAllowFds(false);
             ActivityManagerNative.getDefault().broadcastIntent(
                 mMainThread.getApplicationThread(), intent, resolvedType, null,
                 Activity.RESULT_OK, null, null, null, false, false);
@@ -903,6 +905,7 @@
     public void sendBroadcast(Intent intent, String receiverPermission) {
         String resolvedType = intent.resolveTypeIfNeeded(getContentResolver());
         try {
+            intent.setAllowFds(false);
             ActivityManagerNative.getDefault().broadcastIntent(
                 mMainThread.getApplicationThread(), intent, resolvedType, null,
                 Activity.RESULT_OK, null, null, receiverPermission, false, false);
@@ -915,6 +918,7 @@
             String receiverPermission) {
         String resolvedType = intent.resolveTypeIfNeeded(getContentResolver());
         try {
+            intent.setAllowFds(false);
             ActivityManagerNative.getDefault().broadcastIntent(
                 mMainThread.getApplicationThread(), intent, resolvedType, null,
                 Activity.RESULT_OK, null, null, receiverPermission, true, false);
@@ -946,6 +950,7 @@
         }
         String resolvedType = intent.resolveTypeIfNeeded(getContentResolver());
         try {
+            intent.setAllowFds(false);
             ActivityManagerNative.getDefault().broadcastIntent(
                 mMainThread.getApplicationThread(), intent, resolvedType, rd,
                 initialCode, initialData, initialExtras, receiverPermission,
@@ -958,6 +963,7 @@
     public void sendStickyBroadcast(Intent intent) {
         String resolvedType = intent.resolveTypeIfNeeded(getContentResolver());
         try {
+            intent.setAllowFds(false);
             ActivityManagerNative.getDefault().broadcastIntent(
                 mMainThread.getApplicationThread(), intent, resolvedType, null,
                 Activity.RESULT_OK, null, null, null, false, true);
@@ -989,6 +995,7 @@
         }
         String resolvedType = intent.resolveTypeIfNeeded(getContentResolver());
         try {
+            intent.setAllowFds(false);
             ActivityManagerNative.getDefault().broadcastIntent(
                 mMainThread.getApplicationThread(), intent, resolvedType, rd,
                 initialCode, initialData, initialExtras, null,
@@ -1005,6 +1012,7 @@
             intent.setDataAndType(intent.getData(), resolvedType);
         }
         try {
+            intent.setAllowFds(false);
             ActivityManagerNative.getDefault().unbroadcastIntent(
                 mMainThread.getApplicationThread(), intent);
         } catch (RemoteException e) {
@@ -1069,6 +1077,7 @@
     @Override
     public ComponentName startService(Intent service) {
         try {
+            service.setAllowFds(false);
             ComponentName cn = ActivityManagerNative.getDefault().startService(
                 mMainThread.getApplicationThread(), service,
                 service.resolveTypeIfNeeded(getContentResolver()));
@@ -1086,6 +1095,7 @@
     @Override
     public boolean stopService(Intent service) {
         try {
+            service.setAllowFds(false);
             int res = ActivityManagerNative.getDefault().stopService(
                 mMainThread.getApplicationThread(), service,
                 service.resolveTypeIfNeeded(getContentResolver()));
@@ -1116,6 +1126,7 @@
                     < android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
                 flags |= BIND_WAIVE_PRIORITY;
             }
+            service.setAllowFds(false);
             int res = ActivityManagerNative.getDefault().bindService(
                 mMainThread.getApplicationThread(), getActivityToken(),
                 service, service.resolveTypeIfNeeded(getContentResolver()),
@@ -1148,6 +1159,9 @@
     public boolean startInstrumentation(ComponentName className,
             String profileFile, Bundle arguments) {
         try {
+            if (arguments != null) {
+                arguments.setAllowFds(false);
+            }
             return ActivityManagerNative.getDefault().startInstrumentation(
                     className, profileFile, 0, arguments, null);
         } catch (RemoteException e) {
diff --git a/core/java/android/app/Fragment.java b/core/java/android/app/Fragment.java
index 3a08e6d..d423d98 100644
--- a/core/java/android/app/Fragment.java
+++ b/core/java/android/app/Fragment.java
@@ -162,9 +162,6 @@
  * constructor to instantiate it.  If the empty constructor is not available,
  * a runtime exception will occur in some cases during state restore.
  *
- * <p>For more documentation, also see the <a
- * href="{@docRoot}guide/topics/fundamentals/fragments.html">Fragments</a> developer guide.</p>
- *
  * <p>Topics covered here:
  * <ol>
  * <li><a href="#OlderPlatforms">Older Platforms</a>
@@ -173,6 +170,12 @@
  * <li><a href="#BackStack">Back Stack</a>
  * </ol>
  *
+ * <div class="special reference">
+ * <h3>Developer Guides</h3>
+ * <p>For more information about using fragments, read the
+ * <a href="{@docRoot}guide/topics/fundamentals/fragments.html">Fragments</a> developer guide.</p>
+ * </div>
+ *
  * <a name="OlderPlatforms"></a>
  * <h3>Older Platforms</h3>
  *
diff --git a/core/java/android/app/FragmentManager.java b/core/java/android/app/FragmentManager.java
index 7a6759f..3da4f29 100644
--- a/core/java/android/app/FragmentManager.java
+++ b/core/java/android/app/FragmentManager.java
@@ -45,6 +45,12 @@
 /**
  * Interface for interacting with {@link Fragment} objects inside of an
  * {@link Activity}
+ *
+ * <div class="special reference">
+ * <h3>Developer Guides</h3>
+ * <p>For more information about using fragments, read the
+ * <a href="{@docRoot}guide/topics/fundamentals/fragments.html">Fragments</a> developer guide.</p>
+ * </div>
  */
 public abstract class FragmentManager {
     /**
diff --git a/core/java/android/app/FragmentTransaction.java b/core/java/android/app/FragmentTransaction.java
index c1f3cd6..6e99899 100644
--- a/core/java/android/app/FragmentTransaction.java
+++ b/core/java/android/app/FragmentTransaction.java
@@ -2,6 +2,12 @@
 
 /**
  * API for performing a set of Fragment operations.
+ *
+ * <div class="special reference">
+ * <h3>Developer Guides</h3>
+ * <p>For more information about using fragments, read the
+ * <a href="{@docRoot}guide/topics/fundamentals/fragments.html">Fragments</a> developer guide.</p>
+ * </div>
  */
 public abstract class FragmentTransaction {
     /**
diff --git a/core/java/android/app/IActivityManager.java b/core/java/android/app/IActivityManager.java
index 27dd691..26813bf 100644
--- a/core/java/android/app/IActivityManager.java
+++ b/core/java/android/app/IActivityManager.java
@@ -372,6 +372,8 @@
 
     public void showBootMessage(CharSequence msg, boolean always) throws RemoteException;
 
+    public void dismissKeyguardOnNextActivity() throws RemoteException;
+
     /*
      * Private non-Binder interfaces
      */
@@ -602,4 +604,5 @@
     int UPDATE_PERSISTENT_CONFIGURATION_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+135;
     int GET_PROCESS_PSS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+136;
     int SHOW_BOOT_MESSAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+137;
+    int DISMISS_KEYGUARD_ON_NEXT_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+138;
 }
diff --git a/core/java/android/app/Instrumentation.java b/core/java/android/app/Instrumentation.java
index f3bc495..d7f5c55 100644
--- a/core/java/android/app/Instrumentation.java
+++ b/core/java/android/app/Instrumentation.java
@@ -1375,6 +1375,7 @@
             }
         }
         try {
+            intent.setAllowFds(false);
             int result = ActivityManagerNative.getDefault()
                 .startActivity(whoThread, intent,
                         intent.resolveTypeIfNeeded(who.getContentResolver()),
@@ -1415,6 +1416,7 @@
         try {
             String[] resolvedTypes = new String[intents.length];
             for (int i=0; i<intents.length; i++) {
+                intents[i].setAllowFds(false);
                 resolvedTypes[i] = intents[i].resolveTypeIfNeeded(who.getContentResolver());
             }
             int result = ActivityManagerNative.getDefault()
@@ -1471,6 +1473,7 @@
             }
         }
         try {
+            intent.setAllowFds(false);
             int result = ActivityManagerNative.getDefault()
                 .startActivity(whoThread, intent,
                         intent.resolveTypeIfNeeded(who.getContentResolver()),
diff --git a/core/java/android/app/IntentService.java b/core/java/android/app/IntentService.java
index 57a2695..96767ae 100644
--- a/core/java/android/app/IntentService.java
+++ b/core/java/android/app/IntentService.java
@@ -41,6 +41,12 @@
  * long as necessary (and will not block the application's main loop), but
  * only one request will be processed at a time.
  *
+ * <div class="special reference">
+ * <h3>Developer Guides</h3>
+ * <p>For a detailed discussion about how to create services, read the
+ * <a href="{@docRoot}guide/topics/fundamentals/services.html">Services</a> developer guide.</p>
+ * </div>
+ *
  * @see android.os.AsyncTask
  */
 public abstract class IntentService extends Service {
diff --git a/core/java/android/app/LoadedApk.java b/core/java/android/app/LoadedApk.java
index 2549c84..522f477 100644
--- a/core/java/android/app/LoadedApk.java
+++ b/core/java/android/app/LoadedApk.java
@@ -661,6 +661,9 @@
                             "Finishing broadcast to unregistered receiver");
                     IActivityManager mgr = ActivityManagerNative.getDefault();
                     try {
+                        if (extras != null) {
+                            extras.setAllowFds(false);
+                        }
                         mgr.finishReceiver(this, resultCode, data, extras, false);
                     } catch (RemoteException e) {
                         Slog.w(ActivityThread.TAG, "Couldn't finish broadcast to unregistered receiver");
diff --git a/core/java/android/app/LoaderManager.java b/core/java/android/app/LoaderManager.java
index 46a008d..89e9ddd 100644
--- a/core/java/android/app/LoaderManager.java
+++ b/core/java/android/app/LoaderManager.java
@@ -47,6 +47,12 @@
  *
  * {@sample development/samples/ApiDemos/src/com/example/android/apis/app/LoaderCursor.java
  *      fragment_cursor}
+ *
+ * <div class="special reference">
+ * <h3>Developer Guides</h3>
+ * <p>For more information about using loaders, read the
+ * <a href="{@docRoot}guide/topics/fundamentals/loaders.html">Loaders</a> developer guide.</p>
+ * </div>
  */
 public abstract class LoaderManager {
     /**
diff --git a/core/java/android/app/PendingIntent.java b/core/java/android/app/PendingIntent.java
index b4827cb..b0637a7 100644
--- a/core/java/android/app/PendingIntent.java
+++ b/core/java/android/app/PendingIntent.java
@@ -192,6 +192,7 @@
         String resolvedType = intent != null ? intent.resolveTypeIfNeeded(
                 context.getContentResolver()) : null;
         try {
+            intent.setAllowFds(false);
             IIntentSender target =
                 ActivityManagerNative.getDefault().getIntentSender(
                     IActivityManager.INTENT_SENDER_ACTIVITY, packageName,
@@ -249,6 +250,7 @@
         String packageName = context.getPackageName();
         String[] resolvedTypes = new String[intents.length];
         for (int i=0; i<intents.length; i++) {
+            intents[i].setAllowFds(false);
             resolvedTypes[i] = intents[i].resolveTypeIfNeeded(context.getContentResolver());
         }
         try {
@@ -287,6 +289,7 @@
         String resolvedType = intent != null ? intent.resolveTypeIfNeeded(
                 context.getContentResolver()) : null;
         try {
+            intent.setAllowFds(false);
             IIntentSender target =
                 ActivityManagerNative.getDefault().getIntentSender(
                     IActivityManager.INTENT_SENDER_BROADCAST, packageName,
@@ -324,6 +327,7 @@
         String resolvedType = intent != null ? intent.resolveTypeIfNeeded(
                 context.getContentResolver()) : null;
         try {
+            intent.setAllowFds(false);
             IIntentSender target =
                 ActivityManagerNative.getDefault().getIntentSender(
                     IActivityManager.INTENT_SENDER_SERVICE, packageName,
diff --git a/core/java/android/app/SearchManager.java b/core/java/android/app/SearchManager.java
index 5c4cc87..3290b9d 100644
--- a/core/java/android/app/SearchManager.java
+++ b/core/java/android/app/SearchManager.java
@@ -338,7 +338,7 @@
 
     /**
      * Column name for suggestions cursor. <i>Optional.</i> This column may be
-     * used to specify the time in (@link System#currentTimeMillis
+     * used to specify the time in {@link System#currentTimeMillis
      * System.currentTImeMillis()} (wall time in UTC) when an item was last
      * accessed within the results-providing application. If set, this may be
      * used to show more-recently-used items first.
diff --git a/core/java/android/app/Service.java b/core/java/android/app/Service.java
index ebde6e0..35bd8c0 100644
--- a/core/java/android/app/Service.java
+++ b/core/java/android/app/Service.java
@@ -50,10 +50,6 @@
  * Threads</a>.  The {@link IntentService} class is available
  * as a standard implementation of Service that has its own thread where it
  * schedules its work to be done.</p>
- *
- * <p>You can find a detailed discussion about how to create services in the 
- * <a href="{@docRoot}guide/topics/fundamentals/services.html">Services</a>
- * document.</p>
  * 
  * <p>Topics covered here:
  * <ol>
@@ -64,7 +60,13 @@
  * <li><a href="#LocalServiceSample">Local Service Sample</a>
  * <li><a href="#RemoteMessengerServiceSample">Remote Messenger Service Sample</a>
  * </ol>
- * 
+ *
+ * <div class="special reference">
+ * <h3>Developer Guides</h3>
+ * <p>For a detailed discussion about how to create services, read the
+ * <a href="{@docRoot}guide/topics/fundamentals/services.html">Services</a> developer guide.</p>
+ * </div>
+ *
  * <a name="WhatIsAService"></a>
  * <h3>What is a Service?</h3>
  * 
diff --git a/core/java/android/app/backup/IBackupManager.aidl b/core/java/android/app/backup/IBackupManager.aidl
index c154296..acdd0b5 100644
--- a/core/java/android/app/backup/IBackupManager.aidl
+++ b/core/java/android/app/backup/IBackupManager.aidl
@@ -157,11 +157,15 @@
      * @param allApps If <code>true</code>, the resulting tar stream will include all
      *     installed applications' data, not just those named in the <code>packageNames</code>
      *     parameter.
+     * @param allIncludesSystem If {@code true}, then {@code allApps} will be interpreted
+     *     as including packages pre-installed as part of the system. If {@code false},
+     *     then setting {@code allApps} to {@code true} will mean only that all 3rd-party
+     *     applications will be included in the dataset.
      * @param packageNames The package names of the apps whose data (and optionally .apk files)
      *     are to be backed up.  The <code>allApps</code> parameter supersedes this.
      */
     void fullBackup(in ParcelFileDescriptor fd, boolean includeApks, boolean includeShared,
-            boolean allApps, in String[] packageNames);
+            boolean allApps, boolean allIncludesSystem, in String[] packageNames);
 
     /**
      * Restore device content from the data stream passed through the given socket.  The
diff --git a/core/java/android/appwidget/AppWidgetHostView.java b/core/java/android/appwidget/AppWidgetHostView.java
index 960d7fb..761c7eb 100644
--- a/core/java/android/appwidget/AppWidgetHostView.java
+++ b/core/java/android/appwidget/AppWidgetHostView.java
@@ -16,13 +16,17 @@
 
 package android.appwidget;
 
+import android.content.ComponentName;
 import android.content.Context;
+import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.PackageManager.NameNotFoundException;
+import android.content.res.Resources;
 import android.graphics.Bitmap;
 import android.graphics.Canvas;
 import android.graphics.Color;
 import android.graphics.Paint;
+import android.os.Build;
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.os.SystemClock;
@@ -107,6 +111,54 @@
     public void setAppWidget(int appWidgetId, AppWidgetProviderInfo info) {
         mAppWidgetId = appWidgetId;
         mInfo = info;
+
+        // Sometimes the AppWidgetManager returns a null AppWidgetProviderInfo object for
+        // a widget, eg. for some widgets in safe mode.
+        if (info != null) {
+            // We add padding to the AppWidgetHostView if necessary
+            Padding padding = getPaddingForWidget(info.provider);
+            setPadding(padding.left, padding.top, padding.right, padding.bottom);
+        }
+    }
+
+    private static class Padding {
+        int left = 0;
+        int right = 0;
+        int top = 0;
+        int bottom = 0;
+    }
+
+    /**
+     * As of ICE_CREAM_SANDWICH we are automatically adding padding to widgets targeting
+     * ICE_CREAM_SANDWICH and higher. The new widget design guidelines strongly recommend
+     * that widget developers do not add extra padding to their widgets. This will help
+     * achieve consistency among widgets.
+     */
+    private Padding getPaddingForWidget(ComponentName component) {
+        PackageManager packageManager = mContext.getPackageManager();
+        Padding p = new Padding();
+        ApplicationInfo appInfo;
+
+        try {
+            appInfo = packageManager.getApplicationInfo(component.getPackageName(), 0);
+        } catch (Exception e) {
+            // if we can't find the package, return 0 padding
+            return p;
+        }
+
+        if (appInfo.targetSdkVersion >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
+            Resources r = getResources();
+            p.left = r.getDimensionPixelSize(com.android.internal.
+                    R.dimen.default_app_widget_padding_left);
+            p.right = r.getDimensionPixelSize(com.android.internal.
+                    R.dimen.default_app_widget_padding_right);
+            p.top = r.getDimensionPixelSize(com.android.internal.
+                    R.dimen.default_app_widget_padding_top);
+            p.bottom = r.getDimensionPixelSize(com.android.internal.
+                    R.dimen.default_app_widget_padding_bottom);
+        }
+
+        return p;
     }
 
     public int getAppWidgetId() {
diff --git a/core/java/android/bluetooth/BluetoothAdapter.java b/core/java/android/bluetooth/BluetoothAdapter.java
index 254c98f..ea5c3db 100644
--- a/core/java/android/bluetooth/BluetoothAdapter.java
+++ b/core/java/android/bluetooth/BluetoothAdapter.java
@@ -781,7 +781,7 @@
      * Get the current connection state of a profile.
      * This function can be used to check whether the local Bluetooth adapter
      * is connected to any remote device for a specific profile.
-     * Profile can be one of {@link BluetoothProfile#HEADSET},
+     * Profile can be one of {@link BluetoothProfile#HEALTH}, {@link BluetoothProfile#HEADSET},
      * {@link BluetoothProfile#A2DP}.
      *
      * <p>Requires {@link android.Manifest.permission#BLUETOOTH}.
@@ -1132,15 +1132,15 @@
     /**
      * Get the profile proxy object associated with the profile.
      *
-     * <p>Profile can be one of {@link BluetoothProfile#HEADSET} or
+     * <p>Profile can be one of {@link BluetoothProfile#HEALTH}, {@link BluetoothProfile#HEADSET} or
      * {@link BluetoothProfile#A2DP}. Clients must implements
      * {@link BluetoothProfile.ServiceListener} to get notified of
      * the connection status and to get the proxy object.
      *
      * @param context Context of the application
      * @param listener The service Listener for connection callbacks.
-     * @param profile The Bluetooth profile; either {@link BluetoothProfile#HEADSET}
-     *                or {@link BluetoothProfile#A2DP}.
+     * @param profile The Bluetooth profile; either {@link BluetoothProfile#HEALTH},
+     *                {@link BluetoothProfile#HEADSET} or {@link BluetoothProfile#A2DP}.
      * @return true on success, false on error
      */
     public boolean getProfileProxy(Context context, BluetoothProfile.ServiceListener listener,
@@ -1172,7 +1172,7 @@
      *
      * <p> Clients should call this when they are no longer using
      * the proxy obtained from {@link #getProfileProxy}.
-     * Profile can be one of {@link BluetoothProfile#HEADSET} or
+     * Profile can be one of  {@link BluetoothProfile#HEALTH}, {@link BluetoothProfile#HEADSET} or
      * {@link BluetoothProfile#A2DP}
      *
      * @param profile
diff --git a/core/java/android/bluetooth/BluetoothProfile.java b/core/java/android/bluetooth/BluetoothProfile.java
index f7ccfbd..1920efa 100644
--- a/core/java/android/bluetooth/BluetoothProfile.java
+++ b/core/java/android/bluetooth/BluetoothProfile.java
@@ -161,9 +161,9 @@
         /**
          * Called to notify the client when the proxy object has been
          * connected to the service.
-         * @param profile - One of {@link #HEADSET} or
+         * @param profile - One of {@link #HEALTH}, {@link #HEADSET} or
          *                  {@link #A2DP}
-         * @param proxy - One of {@link BluetoothHeadset} or
+         * @param proxy - One of {@link BluetoothHealth}, {@link BluetoothHeadset} or
          *                {@link BluetoothA2dp}
          */
         public void onServiceConnected(int profile, BluetoothProfile proxy);
@@ -171,7 +171,7 @@
         /**
          * Called to notify the client that this proxy object has been
          * disconnected from the service.
-         * @param profile - One of {@link #HEADSET} or
+         * @param profile - One of {@link #HEALTH}, {@link #HEADSET} or
          *                  {@link #A2DP}
          */
         public void onServiceDisconnected(int profile);
diff --git a/core/java/android/content/BroadcastReceiver.java b/core/java/android/content/BroadcastReceiver.java
index 028149b..d71a8d6 100644
--- a/core/java/android/content/BroadcastReceiver.java
+++ b/core/java/android/content/BroadcastReceiver.java
@@ -90,7 +90,14 @@
  * <li><a href="#Permissions">Permissions</a>
  * <li><a href="#ProcessLifecycle">Process Lifecycle</a>
  * </ol>
- * 
+ *
+ * <div class="special reference">
+ * <h3>Developer Guides</h3>
+ * <p>For information about how to use this class to receive and resolve intents, read the
+ * <a href="{@docRoot}guide/topics/intents/intents-filters.html">Intents and Intent Filters</a>
+ * developer guide.</p>
+ * </div>
+ *
  * <a name="ReceiverLifecycle"></a>
  * <h3>Receiver Lifecycle</h3>
  * 
@@ -366,6 +373,9 @@
                 mFinished = true;
             
                 try {
+                    if (mResultExtras != null) {
+                        mResultExtras.setAllowFds(false);
+                    }
                     if (mOrderedHint) {
                         am.finishReceiver(mToken, mResultCode, mResultData, mResultExtras,
                                 mAbortBroadcast);
@@ -462,6 +472,7 @@
         IActivityManager am = ActivityManagerNative.getDefault();
         IBinder binder = null;
         try {
+            service.setAllowFds(false);
             binder = am.peekService(service, service.resolveTypeIfNeeded(
                     myContext.getContentResolver()));
         } catch (RemoteException e) {
diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java
index 72cf26a..2be5153 100644
--- a/core/java/android/content/Intent.java
+++ b/core/java/android/content/Intent.java
@@ -55,13 +55,21 @@
  * {@link android.content.Context#bindService} to communicate with a
  * background {@link android.app.Service}.
  *
- * <p>An Intent provides a facility for performing late runtime binding between
- * the code in different applications.  Its most significant use is in the
- * launching of activities, where it can be thought of as the glue between
- * activities. It is
- * basically a passive data structure holding an abstract description of an
- * action to be performed. The primary pieces of information in an intent
- * are:</p>
+ * <p>An Intent provides a facility for performing late runtime binding between the code in
+ * different applications. Its most significant use is in the launching of activities, where it
+ * can be thought of as the glue between activities. It is basically a passive data structure 
+ * holding an abstract description of an action to be performed.</p> 
+ *
+ * <div class="special reference">
+ * <h3>Developer Guides</h3>
+ * <p>For information about how to create and resolve intents, read the
+ * <a href="{@docRoot}guide/topics/intents/intents-filters.html">Intents and Intent Filters</a>
+ * developer guide.</p>
+ * </div>
+ *
+ * <a name="IntentStructure"></a>
+ * <h3>Intent Structure</h3>
+ * <p>The primary pieces of information in an intent are:</p>
  *
  * <ul>
  *   <li> <p><b>action</b> -- The general action to be performed, such as
@@ -3568,6 +3576,13 @@
         return mExtras != null && mExtras.hasFileDescriptors();
     }
 
+    /** @hide */
+    public void setAllowFds(boolean allowFds) {
+        if (mExtras != null) {
+            mExtras.setAllowFds(allowFds);
+        }
+    }
+
     /**
      * Retrieve extended data from the intent.
      *
@@ -5577,24 +5592,35 @@
 
     @Override
     public String toString() {
-        StringBuilder   b = new StringBuilder(128);
+        StringBuilder b = new StringBuilder(128);
 
         b.append("Intent { ");
-        toShortString(b, true, true);
+        toShortString(b, true, true, true);
         b.append(" }");
 
         return b.toString();
     }
 
     /** @hide */
-    public String toShortString(boolean comp, boolean extras) {
-        StringBuilder   b = new StringBuilder(128);
-        toShortString(b, comp, extras);
+    public String toInsecureString() {
+        StringBuilder b = new StringBuilder(128);
+
+        b.append("Intent { ");
+        toShortString(b, false, true, true);
+        b.append(" }");
+
         return b.toString();
     }
 
     /** @hide */
-    public void toShortString(StringBuilder b, boolean comp, boolean extras) {
+    public String toShortString(boolean secure, boolean comp, boolean extras) {
+        StringBuilder b = new StringBuilder(128);
+        toShortString(b, secure, comp, extras);
+        return b.toString();
+    }
+
+    /** @hide */
+    public void toShortString(StringBuilder b, boolean secure, boolean comp, boolean extras) {
         boolean first = true;
         if (mAction != null) {
             b.append("act=").append(mAction);
@@ -5621,19 +5647,8 @@
             }
             first = false;
             b.append("dat=");
-            String scheme = mData.getScheme();
-            if (scheme != null) {
-                if (scheme.equalsIgnoreCase("tel")) {
-                    b.append("tel:xxx-xxx-xxxx");
-                } else if (scheme.equalsIgnoreCase("sip")) {
-                    b.append("sip:xxxxxxxxxx");
-                } else if (scheme.equalsIgnoreCase("sms")) {
-                    b.append("sms:xxx-xxx-xxxx");
-                } else if (scheme.equalsIgnoreCase("smsto")) {
-                    b.append("smsto:xxx-xxx-xxxx");
-                } else {
-                    b.append(mData);
-                }
+            if (secure) {
+                b.append(mData.toSafeString());
             } else {
                 b.append(mData);
             }
diff --git a/core/java/android/content/IntentFilter.java b/core/java/android/content/IntentFilter.java
index f9b3fd5..3b0d846 100644
--- a/core/java/android/content/IntentFilter.java
+++ b/core/java/android/content/IntentFilter.java
@@ -71,6 +71,14 @@
  * To specify a path, you also must specify both one or more authorities and
  * one or more schemes it is associated with.
  *
+ * <div class="special reference">
+ * <h3>Developer Guides</h3>
+ * <p>For information about how to create and resolve intents, read the
+ * <a href="{@docRoot}guide/topics/intents/intents-filters.html">Intents and Intent Filters</a>
+ * developer guide.</p>
+ * </div>
+ *
+ * <h3>Filter Rules</h3>
  * <p>A match is based on the following rules.  Note that
  * for an IntentFilter to match an Intent, three conditions must hold:
  * the <strong>action</strong> and <strong>category</strong> must match, and
diff --git a/core/java/android/content/Loader.java b/core/java/android/content/Loader.java
index 368c33e..b962800 100644
--- a/core/java/android/content/Loader.java
+++ b/core/java/android/content/Loader.java
@@ -40,8 +40,12 @@
  *
  * <p>Most implementations should not derive directly from this class, but
  * instead inherit from {@link AsyncTaskLoader}.</p>
- * <p>For more information, see the <a
- * href="{@docRoot}guide/topics/fundamentals/loaders.html">Loaders</a> developer guide.</p>
+ *
+ * <div class="special reference">
+ * <h3>Developer Guides</h3>
+ * <p>For more information about using loaders, read the
+ * <a href="{@docRoot}guide/topics/fundamentals/loaders.html">Loaders</a> developer guide.</p>
+ * </div>
  *
  * @param <D> The result returned when the load is complete
  */
diff --git a/core/java/android/content/SyncManager.java b/core/java/android/content/SyncManager.java
index 684c4fe..4225393 100644
--- a/core/java/android/content/SyncManager.java
+++ b/core/java/android/content/SyncManager.java
@@ -16,6 +16,26 @@
 
 package android.content;
 
+import com.android.internal.R;
+import com.android.internal.util.ArrayUtils;
+import com.google.android.collect.Lists;
+import com.google.android.collect.Maps;
+
+import android.accounts.Account;
+import android.accounts.AccountManager;
+import android.accounts.OnAccountsUpdateListener;
+import android.app.AlarmManager;
+import android.app.Notification;
+import android.app.NotificationManager;
+import android.app.PendingIntent;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.ProviderInfo;
+import android.content.pm.RegisteredServicesCache;
+import android.content.pm.RegisteredServicesCacheListener;
+import android.content.pm.ResolveInfo;
+import android.net.ConnectivityManager;
+import android.net.NetworkInfo;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.HandlerThread;
@@ -27,27 +47,6 @@
 import android.os.RemoteException;
 import android.os.SystemClock;
 import android.os.SystemProperties;
-import com.google.android.collect.Lists;
-import com.google.android.collect.Maps;
-
-import com.android.internal.R;
-import com.android.internal.util.ArrayUtils;
-
-import android.accounts.Account;
-import android.accounts.AccountManager;
-import android.accounts.OnAccountsUpdateListener;
-import android.app.AlarmManager;
-import android.app.Notification;
-import android.app.NotificationManager;
-import android.app.PendingIntent;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageManager;
-import android.content.pm.ResolveInfo;
-import android.content.pm.RegisteredServicesCache;
-import android.content.pm.ProviderInfo;
-import android.content.pm.RegisteredServicesCacheListener;
-import android.net.ConnectivityManager;
-import android.net.NetworkInfo;
 import android.os.WorkSource;
 import android.provider.Settings;
 import android.text.format.DateUtils;
@@ -59,12 +58,15 @@
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.Comparator;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Map;
 import java.util.Random;
 import java.util.concurrent.CountDownLatch;
 
@@ -1006,9 +1008,8 @@
     }
 
     protected void dump(FileDescriptor fd, PrintWriter pw) {
-        StringBuilder sb = new StringBuilder();
-        dumpSyncState(pw, sb);
-        dumpSyncHistory(pw, sb);
+        dumpSyncState(pw);
+        dumpSyncHistory(pw);
 
         pw.println();
         pw.println("SyncAdapters:");
@@ -1023,7 +1024,7 @@
         return tobj.format("%Y-%m-%d %H:%M:%S");
     }
 
-    protected void dumpSyncState(PrintWriter pw, StringBuilder sb) {
+    protected void dumpSyncState(PrintWriter pw) {
         pw.print("data connected: "); pw.println(mDataConnectionIsConnected);
         pw.print("memory low: "); pw.println(mStorageIsLow);
 
@@ -1055,7 +1056,7 @@
         }
 
         pw.print("notification info: ");
-        sb.setLength(0);
+        final StringBuilder sb = new StringBuilder();
         mSyncHandler.mSyncNotificationInfo.toString(sb);
         pw.println(sb.toString());
 
@@ -1204,7 +1205,205 @@
         pw.println(")");
     }
 
-    protected void dumpSyncHistory(PrintWriter pw, StringBuilder sb) {
+    protected void dumpSyncHistory(PrintWriter pw) {
+        dumpRecentHistory(pw);
+        dumpDayStatistics(pw);
+    }
+
+    private void dumpRecentHistory(PrintWriter pw) {
+        final ArrayList<SyncStorageEngine.SyncHistoryItem> items
+                = mSyncStorageEngine.getSyncHistory();
+        if (items != null && items.size() > 0) {
+            final Map<String, AuthoritySyncStats> authorityMap = Maps.newHashMap();
+            long totalElapsedTime = 0;
+            long totalTimes = 0;
+            final int N = items.size();
+
+            int maxAuthority = 0;
+            int maxAccount = 0;
+            for (SyncStorageEngine.SyncHistoryItem item : items) {
+                SyncStorageEngine.AuthorityInfo authority
+                        = mSyncStorageEngine.getAuthority(item.authorityId);
+                final String authorityName;
+                final String accountKey;
+                if (authority != null) {
+                    authorityName = authority.authority;
+                    accountKey = authority.account.name + "/" + authority.account.type;
+                } else {
+                    authorityName = "Unknown";
+                    accountKey = "Unknown";
+                }
+
+                int length = authorityName.length();
+                if (length > maxAuthority) {
+                    maxAuthority = length;
+                }
+                length = accountKey.length();
+                if (length > maxAccount) {
+                    maxAccount = length;
+                }
+
+                final long elapsedTime = item.elapsedTime;
+                totalElapsedTime += elapsedTime;
+                totalTimes++;
+                AuthoritySyncStats authoritySyncStats = authorityMap.get(authorityName);
+                if (authoritySyncStats == null) {
+                    authoritySyncStats = new AuthoritySyncStats(authorityName);
+                    authorityMap.put(authorityName, authoritySyncStats);
+                }
+                authoritySyncStats.elapsedTime += elapsedTime;
+                authoritySyncStats.times++;
+                final Map<String, AccountSyncStats> accountMap = authoritySyncStats.accountMap;
+                AccountSyncStats accountSyncStats = accountMap.get(accountKey);
+                if (accountSyncStats == null) {
+                    accountSyncStats = new AccountSyncStats(accountKey);
+                    accountMap.put(accountKey, accountSyncStats);
+                }
+                accountSyncStats.elapsedTime += elapsedTime;
+                accountSyncStats.times++;
+
+            }
+
+            pw.println();
+            pw.printf("Detailed Statistics (Recent history):  %d (# of times) %ds (sync time)\n",
+                    totalTimes, totalElapsedTime / 1000);
+
+            final List<AuthoritySyncStats> sortedAuthorities =
+                    new ArrayList<AuthoritySyncStats>(authorityMap.values());
+            Collections.sort(sortedAuthorities, new Comparator<AuthoritySyncStats>() {
+                @Override
+                public int compare(AuthoritySyncStats lhs, AuthoritySyncStats rhs) {
+                    // reverse order
+                    int compare = Integer.compare(rhs.times, lhs.times);
+                    if (compare == 0) {
+                        compare = Long.compare(rhs.elapsedTime, lhs.elapsedTime);
+                    }
+                    return compare;
+                }
+            });
+
+            final int maxLength = Math.max(maxAuthority, maxAccount + 3);
+            final int padLength = 2 + 2 + maxLength + 2 + 10 + 11;
+            final char chars[] = new char[padLength];
+            Arrays.fill(chars, '-');
+            final String separator = new String(chars);
+
+            final String authorityFormat = String.format("  %%-%ds: %%-9s  %%-11s\n", maxLength + 2);
+            final String accountFormat = String.format("    %%-%ds:   %%-9s  %%-11s\n", maxLength);
+
+            pw.println(separator);
+            for (AuthoritySyncStats authoritySyncStats : sortedAuthorities) {
+                String name = authoritySyncStats.name;
+                long elapsedTime;
+                int times;
+                String timeStr;
+                String timesStr;
+
+                elapsedTime = authoritySyncStats.elapsedTime;
+                times = authoritySyncStats.times;
+                timeStr = String.format("%ds/%d%%",
+                        elapsedTime / 1000,
+                        elapsedTime * 100 / totalElapsedTime);
+                timesStr = String.format("%d/%d%%",
+                        times,
+                        times * 100 / totalTimes);
+                pw.printf(authorityFormat, name, timesStr, timeStr);
+
+                final List<AccountSyncStats> sortedAccounts =
+                        new ArrayList<AccountSyncStats>(
+                                authoritySyncStats.accountMap.values());
+                Collections.sort(sortedAccounts, new Comparator<AccountSyncStats>() {
+                    @Override
+                    public int compare(AccountSyncStats lhs, AccountSyncStats rhs) {
+                        // reverse order
+                        int compare = Integer.compare(rhs.times, lhs.times);
+                        if (compare == 0) {
+                            compare = Long.compare(rhs.elapsedTime, lhs.elapsedTime);
+                        }
+                        return compare;
+                    }
+                });
+                for (AccountSyncStats stats: sortedAccounts) {
+                    elapsedTime = stats.elapsedTime;
+                    times = stats.times;
+                    timeStr = String.format("%ds/%d%%",
+                            elapsedTime / 1000,
+                            elapsedTime * 100 / totalElapsedTime);
+                    timesStr = String.format("%d/%d%%",
+                            times,
+                            times * 100 / totalTimes);
+                    pw.printf(accountFormat, stats.name, timesStr, timeStr);
+                }
+                pw.println(separator);
+            }
+
+            pw.println();
+            pw.println("Recent Sync History");
+            final String format = "  %-" + maxAccount + "s  %s\n";
+            final Map<String, Long> lastTimeMap = Maps.newHashMap();
+
+            for (int i = 0; i < N; i++) {
+                SyncStorageEngine.SyncHistoryItem item = items.get(i);
+                SyncStorageEngine.AuthorityInfo authority
+                        = mSyncStorageEngine.getAuthority(item.authorityId);
+                final String authorityName;
+                final String accountKey;
+                if (authority != null) {
+                    authorityName = authority.authority;
+                    accountKey = authority.account.name + "/" + authority.account.type;
+                } else {
+                    authorityName = "Unknown";
+                    accountKey = "Unknown";
+                }
+                final long elapsedTime = item.elapsedTime;
+                final Time time = new Time();
+                final long eventTime = item.eventTime;
+                time.set(eventTime);
+
+                final String key = authorityName + "/" + accountKey;
+                final Long lastEventTime = lastTimeMap.get(key);
+                final String diffString;
+                if (lastEventTime == null) {
+                    diffString = "";
+                } else {
+                    final long diff = (lastEventTime - eventTime) / 1000;
+                    if (diff < 60) {
+                        diffString = String.valueOf(diff);
+                    } else if (diff < 3600) {
+                        diffString = String.format("%02d:%02d", diff / 60, diff % 60);
+                    } else {
+                        final long sec = diff % 3600;
+                        diffString = String.format("%02d:%02d:%02d",
+                                diff / 3600, sec / 60, sec % 60);
+                    }
+                }
+                lastTimeMap.put(key, eventTime);
+
+                pw.printf("  #%-3d: %s %8s  %5.1fs  %8s",
+                        i + 1,
+                        formatTime(eventTime),
+                        SyncStorageEngine.SOURCES[item.source],
+                        ((float) elapsedTime) / 1000,
+                        diffString);
+                pw.printf(format, accountKey, authorityName);
+
+                if (item.event != SyncStorageEngine.EVENT_STOP
+                        || item.upstreamActivity != 0
+                        || item.downstreamActivity != 0) {
+                    pw.printf("    event=%d upstreamActivity=%d downstreamActivity=%d\n",
+                            item.event,
+                            item.upstreamActivity,
+                            item.downstreamActivity);
+                }
+                if (item.mesg != null
+                        && !SyncStorageEngine.MESG_SUCCESS.equals(item.mesg)) {
+                    pw.printf("    mesg=%s\n", item.mesg);
+                }
+            }
+        }
+    }
+
+    private void dumpDayStatistics(PrintWriter pw) {
         SyncStorageEngine.DayStats dses[] = mSyncStorageEngine.getDayStatistics();
         if (dses != null && dses[0] != null) {
             pw.println();
@@ -1254,47 +1453,26 @@
                 }
             }
         }
+    }
 
-        ArrayList<SyncStorageEngine.SyncHistoryItem> items
-                = mSyncStorageEngine.getSyncHistory();
-        if (items != null && items.size() > 0) {
-            pw.println();
-            pw.println("Recent Sync History");
-            final int N = items.size();
-            for (int i=0; i<N; i++) {
-                SyncStorageEngine.SyncHistoryItem item = items.get(i);
-                SyncStorageEngine.AuthorityInfo authority
-                        = mSyncStorageEngine.getAuthority(item.authorityId);
-                pw.print("  #"); pw.print(i+1); pw.print(": ");
-                        if (authority != null) {
-                            pw.print(authority.account.name);
-                            pw.print(":");
-                            pw.print(authority.account.type);
-                            pw.print(" ");
-                            pw.print(authority.authority);
-                        } else {
-                            pw.print("<no account>");
-                        }
-                Time time = new Time();
-                time.set(item.eventTime);
-                pw.print(" "); pw.print(SyncStorageEngine.SOURCES[item.source]);
-                        pw.print(" @ ");
-                        pw.print(formatTime(item.eventTime));
-                        pw.print(" for ");
-                        dumpTimeSec(pw, item.elapsedTime);
-                        pw.println();
-                if (item.event != SyncStorageEngine.EVENT_STOP
-                        || item.upstreamActivity !=0
-                        || item.downstreamActivity != 0) {
-                    pw.print("    event="); pw.print(item.event);
-                            pw.print(" upstreamActivity="); pw.print(item.upstreamActivity);
-                            pw.print(" downstreamActivity="); pw.println(item.downstreamActivity);
-                }
-                if (item.mesg != null
-                        && !SyncStorageEngine.MESG_SUCCESS.equals(item.mesg)) {
-                    pw.print("    mesg="); pw.println(item.mesg);
-                }
-            }
+    private static class AuthoritySyncStats {
+        String name;
+        long elapsedTime;
+        int times;
+        Map<String, AccountSyncStats> accountMap = Maps.newHashMap();
+
+        private AuthoritySyncStats(String name) {
+            this.name = name;
+        }
+    }
+
+    private static class AccountSyncStats {
+        String name;
+        long elapsedTime;
+        int times;
+
+        private AccountSyncStats(String name) {
+            this.name = name;
         }
     }
 
diff --git a/core/java/android/content/pm/ActivityInfo.java b/core/java/android/content/pm/ActivityInfo.java
index bba329d..0e6694de 100644
--- a/core/java/android/content/pm/ActivityInfo.java
+++ b/core/java/android/content/pm/ActivityInfo.java
@@ -442,7 +442,11 @@
     public int uiOptions = 0;
 
     /**
-     * Flag for use with uiOptions.
+     * Flag for use with {@link #uiOptions}.
+     * Indicates that the action bar should put all action items in a separate bar when
+     * the screen is narrow.
+     * <p>This value corresponds to "splitActionBarWhenNarrow" for the {@link #uiOptions} XML
+     * attribute.
      */
     public static final int UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW = 1;
 
diff --git a/core/java/android/content/pm/PackageInfoLite.java b/core/java/android/content/pm/PackageInfoLite.java
index da97fde0..9625944 100644
--- a/core/java/android/content/pm/PackageInfoLite.java
+++ b/core/java/android/content/pm/PackageInfoLite.java
@@ -41,6 +41,8 @@
     public int recommendedInstallLocation;
     public int installLocation;
 
+    public VerifierInfo[] verifiers;
+
     public PackageInfoLite() {
     }
 
@@ -58,6 +60,13 @@
         dest.writeString(packageName);
         dest.writeInt(recommendedInstallLocation);
         dest.writeInt(installLocation);
+
+        if (verifiers == null || verifiers.length == 0) {
+            dest.writeInt(0);
+        } else {
+            dest.writeInt(verifiers.length);
+            dest.writeTypedArray(verifiers, parcelableFlags);
+        }
     }
 
     public static final Parcelable.Creator<PackageInfoLite> CREATOR
@@ -75,5 +84,13 @@
         packageName = source.readString();
         recommendedInstallLocation = source.readInt();
         installLocation = source.readInt();
+
+        final int verifiersLength = source.readInt();
+        if (verifiersLength == 0) {
+            verifiers = new VerifierInfo[0];
+        } else {
+            verifiers = new VerifierInfo[verifiersLength];
+            source.readTypedArray(verifiers, VerifierInfo.CREATOR);
+        }
     }
 }
diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java
index ef7e233..7a7e4f4 100644
--- a/core/java/android/content/pm/PackageManager.java
+++ b/core/java/android/content/pm/PackageManager.java
@@ -725,6 +725,16 @@
     public static final int MOVE_EXTERNAL_MEDIA = 0x00000002;
 
     /**
+     * Usable by the required verifier as the {@code verificationCode} argument
+     * for {@link PackageManager#verifyPendingInstall} to indicate that it will
+     * allow the installation to proceed without any of the optional verifiers
+     * needing to vote.
+     *
+     * @hide
+     */
+    public static final int VERIFICATION_ALLOW_WITHOUT_SUFFICIENT = 2;
+
+    /**
      * Used as the {@code verificationCode} argument for
      * {@link PackageManager#verifyPendingInstall} to indicate that the calling
      * package verifier allows the installation to proceed.
@@ -2527,6 +2537,7 @@
      * {@link #COMPONENT_ENABLED_STATE_DEFAULT}.  The last one means the
      * application's enabled state is based on the original information in
      * the manifest as found in {@link ComponentInfo}.
+     * @throws IllegalArgumentException if the named package does not exist.
      */
     public abstract int getApplicationEnabledSetting(String packageName);
 
diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java
index e7b844c..c30675b 100644
--- a/core/java/android/content/pm/PackageParser.java
+++ b/core/java/android/content/pm/PackageParser.java
@@ -28,7 +28,9 @@
 import android.os.Bundle;
 import android.os.PatternMatcher;
 import android.util.AttributeSet;
+import android.util.Base64;
 import android.util.DisplayMetrics;
+import android.util.Log;
 import android.util.Slog;
 import android.util.TypedValue;
 import com.android.internal.util.XmlUtils;
@@ -40,11 +42,18 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.lang.ref.WeakReference;
+import java.security.KeyFactory;
+import java.security.NoSuchAlgorithmException;
+import java.security.PublicKey;
 import java.security.cert.Certificate;
 import java.security.cert.CertificateEncodingException;
+import java.security.spec.EncodedKeySpec;
+import java.security.spec.InvalidKeySpecException;
+import java.security.spec.X509EncodedKeySpec;
 import java.util.ArrayList;
 import java.util.Enumeration;
 import java.util.Iterator;
+import java.util.List;
 import java.util.jar.Attributes;
 import java.util.jar.JarEntry;
 import java.util.jar.JarFile;
@@ -150,12 +159,14 @@
      * @hide
      */
     public static class PackageLite {
-        public String packageName;
-        public int installLocation;
-        public String mScanPath;
-        public PackageLite(String packageName, int installLocation) {
+        public final String packageName;
+        public final int installLocation;
+        public final VerifierInfo[] verifiers;
+
+        public PackageLite(String packageName, int installLocation, List<VerifierInfo> verifiers) {
             this.packageName = packageName;
             this.installLocation = installLocation;
+            this.verifiers = verifiers.toArray(new VerifierInfo[verifiers.size()]);
         }
     }
 
@@ -619,8 +630,9 @@
      * @return PackageLite object with package information or null on failure.
      */
     public static PackageLite parsePackageLite(String packageFilePath, int flags) {
-        XmlResourceParser parser = null;
         AssetManager assmgr = null;
+        final XmlResourceParser parser;
+        final Resources res;
         try {
             assmgr = new AssetManager();
             assmgr.setConfiguration(0, 0, null, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -631,6 +643,9 @@
                 return null;
             }
 
+            final DisplayMetrics metrics = new DisplayMetrics();
+            metrics.setToDefaults();
+            res = new Resources(assmgr, metrics, null);
             parser = assmgr.openXmlResourceParser(cookie, ANDROID_MANIFEST_FILENAME);
         } catch (Exception e) {
             if (assmgr != null) assmgr.close();
@@ -638,11 +653,12 @@
                     + packageFilePath, e);
             return null;
         }
-        AttributeSet attrs = parser;
-        String errors[] = new String[1];
+
+        final AttributeSet attrs = parser;
+        final String errors[] = new String[1];
         PackageLite packageLite = null;
         try {
-            packageLite = parsePackageLite(parser, attrs, flags, errors);
+            packageLite = parsePackageLite(res, parser, attrs, flags, errors);
         } catch (IOException e) {
             Slog.w(TAG, packageFilePath, e);
         } catch (XmlPullParserException e) {
@@ -719,9 +735,9 @@
         return pkgName.intern();
     }
 
-    private static PackageLite parsePackageLite(XmlPullParser parser,
-            AttributeSet attrs, int flags, String[] outError)
-            throws IOException, XmlPullParserException {
+    private static PackageLite parsePackageLite(Resources res, XmlPullParser parser,
+            AttributeSet attrs, int flags, String[] outError) throws IOException,
+            XmlPullParserException {
 
         int type;
         while ((type = parser.next()) != XmlPullParser.START_TAG
@@ -759,7 +775,26 @@
                 break;
             }
         }
-        return new PackageLite(pkgName.intern(), installLocation);
+
+        // Only search the tree when the tag is directly below <manifest>
+        final int searchDepth = parser.getDepth() + 1;
+
+        final List<VerifierInfo> verifiers = new ArrayList<VerifierInfo>();
+        while ((type = parser.next()) != XmlPullParser.END_DOCUMENT
+                && (type != XmlPullParser.END_TAG || parser.getDepth() >= searchDepth)) {
+            if (type == XmlPullParser.END_TAG || type == XmlPullParser.TEXT) {
+                continue;
+            }
+
+            if (parser.getDepth() == searchDepth && "package-verifier".equals(parser.getName())) {
+                final VerifierInfo verifier = parseVerifier(res, parser, attrs, flags, outError);
+                if (verifier != null) {
+                    verifiers.add(verifier);
+                }
+            }
+        }
+
+        return new PackageLite(pkgName.intern(), installLocation, verifiers);
     }
 
     /**
@@ -2691,6 +2726,63 @@
         return data;
     }
 
+    private static VerifierInfo parseVerifier(Resources res, XmlPullParser parser,
+            AttributeSet attrs, int flags, String[] outError) throws XmlPullParserException,
+            IOException {
+        final TypedArray sa = res.obtainAttributes(attrs,
+                com.android.internal.R.styleable.AndroidManifestPackageVerifier);
+
+        final String packageName = sa.getNonResourceString(
+                com.android.internal.R.styleable.AndroidManifestPackageVerifier_name);
+
+        final String encodedPublicKey = sa.getNonResourceString(
+                com.android.internal.R.styleable.AndroidManifestPackageVerifier_publicKey);
+
+        sa.recycle();
+
+        if (packageName == null || packageName.length() == 0) {
+            Slog.i(TAG, "verifier package name was null; skipping");
+            return null;
+        } else if (encodedPublicKey == null) {
+            Slog.i(TAG, "verifier " + packageName + " public key was null; skipping");
+        }
+
+        EncodedKeySpec keySpec;
+        try {
+            final byte[] encoded = Base64.decode(encodedPublicKey, Base64.DEFAULT);
+            keySpec = new X509EncodedKeySpec(encoded);
+        } catch (IllegalArgumentException e) {
+            Slog.i(TAG, "Could not parse verifier " + packageName + " public key; invalid Base64");
+            return null;
+        }
+
+        /* First try the key as an RSA key. */
+        try {
+            final KeyFactory keyFactory = KeyFactory.getInstance("RSA");
+            final PublicKey publicKey = keyFactory.generatePublic(keySpec);
+            return new VerifierInfo(packageName, publicKey);
+        } catch (NoSuchAlgorithmException e) {
+            Log.wtf(TAG, "Could not parse public key because RSA isn't included in build");
+            return null;
+        } catch (InvalidKeySpecException e) {
+            // Not a RSA public key.
+        }
+
+        /* Now try it as a DSA key. */
+        try {
+            final KeyFactory keyFactory = KeyFactory.getInstance("DSA");
+            final PublicKey publicKey = keyFactory.generatePublic(keySpec);
+            return new VerifierInfo(packageName, publicKey);
+        } catch (NoSuchAlgorithmException e) {
+            Log.wtf(TAG, "Could not parse public key because DSA isn't included in build");
+            return null;
+        } catch (InvalidKeySpecException e) {
+            // Not a DSA public key.
+        }
+
+        return null;
+    }
+
     private static final String ANDROID_RESOURCES
             = "http://schemas.android.com/apk/res/android";
 
diff --git a/core/java/android/content/pm/Signature.java b/core/java/android/content/pm/Signature.java
index c6aefb8..9c9340d 100644
--- a/core/java/android/content/pm/Signature.java
+++ b/core/java/android/content/pm/Signature.java
@@ -19,7 +19,12 @@
 import android.os.Parcel;
 import android.os.Parcelable;
 
+import java.io.ByteArrayInputStream;
 import java.lang.ref.SoftReference;
+import java.security.PublicKey;
+import java.security.cert.Certificate;
+import java.security.cert.CertificateException;
+import java.security.cert.CertificateFactory;
 import java.util.Arrays;
 
 /**
@@ -135,6 +140,20 @@
         return bytes;
     }
 
+    /**
+     * Returns the public key for this signature.
+     *
+     * @throws CertificateException when Signature isn't a valid X.509
+     *             certificate; shouldn't happen.
+     * @hide
+     */
+    public PublicKey getPublicKey() throws CertificateException {
+        final CertificateFactory certFactory = CertificateFactory.getInstance("X.509");
+        final ByteArrayInputStream bais = new ByteArrayInputStream(mSignature);
+        final Certificate cert = certFactory.generateCertificate(bais);
+        return cert.getPublicKey();
+    }
+
     @Override
     public boolean equals(Object obj) {
         try {
diff --git a/core/java/android/content/pm/VerifierInfo.aidl b/core/java/android/content/pm/VerifierInfo.aidl
new file mode 100644
index 0000000..7702d38
--- /dev/null
+++ b/core/java/android/content/pm/VerifierInfo.aidl
@@ -0,0 +1,19 @@
+/*
+ * Copyright 2011, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.content.pm;
+
+parcelable VerifierInfo;
diff --git a/core/java/android/content/pm/VerifierInfo.java b/core/java/android/content/pm/VerifierInfo.java
new file mode 100644
index 0000000..0a2b283
--- /dev/null
+++ b/core/java/android/content/pm/VerifierInfo.java
@@ -0,0 +1,83 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.content.pm;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+import java.security.PublicKey;
+
+/**
+ * Contains information about a package verifier as used by
+ * {@code PackageManagerService} during package verification.
+ *
+ * @hide
+ */
+public class VerifierInfo implements Parcelable {
+    /** Package name of the verifier. */
+    public final String packageName;
+
+    /** Signatures used to sign the package verifier's package. */
+    public final PublicKey publicKey;
+
+    /**
+     * Creates an object that represents a verifier info object.
+     *
+     * @param packageName the package name in Java-style. Must not be {@code
+     *            null} or empty.
+     * @param publicKey the public key for the signer encoded in Base64. Must
+     *            not be {@code null} or empty.
+     * @throws IllegalArgumentException if either argument is null or empty.
+     */
+    public VerifierInfo(String packageName, PublicKey publicKey) {
+        if (packageName == null || packageName.length() == 0) {
+            throw new IllegalArgumentException("packageName must not be null or empty");
+        } else if (publicKey == null) {
+            throw new IllegalArgumentException("publicKey must not be null");
+        }
+
+        this.packageName = packageName;
+        this.publicKey = publicKey;
+    }
+
+    private VerifierInfo(Parcel source) {
+        packageName = source.readString();
+        publicKey = (PublicKey) source.readSerializable();
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    @Override
+    public void writeToParcel(Parcel dest, int flags) {
+        dest.writeString(packageName);
+        dest.writeSerializable(publicKey);
+    }
+
+    public static final Parcelable.Creator<VerifierInfo> CREATOR
+            = new Parcelable.Creator<VerifierInfo>() {
+        public VerifierInfo createFromParcel(Parcel source) {
+            return new VerifierInfo(source);
+        }
+
+        public VerifierInfo[] newArray(int size) {
+            return new VerifierInfo[size];
+        }
+    };
+}
\ No newline at end of file
diff --git a/core/java/android/hardware/Camera.java b/core/java/android/hardware/Camera.java
index e40de26..c3a14ca 100644
--- a/core/java/android/hardware/Camera.java
+++ b/core/java/android/hardware/Camera.java
@@ -201,7 +201,7 @@
         public static final int CAMERA_FACING_FRONT = 1;
 
         /**
-         * The direction that the camera faces to. It should be
+         * The direction that the camera faces. It should be
          * CAMERA_FACING_BACK or CAMERA_FACING_FRONT.
          */
         public int facing;
@@ -1055,9 +1055,9 @@
         /**
          * Notify the listener of the detected faces in the preview frame.
          *
-         * @param faces the detected faces. The list is sorted by the score.
-         *              The highest score is the first element.
-         * @param camera  the Camera service object
+         * @param faces The detected faces in a list sorted by the confidence score.
+         *              The highest scored face is the first element.
+         * @param camera  The {@link Camera} service object
          */
         void onFaceDetection(Face[] faces, Camera camera);
     }
@@ -1105,7 +1105,7 @@
     /**
      * Stops the face detection.
      *
-     * @see #startFaceDetection(int)
+     * @see #startFaceDetection()
      */
     public final void stopFaceDetection() {
         _stopFaceDetection();
@@ -1116,8 +1116,12 @@
     private native final void _stopFaceDetection();
 
     /**
-     * The information of a face from camera face detection.
+     * Information about a face identified through camera face detection.
+     * 
+     * <p>When face detection is used with a camera, the {@link FaceDetectionListener} returns a
+     * list of face objects for use in focusing and metering.</p>
      *
+     * @see FaceDetectionListener
      */
     public static class Face {
         /**
@@ -1138,15 +1142,15 @@
          * the sensor sees. The direction is not affected by the rotation or
          * mirroring of {@link #setDisplayOrientation(int)}.</p>
          *
-         * @see #startFaceDetection(int)
+         * @see #startFaceDetection()
          */
         public Rect rect;
 
         /**
-         * The confidence level of the face. The range is 1 to 100. 100 is the
+         * The confidence level for the detection of the face. The range is 1 to 100. 100 is the
          * highest confidence.
          *
-         * @see #startFaceDetection(int)
+         * @see #startFaceDetection()
          */
         public int score;
 
@@ -3144,7 +3148,7 @@
          * supported.
          *
          * @return the maximum number of detected face supported by the camera.
-         * @see #startFaceDetection(int)
+         * @see #startFaceDetection()
          */
         public int getMaxNumDetectedFaces() {
             return getInt(KEY_MAX_NUM_DETECTED_FACES_HW, 0);
diff --git a/core/java/android/inputmethodservice/Keyboard.java b/core/java/android/inputmethodservice/Keyboard.java
index 10386f8..4fe54c0 100644
--- a/core/java/android/inputmethodservice/Keyboard.java
+++ b/core/java/android/inputmethodservice/Keyboard.java
@@ -144,6 +144,8 @@
     /** Number of key widths from current touch point to search for nearest keys. */
     private static float SEARCH_DISTANCE = 1.8f;
 
+    private ArrayList<Row> rows = new ArrayList<Row>();
+
     /**
      * Container for keys in the keyboard. All keys in a row are at the same Y-coordinate. 
      * Some of the key size defaults can be overridden per row from what the {@link Keyboard}
@@ -164,6 +166,9 @@
         public int defaultHorizontalGap;
         /** Vertical gap following this row. */
         public int verticalGap;
+
+        ArrayList<Key> mKeys = new ArrayList<Key>();
+
         /**
          * Edge flags for this row of keys. Possible values that can be assigned are
          * {@link Keyboard#EDGE_TOP EDGE_TOP} and {@link Keyboard#EDGE_BOTTOM EDGE_BOTTOM}  
@@ -256,7 +261,7 @@
         public CharSequence text;
         /** Popup characters */
         public CharSequence popupCharacters;
-        
+
         /** 
          * Flags that specify the anchoring to edges of the keyboard for detecting touch events
          * that are just out of the boundary of the key. This is a bit mask of 
@@ -596,11 +601,44 @@
             column++;
             x += key.width + key.gap;
             mKeys.add(key);
+            row.mKeys.add(key);
             if (x > mTotalWidth) {
                 mTotalWidth = x;
             }
         }
-        mTotalHeight = y + mDefaultHeight; 
+        mTotalHeight = y + mDefaultHeight;
+        rows.add(row);
+    }
+
+    final void resize(int newWidth, int newHeight) {
+        int numRows = rows.size();
+        for (int rowIndex = 0; rowIndex < numRows; ++rowIndex) {
+            Row row = rows.get(rowIndex);
+            int numKeys = row.mKeys.size();
+            int totalGap = 0;
+            int totalWidth = 0;
+            for (int keyIndex = 0; keyIndex < numKeys; ++keyIndex) {
+                Key key = row.mKeys.get(keyIndex);
+                if (keyIndex > 0) {
+                    totalGap += key.gap;
+                }
+                totalWidth += key.width;
+            }
+            if (totalGap + totalWidth > newWidth) {
+                int x = 0;
+                float scaleFactor = (float)(newWidth - totalGap) / totalWidth;
+                for (int keyIndex = 0; keyIndex < numKeys; ++keyIndex) {
+                    Key key = row.mKeys.get(keyIndex);
+                    key.width *= scaleFactor;
+                    key.x = x;
+                    x += key.width + key.gap;
+                }
+            }
+        }
+        mTotalWidth = newWidth;
+        // TODO: This does not adjust the vertical placement according to the new size.
+        // The main problem in the previous code was horizontal placement/size, but we should
+        // also recalculate the vertical sizes/positions when we get this resize call.
     }
     
     public List<Key> getKeys() {
@@ -749,7 +787,7 @@
         Row currentRow = null;
         Resources res = context.getResources();
         boolean skipRow = false;
-        
+
         try {
             int event;
             while ((event = parser.next()) != XmlResourceParser.END_DOCUMENT) {
@@ -759,6 +797,7 @@
                         inRow = true;
                         x = 0;
                         currentRow = createRowFromXml(res, parser);
+                        rows.add(currentRow);
                         skipRow = currentRow.mode != 0 && currentRow.mode != mKeyboardMode;
                         if (skipRow) {
                             skipToEndOfRow(parser);
@@ -781,6 +820,7 @@
                         } else if (key.codes[0] == KEYCODE_ALT) {
                             mModifierKeys.add(key);
                         }
+                        currentRow.mKeys.add(key);
                     } else if (TAG_KEYBOARD.equals(tag)) {
                         parseKeyboardAttributes(res, parser);
                     }
diff --git a/core/java/android/inputmethodservice/KeyboardView.java b/core/java/android/inputmethodservice/KeyboardView.java
index 05444f6..5343e2a 100644
--- a/core/java/android/inputmethodservice/KeyboardView.java
+++ b/core/java/android/inputmethodservice/KeyboardView.java
@@ -248,6 +248,8 @@
     private AccessibilityManager mAccessibilityManager;
     /** The audio manager for accessibility support */
     private AudioManager mAudioManager;
+    /** Whether the requirement of a headset to hear passwords if accessibility is enabled is announced. */
+    private boolean mHeadsetRequiredToHearPasswordsAnnounced;
 
     Handler mHandler = new Handler() {
         @Override
@@ -376,6 +378,7 @@
         initGestureDetector();
     }
 
+
     private void initGestureDetector() {
         mGestureDetector = new GestureDetector(getContext(), new GestureDetector.SimpleOnGestureListener() {
             @Override
@@ -615,6 +618,9 @@
     @Override
     public void onSizeChanged(int w, int h, int oldw, int oldh) {
         super.onSizeChanged(w, h, oldw, oldh);
+        if (mKeyboard != null) {
+            mKeyboard.resize(w, h);
+        }
         // Release the buffer, if any and it will be reallocated on the next draw
         mBuffer = null;
     }
@@ -848,13 +854,15 @@
                 Key oldKey = keys[oldKeyIndex];
                 oldKey.onReleased(mCurrentKeyIndex == NOT_A_KEY);
                 invalidateKey(oldKeyIndex);
-                sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_HOVER_EXIT, oldKey.codes[0]);
+                sendAccessibilityEventForUnicodeCharacter(AccessibilityEvent.TYPE_VIEW_HOVER_EXIT,
+                        oldKey.codes[0]);
             }
             if (mCurrentKeyIndex != NOT_A_KEY && keys.length > mCurrentKeyIndex) {
                 Key newKey = keys[mCurrentKeyIndex];
                 newKey.onPressed();
                 invalidateKey(mCurrentKeyIndex);
-                sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_HOVER_ENTER, newKey.codes[0]);
+                sendAccessibilityEventForUnicodeCharacter(AccessibilityEvent.TYPE_VIEW_HOVER_ENTER,
+                        newKey.codes[0]);
             }
         }
         // If key changed and preview is on ...
@@ -954,13 +962,13 @@
         mPreviewText.setVisibility(VISIBLE);
     }
 
-    private void sendAccessibilityEvent(int eventType, int code) {
+    private void sendAccessibilityEventForUnicodeCharacter(int eventType, int code) {
         if (mAccessibilityManager.isEnabled()) {
             AccessibilityEvent event = AccessibilityEvent.obtain(eventType);
             onInitializeAccessibilityEvent(event);
+            String text = null;
             // Add text only if headset is used to avoid leaking passwords.
             if (mAudioManager.isBluetoothA2dpOn() || mAudioManager.isWiredHeadsetOn()) {
-                String text = null;
                 switch (code) {
                     case Keyboard.KEYCODE_ALT:
                         text = mContext.getString(R.string.keyboardview_keycode_alt);
@@ -986,11 +994,17 @@
                     default:
                         text = String.valueOf((char) code);
                 }
-                event.getText().add(text);
+            } else if (!mHeadsetRequiredToHearPasswordsAnnounced) {
+                // We want the waring for required head set to be send with both the
+                // hover enter and hover exit event, so set the flag after the exit.
+                if (eventType == AccessibilityEvent.TYPE_VIEW_HOVER_EXIT) {
+                    mHeadsetRequiredToHearPasswordsAnnounced = true;
+                }
+                text = mContext.getString(R.string.keyboard_headset_required_to_hear_password);
             } else {
-                event.getText().add(mContext.getString(
-                R.string.keyboard_headset_required_to_hear_password));
+                text = mContext.getString(R.string.keyboard_password_character_no_headset);
             }
+            event.getText().add(text);
             mAccessibilityManager.sendAccessibilityEvent(event);
         }
     }
@@ -1130,15 +1144,13 @@
     }
 
     @Override
-    protected boolean dispatchHoverEvent(MotionEvent event) {
+    public boolean onHoverEvent(MotionEvent event) {
         // If touch exploring is enabled we ignore touch events and transform
         // the stream of hover events as touch events. This allows one consistent
         // event stream to drive the keyboard since during touch exploring the
         // first touch generates only hover events and tapping on the same
         // location generates hover and touch events.
-        if (mAccessibilityManager.isEnabled()
-                && mAccessibilityManager.isTouchExplorationEnabled()
-                && event.getPointerCount() == 1) {
+        if (mAccessibilityManager.isTouchExplorationEnabled() && event.getPointerCount() == 1) {
             final int action = event.getAction();
             switch (action) {
                 case MotionEvent.ACTION_HOVER_ENTER:
@@ -1152,9 +1164,9 @@
                     break;
             }
             onTouchEventInternal(event);
-            return true;
+            event.setAction(action);
         }
-        return super.dispatchHoverEvent(event);
+        return super.onHoverEvent(event);
     }
 
     @Override
@@ -1164,8 +1176,7 @@
         // event stream to drive the keyboard since during touch exploring the
         // first touch generates only hover events and tapping on the same
         // location generates hover and touch events.
-        if (mAccessibilityManager.isEnabled()
-                && mAccessibilityManager.isTouchExplorationEnabled()) {
+        if (mAccessibilityManager.isTouchExplorationEnabled()) {
             return true;
         }
         return onTouchEventInternal(event);
diff --git a/core/java/android/net/DhcpInfoInternal.java b/core/java/android/net/DhcpInfoInternal.java
index 9b0a2d7..fa77bc5 100644
--- a/core/java/android/net/DhcpInfoInternal.java
+++ b/core/java/android/net/DhcpInfoInternal.java
@@ -24,6 +24,7 @@
 import java.net.UnknownHostException;
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Collections;
 
 /**
  * A simple object for retrieving the results of a DHCP request.
@@ -41,14 +42,18 @@
     public String serverAddress;
     public int leaseDuration;
 
-    private Collection<RouteInfo> routes;
+    private Collection<RouteInfo> mRoutes;
 
     public DhcpInfoInternal() {
-        routes = new ArrayList<RouteInfo>();
+        mRoutes = new ArrayList<RouteInfo>();
     }
 
     public void addRoute(RouteInfo routeInfo) {
-        routes.add(routeInfo);
+        mRoutes.add(routeInfo);
+    }
+
+    public Collection<RouteInfo> getRoutes() {
+        return Collections.unmodifiableCollection(mRoutes);
     }
 
     private int convertToInt(String addr) {
@@ -66,7 +71,7 @@
     public DhcpInfo makeDhcpInfo() {
         DhcpInfo info = new DhcpInfo();
         info.ipAddress = convertToInt(ipAddress);
-        for (RouteInfo route : routes) {
+        for (RouteInfo route : mRoutes) {
             if (route.isDefaultRoute()) {
                 info.gateway = convertToInt(route.getGateway().getHostAddress());
                 break;
@@ -94,14 +99,14 @@
     public LinkProperties makeLinkProperties() {
         LinkProperties p = new LinkProperties();
         p.addLinkAddress(makeLinkAddress());
-        for (RouteInfo route : routes) {
+        for (RouteInfo route : mRoutes) {
             p.addRoute(route);
         }
+        //if empty, connectivity configures default DNS
         if (TextUtils.isEmpty(dns1) == false) {
             p.addDns(NetworkUtils.numericToInetAddress(dns1));
         } else {
-            p.addDns(NetworkUtils.numericToInetAddress(serverAddress));
-            Log.d(TAG, "empty dns1, use dhcp server as dns1!");
+            Log.d(TAG, "makeLinkProperties with empty dns1!");
         }
         if (TextUtils.isEmpty(dns2) == false) {
             p.addDns(NetworkUtils.numericToInetAddress(dns2));
@@ -111,11 +116,33 @@
         return p;
     }
 
+    /* Updates the DHCP fields that need to be retained from
+     * original DHCP request if the DHCP renewal shows them as
+     * being empty
+     */
+    public void updateFromDhcpRequest(DhcpInfoInternal orig) {
+        if (orig == null) return;
+
+        if (TextUtils.isEmpty(dns1)) {
+            dns1 = orig.dns1;
+        }
+
+        if (TextUtils.isEmpty(dns2)) {
+            dns2 = orig.dns2;
+        }
+
+        if (mRoutes.size() == 0) {
+            for (RouteInfo route : orig.getRoutes()) {
+                addRoute(route);
+            }
+        }
+    }
+
     public String toString() {
         String routeString = "";
-        for (RouteInfo route : routes) routeString += route.toString() + " | ";
+        for (RouteInfo route : mRoutes) routeString += route.toString() + " | ";
         return "addr: " + ipAddress + "/" + prefixLength +
-                " routes: " + routeString +
+                " mRoutes: " + routeString +
                 " dns: " + dns1 + "," + dns2 +
                 " dhcpServer: " + serverAddress +
                 " leaseDuration: " + leaseDuration;
diff --git a/core/java/android/net/DhcpStateMachine.java b/core/java/android/net/DhcpStateMachine.java
index 445b2f7..fc6a44a 100644
--- a/core/java/android/net/DhcpStateMachine.java
+++ b/core/java/android/net/DhcpStateMachine.java
@@ -63,6 +63,9 @@
     private PowerManager.WakeLock mDhcpRenewWakeLock;
     private static final String WAKELOCK_TAG = "DHCP";
 
+    //Remember DHCP configuration from first request
+    private DhcpInfoInternal mDhcpInfo;
+
     private static final int DHCP_RENEW = 0;
     private static final String ACTION_DHCP_RENEW = "android.net.wifi.DHCP_RENEW";
 
@@ -333,15 +336,17 @@
         DhcpInfoInternal dhcpInfoInternal = new DhcpInfoInternal();
 
         if (dhcpAction == DhcpAction.START) {
-            Log.d(TAG, "DHCP request on " + mInterfaceName);
+            if (DBG) Log.d(TAG, "DHCP request on " + mInterfaceName);
             success = NetworkUtils.runDhcp(mInterfaceName, dhcpInfoInternal);
+            mDhcpInfo = dhcpInfoInternal;
         } else if (dhcpAction == DhcpAction.RENEW) {
-            Log.d(TAG, "DHCP renewal on " + mInterfaceName);
+            if (DBG) Log.d(TAG, "DHCP renewal on " + mInterfaceName);
             success = NetworkUtils.runDhcpRenew(mInterfaceName, dhcpInfoInternal);
+            dhcpInfoInternal.updateFromDhcpRequest(mDhcpInfo);
         }
 
         if (success) {
-            Log.d(TAG, "DHCP succeeded on " + mInterfaceName);
+            if (DBG) Log.d(TAG, "DHCP succeeded on " + mInterfaceName);
            long leaseDuration = dhcpInfoInternal.leaseDuration; //int to long conversion
 
            //Sanity check for renewal
@@ -361,7 +366,7 @@
             mController.obtainMessage(CMD_POST_DHCP_ACTION, DHCP_SUCCESS, 0, dhcpInfoInternal)
                 .sendToTarget();
         } else {
-            Log.d(TAG, "DHCP failed on " + mInterfaceName + ": " +
+            Log.e(TAG, "DHCP failed on " + mInterfaceName + ": " +
                     NetworkUtils.getDhcpError());
             NetworkUtils.stopDhcp(mInterfaceName);
             mController.obtainMessage(CMD_POST_DHCP_ACTION, DHCP_FAILURE, 0)
diff --git a/core/java/android/net/DnsPinger.java b/core/java/android/net/DnsPinger.java
index 3291e6b..11acabe 100644
--- a/core/java/android/net/DnsPinger.java
+++ b/core/java/android/net/DnsPinger.java
@@ -22,7 +22,7 @@
 import android.os.Message;
 import android.os.SystemClock;
 import android.provider.Settings;
-import android.util.Slog;
+import android.util.Log;
 
 import com.android.internal.util.Protocol;
 
@@ -51,7 +51,7 @@
  * @hide
  */
 public final class DnsPinger extends Handler {
-    private static final boolean V = true;
+    private static final boolean DBG = false;
 
     private static final int RECEIVE_POLL_INTERVAL_MS = 200;
     private static final int DNS_PORT = 53;
@@ -154,7 +154,7 @@
                         newActivePing.socket.setNetworkInterface(NetworkInterface.getByName(
                                 getCurrentLinkProperties().getInterfaceName()));
                     } catch (Exception e) {
-                        Slog.w(TAG,"sendDnsPing::Error binding to socket", e);
+                        loge("sendDnsPing::Error binding to socket " + e);
                     }
 
                     newActivePing.packetId = (short) sRandom.nextInt();
@@ -165,8 +165,8 @@
                     // Send the DNS query
                     DatagramPacket packet = new DatagramPacket(buf,
                             buf.length, dnsAddress, DNS_PORT);
-                    if (V) {
-                        Slog.v(TAG, "Sending a ping " + newActivePing.internalId +
+                    if (DBG) {
+                        log("Sending a ping " + newActivePing.internalId +
                                 " to " + dnsAddress.getHostAddress()
                                 + " with packetId " + newActivePing.packetId + ".");
                     }
@@ -196,15 +196,15 @@
                             curPing.result =
                                     (int) (SystemClock.elapsedRealtime() - curPing.start);
                         } else {
-                            if (V) {
-                                Slog.v(TAG, "response ID didn't match, ignoring packet");
+                            if (DBG) {
+                                log("response ID didn't match, ignoring packet");
                             }
                         }
                     } catch (SocketTimeoutException e) {
                         // A timeout here doesn't mean anything - squelsh this exception
                     } catch (Exception e) {
-                        if (V) {
-                            Slog.v(TAG, "DnsPinger.pingDns got socket exception: ", e);
+                        if (DBG) {
+                            log("DnsPinger.pingDns got socket exception: " + e);
                         }
                         curPing.result = SOCKET_EXCEPTION;
                     }
@@ -244,13 +244,13 @@
     public List<InetAddress> getDnsList() {
         LinkProperties curLinkProps = getCurrentLinkProperties();
         if (curLinkProps == null) {
-            Slog.e(TAG, "getCurLinkProperties:: LP for type" + mConnectionType + " is null!");
+            loge("getCurLinkProperties:: LP for type" + mConnectionType + " is null!");
             return mDefaultDns;
         }
 
         Collection<InetAddress> dnses = curLinkProps.getDnses();
         if (dnses == null || dnses.size() == 0) {
-            Slog.v(TAG, "getDns::LinkProps has null dns - returning default");
+            loge("getDns::LinkProps has null dns - returning default");
             return mDefaultDns;
         }
 
@@ -277,8 +277,8 @@
     }
 
     private void sendResponse(int internalId, int externalId, int responseVal) {
-        if(V) {
-            Slog.d(TAG, "Responding to packet " + internalId +
+        if(DBG) {
+            log("Responding to packet " + internalId +
                     " externalId " + externalId +
                     " and val " + responseVal);
         }
@@ -304,7 +304,7 @@
         try {
             return NetworkUtils.numericToInetAddress(dns);
         } catch (IllegalArgumentException e) {
-            Slog.w(TAG, "getDefaultDns::malformed default dns address");
+            loge("getDefaultDns::malformed default dns address");
             return null;
         }
     }
@@ -323,4 +323,12 @@
         0, 1, // QTYPE, set to 1 = A (host address)
         0, 1  // QCLASS, set to 1 = IN (internet)
     };
+
+    private void log(String s) {
+        Log.d(TAG, s);
+    }
+
+    private void loge(String s) {
+        Log.e(TAG, s);
+    }
 }
diff --git a/core/java/android/net/NetworkStats.java b/core/java/android/net/NetworkStats.java
index f3be39c..e554975 100644
--- a/core/java/android/net/NetworkStats.java
+++ b/core/java/android/net/NetworkStats.java
@@ -272,6 +272,17 @@
     }
 
     /**
+     * Combine all values from another {@link NetworkStats} into this object.
+     */
+    public void combineAllValues(NetworkStats another) {
+        NetworkStats.Entry entry = null;
+        for (int i = 0; i < another.size; i++) {
+            entry = another.getValues(i, entry);
+            combineValues(entry);
+        }
+    }
+
+    /**
      * Find first stats index that matches the requested parameters.
      */
     public int findIndex(String iface, int uid, int set, int tag) {
@@ -456,6 +467,34 @@
         return result;
     }
 
+    /**
+     * Return total statistics grouped by {@link #iface}; doesn't mutate the
+     * original structure.
+     */
+    public NetworkStats groupedByIface() {
+        final NetworkStats stats = new NetworkStats(elapsedRealtime, 10);
+
+        final Entry entry = new Entry();
+        entry.uid = UID_ALL;
+        entry.set = SET_ALL;
+        entry.tag = TAG_NONE;
+        entry.operations = 0L;
+
+        for (int i = 0; i < size; i++) {
+            // skip specific tags, since already counted in TAG_NONE
+            if (tag[i] != TAG_NONE) continue;
+
+            entry.iface = iface[i];
+            entry.rxBytes = rxBytes[i];
+            entry.rxPackets = rxPackets[i];
+            entry.txBytes = txBytes[i];
+            entry.txPackets = txPackets[i];
+            stats.combineValues(entry);
+        }
+
+        return stats;
+    }
+
     public void dump(String prefix, PrintWriter pw) {
         pw.print(prefix);
         pw.print("NetworkStats: elapsedRealtime="); pw.println(elapsedRealtime);
diff --git a/core/java/android/net/NetworkStatsHistory.java b/core/java/android/net/NetworkStatsHistory.java
index a5cdf70..8c01331 100644
--- a/core/java/android/net/NetworkStatsHistory.java
+++ b/core/java/android/net/NetworkStatsHistory.java
@@ -270,6 +270,11 @@
                 || entry.operations < 0) {
             throw new IllegalArgumentException("tried recording negative data");
         }
+        if (entry.rxBytes == 0 && entry.rxPackets == 0 && entry.txBytes == 0 && entry.txPackets == 0
+                && entry.operations == 0) {
+            // nothing to record; skip
+            return;
+        }
 
         // create any buckets needed by this range
         ensureBuckets(start, end);
@@ -473,17 +478,34 @@
      * @deprecated only for temporary testing
      */
     @Deprecated
+    public void generateRandom(long start, long end, long bytes) {
+        final Random r = new Random();
+
+        final float fractionRx = r.nextFloat();
+        final long rxBytes = (long) (bytes * fractionRx);
+        final long txBytes = (long) (bytes * (1 - fractionRx));
+
+        final long rxPackets = rxBytes / 1024;
+        final long txPackets = txBytes / 1024;
+        final long operations = rxBytes / 2048;
+
+        generateRandom(start, end, rxBytes, rxPackets, txBytes, txPackets, operations, r);
+    }
+
+    /**
+     * @deprecated only for temporary testing
+     */
+    @Deprecated
     public void generateRandom(long start, long end, long rxBytes, long rxPackets, long txBytes,
-            long txPackets, long operations) {
+            long txPackets, long operations, Random r) {
         ensureBuckets(start, end);
 
         final NetworkStats.Entry entry = new NetworkStats.Entry(
                 IFACE_ALL, UID_ALL, SET_DEFAULT, TAG_NONE, 0L, 0L, 0L, 0L, 0L);
-        final Random r = new Random();
         while (rxBytes > 1024 || rxPackets > 128 || txBytes > 1024 || txPackets > 128
                 || operations > 32) {
             final long curStart = randomLong(r, start, end);
-            final long curEnd = randomLong(r, curStart, end);
+            final long curEnd = curStart + randomLong(r, 0, (end - curStart) / 2);
 
             entry.rxBytes = randomLong(r, 0, rxBytes);
             entry.rxPackets = randomLong(r, 0, rxPackets);
@@ -501,7 +523,7 @@
         }
     }
 
-    private static long randomLong(Random r, long start, long end) {
+    public static long randomLong(Random r, long start, long end) {
         return (long) (start + (r.nextFloat() * (end - start)));
     }
 
diff --git a/core/java/android/net/NetworkTemplate.java b/core/java/android/net/NetworkTemplate.java
index cd49023..418b82f 100644
--- a/core/java/android/net/NetworkTemplate.java
+++ b/core/java/android/net/NetworkTemplate.java
@@ -19,14 +19,15 @@
 import static android.net.ConnectivityManager.TYPE_ETHERNET;
 import static android.net.ConnectivityManager.TYPE_WIFI;
 import static android.net.ConnectivityManager.TYPE_WIMAX;
-import static android.net.ConnectivityManager.isNetworkTypeMobile;
 import static android.net.NetworkIdentity.scrubSubscriberId;
 import static android.telephony.TelephonyManager.NETWORK_CLASS_2_G;
 import static android.telephony.TelephonyManager.NETWORK_CLASS_3_G;
 import static android.telephony.TelephonyManager.NETWORK_CLASS_4_G;
 import static android.telephony.TelephonyManager.NETWORK_CLASS_UNKNOWN;
 import static android.telephony.TelephonyManager.getNetworkClass;
+import static com.android.internal.util.ArrayUtils.contains;
 
+import android.content.res.Resources;
 import android.os.Parcel;
 import android.os.Parcelable;
 
@@ -52,6 +53,16 @@
     public static final int MATCH_ETHERNET = 5;
 
     /**
+     * Set of {@link NetworkInfo#getType()} that reflect data usage.
+     */
+    private static final int[] DATA_USAGE_NETWORK_TYPES;
+
+    static {
+        DATA_USAGE_NETWORK_TYPES = Resources.getSystem().getIntArray(
+                com.android.internal.R.array.config_data_usage_network_types);
+    }
+
+    /**
      * Template to combine all {@link ConnectivityManager#TYPE_MOBILE} style
      * networks together. Only uses statistics for requested IMSI.
      */
@@ -151,7 +162,7 @@
     }
 
     /**
-     * Test if this network matches the given template and IMSI.
+     * Test if given {@link NetworkIdentity} matches this template.
      */
     public boolean matches(NetworkIdentity ident) {
         switch (mMatchRule) {
@@ -171,23 +182,25 @@
     }
 
     /**
-     * Check if mobile network with matching IMSI. Also matches
-     * {@link #TYPE_WIMAX}.
+     * Check if mobile network with matching IMSI.
      */
     private boolean matchesMobile(NetworkIdentity ident) {
-        if (isNetworkTypeMobile(ident.mType) && Objects.equal(mSubscriberId, ident.mSubscriberId)) {
+        if (ident.mType == TYPE_WIMAX) {
+            // TODO: consider matching against WiMAX subscriber identity
             return true;
-        } else if (ident.mType == TYPE_WIMAX) {
-            return true;
+        } else {
+            return (contains(DATA_USAGE_NETWORK_TYPES, ident.mType)
+                    && Objects.equal(mSubscriberId, ident.mSubscriberId));
         }
-        return false;
     }
 
     /**
      * Check if mobile network classified 3G or lower with matching IMSI.
      */
     private boolean matchesMobile3gLower(NetworkIdentity ident) {
-        if (isNetworkTypeMobile(ident.mType) && Objects.equal(mSubscriberId, ident.mSubscriberId)) {
+        if (ident.mType == TYPE_WIMAX) {
+            return false;
+        } else if (matchesMobile(ident)) {
             switch (getNetworkClass(ident.mSubType)) {
                 case NETWORK_CLASS_UNKNOWN:
                 case NETWORK_CLASS_2_G:
@@ -199,17 +212,17 @@
     }
 
     /**
-     * Check if mobile network classified 4G with matching IMSI. Also matches
-     * {@link #TYPE_WIMAX}.
+     * Check if mobile network classified 4G with matching IMSI.
      */
     private boolean matchesMobile4g(NetworkIdentity ident) {
-        if (isNetworkTypeMobile(ident.mType) && Objects.equal(mSubscriberId, ident.mSubscriberId)) {
+        if (ident.mType == TYPE_WIMAX) {
+            // TODO: consider matching against WiMAX subscriber identity
+            return true;
+        } else if (matchesMobile(ident)) {
             switch (getNetworkClass(ident.mSubType)) {
                 case NETWORK_CLASS_4_G:
                     return true;
             }
-        } else if (ident.mType == TYPE_WIMAX) {
-            return true;
         }
         return false;
     }
diff --git a/core/java/android/net/Uri.java b/core/java/android/net/Uri.java
index 2c875c8..9d28eff 100644
--- a/core/java/android/net/Uri.java
+++ b/core/java/android/net/Uri.java
@@ -353,6 +353,48 @@
     public abstract String toString();
 
     /**
+     * Return a string representation of the URI that is safe to print
+     * to logs and other places where PII should be avoided.
+     * @hide
+     */
+    public String toSafeString() {
+        String scheme = getScheme();
+        String ssp = getSchemeSpecificPart();
+        if (scheme != null) {
+            if (scheme.equalsIgnoreCase("tel") || scheme.equalsIgnoreCase("sip")
+                    || scheme.equalsIgnoreCase("sms") || scheme.equalsIgnoreCase("smsto")
+                    || scheme.equalsIgnoreCase("mailto")) {
+                StringBuilder builder = new StringBuilder(64);
+                builder.append(scheme);
+                builder.append(':');
+                if (ssp != null) {
+                    for (int i=0; i<ssp.length(); i++) {
+                        char c = ssp.charAt(i);
+                        if (c == '-' || c == '@' || c == '.') {
+                            builder.append(c);
+                        } else {
+                            builder.append('x');
+                        }
+                    }
+                }
+                return builder.toString();
+            }
+        }
+        // Not a sensitive scheme, but let's still be conservative about
+        // the data we include -- only the ssp, not the query params or
+        // fragment, because those can often have sensitive info.
+        StringBuilder builder = new StringBuilder(64);
+        if (scheme != null) {
+            builder.append(scheme);
+            builder.append(':');
+        }
+        if (ssp != null) {
+            builder.append(ssp);
+        }
+        return builder.toString();
+    }
+
+    /**
      * Constructs a new builder, copying the attributes from this Uri.
      */
     public abstract Builder buildUpon();
diff --git a/core/java/android/net/http/SslError.java b/core/java/android/net/http/SslError.java
index 08c6692..863304c 100644
--- a/core/java/android/net/http/SslError.java
+++ b/core/java/android/net/http/SslError.java
@@ -19,7 +19,8 @@
 import java.security.cert.X509Certificate;
 
 /**
- * One or more individual SSL errors and the associated SSL certificate
+ * This class represents a set of one or more SSL errors and the associated SSL
+ * certificate.
  */
 public class SslError {
 
@@ -48,16 +49,17 @@
      */
     public static final int SSL_DATE_INVALID = 4;
     /**
-     * The certificate is invalid
+     * A generic error occurred
      */
     public static final int SSL_INVALID = 5;
 
 
     /**
-     * The number of different SSL errors (update if you add a new SSL error!!!)
+     * The number of different SSL errors.
      * @deprecated This constant is not necessary for using the SslError API and
      *             can change from release to release.
      */
+    // Update if you add a new SSL error!!!
     @Deprecated
     public static final int SSL_MAX_ERROR = 6;
 
@@ -78,56 +80,56 @@
     final String mUrl;
 
     /**
-     * Creates a new SSL error set object
+     * Creates a new SslError object using the supplied error and certificate.
+     * The URL will be set to the empty string.
      * @param error The SSL error
      * @param certificate The associated SSL certificate
      * @deprecated Use {@link #SslError(int, SslCertificate, String)}
      */
     @Deprecated
     public SslError(int error, SslCertificate certificate) {
-        addError(error);
-        if (certificate == null) {
-            throw new NullPointerException("certificate is null.");
-        }
-        mCertificate = certificate;
-        mUrl = "";
+        this(error, certificate, "");
     }
 
     /**
-     * Creates a new SSL error set object
+     * Creates a new SslError object using the supplied error and certificate.
+     * The URL will be set to the empty string.
      * @param error The SSL error
      * @param certificate The associated SSL certificate
      * @deprecated Use {@link #SslError(int, X509Certificate, String)}
      */
     @Deprecated
     public SslError(int error, X509Certificate certificate) {
-        addError(error);
-        if (certificate == null) {
-            throw new NullPointerException("certificate is null.");
-        }
-        mCertificate = new SslCertificate(certificate);
-        mUrl = "";
+        this(error, certificate, "");
     }
 
     /**
-     * Creates a new SSL error set object
+     * Creates a new SslError object using the supplied error, certificate and
+     * URL.
      * @param error The SSL error
      * @param certificate The associated SSL certificate
-     * @param url The associated URL.
+     * @param url The associated URL
      */
     public SslError(int error, SslCertificate certificate, String url) {
+        assert certificate != null;
+        assert url != null;
         addError(error);
-        if (certificate == null) {
-            throw new NullPointerException("certificate is null.");
-        }
         mCertificate = certificate;
-        if (url == null) {
-            throw new NullPointerException("url is null.");
-        }
         mUrl = url;
     }
 
     /**
+     * Creates a new SslError object using the supplied error, certificate and
+     * URL.
+     * @param error The SSL error
+     * @param certificate The associated SSL certificate
+     * @param url The associated URL
+     */
+    public SslError(int error, X509Certificate certificate, String url) {
+        this(error, new SslCertificate(certificate), url);
+    }
+
+    /**
      * Creates an SslError object from a chromium error code.
      * @param error The chromium error code
      * @param certificate The associated SSL certificate
@@ -138,56 +140,38 @@
             int error, SslCertificate cert, String url) {
         // The chromium error codes are in:
         // external/chromium/net/base/net_error_list.h
-        if (error > -200 || error < -299) {
-            throw new NullPointerException("Not a valid chromium SSL error code.");
-        }
+        assert (error >= -299 && error <= -200);
         if (error == -200)
             return new SslError(SSL_IDMISMATCH, cert, url);
         if (error == -201)
             return new SslError(SSL_DATE_INVALID, cert, url);
         if (error == -202)
             return new SslError(SSL_UNTRUSTED, cert, url);
-        // Map all other errors to SSL_INVALID
+        // Map all other codes to SSL_INVALID.
         return new SslError(SSL_INVALID, cert, url);
     }
 
     /**
-     * Creates a new SSL error set object
-     * @param error The SSL error
-     * @param certificate The associated SSL certificate
-     * @param url The associated URL.
-     */
-    public SslError(int error, X509Certificate certificate, String url) {
-        addError(error);
-        if (certificate == null) {
-            throw new NullPointerException("certificate is null.");
-        }
-        mCertificate = new SslCertificate(certificate);
-        if (url == null) {
-            throw new NullPointerException("url is null.");
-        }
-        mUrl = url;
-    }
-
-    /**
-     * @return The SSL certificate associated with the error set, non-null.
+     * Gets the SSL certificate associated with this object.
+     * @return The SSL certificate, non-null.
      */
     public SslCertificate getCertificate() {
         return mCertificate;
     }
 
     /**
-     * @return The URL associated with the error set, non-null.
-     * "" if one of the deprecated constructors is used.
+     * Gets the URL associated with this object.
+     * @return The URL, non-null.
      */
     public String getUrl() {
         return mUrl;
     }
 
     /**
-     * Adds the SSL error to the error set
+     * Adds the supplied SSL error to the set.
      * @param error The SSL error to add
-     * @return True iff the error being added is a known SSL error
+     * @return True if the error being added is a known SSL error, otherwise
+     *         false.
      */
     public boolean addError(int error) {
         boolean rval = (0 <= error && error < SslError.SSL_MAX_ERROR);
@@ -199,8 +183,9 @@
     }
 
     /**
-     * @param error The SSL error to check
-     * @return True iff the set includes the error
+     * Determines whether this object includes the supplied error.
+     * @param error The SSL error to check for
+     * @return True if this object includes the error, otherwise false.
      */
     public boolean hasError(int error) {
         boolean rval = (0 <= error && error < SslError.SSL_MAX_ERROR);
@@ -212,7 +197,9 @@
     }
 
     /**
-     * @return The primary, most severe, SSL error in the set
+     * Gets the most severe SSL error in this object's set of errors.
+     * Returns -1 if the set is empty.
+     * @return The most severe SSL error, or -1 if the set is empty.
      */
     public int getPrimaryError() {
         if (mErrors != 0) {
@@ -222,18 +209,20 @@
                     return error;
                 }
             }
+            // mErrors should never be set to an invalid value.
+            assert false;
         }
 
-        return 0;
+        return -1;
     }
 
     /**
-     * @return A String representation of this SSL error object
-     * (used mostly for debugging).
+     * Returns a string representation of this object.
+     * @return A String representation of this object.
      */
     public String toString() {
         return "primary error: " + getPrimaryError() +
-            " certificate: " + getCertificate() +
-            "  on URL: " + getUrl();
+                " certificate: " + getCertificate() +
+                " on URL: " + getUrl();
     }
 }
diff --git a/core/java/android/nfc/NfcAdapter.java b/core/java/android/nfc/NfcAdapter.java
index e392bca..fe0106d 100644
--- a/core/java/android/nfc/NfcAdapter.java
+++ b/core/java/android/nfc/NfcAdapter.java
@@ -208,7 +208,9 @@
     final NfcActivityManager mNfcActivityManager;
 
     /**
-     * @see {@link #setNdefPushMessageCallback}
+     * A callback to be invoked when the system successfully delivers your {@link NdefMessage}
+     * to another device.
+     * @see #setOnNdefPushCompleteCallback
      */
     public interface OnNdefPushCompleteCallback {
         /**
@@ -217,13 +219,21 @@
          * <p>This callback is usually made on a binder thread (not the UI thread).
          *
          * @param event {@link NfcEvent} with the {@link NfcEvent#nfcAdapter} field set
-         * @see {@link #setNdefPushMessageCallback}
+         * @see #setNdefPushMessageCallback
          */
         public void onNdefPushComplete(NfcEvent event);
     }
 
     /**
-     * @see {@link #setCeateNdefMessageCallback}
+     * A callback to be invoked when another NFC device capable of NDEF push (Android Beam)
+     * is within range.
+     * <p>Implement this interface and pass it to {@link
+     * NfcAdapter#setNdefPushMessageCallback setNdefPushMessageCallback()} in order to create an
+     * {@link NdefMessage} at the moment that another device is within range for NFC. Using this
+     * callback allows you to create a message with data that might vary based on the
+     * content currently visible to the user. Alternatively, you can call {@link
+     * #setNdefPushMessage setNdefPushMessage()} if the {@link NdefMessage} always contains the
+     * same data.
      */
     public interface CreateNdefMessageCallback {
         /**
@@ -507,13 +517,15 @@
      * <p>Pass a null NDEF message to disable foreground NDEF push in the
      * specified activities.
      *
-     * <p>One or more activities must be specified.
+     * <p>At least one activity must be specified, and usually only one is necessary.
      *
      * <p class="note">Requires the {@link android.Manifest.permission#NFC} permission.
      *
      * @param message NDEF message to push over NFC, or null to disable
-     * @param activity an activity to enable for NDEF push (at least one is required)
-     * @param activities zero or more additional activities to enable for NDEF Push
+     * @param activity an activity in which NDEF push should be enabled to share the provided
+     *                 NDEF message
+     * @param activities optional additional activities that should also enable NDEF push with
+     *                   the provided NDEF message
      */
     public void setNdefPushMessage(NdefMessage message, Activity activity,
             Activity ... activities) {
@@ -544,13 +556,15 @@
      * <p>Pass a null callback to disable the callback in the
      * specified activities.
      *
-     * <p>One or more activities must be specified.
+     * <p>At least one activity must be specified, and usually only one is necessary.
      *
      * <p class="note">Requires the {@link android.Manifest.permission#NFC} permission.
      *
      * @param callback callback, or null to disable
-     * @param activity an activity to enable for NDEF push (at least one is required)
-     * @param activities zero or more additional activities to enable for NDEF Push
+     * @param activity an activity in which NDEF push should be enabled to share an NDEF message
+     *                 that's retrieved from the provided callback
+     * @param activities optional additional activities that should also enable NDEF push using
+     *                   the provided callback
      */
     public void setNdefPushMessageCallback(CreateNdefMessageCallback callback, Activity activity,
             Activity ... activities) {
diff --git a/core/java/android/nfc/NfcEvent.java b/core/java/android/nfc/NfcEvent.java
index b00d8b7..860700a 100644
--- a/core/java/android/nfc/NfcEvent.java
+++ b/core/java/android/nfc/NfcEvent.java
@@ -29,8 +29,8 @@
  * in the callback) because it allows new fields to be added without breaking
  * API compatibility.
  *
- * @see {@link NfcAdapter.OnNdefPushCompleteCallback#onNdefPushComplete}
- * @see {@link NfcAdapter.CreateNdefMessageCallback#createNdefMessage}
+ * @see NfcAdapter.OnNdefPushCompleteCallback#onNdefPushComplete
+ * @see NfcAdapter.CreateNdefMessageCallback#createNdefMessage
  */
 public final class NfcEvent {
     /**
diff --git a/core/java/android/os/AsyncTask.java b/core/java/android/os/AsyncTask.java
index 64bba54..9dea4c4 100644
--- a/core/java/android/os/AsyncTask.java
+++ b/core/java/android/os/AsyncTask.java
@@ -42,6 +42,13 @@
  * and 4 steps, called <code>onPreExecute</code>, <code>doInBackground</code>,
  * <code>onProgressUpdate</code> and <code>onPostExecute</code>.</p>
  *
+ * <div class="special reference">
+ * <h3>Developer Guides</h3>
+ * <p>For more information about using tasks and threads, read the
+ * <a href="{@docRoot}guide/topics/fundamentals/processes-and-threads.html">Processes and
+ * Threads</a> developer guide.</p>
+ * </div>
+ *
  * <h2>Usage</h2>
  * <p>AsyncTask must be subclassed to be used. The subclass will override at least
  * one method ({@link #doInBackground}), and most often will override a
diff --git a/core/java/android/os/Build.java b/core/java/android/os/Build.java
index 1d8ea12..5faab36 100644
--- a/core/java/android/os/Build.java
+++ b/core/java/android/os/Build.java
@@ -282,6 +282,10 @@
          * <p>Applications targeting this or a later release will get these
          * new changes in behavior:</p>
          * <ul>
+         * <li> For devices without a dedicated menu key, the software compatibility
+         * menu key will not be shown even on phones.  By targeting Ice Cream Sandwich
+         * or later, your UI must always have its own menu UI affordance if needed,
+         * on both tablets and phones.  The ActionBar will take care of this for you.
          * <li> 2d drawing hardware acceleration is now turned on by default.
          * You can use
          * {@link android.R.attr#hardwareAccelerated android:hardwareAccelerated}
@@ -296,6 +300,12 @@
          *      will not change character within the same platform version. Applications
          *      that wish to blend in with the device should use a theme from the
          *      {@link android.R.style#Theme_DeviceDefault} family.
+         * <li> Managed cursors can now throw an exception if you directly close
+         * the cursor yourself without stopping the management of it; previously failures
+         * would be silently ignored.
+         * <li> The fadingEdge attribute on views will be ignored (fading edges is no
+         * longer a standard part of the UI).  A new requiresFadingEdge attribute allows
+         * applications to still force fading edges on for special cases.
          * </ul>
          */
         public static final int ICE_CREAM_SANDWICH = 14;
diff --git a/core/java/android/os/Bundle.java b/core/java/android/os/Bundle.java
index c288f8a..28206b7 100644
--- a/core/java/android/os/Bundle.java
+++ b/core/java/android/os/Bundle.java
@@ -54,6 +54,7 @@
 
     private boolean mHasFds = false;
     private boolean mFdsKnown = true;
+    private boolean mAllowFds = true;
 
     /**
      * The ClassLoader used when unparcelling data from mParcelledData.
@@ -186,7 +187,14 @@
     public ClassLoader getClassLoader() {
         return mClassLoader;
     }
-    
+
+    /** @hide */
+    public boolean setAllowFds(boolean allowFds) {
+        boolean orig = mAllowFds;
+        mAllowFds = allowFds;
+        return orig;
+    }
+
     /**
      * Clones the current Bundle. The internal map is cloned, but the keys and
      * values to which it refers are copied by reference.
@@ -1589,24 +1597,29 @@
      * @param parcel The parcel to copy this bundle to.
      */
     public void writeToParcel(Parcel parcel, int flags) {
-        if (mParcelledData != null) {
-            int length = mParcelledData.dataSize();
-            parcel.writeInt(length);
-            parcel.writeInt(0x4C444E42); // 'B' 'N' 'D' 'L'
-            parcel.appendFrom(mParcelledData, 0, length);
-        } else {
-            parcel.writeInt(-1); // dummy, will hold length
-            parcel.writeInt(0x4C444E42); // 'B' 'N' 'D' 'L'
-
-            int oldPos = parcel.dataPosition();
-            parcel.writeMapInternal(mMap);
-            int newPos = parcel.dataPosition();
-
-            // Backpatch length
-            parcel.setDataPosition(oldPos - 8);
-            int length = newPos - oldPos;
-            parcel.writeInt(length);
-            parcel.setDataPosition(newPos);
+        final boolean oldAllowFds = parcel.pushAllowFds(mAllowFds);
+        try {
+            if (mParcelledData != null) {
+                int length = mParcelledData.dataSize();
+                parcel.writeInt(length);
+                parcel.writeInt(0x4C444E42); // 'B' 'N' 'D' 'L'
+                parcel.appendFrom(mParcelledData, 0, length);
+            } else {
+                parcel.writeInt(-1); // dummy, will hold length
+                parcel.writeInt(0x4C444E42); // 'B' 'N' 'D' 'L'
+    
+                int oldPos = parcel.dataPosition();
+                parcel.writeMapInternal(mMap);
+                int newPos = parcel.dataPosition();
+    
+                // Backpatch length
+                parcel.setDataPosition(oldPos - 8);
+                int length = newPos - oldPos;
+                parcel.writeInt(length);
+                parcel.setDataPosition(newPos);
+            }
+        } finally {
+            parcel.restoreAllowFds(oldAllowFds);
         }
     }
 
diff --git a/core/java/android/os/INetworkManagementService.aidl b/core/java/android/os/INetworkManagementService.aidl
index 66373fe..be87946 100644
--- a/core/java/android/os/INetworkManagementService.aidl
+++ b/core/java/android/os/INetworkManagementService.aidl
@@ -79,6 +79,16 @@
     void setInterfaceIpv6PrivacyExtensions(String iface, boolean enable);
 
     /**
+     * Disable IPv6 on an interface
+     */
+    void disableIpv6(String iface);
+
+    /**
+     * Enable IPv6 on an interface
+     */
+    void enableIpv6(String iface);
+
+    /**
      * Retrieves the network routes currently configured on the specified
      * interface
      */
diff --git a/core/java/android/os/Parcel.java b/core/java/android/os/Parcel.java
index e9ed676..15e3af4 100644
--- a/core/java/android/os/Parcel.java
+++ b/core/java/android/os/Parcel.java
@@ -323,6 +323,12 @@
      */
     public final native void setDataCapacity(int size);
 
+    /** @hide */
+    public final native boolean pushAllowFds(boolean allowFds);
+
+    /** @hide */
+    public final native void restoreAllowFds(boolean lastValue);
+
     /**
      * Returns the raw bytes of the parcel.
      *
diff --git a/core/java/android/preference/PreferenceScreen.java b/core/java/android/preference/PreferenceScreen.java
index 45e3a4c..8b99459 100644
--- a/core/java/android/preference/PreferenceScreen.java
+++ b/core/java/android/preference/PreferenceScreen.java
@@ -25,6 +25,8 @@
 import android.text.TextUtils;
 import android.util.AttributeSet;
 import android.view.View;
+import android.view.Window;
+import android.widget.AbsListView;
 import android.widget.Adapter;
 import android.widget.AdapterView;
 import android.widget.ListAdapter;
@@ -156,13 +158,13 @@
 
         // Set the title bar if title is available, else no title bar
         final CharSequence title = getTitle();
-        Dialog dialog = mDialog = new Dialog(context, TextUtils.isEmpty(title)
-                ? com.android.internal.R.style.Theme_NoTitleBar
-                : com.android.internal.R.style.Theme);
-        dialog.setContentView(mListView);
-        if (!TextUtils.isEmpty(title)) {
+        Dialog dialog = mDialog = new Dialog(context, context.getThemeResId());
+        if (TextUtils.isEmpty(title)) {
+            dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
+        } else {
             dialog.setTitle(title);
         }
+        dialog.setContentView(mListView);
         dialog.setOnDismissListener(this);
         if (state != null) {
             dialog.onRestoreInstanceState(state);
@@ -189,9 +191,13 @@
     }
 
     public void onItemClick(AdapterView parent, View view, int position, long id) {
+        // If the list has headers, subtract them from the index.
+        if (parent instanceof ListView) {
+            position -= ((ListView) parent).getHeaderViewsCount();
+        }
         Object item = getRootAdapter().getItem(position);
         if (!(item instanceof Preference)) return;
-        
+
         final Preference preference = (Preference) item; 
         preference.performClick(this);
     }
diff --git a/core/java/android/provider/CallLog.java b/core/java/android/provider/CallLog.java
index 886edaf..6d14dfc 100644
--- a/core/java/android/provider/CallLog.java
+++ b/core/java/android/provider/CallLog.java
@@ -238,6 +238,14 @@
         public static final String CACHED_PHOTO_ID = "photo_id";
 
         /**
+         * The cached formatted phone number.
+         * This value is not guaranteed to be present.
+         * <P>Type: TEXT</P>
+         * @hide
+         */
+        public static final String CACHED_FORMATTED_NUMBER = "formatted_number";
+
+        /**
          * Adds a call to the call log.
          *
          * @param ci the CallerInfo object to get the target contact from.  Can be null
diff --git a/core/java/android/provider/ContactsContract.java b/core/java/android/provider/ContactsContract.java
index da0ad49..8483b4f 100644
--- a/core/java/android/provider/ContactsContract.java
+++ b/core/java/android/provider/ContactsContract.java
@@ -3004,8 +3004,9 @@
      * long streamItemId = ContentUris.parseId(streamItemUri);
      * </pre>
      * </dd>
-     * <dt>Via the {@link StreamItems#CONTENT_URI} URI:</dt>
+     * <dt>Via {@link StreamItems#CONTENT_URI}:</dt>
      * <dd>
+     *<pre>
      * ContentValues values = new ContentValues();
      * values.put(StreamItems.RAW_CONTACT_ID, rawContactId);
      * values.put(StreamItems.TEXT, "Breakfasted at Tiffanys");
@@ -3013,6 +3014,7 @@
      * values.put(StreamItems.COMMENTS, "3 people reshared this");
      * Uri streamItemUri = getContentResolver().insert(StreamItems.CONTENT_URI, values);
      * long streamItemId = ContentUris.parseId(streamItemUri);
+     *</pre>
      * </dd>
      * </dl>
      * </dd>
@@ -3033,7 +3035,7 @@
      *     StreamItems.StreamItemPhotos.CONTENT_DIRECTORY), values);
      * </pre>
      * </dd>
-     * <dt>Via {@link ContactsContract.StreamItems#CONTENT_PHOTO_URI}</dt>
+     * <dt>Via {@link ContactsContract.StreamItems#CONTENT_PHOTO_URI}:</dt>
      * <dd>
      * <pre>
      * values.clear();
@@ -3042,7 +3044,7 @@
      * values.put(StreamItemPhotos.PHOTO, photoData);
      * getContentResolver().insert(StreamItems.CONTENT_PHOTO_URI, values);
      * </pre>
-     * Note that this latter form allows the insertion of a stream item and its
+     * <p>Note that this latter form allows the insertion of a stream item and its
      * photos in a single transaction, by using {@link ContentProviderOperation} with
      * back references to populate the stream item ID in the {@link ContentValues}.
      * </dd>
diff --git a/core/java/android/provider/MediaStore.java b/core/java/android/provider/MediaStore.java
index 5da3114..5f111eb 100644
--- a/core/java/android/provider/MediaStore.java
+++ b/core/java/android/provider/MediaStore.java
@@ -283,6 +283,17 @@
          */
         public static final String IS_DRM = "is_drm";
 
+        /**
+         * The width of the image/video in pixels.
+         * @hide
+         */
+        public static final String WIDTH = "width";
+
+        /**
+         * The height of the image/video in pixels.
+         * @hide
+         */
+        public static final String HEIGHT = "height";
      }
 
     /**
diff --git a/core/java/android/provider/Telephony.java b/core/java/android/provider/Telephony.java
index e849b71..237a892 100755
--- a/core/java/android/provider/Telephony.java
+++ b/core/java/android/provider/Telephony.java
@@ -1574,22 +1574,6 @@
             public static final String SENT_TIME = "sent_time";
         }
 
-        public static final class ScrapSpace {
-            /**
-             * The content:// style URL for this table
-             */
-            public static final Uri CONTENT_URI = Uri.parse("content://mms/scrapSpace");
-
-            /**
-             * This is the scrap file we use to store the media attachment when the user
-             * chooses to capture a photo to be attached . We pass {#link@Uri} to the Camera app,
-             * which streams the captured image to the uri. Internally we write the media content
-             * to this file. It's named '.temp.jpg' so Gallery won't pick it up.
-             */
-            public static final String SCRAP_FILE_PATH =
-                Environment.getExternalStorageDirectory().getPath() + "/mms/scrapSpace/.temp.jpg";
-        }
-
         public static final class Intents {
             private Intents() {
                 // Non-instantiatable.
diff --git a/core/java/android/server/BluetoothAdapterStateMachine.java b/core/java/android/server/BluetoothAdapterStateMachine.java
index d26364e..da7c489 100644
--- a/core/java/android/server/BluetoothAdapterStateMachine.java
+++ b/core/java/android/server/BluetoothAdapterStateMachine.java
@@ -77,6 +77,12 @@
     static final int PER_PROCESS_TURN_ON = 3;
     static final int PER_PROCESS_TURN_OFF = 4;
 
+    // Turn on Bluetooth Module, Load firmware, and do all the preparation
+    // needed to get the Bluetooth Module ready but keep it not discoverable
+    // and not connectable. This way the Bluetooth Module can be quickly
+    // switched on if needed
+    static final int TURN_HOT = 5;
+
     // Message(what) to report a event that the state machine need to respond to
     //
     // Event indicates sevice records have been loaded
@@ -94,23 +100,18 @@
 
     // private internal messages
     //
-    // Turn on Bluetooth Module, Load firmware, and do all the preparation
-    // needed to get the Bluetooth Module ready but keep it not discoverable
-    // and not connectable. This way the Bluetooth Module can be quickly
-    // switched on if needed
-    private static final int TURN_HOT = 101;
     // USER_TURN_ON is changed to TURN_ON_CONTINUE after we broadcast the
     // state change intent so that we will not broadcast the intent again in
     // other state
-    private static final int TURN_ON_CONTINUE = 102;
+    private static final int TURN_ON_CONTINUE = 101;
     // Unload firmware, turning off Bluetooth module power
-    private static final int TURN_COLD = 103;
+    private static final int TURN_COLD = 102;
     // Device disconnecting timeout happens
-    private static final int DEVICES_DISCONNECT_TIMEOUT = 104;
+    private static final int DEVICES_DISCONNECT_TIMEOUT = 103;
     // Prepare Bluetooth timeout happens
-    private static final int PREPARE_BLUETOOTH_TIMEOUT = 105;
+    private static final int PREPARE_BLUETOOTH_TIMEOUT = 104;
     // Bluetooth Powerdown timeout happens
-    private static final int POWER_DOWN_TIMEOUT = 106;
+    private static final int POWER_DOWN_TIMEOUT = 105;
 
     private Context mContext;
     private BluetoothService mBluetoothService;
@@ -156,11 +157,6 @@
 
         setInitialState(mPowerOff);
         mPublicState = BluetoothAdapter.STATE_OFF;
-
-        if (mContext.getResources().getBoolean
-            (com.android.internal.R.bool.config_bluetooth_adapter_quick_switch)) {
-            sendMessage(TURN_HOT);
-        }
     }
 
     /**
diff --git a/core/java/android/server/BluetoothService.java b/core/java/android/server/BluetoothService.java
index 63da926..9ca5847 100755
--- a/core/java/android/server/BluetoothService.java
+++ b/core/java/android/server/BluetoothService.java
@@ -313,6 +313,10 @@
         mAdapter = BluetoothAdapter.getDefaultAdapter();
         mBluetoothState = new BluetoothAdapterStateMachine(mContext, this, mAdapter);
         mBluetoothState.start();
+        if (mContext.getResources().getBoolean
+            (com.android.internal.R.bool.config_bluetooth_adapter_quick_switch)) {
+            mBluetoothState.sendMessage(BluetoothAdapterStateMachine.TURN_HOT);
+        }
         mEventLoop = mBluetoothState.getBluetoothEventLoop();
     }
 
diff --git a/core/java/android/speech/tts/TextToSpeech.java b/core/java/android/speech/tts/TextToSpeech.java
index 5126e48..98ab310 100755
--- a/core/java/android/speech/tts/TextToSpeech.java
+++ b/core/java/android/speech/tts/TextToSpeech.java
@@ -440,6 +440,9 @@
     private final Context mContext;
     private Connection mServiceConnection;
     private OnInitListener mInitListener;
+    // Written from an unspecified application thread, read from
+    // a binder thread.
+    private volatile OnUtteranceCompletedListener mUtteranceCompletedListener;
     private final Object mStartLock = new Object();
 
     private String mRequestedEngine;
@@ -1071,20 +1074,8 @@
      * @return {@link #ERROR} or {@link #SUCCESS}.
      */
     public int setOnUtteranceCompletedListener(final OnUtteranceCompletedListener listener) {
-        return runAction(new Action<Integer>() {
-            @Override
-            public Integer run(ITextToSpeechService service) throws RemoteException {
-                ITextToSpeechCallback.Stub callback = new ITextToSpeechCallback.Stub() {
-                    public void utteranceCompleted(String utteranceId) {
-                        if (listener != null) {
-                            listener.onUtteranceCompleted(utteranceId);
-                        }
-                    }
-                };
-                service.setCallback(getPackageName(), callback);
-                return SUCCESS;
-            }
-        }, ERROR, "setOnUtteranceCompletedListener");
+        mUtteranceCompletedListener = listener;
+        return TextToSpeech.SUCCESS;
     }
 
     /**
@@ -1137,6 +1128,15 @@
 
     private class Connection implements ServiceConnection {
         private ITextToSpeechService mService;
+        private final ITextToSpeechCallback.Stub mCallback = new ITextToSpeechCallback.Stub() {
+            @Override
+            public void utteranceCompleted(String utteranceId) {
+                OnUtteranceCompletedListener listener = mUtteranceCompletedListener;
+                if (listener != null) {
+                    listener.onUtteranceCompleted(utteranceId);
+                }
+            }
+        };
 
         public void onServiceConnected(ComponentName name, IBinder service) {
             Log.i(TAG, "Connected to " + name);
@@ -1147,7 +1147,13 @@
                 }
                 mServiceConnection = this;
                 mService = ITextToSpeechService.Stub.asInterface(service);
-                dispatchOnInit(SUCCESS);
+                try {
+                    mService.setCallback(getPackageName(), mCallback);
+                    dispatchOnInit(SUCCESS);
+                } catch (RemoteException re) {
+                    Log.e(TAG, "Error connecting to service, setCallback() failed");
+                    dispatchOnInit(ERROR);
+                }
             }
         }
 
diff --git a/core/java/android/text/DynamicLayout.java b/core/java/android/text/DynamicLayout.java
index 2f9852d..f82c9c4 100644
--- a/core/java/android/text/DynamicLayout.java
+++ b/core/java/android/text/DynamicLayout.java
@@ -275,7 +275,7 @@
         }
 
         if (reflowed == null) {
-            reflowed = new StaticLayout(getText());
+            reflowed = new StaticLayout(null);
         } else {
             reflowed.prepare();
         }
@@ -488,7 +488,7 @@
 
     private int mTopPadding, mBottomPadding;
 
-    private static StaticLayout sStaticLayout = null;
+    private static StaticLayout sStaticLayout = new StaticLayout(null);
 
     private static final Object[] sLock = new Object[0];
 
diff --git a/core/java/android/text/SpannableStringBuilder.java b/core/java/android/text/SpannableStringBuilder.java
index 5fed775..231f913 100644
--- a/core/java/android/text/SpannableStringBuilder.java
+++ b/core/java/android/text/SpannableStringBuilder.java
@@ -709,21 +709,18 @@
         T ret1 = null;
 
         for (int i = 0; i < spanCount; i++) {
-            if (!kind.isInstance(spans[i])) continue;
-
             int spanStart = starts[i];
-            int spanEnd = ends[i];
-
             if (spanStart > gapstart) {
                 spanStart -= gaplen;
             }
-            if (spanEnd > gapstart) {
-                spanEnd -= gaplen;
-            }
-
             if (spanStart > queryEnd) {
                 continue;
             }
+
+            int spanEnd = ends[i];
+            if (spanEnd > gapstart) {
+                spanEnd -= gaplen;
+            }
             if (spanEnd < queryStart) {
                 continue;
             }
@@ -735,6 +732,9 @@
                     continue;
             }
 
+            // Expensive test, should be performed after the previous tests
+            if (!kind.isInstance(spans[i])) continue;
+
             if (count == 0) {
                 // Safe conversion thanks to the isInstance test above
                 ret1 = (T) spans[i];
diff --git a/core/java/android/text/StaticLayout.java b/core/java/android/text/StaticLayout.java
index e8b2045..583cbe6 100644
--- a/core/java/android/text/StaticLayout.java
+++ b/core/java/android/text/StaticLayout.java
@@ -763,7 +763,8 @@
             return;
         }
 
-        float ellipsisWidth = paint.measureText(HORIZONTAL_ELLIPSIS);
+        float ellipsisWidth = paint.measureText(
+                (where == TextUtils.TruncateAt.END_SMALL) ? ELLIPSIS_TWO_DOTS : ELLIPSIS_NORMAL);
         int ellipsisStart = 0;
         int ellipsisCount = 0;
         int len = lineEnd - lineStart;
@@ -791,7 +792,8 @@
                     Log.w(TAG, "Start Ellipsis only supported with one line");
                 }
             }
-        } else if (where == TextUtils.TruncateAt.END || where == TextUtils.TruncateAt.MARQUEE) {
+        } else if (where == TextUtils.TruncateAt.END || where == TextUtils.TruncateAt.MARQUEE ||
+                where == TextUtils.TruncateAt.END_SMALL) {
             float sum = 0;
             int i;
 
@@ -1001,7 +1003,9 @@
     private static final char CHAR_HYPHEN = '-';
 
     private static final double EXTRA_ROUNDING = 0.5;
-    private static final String HORIZONTAL_ELLIPSIS = "\u2026"; // this is "..."
+
+    private static final String ELLIPSIS_NORMAL = "\u2026"; // this is "..."
+    private static final String ELLIPSIS_TWO_DOTS = "\u2025"; // this is ".."
 
     private static final int CHAR_FIRST_HIGH_SURROGATE = 0xD800;
     private static final int CHAR_LAST_LOW_SURROGATE = 0xDFFF;
diff --git a/core/java/android/text/TextLine.java b/core/java/android/text/TextLine.java
index a52d48e..68fea19 100644
--- a/core/java/android/text/TextLine.java
+++ b/core/java/android/text/TextLine.java
@@ -30,6 +30,8 @@
 
 import com.android.internal.util.ArrayUtils;
 
+import java.lang.reflect.Array;
+
 /**
  * Represents a line of styled text, for measuring in visual order and
  * for rendering.
@@ -679,6 +681,12 @@
 
         wp.getFontMetricsInt(fmi);
 
+        updateMetrics(fmi, previousTop, previousAscent, previousDescent, previousBottom,
+                previousLeading);
+    }
+
+    static void updateMetrics(FontMetricsInt fmi, int previousTop, int previousAscent,
+            int previousDescent, int previousBottom, int previousLeading) {
         fmi.top     = Math.min(fmi.top,     previousTop);
         fmi.ascent  = Math.min(fmi.ascent,  previousAscent);
         fmi.descent = Math.max(fmi.descent, previousDescent);
@@ -809,7 +817,28 @@
         int textLimit = mStart + limit;
 
         if (needWidth || (c != null && runIsRtl)) {
+            int previousTop = 0;
+            int previousAscent = 0;
+            int previousDescent = 0;
+            int previousBottom = 0;
+            int previousLeading = 0;
+
+            boolean needUpdateMetrics = (fmi != null);
+
+            if (needUpdateMetrics) {
+                previousTop     = fmi.top;
+                previousAscent  = fmi.ascent;
+                previousDescent = fmi.descent;
+                previousBottom  = fmi.bottom;
+                previousLeading = fmi.leading;
+            }
+
             ret = replacement.getSize(wp, mText, textStart, textLimit, fmi);
+
+            if (needUpdateMetrics) {
+                updateMetrics(fmi, previousTop, previousAscent, previousDescent, previousBottom,
+                        previousLeading);
+            }
         }
 
         if (c != null) {
@@ -823,6 +852,73 @@
         return runIsRtl ? -ret : ret;
     }
 
+    private static class SpanSet<E> {
+        final int numberOfSpans;
+        final E[] spans;
+        final int[] spanStarts;
+        final int[] spanEnds;
+        final int[] spanFlags;
+
+        @SuppressWarnings("unchecked")
+        SpanSet(Spanned spanned, int start, int limit, Class<? extends E> type) {
+            final E[] allSpans = spanned.getSpans(start, limit, type);
+            final int length = allSpans.length;
+            // These arrays may end up being too large because of empty spans
+            spans = (E[]) Array.newInstance(type, length);
+            spanStarts = new int[length];
+            spanEnds = new int[length];
+            spanFlags = new int[length];
+
+            int count = 0;
+            for (int i = 0; i < length; i++) {
+                final E span = allSpans[i];
+
+                final int spanStart = spanned.getSpanStart(span);
+                final int spanEnd = spanned.getSpanEnd(span);
+                if (spanStart == spanEnd) continue;
+
+                final int spanFlag = spanned.getSpanFlags(span);
+                final int priority = spanFlag & Spanned.SPAN_PRIORITY;
+                if (priority != 0 && count != 0) {
+                    int j;
+
+                    for (j = 0; j < count; j++) {
+                        final int otherPriority = spanFlags[j] & Spanned.SPAN_PRIORITY;
+                        if (priority > otherPriority) break;
+                    }
+
+                    System.arraycopy(spans, j, spans, j + 1, count - j);
+                    System.arraycopy(spanStarts, j, spanStarts, j + 1, count - j);
+                    System.arraycopy(spanEnds, j, spanEnds, j + 1, count - j);
+                    System.arraycopy(spanFlags, j, spanFlags, j + 1, count - j);
+
+                    spans[j] = span;
+                    spanStarts[j] = spanStart;
+                    spanEnds[j] = spanEnd;
+                    spanFlags[j] = spanFlag;
+                } else {
+                    spans[i] = span;
+                    spanStarts[i] = spanStart;
+                    spanEnds[i] = spanEnd;
+                    spanFlags[i] = spanFlag;
+                }
+
+                count++;
+            }
+            numberOfSpans = count;
+        }
+
+        int getNextTransition(int start, int limit) {
+            for (int i = 0; i < numberOfSpans; i++) {
+                final int spanStart = spanStarts[i];
+                final int spanEnd = spanEnds[i];
+                if (spanStart > start && spanStart < limit) limit = spanStart;
+                if (spanEnd > start && spanEnd < limit) limit = spanEnd;
+            }
+            return limit;
+        }
+    }
+
     /**
      * Utility function for handling a unidirectional run.  The run must not
      * contain tabs or emoji but can contain styles.
@@ -856,66 +952,70 @@
             return 0f;
         }
 
+        if (mSpanned == null) {
+            TextPaint wp = mWorkPaint;
+            wp.set(mPaint);
+            final int mlimit = measureLimit;
+            return handleText(wp, start, mlimit, start, limit, runIsRtl, c, x, top,
+                    y, bottom, fmi, needWidth || mlimit < measureLimit);
+        }
+
+        final SpanSet<MetricAffectingSpan> metricAffectingSpans = new SpanSet<MetricAffectingSpan>(
+                mSpanned, mStart + start, mStart + limit, MetricAffectingSpan.class);
+        final SpanSet<CharacterStyle> characterStyleSpans = new SpanSet<CharacterStyle>(
+                    mSpanned, mStart + start, mStart + limit, CharacterStyle.class);
+
         // Shaping needs to take into account context up to metric boundaries,
         // but rendering needs to take into account character style boundaries.
         // So we iterate through metric runs to get metric bounds,
         // then within each metric run iterate through character style runs
         // for the run bounds.
-        float ox = x;
+        final float originalX = x;
         for (int i = start, inext; i < measureLimit; i = inext) {
             TextPaint wp = mWorkPaint;
             wp.set(mPaint);
 
-            int mlimit;
-            if (mSpanned == null) {
-                inext = limit;
-                mlimit = measureLimit;
-            } else {
-                inext = mSpanned.nextSpanTransition(mStart + i, mStart + limit,
-                        MetricAffectingSpan.class) - mStart;
+            inext = metricAffectingSpans.getNextTransition(mStart + i, mStart + limit) - mStart;
+            int mlimit = Math.min(inext, measureLimit);
 
-                mlimit = inext < measureLimit ? inext : measureLimit;
-                MetricAffectingSpan[] spans = mSpanned.getSpans(mStart + i,
-                        mStart + mlimit, MetricAffectingSpan.class);
-                spans = TextUtils.removeEmptySpans(spans, mSpanned, MetricAffectingSpan.class);
+            ReplacementSpan replacement = null;
 
-                if (spans.length > 0) {
-                    ReplacementSpan replacement = null;
-                    for (int j = 0; j < spans.length; j++) {
-                        MetricAffectingSpan span = spans[j];
-                        if (span instanceof ReplacementSpan) {
-                            replacement = (ReplacementSpan)span;
-                        } else {
-                            // We might have a replacement that uses the draw
-                            // state, otherwise measure state would suffice.
-                            span.updateDrawState(wp);
-                        }
-                    }
-
-                    if (replacement != null) {
-                        x += handleReplacement(replacement, wp, i,
-                                mlimit, runIsRtl, c, x, top, y, bottom, fmi,
-                                needWidth || mlimit < measureLimit);
-                        continue;
-                    }
+            for (int j = 0; j < metricAffectingSpans.numberOfSpans; j++) {
+                // Both intervals [spanStarts..spanEnds] and [mStart + i..mStart + mlimit] are NOT
+                // empty by construction. This special case in getSpans() explains the >= & <= tests
+                if ((metricAffectingSpans.spanStarts[j] >= mStart + mlimit) ||
+                        (metricAffectingSpans.spanEnds[j] <= mStart + i)) continue;
+                MetricAffectingSpan span = metricAffectingSpans.spans[j];
+                if (span instanceof ReplacementSpan) {
+                    replacement = (ReplacementSpan)span;
+                } else {
+                    // We might have a replacement that uses the draw
+                    // state, otherwise measure state would suffice.
+                    span.updateDrawState(wp);
                 }
             }
 
-            if (mSpanned == null || c == null) {
+            if (replacement != null) {
+                x += handleReplacement(replacement, wp, i, mlimit, runIsRtl, c, x, top, y,
+                        bottom, fmi, needWidth || mlimit < measureLimit);
+                continue;
+            }
+
+            if (c == null) {
                 x += handleText(wp, i, mlimit, i, inext, runIsRtl, c, x, top,
                         y, bottom, fmi, needWidth || mlimit < measureLimit);
             } else {
                 for (int j = i, jnext; j < mlimit; j = jnext) {
-                    jnext = mSpanned.nextSpanTransition(mStart + j,
-                            mStart + mlimit, CharacterStyle.class) - mStart;
-
-                    CharacterStyle[] spans = mSpanned.getSpans(mStart + j,
-                            mStart + jnext, CharacterStyle.class);
-                    spans = TextUtils.removeEmptySpans(spans, mSpanned, CharacterStyle.class);
+                    jnext = characterStyleSpans.getNextTransition(mStart + j, mStart + mlimit) -
+                            mStart;
 
                     wp.set(mPaint);
-                    for (int k = 0; k < spans.length; k++) {
-                        CharacterStyle span = spans[k];
+                    for (int k = 0; k < characterStyleSpans.numberOfSpans; k++) {
+                        // Intentionally using >= and <= as explained above
+                        if ((characterStyleSpans.spanStarts[k] >= mStart + jnext) ||
+                                (characterStyleSpans.spanEnds[k] <= mStart + j)) continue;
+
+                        CharacterStyle span = characterStyleSpans.spans[k];
                         span.updateDrawState(wp);
                     }
 
@@ -925,7 +1025,7 @@
             }
         }
 
-        return x - ox;
+        return x - originalX;
     }
 
     /**
@@ -970,8 +1070,7 @@
         }
 
         pos += mStart;
-        MetricAffectingSpan[] spans = mSpanned.getSpans(pos, pos + 1,
-                MetricAffectingSpan.class);
+        MetricAffectingSpan[] spans = mSpanned.getSpans(pos, pos + 1, MetricAffectingSpan.class);
         if (spans.length == 0) {
             return mPaint.ascent();
         }
diff --git a/core/java/android/text/TextUtils.java b/core/java/android/text/TextUtils.java
index 894afbd..95a3cdc 100644
--- a/core/java/android/text/TextUtils.java
+++ b/core/java/android/text/TextUtils.java
@@ -53,9 +53,8 @@
 import java.util.regex.Pattern;
 
 public class TextUtils {
-    private TextUtils() { /* cannot be instantiated */ }
 
-    private static String[] EMPTY_STRING_ARRAY = new String[]{};
+    private TextUtils() { /* cannot be instantiated */ }
 
     public static void getChars(CharSequence s, int start, int end,
                                 char[] dest, int destoff) {
@@ -1000,6 +999,10 @@
         MIDDLE,
         END,
         MARQUEE,
+        /**
+         * @hide
+         */
+        END_SMALL
     }
 
     public interface EllipsizeCallback {
@@ -1010,8 +1013,6 @@
         public void ellipsized(int start, int end);
     }
 
-    private static String sEllipsis = null;
-
     /**
      * Returns the original text if it fits in the specified width
      * given the properties of the specified Paint,
@@ -1042,7 +1043,8 @@
                                          boolean preserveLength,
                                          EllipsizeCallback callback) {
         return ellipsize(text, paint, avail, where, preserveLength, callback,
-                TextDirectionHeuristics.FIRSTSTRONG_LTR);
+                TextDirectionHeuristics.FIRSTSTRONG_LTR,
+                (where == TruncateAt.END_SMALL) ? ELLIPSIS_TWO_DOTS : ELLIPSIS_NORMAL);
     }
 
     /**
@@ -1063,11 +1065,7 @@
             float avail, TruncateAt where,
             boolean preserveLength,
             EllipsizeCallback callback,
-            TextDirectionHeuristic textDir) {
-        if (sEllipsis == null) {
-            Resources r = Resources.getSystem();
-            sEllipsis = r.getString(R.string.ellipsis);
-        }
+            TextDirectionHeuristic textDir, String ellipsis) {
 
         int len = text.length();
 
@@ -1085,7 +1083,7 @@
 
             // XXX assumes ellipsis string does not require shaping and
             // is unaffected by style
-            float ellipsiswid = paint.measureText(sEllipsis);
+            float ellipsiswid = paint.measureText(ellipsis);
             avail -= ellipsiswid;
 
             int left = 0;
@@ -1094,7 +1092,7 @@
                 // it all goes
             } else if (where == TruncateAt.START) {
                 right = len - mt.breakText(0, len, false, avail);
-            } else if (where == TruncateAt.END) {
+            } else if (where == TruncateAt.END || where == TruncateAt.END_SMALL) {
                 left = mt.breakText(0, len, true, avail);
             } else {
                 right = len - mt.breakText(0, len, false, avail / 2);
@@ -1112,10 +1110,10 @@
             int remaining = len - (right - left);
             if (preserveLength) {
                 if (remaining > 0) { // else eliminate the ellipsis too
-                    buf[left++] = '\u2026';
+                    buf[left++] = ellipsis.charAt(0);
                 }
                 for (int i = left; i < right; i++) {
-                    buf[i] = '\uFEFF';
+                    buf[i] = ZWNBS_CHAR;
                 }
                 String s = new String(buf, 0, len);
                 if (sp == null) {
@@ -1131,16 +1129,16 @@
             }
 
             if (sp == null) {
-                StringBuilder sb = new StringBuilder(remaining + sEllipsis.length());
+                StringBuilder sb = new StringBuilder(remaining + ellipsis.length());
                 sb.append(buf, 0, left);
-                sb.append(sEllipsis);
+                sb.append(ellipsis);
                 sb.append(buf, right, len - right);
                 return sb.toString();
             }
 
             SpannableStringBuilder ssb = new SpannableStringBuilder();
             ssb.append(text, 0, left);
-            ssb.append(sEllipsis);
+            ssb.append(ellipsis);
             ssb.append(text, right, len);
             return ssb;
         } finally {
@@ -1664,4 +1662,13 @@
 
     private static Object sLock = new Object();
     private static char[] sTemp = null;
+
+    private static String[] EMPTY_STRING_ARRAY = new String[]{};
+
+    private static final char ZWNBS_CHAR = '\uFEFF';
+
+    private static final String ELLIPSIS_NORMAL = Resources.getSystem().getString(
+            R.string.ellipsis);
+    private static final String ELLIPSIS_TWO_DOTS = Resources.getSystem().getString(
+            R.string.ellipsis_two_dots);
 }
diff --git a/core/java/android/text/format/Time.java b/core/java/android/text/format/Time.java
index 5926db3..b4445ca 100644
--- a/core/java/android/text/format/Time.java
+++ b/core/java/android/text/format/Time.java
@@ -22,8 +22,8 @@
 import java.util.TimeZone;
 
 /**
- * The Time class is a faster replacement for the java.util.Calendar and
- * java.util.GregorianCalendar classes. An instance of the Time class represents
+ * An alternative to the {@link java.util.Calendar} and
+ * {@link java.util.GregorianCalendar} classes. An instance of the Time class represents
  * a moment in time, specified with second precision. It is modelled after
  * struct tm, and in fact, uses struct tm to implement most of the
  * functionality.
@@ -79,7 +79,7 @@
     public int month;
 
     /**
-     * Year. TBD. Is this years since 1900 like in struct tm?
+     * Year. For example, 1970.
      */
     public int year;
 
diff --git a/core/java/android/text/method/Touch.java b/core/java/android/text/method/Touch.java
index 3f9b945..106a801 100644
--- a/core/java/android/text/method/Touch.java
+++ b/core/java/android/text/method/Touch.java
@@ -35,44 +35,39 @@
      * Y position.
      */
     public static void scrollTo(TextView widget, Layout layout, int x, int y) {
-        int padding = widget.getTotalPaddingTop() +
-                      widget.getTotalPaddingBottom();
-        int top = layout.getLineForVertical(y);
-        int bottom = layout.getLineForVertical(y + widget.getHeight() -
-                                               padding);
+        final int verticalPadding = widget.getTotalPaddingTop() + widget.getTotalPaddingBottom();
+        final int top = layout.getLineForVertical(y);
+        final int bottom = layout.getLineForVertical(y + widget.getHeight() - verticalPadding);
 
         int left = Integer.MAX_VALUE;
         int right = 0;
-        Alignment a = null;
-        boolean ltr = true;
+        Alignment a = layout.getParagraphAlignment(top);
+        boolean ltr = layout.getParagraphDirection(top) > 0;
 
         for (int i = top; i <= bottom; i++) {
             left = (int) Math.min(left, layout.getLineLeft(i));
             right = (int) Math.max(right, layout.getLineRight(i));
-
-            if (a == null) {
-                a = layout.getParagraphAlignment(i);
-                ltr = layout.getParagraphDirection(i) > 0;
-            }
         }
 
-        padding = widget.getTotalPaddingLeft() + widget.getTotalPaddingRight();
-        int width = widget.getWidth();
-        int diff = 0;
+        final int hoizontalPadding = widget.getTotalPaddingLeft() + widget.getTotalPaddingRight();
+        final int availableWidth = widget.getWidth() - hoizontalPadding;
+        final int actualWidth = right - left;
 
-        // align_opposite does NOT mean align_right, we need the paragraph
-        // direction to resolve it to left or right
-        if (right - left < width - padding) {
+        if (actualWidth < availableWidth) {
             if (a == Alignment.ALIGN_CENTER) {
-                diff = (width - padding - (right - left)) / 2;
-            } else if (ltr == (a == Alignment.ALIGN_OPPOSITE)) {
-                diff = width - padding - (right - left);
+                x = left - ((availableWidth - actualWidth) / 2);
+            } else if ((ltr && (a == Alignment.ALIGN_OPPOSITE)) || (a == Alignment.ALIGN_RIGHT)) {
+                // align_opposite does NOT mean align_right, we need the paragraph
+                // direction to resolve it to left or right
+                x = left - (availableWidth - actualWidth);
+            } else {
+                x = left;
             }
+        } else {
+            x = Math.min(x, right - availableWidth);
+            x = Math.max(x, left);
         }
 
-        x = Math.min(x, right - (width - padding) - diff);
-        x = Math.max(x, left - diff);
-
         widget.scrollTo(x, y);
     }
 
diff --git a/core/java/android/text/method/WordIterator.java b/core/java/android/text/method/WordIterator.java
index 0433ec4..af524ee 100644
--- a/core/java/android/text/method/WordIterator.java
+++ b/core/java/android/text/method/WordIterator.java
@@ -73,10 +73,6 @@
         }
     };
 
-    public void forceUpdate() {
-        mCurrentDirty = true;
-    }
-
     public void setCharSequence(CharSequence incoming) {
         // When incoming is different object, move listeners to new sequence
         // and mark as dirty so we reload contents.
diff --git a/core/java/android/text/style/SpellCheckSpan.java b/core/java/android/text/style/SpellCheckSpan.java
index caaae99..0d8a103 100644
--- a/core/java/android/text/style/SpellCheckSpan.java
+++ b/core/java/android/text/style/SpellCheckSpan.java
@@ -39,8 +39,8 @@
         mSpellCheckInProgress = (src.readInt() != 0);
     }
 
-    public void setSpellCheckInProgress() {
-        mSpellCheckInProgress = true;
+    public void setSpellCheckInProgress(boolean inProgress) {
+        mSpellCheckInProgress = inProgress;
     }
 
     public boolean isSpellCheckInProgress() {
diff --git a/core/java/android/view/ActionMode.java b/core/java/android/view/ActionMode.java
index e954983..34e7d4d 100644
--- a/core/java/android/view/ActionMode.java
+++ b/core/java/android/view/ActionMode.java
@@ -153,6 +153,18 @@
     public abstract MenuInflater getMenuInflater();
 
     /**
+     * Returns whether the UI presenting this action mode can take focus or not.
+     * This is used by internal components within the framework that would otherwise
+     * present an action mode UI that requires focus, such as an EditText as a custom view.
+     *
+     * @return true if the UI used to show this action mode can take focus
+     * @hide Internal use only
+     */
+    public boolean isUiFocusable() {
+        return true;
+    }
+
+    /**
      * Callback interface for action modes. Supplied to
      * {@link View#startActionMode(Callback)}, a Callback
      * configures and handles events raised by a user's interaction with an action mode.
diff --git a/core/java/android/view/ActionProvider.java b/core/java/android/view/ActionProvider.java
index 5601dc5..ed976ab 100644
--- a/core/java/android/view/ActionProvider.java
+++ b/core/java/android/view/ActionProvider.java
@@ -58,6 +58,7 @@
  * @see MenuItem#getActionProvider()
  */
 public abstract class ActionProvider {
+    private SubUiVisibilityListener mSubUiVisibilityListener;
 
     /**
      * Creates a new instance.
@@ -138,4 +139,31 @@
      */
     public void onPrepareSubMenu(SubMenu subMenu) {
     }
+
+    /**
+     * Notify the system that the visibility of an action view's sub-UI such as
+     * an anchored popup has changed. This will affect how other system
+     * visibility notifications occur.
+     *
+     * @hide Pending future API approval
+     */
+    public void subUiVisibilityChanged(boolean isVisible) {
+        if (mSubUiVisibilityListener != null) {
+            mSubUiVisibilityListener.onSubUiVisibilityChanged(isVisible);
+        }
+    }
+
+    /**
+     * @hide Internal use only
+     */
+    public void setSubUiVisibilityListener(SubUiVisibilityListener listener) {
+        mSubUiVisibilityListener = listener;
+    }
+
+    /**
+     * @hide Internal use only
+     */
+    public interface SubUiVisibilityListener {
+        public void onSubUiVisibilityChanged(boolean isVisible);
+    }
 }
diff --git a/core/java/android/view/IWindowManager.aidl b/core/java/android/view/IWindowManager.aidl
index 335c66b..fe32a5f 100644
--- a/core/java/android/view/IWindowManager.aidl
+++ b/core/java/android/view/IWindowManager.aidl
@@ -116,6 +116,7 @@
     boolean isKeyguardLocked();
     boolean isKeyguardSecure();
     boolean inKeyguardRestrictedInputMode();
+    void dismissKeyguard();
 
     void closeSystemDialogs(String reason);
     
@@ -163,15 +164,13 @@
 
     // These can only be called with the SET_ORIENTATION permission.
     /**
-     * Change the current screen rotation, constants as per
-     * {@link android.view.Surface}.
-     * @param rotation the intended rotation.
+     * Update the current screen rotation based on the current state of
+     * the world.
      * @param alwaysSendConfiguration Flag to force a new configuration to
      * be evaluated.  This can be used when there are other parameters in
      * configuration that are changing.
-     * @param animFlags Animation flags as per {@link android.view.Surface}.
      */
-    void setRotation(int rotation, boolean alwaysSendConfiguration, int animFlags);
+    void updateRotation(boolean alwaysSendConfiguration);
 
     /**
      * Retrieve the current screen orientation, constants as per
@@ -193,11 +192,12 @@
     int getPreferredOptionsPanelGravity();
 
 	/**
-	 * Lock the device orientation to the current rotation. Sensor input will
-	 * be ignored until thawRotation() is called.
+	 * Lock the device orientation to the specified rotation, or to the
+	 * current rotation if -1.  Sensor input will be ignored until
+	 * thawRotation() is called.
 	 * @hide
 	 */
-	void freezeRotation();
+	void freezeRotation(int rotation);
 
 	/**
 	 * Release the orientation lock imposed by freezeRotation().
diff --git a/core/java/android/view/Surface.java b/core/java/android/view/Surface.java
index 3880bc45..64d3d31 100644
--- a/core/java/android/view/Surface.java
+++ b/core/java/android/view/Surface.java
@@ -207,9 +207,6 @@
 
     /** Enable dithering when compositing this surface @hide */
     public static final int SURFACE_DITHER    = 0x04;
-    
-    /** Disable the orientation animation @hide */
-    public static final int FLAGS_ORIENTATION_ANIMATION_DISABLE = 0x000000001;
 
     // The mSurfaceControl will only be present for Surfaces used by the window
     // server or system processes. When this class is parceled we defer to the
@@ -393,7 +390,7 @@
      * set the orientation of the given display.
      * @param display
      * @param orientation
-     * @param flags
+     * @param flags Currently unused, set to 0.
      * @hide
      */
     public static native   void setOrientation(int display, int orientation, int flags);
diff --git a/core/java/android/view/TextureView.java b/core/java/android/view/TextureView.java
index c735d6b..d57132a 100644
--- a/core/java/android/view/TextureView.java
+++ b/core/java/android/view/TextureView.java
@@ -93,6 +93,11 @@
  * been invoked.) It is therefore highly recommended you use a listener to
  * be notified when the SurfaceTexture becomes available.</p>
  * 
+ * <p>It is important to note that only one producer can use the TextureView.
+ * For instance, if you use a TextureView to display the camera preview, you
+ * cannot use {@link #lockCanvas()} to draw onto the TextureView at the same
+ * time.</p>
+ * 
  * @see SurfaceView
  * @see SurfaceTexture
  */
@@ -245,6 +250,11 @@
         return LAYER_TYPE_HARDWARE;
     }
 
+    @Override
+    boolean hasStaticLayer() {
+        return true;
+    }
+
     /**
      * Calling this method has no effect.
      */
@@ -523,6 +533,10 @@
      * rectangle is specified, in which case, non-dirty pixels will be
      * preserved.</p>
      * 
+     * <p>This method can only be used if the underlying surface is not already
+     * owned by another producer. For instance, if the TextureView is being used
+     * to render the camera's preview you cannot invoke this method.</p>
+     * 
      * @return A Canvas used to draw into the surface.
      * 
      * @see #lockCanvas(android.graphics.Rect) 
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index f993160..8e5aefd 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -81,7 +81,6 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Locale;
-import java.util.WeakHashMap;
 import java.util.concurrent.CopyOnWriteArrayList;
 
 /**
@@ -95,20 +94,10 @@
  * their layout properties.
  * </p>
  *
- * <div class="special">
- * <p>For an introduction to using this class to develop your
- * application's user interface, read the Developer Guide documentation on
- * <strong><a href="{@docRoot}guide/topics/ui/index.html">User Interface</a></strong>. Special topics
- * include:
- * <br/><a href="{@docRoot}guide/topics/ui/declaring-layout.html">Declaring Layout</a>
- * <br/><a href="{@docRoot}guide/topics/ui/menus.html">Creating Menus</a>
- * <br/><a href="{@docRoot}guide/topics/ui/layout-objects.html">Common Layout Objects</a>
- * <br/><a href="{@docRoot}guide/topics/ui/binding.html">Binding to Data with AdapterView</a>
- * <br/><a href="{@docRoot}guide/topics/ui/ui-events.html">Handling UI Events</a>
- * <br/><a href="{@docRoot}guide/topics/ui/themes.html">Applying Styles and Themes</a>
- * <br/><a href="{@docRoot}guide/topics/ui/custom-components.html">Building Custom Components</a>
- * <br/><a href="{@docRoot}guide/topics/ui/how-android-draws.html">How Android Draws Views</a>.
- * </p>
+ * <div class="special reference">
+ * <h3>Developer Guides</h3>
+ * <p>For information about using this class to develop your application's user interface,
+ * read the <a href="{@docRoot}guide/topics/ui/index.html">User Interface</a> developer guide.
  * </div>
  *
  * <a name="Using"></a>
@@ -1488,6 +1477,18 @@
     }
 
     /**
+     * Accessibility event types that are dispatched for text population.
+     */
+    private static final int POPULATING_ACCESSIBILITY_EVENT_TYPES =
+            AccessibilityEvent.TYPE_VIEW_CLICKED
+            | AccessibilityEvent.TYPE_VIEW_LONG_CLICKED
+            | AccessibilityEvent.TYPE_VIEW_SELECTED
+            | AccessibilityEvent.TYPE_VIEW_FOCUSED
+            | AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED
+            | AccessibilityEvent.TYPE_VIEW_HOVER_ENTER
+            | AccessibilityEvent.TYPE_VIEW_HOVER_EXIT;
+
+    /**
      * Temporary Rect currently for use in setBackground().  This will probably
      * be extended in the future to hold our own class with more than just
      * a Rect. :)
@@ -1497,12 +1498,7 @@
     /**
      * Map used to store views' tags.
      */
-    private static WeakHashMap<View, SparseArray<Object>> sTags;
-
-    /**
-     * Lock used to access sTags.
-     */
-    private static final Object sTagsLock = new Object();
+    private SparseArray<Object> mKeyedTags;
 
     /**
      * The next available accessiiblity id.
@@ -2915,6 +2911,7 @@
                         initializeScrollbars(a);
                     }
                     break;
+                //noinspection deprecation
                 case R.styleable.View_fadingEdge:
                     if (context.getApplicationInfo().targetSdkVersion >= ICE_CREAM_SANDWICH) {
                         // Ignore the attribute starting with ICS
@@ -3860,7 +3857,10 @@
             return;
         }
         onInitializeAccessibilityEvent(event);
-        dispatchPopulateAccessibilityEvent(event);
+        // Only a subset of accessibility events populates text content.
+        if ((event.getEventType() & POPULATING_ACCESSIBILITY_EVENT_TYPES) != 0) {
+            dispatchPopulateAccessibilityEvent(event);
+        }
         // In the beginning we called #isShown(), so we know that getParent() is not null.
         getParent().requestSendAccessibilityEvent(this, event);
     }
@@ -3881,6 +3881,10 @@
      * {@link AccessibilityDelegate#dispatchPopulateAccessibilityEvent(View, AccessibilityEvent)}
      * is responsible for handling this call.
      * </p>
+     * <p>
+     * <em>Note:</em> Accessibility events of certain types are not dispatched for
+     * populating the event text via this method. For details refer to {@link AccessibilityEvent}.
+     * </p>
      *
      * @param event The event.
      *
@@ -10000,6 +10004,15 @@
     }
 
     /**
+     * Indicates whether this view has a static layer. A view with layer type
+     * {@link #LAYER_TYPE_NONE} is a static layer. Other types of layers are
+     * dynamic.
+     */
+    boolean hasStaticLayer() {
+        return mLayerType == LAYER_TYPE_NONE;
+    }
+
+    /**
      * Indicates what type of layer is currently associated with this view. By default
      * a view does not have a layer, and the layer type is {@link #LAYER_TYPE_NONE}.
      * Refer to the documentation of {@link #setLayerType(int, android.graphics.Paint)}
@@ -12083,6 +12096,39 @@
     }
 
     /**
+     * Finds a view by its unuque and stable accessibility id.
+     *
+     * @param accessibilityId The searched accessibility id.
+     * @return The found view.
+     */
+    final View findViewByAccessibilityId(int accessibilityId) {
+        if (accessibilityId < 0) {
+            return null;
+        }
+        return findViewByAccessibilityIdTraversal(accessibilityId);
+    }
+
+    /**
+     * Performs the traversal to find a view by its unuque and stable accessibility id.
+     *
+     * <strong>Note:</strong>This method does not stop at the root namespace
+     * boundary since the user can touch the screen at an arbitrary location
+     * potentially crossing the root namespace bounday which will send an
+     * accessibility event to accessibility services and they should be able
+     * to obtain the event source. Also accessibility ids are guaranteed to be
+     * unique in the window.
+     *
+     * @param accessibilityId The accessibility id.
+     * @return The found view.
+     */
+    View findViewByAccessibilityIdTraversal(int accessibilityId) {
+        if (getAccessibilityViewId() == accessibilityId) {
+            return this;
+        }
+        return null;
+    }
+
+    /**
      * Look for a child view with the given tag.  If this view has the given
      * tag, return this view.
      *
@@ -12236,14 +12282,7 @@
      * @see #getTag()
      */
     public Object getTag(int key) {
-        SparseArray<Object> tags = null;
-        synchronized (sTagsLock) {
-            if (sTags != null) {
-                tags = sTags.get(this);
-            }
-        }
-
-        if (tags != null) return tags.get(key);
+        if (mKeyedTags != null) return mKeyedTags.get(key);
         return null;
     }
 
@@ -12276,7 +12315,7 @@
                     + "resource id.");
         }
 
-        setTagInternal(this, key, tag);
+        setKeyedTag(key, tag);
     }
 
     /**
@@ -12291,27 +12330,15 @@
                     + "resource id.");
         }
 
-        setTagInternal(this, key, tag);
+        setKeyedTag(key, tag);
     }
 
-    private static void setTagInternal(View view, int key, Object tag) {
-        SparseArray<Object> tags = null;
-        synchronized (sTagsLock) {
-            if (sTags == null) {
-                sTags = new WeakHashMap<View, SparseArray<Object>>();
-            } else {
-                tags = sTags.get(view);
-            }
+    private void setKeyedTag(int key, Object tag) {
+        if (mKeyedTags == null) {
+            mKeyedTags = new SparseArray<Object>();
         }
 
-        if (tags == null) {
-            tags = new SparseArray<Object>(2);
-            synchronized (sTagsLock) {
-                sTags.put(view, tags);
-            }
-        }
-
-        tags.put(key, tag);
+        mKeyedTags.put(key, tag);
     }
 
     /**
diff --git a/core/java/android/view/ViewGroup.java b/core/java/android/view/ViewGroup.java
index c7b59b8..5b4a6f8 100644
--- a/core/java/android/view/ViewGroup.java
+++ b/core/java/android/view/ViewGroup.java
@@ -34,7 +34,6 @@
 import android.util.AttributeSet;
 import android.util.Log;
 import android.util.SparseArray;
-import android.view.View.AccessibilityDelegate;
 import android.view.accessibility.AccessibilityEvent;
 import android.view.accessibility.AccessibilityNodeInfo;
 import android.view.animation.Animation;
@@ -290,6 +289,13 @@
     private static final int FLAG_SPLIT_MOTION_EVENTS = 0x200000;
 
     /**
+     * When set, this ViewGroup will not dispatch onAttachedToWindow calls
+     * to children when adding new views. This is used to prevent multiple
+     * onAttached calls when a ViewGroup adds children in its own onAttached method.
+     */
+    private static final int FLAG_PREVENT_DISPATCH_ATTACHED_TO_WINDOW = 0x400000;
+
+    /**
      * Indicates which types of drawing caches are to be kept in memory.
      * This field should be made private, so it is hidden from the SDK.
      * {@hide}
@@ -608,9 +614,9 @@
      * Called when a child has requested sending an {@link AccessibilityEvent} and
      * gives an opportunity to its parent to augment the event.
      * <p>
-     * If an {@link AccessibilityDelegate} has been specified via calling
-     * {@link #setAccessibilityDelegate(AccessibilityDelegate)} its
-     * {@link AccessibilityDelegate#onRequestSendAccessibilityEvent(ViewGroup, View, AccessibilityEvent)}
+     * If an {@link android.view.View.AccessibilityDelegate} has been specified via calling
+     * {@link android.view.View#setAccessibilityDelegate(android.view.View.AccessibilityDelegate)} its
+     * {@link android.view.View.AccessibilityDelegate#onRequestSendAccessibilityEvent(ViewGroup, View, AccessibilityEvent)}
      * is responsible for handling this call.
      * </p>
      *
@@ -815,6 +821,24 @@
         }
     }
 
+    @Override
+    View findViewByAccessibilityIdTraversal(int accessibilityId) {
+        View foundView = super.findViewByAccessibilityIdTraversal(accessibilityId);
+        if (foundView != null) {
+            return foundView;
+        }
+        final int childrenCount = mChildrenCount;
+        final View[] children = mChildren;
+        for (int i = 0; i < childrenCount; i++) {
+            View child = children[i];
+            foundView = child.findViewByAccessibilityIdTraversal(accessibilityId);
+            if (foundView != null) {
+                return foundView;
+            }
+        }
+        return null;
+    }
+
     /**
      * {@inheritDoc}
      */
@@ -2154,8 +2178,12 @@
      */
     @Override
     void dispatchAttachedToWindow(AttachInfo info, int visibility) {
+        mGroupFlags |= FLAG_PREVENT_DISPATCH_ATTACHED_TO_WINDOW;
         super.dispatchAttachedToWindow(info, visibility);
+        mGroupFlags &= ~FLAG_PREVENT_DISPATCH_ATTACHED_TO_WINDOW;
+
         visibility |= mViewFlags & VISIBILITY_MASK;
+
         final int count = mChildrenCount;
         final View[] children = mChildren;
         for (int i = 0; i < count; i++) {
@@ -2165,13 +2193,15 @@
 
     @Override
     boolean dispatchPopulateAccessibilityEventInternal(AccessibilityEvent event) {
-        // We first get a chance to populate the event.
-        super.dispatchPopulateAccessibilityEventInternal(event);
+        boolean handled = super.dispatchPopulateAccessibilityEventInternal(event);
+        if (handled) {
+            return handled;
+        }
         // Let our children have a shot in populating the event.
         for (int i = 0, count = getChildCount(); i < count; i++) {
             View child = getChildAt(i);
             if ((child.mViewFlags & VISIBILITY_MASK) == VISIBLE) {
-                boolean handled = getChildAt(i).dispatchPopulateAccessibilityEvent(event);
+                handled = getChildAt(i).dispatchPopulateAccessibilityEvent(event);
                 if (handled) {
                     return handled;
                 }
@@ -2548,7 +2578,8 @@
         final View[] children = mChildren;
         for (int i = 0; i < count; i++) {
             final View child = children[i];
-            if ((child.mViewFlags & VISIBILITY_MASK) == VISIBLE || child.getAnimation() != null) {
+            if (((child.mViewFlags & VISIBILITY_MASK) == VISIBLE || child.getAnimation() != null) &&
+                    child.hasStaticLayer()) {
                 child.mRecreateDisplayList = (child.mPrivateFlags & INVALIDATED) == INVALIDATED;
                 child.mPrivateFlags &= ~INVALIDATED;
                 child.getDisplayList();
@@ -2811,6 +2842,13 @@
 
         if (hasDisplayList) {
             displayList = child.getDisplayList();
+            if (!displayList.isValid()) {
+                // Uncommon, but possible. If a view is removed from the hierarchy during the call
+                // to getDisplayList(), the display list will be marked invalid and we should not
+                // try to use it again.
+                displayList = null;
+                hasDisplayList = false;
+            }
         }
 
         if (hasNoCache) {
@@ -3321,7 +3359,7 @@
         }
 
         AttachInfo ai = mAttachInfo;
-        if (ai != null) {
+        if (ai != null && (mGroupFlags & FLAG_PREVENT_DISPATCH_ATTACHED_TO_WINDOW) == 0) {
             boolean lastKeepOn = ai.mKeepScreenOn;
             ai.mKeepScreenOn = false;
             child.dispatchAttachedToWindow(mAttachInfo, (mViewFlags&VISIBILITY_MASK));
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index 4611984..e7c91f9 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -74,7 +74,6 @@
 import android.widget.Scroller;
 
 import com.android.internal.policy.PolicyManager;
-import com.android.internal.util.Predicate;
 import com.android.internal.view.BaseSurfaceHolder;
 import com.android.internal.view.IInputMethodCallback;
 import com.android.internal.view.IInputMethodSession;
@@ -1054,7 +1053,6 @@
                     || attachInfo.mSystemUiVisibility != oldVis
                     || attachInfo.mHasSystemUiListeners) {
                 params = lp;
-                windowAttributesChanges |= WindowManager.LayoutParams.BUFFER_CHANGED;
             }
         }
 
@@ -4463,9 +4461,6 @@
     final class AccessibilityInteractionController {
         private static final int POOL_SIZE = 5;
 
-        private FindByAccessibilitytIdPredicate mFindByAccessibilityIdPredicate =
-            new FindByAccessibilitytIdPredicate();
-
         private ArrayList<AccessibilityNodeInfo> mTempAccessibilityNodeInfoList =
             new ArrayList<AccessibilityNodeInfo>();
 
@@ -4552,11 +4547,8 @@
 
             AccessibilityNodeInfo info = null;
             try {
-                FindByAccessibilitytIdPredicate predicate = mFindByAccessibilityIdPredicate;
-                predicate.init(accessibilityId);
-                View root = ViewRootImpl.this.mView;
-                View target = root.findViewByPredicate(predicate);
-                if (target != null && target.getVisibility() == View.VISIBLE) {
+                View target = findViewByAccessibilityId(accessibilityId);
+                if (target != null) {
                     info = target.createAccessibilityNodeInfo();
                 }
             } finally {
@@ -4795,25 +4787,12 @@
             if (root == null) {
                 return null;
             }
-            mFindByAccessibilityIdPredicate.init(accessibilityId);
-            View foundView = root.findViewByPredicate(mFindByAccessibilityIdPredicate);
-            if (foundView == null || foundView.getVisibility() != View.VISIBLE) {
+            View foundView = root.findViewByAccessibilityId(accessibilityId);
+            if (foundView != null && foundView.getVisibility() != View.VISIBLE) {
                 return null;
             }
             return foundView;
         }
-
-        private final class FindByAccessibilitytIdPredicate implements Predicate<View> {
-            public int mSearchedId;
-
-            public void init(int searchedId) {
-                mSearchedId = searchedId;
-            }
-
-            public boolean apply(View view) {
-                return (view.getAccessibilityViewId() == mSearchedId);
-            }
-        }
     }
 
     private class SendWindowContentChangedAccessibilityEvent implements Runnable {
@@ -4821,18 +4800,7 @@
 
         public void run() {
             if (mView != null) {
-                // Check again for accessibility state since this is executed delayed.
-                AccessibilityManager accessibilityManager =
-                    AccessibilityManager.getInstance(mView.mContext);
-                if (accessibilityManager.isEnabled()) {
-                    // Send the event directly since we do not want to append the
-                    // source text because this is the text for the entire window
-                    // and we just want to notify that the content has changed.
-                    AccessibilityEvent event = AccessibilityEvent.obtain(
-                            AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED);
-                    mView.onInitializeAccessibilityEvent(event);
-                    accessibilityManager.sendAccessibilityEvent(event);
-                }
+                mView.sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED);
                 mIsPending = false;
             }
         }
diff --git a/core/java/android/view/VolumePanel.java b/core/java/android/view/VolumePanel.java
index fb87e23..122865e 100644
--- a/core/java/android/view/VolumePanel.java
+++ b/core/java/android/view/VolumePanel.java
@@ -34,10 +34,12 @@
 import android.net.Uri;
 import android.os.Handler;
 import android.os.Message;
+import android.os.RemoteException;
 import android.os.Vibrator;
 import android.provider.Settings;
 import android.provider.Settings.System;
 import android.util.Log;
+import android.view.WindowManager.LayoutParams;
 import android.widget.ImageView;
 import android.widget.SeekBar;
 import android.widget.SeekBar.OnSeekBarChangeListener;
@@ -175,20 +177,8 @@
         View view = mView = inflater.inflate(R.layout.volume_adjust, null);
         mView.setOnTouchListener(new View.OnTouchListener() {
             public boolean onTouch(View v, MotionEvent event) {
-                // Dismiss the dialog if the user touches outside the visible area. This is not
-                // handled by the usual dialog dismissing code because there is a region above
-                // the panel (marginTop) that is still within the dialog.
-                if (event.getAction() == MotionEvent.ACTION_DOWN) {
-                    int x = (int) event.getX();
-                    int y = (int) event.getY();
-                    if (x < mPanel.getLeft() || x > mPanel.getRight() || y < mPanel.getTop()
-                            || y > mPanel.getBottom()) {
-                        forceTimeout();
-                        return true;
-                    }
-                }
                 resetTimeout();
-                return true;
+                return false;
             }
         });
         mPanel = (ViewGroup) mView.findViewById(R.id.visible_panel);
@@ -196,7 +186,15 @@
         mMoreButton = (ImageView) mView.findViewById(R.id.expand_button);
         mDivider = (ImageView) mView.findViewById(R.id.expand_button_divider);
 
-        mDialog = new Dialog(context, R.style.Theme_Panel_Volume);
+        mDialog = new Dialog(context, R.style.Theme_Panel_Volume) {
+            public boolean onTouchEvent(MotionEvent event) {
+                if (isShowing() && event.getAction() == MotionEvent.ACTION_OUTSIDE) {
+                    forceTimeout();
+                    return true;
+                }
+                return false;
+            }
+        };
         mDialog.setTitle("Volume control"); // No need to localize
         mDialog.setContentView(mView);
         mDialog.setOnDismissListener(new OnDismissListener() {
@@ -208,11 +206,17 @@
         // Change some window properties
         Window window = mDialog.getWindow();
         window.setGravity(Gravity.TOP);
-        WindowManager.LayoutParams lp = window.getAttributes();
+        LayoutParams lp = window.getAttributes();
         lp.token = null;
-        lp.type = WindowManager.LayoutParams.TYPE_VOLUME_OVERLAY;
+        // Offset from the top
+        lp.y = mContext.getResources().getDimensionPixelOffset(
+                com.android.internal.R.dimen.volume_panel_top);
+        lp.type = LayoutParams.TYPE_VOLUME_OVERLAY;
+        lp.width = LayoutParams.WRAP_CONTENT;
+        lp.height = LayoutParams.WRAP_CONTENT;
         window.setAttributes(lp);
-        window.addFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
+        window.addFlags(LayoutParams.FLAG_NOT_FOCUSABLE | LayoutParams.FLAG_NOT_TOUCH_MODAL
+                | LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH);
 
         mToneGenerators = new ToneGenerator[AudioSystem.getNumStreamTypes()];
         mVibrator = new Vibrator();
diff --git a/core/java/android/view/Window.java b/core/java/android/view/Window.java
index 75c7592..d0841dd 100644
--- a/core/java/android/view/Window.java
+++ b/core/java/android/view/Window.java
@@ -26,6 +26,7 @@
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.IBinder;
+import android.os.SystemProperties;
 import android.util.Slog;
 import android.view.accessibility.AccessibilityEvent;
 
@@ -472,11 +473,14 @@
     }
 
     private class LocalWindowManager extends WindowManagerImpl.CompatModeWrapper {
+        private static final String PROPERTY_HARDWARE_UI = "persist.sys.ui.hw";
+
         private final boolean mHardwareAccelerated;
 
         LocalWindowManager(WindowManager wm, boolean hardwareAccelerated) {
             super(wm, getCompatInfo(mContext));
-            mHardwareAccelerated = hardwareAccelerated;
+            mHardwareAccelerated = hardwareAccelerated ||
+                    SystemProperties.getBoolean(PROPERTY_HARDWARE_UI, false);
         }
 
         public boolean isHardwareAccelerated() {
diff --git a/core/java/android/view/WindowManagerPolicy.java b/core/java/android/view/WindowManagerPolicy.java
index c07faf6..4f67675 100644
--- a/core/java/android/view/WindowManagerPolicy.java
+++ b/core/java/android/view/WindowManagerPolicy.java
@@ -375,12 +375,6 @@
     /** Screen turned off because of proximity sensor */
     public final int OFF_BECAUSE_OF_PROX_SENSOR = 4;
 
-    /**
-     * Magic constant to {@link IWindowManager#setRotation} to not actually
-     * modify the rotation.
-     */
-    public final int USE_LAST_ROTATION = -1000;
-
     /** When not otherwise specified by the activity's screenOrientation, rotation should be
      * determined by the system (that is, using sensors). */
     public final int USER_ROTATION_FREE = 0;
@@ -856,22 +850,42 @@
     public boolean inKeyguardRestrictedKeyInputMode();
 
     /**
-     * Given an orientation constant
-     * ({@link android.content.pm.ActivityInfo#SCREEN_ORIENTATION_LANDSCAPE
-     * ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE} or
-     * {@link android.content.pm.ActivityInfo#SCREEN_ORIENTATION_PORTRAIT
-     * ActivityInfo.SCREEN_ORIENTATION_PORTRAIT}), return a surface
-     * rotation.
+     * Ask the policy to dismiss the keyguard, if it is currently shown.
      */
-    public int rotationForOrientationLw(int orientation, int lastRotation,
-            boolean displayEnabled);
-    
+    public void dismissKeyguardLw();
+
     /**
-     * Return the currently locked screen rotation, if any.  Return
-     * Surface.ROTATION_0, Surface.ROTATION_90, Surface.ROTATION_180, or
-     * Surface.ROTATION_270 if locked; return -1 if not locked.
+     * Given an orientation constant, returns the appropriate surface rotation,
+     * taking into account sensors, docking mode, rotation lock, and other factors.
+     *
+     * @param orientation An orientation constant, such as
+     * {@link android.content.pm.ActivityInfo#SCREEN_ORIENTATION_LANDSCAPE}.
+     * @param lastRotation The most recently used rotation.
+     * @return The surface rotation to use.
      */
-    public int getLockedRotationLw();
+    public int rotationForOrientationLw(int orientation, int lastRotation);
+
+    /**
+     * Given an orientation constant and a rotation, returns true if the rotation
+     * has compatible metrics to the requested orientation.  For example, if
+     * the application requested landscape and got seascape, then the rotation
+     * has compatible metrics; if the application requested portrait and got landscape,
+     * then the rotation has incompatible metrics; if the application did not specify
+     * a preference, then anything goes.
+     *
+     * @param orientation An orientation constant, such as
+     * {@link android.content.pm.ActivityInfo#SCREEN_ORIENTATION_LANDSCAPE}.
+     * @param rotation The rotation to check.
+     * @return True if the rotation is compatible with the requested orientation.
+     */
+    public boolean rotationHasCompatibleMetricsLw(int orientation, int rotation);
+
+    /**
+     * Called by the window manager when the rotation changes.
+     *
+     * @param rotation The new rotation.
+     */
+    public void setRotationLw(int rotation);
 
     /**
      * Called when the system is mostly done booting to determine whether
diff --git a/core/java/android/view/WindowOrientationListener.java b/core/java/android/view/WindowOrientationListener.java
index 76b47ca..c3c74a7 100755
--- a/core/java/android/view/WindowOrientationListener.java
+++ b/core/java/android/view/WindowOrientationListener.java
@@ -26,7 +26,7 @@
 
 /**
  * A special helper class used by the WindowManager
- *  for receiving notifications from the SensorManager when
+ * for receiving notifications from the SensorManager when
  * the orientation of the device has changed.
  *
  * NOTE: If changing anything here, please run the API demo
@@ -54,6 +54,7 @@
     private Sensor mSensor;
     private SensorEventListenerImpl mSensorEventListener;
     boolean mLogEnabled;
+    int mCurrentRotation = -1;
 
     /**
      * Creates a new WindowOrientationListener.
@@ -117,15 +118,27 @@
     }
 
     /**
-     * Gets the current orientation.
-     * @param lastRotation
-     * @return
+     * Sets the current rotation.
+     *
+     * @param rotation The current rotation.
      */
-    public int getCurrentRotation(int lastRotation) {
+    public void setCurrentRotation(int rotation) {
+        mCurrentRotation = rotation;
+    }
+
+    /**
+     * Gets the proposed rotation.
+     *
+     * This method only returns a rotation if the orientation listener is certain
+     * of its proposal.  If the rotation is indeterminate, returns -1.
+     *
+     * @return The proposed rotation, or -1 if unknown.
+     */
+    public int getProposedRotation() {
         if (mEnabled) {
-            return mSensorEventListener.getCurrentRotation(lastRotation);
+            return mSensorEventListener.getProposedRotation();
         }
-        return lastRotation;
+        return -1;
     }
 
     /**
@@ -138,10 +151,14 @@
     /**
      * Called when the rotation view of the device has changed.
      *
+     * This method is called whenever the orientation becomes certain of an orientation.
+     * It is called each time the orientation determination transitions from being
+     * uncertain to being certain again, even if it is the same orientation as before.
+     *
      * @param rotation The new orientation of the device, one of the Surface.ROTATION_* constants.
      * @see Surface
      */
-    public abstract void onOrientationChanged(int rotation);
+    public abstract void onProposedRotationChanged(int rotation);
 
     /**
      * Enables or disables the window orientation listener logging for use with
@@ -183,23 +200,8 @@
      *    to the corresponding orientation.  These thresholds have some hysteresis built-in
      *    to avoid oscillations between adjacent orientations.
      *
-     *  - Use the magnitude to judge the confidence of the orientation.
-     *    Under ideal conditions, the magnitude should equal to that of gravity.  When it
-     *    differs significantly, we know the device is under external acceleration and
-     *    we can't trust the data.
-     *
-     *  - Use the tilt angle to judge the confidence of the orientation.
-     *    When the tilt angle is high in absolute value then the device is nearly flat
-     *    so small physical movements produce large changes in orientation angle.
-     *    This can be the case when the device is being picked up from a table.
-     *
-     *  - Use the orientation angle to judge the confidence of the orientation.
-     *    The close the orientation angle is to the canonical orientation angle, the better.
-     *
-     *  - Based on the aggregate confidence, we determine how long we want to wait for
-     *    the new orientation to settle.  This is accomplished by integrating the confidence
-     *    for each orientation over time.  When a threshold integration sum is reached
-     *    then we actually change orientations.
+     *  - Wait for the device to settle for a little bit.  Once that happens, issue the
+     *    new orientation proposal.
      *
      * Details are explained inline.
      */
@@ -212,22 +214,8 @@
         private static final int ACCELEROMETER_DATA_Y = 1;
         private static final int ACCELEROMETER_DATA_Z = 2;
 
-        // Rotation constants.
-        // These are the same as Surface rotation constants with the addition of a 5th
-        // unknown state when we are not confident about the proporsed orientation.
-        // One important property of these constants is that they are equal to the
-        // orientation angle itself divided by 90.  We use this fact to map
-        // back and forth between orientation angles and rotation values.
-        private static final int ROTATION_UNKNOWN = -1;
-        //private static final int ROTATION_0 = Surface.ROTATION_0; // 0
-        //private static final int ROTATION_90 = Surface.ROTATION_90; // 1
-        //private static final int ROTATION_180 = Surface.ROTATION_180; // 2
-        //private static final int ROTATION_270 = Surface.ROTATION_270; // 3
-
         private final WindowOrientationListener mOrientationListener;
 
-        private int mRotation = ROTATION_UNKNOWN;
-
         /* State for first order low-pass filtering of accelerometer data.
          * See http://en.wikipedia.org/wiki/Low-pass_filter#Discrete-time_realization for
          * signal processing background.
@@ -236,6 +224,24 @@
         private long mLastTimestamp = Long.MAX_VALUE; // in nanoseconds
         private float mLastFilteredX, mLastFilteredY, mLastFilteredZ;
 
+        // The current proposal.  We wait for the proposal to be stable for a
+        // certain amount of time before accepting it.
+        //
+        // The basic idea is to ignore intermediate poses of the device while the
+        // user is picking up, putting down or turning the device.
+        private int mProposalRotation;
+        private long mProposalAgeMS;
+
+        // A historical trace of tilt and orientation angles.  Used to determine whether
+        // the device posture has settled down.
+        private static final int HISTORY_SIZE = 20;
+        private int mHistoryIndex; // index of most recent sample
+        private int mHistoryLength; // length of historical trace
+        private final long[] mHistoryTimestampMS = new long[HISTORY_SIZE];
+        private final float[] mHistoryMagnitudes = new float[HISTORY_SIZE];
+        private final int[] mHistoryTiltAngles = new int[HISTORY_SIZE];
+        private final int[] mHistoryOrientationAngles = new int[HISTORY_SIZE];
+
         // The maximum sample inter-arrival time in milliseconds.
         // If the acceleration samples are further apart than this amount in time, we reset the
         // state of the low-pass filter and orientation properties.  This helps to handle
@@ -243,24 +249,26 @@
         // a significant gap in samples.
         private static final float MAX_FILTER_DELTA_TIME_MS = 1000;
 
-        // The acceleration filter cutoff frequency.
-        // This is the frequency at which signals are attenuated by 3dB (half the passband power).
+        // The acceleration filter time constant.
+        //
+        // This time constant is used to tune the acceleration filter such that
+        // impulses and vibrational noise (think car dock) is suppressed before we
+        // try to calculate the tilt and orientation angles.
+        //
+        // The filter time constant is related to the filter cutoff frequency, which is the
+        // frequency at which signals are attenuated by 3dB (half the passband power).
         // Each successive octave beyond this frequency is attenuated by an additional 6dB.
         //
-        // We choose the cutoff frequency such that impulses and vibrational noise
-        // (think car dock) is suppressed.  However, this filtering does not eliminate
-        // all possible sources of orientation ambiguity so we also rely on a dynamic
-        // settle time for establishing a new orientation.  Filtering adds latency
-        // inversely proportional to the cutoff frequency so we don't want to make
-        // it too small or we can lose hundreds of milliseconds of responsiveness.
-        private static final float FILTER_CUTOFF_FREQUENCY_HZ = 1f;
-        private static final float FILTER_TIME_CONSTANT_MS = (float)(500.0f
-                / (Math.PI * FILTER_CUTOFF_FREQUENCY_HZ)); // t = 1 / (2pi * Fc) * 1000ms
-
-        // The filter gain.
-        // We choose a value slightly less than unity to avoid numerical instabilities due
-        // to floating-point error accumulation.
-        private static final float FILTER_GAIN = 0.999f;
+        // Given a time constant t in seconds, the filter cutoff frequency Fc in Hertz
+        // is given by Fc = 1 / (2pi * t).
+        //
+        // The higher the time constant, the lower the cutoff frequency, so more noise
+        // will be suppressed.
+        //
+        // Filtering adds latency proportional the time constant (inversely proportional
+        // to the cutoff frequency) so we don't want to make the time constant too
+        // large or we can lose responsiveness.
+        private static final float FILTER_TIME_CONSTANT_MS = 100.0f;
 
         /* State for orientation detection. */
 
@@ -298,10 +306,10 @@
         // The ideal tilt angle is 0 (when the device is vertical) so the limits establish
         // how close to vertical the device must be in order to change orientation.
         private static final int[][] TILT_TOLERANCE = new int[][] {
-            /* ROTATION_0   */ { -20, 75 },
-            /* ROTATION_90  */ { -20, 70 },
-            /* ROTATION_180 */ { -20, 65 },
-            /* ROTATION_270 */ { -20, 70 }
+            /* ROTATION_0   */ { -20, 70 },
+            /* ROTATION_90  */ { -20, 60 },
+            /* ROTATION_180 */ { -20, 50 },
+            /* ROTATION_270 */ { -20, 60 }
         };
 
         // The gap angle in degrees between adjacent orientation angles for hysteresis.
@@ -309,41 +317,31 @@
         // adjacent orientation.  No orientation proposal is made when the orientation
         // angle is within the gap between the current orientation and the adjacent
         // orientation.
-        private static final int ADJACENT_ORIENTATION_ANGLE_GAP = 30;
+        private static final int ADJACENT_ORIENTATION_ANGLE_GAP = 45;
 
-        // The confidence scale factors for angle, tilt and magnitude.
-        // When the distance between the actual value and the ideal value is the
-        // specified delta, orientation transitions will take twice as long as they would
-        // in the ideal case.  Increasing or decreasing the delta has an exponential effect
-        // on each factor's influence over the transition time.
+        // The number of milliseconds for which the device posture must be stable
+        // before we perform an orientation change.  If the device appears to be rotating
+        // (being picked up, put down) then we keep waiting until it settles.
+        private static final int SETTLE_TIME_MS = 200;
 
-        // Transition takes 2x longer when angle is 30 degrees from ideal orientation angle.
-        private static final float ORIENTATION_ANGLE_CONFIDENCE_SCALE =
-                confidenceScaleFromDelta(30);
+        // The maximum change in magnitude that can occur during the settle time.
+        // Tuning this constant particularly helps to filter out situations where the
+        // device is being picked up or put down by the user.
+        private static final float SETTLE_MAGNITUDE_MAX_DELTA =
+                SensorManager.STANDARD_GRAVITY * 0.2f;
 
-        // Transition takes 2x longer when tilt is 60 degrees from vertical.
-        private static final float TILT_ANGLE_CONFIDENCE_SCALE = confidenceScaleFromDelta(60);
+        // The maximum change in tilt angle that can occur during the settle time.
+        private static final int SETTLE_TILT_ANGLE_MAX_DELTA = 5;
 
-        // Transition takes 2x longer when acceleration is 0.5 Gs.
-        private static final float MAGNITUDE_CONFIDENCE_SCALE = confidenceScaleFromDelta(
-                SensorManager.STANDARD_GRAVITY * 0.5f);
-
-        // The number of milliseconds for which a new orientation must be stable before
-        // we perform an orientation change under ideal conditions.  It will take
-        // proportionally longer than this to effect an orientation change when
-        // the proposed orientation confidence is low.
-        private static final float ORIENTATION_SETTLE_TIME_MS = 250;
-
-        // The confidence that we have abount effecting each orientation change.
-        // When one of these values exceeds 1.0, we have determined our new orientation!
-        private float mConfidence[] = new float[4];
+        // The maximum change in orientation angle that can occur during the settle time.
+        private static final int SETTLE_ORIENTATION_ANGLE_MAX_DELTA = 5;
 
         public SensorEventListenerImpl(WindowOrientationListener orientationListener) {
             mOrientationListener = orientationListener;
         }
 
-        public int getCurrentRotation(int lastRotation) {
-            return mRotation != ROTATION_UNKNOWN ? mRotation : lastRotation;
+        public int getProposedRotation() {
+            return mProposalAgeMS >= SETTLE_TIME_MS ? mProposalRotation : -1;
         }
 
         @Override
@@ -369,20 +367,18 @@
             // Reset the orientation listener state if the samples are too far apart in time
             // or when we see values of (0, 0, 0) which indicates that we polled the
             // accelerometer too soon after turning it on and we don't have any data yet.
-            final float timeDeltaMS = (event.timestamp - mLastTimestamp) * 0.000001f;
+            final long now = event.timestamp;
+            final float timeDeltaMS = (now - mLastTimestamp) * 0.000001f;
             boolean skipSample;
             if (timeDeltaMS <= 0 || timeDeltaMS > MAX_FILTER_DELTA_TIME_MS
                     || (x == 0 && y == 0 && z == 0)) {
                 if (log) {
                     Slog.v(TAG, "Resetting orientation listener.");
                 }
-                for (int i = 0; i < 4; i++) {
-                    mConfidence[i] = 0;
-                }
+                clearProposal();
                 skipSample = true;
             } else {
-                final float alpha = timeDeltaMS
-                        / (FILTER_TIME_CONSTANT_MS + timeDeltaMS) * FILTER_GAIN;
+                final float alpha = timeDeltaMS / (FILTER_TIME_CONSTANT_MS + timeDeltaMS);
                 x = alpha * (x - mLastFilteredX) + mLastFilteredX;
                 y = alpha * (y - mLastFilteredY) + mLastFilteredY;
                 z = alpha * (z - mLastFilteredZ) + mLastFilteredZ;
@@ -392,17 +388,13 @@
                 }
                 skipSample = false;
             }
-            mLastTimestamp = event.timestamp;
+            mLastTimestamp = now;
             mLastFilteredX = x;
             mLastFilteredY = y;
             mLastFilteredZ = z;
 
-            boolean orientationChanged = false;
+            final int oldProposedRotation = getProposedRotation();
             if (!skipSample) {
-                // Determine a proposed orientation based on the currently available data.
-                int proposedOrientation = ROTATION_UNKNOWN;
-                float combinedConfidence = 1.0f;
-
                 // Calculate the magnitude of the acceleration vector.
                 final float magnitude = (float) Math.sqrt(x * x + y * y + z * z);
                 if (magnitude < MIN_ACCELERATION_MAGNITUDE
@@ -411,6 +403,7 @@
                         Slog.v(TAG, "Ignoring sensor data, magnitude out of range: "
                                 + "magnitude=" + magnitude);
                     }
+                    clearProposal();
                 } else {
                     // Calculate the tilt angle.
                     // This is the angle between the up vector and the x-y plane (the plane of
@@ -418,123 +411,82 @@
                     //   -90 degrees: screen horizontal and facing the ground (overhead)
                     //     0 degrees: screen vertical
                     //    90 degrees: screen horizontal and facing the sky (on table)
-                   final int tiltAngle = (int) Math.round(
-                           Math.asin(z / magnitude) * RADIANS_TO_DEGREES);
+                    final int tiltAngle = (int) Math.round(
+                            Math.asin(z / magnitude) * RADIANS_TO_DEGREES);
 
-                   // If the tilt angle is too close to horizontal then we cannot determine
-                   // the orientation angle of the screen.
-                   if (Math.abs(tiltAngle) > MAX_TILT) {
-                       if (log) {
-                           Slog.v(TAG, "Ignoring sensor data, tilt angle too high: "
-                                   + "magnitude=" + magnitude + ", tiltAngle=" + tiltAngle);
-                       }
-                   } else {
-                       // Calculate the orientation angle.
-                       // This is the angle between the x-y projection of the up vector onto
-                       // the +y-axis, increasing clockwise in a range of [0, 360] degrees.
-                       int orientationAngle = (int) Math.round(
-                               -Math.atan2(-x, y) * RADIANS_TO_DEGREES);
-                       if (orientationAngle < 0) {
-                           // atan2 returns [-180, 180]; normalize to [0, 360]
-                           orientationAngle += 360;
-                       }
-
-                       // Find the nearest orientation.
-                       // An orientation of 0 can have a nearest angle of 0 or 360 depending
-                       // on which is closer to the measured orientation angle.  We leave the
-                       // nearest angle at 360 in that case since it makes the delta calculation
-                       // for orientation angle confidence easier below.
-                       int nearestOrientation = (orientationAngle + 45) / 90;
-                       int nearestOrientationAngle = nearestOrientation * 90;
-                       if (nearestOrientation == 4) {
-                           nearestOrientation = 0;
-                       }
-
-                       // Determine the proposed orientation.
-                       // The confidence of the proposal is 1.0 when it is ideal and it
-                       // decays exponentially as the proposal moves further from the ideal
-                       // angle, tilt and magnitude of the proposed orientation.
-                       if (isTiltAngleAcceptable(nearestOrientation, tiltAngle)
-                               && isOrientationAngleAcceptable(nearestOrientation,
-                                       orientationAngle)) {
-                           proposedOrientation = nearestOrientation;
-
-                           final float idealOrientationAngle = nearestOrientationAngle;
-                           final float orientationConfidence = confidence(orientationAngle,
-                                   idealOrientationAngle, ORIENTATION_ANGLE_CONFIDENCE_SCALE);
-
-                           final float idealTiltAngle = 0;
-                           final float tiltConfidence = confidence(tiltAngle,
-                                   idealTiltAngle, TILT_ANGLE_CONFIDENCE_SCALE);
-
-                           final float idealMagnitude = SensorManager.STANDARD_GRAVITY;
-                           final float magnitudeConfidence = confidence(magnitude,
-                                   idealMagnitude, MAGNITUDE_CONFIDENCE_SCALE);
-
-                           combinedConfidence = orientationConfidence
-                                   * tiltConfidence * magnitudeConfidence;
-
-                           if (log) {
-                               Slog.v(TAG, "Proposal: "
-                                       + "magnitude=" + magnitude
-                                       + ", tiltAngle=" + tiltAngle
-                                       + ", orientationAngle=" + orientationAngle
-                                       + ", proposedOrientation=" + proposedOrientation
-                                       + ", combinedConfidence=" + combinedConfidence
-                                       + ", orientationConfidence=" + orientationConfidence
-                                       + ", tiltConfidence=" + tiltConfidence
-                                       + ", magnitudeConfidence=" + magnitudeConfidence);
-                           }
-                       } else {
-                           if (log) {
-                               Slog.v(TAG, "Ignoring sensor data, no proposal: "
-                                       + "magnitude=" + magnitude + ", tiltAngle=" + tiltAngle
-                                       + ", orientationAngle=" + orientationAngle);
-                           }
-                       }
-                   }
-                }
-
-                // Sum up the orientation confidence weights.
-                // Detect an orientation change when the sum reaches 1.0.
-                final float confidenceAmount = combinedConfidence * timeDeltaMS
-                        / ORIENTATION_SETTLE_TIME_MS;
-                for (int i = 0; i < 4; i++) {
-                    if (i == proposedOrientation) {
-                        mConfidence[i] += confidenceAmount;
-                        if (mConfidence[i] >= 1.0f) {
-                            mConfidence[i] = 1.0f;
-
-                            if (i != mRotation) {
-                                if (log) {
-                                    Slog.v(TAG, "Orientation changed!  rotation=" + i);
-                                }
-                                mRotation = i;
-                                orientationChanged = true;
-                            }
+                    // If the tilt angle is too close to horizontal then we cannot determine
+                    // the orientation angle of the screen.
+                    if (Math.abs(tiltAngle) > MAX_TILT) {
+                        if (log) {
+                            Slog.v(TAG, "Ignoring sensor data, tilt angle too high: "
+                                    + "magnitude=" + magnitude + ", tiltAngle=" + tiltAngle);
                         }
+                        clearProposal();
                     } else {
-                        mConfidence[i] -= confidenceAmount;
-                        if (mConfidence[i] < 0.0f) {
-                            mConfidence[i] = 0.0f;
+                        // Calculate the orientation angle.
+                        // This is the angle between the x-y projection of the up vector onto
+                        // the +y-axis, increasing clockwise in a range of [0, 360] degrees.
+                        int orientationAngle = (int) Math.round(
+                                -Math.atan2(-x, y) * RADIANS_TO_DEGREES);
+                        if (orientationAngle < 0) {
+                            // atan2 returns [-180, 180]; normalize to [0, 360]
+                            orientationAngle += 360;
+                        }
+
+                        // Find the nearest rotation.
+                        int nearestRotation = (orientationAngle + 45) / 90;
+                        if (nearestRotation == 4) {
+                            nearestRotation = 0;
+                        }
+
+                        // Determine the proposed orientation.
+                        // The confidence of the proposal is 1.0 when it is ideal and it
+                        // decays exponentially as the proposal moves further from the ideal
+                        // angle, tilt and magnitude of the proposed orientation.
+                        if (!isTiltAngleAcceptable(nearestRotation, tiltAngle)
+                                || !isOrientationAngleAcceptable(nearestRotation,
+                                        orientationAngle)) {
+                            if (log) {
+                                Slog.v(TAG, "Ignoring sensor data, no proposal: "
+                                        + "magnitude=" + magnitude + ", tiltAngle=" + tiltAngle
+                                        + ", orientationAngle=" + orientationAngle);
+                            }
+                            clearProposal();
+                        } else {
+                            if (log) {
+                                Slog.v(TAG, "Proposal: "
+                                        + "magnitude=" + magnitude
+                                        + ", tiltAngle=" + tiltAngle
+                                        + ", orientationAngle=" + orientationAngle
+                                        + ", proposalRotation=" + mProposalRotation);
+                            }
+                            updateProposal(nearestRotation, now / 1000000L,
+                                    magnitude, tiltAngle, orientationAngle);
                         }
                     }
                 }
             }
 
             // Write final statistics about where we are in the orientation detection process.
+            final int proposedRotation = getProposedRotation();
             if (log) {
-                Slog.v(TAG, "Result: rotation=" + mRotation
-                        + ", confidence=["
-                        + mConfidence[0] + ", "
-                        + mConfidence[1] + ", "
-                        + mConfidence[2] + ", "
-                        + mConfidence[3] + "], timeDeltaMS=" + timeDeltaMS);
+                final float proposalConfidence = Math.min(
+                        mProposalAgeMS * 1.0f / SETTLE_TIME_MS, 1.0f);
+                Slog.v(TAG, "Result: currentRotation=" + mOrientationListener.mCurrentRotation
+                        + ", proposedRotation=" + proposedRotation
+                        + ", timeDeltaMS=" + timeDeltaMS
+                        + ", proposalRotation=" + mProposalRotation
+                        + ", proposalAgeMS=" + mProposalAgeMS
+                        + ", proposalConfidence=" + proposalConfidence);
             }
 
             // Tell the listener.
-            if (orientationChanged) {
-                mOrientationListener.onOrientationChanged(mRotation);
+            if (proposedRotation != oldProposedRotation && proposedRotation >= 0) {
+                if (log) {
+                    Slog.v(TAG, "Proposed rotation changed!  proposedRotation=" + proposedRotation
+                            + ", oldProposedRotation=" + oldProposedRotation);
+                }
+                mOrientationListener.onProposedRotationChanged(proposedRotation);
             }
         }
 
@@ -542,33 +494,34 @@
          * Returns true if the tilt angle is acceptable for a proposed
          * orientation transition.
          */
-        private boolean isTiltAngleAcceptable(int proposedOrientation,
+        private boolean isTiltAngleAcceptable(int proposedRotation,
                 int tiltAngle) {
-            return tiltAngle >= TILT_TOLERANCE[proposedOrientation][0]
-                    && tiltAngle <= TILT_TOLERANCE[proposedOrientation][1];
+            return tiltAngle >= TILT_TOLERANCE[proposedRotation][0]
+                    && tiltAngle <= TILT_TOLERANCE[proposedRotation][1];
         }
 
         /**
          * Returns true if the orientation angle is acceptable for a proposed
          * orientation transition.
+         *
          * This function takes into account the gap between adjacent orientations
          * for hysteresis.
          */
-        private boolean isOrientationAngleAcceptable(int proposedOrientation,
-                int orientationAngle) {
-            final int currentOrientation = mRotation;
-
+        private boolean isOrientationAngleAcceptable(int proposedRotation, int orientationAngle) {
             // If there is no current rotation, then there is no gap.
-            if (currentOrientation != ROTATION_UNKNOWN) {
-                // If the proposed orientation is the same or is counter-clockwise adjacent,
+            // The gap is used only to introduce hysteresis among advertised orientation
+            // changes to avoid flapping.
+            final int currentRotation = mOrientationListener.mCurrentRotation;
+            if (currentRotation >= 0) {
+                // If the proposed rotation is the same or is counter-clockwise adjacent,
                 // then we set a lower bound on the orientation angle.
-                // For example, if currentOrientation is ROTATION_0 and proposed is ROTATION_90,
+                // For example, if currentRotation is ROTATION_0 and proposed is ROTATION_90,
                 // then we want to check orientationAngle > 45 + GAP / 2.
-                if (proposedOrientation == currentOrientation
-                        || proposedOrientation == (currentOrientation + 1) % 4) {
-                    int lowerBound = proposedOrientation * 90 - 45
+                if (proposedRotation == currentRotation
+                        || proposedRotation == (currentRotation + 1) % 4) {
+                    int lowerBound = proposedRotation * 90 - 45
                             + ADJACENT_ORIENTATION_ANGLE_GAP / 2;
-                    if (proposedOrientation == 0) {
+                    if (proposedRotation == 0) {
                         if (orientationAngle >= 315 && orientationAngle < lowerBound + 360) {
                             return false;
                         }
@@ -579,15 +532,15 @@
                     }
                 }
 
-                // If the proposed orientation is the same or is clockwise adjacent,
+                // If the proposed rotation is the same or is clockwise adjacent,
                 // then we set an upper bound on the orientation angle.
-                // For example, if currentOrientation is ROTATION_0 and proposed is ROTATION_270,
+                // For example, if currentRotation is ROTATION_0 and proposed is ROTATION_270,
                 // then we want to check orientationAngle < 315 - GAP / 2.
-                if (proposedOrientation == currentOrientation
-                        || proposedOrientation == (currentOrientation + 3) % 4) {
-                    int upperBound = proposedOrientation * 90 + 45
+                if (proposedRotation == currentRotation
+                        || proposedRotation == (currentRotation + 3) % 4) {
+                    int upperBound = proposedRotation * 90 + 45
                             - ADJACENT_ORIENTATION_ANGLE_GAP / 2;
-                    if (proposedOrientation == 0) {
+                    if (proposedRotation == 0) {
                         if (orientationAngle <= 45 && orientationAngle > upperBound) {
                             return false;
                         }
@@ -601,21 +554,58 @@
             return true;
         }
 
-        /**
-         * Calculate an exponentially weighted confidence value in the range [0.0, 1.0].
-         * The further the value is from the target, the more the confidence trends to 0.
-         */
-        private static float confidence(float value, float target, float scale) {
-            return (float) Math.exp(-Math.abs(value - target) * scale);
+        private void clearProposal() {
+            mProposalRotation = -1;
+            mProposalAgeMS = 0;
         }
 
-        /**
-         * Calculate a scale factor for the confidence weight exponent.
-         * The scale value is chosen such that confidence(value, target, scale) == 0.5
-         * whenever abs(value - target) == cutoffDelta.
-         */
-        private static float confidenceScaleFromDelta(float cutoffDelta) {
-            return (float) -Math.log(0.5) / cutoffDelta;
+        private void updateProposal(int rotation, long timestampMS,
+                float magnitude, int tiltAngle, int orientationAngle) {
+            if (mProposalRotation != rotation) {
+                mProposalRotation = rotation;
+                mHistoryIndex = 0;
+                mHistoryLength = 0;
+            }
+
+            final int index = mHistoryIndex;
+            mHistoryTimestampMS[index] = timestampMS;
+            mHistoryMagnitudes[index] = magnitude;
+            mHistoryTiltAngles[index] = tiltAngle;
+            mHistoryOrientationAngles[index] = orientationAngle;
+            mHistoryIndex = (index + 1) % HISTORY_SIZE;
+            if (mHistoryLength < HISTORY_SIZE) {
+                mHistoryLength += 1;
+            }
+
+            long age = 0;
+            for (int i = 1; i < mHistoryLength; i++) {
+                final int olderIndex = (index + HISTORY_SIZE - i) % HISTORY_SIZE;
+                if (Math.abs(mHistoryMagnitudes[olderIndex] - magnitude)
+                        > SETTLE_MAGNITUDE_MAX_DELTA) {
+                    break;
+                }
+                if (angleAbsoluteDelta(mHistoryTiltAngles[olderIndex],
+                        tiltAngle) > SETTLE_TILT_ANGLE_MAX_DELTA) {
+                    break;
+                }
+                if (angleAbsoluteDelta(mHistoryOrientationAngles[olderIndex],
+                        orientationAngle) > SETTLE_ORIENTATION_ANGLE_MAX_DELTA) {
+                    break;
+                }
+                age = timestampMS - mHistoryTimestampMS[olderIndex];
+                if (age >= SETTLE_TIME_MS) {
+                    break;
+                }
+            }
+            mProposalAgeMS = age;
+        }
+
+        private static int angleAbsoluteDelta(int a, int b) {
+            int delta = Math.abs(a - b);
+            if (delta > 180) {
+                delta = 360 - delta;
+            }
+            return delta;
         }
     }
 }
diff --git a/core/java/android/view/accessibility/AccessibilityEvent.java b/core/java/android/view/accessibility/AccessibilityEvent.java
index c93b564..91fbb0e 100644
--- a/core/java/android/view/accessibility/AccessibilityEvent.java
+++ b/core/java/android/view/accessibility/AccessibilityEvent.java
@@ -69,14 +69,16 @@
  * <em>Type:</em>{@link #TYPE_VIEW_CLICKED}</br>
  * <em>Properties:</em></br>
  * <ul>
+ *   <li>{@link #getEventType()} - The type of the event.</li>
  *   <li>{@link #getSource()} - The source info (for registered clients).</li>
  *   <li>{@link #getClassName()} - The class name of the source.</li>
  *   <li>{@link #getPackageName()} - The package name of the source.</li>
  *   <li>{@link #getEventTime()}  - The event time.</li>
- *   <li>{@link #getText()} - The text of the source.</li>
+ *   <li>{@link #getText()} - The text of the source's sub-tree.</li>
  *   <li>{@link #isEnabled()} - Whether the source is enabled.</li>
  *   <li>{@link #isPassword()} - Whether the source is password.</li>
  *   <li>{@link #isChecked()} - Whether the source is checked.</li>
+ *   <li>{@link #getContentDescription()} - The content description of the source.</li>
  * </ul>
  * </p>
  * <p>
@@ -85,14 +87,16 @@
  * <em>Type:</em>{@link #TYPE_VIEW_LONG_CLICKED}</br>
  * <em>Properties:</em></br>
  * <ul>
+ *   <li>{@link #getEventType()} - The type of the event.</li>
  *   <li>{@link #getSource()} - The source info (for registered clients).</li>
  *   <li>{@link #getClassName()} - The class name of the source.</li>
  *   <li>{@link #getPackageName()} - The package name of the source.</li>
  *   <li>{@link #getEventTime()}  - The event time.</li>
- *   <li>{@link #getText()} - The text of the source.</li>
+ *   <li>{@link #getText()} - The text of the source's sub-tree.</li>
  *   <li>{@link #isEnabled()} - Whether the source is enabled.</li>
  *   <li>{@link #isPassword()} - Whether the source is password.</li>
  *   <li>{@link #isChecked()} - Whether the source is checked.</li>
+ *   <li>{@link #getContentDescription()} - The content description of the source.</li>
  * </ul>
  * </p>
  * <p>
@@ -101,16 +105,18 @@
  * <em>Type:</em> {@link #TYPE_VIEW_SELECTED}</br>
  * <em>Properties:</em></br>
  * <ul>
+ *   <li>{@link #getEventType()} - The type of the event.</li>
  *   <li>{@link #getSource()} - The source info (for registered clients).</li>
  *   <li>{@link #getClassName()} - The class name of the source.</li>
  *   <li>{@link #getPackageName()} - The package name of the source.</li>
  *   <li>{@link #getEventTime()}  - The event time.</li>
- *   <li>{@link #getText()} - The text of the source.</li>
+ *   <li>{@link #getText()} - The text of the source's sub-tree.</li>
  *   <li>{@link #isEnabled()} - Whether the source is enabled.</li>
  *   <li>{@link #isPassword()} - Whether the source is password.</li>
  *   <li>{@link #isChecked()} - Whether the source is checked.</li>
  *   <li>{@link #getItemCount()} - The number of selectable items of the source.</li>
  *   <li>{@link #getCurrentItemIndex()} - The currently selected item index.</li>
+ *   <li>{@link #getContentDescription()} - The content description of the source.</li>
  * </ul>
  * </p>
  * <p>
@@ -119,16 +125,18 @@
  * <em>Type:</em> {@link #TYPE_VIEW_FOCUSED}</br>
  * <em>Properties:</em></br>
  * <ul>
+ *   <li>{@link #getEventType()} - The type of the event.</li>
  *   <li>{@link #getSource()} - The source info (for registered clients).</li>
  *   <li>{@link #getClassName()} - The class name of the source.</li>
  *   <li>{@link #getPackageName()} - The package name of the source.</li>
  *   <li>{@link #getEventTime()}  - The event time.</li>
- *   <li>{@link #getText()} - The text of the source.</li>
+ *   <li>{@link #getText()} - The text of the source's sub-tree.</li>
  *   <li>{@link #isEnabled()} - Whether the source is enabled.</li>
  *   <li>{@link #isPassword()} - Whether the source is password.</li>
  *   <li>{@link #isChecked()} - Whether the source is checked.</li>
  *   <li>{@link #getItemCount()} - The number of focusable items on the screen.</li>
  *   <li>{@link #getCurrentItemIndex()} - The currently focused item index.</li>
+ *   <li>{@link #getContentDescription()} - The content description of the source.</li>
  * </ul>
  * </p>
  * <p>
@@ -137,6 +145,7 @@
  * <em>Type:</em> {@link #TYPE_VIEW_TEXT_CHANGED}</br>
  * <em>Properties:</em></br>
  * <ul>
+ *   <li>{@link #getEventType()} - The type of the event.</li>
  *   <li>{@link #getSource()} - The source info (for registered clients).</li>
  *   <li>{@link #getClassName()} - The class name of the source.</li>
  *   <li>{@link #getPackageName()} - The package name of the source.</li>
@@ -149,7 +158,17 @@
  *   <li>{@link #getAddedCount()} - The number of added characters.</li>
  *   <li>{@link #getRemovedCount()} - The number of removed characters.</li>
  *   <li>{@link #getBeforeText()} - The text of the source before the change.</li>
+ *   <li>{@link #getContentDescription()} - The content description of the source.</li>
  * </ul>
+ * <em>Note:</em> This event type is not dispatched to descendants though
+ * {@link android.view.View#dispatchPopulateAccessibilityEvent(AccessibilityEvent)
+ * View.dispatchPopulateAccessibilityEvent(AccessibilityEvent)}, hence the event
+ * source {@link android.view.View} and the sub-tree rooted at it will not receive
+ * calls to {@link android.view.View#onPopulateAccessibilityEvent(AccessibilityEvent)
+ * View.onPopulateAccessibilityEvent(AccessibilityEvent)}. The preferred way to add
+ * text content to such events is by setting the
+ * {@link android.R.styleable#View_contentDescription contentDescription} of the source
+ * view.</br>
  * </p>
  * <p>
  * <b>View text selection changed</b> - represents the event of changing the text
@@ -157,35 +176,47 @@
  * <em>Type:</em> {@link #TYPE_VIEW_TEXT_SELECTION_CHANGED} </br>
  * <em>Properties:</em></br>
  * <ul>
+ *   <li>{@link #getEventType()} - The type of the event.</li>
  *   <li>{@link #getSource()} - The source info (for registered clients).</li>
  *   <li>{@link #getClassName()} - The class name of the source.</li>
  *   <li>{@link #getPackageName()} - The package name of the source.</li>
  *   <li>{@link #getEventTime()}  - The event time.</li>
  *   <li>{@link #getText()} - The text of the source.</li>
- *   <li>{@link #isEnabled()} - Whether the source is enabled.</li>
  *   <li>{@link #isPassword()} - Whether the source is password.</li>
  *   <li>{@link #getFromIndex()} - The selection start index.</li>
  *   <li>{@link #getToIndex()} - The selection end index.</li>
  *   <li>{@link #getItemCount()} - The length of the source text.</li>
+ *   <li>{@link #isEnabled()} - Whether the source is enabled.</li>
+ *   <li>{@link #getContentDescription()} - The content description of the source.</li>
  * </ul>
+ * <em>Note:</em> This event type is not dispatched to descendants though
+ * {@link android.view.View#dispatchPopulateAccessibilityEvent(AccessibilityEvent)
+ * View.dispatchPopulateAccessibilityEvent(AccessibilityEvent)}, hence the event
+ * source {@link android.view.View} and the sub-tree rooted at it will not receive
+ * calls to {@link android.view.View#onPopulateAccessibilityEvent(AccessibilityEvent)
+ * View.onPopulateAccessibilityEvent(AccessibilityEvent)}. The preferred way to add
+ * text content to such events is by setting the
+ * {@link android.R.styleable#View_contentDescription contentDescription} of the source
+ * view.</br>
  * </p>
  * <p>
  * <b>View scrolled</b> - represents the event of scrolling a view. If
  * the source is a descendant of {@link android.widget.AdapterView} the
  * scroll is reported in terms of visible items - the first visible item,
  * the last visible item, and the total items - because the the source
- * is unaware if its pixel size since its adapter is responsible for
+ * is unaware of its pixel size since its adapter is responsible for
  * creating views. In all other cases the scroll is reported as the current
  * scroll on the X and Y axis respectively plus the height of the source in
  * pixels.</br>
  * <em>Type:</em> {@link #TYPE_VIEW_SCROLLED}</br>
  * <em>Properties:</em></br>
  * <ul>
+ *   <li>{@link #getEventType()} - The type of the event.</li>
  *   <li>{@link #getSource()} - The source info (for registered clients).</li>
  *   <li>{@link #getClassName()} - The class name of the source.</li>
  *   <li>{@link #getPackageName()} - The package name of the source.</li>
  *   <li>{@link #getEventTime()}  - The event time.</li>
- *   <li>{@link #getText()} - The text of the source.</li>
+ *   <li>{@link #getText()} - The text of the source's sub-tree.</li>
  *   <li>{@link #isEnabled()} - Whether the source is enabled.</li>
  *   <li>{@link #getScrollX()} - The horizontal offset of the source
  *                                (without descendants of AdapterView)).</li>
@@ -197,56 +228,165 @@
  *                               (for descendants of AdapterView).</li>
  *   <li>{@link #getItemCount()} - The total items of the source (for descendants of AdapterView)
  *                                 or the height of the source in pixels (all other cases).</li>
+ *   <li>{@link #getText()} - Text for providing more context.</li>
+ *   <li>{@link #getContentDescription()} - The content description of the source.</li>
  * </ul>
+ * <em>Note:</em> This event type is not dispatched to descendants though
+ * {@link android.view.View#dispatchPopulateAccessibilityEvent(AccessibilityEvent)
+ * View.dispatchPopulateAccessibilityEvent(AccessibilityEvent)}, hence the event
+ * source {@link android.view.View} and the sub-tree rooted at it will not receive
+ * calls to {@link android.view.View#onPopulateAccessibilityEvent(AccessibilityEvent)
+ * View.onPopulateAccessibilityEvent(AccessibilityEvent)}. The preferred way to add
+ * text content to such events is by setting the
+ * {@link android.R.styleable#View_contentDescription contentDescription} of the source
+ * view.</br>
  * </p>
  * <p>
  * <b>TRANSITION TYPES</b></br>
  * </p>
+ * <p>
  * <b>Window state changed</b> - represents the event of opening a
  * {@link android.widget.PopupWindow}, {@link android.view.Menu},
  * {@link android.app.Dialog}, etc.</br>
  * <em>Type:</em> {@link #TYPE_WINDOW_STATE_CHANGED}</br>
  * <em>Properties:</em></br>
  * <ul>
+ *   <li>{@link #getEventType()} - The type of the event.</li>
  *   <li>{@link #getSource()} - The source info (for registered clients).</li>
  *   <li>{@link #getClassName()} - The class name of the source.</li>
  *   <li>{@link #getPackageName()} - The package name of the source.</li>
  *   <li>{@link #getEventTime()}  - The event time.</li>
- *   <li>{@link #getText()} - The text of the source.</li>
+ *   <li>{@link #getText()} - The text of the source's sub-tree.</li>
+ *   <li>{@link #isEnabled()} - Whether the source is enabled.</li>
  * </ul>
  * </p>
  * <p>
  * <b>Window content changed</b> - represents the event of change in the
  * content of a window. This change can be adding/removing view, changing
  * a view size, etc.</br>
+ * </p>
  * <p>
  * <strong>Note:</strong> This event is fired only for the window source of the
- * last accessibility event different from {@link #TYPE_NOTIFICATION_STATE_CHANGED})
+ * last accessibility event different from {@link #TYPE_NOTIFICATION_STATE_CHANGED}
  * and its purpose is to notify clients that the content of the user interaction
- * window has changed.
- * </p>
+ * window has changed.</br>
  * <em>Type:</em> {@link #TYPE_WINDOW_CONTENT_CHANGED}</br>
  * <em>Properties:</em></br>
  * <ul>
+ *   <li>{@link #getEventType()} - The type of the event.</li>
  *   <li>{@link #getSource()} - The source info (for registered clients).</li>
  *   <li>{@link #getClassName()} - The class name of the source.</li>
  *   <li>{@link #getPackageName()} - The package name of the source.</li>
  *   <li>{@link #getEventTime()}  - The event time.</li>
  * </ul>
+ * <em>Note:</em> This event type is not dispatched to descendants though
+ * {@link android.view.View#dispatchPopulateAccessibilityEvent(AccessibilityEvent)
+ * View.dispatchPopulateAccessibilityEvent(AccessibilityEvent)}, hence the event
+ * source {@link android.view.View} and the sub-tree rooted at it will not receive
+ * calls to {@link android.view.View#onPopulateAccessibilityEvent(AccessibilityEvent)
+ * View.onPopulateAccessibilityEvent(AccessibilityEvent)}. The preferred way to add
+ * text content to such events is by setting the
+ * {@link android.R.styleable#View_contentDescription contentDescription} of the source
+ * view.</br>
+ * </p>
  * <p>
  * <b>NOTIFICATION TYPES</b></br>
+ * </p>
  * <p>
  * <b>Notification state changed</b> - represents the event showing
- * {@link android.app.Notification}.
+ * {@link android.app.Notification}.</br>
  * <em>Type:</em> {@link #TYPE_NOTIFICATION_STATE_CHANGED}</br>
  * <em>Properties:</em></br>
  * <ul>
+ *   <li>{@link #getEventType()} - The type of the event.</li>
  *   <li>{@link #getClassName()} - The class name of the source.</li>
  *   <li>{@link #getPackageName()} - The package name of the source.</li>
  *   <li>{@link #getEventTime()}  - The event time.</li>
- *   <li>{@link #getText()} - The text of the source.</li>
+ *   <li>{@link #getText()} - The text of the source's sub-tree.</li>
  *   <li>{@link #getParcelableData()} - The posted {@link android.app.Notification}.</li>
+ *   <li>{@link #getText()} - Text for providing more context.</li>
  * </ul>
+ * <em>Note:</em> This event type is not dispatched to descendants though
+ * {@link android.view.View#dispatchPopulateAccessibilityEvent(AccessibilityEvent)
+ * View.dispatchPopulateAccessibilityEvent(AccessibilityEvent)}, hence the event
+ * source {@link android.view.View} and the sub-tree rooted at it will not receive
+ * calls to {@link android.view.View#onPopulateAccessibilityEvent(AccessibilityEvent)
+ * View.onPopulateAccessibilityEvent(AccessibilityEvent)}. The preferred way to add
+ * text content to such events is by setting the
+ * {@link android.R.styleable#View_contentDescription contentDescription} of the source
+ * view.</br>
+ * </p>
+ * <p>
+ * <b>EXPLORATION TYPES</b></br>
+ * </p>
+ * <p>
+ * <b>View hover enter</b> - represents the event of beginning to hover
+ * over a {@link android.view.View}. The hover may be generated via
+ * exploring the screen by touch or via a pointing device.</br>
+ * <em>Type:</em> {@link #TYPE_VIEW_HOVER_ENTER}</br>
+ * <em>Properties:</em></br>
+ * <ul>
+ *   <li>{@link #getEventType()} - The type of the event.</li>
+ *   <li>{@link #getSource()} - The source info (for registered clients).</li>
+ *   <li>{@link #getClassName()} - The class name of the source.</li>
+ *   <li>{@link #getPackageName()} - The package name of the source.</li>
+ *   <li>{@link #getEventTime()}  - The event time.</li>
+ *   <li>{@link #getText()} - The text of the source's sub-tree.</li>
+ *   <li>{@link #isEnabled()} - Whether the source is enabled.</li>
+ *   <li>{@link #getContentDescription()} - The content description of the source.</li>
+ * </ul>
+ * </p>
+ * <b>View hover exit</b> - represents the event of stopping to hover
+ * over a {@link android.view.View}. The hover may be generated via
+ * exploring the screen by touch or via a pointing device.</br>
+ * <em>Type:</em> {@link #TYPE_VIEW_HOVER_EXIT}</br>
+ * <em>Properties:</em></br>
+ * <ul>
+ *   <li>{@link #getEventType()} - The type of the event.</li>
+ *   <li>{@link #getSource()} - The source info (for registered clients).</li>
+ *   <li>{@link #getClassName()} - The class name of the source.</li>
+ *   <li>{@link #getPackageName()} - The package name of the source.</li>
+ *   <li>{@link #getEventTime()}  - The event time.</li>
+ *   <li>{@link #getText()} - The text of the source's sub-tree.</li>
+ *   <li>{@link #isEnabled()} - Whether the source is enabled.</li>
+ *   <li>{@link #getContentDescription()} - The content description of the source.</li>
+ * </ul>
+ * </p>
+ * <p>
+ * <b>Touch exploration gesture start</b> - represents the event of starting a touch
+ * exploring gesture.</br>
+ * <em>Type:</em> {@link #TYPE_TOUCH_EXPLORATION_GESTURE_START}</br>
+ * <em>Properties:</em></br>
+ * <ul>
+ *   <li>{@link #getEventType()} - The type of the event.</li>
+ * </ul>
+ * <em>Note:</em> This event type is not dispatched to descendants though
+ * {@link android.view.View#dispatchPopulateAccessibilityEvent(AccessibilityEvent)
+ * View.dispatchPopulateAccessibilityEvent(AccessibilityEvent)}, hence the event
+ * source {@link android.view.View} and the sub-tree rooted at it will not receive
+ * calls to {@link android.view.View#onPopulateAccessibilityEvent(AccessibilityEvent)
+ * View.onPopulateAccessibilityEvent(AccessibilityEvent)}. The preferred way to add
+ * text content to such events is by setting the
+ * {@link android.R.styleable#View_contentDescription contentDescription} of the source
+ * view.</br>
+ * </p>
+ * <p>
+ * <b>Touch exploration gesture end</b> - represents the event of ending a touch
+ * exploring gesture.</br>
+ * <em>Type:</em> {@link #TYPE_TOUCH_EXPLORATION_GESTURE_END}</br>
+ * <em>Properties:</em></br>
+ * <ul>
+ *   <li>{@link #getEventType()} - The type of the event.</li>
+ * </ul>
+ * <em>Note:</em> This event type is not dispatched to descendants though
+ * {@link android.view.View#dispatchPopulateAccessibilityEvent(AccessibilityEvent)
+ * View.dispatchPopulateAccessibilityEvent(AccessibilityEvent)}, hence the event
+ * source {@link android.view.View} and the sub-tree rooted at it will not receive
+ * calls to {@link android.view.View#onPopulateAccessibilityEvent(AccessibilityEvent)
+ * View.onPopulateAccessibilityEvent(AccessibilityEvent)}. The preferred way to add
+ * text content to such events is by setting the
+ * {@link android.R.styleable#View_contentDescription contentDescription} of the source
+ * view.</br>
  * </p>
  * <p>
  * <b>Security note</b>
@@ -254,6 +394,7 @@
  * Since an event contains the text of its source privacy can be compromised by leaking
  * sensitive information such as passwords. To address this issue any event fired in response
  * to manipulation of a PASSWORD field does NOT CONTAIN the text of the password.
+ * </p>
  *
  * @see android.view.accessibility.AccessibilityManager
  * @see android.accessibilityservice.AccessibilityService
diff --git a/core/java/android/view/textservice/TextServicesManager.java b/core/java/android/view/textservice/TextServicesManager.java
index 01587aa..b06c112 100644
--- a/core/java/android/view/textservice/TextServicesManager.java
+++ b/core/java/android/view/textservice/TextServicesManager.java
@@ -223,7 +223,7 @@
         try {
             sService.setSpellCheckerEnabled(enabled);
         } catch (RemoteException e) {
-            Log.e(TAG, "Error in setSpellCheckerSubtype:" + e);
+            Log.e(TAG, "Error in setSpellCheckerEnabled:" + e);
         }
     }
 
@@ -234,7 +234,7 @@
         try {
             return sService.isSpellCheckerEnabled();
         } catch (RemoteException e) {
-            Log.e(TAG, "Error in setSpellCheckerSubtype:" + e);
+            Log.e(TAG, "Error in isSpellCheckerEnabled:" + e);
             return false;
         }
     }
diff --git a/core/java/android/webkit/BrowserFrame.java b/core/java/android/webkit/BrowserFrame.java
index 309857d..8c22da0 100644
--- a/core/java/android/webkit/BrowserFrame.java
+++ b/core/java/android/webkit/BrowserFrame.java
@@ -43,7 +43,6 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.lang.ref.WeakReference;
-import java.net.URL;
 import java.net.URLEncoder;
 import java.nio.charset.Charsets;
 import java.security.PrivateKey;
@@ -472,8 +471,6 @@
 
     /**
      * We have received an SSL certificate for the main top-level page.
-     *
-     * !!!Called from the network thread!!!
      */
     void certificate(SslCertificate certificate) {
         if (mIsMainFrame) {
@@ -1159,51 +1156,43 @@
     }
 
     /**
-     * Called by JNI when the native HTTPS stack gets an invalid cert chain.
+     * Called by JNI when the Chromium HTTP stack gets an invalid certificate chain.
      *
      * We delegate the request to CallbackProxy, and route its response to
      * {@link #nativeSslCertErrorProceed(int)} or
      * {@link #nativeSslCertErrorCancel(int, int)}.
      */
-    private void reportSslCertError(
-            final int handle, final int cert_error, byte cert_der[], String url) {
-        final SslError ssl_error;
+    private void reportSslCertError(final int handle, final int certError, byte certDER[],
+            String url) {
+        final SslError sslError;
         try {
-            X509Certificate cert = new X509CertImpl(cert_der);
+            X509Certificate cert = new X509CertImpl(certDER);
             SslCertificate sslCert = new SslCertificate(cert);
-            if (JniUtil.useChromiumHttpStack()) {
-                ssl_error = SslError.SslErrorFromChromiumErrorCode(cert_error, sslCert,
-                        new URL(url).getHost());
-            } else {
-                ssl_error = new SslError(cert_error, cert, url);
-            }
+            sslError = SslError.SslErrorFromChromiumErrorCode(certError, sslCert, url);
         } catch (IOException e) {
             // Can't get the certificate, not much to do.
             Log.e(LOGTAG, "Can't get the certificate from WebKit, canceling");
-            nativeSslCertErrorCancel(handle, cert_error);
+            nativeSslCertErrorCancel(handle, certError);
+            return;
+        }
+
+        if (SslCertLookupTable.getInstance().isAllowed(sslError)) {
+            nativeSslCertErrorProceed(handle);
             return;
         }
 
         SslErrorHandler handler = new SslErrorHandler() {
-
             @Override
             public void proceed() {
-                SslCertLookupTable.getInstance().Allow(ssl_error);
+                SslCertLookupTable.getInstance().setIsAllowed(sslError);
                 nativeSslCertErrorProceed(handle);
             }
-
             @Override
             public void cancel() {
-                SslCertLookupTable.getInstance().Deny(ssl_error);
-                nativeSslCertErrorCancel(handle, cert_error);
+                nativeSslCertErrorCancel(handle, certError);
             }
         };
-
-        if (SslCertLookupTable.getInstance().IsAllowed(ssl_error)) {
-            nativeSslCertErrorProceed(handle);
-        } else {
-            mCallbackProxy.onReceivedSslError(handler, ssl_error);
-        }
+        mCallbackProxy.onReceivedSslError(handler, sslError);
     }
 
     /**
@@ -1416,7 +1405,7 @@
     private native void nativeAuthenticationCancel(int handle);
 
     private native void nativeSslCertErrorProceed(int handle);
-    private native void nativeSslCertErrorCancel(int handle, int cert_error);
+    private native void nativeSslCertErrorCancel(int handle, int certError);
 
     native void nativeSslClientCert(int handle,
                                     byte[] pkcs8EncodedPrivateKey,
diff --git a/core/java/android/webkit/CallbackProxy.java b/core/java/android/webkit/CallbackProxy.java
index 88583df..5ee90a4 100644
--- a/core/java/android/webkit/CallbackProxy.java
+++ b/core/java/android/webkit/CallbackProxy.java
@@ -165,8 +165,6 @@
     /**
      * Get the WebViewClient.
      * @return the current WebViewClient instance.
-     *
-     *@hide pending API council approval.
      */
     public WebViewClient getWebViewClient() {
        return mWebViewClient;
@@ -907,11 +905,9 @@
     */
 
     public void onPageStarted(String url, Bitmap favicon) {
-        // Do an unsynchronized quick check to avoid posting if no callback has
-        // been set.
-        if (mWebViewClient == null) {
-            return;
-        }
+        // We need to send the message even if no WebViewClient is set, because we need to call
+        // WebView.onPageStarted().
+
         // Performance probe
         if (PERF_PROBE) {
             mWebCoreThreadTime = SystemClock.currentThreadTimeMillis();
@@ -1013,10 +1009,6 @@
         sendMessage(msg);
     }
 
-    /**
-     * @hide - hide this because it contains a parameter of type SslError.
-     * SslError is located in a hidden package.
-     */
     public void onReceivedSslError(SslErrorHandler handler, SslError error) {
         // Do an unsynchronized quick check to avoid posting if no callback has
         // been set.
@@ -1031,9 +1023,7 @@
         msg.obj = map;
         sendMessage(msg);
     }
-    /**
-     * @hide
-     */
+
     public void onReceivedClientCertRequest(ClientCertRequestHandler handler, String host_and_port) {
         // Do an unsynchronized quick check to avoid posting if no callback has
         // been set.
@@ -1048,17 +1038,8 @@
         msg.obj = map;
         sendMessage(msg);
     }
-    /**
-     * @hide - hide this because it contains a parameter of type SslCertificate,
-     * which is located in a hidden package.
-     */
 
     public void onReceivedCertificate(SslCertificate certificate) {
-        // Do an unsynchronized quick check to avoid posting if no callback has
-        // been set.
-        if (mWebViewClient == null) {
-            return;
-        }
         // here, certificate can be null (if the site is not secure)
         sendMessage(obtainMessage(RECEIVED_CERTIFICATE, certificate));
     }
diff --git a/core/java/android/webkit/CookieSyncManager.java b/core/java/android/webkit/CookieSyncManager.java
index 313f755..a699800 100644
--- a/core/java/android/webkit/CookieSyncManager.java
+++ b/core/java/android/webkit/CookieSyncManager.java
@@ -88,6 +88,10 @@
      */
     public static synchronized CookieSyncManager createInstance(
             Context context) {
+        if (context == null) {
+            throw new IllegalArgumentException("Invalid context argument");
+        }
+
         JniUtil.setContext(context);
         Context appContext = context.getApplicationContext();
         if (sRef == null) {
diff --git a/core/java/android/webkit/FindActionModeCallback.java b/core/java/android/webkit/FindActionModeCallback.java
index a322fa3d..7398262 100644
--- a/core/java/android/webkit/FindActionModeCallback.java
+++ b/core/java/android/webkit/FindActionModeCallback.java
@@ -180,6 +180,14 @@
 
     @Override
     public boolean onCreateActionMode(ActionMode mode, Menu menu) {
+        if (!mode.isUiFocusable()) {
+            // If the action mode we're running in is not focusable the user
+            // will not be able to type into the find on page field. This
+            // should only come up when we're running in a dialog which is
+            // already less than ideal; disable the option for now.
+            return false;
+        }
+
         mode.setCustomView(mCustomView);
         mode.getMenuInflater().inflate(com.android.internal.R.menu.webview_find,
                 menu);
diff --git a/core/java/android/webkit/HTML5Audio.java b/core/java/android/webkit/HTML5Audio.java
index 1e95854..3600d09 100644
--- a/core/java/android/webkit/HTML5Audio.java
+++ b/core/java/android/webkit/HTML5Audio.java
@@ -23,6 +23,7 @@
 import android.media.MediaPlayer.OnPreparedListener;
 import android.media.MediaPlayer.OnSeekCompleteListener;
 import android.os.Handler;
+import android.os.Looper;
 import android.os.Message;
 import android.util.Log;
 
@@ -33,7 +34,11 @@
 import java.util.TimerTask;
 
 /**
- * <p>HTML5 support class for Audio.
+ * HTML5 support class for Audio.
+ *
+ * This class runs almost entirely on the WebCore thread. The exception is when
+ * accessing the WebView object to determine whether private browsing is
+ * enabled.
  */
 class HTML5Audio extends Handler
                  implements MediaPlayer.OnBufferingUpdateListener,
@@ -49,7 +54,7 @@
     // The C++ MediaPlayerPrivateAndroid object.
     private int mNativePointer;
     // The private status of the view that created this player
-    private boolean mIsPrivate;
+    private IsPrivateBrowsingEnabledGetter mIsPrivateBrowsingEnabledGetter;
 
     private static int IDLE        =  0;
     private static int INITIALIZED =  1;
@@ -82,6 +87,35 @@
         }
     }
 
+    // Helper class to determine whether private browsing is enabled in the
+    // given WebView. Queries the WebView on the UI thread. Calls to get()
+    // block until the data is available.
+    private class IsPrivateBrowsingEnabledGetter {
+        private boolean mIsReady;
+        private boolean mIsPrivateBrowsingEnabled;
+        IsPrivateBrowsingEnabledGetter(Looper uiThreadLooper, final WebView webView) {
+            new Handler(uiThreadLooper).post(new Runnable() {
+                @Override
+                public void run() {
+                    synchronized(IsPrivateBrowsingEnabledGetter.this) {
+                        mIsPrivateBrowsingEnabled = webView.isPrivateBrowsingEnabled();
+                        mIsReady = true;
+                        IsPrivateBrowsingEnabledGetter.this.notify();
+                    }
+                }
+            });
+        }
+        synchronized boolean get() {
+            while (!mIsReady) {
+                try {
+                    wait();
+                } catch (InterruptedException e) {
+                }
+            }
+            return mIsPrivateBrowsingEnabled;
+        }
+    };
+
     @Override
     public void handleMessage(Message msg) {
         switch (msg.what) {
@@ -149,7 +183,8 @@
         // Save the native ptr
         mNativePointer = nativePtr;
         resetMediaPlayer();
-        mIsPrivate = webViewCore.getWebView().isPrivateBrowsingEnabled();
+        mIsPrivateBrowsingEnabledGetter = new IsPrivateBrowsingEnabledGetter(
+                webViewCore.getContext().getMainLooper(), webViewCore.getWebView());
     }
 
     private void resetMediaPlayer() {
@@ -177,13 +212,14 @@
             if (mState != IDLE) {
                 resetMediaPlayer();
             }
-            String cookieValue = CookieManager.getInstance().getCookie(url, mIsPrivate);
+            String cookieValue = CookieManager.getInstance().getCookie(
+                    url, mIsPrivateBrowsingEnabledGetter.get());
             Map<String, String> headers = new HashMap<String, String>();
 
             if (cookieValue != null) {
                 headers.put(COOKIE, cookieValue);
             }
-            if (mIsPrivate) {
+            if (mIsPrivateBrowsingEnabledGetter.get()) {
                 headers.put(HIDE_URL_LOGS, "true");
             }
 
diff --git a/core/java/android/webkit/HTML5VideoInline.java b/core/java/android/webkit/HTML5VideoInline.java
index 97dc291..42581c2 100644
--- a/core/java/android/webkit/HTML5VideoInline.java
+++ b/core/java/android/webkit/HTML5VideoInline.java
@@ -1,6 +1,8 @@
 
 package android.webkit;
 
+import android.Manifest.permission;
+import android.content.pm.PackageManager;
 import android.graphics.SurfaceTexture;
 import android.media.MediaPlayer;
 import android.webkit.HTML5VideoView;
@@ -52,7 +54,12 @@
     public void prepareDataAndDisplayMode(HTML5VideoViewProxy proxy) {
         super.prepareDataAndDisplayMode(proxy);
         setFrameAvailableListener(proxy);
-        mPlayer.setWakeMode(proxy.getContext(), PowerManager.FULL_WAKE_LOCK);
+        // TODO: This is a workaround, after b/5375681 fixed, we should switch
+        // to the better way.
+        if (mProxy.getContext().checkCallingOrSelfPermission(permission.WAKE_LOCK)
+                == PackageManager.PERMISSION_GRANTED) {
+            mPlayer.setWakeMode(proxy.getContext(), PowerManager.FULL_WAKE_LOCK);
+        }
     }
 
     // Pause the play and update the play/pause button
diff --git a/core/java/android/webkit/JniUtil.java b/core/java/android/webkit/JniUtil.java
index ef1641d..7759ff3 100644
--- a/core/java/android/webkit/JniUtil.java
+++ b/core/java/android/webkit/JniUtil.java
@@ -39,25 +39,21 @@
     private static Boolean sUseChromiumHttpStack;
     private static Context sContext;
 
-    private static boolean initialized = false;
-
     private static void checkInitialized() {
-        if (!initialized) {
+        if (sContext == null) {
             throw new IllegalStateException("Call CookieSyncManager::createInstance() or create a webview before using this class");
         }
     }
 
     protected static synchronized void setContext(Context context) {
-        if (initialized)
+        if (sContext != null) {
             return;
+        }
 
         sContext = context.getApplicationContext();
-        initialized = true;
     }
 
     protected static synchronized Context getContext() {
-        if (!initialized)
-            return null;
         return sContext;
     }
 
@@ -68,8 +64,9 @@
     private static synchronized String getDatabaseDirectory() {
         checkInitialized();
 
-        if (sDatabaseDirectory == null)
+        if (sDatabaseDirectory == null) {
             sDatabaseDirectory = sContext.getDatabasePath("dummy").getParent();
+        }
 
         return sDatabaseDirectory;
     }
@@ -81,8 +78,9 @@
     private static synchronized String getCacheDirectory() {
         checkInitialized();
 
-        if (sCacheDirectory == null)
+        if (sCacheDirectory == null) {
             sCacheDirectory = sContext.getCacheDir().getAbsolutePath();
+        }
 
         return sCacheDirectory;
     }
diff --git a/core/java/android/webkit/SelectActionModeCallback.java b/core/java/android/webkit/SelectActionModeCallback.java
index 104deb1..8c174aa 100644
--- a/core/java/android/webkit/SelectActionModeCallback.java
+++ b/core/java/android/webkit/SelectActionModeCallback.java
@@ -17,13 +17,12 @@
 package android.webkit;
 
 import android.app.SearchManager;
+import android.content.Context;
 import android.content.Intent;
 import android.provider.Browser;
-import android.webkit.WebView;
 import android.view.ActionMode;
 import android.view.Menu;
 import android.view.MenuItem;
-import android.view.View;
 
 class SelectActionModeCallback implements ActionMode.Callback {
     private WebView mWebView;
@@ -45,9 +44,25 @@
 
     @Override
     public boolean onCreateActionMode(ActionMode mode, Menu menu) {
-        mode.getMenuInflater().inflate(com.android.internal.R.menu.webview_copy,
-                menu);
-        mode.setTitle(com.android.internal.R.string.textSelectionCABTitle);
+        mode.getMenuInflater().inflate(com.android.internal.R.menu.webview_copy, menu);
+
+        final Context context = mWebView.getContext();
+        boolean allowText = context.getResources().getBoolean(
+                com.android.internal.R.bool.config_allowActionMenuItemTextWithIcon);
+        mode.setTitle(allowText ?
+                context.getString(com.android.internal.R.string.textSelectionCABTitle) : null);
+
+        if (!mode.isUiFocusable()) {
+            // If the action mode UI we're running in isn't capable of taking window focus
+            // the user won't be able to type into the find on page UI. Disable this functionality.
+            // (Note that this should only happen in floating dialog windows.)
+            // This can be removed once we can handle multiple focusable windows at a time
+            // in a better way.
+            final MenuItem findOnPageItem = menu.findItem(com.android.internal.R.id.find);
+            if (findOnPageItem != null) {
+                findOnPageItem.setVisible(false);
+            }
+        }
         mActionMode = mode;
         return true;
     }
diff --git a/core/java/android/webkit/SslCertLookupTable.java b/core/java/android/webkit/SslCertLookupTable.java
index faff110..98ace4f 100644
--- a/core/java/android/webkit/SslCertLookupTable.java
+++ b/core/java/android/webkit/SslCertLookupTable.java
@@ -19,15 +19,21 @@
 import android.os.Bundle;
 import android.net.http.SslError;
 
+import java.net.MalformedURLException;
+import java.net.URL;
+
 /**
- * A simple class to store the wrong certificates that user is aware but
- * chose to proceed.
+ * Stores the user's decision of whether to allow or deny an invalid certificate.
+ *
+ * This class is not threadsafe. It is used only on the WebCore thread. Also, it
+ * is used only by the Chromium HTTP stack.
  */
 final class SslCertLookupTable {
     private static SslCertLookupTable sTable;
+    // We store the most severe error we're willing to allow for each host.
     private final Bundle table;
 
-    public static synchronized SslCertLookupTable getInstance() {
+    public static SslCertLookupTable getInstance() {
         if (sTable == null) {
             sTable = new SslCertLookupTable();
         }
@@ -38,15 +44,29 @@
         table = new Bundle();
     }
 
-    public void Allow(SslError ssl_error) {
-        table.putBoolean(ssl_error.toString(), true);
+    public void setIsAllowed(SslError sslError) {
+        String host;
+        try {
+            host = new URL(sslError.getUrl()).getHost();
+        } catch(MalformedURLException e) {
+            return;
+        }
+        table.putInt(host, sslError.getPrimaryError());
     }
 
-    public void Deny(SslError ssl_error) {
-        table.putBoolean(ssl_error.toString(), false);
+    // We allow the decision to be re-used if it's for the same host and is for
+    // an error of equal or greater severity than this error.
+    public boolean isAllowed(SslError sslError) {
+        String host;
+        try {
+            host = new URL(sslError.getUrl()).getHost();
+        } catch(MalformedURLException e) {
+            return false;
+        }
+        return table.containsKey(host) && sslError.getPrimaryError() <= table.getInt(host);
     }
 
-    public boolean IsAllowed(SslError ssl_error) {
-        return table.getBoolean(ssl_error.toString());
+    public void clear() {
+        table.clear();
     }
 }
diff --git a/core/java/android/webkit/SslErrorHandlerImpl.java b/core/java/android/webkit/SslErrorHandlerImpl.java
index e029e37..b2e4b13 100644
--- a/core/java/android/webkit/SslErrorHandlerImpl.java
+++ b/core/java/android/webkit/SslErrorHandlerImpl.java
@@ -16,8 +16,6 @@
 
 package android.webkit;
 
-import junit.framework.Assert;
-
 import android.net.http.SslError;
 import android.os.Bundle;
 import android.os.Handler;
@@ -54,7 +52,7 @@
     private final SslErrorHandler mOriginHandler;
     private final LoadListener mLoadListener;
 
-    // Message id for handling the response
+    // Message id for handling the response from the client.
     private static final int HANDLE_RESPONSE = 100;
 
     @Override
@@ -130,7 +128,9 @@
     }
 
     /**
-     * Handles SSL error(s) on the way up to the user.
+     * Handles requests from the network stack about whether to proceed with a
+     * load given an SSL error(s). We may ask the client what to do, or use a
+     * cached response.
      */
     /* package */ synchronized void handleSslErrorRequest(LoadListener loader) {
         if (DebugFlags.SSL_ERROR_HANDLER) {
@@ -147,8 +147,10 @@
     }
 
     /**
-     * Check the preference table for a ssl error that has already been shown
-     * to the user.
+     * Check the preference table to see if we already have a 'proceed' decision
+     * from the client for this host and for an error of equal or greater
+     * severity than the supplied error. If so, instruct the loader to proceed
+     * and return true. Otherwise return false.
      */
     /* package */ synchronized boolean checkSslPrefTable(LoadListener loader,
             SslError error) {
@@ -156,21 +158,22 @@
         final int primary = error.getPrimaryError();
 
         if (DebugFlags.SSL_ERROR_HANDLER) {
-            Assert.assertTrue(host != null && primary != 0);
+            assert host != null;
+            assert primary != -1;
         }
 
-        if (mSslPrefTable.containsKey(host)) {
-            if (primary <= mSslPrefTable.getInt(host)) {
-                handleSslErrorResponse(loader, error, true);
-                return true;
+        if (mSslPrefTable.containsKey(host) && primary <= mSslPrefTable.getInt(host)) {
+            if (!loader.cancelled()) {
+                loader.handleSslErrorResponse(true);
             }
+            return true;
         }
         return false;
     }
 
     /**
      * Processes queued SSL-error confirmation requests in
-     * a tight loop while there is no need to ask the user.
+     * a tight loop while there is no need to ask the client.
      */
     /* package */void fastProcessQueuedSslErrors() {
         while (processNextLoader());
@@ -195,19 +198,18 @@
             SslError error = loader.sslError();
 
             if (DebugFlags.SSL_ERROR_HANDLER) {
-                Assert.assertNotNull(error);
+                assert error != null;
             }
 
-            // checkSslPrefTable will handle the ssl error response if the
-            // answer is available. It does not remove the loader from the
-            // queue.
+            // checkSslPrefTable() will instruct the loader to proceed if we
+            // have a cached 'proceed' decision. It does not remove the loader
+            // from the queue.
             if (checkSslPrefTable(loader, error)) {
                 mLoaderQueue.remove(loader);
                 return true;
             }
 
-            // if we do not have information on record, ask
-            // the user (display a dialog)
+            // If we can not proceed based on a cached decision, ask the client.
             CallbackProxy proxy = loader.getFrame().getCallbackProxy();
             proxy.onReceivedSslError(new SslErrorHandlerImpl(this, loader), error);
         }
@@ -217,32 +219,31 @@
     }
 
     /**
-     * Proceed with the SSL certificate.
+     * Proceed with this load.
      */
     public void proceed() {
-        mOriginHandler.sendMessage(
-                mOriginHandler.obtainMessage(
-                        HANDLE_RESPONSE, 1, 0, mLoadListener));
+        mOriginHandler.sendMessage(mOriginHandler.obtainMessage(
+                HANDLE_RESPONSE, 1, 0, mLoadListener));
     }
 
     /**
-     * Cancel this request and all pending requests for the WebView that had
-     * the error.
+     * Cancel this load and all pending loads for the WebView that had the
+     * error.
      */
     public void cancel() {
-        mOriginHandler.sendMessage(
-                mOriginHandler.obtainMessage(
-                        HANDLE_RESPONSE, 0, 0, mLoadListener));
+        mOriginHandler.sendMessage(mOriginHandler.obtainMessage(
+                HANDLE_RESPONSE, 0, 0, mLoadListener));
     }
 
     /**
-     * Handles SSL error(s) on the way down from the user.
+     * Handles the response from the client about whether to proceed with this
+     * load. We save the response to be re-used in the future.
      */
     /* package */ synchronized void handleSslErrorResponse(LoadListener loader,
             SslError error, boolean proceed) {
         if (DebugFlags.SSL_ERROR_HANDLER) {
-            Assert.assertNotNull(loader);
-            Assert.assertNotNull(error);
+            assert loader != null;
+            assert error != null;
         }
 
         if (DebugFlags.SSL_ERROR_HANDLER) {
@@ -253,16 +254,16 @@
 
         if (!loader.cancelled()) {
             if (proceed) {
-                // update the user's SSL error preference table
+                // Update the SSL error preference table
                 int primary = error.getPrimaryError();
                 String host = loader.host();
 
                 if (DebugFlags.SSL_ERROR_HANDLER) {
-                    Assert.assertTrue(host != null && primary != 0);
+                    assert host != null;
+                    assert primary != -1;
                 }
                 boolean hasKey = mSslPrefTable.containsKey(host);
-                if (!hasKey ||
-                    primary > mSslPrefTable.getInt(host)) {
+                if (!hasKey || primary > mSslPrefTable.getInt(host)) {
                     mSslPrefTable.putInt(host, primary);
                 }
             }
diff --git a/core/java/android/webkit/WebTextView.java b/core/java/android/webkit/WebTextView.java
index 217ad7c..66371f5 100644
--- a/core/java/android/webkit/WebTextView.java
+++ b/core/java/android/webkit/WebTextView.java
@@ -768,9 +768,13 @@
             imm.hideSoftInputFromWindow(getWindowToken(), 0);
         }
         mInsideRemove = true;
+        boolean isFocused = hasFocus();
         mWebView.removeView(this);
-        mWebView.requestFocus();
+        if (isFocused) {
+            mWebView.requestFocus();
+        }
         mInsideRemove = false;
+        mHandler.removeCallbacksAndMessages(null);
     }
 
     @Override
@@ -828,7 +832,7 @@
             TextView tv =
                     (TextView) super.getView(position, convertView, parent);
             if (tv != null && mTextView != null) {
-                tv.setTextSize(mTextView.getTextSize());
+                tv.setTextSize(TypedValue.COMPLEX_UNIT_PX, mTextView.getTextSize());
             }
             return tv;
         }
@@ -892,7 +896,10 @@
      *          WebTextView represents.
      */
     /* package */ void setNodePointer(int ptr) {
-        mNodePointer = ptr;
+        if (ptr != mNodePointer) {
+            mNodePointer = ptr;
+            setAdapterCustom(null);
+        }
     }
 
     /**
@@ -1047,11 +1054,12 @@
         }
         setHint(null);
         setThreshold(1);
+        boolean autoComplete = false;
         if (single) {
             mWebView.requestLabel(mWebView.nativeFocusCandidateFramePointer(),
                     mNodePointer);
             maxLength = mWebView.nativeFocusCandidateMaxLength();
-            boolean autoComplete = mWebView.nativeFocusCandidateIsAutoComplete();
+            autoComplete = mWebView.nativeFocusCandidateIsAutoComplete();
             if (type != PASSWORD && (mAutoFillable || autoComplete)) {
                 String name = mWebView.nativeFocusCandidateName();
                 if (name != null && name.length() > 0) {
@@ -1066,8 +1074,9 @@
         setInputType(inputType);
         setImeOptions(imeOptions);
         setVisibility(VISIBLE);
-        AutoCompleteAdapter adapter = null;
-        setAdapterCustom(adapter);
+        if (!autoComplete) {
+            setAdapterCustom(null);
+        }
     }
 
     /**
@@ -1092,4 +1101,11 @@
 
         return url != null ? url.getProtocol() + "://" + url.getHost() + url.getPath() : null;
     }
+
+    public void setGravityForRtl(boolean rtl) {
+        int gravity = rtl ? Gravity.RIGHT : Gravity.LEFT;
+        gravity |= mSingle ? Gravity.CENTER_VERTICAL : Gravity.TOP;
+        setGravity(gravity);
+    }
+
 }
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index 600c899..5111969 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -644,7 +644,7 @@
     private Drawable mSelectHandleLeft;
     private Drawable mSelectHandleRight;
 
-    static final boolean USE_WEBKIT_RINGS = true;
+    static final boolean USE_WEBKIT_RINGS = false;
     // the color used to highlight the touch rectangles
     private static final int HIGHLIGHT_COLOR = 0x6633b5e5;
     // the round corner for the highlight path
@@ -730,6 +730,7 @@
     static final int SELECT_AT                          = 135;
     static final int SCREEN_ON                          = 136;
     static final int ENTER_FULLSCREEN_VIDEO             = 137;
+    static final int UPDATE_SELECTION                   = 138;
 
     private static final int FIRST_PACKAGE_MSG_ID = SCROLL_TO_MSG_ID;
     private static final int LAST_PACKAGE_MSG_ID = SET_TOUCH_HIGHLIGHT_RECTS;
@@ -1054,6 +1055,10 @@
         super(context, attrs, defStyle);
         checkThread();
 
+        if (context == null) {
+            throw new IllegalArgumentException("Invalid context argument");
+        }
+
         // Used by the chrome stack to find application paths
         JniUtil.setContext(context);
 
@@ -1576,6 +1581,11 @@
             mListBoxDialog.dismiss();
             mListBoxDialog = null;
         }
+        // remove so that it doesn't cause events
+        if (mWebTextView != null) {
+            mWebTextView.remove();
+            mWebTextView = null;
+        }
         if (mNativeClass != 0) nativeStopGL();
         if (mWebViewCore != null) {
             // Set the handlers to null before destroying WebViewCore so no
@@ -1803,6 +1813,8 @@
     /**
      * Restore the display data that was save in {@link #savePicture}. Used in
      * conjunction with {@link #restoreState}.
+     *
+     * Note that this will not work if the WebView is hardware accelerated.
      * @param b A Bundle containing the saved display data.
      * @param src The file where the picture data was stored.
      * @return True if the picture was successfully restored.
@@ -2385,6 +2397,12 @@
         return mZoomManager.getScale();
     }
 
+    // Called by JNI. Returns the scale to apply to the text selection handles
+    /* package */ float getTextHandleScale() {
+        float density = mContext.getResources().getDisplayMetrics().density;
+        return density / getScale();
+    }
+
     /**
      * Return the reading level scale of the WebView
      * @return The reading level scale.
@@ -3228,8 +3246,7 @@
     public void clearFormData() {
         checkThread();
         if (inEditingMode()) {
-            AutoCompleteAdapter adapter = null;
-            mWebTextView.setAdapterCustom(adapter);
+            mWebTextView.setAdapterCustom(null);
         }
     }
 
@@ -4062,8 +4079,11 @@
         // state.
         // If mNativeClass is 0, we should not reach here, so we do not
         // need to check it again.
-        nativeRecordButtons(hasFocus() && hasWindowFocus(),
-                (mTouchMode == TOUCH_SHORTPRESS_START_MODE && !USE_WEBKIT_RINGS)
+        boolean pressed = (mTouchMode == TOUCH_SHORTPRESS_START_MODE
+                || mTouchMode == TOUCH_INIT_MODE
+                || mTouchMode == TOUCH_SHORTPRESS_MODE);
+        recordButtons(canvas,
+                hasFocus() && hasWindowFocus(), (pressed && !USE_WEBKIT_RINGS)
                 || mTrackballDown || mGotCenterDown, false);
         drawCoreAndCursorRing(canvas, mBackgroundColor,
                 mDrawCursorRing && drawRings);
@@ -4280,7 +4300,6 @@
         }
         nativeSetExtendSelection();
         mDrawSelectionPointer = false;
-        mSelectionStarted = true;
         mTouchMode = TOUCH_DRAG_MODE;
         return true;
     }
@@ -4293,6 +4312,7 @@
             selectionDone();
         }
         mOrientation = newConfig.orientation;
+        mWebViewCore.sendMessage(EventHub.CLEAR_CONTENT);
     }
 
     /**
@@ -4744,12 +4764,12 @@
         }
         String text = nativeFocusCandidateText();
         int nodePointer = nativeFocusCandidatePointer();
-        mWebTextView.setGravity(nativeFocusCandidateIsRtlText() ?
-                Gravity.RIGHT : Gravity.NO_GRAVITY);
         // This needs to be called before setType, which may call
         // requestFormData, and it needs to have the correct nodePointer.
         mWebTextView.setNodePointer(nodePointer);
         mWebTextView.setType(nativeFocusCandidateType());
+        // Gravity needs to be set after setType
+        mWebTextView.setGravityForRtl(nativeFocusCandidateIsRtlText());
         updateWebTextViewPadding();
         if (null == text) {
             if (DebugFlags.WEB_VIEW) {
@@ -5117,7 +5137,7 @@
                         .obtainMessage(LONG_PRESS_CENTER), LONG_PRESS_TIMEOUT);
                 // Already checked mNativeClass, so we do not need to check it
                 // again.
-                nativeRecordButtons(hasFocus() && hasWindowFocus(), true, true);
+                recordButtons(null, hasFocus() && hasWindowFocus(), true, true);
                 if (!wantsKeyEvents) return true;
             }
             // Bubble up the key event as WebView doesn't handle it
@@ -5545,7 +5565,7 @@
                 mDrawCursorRing = true;
                 setFocusControllerActive(true);
                 if (mNativeClass != 0) {
-                    nativeRecordButtons(true, false, true);
+                    recordButtons(null, true, false, true);
                 }
             } else {
                 if (!inEditingMode()) {
@@ -5554,7 +5574,7 @@
                     mDrawCursorRing = false;
                     setFocusControllerActive(false);
                 }
-                // We do not call nativeRecordButtons here because we assume
+                // We do not call recordButtons here because we assume
                 // that when we lost focus, or window focus, it got called with
                 // false for the first parameter
             }
@@ -5573,7 +5593,7 @@
             mPrivateHandler.removeMessages(SWITCH_TO_LONGPRESS);
             mTouchMode = TOUCH_DONE_MODE;
             if (mNativeClass != 0) {
-                nativeRecordButtons(false, false, true);
+                recordButtons(null, false, false, true);
             }
             setFocusControllerActive(false);
         }
@@ -5631,13 +5651,13 @@
             if (hasWindowFocus()) {
                 mDrawCursorRing = true;
                 if (mNativeClass != 0) {
-                    nativeRecordButtons(true, false, true);
+                    recordButtons(null, true, false, true);
                 }
                 setFocusControllerActive(true);
             //} else {
                 // The WebView has gained focus while we do not have
                 // windowfocus.  When our window lost focus, we should have
-                // called nativeRecordButtons(false...)
+                // called recordButtons(false...)
             }
         } else {
             // When we lost focus, unless focus went to the TextView (which is
@@ -5645,7 +5665,7 @@
             if (!inEditingMode()) {
                 mDrawCursorRing = false;
                 if (mNativeClass != 0) {
-                    nativeRecordButtons(false, false, true);
+                    recordButtons(null, false, false, true);
                 }
                 setFocusControllerActive(false);
             }
@@ -6532,6 +6552,8 @@
         mLastTouchTime = eventTime;
         mVelocityTracker = VelocityTracker.obtain();
         mSnapScrollMode = SNAP_NONE;
+        mPrivateHandler.sendEmptyMessageDelayed(UPDATE_SELECTION,
+                ViewConfiguration.getTapTimeout());
     }
 
     private void startDrag() {
@@ -6744,7 +6766,7 @@
             if (mNativeClass == 0) {
                 return false;
             }
-            nativeRecordButtons(hasFocus() && hasWindowFocus(), true, true);
+            recordButtons(null, hasFocus() && hasWindowFocus(), true, true);
             if (time - mLastCursorTime <= TRACKBALL_TIMEOUT
                     && !mLastCursorBounds.equals(nativeGetCursorRingBounds())) {
                 nativeSelectBestAt(mLastCursorBounds);
@@ -7161,6 +7183,14 @@
     }
 
     /**
+     * Return the overview scale of the WebView
+     * @return The overview scale.
+     */
+    float getZoomOverviewScale() {
+        return mZoomManager.getZoomOverviewScale();
+    }
+
+    /**
      * @return TRUE if the WebView can be zoomed in.
      */
     public boolean canZoomIn() {
@@ -7194,10 +7224,15 @@
         return mZoomManager.zoomOut();
     }
 
+    /**
+     * This selects the best clickable target at mLastTouchX and mLastTouchY
+     * and calls showCursorTimed on the native side
+     */
     private void updateSelection() {
         if (mNativeClass == 0) {
             return;
         }
+        mPrivateHandler.removeMessages(UPDATE_SELECTION);
         // mLastTouchX and mLastTouchY are the point in the current viewport
         int contentX = viewToContentX(mLastTouchX + mScrollX);
         int contentY = viewToContentY(mLastTouchY + mScrollY);
@@ -7297,6 +7332,7 @@
             return;
         }
         mTouchMode = TOUCH_DONE_MODE;
+        updateSelection();
         switchOutDrawHistory();
         // mLastTouchX and mLastTouchY are the point in the current viewport
         int contentX = viewToContentX(mLastTouchX + mScrollX);
@@ -7604,6 +7640,10 @@
     }
 
     /* package */ void passToJavaScript(String currentText, KeyEvent event) {
+        // check if mWebViewCore has been destroyed
+        if (mWebViewCore == null) {
+            return;
+        }
         WebViewCore.JSKeyData arg = new WebViewCore.JSKeyData();
         arg.mEvent = event;
         arg.mCurrentText = currentText;
@@ -8187,6 +8227,14 @@
                             SCROLL_SELECT_TEXT, SELECT_SCROLL_INTERVAL);
                     break;
                 }
+                case UPDATE_SELECTION: {
+                    if (mTouchMode == TOUCH_INIT_MODE
+                            || mTouchMode == TOUCH_SHORTPRESS_MODE
+                            || mTouchMode == TOUCH_SHORTPRESS_START_MODE) {
+                        updateSelection();
+                    }
+                    break;
+                }
                 case SWITCH_TO_SHORTPRESS: {
                     mInitialHitTestResult = null; // set by updateSelection()
                     if (mTouchMode == TOUCH_INIT_MODE) {
@@ -9249,13 +9297,13 @@
 
     private static void checkThread() {
         if (Looper.myLooper() != Looper.getMainLooper()) {
-            RuntimeException exception = new RuntimeException(
-                    "A WebView method was called on thread '" +
+            Throwable throwable = new Throwable(
+                    "Warning: A WebView method was called on thread '" +
                     Thread.currentThread().getName() + "'. " +
                     "All WebView methods must be called on the UI thread. " +
                     "Future versions of WebView may not support use on other threads.");
-            Log.e(LOGTAG, Log.getStackTraceString(exception));
-            StrictMode.onWebViewMethodCalledOnWrongThread(exception);
+            Log.w(LOGTAG, Log.getStackTraceString(throwable));
+            StrictMode.onWebViewMethodCalledOnWrongThread(throwable);
         }
     }
 
@@ -9309,6 +9357,24 @@
         return nativeTileProfilingGetFloat(frame, tile, key);
     }
 
+    /**
+     * Helper method to deal with differences between hardware and software rendering
+     */
+    private void recordButtons(Canvas canvas, boolean focus, boolean pressed,
+            boolean inval) {
+        boolean isHardwareAccel = canvas != null
+                ? canvas.isHardwareAccelerated()
+                : isHardwareAccelerated();
+        if (isHardwareAccel) {
+            // We never want to change button state if we are hardware accelerated,
+            // but we DO want to invalidate as necessary so that the GL ring
+            // can be drawn
+            nativeRecordButtons(false, false, inval);
+        } else {
+            nativeRecordButtons(focus, pressed, inval);
+        }
+    }
+
     private native int nativeCacheHitFramePointer();
     private native boolean  nativeCacheHitIsPlugin();
     private native Rect nativeCacheHitNodeBounds();
diff --git a/core/java/android/webkit/WebViewCore.java b/core/java/android/webkit/WebViewCore.java
index 48359d44..ea29ad1 100644
--- a/core/java/android/webkit/WebViewCore.java
+++ b/core/java/android/webkit/WebViewCore.java
@@ -518,7 +518,7 @@
     /**
      * Update the layers' content
      */
-    private native int nativeUpdateLayers(Region invalRegion);
+    private native boolean nativeUpdateLayers(int baseLayer);
 
     private native boolean nativeFocusBoundsChanged();
 
@@ -1349,8 +1349,14 @@
                         }
 
                         case CLEAR_SSL_PREF_TABLE:
-                            Network.getInstance(mContext)
-                                    .clearUserSslPrefTable();
+                            if (JniUtil.useChromiumHttpStack()) {
+                                // FIXME: This will not work for connections currently in use, as
+                                // they cache the certificate responses. See http://b/5324235.
+                                SslCertLookupTable.getInstance().clear();
+                                nativeCloseIdleConnections();
+                            } else {
+                                Network.getInstance(mContext).clearUserSslPrefTable();
+                            }
                             break;
 
                         case TOUCH_UP:
@@ -1656,24 +1662,15 @@
                 mDrawIsScheduled = false;
             }
             if (mMessages != null) {
-                Log.w(LOGTAG, "Not supported in this case.");
+                Throwable throwable = new Throwable(
+                        "EventHub.removeMessages(int what = " + what + ") is not supported " +
+                        "before the WebViewCore is set up.");
+                Log.w(LOGTAG, Log.getStackTraceString(throwable));
             } else {
                 mHandler.removeMessages(what);
             }
         }
 
-        private synchronized boolean hasMessages(int what) {
-            if (mBlockMessages) {
-                return false;
-            }
-            if (mMessages != null) {
-                Log.w(LOGTAG, "hasMessages() is not supported in this case.");
-                return false;
-            } else {
-                return mHandler.hasMessages(what);
-            }
-        }
-
         private synchronized void sendMessageDelayed(Message msg, long delay) {
             if (mBlockMessages) {
                 return;
@@ -1998,18 +1995,25 @@
         boolean mFocusSizeChanged;
     }
 
+    DrawData mLastDrawData = null;
+
     // Only update the layers' content, not the base surface
     // PictureSet.
     private void webkitDrawLayers() {
         mDrawLayersIsScheduled = false;
-        if (mDrawIsScheduled) {
+        if (mDrawIsScheduled || mLastDrawData == null) {
             removeMessages(EventHub.WEBKIT_DRAW);
             webkitDraw();
             return;
         }
-        DrawData draw = new DrawData();
-        draw.mBaseLayer = nativeUpdateLayers(draw.mInvalRegion);
-        webkitDraw(draw);
+        // Directly update the layers we last passed to the UI side
+        if (nativeUpdateLayers(mLastDrawData.mBaseLayer)) {
+            // If anything more complex than position has been touched, let's do a full draw
+            webkitDraw();
+        } else {
+            Message.obtain(mWebView.mPrivateHandler,
+                    WebView.INVAL_RECT_MSG_ID).sendToTarget();
+        }
     }
 
     private void webkitDraw() {
@@ -2026,6 +2030,7 @@
             }
             return;
         }
+        mLastDrawData = draw;
         webkitDraw(draw);
     }
 
@@ -2225,6 +2230,8 @@
         mRepaintScheduled = false;
     }
 
+    // Gets the WebView corresponding to this WebViewCore. Note that the
+    // WebView object must only be used on the UI thread.
     /* package */ WebView getWebView() {
         return mWebView;
     }
@@ -2512,10 +2519,13 @@
     // called by JNI
     private void restoreScale(float scale, float textWrapScale) {
         if (mBrowserFrame.firstLayoutDone() == false) {
-            final float defaultScale = mWebView.getDefaultZoomScale();
-            mRestoredScale = (scale <= 0.0) ? defaultScale : scale;
+            // If restored scale and textWrapScale are 0, set them to
+            // overview and reading level scale respectively.
+            mRestoredScale = (scale <= 0.0)
+                ? mWebView.getZoomOverviewScale() : scale;
             if (mSettings.getUseWideViewPort()) {
-                mRestoredTextWrapScale = (textWrapScale <= 0.0) ? defaultScale : textWrapScale;
+                mRestoredTextWrapScale = (textWrapScale <= 0.0)
+                    ? mWebView.getReadingLevelScale() : textWrapScale;
             }
         }
     }
@@ -2623,8 +2633,7 @@
         }
     }
 
-    // called by JNI
-    private Context getContext() {
+    Context getContext() {
         return mContext;
     }
 
diff --git a/core/java/android/webkit/ZoomManager.java b/core/java/android/webkit/ZoomManager.java
index 7ca6aeb..7f526e7 100644
--- a/core/java/android/webkit/ZoomManager.java
+++ b/core/java/android/webkit/ZoomManager.java
@@ -1128,12 +1128,6 @@
                     mTextWrapScale = Math.max(mTextWrapScale, overviewScale);
                 }
                 reflowText = exceedsMinScaleIncrement(mTextWrapScale, scale);
-            } else {
-                // In case of restored scale, treat defaultScale as overview since
-                // it usually means the previous scale is not saved.
-                if (scale == mDefaultScale && settings.getLoadWithOverviewMode()) {
-                    scale = overviewScale;
-                }
             }
             mInitialZoomOverview = settings.getLoadWithOverviewMode() &&
                     !exceedsMinScaleIncrement(scale, overviewScale);
diff --git a/core/java/android/widget/AbsListView.java b/core/java/android/widget/AbsListView.java
index ba89ef3..7b8c7f2 100644
--- a/core/java/android/widget/AbsListView.java
+++ b/core/java/android/widget/AbsListView.java
@@ -1304,16 +1304,6 @@
         }
     }
 
-    @Override
-    public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) {
-        // Do not append text content to scroll events they are fired frequently
-        // and the client has already received another event type with the text.
-        if (event.getEventType() != AccessibilityEvent.TYPE_VIEW_SCROLLED) {
-            super.dispatchPopulateAccessibilityEvent(event);
-        }
-        return false;
-    }
-
     /**
      * Indicates whether the children's drawing cache is used during a scroll.
      * By default, the drawing cache is enabled but this will consume more memory.
diff --git a/core/java/android/widget/ActivityChooserView.java b/core/java/android/widget/ActivityChooserView.java
index 312303d..60b24bc 100644
--- a/core/java/android/widget/ActivityChooserView.java
+++ b/core/java/android/widget/ActivityChooserView.java
@@ -16,6 +16,8 @@
 
 package android.widget;
 
+import com.android.internal.R;
+
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageManager;
@@ -23,19 +25,18 @@
 import android.content.res.Resources;
 import android.content.res.TypedArray;
 import android.database.DataSetObserver;
-import android.graphics.Canvas;
 import android.graphics.drawable.Drawable;
 import android.util.AttributeSet;
+import android.view.ActionProvider;
 import android.view.LayoutInflater;
 import android.view.View;
-import android.view.View.MeasureSpec;
 import android.view.ViewGroup;
 import android.view.ViewTreeObserver;
 import android.view.ViewTreeObserver.OnGlobalLayoutListener;
+import android.view.accessibility.AccessibilityEvent;
+import android.view.accessibility.AccessibilityManager;
 import android.widget.ActivityChooserModel.ActivityChooserModelClient;
 
-import com.android.internal.R;
-
 /**
  * This class is a view for choosing an activity for handling a given {@link Intent}.
  * <p>
@@ -107,6 +108,11 @@
     private final int mListPopupMaxWidth;
 
     /**
+     * The ActionProvider hosting this view, if applicable.
+     */
+    ActionProvider mProvider;
+
+    /**
      * Observer for the model data.
      */
     private final DataSetObserver mModelDataSetOberver = new DataSetObserver() {
@@ -131,6 +137,9 @@
                     getListPopupWindow().dismiss();
                 } else {
                     getListPopupWindow().show();
+                    if (mProvider != null) {
+                        mProvider.subUiVisibilityChanged(true);
+                    }
                 }
             }
         }
@@ -162,6 +171,11 @@
     private boolean mIsAttachedToWindow;
 
     /**
+     * String resource for formatting content description of the default target.
+     */
+    private int mDefaultActionButtonContentDescription;
+
+    /**
      * Create a new instance.
      *
      * @param context The application environment.
@@ -252,7 +266,7 @@
      *
      * <strong>Note:</strong> Clients would like to set this drawable
      * as a clue about the action the chosen activity will perform. For
-     * example, if share activity is to be chosen the drawable should
+     * example, if a share activity is to be chosen the drawable should
      * give a clue that sharing is to be performed.
      *
      * @param drawable The drawable.
@@ -262,6 +276,29 @@
     }
 
     /**
+     * Sets the content description for the button that expands the activity
+     * overflow list.
+     *
+     * description as a clue about the action performed by the button.
+     * For example, if a share activity is to be chosen the content
+     * description should be something like "Share with".
+     *
+     * @param resourceId The content description resource id.
+     */
+    public void setExpandActivityOverflowButtonContentDescription(int resourceId) {
+        CharSequence contentDescription = mContext.getString(resourceId);
+        mExpandActivityOverflowButtonImage.setContentDescription(contentDescription);
+    }
+
+    /**
+     * Set the provider hosting this view, if applicable.
+     * @hide Internal use only
+     */
+    public void setProvider(ActionProvider provider) {
+        mProvider = provider;
+    }
+
+    /**
      * Shows the popup window with activities.
      *
      * @return True if the popup was shown, false if already showing.
@@ -287,26 +324,35 @@
 
         getViewTreeObserver().addOnGlobalLayoutListener(mOnGlobalLayoutListener);
 
-        mAdapter.setMaxActivityCount(maxActivityCount);
+        final boolean defaultActivityButtonShown =
+            mDefaultActivityButton.getVisibility() == VISIBLE;
 
         final int activityCount = mAdapter.getActivityCount();
+        final int maxActivityCountOffset = defaultActivityButtonShown ? 1 : 0;
         if (maxActivityCount != ActivityChooserViewAdapter.MAX_ACTIVITY_COUNT_UNLIMITED
-                && activityCount > maxActivityCount + 1) {
+                && activityCount > maxActivityCount + maxActivityCountOffset) {
             mAdapter.setShowFooterView(true);
+            mAdapter.setMaxActivityCount(maxActivityCount - 1);
         } else {
             mAdapter.setShowFooterView(false);
+            mAdapter.setMaxActivityCount(maxActivityCount);
         }
 
         ListPopupWindow popupWindow = getListPopupWindow();
         if (!popupWindow.isShowing()) {
-            if (mIsSelectingDefaultActivity) {
-                mAdapter.setShowDefaultActivity(true);
+            if (mIsSelectingDefaultActivity || !defaultActivityButtonShown) {
+                mAdapter.setShowDefaultActivity(true, defaultActivityButtonShown);
             } else {
-                mAdapter.setShowDefaultActivity(false);
+                mAdapter.setShowDefaultActivity(false, false);
             }
             final int contentWidth = Math.min(mAdapter.measureContentWidth(), mListPopupMaxWidth);
             popupWindow.setContentWidth(contentWidth);
             popupWindow.show();
+            if (mProvider != null) {
+                mProvider.subUiVisibilityChanged(true);
+            }
+            popupWindow.getListView().setContentDescription(mContext.getString(
+                    R.string.activitychooserview_choose_application));
         }
     }
 
@@ -409,6 +455,20 @@
     }
 
     /**
+     * Sets a content description of the default action button. This
+     * resource should be a string taking one formatting argument and
+     * will be used for formatting the content description of the button
+     * dynamically as the default target changes. For example, a resource
+     * pointing to the string "share with %1$s" will result in a content
+     * description "share with Bluetooth" for the Bluetooth activity.
+     *
+     * @param resourceId The resource id.
+     */
+    public void setDefaultActionButtonContentDescription(int resourceId) {
+        mDefaultActionButtonContentDescription = resourceId;
+    }
+
+    /**
      * Gets the list popup window which is lazily initialized.
      *
      * @return The popup.
@@ -443,6 +503,12 @@
             ResolveInfo activity = mAdapter.getDefaultActivity();
             PackageManager packageManager = mContext.getPackageManager();
             mDefaultActivityButtonImage.setImageDrawable(activity.loadIcon(packageManager));
+            if (mDefaultActionButtonContentDescription != 0) {
+                CharSequence label = activity.loadLabel(packageManager);
+                String contentDescription = mContext.getString(
+                        mDefaultActionButtonContentDescription, label);
+                mDefaultActivityButton.setContentDescription(contentDescription);
+            }
         } else {
             mDefaultActivityButton.setVisibility(View.GONE);
         }
@@ -476,8 +542,10 @@
                             mAdapter.getDataModel().setDefaultActivity(position);
                         }
                     } else {
-                        // The first item in the model is default action => adjust index
-                        Intent launchIntent  = mAdapter.getDataModel().chooseActivity(position + 1);
+                        // If the default target is not shown in the list, the first
+                        // item in the model is default action => adjust index
+                        position = mAdapter.getShowDefaultActivity() ? position : position + 1;
+                        Intent launchIntent = mAdapter.getDataModel().chooseActivity(position);
                         if (launchIntent != null) {
                             mContext.startActivity(launchIntent);
                         }
@@ -523,6 +591,9 @@
         // PopUpWindow.OnDismissListener#onDismiss
         public void onDismiss() {
             notifyOnDismissListener();
+            if (mProvider != null) {
+                mProvider.subUiVisibilityChanged(false);
+            }
         }
 
         private void notifyOnDismissListener() {
@@ -553,6 +624,8 @@
 
         private boolean mShowDefaultActivity;
 
+        private boolean mHighlightDefaultActivity;
+
         private boolean mShowFooterView;
 
         public void setDataModel(ActivityChooserModel dataModel) {
@@ -640,7 +713,7 @@
                     TextView titleView = (TextView) convertView.findViewById(R.id.title);
                     titleView.setText(activity.loadLabel(packageManager));
                     // Highlight the default.
-                    if (mShowDefaultActivity && position == 0) {
+                    if (mShowDefaultActivity && position == 0 && mHighlightDefaultActivity) {
                         convertView.setActivated(true);
                     } else {
                         convertView.setActivated(false);
@@ -709,11 +782,18 @@
             return mDataModel;
         }
 
-        public void setShowDefaultActivity(boolean showDefaultActivity) {
-            if (mShowDefaultActivity != showDefaultActivity) {
+        public void setShowDefaultActivity(boolean showDefaultActivity,
+                boolean highlightDefaultActivity) {
+            if (mShowDefaultActivity != showDefaultActivity
+                    || mHighlightDefaultActivity != highlightDefaultActivity) {
                 mShowDefaultActivity = showDefaultActivity;
+                mHighlightDefaultActivity = highlightDefaultActivity;
                 notifyDataSetChanged();
             }
         }
+
+        public boolean getShowDefaultActivity() {
+            return mShowDefaultActivity;
+        }
     }
 }
diff --git a/core/java/android/widget/AdapterView.java b/core/java/android/widget/AdapterView.java
index 72db8e8..61c5dd4 100644
--- a/core/java/android/widget/AdapterView.java
+++ b/core/java/android/widget/AdapterView.java
@@ -277,10 +277,11 @@
      *         called, false otherwise is returned.
      */
     public boolean performItemClick(View view, int position, long id) {
-        view.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_CLICKED);
-
         if (mOnItemClickListener != null) {
             playSoundEffect(SoundEffectConstants.CLICK);
+            if (view != null) {
+                view.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_CLICKED);
+            }
             mOnItemClickListener.onItemClick(this, view, position, id);
             return true;
         }
@@ -338,8 +339,10 @@
      */
     public interface OnItemSelectedListener {
         /**
-         * Callback method to be invoked when an item in this view has been
-         * selected.
+         * <p>Callback method to be invoked when an item in this view has been
+         * selected. This callback is invoked only when the newly selected
+         * position is different from the previously selected position or if
+         * there was no selected item.</p>
          *
          * Impelmenters can call getItemAtPosition(position) if they need to access the
          * data associated with the selected item.
@@ -878,31 +881,24 @@
 
     @Override
     public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) {
-        // This is an exceptional case which occurs when a window gets the
-        // focus and sends a focus event via its focused child to announce
-        // current focus/selection. AdapterView fires selection but not focus
-        // events so we change the event type here.
         if (event.getEventType() == AccessibilityEvent.TYPE_VIEW_FOCUSED) {
-            event.setEventType(AccessibilityEvent.TYPE_VIEW_SELECTED);
+            // This is an exceptional case which occurs when a window gets the
+            // focus and sends a focus event via its focused child to announce
+            // current focus/selection. AdapterView fires selection but not focus
+            // events so we change the event type here.
+            if (event.getEventType() == AccessibilityEvent.TYPE_VIEW_FOCUSED) {
+                event.setEventType(AccessibilityEvent.TYPE_VIEW_SELECTED);
+            }
         }
 
         View selectedView = getSelectedView();
         if (selectedView != null && selectedView.getVisibility() == VISIBLE) {
-            // We first get a chance to populate the event.
-            onPopulateAccessibilityEvent(event);
+            getSelectedView().dispatchPopulateAccessibilityEvent(event);
         }
         return false;
     }
 
     @Override
-    public void onPopulateAccessibilityEvent(AccessibilityEvent event) {
-        super.onPopulateAccessibilityEvent(event);
-        // We send selection events only from AdapterView to avoid
-        // generation of such event for each child.
-        getSelectedView().dispatchPopulateAccessibilityEvent(event);
-    }
-
-    @Override
     public boolean onRequestSendAccessibilityEvent(View child, AccessibilityEvent event) {
         if (super.onRequestSendAccessibilityEvent(child, event)) {
             // Add a record for ourselves as well.
diff --git a/core/java/android/widget/AnalogClock.java b/core/java/android/widget/AnalogClock.java
index 84ebec3..63a0870 100644
--- a/core/java/android/widget/AnalogClock.java
+++ b/core/java/android/widget/AnalogClock.java
@@ -25,6 +25,7 @@
 import android.graphics.Canvas;
 import android.graphics.drawable.Drawable;
 import android.os.Handler;
+import android.text.format.DateUtils;
 import android.text.format.Time;
 import android.util.AttributeSet;
 import android.view.View;
@@ -228,6 +229,8 @@
         mMinutes = minute + second / 60.0f;
         mHour = hour + mMinutes / 60.0f;
         mChanged = true;
+
+        updateContentDescription(mCalendar);
     }
 
     private final BroadcastReceiver mIntentReceiver = new BroadcastReceiver() {
@@ -243,4 +246,11 @@
             invalidate();
         }
     };
+
+    private void updateContentDescription(Time time) {
+        final int flags = DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_24HOUR;
+        String contentDescription = DateUtils.formatDateTime(mContext,
+                time.toMillis(false), flags);
+        setContentDescription(contentDescription);
+    }
 }
diff --git a/core/java/android/widget/AutoCompleteTextView.java b/core/java/android/widget/AutoCompleteTextView.java
index 27610b9f..07523e3 100644
--- a/core/java/android/widget/AutoCompleteTextView.java
+++ b/core/java/android/widget/AutoCompleteTextView.java
@@ -16,8 +16,6 @@
 
 package android.widget;
 
-import com.android.internal.R;
-
 import android.content.Context;
 import android.content.res.TypedArray;
 import android.database.DataSetObserver;
@@ -38,6 +36,8 @@
 import android.view.inputmethod.EditorInfo;
 import android.view.inputmethod.InputMethodManager;
 
+import com.android.internal.R;
+
 
 /**
  * <p>An editable text view that shows completion suggestions automatically
@@ -744,7 +744,6 @@
             if (mFilter != null) {
                 mPopupCanBeUpdated = true;
                 performFiltering(getText(), mLastKeyCode);
-                buildImeCompletions();
             }
         } else {
             // drop down is automatically dismissed when enough characters
@@ -837,10 +836,6 @@
     @Override
     public void onCommitCompletion(CompletionInfo completion) {
         if (isPopupShowing()) {
-            mBlockCompletion = true;
-            replaceText(completion.getText());
-            mBlockCompletion = false;
-
             mPopup.performItemClick(completion.getPosition());
         }
     }
@@ -938,7 +933,8 @@
          */
 
         final boolean dropDownAlwaysVisible = mPopup.isDropDownAlwaysVisible();
-        if ((count > 0 || dropDownAlwaysVisible) && enoughToFilter()) {
+        final boolean enoughToFilter = enoughToFilter();
+        if ((count > 0 || dropDownAlwaysVisible) && enoughToFilter) {
             if (hasFocus() && hasWindowFocus() && mPopupCanBeUpdated) {
                 showDropDown();
             }
@@ -1049,6 +1045,8 @@
      * <p>Displays the drop down on screen.</p>
      */
     public void showDropDown() {
+        buildImeCompletions();
+
         if (mPopup.getAnchorView() == null) {
             if (mDropDownAnchorId != View.NO_ID) {
                 mPopup.setAnchorView(getRootView().findViewById(mDropDownAnchorId));
@@ -1064,7 +1062,7 @@
         mPopup.show();
         mPopup.getListView().setOverScrollMode(View.OVER_SCROLL_ALWAYS);
     }
-    
+
     /**
      * Forces outside touches to be ignored. Normally if {@link #isDropDownAlwaysVisible()} is
      * false, we allow outside touch to dismiss the dropdown. If this is set to true, then we
@@ -1075,7 +1073,7 @@
     public void setForceIgnoreOutsideTouch(boolean forceIgnoreOutsideTouch) {
         mPopup.setForceIgnoreOutsideTouch(forceIgnoreOutsideTouch);
     }
-    
+
     private void buildImeCompletions() {
         final ListAdapter adapter = mAdapter;
         if (adapter != null) {
@@ -1090,8 +1088,7 @@
                         realCount++;
                         Object item = adapter.getItem(i);
                         long id = adapter.getItemId(i);
-                        completions[i] = new CompletionInfo(id, i,
-                                convertSelectionToString(item));
+                        completions[i] = new CompletionInfo(id, i, convertSelectionToString(item));
                     }
                 }
                 
diff --git a/core/java/android/widget/BaseAdapter.java b/core/java/android/widget/BaseAdapter.java
index 532fd76..401fcb8 100644
--- a/core/java/android/widget/BaseAdapter.java
+++ b/core/java/android/widget/BaseAdapter.java
@@ -43,13 +43,18 @@
     }
     
     /**
-     * Notifies the attached View that the underlying data has been changed
-     * and it should refresh itself.
+     * Notifies the attached observers that the underlying data has been changed
+     * and any View reflecting the data set should refresh itself.
      */
     public void notifyDataSetChanged() {
         mDataSetObservable.notifyChanged();
     }
-    
+
+    /**
+     * Notifies the attached observers that the underlying data is no longer valid
+     * or available. Once invoked this adapter is no longer valid and should
+     * not report further data set changes.
+     */
     public void notifyDataSetInvalidated() {
         mDataSetObservable.notifyInvalidated();
     }
diff --git a/core/java/android/widget/CalendarView.java b/core/java/android/widget/CalendarView.java
index 1b713c3..9cbe8db 100644
--- a/core/java/android/widget/CalendarView.java
+++ b/core/java/android/widget/CalendarView.java
@@ -339,10 +339,8 @@
         // initialization based on locale
         setCurrentLocale(Locale.getDefault());
 
-        TypedValue calendarViewStyle = new TypedValue();
-        context.getTheme().resolveAttribute(R.attr.calendarViewStyle, calendarViewStyle, true);
-        TypedArray attributesArray = context.obtainStyledAttributes(calendarViewStyle.resourceId,
-                R.styleable.CalendarView);
+        TypedArray attributesArray = context.obtainStyledAttributes(attrs, R.styleable.CalendarView,
+                R.attr.calendarViewStyle, 0);
         mShowWeekNumber = attributesArray.getBoolean(R.styleable.CalendarView_showWeekNumber,
                 DEFAULT_SHOW_WEEK_NUMBER);
         mFirstDayOfWeek = attributesArray.getInt(R.styleable.CalendarView_firstDayOfWeek,
@@ -355,6 +353,9 @@
         if (TextUtils.isEmpty(maxDate) || !parseDate(maxDate, mMaxDate)) {
             parseDate(DEFAULT_MAX_DATE, mMaxDate);
         }
+        if (mMaxDate.before(mMinDate)) {
+            throw new IllegalArgumentException("Max date cannot be before min date.");
+        }
         mShownWeekCount = attributesArray.getInt(R.styleable.CalendarView_shownWeekCount,
                 DEFAULT_SHOWN_WEEK_COUNT);
         mSelectedWeekBackgroundColor = attributesArray.getColor(
@@ -407,9 +408,16 @@
         setUpListView();
         setUpAdapter();
 
-        // go to today now
+        // go to today or whichever is close to today min or max date
         mTempDate.setTimeInMillis(System.currentTimeMillis());
-        goTo(mTempDate, false, true, true);
+        if (mTempDate.before(mMinDate)) {
+            goTo(mMinDate, false, true, true);
+        } else if (mMaxDate.before(mTempDate)) {
+            goTo(mMaxDate, false, true, true);
+        } else {
+            goTo(mTempDate, false, true, true);
+        }
+
         invalidate();
     }
 
diff --git a/core/java/android/widget/Gallery.java b/core/java/android/widget/Gallery.java
index 3f5b571c..a0eba9a 100644
--- a/core/java/android/widget/Gallery.java
+++ b/core/java/android/widget/Gallery.java
@@ -371,16 +371,6 @@
         }
     }
 
-    @Override
-    public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) {
-        // Do not append text content to scroll events they are fired frequently
-        // and the client has already received another event type with the text.
-        if (event.getEventType() != AccessibilityEvent.TYPE_VIEW_SCROLLED) {
-            super.dispatchPopulateAccessibilityEvent(event);
-        }
-        return false;
-    }
-
     /**
      * Tracks a motion scroll. In reality, this is used to do just about any
      * movement to items (touch scroll, arrow-key scroll, set an item as selected).
diff --git a/core/java/android/widget/GridLayout.java b/core/java/android/widget/GridLayout.java
index 390002b..fb9047b 100644
--- a/core/java/android/widget/GridLayout.java
+++ b/core/java/android/widget/GridLayout.java
@@ -87,19 +87,26 @@
  * layout parameters. When the
  * {@link GridLayout#setUseDefaultMargins(boolean) useDefaultMargins}
  * property is set, default margins around children are automatically
- * allocated based on the child's visual characteristics. Each of the
- * margins so defined may be independently overridden by an assignment
+ * allocated based on the prevailing UI style guide for the platform.
+ * Each of the margins so defined may be independently overridden by an assignment
  * to the appropriate layout parameter.
+ * Default values will generally produce a reasonable spacing between components
+ * but values may change between different releases of the platform.
  *
  * <h4>Excess Space Distribution</h4>
  *
+ * GridLayout's distribution of excess space is based on <em>priority</em>
+ * rather than <em>weight</em>.
+ * <p>
  * A child's ability to stretch is inferred from the alignment properties of
  * its row and column groups (which are typically set by setting the
  * {@link LayoutParams#setGravity(int) gravity} property of the child's layout parameters).
  * If alignment was defined along a given axis then the component
- * is taken as flexible in along that axis. If no alignment was set,
- * the component is instead assumed to be inflexible. Multiple components in
- * the same row or column group are considered to act in <em>parallel</em>. Such a
+ * is taken as <em>flexible</em> in that direction. If no alignment was set,
+ * the component is instead assumed to be <em>inflexible</em>.
+ * <p>
+ * Multiple components in the same row or column group are
+ * considered to act in <em>parallel</em>. Such a
  * group is flexible only if <em>all</em> of the components
  * within it are flexible. Row and column groups that sit either side of a common boundary
  * are instead considered to act in <em>series</em>. The composite group made of these two
@@ -109,6 +116,23 @@
  * gravity. To prevent a column from stretching, ensure that one of the components
  * in the column does not define a gravity.
  * <p>
+ * When the principle of flexibility does not provide complete disambiguation,
+ * GridLayout's algorithms favour rows and columns that are closer to its <em>right</em>
+ * and <em>bottom</em> edges.
+ *
+ * <h5>Limitations</h5>
+ *
+ * GridLayout does not provide support for the principle of <em>weight</em>, as defined in
+ * {@link LinearLayout.LayoutParams#weight}. In general, it is not therefore possible
+ * to configure a GridLayout to distribute excess space in non-trivial proportions between
+ * multiple rows or columns.
+ * <p>
+ * Some common use-cases may nevertheless be accommodated as follows.
+ * To place equal amounts of space around a component in a cell group;
+ * use {@link #CENTER} alignment (or {@link LayoutParams#setGravity(int) gravity}).
+ * For complete control over excess space distribution in a row or column;
+ * use a {@link LinearLayout} subview to hold the components in the associated cell group.
+ * When using either of these techniques, bear in mind that cell groups may be defined to overlap.
  * <p>
  * See {@link GridLayout.LayoutParams} for a full description of the
  * layout parameters used by GridLayout.
@@ -180,9 +204,11 @@
 
     // Misc constants
 
-    private static final String TAG = GridLayout.class.getName();
-    private static boolean DEBUG = false;
-    private static final int PRF = 1;
+    static final String TAG = GridLayout.class.getName();
+    static final boolean DEBUG = false;
+    static final int PRF = 1;
+    static final int MAX_SIZE = 100000;
+    static final int DEFAULT_CONTAINER_MARGIN = 0;
 
     // Defaults
 
@@ -191,8 +217,6 @@
     private static final boolean DEFAULT_USE_DEFAULT_MARGINS = false;
     private static final boolean DEFAULT_ORDER_PRESERVED = true;
     private static final int DEFAULT_ALIGNMENT_MODE = ALIGN_MARGINS;
-    private static final int DEFAULT_CONTAINER_MARGIN = 0;
-    private static final int MAX_SIZE = 100000;
 
     // TypedArray indices
 
@@ -206,13 +230,13 @@
 
     // Instance variables
 
-    private final Axis mHorizontalAxis = new Axis(true);
-    private final Axis mVerticalAxis = new Axis(false);
-    private boolean mLayoutParamsValid = false;
-    private int mOrientation = DEFAULT_ORIENTATION;
-    private boolean mUseDefaultMargins = DEFAULT_USE_DEFAULT_MARGINS;
-    private int mAlignmentMode = DEFAULT_ALIGNMENT_MODE;
-    private int mDefaultGap;
+    final Axis horizontalAxis = new Axis(true);
+    final Axis verticalAxis = new Axis(false);
+    boolean layoutParamsValid = false;
+    int orientation = DEFAULT_ORIENTATION;
+    boolean useDefaultMargins = DEFAULT_USE_DEFAULT_MARGINS;
+    int alignmentMode = DEFAULT_ALIGNMENT_MODE;
+    int defaultGap;
 
     // Constructors
 
@@ -224,7 +248,7 @@
         if (DEBUG) {
             setWillNotDraw(false);
         }
-        mDefaultGap = context.getResources().getDimensionPixelOffset(R.dimen.default_gap);
+        defaultGap = context.getResources().getDimensionPixelOffset(R.dimen.default_gap);
         TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.GridLayout);
         try {
             setRowCount(a.getInt(ROW_COUNT, DEFAULT_COUNT));
@@ -266,13 +290,12 @@
      * @attr ref android.R.styleable#GridLayout_orientation
      */
     public int getOrientation() {
-        return mOrientation;
+        return orientation;
     }
 
     /**
-     * The orientation property does not affect layout. Orientation is used
-     * only to generate default row/column indices when they are not specified
-     * by a component's layout parameters.
+     * Orientation is used only to generate default row/column indices when
+     * they are not specified by a component's layout parameters.
      * <p>
      * The default value of this property is {@link #HORIZONTAL}.
      *
@@ -283,8 +306,9 @@
      * @attr ref android.R.styleable#GridLayout_orientation
      */
     public void setOrientation(int orientation) {
-        if (mOrientation != orientation) {
-            mOrientation = orientation;
+        if (this.orientation != orientation) {
+            this.orientation = orientation;
+            invalidateStructure();
             requestLayout();
         }
     }
@@ -302,13 +326,12 @@
      * @attr ref android.R.styleable#GridLayout_rowCount
      */
     public int getRowCount() {
-        return mVerticalAxis.getCount();
+        return verticalAxis.getCount();
     }
 
     /**
-     * The rowCount property does not affect layout. RowCount is used
-     * only to generate default row/column indices when they are not specified
-     * by a component's layout parameters.
+     * RowCount is used only to generate default row/column indices when
+     * they are not specified by a component's layout parameters.
      *
      * @param rowCount the number of rows
      *
@@ -318,7 +341,9 @@
      * @attr ref android.R.styleable#GridLayout_rowCount
      */
     public void setRowCount(int rowCount) {
-        mVerticalAxis.setCount(rowCount);
+        verticalAxis.setCount(rowCount);
+        invalidateStructure();
+        requestLayout();
     }
 
     /**
@@ -334,13 +359,12 @@
      * @attr ref android.R.styleable#GridLayout_columnCount
      */
     public int getColumnCount() {
-        return mHorizontalAxis.getCount();
+        return horizontalAxis.getCount();
     }
 
     /**
-     * The columnCount property does not affect layout. ColumnCount is used
-     * only to generate default column/column indices when they are not specified
-     * by a component's layout parameters.
+     * ColumnCount is used only to generate default column/column indices when
+     * they are not specified by a component's layout parameters.
      *
      * @param columnCount the number of columns.
      *
@@ -350,7 +374,9 @@
      * @attr ref android.R.styleable#GridLayout_columnCount
      */
     public void setColumnCount(int columnCount) {
-        mHorizontalAxis.setCount(columnCount);
+        horizontalAxis.setCount(columnCount);
+        invalidateStructure();
+        requestLayout();
     }
 
     /**
@@ -364,7 +390,7 @@
      * @attr ref android.R.styleable#GridLayout_useDefaultMargins
      */
     public boolean getUseDefaultMargins() {
-        return mUseDefaultMargins;
+        return useDefaultMargins;
     }
 
     /**
@@ -394,7 +420,7 @@
      * @attr ref android.R.styleable#GridLayout_useDefaultMargins
      */
     public void setUseDefaultMargins(boolean useDefaultMargins) {
-        mUseDefaultMargins = useDefaultMargins;
+        this.useDefaultMargins = useDefaultMargins;
         requestLayout();
     }
 
@@ -411,7 +437,7 @@
      * @attr ref android.R.styleable#GridLayout_alignmentMode
      */
     public int getAlignmentMode() {
-        return mAlignmentMode;
+        return alignmentMode;
     }
 
     /**
@@ -430,7 +456,7 @@
      * @attr ref android.R.styleable#GridLayout_alignmentMode
      */
     public void setAlignmentMode(int alignmentMode) {
-        mAlignmentMode = alignmentMode;
+        this.alignmentMode = alignmentMode;
         requestLayout();
     }
 
@@ -445,7 +471,7 @@
      * @attr ref android.R.styleable#GridLayout_rowOrderPreserved
      */
     public boolean isRowOrderPreserved() {
-        return mVerticalAxis.isOrderPreserved();
+        return verticalAxis.isOrderPreserved();
     }
 
     /**
@@ -465,7 +491,7 @@
      * @attr ref android.R.styleable#GridLayout_rowOrderPreserved
      */
     public void setRowOrderPreserved(boolean rowOrderPreserved) {
-        mVerticalAxis.setOrderPreserved(rowOrderPreserved);
+        verticalAxis.setOrderPreserved(rowOrderPreserved);
         invalidateStructure();
         requestLayout();
     }
@@ -481,7 +507,7 @@
      * @attr ref android.R.styleable#GridLayout_columnOrderPreserved
      */
     public boolean isColumnOrderPreserved() {
-        return mHorizontalAxis.isOrderPreserved();
+        return horizontalAxis.isOrderPreserved();
     }
 
     /**
@@ -501,14 +527,14 @@
      * @attr ref android.R.styleable#GridLayout_columnOrderPreserved
      */
     public void setColumnOrderPreserved(boolean columnOrderPreserved) {
-        mHorizontalAxis.setOrderPreserved(columnOrderPreserved);
+        horizontalAxis.setOrderPreserved(columnOrderPreserved);
         invalidateStructure();
         requestLayout();
     }
 
     // Static utility methods
 
-    private static int max2(int[] a, int valueIfEmpty) {
+    static int max2(int[] a, int valueIfEmpty) {
         int result = valueIfEmpty;
         for (int i = 0, N = a.length; i < N; i++) {
             result = Math.max(result, a[i]);
@@ -517,14 +543,14 @@
     }
 
     @SuppressWarnings("unchecked")
-    private static <T> T[] append(T[] a, T[] b) {
+    static <T> T[] append(T[] a, T[] b) {
         T[] result = (T[]) Array.newInstance(a.getClass().getComponentType(), a.length + b.length);
         System.arraycopy(a, 0, result, 0, a.length);
         System.arraycopy(b, 0, result, a.length, b.length);
         return result;
     }
 
-    private static Alignment getAlignment(int gravity, boolean horizontal) {
+    static Alignment getAlignment(int gravity, boolean horizontal) {
         int mask = horizontal ? HORIZONTAL_GRAVITY_MASK : VERTICAL_GRAVITY_MASK;
         int shift = horizontal ? AXIS_X_SHIFT : AXIS_Y_SHIFT;
         int flags = (gravity & mask) >> shift;
@@ -547,7 +573,7 @@
         if (c.getClass() == Space.class) {
             return 0;
         }
-        return mDefaultGap / 2;
+        return defaultGap / 2;
     }
 
     private int getDefaultMargin(View c, boolean isAtEdge, boolean horizontal, boolean leading) {
@@ -555,18 +581,18 @@
     }
 
     private int getDefaultMarginValue(View c, LayoutParams p, boolean horizontal, boolean leading) {
-        if (!mUseDefaultMargins) {
+        if (!useDefaultMargins) {
             return 0;
         }
         Spec spec = horizontal ? p.columnSpec : p.rowSpec;
-        Axis axis = horizontal ? mHorizontalAxis : mVerticalAxis;
+        Axis axis = horizontal ? horizontalAxis : verticalAxis;
         Interval span = spec.span;
         boolean isAtEdge = leading ? (span.min == 0) : (span.max == axis.getCount());
 
         return getDefaultMargin(c, isAtEdge, horizontal, leading);
     }
 
-    private int getMargin1(View view, boolean horizontal, boolean leading) {
+    int getMargin1(View view, boolean horizontal, boolean leading) {
         LayoutParams lp = getLayoutParams(view);
         int margin = horizontal ?
                 (leading ? lp.leftMargin : lp.rightMargin) :
@@ -575,10 +601,10 @@
     }
 
     private int getMargin(View view, boolean horizontal, boolean leading) {
-        if (mAlignmentMode == ALIGN_MARGINS) {
+        if (alignmentMode == ALIGN_MARGINS) {
             return getMargin1(view, horizontal, leading);
         } else {
-            Axis axis = horizontal ? mHorizontalAxis : mVerticalAxis;
+            Axis axis = horizontal ? horizontalAxis : verticalAxis;
             int[] margins = leading ? axis.getLeadingMargins() : axis.getTrailingMargins();
             LayoutParams lp = getLayoutParams(view);
             Spec spec = horizontal ? lp.columnSpec : lp.rowSpec;
@@ -591,10 +617,6 @@
         return getMargin(child, horizontal, true) + getMargin(child, horizontal, false);
     }
 
-    private static int valueIfDefined(int value, int defaultValue) {
-        return (value != UNDEFINED) ? value : defaultValue;
-    }
-
     private static boolean fits(int[] a, int value, int start, int end) {
         if (end > a.length) {
             return false;
@@ -629,9 +651,9 @@
 
     // install default indices for cells that don't define them
     private void validateLayoutParams() {
-        final boolean horizontal = (mOrientation == HORIZONTAL);
-        final int axisCount = horizontal ? mHorizontalAxis.count : mVerticalAxis.count;
-        final int count = valueIfDefined(axisCount, 0);
+        final boolean horizontal = (orientation == HORIZONTAL);
+        final Axis axis = horizontal ? horizontalAxis : verticalAxis;
+        final int count = (axis.definedCount != UNDEFINED) ? axis.definedCount : 0;
 
         int major = 0;
         int minor = 0;
@@ -640,15 +662,17 @@
         for (int i = 0, N = getChildCount(); i < N; i++) {
             LayoutParams lp = getLayoutParams1(getChildAt(i));
 
-            final Interval majorRange = (horizontal ? lp.rowSpec : lp.columnSpec).span;
-            final boolean majorWasDefined = (majorRange.min != UNDEFINED);
+            final Spec majorSpec = horizontal ? lp.rowSpec : lp.columnSpec;
+            final Interval majorRange = majorSpec.span;
+            final boolean majorWasDefined = majorSpec.startDefined;
             final int majorSpan = majorRange.size();
             if (majorWasDefined) {
                 major = majorRange.min;
             }
 
-            final Interval minorRange = (horizontal ? lp.columnSpec : lp.rowSpec).span;
-            final boolean minorWasDefined = (minorRange.min != UNDEFINED);
+            final Spec minorSpec = horizontal ? lp.columnSpec : lp.rowSpec;
+            final Interval minorRange = minorSpec.span;
+            final boolean minorWasDefined = minorSpec.startDefined;
             final int minorSpan = clip(minorRange, minorWasDefined, count);
             if (minorWasDefined) {
                 minor = minorRange.min;
@@ -685,9 +709,9 @@
     }
 
     private void invalidateStructure() {
-        mLayoutParamsValid = false;
-        mHorizontalAxis.invalidateStructure();
-        mVerticalAxis.invalidateStructure();
+        layoutParamsValid = false;
+        horizontalAxis.invalidateStructure();
+        verticalAxis.invalidateStructure();
         // This can end up being done twice. Better twice than not at all.
         invalidateValues();
     }
@@ -695,9 +719,9 @@
     private void invalidateValues() {
         // Need null check because requestLayout() is called in View's initializer,
         // before we are set up.
-        if (mHorizontalAxis != null && mVerticalAxis != null) {
-            mHorizontalAxis.invalidateValues();
-            mVerticalAxis.invalidateValues();
+        if (horizontalAxis != null && verticalAxis != null) {
+            horizontalAxis.invalidateValues();
+            verticalAxis.invalidateValues();
         }
     }
 
@@ -705,10 +729,10 @@
         return (LayoutParams) c.getLayoutParams();
     }
 
-    private LayoutParams getLayoutParams(View c) {
-        if (!mLayoutParamsValid) {
+    final LayoutParams getLayoutParams(View c) {
+        if (!layoutParamsValid) {
             validateLayoutParams();
-            mLayoutParamsValid = true;
+            layoutParamsValid = true;
         }
         return getLayoutParams1(c);
     }
@@ -752,7 +776,7 @@
             paint.setStyle(Paint.Style.STROKE);
             paint.setColor(Color.argb(50, 255, 255, 255));
 
-            int[] xs = mHorizontalAxis.locations;
+            int[] xs = horizontalAxis.locations;
             if (xs != null) {
                 for (int i = 0, length = xs.length; i < length; i++) {
                     int x = xs[i];
@@ -760,7 +784,7 @@
                 }
             }
 
-            int[] ys = mVerticalAxis.locations;
+            int[] ys = verticalAxis.locations;
             if (ys != null) {
                 for (int i = 0, length = ys.length; i < length; i++) {
                     int y = ys[i];
@@ -822,36 +846,69 @@
 
     // Measurement
 
-    private boolean isGone(View c) {
+    final boolean isGone(View c) {
         return c.getVisibility() == View.GONE;
     }
 
-    private void measureChildWithMargins(View child, int widthMeasureSpec, int heightMeasureSpec) {
-        LayoutParams lp = getLayoutParams(child);
-        int childWidthMeasureSpec = getChildMeasureSpec(widthMeasureSpec,
-                mPaddingLeft + mPaddingRight + getTotalMargin(child, true), lp.width);
-        int childHeightMeasureSpec = getChildMeasureSpec(heightMeasureSpec,
-                mPaddingTop + mPaddingBottom + getTotalMargin(child, false), lp.height);
-        child.measure(childWidthMeasureSpec, childHeightMeasureSpec);
+    private void measureChildWithMargins2(View child, int parentWidthSpec, int parentHeightSpec,
+                                          int childWidth, int childHeight) {
+        int childWidthSpec = getChildMeasureSpec(parentWidthSpec,
+                mPaddingLeft + mPaddingRight + getTotalMargin(child, true), childWidth);
+        int childHeightSpec = getChildMeasureSpec(parentHeightSpec,
+                mPaddingTop + mPaddingBottom + getTotalMargin(child, false), childHeight);
+        child.measure(childWidthSpec, childHeightSpec);
     }
 
-    private void measureChildrenWithMargins(int widthMeasureSpec, int heightMeasureSpec) {
+    private void measureChildrenWithMargins(int widthSpec, int heightSpec, boolean firstPass) {
         for (int i = 0, N = getChildCount(); i < N; i++) {
             View c = getChildAt(i);
             if (isGone(c)) continue;
-            measureChildWithMargins(c, widthMeasureSpec, heightMeasureSpec);
+            LayoutParams lp = getLayoutParams(c);
+            if (firstPass) {
+                measureChildWithMargins2(c, widthSpec, heightSpec, lp.width, lp.height);
+            } else {
+                Spec spec = (orientation == HORIZONTAL) ? lp.columnSpec : lp.rowSpec;
+                if (spec.alignment == FILL) {
+                    Interval span = spec.span;
+                    Axis axis = (orientation == HORIZONTAL) ? horizontalAxis : verticalAxis;
+                    int[] locations = axis.getLocations();
+                    int size = locations[span.max] - locations[span.min];
+                    if (orientation == HORIZONTAL) {
+                        measureChildWithMargins2(c, widthSpec, heightSpec, size, lp.height);
+                    } else {
+                        measureChildWithMargins2(c, widthSpec, heightSpec, lp.width, size);
+                    }
+                }
+            }
         }
     }
 
     @Override
     protected void onMeasure(int widthSpec, int heightSpec) {
-        measureChildrenWithMargins(widthSpec, heightSpec);
+        /** If we have been called by {@link View#measure(int, int)}, one of width or height
+         *  is  likely to have changed. We must invalidate if so. */
+        invalidateValues();
 
-        int width = getPaddingLeft() + mHorizontalAxis.getMeasure(widthSpec) + getPaddingRight();
-        int height = getPaddingTop() + mVerticalAxis.getMeasure(heightSpec) + getPaddingBottom();
+        measureChildrenWithMargins(widthSpec, heightSpec, true);
 
-        int measuredWidth = Math.max(width, getSuggestedMinimumWidth());
-        int measuredHeight = Math.max(height, getSuggestedMinimumHeight());
+        int width, height;
+
+        // Use the orientation property to decide which axis should be laid out first.
+        if (orientation == HORIZONTAL) {
+            width = horizontalAxis.getMeasure(widthSpec);
+            measureChildrenWithMargins(widthSpec, heightSpec, false);
+            height = verticalAxis.getMeasure(heightSpec);
+        } else {
+            height = verticalAxis.getMeasure(heightSpec);
+            measureChildrenWithMargins(widthSpec, heightSpec, false);
+            width = horizontalAxis.getMeasure(widthSpec);
+        }
+
+        int hPadding = getPaddingLeft() + getPaddingRight();
+        int vPadding = getPaddingTop() + getPaddingBottom();
+
+        int measuredWidth = Math.max(hPadding + width, getSuggestedMinimumWidth());
+        int measuredHeight = Math.max(vPadding + height, getSuggestedMinimumHeight());
 
         setMeasuredDimension(
                 resolveSizeAndState(measuredWidth, widthSpec, 0),
@@ -866,7 +923,7 @@
         return horizontal ? c.getMeasuredWidth() : c.getMeasuredHeight();
     }
 
-    private int getMeasurementIncludingMargin(View c, boolean horizontal) {
+    final int getMeasurementIncludingMargin(View c, boolean horizontal) {
         if (isGone(c)) {
             return 0;
         }
@@ -879,7 +936,7 @@
         invalidateValues();
     }
 
-    private Alignment getAlignment(Alignment alignment, boolean horizontal) {
+    final Alignment getAlignment(Alignment alignment, boolean horizontal) {
         return (alignment != UNDEFINED_ALIGNMENT) ? alignment :
                 (horizontal ? LEFT : BASELINE);
     }
@@ -908,11 +965,11 @@
         int paddingRight = getPaddingRight();
         int paddingBottom = getPaddingBottom();
 
-        mHorizontalAxis.layout(targetWidth - paddingLeft - paddingRight);
-        mVerticalAxis.layout(targetHeight - paddingTop - paddingBottom);
+        horizontalAxis.layout(targetWidth - paddingLeft - paddingRight);
+        verticalAxis.layout(targetHeight - paddingTop - paddingBottom);
 
-        int[] hLocations = mHorizontalAxis.getLocations();
-        int[] vLocations = mVerticalAxis.getLocations();
+        int[] hLocations = horizontalAxis.getLocations();
+        int[] vLocations = verticalAxis.getLocations();
 
         for (int i = 0, N = getChildCount(); i < N; i++) {
             View c = getChildAt(i);
@@ -941,8 +998,8 @@
 
             int dx, dy;
 
-            Bounds colBounds = mHorizontalAxis.getGroupBounds().getValue(i);
-            Bounds rowBounds = mVerticalAxis.getGroupBounds().getValue(i);
+            Bounds colBounds = horizontalAxis.getGroupBounds().getValue(i);
+            Bounds rowBounds = verticalAxis.getGroupBounds().getValue(i);
 
             // Gravity offsets: the location of the alignment group relative to its cell group.
             //noinspection NullableProblems
@@ -990,18 +1047,15 @@
      distinguished by the "horizontal" flag which is true for the horizontal axis and false
      for the vertical one.
      */
-    private class Axis {
-        private static final int MIN_VALUE = -1000000;
-
+    final class Axis {
         private static final int NEW = 0;
         private static final int PENDING = 1;
         private static final int COMPLETE = 2;
 
         public final boolean horizontal;
 
-        public int count = UNDEFINED;
-        public boolean countValid = false;
-        public boolean countWasExplicitySet = false;
+        public int definedCount = UNDEFINED;
+        private int maxIndex = UNDEFINED;
 
         PackedMap<Spec, Bounds> groupBounds;
         public boolean groupBoundsValid = false;
@@ -1024,7 +1078,7 @@
         public int[] locations;
         public boolean locationsValid = false;
 
-        private boolean mOrderPreserved = DEFAULT_ORDER_PRESERVED;
+        boolean orderPreserved = DEFAULT_ORDER_PRESERVED;
 
         private MutableInt parentMin = new MutableInt(0);
         private MutableInt parentMax = new MutableInt(-MAX_SIZE);
@@ -1033,38 +1087,41 @@
             this.horizontal = horizontal;
         }
 
-        private int maxIndex() {
-            // note the number Integer.MIN_VALUE + 1 comes up in undefined cells
-            int count = -1;
+        private int calculateMaxIndex() {
+            // the number Integer.MIN_VALUE + 1 comes up in undefined cells
+            int result = -1;
             for (int i = 0, N = getChildCount(); i < N; i++) {
                 View c = getChildAt(i);
                 LayoutParams params = getLayoutParams(c);
                 Spec spec = horizontal ? params.columnSpec : params.rowSpec;
-                count = max(count, spec.span.min);
-                count = max(count, spec.span.max);
+                Interval span = spec.span;
+                result = max(result, span.min);
+                result = max(result, span.max);
             }
-            return count == -1 ? UNDEFINED : count;
+            return result == -1 ? UNDEFINED : result;
+        }
+
+        private int getMaxIndex() {
+            if (maxIndex == UNDEFINED) {
+                maxIndex = max(0, calculateMaxIndex()); // use zero when there are no children
+            }
+            return maxIndex;
         }
 
         public int getCount() {
-            if (!countValid) {
-                count = max(0, maxIndex()); // if there are no cells, the count is zero
-                countValid = true;
-            }
-            return count;
+            return max(definedCount, getMaxIndex());
         }
 
         public void setCount(int count) {
-            this.count = count;
-            this.countWasExplicitySet = count != UNDEFINED;
+            this.definedCount = count;
         }
 
         public boolean isOrderPreserved() {
-            return mOrderPreserved;
+            return orderPreserved;
         }
 
         public void setOrderPreserved(boolean orderPreserved) {
-            mOrderPreserved = orderPreserved;
+            this.orderPreserved = orderPreserved;
             invalidateStructure();
         }
 
@@ -1093,7 +1150,7 @@
             }
         }
 
-        private PackedMap<Spec, Bounds> getGroupBounds() {
+        public PackedMap<Spec, Bounds> getGroupBounds() {
             if (groupBounds == null) {
                 groupBounds = createGroupBounds();
             }
@@ -1154,7 +1211,7 @@
         }
 
         private void include(List<Arc> arcs, Interval key, MutableInt size,
-                boolean ignoreIfAlreadyPresent) {
+                             boolean ignoreIfAlreadyPresent) {
             /*
             Remove self referential links.
             These appear:
@@ -1183,7 +1240,7 @@
 
         // Group arcs by their first vertex, returning an array of arrays.
         // This is linear in the number of arcs.
-        private Arc[][] groupArcsByFirstVertex(Arc[] arcs) {
+        Arc[][] groupArcsByFirstVertex(Arc[] arcs) {
             int N = getCount() + 1; // the number of vertices
             Arc[][] result = new Arc[N][];
             int[] sizes = new int[N];
@@ -1262,7 +1319,7 @@
             addComponentSizes(maxs, getBackwardLinks());
 
             // Add ordering constraints to prevent row/col sizes from going negative
-            if (mOrderPreserved) {
+            if (orderPreserved) {
                 // Add a constraint for every row/col
                 for (int i = 0; i < getCount(); i++) {
                     include(mins, new Interval(i, i + 1), new MutableInt(0));
@@ -1315,6 +1372,47 @@
             return false;
         }
 
+        private void init(int[] locations) {
+            Arrays.fill(locations, 0);
+        }
+
+        private String arcsToString(List<Arc> arcs) {
+            String var = horizontal ? "x" : "y";
+            StringBuilder result = new StringBuilder();
+            boolean first = true;
+            for (Arc arc : arcs) {
+                if (first) {
+                    first = false;
+                } else {
+                    result = result.append(", ");
+                }
+                int src = arc.span.min;
+                int dst = arc.span.max;
+                int value = arc.value.value;
+                result.append((src < dst) ?
+                        var + dst + " - " + var + src + " > " + value :
+                        var + src + " - " + var + dst + " < " + -value);
+
+            }
+            return result.toString();
+        }
+
+        private void logError(String axisName, Arc[] arcs, boolean[] culprits0) {
+            List<Arc> culprits = new ArrayList<Arc>();
+            List<Arc> removed = new ArrayList<Arc>();
+            for (int c = 0; c < arcs.length; c++) {
+                Arc arc = arcs[c];
+                if (culprits0[c]) {
+                    culprits.add(arc);
+                }
+                if (!arc.valid) {
+                    removed.add(arc);
+                }
+            }
+            Log.d(TAG, axisName + " constraints: " + arcsToString(culprits) + " are inconsistent; "
+                    + "permanently removing: " + arcsToString(removed) + ". ");
+        }
+
         /*
         Bellman-Ford variant - modified to reduce typical running time from O(N^2) to O(N)
 
@@ -1350,51 +1448,50 @@
         completes in O(N) steps with very low constants.
         */
         private void solve(Arc[] arcs, int[] locations) {
-            String axis = horizontal ? "horizontal" : "vertical";
+            String axisName = horizontal ? "horizontal" : "vertical";
             int N = getCount() + 1; // The number of vertices is the number of columns/rows + 1.
+            boolean[] originalCulprits = null;
 
-            // We take one extra pass over traditional Bellman-Ford (and omit their final step)
-            for (int i = 0; i < N; i++) {
-                boolean changed = false;
-                for (int j = 0, length = arcs.length; j < length; j++) {
-                    changed |= relax(locations, arcs[j]);
-                }
-                if (!changed) {
-                    if (DEBUG) {
-                        Log.v(TAG, axis + " iteration completed in " + (1 + i) + " steps of " + N);
+            for (int p = 0; p < arcs.length; p++) {
+                init(locations);
+
+                // We take one extra pass over traditional Bellman-Ford (and omit their final step)
+                for (int i = 0; i < N; i++) {
+                    boolean changed = false;
+                    for (int j = 0, length = arcs.length; j < length; j++) {
+                        changed |= relax(locations, arcs[j]);
                     }
-                    return;
-                }
-            }
-
-            Log.d(TAG, "The " + axis + " constraints contained a contradiction. Resolving... ");
-            Log.d(TAG, Arrays.toString(arcs));
-
-            boolean[] culprits = new boolean[arcs.length];
-            for (int i = 0; i < N; i++) {
-                for (int j = 0, length = arcs.length; j < length; j++) {
-                    culprits[j] |= relax(locations, arcs[j]);
-                }
-            }
-            for (int i = 0; i < culprits.length; i++) {
-                if (culprits[i]) {
-                    Arc arc = arcs[i];
-                    // Only remove max values, min values alone cannot be inconsistent
-                    if (arc.span.min < arc.span.max) {
-                        continue;
+                    if (!changed) {
+                        if (originalCulprits != null) {
+                            logError(axisName, arcs, originalCulprits);
+                        }
+                        return;
                     }
-                    Log.d(TAG, "Removing: " + arc);
-                    arc.valid = false;
-                    break;
+                }
+
+                boolean[] culprits = new boolean[arcs.length];
+                for (int i = 0; i < N; i++) {
+                    for (int j = 0, length = arcs.length; j < length; j++) {
+                        culprits[j] |= relax(locations, arcs[j]);
+                    }
+                }
+
+                if (p == 0) {
+                    originalCulprits = culprits;
+                }
+
+                for (int i = 0; i < arcs.length; i++) {
+                    if (culprits[i]) {
+                        Arc arc = arcs[i];
+                        // Only remove max values, min values alone cannot be inconsistent
+                        if (arc.span.min < arc.span.max) {
+                            continue;
+                        }
+                        arc.valid = false;
+                        break;
+                    }
                 }
             }
-            solve1(arcs, locations);
-        }
-
-        private void solve1(Arc[] arcs, int[] a) {
-            Arrays.fill(a, MIN_VALUE);
-            a[0] = 0;
-            solve(arcs, a);
         }
 
         private void computeMargins(boolean leading) {
@@ -1410,7 +1507,9 @@
             }
         }
 
-        private int[] getLeadingMargins() {
+        // External entry points
+
+        public int[] getLeadingMargins() {
             if (leadingMargins == null) {
                 leadingMargins = new int[getCount() + 1];
             }
@@ -1421,7 +1520,7 @@
             return leadingMargins;
         }
 
-        private int[] getTrailingMargins() {
+        public int[] getTrailingMargins() {
             if (trailingMargins == null) {
                 trailingMargins = new int[getCount() + 1];
             }
@@ -1433,10 +1532,22 @@
         }
 
         private void computeLocations(int[] a) {
-            solve1(getArcs(), a);
+            solve(getArcs(), a);
+            if (!orderPreserved) {
+                // Solve returns the smallest solution to the constraint system for which all
+                // values are positive. One value is therefore zero - though if the row/col
+                // order is not preserved this may not be the first vertex. For consistency,
+                // translate all the values so that they measure the distance from a[0]; the
+                // leading edge of the parent. After this transformation some values may be
+                // negative.
+                int a0 = a[0];
+                for (int i = 0, N = a.length; i < N; i++) {
+                    a[i] = a[i] - a0;
+                }
+            }
         }
 
-        private int[] getLocations() {
+        public int[] getLocations() {
             if (locations == null) {
                 int N = getCount() + 1;
                 locations = new int[N];
@@ -1448,10 +1559,11 @@
             return locations;
         }
 
-        // External entry points
-
         private int size(int[] locations) {
-            return max2(locations, 0) - locations[0];
+            // The parental edges are attached to vertices 0 and N - even when order is not
+            // being preserved and other vertices fall outside this range. Measure the distance
+            // between vertices 0 and N, assuming that locations[0] = 0.
+            return locations[getCount()];
         }
 
         private void setParentConstraints(int min, int max) {
@@ -1465,7 +1577,7 @@
             return size(getLocations());
         }
 
-        private int getMeasure(int measureSpec) {
+        public int getMeasure(int measureSpec) {
             int mode = MeasureSpec.getMode(measureSpec);
             int size = MeasureSpec.getSize(measureSpec);
             switch (mode) {
@@ -1485,13 +1597,13 @@
             }
         }
 
-        private void layout(int size) {
+        public void layout(int size) {
             setParentConstraints(size, size);
             getLocations();
         }
 
-        private void invalidateStructure() {
-            countValid = false;
+        public void invalidateStructure() {
+            maxIndex = UNDEFINED;
 
             groupBounds = null;
             forwardLinks = null;
@@ -1506,7 +1618,7 @@
             invalidateValues();
         }
 
-        private void invalidateValues() {
+        public void invalidateValues() {
             groupBoundsValid = false;
             forwardLinksValid = false;
             backwardLinksValid = false;
@@ -1536,9 +1648,22 @@
      * both aspects of alignment within the cell group. It is also possible to specify a child's
      * alignment within its cell group by using the {@link GridLayout.LayoutParams#setGravity(int)}
      * method.
-     * <p>
-     * See {@link GridLayout} for a description of the conventions used by GridLayout
-     * in reference to grid indices.
+     *
+     * <h4>WRAP_CONTENT and MATCH_PARENT</h4>
+     *
+     * Because the default values of the {@link #width} and {@link #height}
+     * properties are both {@link #WRAP_CONTENT}, this value never needs to be explicitly
+     * declared in the layout parameters of GridLayout's children. In addition,
+     * GridLayout does not distinguish the special size value {@link #MATCH_PARENT} from
+     * {@link #WRAP_CONTENT}. A component's ability to expand to the size of the parent is
+     * instead controlled by the principle of <em>flexibility</em>,
+     * as discussed in {@link GridLayout}.
+     *
+     * <h4>Summary</h4>
+     *
+     * You should not need to use either of the special size values:
+     * {@code WRAP_CONTENT} or {@code MATCH_PARENT} when configuring the children of
+     * a GridLayout.
      *
      * <h4>Default values</h4>
      *
@@ -1561,12 +1686,17 @@
      *          {@link GridLayout#setUseDefaultMargins(boolean) useDefaultMargins} is
      *          {@code false}; otherwise {@link #UNDEFINED}, to
      *          indicate that a default value should be computed on demand. </li>
-     *     <li>{@link #rowSpec}{@code .span} = {@code [0, 1]} </li>
-     *     <li>{@link #rowSpec}{@code .alignment} = {@link #BASELINE} </li>
-     *     <li>{@link #columnSpec}{@code .span} = {@code [0, 1]} </li>
-     *     <li>{@link #columnSpec}{@code .alignment} = {@link #LEFT} </li>
+     *     <li>{@link #rowSpec}<code>.row</code> = {@link #UNDEFINED} </li>
+     *     <li>{@link #rowSpec}<code>.rowSpan</code> = 1 </li>
+     *     <li>{@link #rowSpec}<code>.alignment</code> = {@link #BASELINE} </li>
+     *     <li>{@link #columnSpec}<code>.column</code> = {@link #UNDEFINED} </li>
+     *     <li>{@link #columnSpec}<code>.columnSpan</code> = 1 </li>
+     *     <li>{@link #columnSpec}<code>.alignment</code> = {@link #LEFT} </li>
      * </ul>
      *
+     * See {@link GridLayout} for a more complete description of the conventions
+     * used by GridLayout in the interpretation of the properties of this class.
+     *
      * @attr ref android.R.styleable#GridLayout_Layout_layout_row
      * @attr ref android.R.styleable#GridLayout_Layout_layout_rowSpan
      * @attr ref android.R.styleable#GridLayout_Layout_layout_column
@@ -1606,15 +1736,16 @@
         // Instance variables
 
         /**
-         * The spec that specifies the vertical characteristics of the cell group
+         * The spec that defines the vertical characteristics of the cell group
          * described by these layout parameters.
          */
-        public Spec rowSpec;
+        public Spec rowSpec = Spec.UNDEFINED;
+
         /**
-         * The spec that specifies the horizontal characteristics of the cell group
+         * The spec that defines the horizontal characteristics of the cell group
          * described by these layout parameters.
          */
-        public Spec columnSpec;
+        public Spec columnSpec = Spec.UNDEFINED;
 
         // Constructors
 
@@ -1646,7 +1777,7 @@
          * Constructs a new LayoutParams with default values as defined in {@link LayoutParams}.
          */
         public LayoutParams() {
-            this(spec(UNDEFINED), spec(UNDEFINED));
+            this(Spec.UNDEFINED, Spec.UNDEFINED);
         }
 
         // Copying constructors
@@ -1670,8 +1801,8 @@
          */
         public LayoutParams(LayoutParams that) {
             super(that);
-            this.rowSpec = new Spec(that.rowSpec);
-            this.columnSpec = new Spec(that.columnSpec);
+            this.rowSpec = that.rowSpec;
+            this.columnSpec = that.columnSpec;
         }
 
         // AttributeSet constructors
@@ -1750,11 +1881,11 @@
             this.height = attributes.getLayoutDimension(heightAttr, DEFAULT_HEIGHT);
         }
 
-        private void setRowSpecSpan(Interval span) {
+        final void setRowSpecSpan(Interval span) {
             rowSpec = rowSpec.copyWriteSpan(span);
         }
 
-        private void setColumnSpecSpan(Interval span) {
+        final void setColumnSpecSpan(Interval span) {
             columnSpec = columnSpec.copyWriteSpan(span);
         }
     }
@@ -1763,7 +1894,7 @@
     In place of a HashMap from span to Int, use an array of key/value pairs - stored in Arcs.
     Add the mutables completesCycle flag to avoid creating another hash table for detecting cycles.
      */
-    private static class Arc {
+    final static class Arc {
         public final Interval span;
         public final MutableInt value;
         public boolean valid = true;
@@ -1781,18 +1912,18 @@
 
     // A mutable Integer - used to avoid heap allocation during the layout operation
 
-    private static class MutableInt {
+    final static class MutableInt {
         public int value;
 
-        private MutableInt() {
+        public MutableInt() {
             reset();
         }
 
-        private MutableInt(int value) {
+        public MutableInt(int value) {
             this.value = value;
         }
 
-        private void reset() {
+        public void reset() {
             value = Integer.MIN_VALUE;
         }
 
@@ -1802,7 +1933,7 @@
         }
     }
 
-    private static class Assoc<K, V> extends ArrayList<Pair<K, V>> {
+    final static class Assoc<K, V> extends ArrayList<Pair<K, V>> {
         private final Class<K> keyType;
         private final Class<V> valueType;
 
@@ -1811,7 +1942,7 @@
             this.valueType = valueType;
         }
 
-        private static <K, V> Assoc<K, V> of(Class<K> keyType, Class<V> valueType) {
+        public static <K, V> Assoc<K, V> of(Class<K> keyType, Class<V> valueType) {
             return new Assoc<K, V>(keyType, valueType);
         }
 
@@ -1847,7 +1978,7 @@
     rather than using (and storing) an implementation of Map<Key, ?>.
      */
     @SuppressWarnings(value = "unchecked")
-    private static class PackedMap<K, V> {
+    final static class PackedMap<K, V> {
         public final int[] index;
         public final K[] keys;
         public final V[] values;
@@ -1859,7 +1990,7 @@
             this.values = compact(values, index);
         }
 
-        private V getValue(int i) {
+        public V getValue(int i) {
             return values[index[i]];
         }
 
@@ -1907,7 +2038,7 @@
     group to Bounds and to loop through all Views in the group taking the maximum
     of the values for each View.
     */
-    private static class Bounds {
+    static class Bounds {
         public int before;
         public int after;
         public int flexibility; // we're flexible iff all included specs are flexible
@@ -1969,7 +2100,7 @@
      * Intervals are often written as {@code [min, max]} and represent the set of values
      * {@code x} such that {@code min <= x < max}.
      */
-    static class Interval {
+    final static class Interval {
         /**
          * The minimum value.
          */
@@ -1995,11 +2126,11 @@
             this.max = max;
         }
 
-        private int size() {
+        int size() {
             return max - min;
         }
 
-        private Interval inverse() {
+        Interval inverse() {
             return new Interval(max, min);
         }
 
@@ -2050,8 +2181,8 @@
 
     /**
      * A Spec defines the horizontal or vertical characteristics of a group of
-     * cells. Each spec. defines the <em>grid indices</em>, <em>alignment</em> and
-     * <em>flexibility</em> along the appropriate axis.
+     * cells. Each spec. defines the <em>grid indices</em> and <em>alignment</em>
+     * along the appropriate axis.
      * <p>
      * The <em>grid indices</em> are the leading and trailing edges of this cell group.
      * See {@link GridLayout} for a description of the conventions used by GridLayout
@@ -2060,34 +2191,42 @@
      * The <em>alignment</em> property specifies how cells should be aligned in this group.
      * For row groups, this specifies the vertical alignment.
      * For column groups, this specifies the horizontal alignment.
+     * <p>
+     * Use the following static methods to create specs:
+     * <ul>
+     *   <li>{@link #spec(int)}</li>
+     *   <li>{@link #spec(int, int)}</li>
+     *   <li>{@link #spec(int, Alignment)}</li>
+     *   <li>{@link #spec(int, int, Alignment)}</li>
+     * </ul>
+     *
      */
     public static class Spec {
+        static final Spec UNDEFINED = spec(GridLayout.UNDEFINED);
+
+        final boolean startDefined;
         final Interval span;
         final Alignment alignment;
 
-        private Spec(Interval span, Alignment alignment) {
+        private Spec(boolean startDefined, Interval span, Alignment alignment) {
+            this.startDefined = startDefined;
             this.span = span;
             this.alignment = alignment;
         }
 
-        /* Copying constructor */
-        private Spec(Spec that) {
-            this(that.span, that.alignment);
+        private Spec(boolean startDefined, int start, int size, Alignment alignment) {
+            this(startDefined, new Interval(start, start + size), alignment);
         }
 
-        private Spec(int start, int size, Alignment alignment) {
-            this(new Interval(start, start + size), alignment);
+        final Spec copyWriteSpan(Interval span) {
+            return new Spec(startDefined, span, alignment);
         }
 
-        private Spec copyWriteSpan(Interval span) {
-            return new Spec(span, alignment);
+        final Spec copyWriteAlignment(Alignment alignment) {
+            return new Spec(startDefined, span, alignment);
         }
 
-        private Spec copyWriteAlignment(Alignment alignment) {
-            return new Spec(span, alignment);
-        }
-
-        int getFlexibility() {
+        final int getFlexibility() {
             return (alignment == UNDEFINED_ALIGNMENT) ? INFLEXIBLE : CAN_STRETCH;
         }
 
@@ -2143,7 +2282,7 @@
      * @param alignment the alignment
      */
     public static Spec spec(int start, int size, Alignment alignment) {
-        return new Spec(start, size, alignment);
+        return new Spec(start != UNDEFINED, start, size, alignment);
     }
 
     /**
@@ -2246,7 +2385,7 @@
         }
     }
 
-    private static final Alignment UNDEFINED_ALIGNMENT = new Alignment() {
+    static final Alignment UNDEFINED_ALIGNMENT = new Alignment() {
         public int getAlignmentValue(View view, int viewSize) {
             return UNDEFINED;
         }
@@ -2367,7 +2506,7 @@
         }
     };
 
-    private static boolean canStretch(int flexibility) {
+    static boolean canStretch(int flexibility) {
         return (flexibility & CAN_STRETCH) != 0;
     }
 
diff --git a/core/java/android/widget/HorizontalScrollView.java b/core/java/android/widget/HorizontalScrollView.java
index 9ce8fe0..324dfd7 100644
--- a/core/java/android/widget/HorizontalScrollView.java
+++ b/core/java/android/widget/HorizontalScrollView.java
@@ -569,7 +569,7 @@
                     final boolean canOverscroll = overscrollMode == OVER_SCROLL_ALWAYS ||
                             (overscrollMode == OVER_SCROLL_IF_CONTENT_SCROLLS && range > 0);
 
-                    if (canOverscroll && overScrollBy(deltaX, 0, mScrollX, 0, range, 0,
+                    if (overScrollBy(deltaX, 0, mScrollX, 0, range, 0,
                             mOverscrollDistance, 0, true)) {
                         // Break our velocity if we hit a scroll barrier.
                         mVelocityTracker.clear();
@@ -602,16 +602,12 @@
                     velocityTracker.computeCurrentVelocity(1000, mMaximumVelocity);
                     int initialVelocity = (int) velocityTracker.getXVelocity(mActivePointerId);
 
-                    final int right = getScrollRange();
-                    final int overscrollMode = getOverScrollMode();
-                    final boolean canOverscroll = overscrollMode == OVER_SCROLL_ALWAYS ||
-                            (overscrollMode == OVER_SCROLL_IF_CONTENT_SCROLLS && right > 0);
-
-                    if (getChildCount() > 0 && canOverscroll) {
+                    if (getChildCount() > 0) {
                         if ((Math.abs(initialVelocity) > mMinimumVelocity)) {
                             fling(-initialVelocity);
                         } else {
-                            if (mScroller.springBack(mScrollX, mScrollY, 0, right, 0, 0)) {
+                            if (mScroller.springBack(mScrollX, mScrollY, 0,
+                                    getScrollRange(), 0, 0)) {
                                 invalidate();
                             }
                         }
@@ -729,16 +725,6 @@
         event.setScrollable(true);
     }
 
-    @Override
-    public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) {
-        // Do not append text content to scroll events they are fired frequently
-        // and the client has already received another event type with the text.
-        if (event.getEventType() != AccessibilityEvent.TYPE_VIEW_SCROLLED) {
-            super.dispatchPopulateAccessibilityEvent(event);
-        }
-        return false;
-    }
-
     private int getScrollRange() {
         int scrollRange = 0;
         if (getChildCount() > 0) {
diff --git a/core/java/android/widget/MediaController.java b/core/java/android/widget/MediaController.java
index 690164c..f2ea3fc 100644
--- a/core/java/android/widget/MediaController.java
+++ b/core/java/android/widget/MediaController.java
@@ -75,6 +75,7 @@
     private WindowManager       mWindowManager;
     private Window              mWindow;
     private View                mDecor;
+    private WindowManager.LayoutParams mDecorLayoutParams;
     private ProgressBar         mProgress;
     private TextView            mEndTime, mCurrentTime;
     private boolean             mShowing;
@@ -112,14 +113,12 @@
         super(context);
         mContext = context;
         mUseFastForward = useFastForward;
+        initFloatingWindowLayout();
         initFloatingWindow();
     }
 
     public MediaController(Context context) {
-        super(context);
-        mContext = context;
-        mUseFastForward = true;
-        initFloatingWindow();
+        this(context, true);
     }
 
     private void initFloatingWindow() {
@@ -142,6 +141,48 @@
         requestFocus();
     }
 
+    // Allocate and initialize the static parts of mDecorLayoutParams. Must
+    // also call updateFloatingWindowLayout() to fill in the dynamic parts
+    // (y and width) before mDecorLayoutParams can be used.
+    private void initFloatingWindowLayout() {
+        mDecorLayoutParams = new WindowManager.LayoutParams();
+        WindowManager.LayoutParams p = mDecorLayoutParams;
+        p.gravity = Gravity.TOP;
+        p.height = LayoutParams.WRAP_CONTENT;
+        p.x = 0;
+        p.format = PixelFormat.TRANSLUCENT;
+        p.type = WindowManager.LayoutParams.TYPE_APPLICATION_PANEL;
+        p.flags |= WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM
+                | WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL
+                | WindowManager.LayoutParams.FLAG_SPLIT_TOUCH;
+        p.token = null;
+        p.windowAnimations = 0; // android.R.style.DropDownAnimationDown;
+    }
+
+    // Update the dynamic parts of mDecorLayoutParams
+    // Must be called with mAnchor != NULL.
+    private void updateFloatingWindowLayout() {
+        int [] anchorPos = new int[2];
+        mAnchor.getLocationOnScreen(anchorPos);
+
+        WindowManager.LayoutParams p = mDecorLayoutParams;
+        p.width = mAnchor.getWidth();
+        p.y = anchorPos[1] + mAnchor.getHeight();
+    }
+
+    // This is called whenever mAnchor's layout bound changes
+    private OnLayoutChangeListener mLayoutChangeListener =
+            new OnLayoutChangeListener() {
+        public void onLayoutChange(View v, int left, int top, int right,
+                int bottom, int oldLeft, int oldTop, int oldRight,
+                int oldBottom) {
+            updateFloatingWindowLayout();
+            if (mShowing) {
+                mWindowManager.updateViewLayout(mDecor, mDecorLayoutParams);
+            }
+        }
+    };
+
     private OnTouchListener mTouchListener = new OnTouchListener() {
         public boolean onTouch(View v, MotionEvent event) {
             if (event.getAction() == MotionEvent.ACTION_DOWN) {
@@ -164,7 +205,13 @@
      * @param view The view to which to anchor the controller when it is visible.
      */
     public void setAnchorView(View view) {
+        if (mAnchor != null) {
+            mAnchor.removeOnLayoutChangeListener(mLayoutChangeListener);
+        }
         mAnchor = view;
+        if (mAnchor != null) {
+            mAnchor.addOnLayoutChangeListener(mLayoutChangeListener);
+        }
 
         FrameLayout.LayoutParams frameParams = new FrameLayout.LayoutParams(
                 ViewGroup.LayoutParams.MATCH_PARENT,
@@ -279,30 +326,14 @@
      * the controller until hide() is called.
      */
     public void show(int timeout) {
-
         if (!mShowing && mAnchor != null) {
             setProgress();
             if (mPauseButton != null) {
                 mPauseButton.requestFocus();
             }
             disableUnsupportedButtons();
-
-            int [] anchorpos = new int[2];
-            mAnchor.getLocationOnScreen(anchorpos);
-
-            WindowManager.LayoutParams p = new WindowManager.LayoutParams();
-            p.gravity = Gravity.TOP;
-            p.width = mAnchor.getWidth();
-            p.height = LayoutParams.WRAP_CONTENT;
-            p.x = 0;
-            p.y = anchorpos[1] + mAnchor.getHeight() - p.height;
-            p.format = PixelFormat.TRANSLUCENT;
-            p.type = WindowManager.LayoutParams.TYPE_APPLICATION_PANEL;
-            p.flags |= WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM
-                    | WindowManager.LayoutParams.FLAG_SPLIT_TOUCH;
-            p.token = null;
-            p.windowAnimations = 0; // android.R.style.DropDownAnimationDown;
-            mWindowManager.addView(mDecor, p);
+            updateFloatingWindowLayout();
+            mWindowManager.addView(mDecor, mDecorLayoutParams);
             mShowing = true;
         }
         updatePausePlay();
diff --git a/core/java/android/widget/NumberPicker.java b/core/java/android/widget/NumberPicker.java
index 5345fa4..b4c844b 100644
--- a/core/java/android/widget/NumberPicker.java
+++ b/core/java/android/widget/NumberPicker.java
@@ -16,13 +16,10 @@
 
 package android.widget;
 
-import com.android.internal.R;
-
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
 import android.animation.AnimatorSet;
 import android.animation.ObjectAnimator;
-import android.animation.ValueAnimator;
 import android.annotation.Widget;
 import android.content.Context;
 import android.content.res.ColorStateList;
@@ -30,8 +27,8 @@
 import android.graphics.Canvas;
 import android.graphics.Color;
 import android.graphics.Paint;
-import android.graphics.Rect;
 import android.graphics.Paint.Align;
+import android.graphics.Rect;
 import android.graphics.drawable.Drawable;
 import android.text.InputFilter;
 import android.text.InputType;
@@ -43,16 +40,18 @@
 import android.util.TypedValue;
 import android.view.KeyEvent;
 import android.view.LayoutInflater;
+import android.view.LayoutInflater.Filter;
 import android.view.MotionEvent;
 import android.view.VelocityTracker;
 import android.view.View;
 import android.view.ViewConfiguration;
-import android.view.LayoutInflater.Filter;
 import android.view.accessibility.AccessibilityEvent;
 import android.view.accessibility.AccessibilityManager;
 import android.view.animation.DecelerateInterpolator;
 import android.view.inputmethod.InputMethodManager;
 
+import com.android.internal.R;
+
 /**
  * A widget that enables the user to select a number form a predefined range.
  * The widget presents an input filed and up and down buttons for selecting the
@@ -91,6 +90,12 @@
     private static final int SELECTOR_ADJUSTMENT_DURATION_MILLIS = 800;
 
     /**
+     * The duration of scrolling to the next/previous value while changing
+     * the current value by one, i.e. increment or decrement.
+     */
+    private static final int CHANGE_CURRENT_BY_ONE_SCROLL_DURATION = 300;
+
+    /**
      * The the delay for showing the input controls after a single tap on the
      * input text.
      */
@@ -98,16 +103,6 @@
             .getDoubleTapTimeout();
 
     /**
-     * The update step for incrementing the current value.
-     */
-    private static final int UPDATE_STEP_INCREMENT = 1;
-
-    /**
-     * The update step for decrementing the current value.
-     */
-    private static final int UPDATE_STEP_DECREMENT = -1;
-
-    /**
      * The strength of fading in the top and bottom while drawing the selector.
      */
     private static final float TOP_AND_BOTTOM_FADING_EDGE_STRENGTH = 0.9f;
@@ -115,7 +110,52 @@
     /**
      * The default unscaled height of the selection divider.
      */
-    private final int UNSCALED_DEFAULT_SELECTION_DIVIDER_HEIGHT = 2;
+    private static final int UNSCALED_DEFAULT_SELECTION_DIVIDER_HEIGHT = 2;
+
+    /**
+     * In this state the selector wheel is not shown.
+     */
+    private static final int SELECTOR_WHEEL_STATE_NONE = 0;
+
+    /**
+     * In this state the selector wheel is small.
+     */
+    private static final int SELECTOR_WHEEL_STATE_SMALL = 1;
+
+    /**
+     * In this state the selector wheel is large.
+     */
+    private static final int SELECTOR_WHEEL_STATE_LARGE = 2;
+
+    /**
+     * The alpha of the selector wheel when it is bright.
+     */
+    private static final int SELECTOR_WHEEL_BRIGHT_ALPHA = 255;
+
+    /**
+     * The alpha of the selector wheel when it is dimmed.
+     */
+    private static final int SELECTOR_WHEEL_DIM_ALPHA = 60;
+
+    /**
+     * The alpha for the increment/decrement button when it is transparent.
+     */
+    private static final int BUTTON_ALPHA_TRANSPARENT = 0;
+
+    /**
+     * The alpha for the increment/decrement button when it is opaque.
+     */
+    private static final int BUTTON_ALPHA_OPAQUE = 1;
+
+    /**
+     * The property for setting the selector paint.
+     */
+    private static final String PROPERTY_SELECTOR_PAINT_ALPHA = "selectorPaintAlpha";
+
+    /**
+     * The property for setting the increment/decrement button alpha.
+     */
+    private static final String PROPERTY_BUTTON_ALPHA = "alpha";
 
     /**
      * The numbers accepted by the input text's {@link Filter}
@@ -168,6 +208,11 @@
     private final int mTextSize;
 
     /**
+     * The height of the gap between text elements if the selector wheel.
+     */
+    private int mSelectorTextGapHeight;
+
+    /**
      * The values to be displayed instead the indices.
      */
     private String[] mDisplayedValues;
@@ -223,7 +268,7 @@
     /**
      * The {@link Paint} for drawing the selector.
      */
-    private final Paint mSelectorPaint;
+    private final Paint mSelectorWheelPaint;
 
     /**
      * The height of a selector element (text + gap).
@@ -266,10 +311,10 @@
     private AdjustScrollerCommand mAdjustScrollerCommand;
 
     /**
-     * Handle to the reusable command for updating the current value from long
-     * press.
+     * Handle to the reusable command for changing the current value from long
+     * press by one.
      */
-    private UpdateValueFromLongPressCommand mUpdateFromLongPressCommand;
+    private ChangeCurrentByOneFromLongPressCommand mChangeCurrentByOneFromLongPressCommand;
 
     /**
      * {@link Animator} for showing the up/down arrows.
@@ -277,6 +322,11 @@
     private final AnimatorSet mShowInputControlsAnimator;
 
     /**
+     * {@link Animator} for dimming the selector wheel.
+     */
+    private final Animator mDimSelectorWheelAnimator;
+
+    /**
      * The Y position of the last down event.
      */
     private float mLastDownEventY;
@@ -297,9 +347,9 @@
     private boolean mAdjustScrollerOnUpEvent;
 
     /**
-     * Flag if to draw the selector wheel.
+     * The state of the selector wheel.
      */
-    private boolean mDrawSelectorWheel;
+    private int mSelectorWheelState;
 
     /**
      * Determines speed during touch scrolling.
@@ -362,6 +412,11 @@
     private final long mShowInputControlsAnimimationDuration;
 
     /**
+     * Flag whether the scoll wheel and the fading edges have been initialized.
+     */
+    private boolean mScrollWheelAndFadingEdgesInitialized;
+
+    /**
      * Interface to listen for changes of the current value.
      */
     public interface OnValueChangeListener {
@@ -473,7 +528,7 @@
         // the fading edge effect implemented by View and we need our
         // draw() method to be called. Therefore, we declare we will draw.
         setWillNotDraw(false);
-        setDrawScrollWheel(false);
+        setSelectorWheelState(SELECTOR_WHEEL_STATE_NONE);
 
         LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(
                 Context.LAYOUT_INFLATER_SERVICE);
@@ -483,9 +538,9 @@
             public void onClick(View v) {
                 mInputText.clearFocus();
                 if (v.getId() == R.id.increment) {
-                    changeCurrent(mValue + 1);
+                    changeCurrentByOne(true);
                 } else {
-                    changeCurrent(mValue - 1);
+                    changeCurrentByOne(false);
                 }
             }
         };
@@ -494,9 +549,9 @@
             public boolean onLongClick(View v) {
                 mInputText.clearFocus();
                 if (v.getId() == R.id.increment) {
-                    postUpdateValueFromLongPress(UPDATE_STEP_INCREMENT);
+                    postChangeCurrentByOneFromLongPress(true);
                 } else {
-                    postUpdateValueFromLongPress(UPDATE_STEP_DECREMENT);
+                    postChangeCurrentByOneFromLongPress(false);
                 }
                 return true;
             }
@@ -516,10 +571,17 @@
         mInputText = (EditText) findViewById(R.id.numberpicker_input);
         mInputText.setOnFocusChangeListener(new OnFocusChangeListener() {
             public void onFocusChange(View v, boolean hasFocus) {
+                InputMethodManager inputMethodManager = InputMethodManager.peekInstance();
                 if (hasFocus) {
                     mInputText.selectAll();
+                    if (inputMethodManager != null) {
+                        inputMethodManager.showSoftInput(mInputText, 0);
+                    }
                 } else {
                     mInputText.setSelection(0, 0);
+                    if (inputMethodManager != null) {
+                        inputMethodManager.hideSoftInputFromWindow(getWindowToken(), 0);
+                    }
                     validateInputTextView(v);
                 }
             }
@@ -548,16 +610,17 @@
         ColorStateList colors = mInputText.getTextColors();
         int color = colors.getColorForState(ENABLED_STATE_SET, Color.WHITE);
         paint.setColor(color);
-        mSelectorPaint = paint;
+        mSelectorWheelPaint = paint;
 
         // create the animator for showing the input controls
-        final ValueAnimator fadeScroller = ObjectAnimator.ofInt(this, "selectorPaintAlpha", 255, 0);
+        mDimSelectorWheelAnimator = ObjectAnimator.ofInt(this, PROPERTY_SELECTOR_PAINT_ALPHA,
+                SELECTOR_WHEEL_BRIGHT_ALPHA, SELECTOR_WHEEL_DIM_ALPHA);
         final ObjectAnimator showIncrementButton = ObjectAnimator.ofFloat(mIncrementButton,
-                "alpha", 0, 1);
+                PROPERTY_BUTTON_ALPHA, BUTTON_ALPHA_TRANSPARENT, BUTTON_ALPHA_OPAQUE);
         final ObjectAnimator showDecrementButton = ObjectAnimator.ofFloat(mDecrementButton,
-                "alpha", 0, 1);
+                PROPERTY_BUTTON_ALPHA, BUTTON_ALPHA_TRANSPARENT, BUTTON_ALPHA_OPAQUE);
         mShowInputControlsAnimator = new AnimatorSet();
-        mShowInputControlsAnimator.playTogether(fadeScroller, showIncrementButton,
+        mShowInputControlsAnimator.playTogether(mDimSelectorWheelAnimator, showIncrementButton,
                 showDecrementButton);
         mShowInputControlsAnimator.addListener(new AnimatorListenerAdapter() {
             private boolean mCanceled = false;
@@ -566,11 +629,9 @@
             public void onAnimationEnd(Animator animation) {
                 if (!mCanceled) {
                     // if canceled => we still want the wheel drawn
-                    setDrawScrollWheel(false);
+                    setSelectorWheelState(SELECTOR_WHEEL_STATE_SMALL);
                 }
                 mCanceled = false;
-                mSelectorPaint.setAlpha(255);
-                invalidate();
             }
 
             @Override
@@ -588,20 +649,28 @@
         updateInputTextView();
         updateIncrementAndDecrementButtonsVisibilityState();
 
-        if (mFlingable && !isInEditMode()) {
-            // Start with shown selector wheel and hidden controls. When made
-            // visible hide the selector and fade-in the controls to suggest
-            // fling interaction.
-            setDrawScrollWheel(true);
-            hideInputControls();
+        if (mFlingable) {
+           if (isInEditMode()) {
+               setSelectorWheelState(SELECTOR_WHEEL_STATE_SMALL);
+           } else {
+                // Start with shown selector wheel and hidden controls. When made
+                // visible hide the selector and fade-in the controls to suggest
+                // fling interaction.
+                setSelectorWheelState(SELECTOR_WHEEL_STATE_LARGE);
+                hideInputControls();
+           }
         }
     }
 
     @Override
     protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
         super.onLayout(changed, left, top, right, bottom);
-        // need to do this when we know our size
-        initializeScrollWheel();
+        if (!mScrollWheelAndFadingEdgesInitialized) {
+            mScrollWheelAndFadingEdgesInitialized = true;
+            // need to do all this when we know our size
+            initializeSelectorWheel();
+            initializeFadingEdges();
+        }
     }
 
     @Override
@@ -614,9 +683,10 @@
                 mLastMotionEventY = mLastDownEventY = event.getY();
                 removeAllCallbacks();
                 mShowInputControlsAnimator.cancel();
+                mDimSelectorWheelAnimator.cancel();
                 mBeginEditOnUpEvent = false;
                 mAdjustScrollerOnUpEvent = true;
-                if (mDrawSelectorWheel) {
+                if (mSelectorWheelState == SELECTOR_WHEEL_STATE_LARGE) {
                     boolean scrollersFinished = mFlingScroller.isFinished()
                             && mAdjustScroller.isFinished();
                     if (!scrollersFinished) {
@@ -635,7 +705,7 @@
                         || (!mDecrementButton.isShown()
                                 && isEventInViewHitRect(event, mDecrementButton))) {
                     mAdjustScrollerOnUpEvent = false;
-                    setDrawScrollWheel(true);
+                    setSelectorWheelState(SELECTOR_WHEEL_STATE_LARGE);
                     hideInputControls();
                     return true;
                 }
@@ -646,7 +716,7 @@
                 if (deltaDownY > mTouchSlop) {
                     mBeginEditOnUpEvent = false;
                     onScrollStateChange(OnScrollListener.SCROLL_STATE_TOUCH_SCROLL);
-                    setDrawScrollWheel(true);
+                    setSelectorWheelState(SELECTOR_WHEEL_STATE_LARGE);
                     hideInputControls();
                     return true;
                 }
@@ -683,12 +753,9 @@
                 break;
             case MotionEvent.ACTION_UP:
                 if (mBeginEditOnUpEvent) {
-                    setDrawScrollWheel(false);
+                    setSelectorWheelState(SELECTOR_WHEEL_STATE_SMALL);
                     showInputControls(mShowInputControlsAnimimationDuration);
                     mInputText.requestFocus();
-                    InputMethodManager imm = (InputMethodManager) getContext().getSystemService(
-                            Context.INPUT_METHOD_SERVICE);
-                    imm.showSoftInput(mInputText, 0);
                     return true;
                 }
                 VelocityTracker velocityTracker = mVelocityTracker;
@@ -715,10 +782,18 @@
 
     @Override
     public boolean dispatchTouchEvent(MotionEvent event) {
-        int action = event.getActionMasked();
-        if ((action == MotionEvent.ACTION_CANCEL || action == MotionEvent.ACTION_UP)
-                && !isEventInViewHitRect(event, mInputText)) {
-            removeAllCallbacks();
+        final int action = event.getActionMasked();
+        switch (action) {
+            case MotionEvent.ACTION_MOVE:
+                if (mSelectorWheelState == SELECTOR_WHEEL_STATE_LARGE) {
+                    removeAllCallbacks();
+                    forceCompleteChangeCurrentByOneViaScroll();
+                }
+                break;
+            case MotionEvent.ACTION_CANCEL:
+            case MotionEvent.ACTION_UP:
+                removeAllCallbacks();
+                break;
         }
         return super.dispatchTouchEvent(event);
     }
@@ -743,7 +818,7 @@
 
     @Override
     public void computeScroll() {
-        if (!mDrawSelectorWheel) {
+        if (mSelectorWheelState == SELECTOR_WHEEL_STATE_NONE) {
             return;
         }
         Scroller scroller = mFlingScroller;
@@ -777,7 +852,10 @@
 
     @Override
     public void scrollBy(int x, int y) {
-        int[] selectorIndices = getSelectorIndices();
+        if (mSelectorWheelState == SELECTOR_WHEEL_STATE_NONE) {
+            return;
+        }
+        int[] selectorIndices = mSelectorIndices;
         if (!mWrapSelectorWheel && y > 0
                 && selectorIndices[SELECTOR_MIDDLE_ITEM_INDEX] <= mMinValue) {
             mCurrentScrollOffset = mInitialScrollOffset;
@@ -789,19 +867,19 @@
             return;
         }
         mCurrentScrollOffset += y;
-        while (mCurrentScrollOffset - mInitialScrollOffset >= mSelectorElementHeight) {
+        while (mCurrentScrollOffset - mInitialScrollOffset > mSelectorTextGapHeight) {
             mCurrentScrollOffset -= mSelectorElementHeight;
             decrementSelectorIndices(selectorIndices);
             changeCurrent(selectorIndices[SELECTOR_MIDDLE_ITEM_INDEX]);
-            if (selectorIndices[SELECTOR_MIDDLE_ITEM_INDEX] <= mMinValue) {
+            if (!mWrapSelectorWheel && selectorIndices[SELECTOR_MIDDLE_ITEM_INDEX] <= mMinValue) {
                 mCurrentScrollOffset = mInitialScrollOffset;
             }
         }
-        while (mCurrentScrollOffset - mInitialScrollOffset <= -mSelectorElementHeight) {
+        while (mCurrentScrollOffset - mInitialScrollOffset < -mSelectorTextGapHeight) {
             mCurrentScrollOffset += mSelectorElementHeight;
-            incrementScrollSelectorIndices(selectorIndices);
+            incrementSelectorIndices(selectorIndices);
             changeCurrent(selectorIndices[SELECTOR_MIDDLE_ITEM_INDEX]);
-            if (selectorIndices[SELECTOR_MIDDLE_ITEM_INDEX] >= mMaxValue) {
+            if (!mWrapSelectorWheel && selectorIndices[SELECTOR_MIDDLE_ITEM_INDEX] >= mMaxValue) {
                 mCurrentScrollOffset = mInitialScrollOffset;
             }
         }
@@ -847,7 +925,7 @@
             return;
         }
         mFormatter = formatter;
-        resetSelectorWheelIndices();
+        initializeSelectorWheelIndices();
         updateInputTextView();
     }
 
@@ -890,8 +968,10 @@
             value = mWrapSelectorWheel ? mMinValue : mMaxValue;
         }
         mValue = value;
+        initializeSelectorWheelIndices();
         updateInputTextView();
         updateIncrementAndDecrementButtonsVisibilityState();
+        invalidate();
     }
 
     /**
@@ -981,7 +1061,7 @@
         }
         boolean wrapSelectorWheel = mMaxValue - mMinValue > mSelectorIndices.length;
         setWrapSelectorWheel(wrapSelectorWheel);
-        resetSelectorWheelIndices();
+        initializeSelectorWheelIndices();
         updateInputTextView();
     }
 
@@ -1012,7 +1092,7 @@
         }
         boolean wrapSelectorWheel = mMaxValue - mMinValue > mSelectorIndices.length;
         setWrapSelectorWheel(wrapSelectorWheel);
-        resetSelectorWheelIndices();
+        initializeSelectorWheelIndices();
         updateInputTextView();
     }
 
@@ -1043,7 +1123,7 @@
             mInputText.setRawInputType(InputType.TYPE_CLASS_NUMBER);
         }
         updateInputTextView();
-        resetSelectorWheelIndices();
+        initializeSelectorWheelIndices();
     }
 
     @Override
@@ -1080,18 +1160,19 @@
     @Override
     public void draw(Canvas canvas) {
         // Dispatch draw to our children only if we are not currently running
-        // the animation for simultaneously fading out the scroll wheel and
+        // the animation for simultaneously dimming the scroll wheel and
         // showing in the buttons. This class takes advantage of the View
         // implementation of fading edges effect to draw the selector wheel.
         // However, in View.draw(), the fading is applied after all the children
         // have been drawn and we do not want this fading to be applied to the
-        // buttons which are currently showing in. Therefore, we draw our
-        // children after we have completed drawing ourselves.
+        // buttons. Therefore, we draw our children after we have completed
+        // drawing ourselves.
         super.draw(canvas);
 
         // Draw our children if we are not showing the selector wheel of fading
         // it out
-        if (mShowInputControlsAnimator.isRunning() || !mDrawSelectorWheel) {
+        if (mShowInputControlsAnimator.isRunning()
+                || mSelectorWheelState != SELECTOR_WHEEL_STATE_LARGE) {
             long drawTime = getDrawingTime();
             for (int i = 0, count = getChildCount(); i < count; i++) {
                 View child = getChildAt(i);
@@ -1105,25 +1186,32 @@
 
     @Override
     protected void onDraw(Canvas canvas) {
-        // we only draw the selector wheel
-        if (!mDrawSelectorWheel) {
+        if (mSelectorWheelState == SELECTOR_WHEEL_STATE_NONE) {
             return;
         }
+
         float x = (mRight - mLeft) / 2;
         float y = mCurrentScrollOffset;
 
+        final int restoreCount = canvas.save();
+
+        if (mSelectorWheelState == SELECTOR_WHEEL_STATE_SMALL) {
+            Rect clipBounds = canvas.getClipBounds();
+            clipBounds.inset(0, mSelectorElementHeight);
+            canvas.clipRect(clipBounds);
+        }
+
         // draw the selector wheel
-        int[] selectorIndices = getSelectorIndices();
+        int[] selectorIndices = mSelectorIndices;
         for (int i = 0; i < selectorIndices.length; i++) {
             int selectorIndex = selectorIndices[i];
             String scrollSelectorValue = mSelectorIndexToStringCache.get(selectorIndex);
-            canvas.drawText(scrollSelectorValue, x, y, mSelectorPaint);
+            canvas.drawText(scrollSelectorValue, x, y, mSelectorWheelPaint);
             y += mSelectorElementHeight;
         }
 
         // draw the selection dividers (only if scrolling and drawable specified)
         if (mSelectionDivider != null) {
-            mSelectionDivider.setAlpha(mSelectorPaint.getAlpha());
             // draw the top divider
             int topOfTopDivider =
                 (getHeight() - mSelectorElementHeight - mSelectionDividerHeight) / 2;
@@ -1137,6 +1225,8 @@
             mSelectionDivider.setBounds(0, topOfBottomDivider, mRight, bottomOfBottomDivider);
             mSelectionDivider.draw(canvas);
         }
+
+        canvas.restoreToCount(restoreCount);
     }
 
     @Override
@@ -1149,11 +1239,17 @@
      * Resets the selector indices and clear the cached
      * string representation of these indices.
      */
-    private void resetSelectorWheelIndices() {
+    private void initializeSelectorWheelIndices() {
         mSelectorIndexToStringCache.clear();
-        int[] selectorIdices = getSelectorIndices();
-        for (int i = 0; i < selectorIdices.length; i++) {
-            selectorIdices[i] = Integer.MIN_VALUE; 
+        int[] selectorIdices = mSelectorIndices;
+        int current = getValue();
+        for (int i = 0; i < mSelectorIndices.length; i++) {
+            int selectorIndex = current + (i - SELECTOR_MIDDLE_ITEM_INDEX);
+            if (mWrapSelectorWheel) {
+                selectorIndex = getWrappedSelectorIndex(selectorIndex);
+            }
+            mSelectorIndices[i] = selectorIndex;
+            ensureCachedScrollSelectorValue(mSelectorIndices[i]);
         }
     }
 
@@ -1179,16 +1275,59 @@
     }
 
     /**
+     * Changes the current value by one which is increment or
+     * decrement based on the passes argument.
+     *
+     * @param increment True to increment, false to decrement.
+     */
+    private void changeCurrentByOne(boolean increment) {
+        if (mFlingable) {
+            mDimSelectorWheelAnimator.cancel();
+            mInputText.setVisibility(View.INVISIBLE);
+            mSelectorWheelPaint.setAlpha(SELECTOR_WHEEL_BRIGHT_ALPHA);
+            mPreviousScrollerY = 0;
+            forceCompleteChangeCurrentByOneViaScroll();
+            if (increment) {
+                mFlingScroller.startScroll(0, 0, 0, -mSelectorElementHeight,
+                        CHANGE_CURRENT_BY_ONE_SCROLL_DURATION);
+            } else {
+                mFlingScroller.startScroll(0, 0, 0, mSelectorElementHeight,
+                        CHANGE_CURRENT_BY_ONE_SCROLL_DURATION);
+            }
+            invalidate();
+        } else {
+            if (increment) {
+                changeCurrent(mValue + 1);
+            } else {
+                changeCurrent(mValue - 1);
+            }
+        }
+    }
+
+    /**
+     * Ensures that if we are in the process of changing the current value
+     * by one via scrolling the scroller gets to its final state and the
+     * value is updated.
+     */
+    private void forceCompleteChangeCurrentByOneViaScroll() {
+        Scroller scroller = mFlingScroller;
+        if (!scroller.isFinished()) {
+            final int yBeforeAbort = scroller.getCurrY();
+            scroller.abortAnimation();
+            final int yDelta = scroller.getCurrY() - yBeforeAbort;
+            scrollBy(0, yDelta);
+        }
+    }
+
+    /**
      * Sets the <code>alpha</code> of the {@link Paint} for drawing the selector
      * wheel.
      */
     @SuppressWarnings("unused")
-    // Called by ShowInputControlsAnimator via reflection
+    // Called via reflection
     private void setSelectorPaintAlpha(int alpha) {
-        mSelectorPaint.setAlpha(alpha);
-        if (mDrawSelectorWheel) {
-            invalidate();
-        }
+        mSelectorWheelPaint.setAlpha(alpha);
+        invalidate();
     }
 
     /**
@@ -1200,14 +1339,15 @@
     }
 
     /**
-     * Sets if to <code>drawSelectionWheel</code>.
+     * Sets the <code>selectorWheelState</code>.
      */
-    private void setDrawScrollWheel(boolean drawSelectorWheel) {
-        mDrawSelectorWheel = drawSelectorWheel;
-        // do not fade if the selector wheel not shown
-        setVerticalFadingEdgeEnabled(drawSelectorWheel);
+    private void setSelectorWheelState(int selectorWheelState) {
+        mSelectorWheelState = selectorWheelState;
+        if (selectorWheelState == SELECTOR_WHEEL_STATE_LARGE) {
+            mSelectorWheelPaint.setAlpha(SELECTOR_WHEEL_BRIGHT_ALPHA);
+        }
 
-        if (mFlingable && mDrawSelectorWheel
+        if (mFlingable && selectorWheelState == SELECTOR_WHEEL_STATE_LARGE
                 && AccessibilityManager.getInstance(mContext).isEnabled()) {
             AccessibilityManager.getInstance(mContext).interrupt();
             String text = mContext.getString(R.string.number_picker_increment_scroll_action);
@@ -1217,16 +1357,14 @@
         }
     }
 
-    private void initializeScrollWheel() {
-        if (mInitialScrollOffset != Integer.MIN_VALUE) {
-            return;
-        }
-        int[] selectorIndices = getSelectorIndices();
+    private void initializeSelectorWheel() {
+        initializeSelectorWheelIndices();
+        int[] selectorIndices = mSelectorIndices;
         int totalTextHeight = selectorIndices.length * mTextSize;
         float totalTextGapHeight = (mBottom - mTop) - totalTextHeight;
         float textGapCount = selectorIndices.length - 1;
-        int selectorTextGapHeight = (int) (totalTextGapHeight / textGapCount + 0.5f);
-        mSelectorElementHeight = mTextSize + selectorTextGapHeight;
+        mSelectorTextGapHeight = (int) (totalTextGapHeight / textGapCount + 0.5f);
+        mSelectorElementHeight = mTextSize + mSelectorTextGapHeight;
         // Ensure that the middle item is positioned the same as the text in mInputText
         int editTextTextPosition = mInputText.getBaseline() + mInputText.getTop();
         mInitialScrollOffset = editTextTextPosition -
@@ -1235,13 +1373,23 @@
         updateInputTextView();
     }
 
+    private void initializeFadingEdges() {
+        setVerticalFadingEdgeEnabled(true);
+        setFadingEdgeLength((mBottom - mTop - mTextSize) / 2);
+    }
+
     /**
      * Callback invoked upon completion of a given <code>scroller</code>.
      */
     private void onScrollerFinished(Scroller scroller) {
         if (scroller == mFlingScroller) {
-            postAdjustScrollerCommand(0);
-            onScrollStateChange(OnScrollListener.SCROLL_STATE_IDLE);
+            if (mSelectorWheelState == SELECTOR_WHEEL_STATE_LARGE) {
+                postAdjustScrollerCommand(0);
+                onScrollStateChange(OnScrollListener.SCROLL_STATE_IDLE);
+            } else {
+                updateInputTextView();
+                fadeSelectorWheel(mShowInputControlsAnimimationDuration);
+            }
         } else {
             updateInputTextView();
             showInputControls(mShowInputControlsAnimimationDuration);
@@ -1312,6 +1460,17 @@
     }
 
     /**
+     * Fade the selector wheel via an animation.
+     *
+     * @param animationDuration The duration of the animation.
+     */
+    private void fadeSelectorWheel(long animationDuration) {
+        mInputText.setVisibility(VISIBLE);
+        mDimSelectorWheelAnimator.setDuration(animationDuration);
+        mDimSelectorWheelAnimator.start();
+    }
+
+    /**
      * Updates the visibility state of the increment and decrement buttons.
      */
     private void updateIncrementAndDecrementButtonsVisibilityState() {
@@ -1328,25 +1487,6 @@
     }
 
     /**
-     * @return The selector indices array with proper values with the current as
-     *         the middle one.
-     */
-    private int[] getSelectorIndices() {
-        int current = getValue();
-        if (mSelectorIndices[SELECTOR_MIDDLE_ITEM_INDEX] != current) {
-            for (int i = 0; i < mSelectorIndices.length; i++) {
-                int selectorIndex = current + (i - SELECTOR_MIDDLE_ITEM_INDEX);
-                if (mWrapSelectorWheel) {
-                    selectorIndex = getWrappedSelectorIndex(selectorIndex);
-                }
-                mSelectorIndices[i] = selectorIndex;
-                ensureCachedScrollSelectorValue(mSelectorIndices[i]);
-            }
-        }
-        return mSelectorIndices;
-    }
-
-    /**
      * @return The wrapped index <code>selectorIndex</code> value.
      */
     private int getWrappedSelectorIndex(int selectorIndex) {
@@ -1362,7 +1502,7 @@
      * Increments the <code>selectorIndices</code> whose string representations
      * will be displayed in the selector.
      */
-    private void incrementScrollSelectorIndices(int[] selectorIndices) {
+    private void incrementSelectorIndices(int[] selectorIndices) {
         for (int i = 0; i < selectorIndices.length - 1; i++) {
             selectorIndices[i] = selectorIndices[i + 1];
         }
@@ -1467,25 +1607,26 @@
     }
 
     /**
-     * Posts a command for updating the current value every <code>updateMillis
-     * </code>.
+     * Posts a command for changing the current value by one.
+     *
+     * @param increment Whether to increment or decrement the value.
      */
-    private void postUpdateValueFromLongPress(int updateMillis) {
+    private void postChangeCurrentByOneFromLongPress(boolean increment) {
         mInputText.clearFocus();
         removeAllCallbacks();
-        if (mUpdateFromLongPressCommand == null) {
-            mUpdateFromLongPressCommand = new UpdateValueFromLongPressCommand();
+        if (mChangeCurrentByOneFromLongPressCommand == null) {
+            mChangeCurrentByOneFromLongPressCommand = new ChangeCurrentByOneFromLongPressCommand();
         }
-        mUpdateFromLongPressCommand.setUpdateStep(updateMillis);
-        post(mUpdateFromLongPressCommand);
+        mChangeCurrentByOneFromLongPressCommand.setIncrement(increment);
+        post(mChangeCurrentByOneFromLongPressCommand);
     }
 
     /**
      * Removes all pending callback from the message queue.
      */
     private void removeAllCallbacks() {
-        if (mUpdateFromLongPressCommand != null) {
-            removeCallbacks(mUpdateFromLongPressCommand);
+        if (mChangeCurrentByOneFromLongPressCommand != null) {
+            removeCallbacks(mChangeCurrentByOneFromLongPressCommand);
         }
         if (mAdjustScrollerCommand != null) {
             removeCallbacks(mAdjustScrollerCommand);
@@ -1658,17 +1799,17 @@
     }
 
     /**
-     * Command for updating the current value from a long press.
+     * Command for changing the current value from a long press by one.
      */
-    class UpdateValueFromLongPressCommand implements Runnable {
-        private int mUpdateStep = 0;
+    class ChangeCurrentByOneFromLongPressCommand implements Runnable {
+        private boolean mIncrement;
 
-        private void setUpdateStep(int updateStep) {
-            mUpdateStep = updateStep;
+        private void setIncrement(boolean increment) {
+            mIncrement = increment;
         }
 
         public void run() {
-            changeCurrent(mValue + mUpdateStep);
+            changeCurrentByOne(mIncrement);
             postDelayed(this, mLongPressUpdateInterval);
         }
     }
diff --git a/core/java/android/widget/OverScroller.java b/core/java/android/widget/OverScroller.java
index e571998..6aee5a0 100644
--- a/core/java/android/widget/OverScroller.java
+++ b/core/java/android/widget/OverScroller.java
@@ -584,10 +584,10 @@
         // A device specific coefficient adjusted to physical values.
         private static float PHYSICAL_COEF;
 
-        private static float DECELERATION_RATE = (float) (Math.log(0.75) / Math.log(0.9));
-        private static final float INFLEXION = 0.4f; // Tension lines cross at (INFLEXION, 1)
-        private static final float START_TENSION = 1.0f;
-        private static final float END_TENSION = 0.6666f;
+        private static float DECELERATION_RATE = (float) (Math.log(0.78) / Math.log(0.9));
+        private static final float INFLEXION = 0.35f; // Tension lines cross at (INFLEXION, 1)
+        private static final float START_TENSION = 0.5f;
+        private static final float END_TENSION = 1.0f;
         private static final float P1 = START_TENSION * INFLEXION;
         private static final float P2 = 1.0f - END_TENSION * (1.0f - INFLEXION);
 
diff --git a/core/java/android/widget/PopupMenu.java b/core/java/android/widget/PopupMenu.java
index 17512d8..6a6d767 100644
--- a/core/java/android/widget/PopupMenu.java
+++ b/core/java/android/widget/PopupMenu.java
@@ -157,6 +157,8 @@
      * @hide
      */
     public boolean onOpenSubMenu(MenuBuilder subMenu) {
+        if (subMenu == null) return false;
+
         if (!subMenu.hasVisibleItems()) {
             return true;
         }
diff --git a/core/java/android/widget/PopupWindow.java b/core/java/android/widget/PopupWindow.java
index 4d45c2f..8ba7bee 100644
--- a/core/java/android/widget/PopupWindow.java
+++ b/core/java/android/widget/PopupWindow.java
@@ -92,6 +92,7 @@
     private boolean mClipToScreen;
     private boolean mAllowScrollingAnchorParent = true;
     private boolean mLayoutInsetDecor = false;
+    private boolean mNotTouchModal;
 
     private OnTouchListener mTouchInterceptor;
     
@@ -694,6 +695,15 @@
     }
 
     /**
+     * Set whether this window is touch modal or if outside touches will be sent to
+     * other windows behind it.
+     * @hide
+     */
+    public void setTouchModal(boolean touchModal) {
+        mNotTouchModal = !touchModal;
+    }
+
+    /**
      * <p>Change the width and height measure specs that are given to the
      * window manager by the popup.  By default these are 0, meaning that
      * the current width or height is requested as an explicit size from
@@ -796,6 +806,21 @@
      * @param y the popup's y location offset
      */
     public void showAtLocation(View parent, int gravity, int x, int y) {
+        showAtLocation(parent.getWindowToken(), gravity, x, y);
+    }
+
+    /**
+     * Display the content view in a popup window at the specified location.
+     *
+     * @param token Window token to use for creating the new window
+     * @param gravity the gravity which controls the placement of the popup window
+     * @param x the popup's x location offset
+     * @param y the popup's y location offset
+     *
+     * @hide Internal use only. Applications should use
+     *       {@link #showAtLocation(View, int, int, int)} instead.
+     */
+    public void showAtLocation(IBinder token, int gravity, int x, int y) {
         if (isShowing() || mContentView == null) {
             return;
         }
@@ -805,7 +830,7 @@
         mIsShowing = true;
         mIsDropdown = false;
 
-        WindowManager.LayoutParams p = createPopupLayout(parent.getWindowToken());
+        WindowManager.LayoutParams p = createPopupLayout(token);
         p.windowAnimations = computeAnimationResource();
        
         preparePopup(p);
@@ -1033,6 +1058,9 @@
         if (mLayoutInsetDecor) {
             curFlags |= WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR;
         }
+        if (mNotTouchModal) {
+            curFlags |= WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL;
+        }
         return curFlags;
     }
     
diff --git a/core/java/android/widget/ProgressBar.java b/core/java/android/widget/ProgressBar.java
index e033d2d..df88fec 100644
--- a/core/java/android/widget/ProgressBar.java
+++ b/core/java/android/widget/ProgressBar.java
@@ -937,7 +937,8 @@
         int left = 0;
 
         if (mIndeterminateDrawable != null) {
-            if (mOnlyIndeterminate) {
+            // Aspect ratio logic does not apply to AnimationDrawables
+            if (mOnlyIndeterminate && !(mIndeterminateDrawable instanceof AnimationDrawable)) {
                 // Maintain aspect ratio. Certain kinds of animated drawables
                 // get very confused otherwise.
                 final int intrinsicWidth = mIndeterminateDrawable.getIntrinsicWidth();
diff --git a/core/java/android/widget/RelativeLayout.java b/core/java/android/widget/RelativeLayout.java
index 6edfd59..12a93ac 100644
--- a/core/java/android/widget/RelativeLayout.java
+++ b/core/java/android/widget/RelativeLayout.java
@@ -212,6 +212,11 @@
      * Describes how the child views are positioned. Defaults to
      * <code>Gravity.LEFT | Gravity.TOP</code>.
      *
+     * <p>Note that since RelativeLayout considers the positioning of each child
+     * relative to one another to be significant, setting gravity will affect
+     * the positioning of all children as a single unit within the parent.
+     * This happens after children have been relatively positioned.</p>
+     *
      * @param gravity See {@link android.view.Gravity}
      *
      * @see #setHorizontalGravity(int)
diff --git a/core/java/android/widget/ScrollView.java b/core/java/android/widget/ScrollView.java
index d91eeb2..3ac4e80 100644
--- a/core/java/android/widget/ScrollView.java
+++ b/core/java/android/widget/ScrollView.java
@@ -583,7 +583,7 @@
                     final boolean canOverscroll = overscrollMode == OVER_SCROLL_ALWAYS ||
                             (overscrollMode == OVER_SCROLL_IF_CONTENT_SCROLLS && range > 0);
 
-                    if (canOverscroll && overScrollBy(0, deltaY, 0, mScrollY,
+                    if (overScrollBy(0, deltaY, 0, mScrollY,
                             0, range, 0, mOverscrollDistance, true)) {
                         // Break our velocity if we hit a scroll barrier.
                         mVelocityTracker.clear();
@@ -616,16 +616,12 @@
                     velocityTracker.computeCurrentVelocity(1000, mMaximumVelocity);
                     int initialVelocity = (int) velocityTracker.getYVelocity(mActivePointerId);
 
-                    final int bottom = getScrollRange();
-                    final int overscrollMode = getOverScrollMode();
-                    final boolean canOverscroll = overscrollMode == OVER_SCROLL_ALWAYS ||
-                            (overscrollMode == OVER_SCROLL_IF_CONTENT_SCROLLS && bottom > 0);
-
-                    if (getChildCount() > 0 && canOverscroll) {
+                    if (getChildCount() > 0) {
                         if ((Math.abs(initialVelocity) > mMinimumVelocity)) {
                             fling(-initialVelocity);
                         } else {
-                            if (mScroller.springBack(mScrollX, mScrollY, 0, 0, 0, bottom)) {
+                            if (mScroller.springBack(mScrollX, mScrollY, 0, 0, 0,
+                                    getScrollRange())) {
                                 invalidate();
                             }
                         }
@@ -734,16 +730,6 @@
         event.setScrollable(true);
     }
 
-    @Override
-    public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) {
-        // Do not append text content to scroll events they are fired frequently
-        // and the client has already received another event type with the text.
-        if (event.getEventType() != AccessibilityEvent.TYPE_VIEW_SCROLLED) {
-            super.dispatchPopulateAccessibilityEvent(event);
-        }
-        return false;
-    }
-
     private int getScrollRange() {
         int scrollRange = 0;
         if (getChildCount() > 0) {
diff --git a/core/java/android/widget/SearchView.java b/core/java/android/widget/SearchView.java
index f230031..6df80e4 100644
--- a/core/java/android/widget/SearchView.java
+++ b/core/java/android/widget/SearchView.java
@@ -92,6 +92,11 @@
     private static final boolean DBG = false;
     private static final String LOG_TAG = "SearchView";
 
+    /**
+     * Private constant for removing the microphone in the keyboard.
+     */
+    private static final String IME_OPTION_NO_MICROPHONE = "nm";
+
     private OnQueryTextListener mOnQueryChangeListener;
     private OnCloseListener mOnCloseListener;
     private OnFocusChangeListener mOnQueryTextFocusChangeListener;
@@ -120,6 +125,7 @@
     private CharSequence mOldQueryText;
     private CharSequence mUserQuery;
     private boolean mExpandedInActionView;
+    private int mCollapsedImeOptions;
 
     private SearchableInfo mSearchable;
     private Bundle mAppSearchData;
@@ -255,7 +261,7 @@
         mQueryTextView.setOnItemClickListener(mOnItemClickListener);
         mQueryTextView.setOnItemSelectedListener(mOnItemSelectedListener);
         mQueryTextView.setOnKeyListener(mTextKeyListener);
-        // Inform any listener of focus changes 
+        // Inform any listener of focus changes
         mQueryTextView.setOnFocusChangeListener(new OnFocusChangeListener() {
 
             public void onFocusChange(View v, boolean hasFocus) {
@@ -334,6 +340,12 @@
         }
         // Cache the voice search capability
         mVoiceButtonEnabled = hasVoiceSearch();
+
+        if (mVoiceButtonEnabled) {
+            // Disable the microphone on the keyboard, as a mic is displayed near the text box
+            // TODO: use imeOptions to disable voice input when the new API will be available
+            mQueryTextView.setPrivateImeOptions(IME_OPTION_NO_MICROPHONE);
+        }
         updateViewsVisibility(isIconified());
     }
 
@@ -1166,6 +1178,7 @@
         clearFocus();
         updateViewsVisibility(true);
         mQueryTextView.setText("");
+        mQueryTextView.setImeOptions(mCollapsedImeOptions);
         mExpandedInActionView = false;
     }
 
@@ -1175,6 +1188,8 @@
     @Override
     public void onActionViewExpanded() {
         mExpandedInActionView = true;
+        mCollapsedImeOptions = mQueryTextView.getImeOptions();
+        mQueryTextView.setImeOptions(mCollapsedImeOptions | EditorInfo.IME_FLAG_NO_FULLSCREEN);
         setIconified(false);
     }
 
diff --git a/core/java/android/widget/ShareActionProvider.java b/core/java/android/widget/ShareActionProvider.java
index 6e29024..bb27b73 100644
--- a/core/java/android/widget/ShareActionProvider.java
+++ b/core/java/android/widget/ShareActionProvider.java
@@ -169,6 +169,13 @@
         mContext.getTheme().resolveAttribute(R.attr.actionModeShareDrawable, outTypedValue, true);
         Drawable drawable = mContext.getResources().getDrawable(outTypedValue.resourceId);
         activityChooserView.setExpandActivityOverflowButtonDrawable(drawable);
+        activityChooserView.setProvider(this);
+
+        // Set content description.
+        activityChooserView.setDefaultActionButtonContentDescription(
+                R.string.shareactionprovider_share_with_application);
+        activityChooserView.setExpandActivityOverflowButtonContentDescription(
+                R.string.shareactionprovider_share_with);
 
         return activityChooserView;
     }
diff --git a/core/java/android/widget/Space.java b/core/java/android/widget/Space.java
index d7b2ec2..bb53a77 100644
--- a/core/java/android/widget/Space.java
+++ b/core/java/android/widget/Space.java
@@ -32,20 +32,24 @@
      */
     public Space(Context context, AttributeSet attrs, int defStyle) {
         super(context, attrs, defStyle);
+        if (getVisibility() == VISIBLE) {
+            setVisibility(INVISIBLE);
+        }
     }
 
     /**
      * {@inheritDoc}
      */
     public Space(Context context, AttributeSet attrs) {
-        super(context, attrs);
+        this(context, attrs, 0);
     }
 
     /**
      * {@inheritDoc}
      */
     public Space(Context context) {
-        super(context);
+        //noinspection NullableProblems
+        this(context, null);
     }
 
     /**
@@ -58,22 +62,6 @@
     }
 
     /**
-     * {@inheritDoc}
-     */
-    @Override
-    public ViewGroup.LayoutParams getLayoutParams() {
-        return super.getLayoutParams();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void setLayoutParams(ViewGroup.LayoutParams params) {
-        super.setLayoutParams(params);
-    }
-
-    /**
      * Compare to: {@link View#getDefaultSize(int, int)}
      * If mode is AT_MOST, return the child size instead of the parent size
      * (unless it is too big).
diff --git a/core/java/android/widget/SpellChecker.java b/core/java/android/widget/SpellChecker.java
index 14cbf6f..ce17184 100644
--- a/core/java/android/widget/SpellChecker.java
+++ b/core/java/android/widget/SpellChecker.java
@@ -22,7 +22,6 @@
 import android.text.Spanned;
 import android.text.style.SpellCheckSpan;
 import android.text.style.SuggestionSpan;
-import android.util.Log;
 import android.view.textservice.SpellCheckerSession;
 import android.view.textservice.SpellCheckerSession.SpellCheckerSessionListener;
 import android.view.textservice.SuggestionsInfo;
@@ -31,8 +30,6 @@
 
 import com.android.internal.util.ArrayUtils;
 
-import java.util.Locale;
-
 
 /**
  * Helper class for TextView. Bridge between the TextView and the Dictionnary service.
@@ -40,23 +37,21 @@
  * @hide
  */
 public class SpellChecker implements SpellCheckerSessionListener {
-    private static final String LOG_TAG = "SpellChecker";
-    private static final boolean DEBUG_SPELL_CHECK = false;
-    private static final int DELAY_BEFORE_SPELL_CHECK = 400; // milliseconds
 
     private final TextView mTextView;
 
     final SpellCheckerSession mSpellCheckerSession;
     final int mCookie;
 
-    // Paired arrays for the (id, spellCheckSpan) pair. mIndex is the next available position
+    // Paired arrays for the (id, spellCheckSpan) pair. A negative id means the associated
+    // SpellCheckSpan has been recycled and can be-reused.
+    // May contain null SpellCheckSpans after a given index.
     private int[] mIds;
     private SpellCheckSpan[] mSpellCheckSpans;
-    // The actual current number of used slots in the above arrays
+    // The mLength first elements of the above arrays have been initialized
     private int mLength;
 
     private int mSpanSequenceCounter = 0;
-    private Runnable mChecker;
 
     public SpellChecker(TextView textView) {
         mTextView = textView;
@@ -64,84 +59,77 @@
         final TextServicesManager textServicesManager = (TextServicesManager) textView.getContext().
                 getSystemService(Context.TEXT_SERVICES_MANAGER_SERVICE);
         mSpellCheckerSession = textServicesManager.newSpellCheckerSession(
-                null /* not currently used by the textServicesManager */, Locale.getDefault(),
+                null /* not currently used by the textServicesManager */,
+                null /* null locale means use the languages defined in Settings
+                        if referToSpellCheckerLanguageSettings is true */,
                 this, true /* means use the languages defined in Settings */);
         mCookie = hashCode();
 
         // Arbitrary: 4 simultaneous spell check spans. Will automatically double size on demand
-        final int size = ArrayUtils.idealObjectArraySize(4);
+        final int size = ArrayUtils.idealObjectArraySize(1);
         mIds = new int[size];
         mSpellCheckSpans = new SpellCheckSpan[size];
         mLength = 0;
     }
 
-    public void addSpellCheckSpan(SpellCheckSpan spellCheckSpan) {
-        int length = mIds.length;
-        if (mLength >= length) {
-            final int newSize = length * 2;
+    /**
+     * @return true if a spell checker session has successfully been created. Returns false if not,
+     * for instance when spell checking has been disabled in settings.
+     */
+    public boolean isSessionActive() {
+        return mSpellCheckerSession != null;
+    }
+
+    public void closeSession() {
+        if (mSpellCheckerSession != null) {
+            mSpellCheckerSession.close();
+        }
+    }
+
+    private int nextSpellCheckSpanIndex() {
+        for (int i = 0; i < mLength; i++) {
+            if (mIds[i] < 0) return i;
+        }
+
+        if (mLength == mSpellCheckSpans.length) {
+            final int newSize = mLength * 2;
             int[] newIds = new int[newSize];
             SpellCheckSpan[] newSpellCheckSpans = new SpellCheckSpan[newSize];
-            System.arraycopy(mIds, 0, newIds, 0, length);
-            System.arraycopy(mSpellCheckSpans, 0, newSpellCheckSpans, 0, length);
+            System.arraycopy(mIds, 0, newIds, 0, mLength);
+            System.arraycopy(mSpellCheckSpans, 0, newSpellCheckSpans, 0, mLength);
             mIds = newIds;
             mSpellCheckSpans = newSpellCheckSpans;
         }
 
-        mIds[mLength] = mSpanSequenceCounter++;
-        mSpellCheckSpans[mLength] = spellCheckSpan;
+        mSpellCheckSpans[mLength] = new SpellCheckSpan();
         mLength++;
+        return mLength - 1;
+    }
 
-        if (DEBUG_SPELL_CHECK) {
-            final Editable mText = (Editable) mTextView.getText();
-            int start = mText.getSpanStart(spellCheckSpan);
-            int end = mText.getSpanEnd(spellCheckSpan);
-            if (start >= 0 && end >= 0) {
-                Log.d(LOG_TAG, "Schedule check " + mText.subSequence(start, end));
-            } else {
-                Log.d(LOG_TAG, "Schedule check   EMPTY!");
-            }
-        }
-
-        scheduleSpellCheck();
+    public void addSpellCheckSpan(int wordStart, int wordEnd) {
+        final int index = nextSpellCheckSpanIndex();
+        ((Editable) mTextView.getText()).setSpan(mSpellCheckSpans[index], wordStart, wordEnd,
+                Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+        mIds[index] = mSpanSequenceCounter++;
     }
 
     public void removeSpellCheckSpan(SpellCheckSpan spellCheckSpan) {
         for (int i = 0; i < mLength; i++) {
             if (mSpellCheckSpans[i] == spellCheckSpan) {
-                removeAtIndex(i);
+                mSpellCheckSpans[i].setSpellCheckInProgress(false);
+                mIds[i] = -1;
                 return;
             }
         }
     }
 
-    private void removeAtIndex(int i) {
-        System.arraycopy(mIds, i + 1, mIds, i, mLength - i - 1);
-        System.arraycopy(mSpellCheckSpans, i + 1, mSpellCheckSpans, i, mLength - i - 1);
-        mLength--;
-    }
-
     public void onSelectionChanged() {
-        scheduleSpellCheck();
+        spellCheck();
     }
 
-    private void scheduleSpellCheck() {
-        if (mLength == 0) return;
+    public void spellCheck() {
         if (mSpellCheckerSession == null) return;
 
-        if (mChecker != null) {
-            mTextView.removeCallbacks(mChecker);
-        }
-        if (mChecker == null) {
-            mChecker = new Runnable() {
-                public void run() {
-                  spellCheck();
-                }
-            };
-        }
-        mTextView.postDelayed(mChecker, DELAY_BEFORE_SPELL_CHECK);
-    }
-
-    private void spellCheck() {
         final Editable editable = (Editable) mTextView.getText();
         final int selectionStart = Selection.getSelectionStart(editable);
         final int selectionEnd = Selection.getSelectionEnd(editable);
@@ -150,8 +138,7 @@
         int textInfosCount = 0;
 
         for (int i = 0; i < mLength; i++) {
-            SpellCheckSpan spellCheckSpan = mSpellCheckSpans[i];
-
+            final SpellCheckSpan spellCheckSpan = mSpellCheckSpans[i];
             if (spellCheckSpan.isSpellCheckInProgress()) continue;
 
             final int start = editable.getSpanStart(spellCheckSpan);
@@ -160,7 +147,7 @@
             // Do not check this word if the user is currently editing it
             if (start >= 0 && end > start && (selectionEnd < start || selectionStart > end)) {
                 final String word = editable.subSequence(start, end).toString();
-                spellCheckSpan.setSpellCheckInProgress();
+                spellCheckSpan.setSpellCheckInProgress(true);
                 textInfos[textInfosCount++] = new TextInfo(word, mCookie, mIds[i]);
             }
         }
@@ -182,61 +169,89 @@
         for (int i = 0; i < results.length; i++) {
             SuggestionsInfo suggestionsInfo = results[i];
             if (suggestionsInfo.getCookie() != mCookie) continue;
-
             final int sequenceNumber = suggestionsInfo.getSequence();
-            // Starting from the end, to limit the number of array copy while removing
-            for (int j = mLength - 1; j >= 0; j--) {
+
+            for (int j = 0; j < mLength; j++) {
                 if (sequenceNumber == mIds[j]) {
-                    SpellCheckSpan spellCheckSpan = mSpellCheckSpans[j];
                     final int attributes = suggestionsInfo.getSuggestionsAttributes();
                     boolean isInDictionary =
                             ((attributes & SuggestionsInfo.RESULT_ATTR_IN_THE_DICTIONARY) > 0);
                     boolean looksLikeTypo =
                             ((attributes & SuggestionsInfo.RESULT_ATTR_LOOKS_LIKE_TYPO) > 0);
 
-                    if (DEBUG_SPELL_CHECK) {
-                        final int start = editable.getSpanStart(spellCheckSpan);
-                        final int end = editable.getSpanEnd(spellCheckSpan);
-                        Log.d(LOG_TAG, "Result sequence=" + suggestionsInfo.getSequence() + " " +
-                                editable.subSequence(start, end) +
-                                "\t" + (isInDictionary?"IN_DICT" : "NOT_DICT") +
-                                "\t" + (looksLikeTypo?"TYPO" : "NOT_TYPO"));
-                    }
-
+                    SpellCheckSpan spellCheckSpan = mSpellCheckSpans[j];
                     if (!isInDictionary && looksLikeTypo) {
-                        String[] suggestions = getSuggestions(suggestionsInfo);
-                        if (suggestions.length > 0) {
-                            SuggestionSpan suggestionSpan = new SuggestionSpan(
-                                    mTextView.getContext(), suggestions,
-                                    SuggestionSpan.FLAG_EASY_CORRECT |
-                                    SuggestionSpan.FLAG_MISSPELLED);
-                            final int start = editable.getSpanStart(spellCheckSpan);
-                            final int end = editable.getSpanEnd(spellCheckSpan);
-                            editable.setSpan(suggestionSpan, start, end,
-                                    Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
-                            // TODO limit to the word rectangle region
-                            mTextView.invalidate();
-
-                            if (DEBUG_SPELL_CHECK) {
-                                String suggestionsString = "";
-                                for (String s : suggestions) { suggestionsString += s + "|"; }
-                                Log.d(LOG_TAG, "  Suggestions for " + sequenceNumber + " " +
-                                    editable.subSequence(start, end)+ "  " + suggestionsString);
-                            }
-                        }
+                        createMisspelledSuggestionSpan(editable, suggestionsInfo, spellCheckSpan);
                     }
                     editable.removeSpan(spellCheckSpan);
+                    break;
                 }
             }
         }
     }
 
-    private static String[] getSuggestions(SuggestionsInfo suggestionsInfo) {
-        final int len = Math.max(0, suggestionsInfo.getSuggestionsCount());
-        String[] suggestions = new String[len];
-        for (int j = 0; j < len; ++j) {
-            suggestions[j] = suggestionsInfo.getSuggestionAt(j);
+    private void createMisspelledSuggestionSpan(Editable editable, SuggestionsInfo suggestionsInfo,
+            SpellCheckSpan spellCheckSpan) {
+        final int start = editable.getSpanStart(spellCheckSpan);
+        final int end = editable.getSpanEnd(spellCheckSpan);
+
+        // Other suggestion spans may exist on that region, with identical suggestions, filter
+        // them out to avoid duplicates. First, filter suggestion spans on that exact region.
+        SuggestionSpan[] suggestionSpans = editable.getSpans(start, end, SuggestionSpan.class);
+        final int length = suggestionSpans.length;
+        for (int i = 0; i < length; i++) {
+            final int spanStart = editable.getSpanStart(suggestionSpans[i]);
+            final int spanEnd = editable.getSpanEnd(suggestionSpans[i]);
+            if (spanStart != start || spanEnd != end) {
+                suggestionSpans[i] = null;
+                break;
+            }
         }
-        return suggestions;
+
+        final int suggestionsCount = suggestionsInfo.getSuggestionsCount();
+        String[] suggestions;
+        if (suggestionsCount <= 0) {
+            // A negative suggestion count is possible
+            suggestions = ArrayUtils.emptyArray(String.class);
+        } else {
+            int numberOfSuggestions = 0;
+            suggestions = new String[suggestionsCount];
+
+            for (int i = 0; i < suggestionsCount; i++) {
+                final String spellSuggestion = suggestionsInfo.getSuggestionAt(i);
+                if (spellSuggestion == null) break;
+                boolean suggestionFound = false;
+
+                for (int j = 0; j < length && !suggestionFound; j++) {
+                    if (suggestionSpans[j] == null) break;
+
+                    String[] suggests = suggestionSpans[j].getSuggestions();
+                    for (int k = 0; k < suggests.length; k++) {
+                        if (spellSuggestion.equals(suggests[k])) {
+                            // The suggestion is already provided by an other SuggestionSpan
+                            suggestionFound = true;
+                            break;
+                        }
+                    }
+                }
+
+                if (!suggestionFound) {
+                    suggestions[numberOfSuggestions++] = spellSuggestion;
+                }
+            }
+
+            if (numberOfSuggestions != suggestionsCount) {
+                String[] newSuggestions = new String[numberOfSuggestions];
+                System.arraycopy(suggestions, 0, newSuggestions, 0, numberOfSuggestions);
+                suggestions = newSuggestions;
+            }
+        }
+
+        SuggestionSpan suggestionSpan = new SuggestionSpan(mTextView.getContext(), suggestions,
+                SuggestionSpan.FLAG_EASY_CORRECT | SuggestionSpan.FLAG_MISSPELLED);
+        editable.setSpan(suggestionSpan, start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+
+        // TODO limit to the word rectangle region
+        mTextView.invalidate();
     }
 }
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index e1f94ac..68de2e9 100644
--- a/core/java/android/widget/TextView.java
+++ b/core/java/android/widget/TextView.java
@@ -353,6 +353,8 @@
     // Set when this TextView gained focus with some text selected. Will start selection mode.
     private boolean mCreatedWithASelection = false;
 
+    // Size of the window for the word iterator, should be greater than the longest word's length
+    private static final int WORD_ITERATOR_WINDOW_WIDTH = 50;
     private WordIterator mWordIterator;
 
     private SpellChecker mSpellChecker;
@@ -2937,11 +2939,19 @@
 
                 Spannable sp = new SpannableString(mText);
 
-                for (ChangeWatcher cw :
-                     sp.getSpans(0, sp.length(), ChangeWatcher.class)) {
+                for (ChangeWatcher cw : sp.getSpans(0, sp.length(), ChangeWatcher.class)) {
                     sp.removeSpan(cw);
                 }
 
+                SuggestionSpan[] suggestionSpans = sp.getSpans(0, sp.length(), SuggestionSpan.class);
+                for (int i = 0; i < suggestionSpans.length; i++) {
+                    int flags = suggestionSpans[i].getFlags();
+                    if ((flags & SuggestionSpan.FLAG_EASY_CORRECT) != 0
+                            && (flags & SuggestionSpan.FLAG_MISSPELLED) != 0) {
+                        sp.removeSpan(suggestionSpans[i]);
+                    }
+                }
+
                 sp.removeSpan(mSuggestionRangeSpan);
 
                 ss.text = sp;
@@ -3250,7 +3260,8 @@
         sendOnTextChanged(text, 0, oldlen, textLength);
         onTextChanged(text, 0, oldlen, textLength);
 
-        if (startSpellCheck) {
+        if (startSpellCheck && mSpellChecker != null) {
+            // This view has to have been previously attached for mSpellChecker to exist  
             updateSpellCheckSpans(0, textLength);
         }
 
@@ -4412,6 +4423,8 @@
 
         // Resolve drawables as the layout direction has been resolved
         resolveDrawables();
+        
+        updateSpellCheckSpans(0, mText.length());
     }
 
     @Override
@@ -4443,6 +4456,13 @@
         hideControllers();
 
         resetResolvedDrawables();
+
+        if (mSpellChecker != null) {
+            mSpellChecker.closeSession();
+            // Forces the creation of a new SpellChecker next time this window is created.
+            // Will handle the cases where the settings has been changed in the meantime.
+            mSpellChecker = null;
+        }
     }
 
     @Override
@@ -5526,7 +5546,7 @@
     @Override public boolean onCheckIsTextEditor() {
         return mInputType != EditorInfo.TYPE_NULL;
     }
-    
+
     @Override public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
         if (onCheckIsTextEditor() && isEnabled()) {
             if (mInputMethodState == null) {
@@ -6130,7 +6150,7 @@
         TruncateAt effectiveEllipsize = mEllipsize;
         if (mEllipsize == TruncateAt.MARQUEE &&
                 mMarqueeFadeMode == MARQUEE_FADE_SWITCH_SHOW_ELLIPSIS) {
-            effectiveEllipsize = TruncateAt.END;
+            effectiveEllipsize = TruncateAt.END_SMALL;
         }
 
         if (mTextDir == null) {
@@ -7481,9 +7501,6 @@
      */
     protected void onSelectionChanged(int selStart, int selEnd) {
         sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_TEXT_SELECTION_CHANGED);
-        if (mSpellChecker != null) {
-            mSpellChecker.onSelectionChanged();
-        }
     }
 
     /**
@@ -7542,6 +7559,8 @@
         for (int i = 0; i < length; i++) {
             final int s = text.getSpanStart(spans[i]);
             final int e = text.getSpanEnd(spans[i]);
+            // Spans that are adjacent to the edited region will be handled in
+            // updateSpellCheckSpans. Result depends on what will be added (space or text)
             if (e == start || s == end) break;
             text.removeSpan(spans[i]);
         }
@@ -7595,13 +7614,10 @@
             }
             ims.mChangedDelta += after-before;
         }
-        
+
         sendOnTextChanged(buffer, start, before, after);
         onTextChanged(buffer, start, before, after);
 
-        // The WordIterator text change listener may be called after this one.
-        // Make sure this changed text is rescanned before the iterator is used on it.
-        getWordIterator().forceUpdate();
         updateSpellCheckSpans(start, start + after);
 
         // Hide the controllers if the amount of content changed
@@ -7724,12 +7740,8 @@
             }
         }
 
-        if (what instanceof SpellCheckSpan) {
-            if (newStart < 0) {
-                getSpellChecker().removeSpellCheckSpan((SpellCheckSpan) what);
-            } else if (oldStart < 0) {
-                getSpellChecker().addSpellCheckSpan((SpellCheckSpan) what);
-            }
+        if (newStart < 0 && what instanceof SpellCheckSpan) {
+            getSpellChecker().removeSpellCheckSpan((SpellCheckSpan) what);
         }
     }
 
@@ -7737,78 +7749,98 @@
      * Create new SpellCheckSpans on the modified region.
      */
     private void updateSpellCheckSpans(int start, int end) {
-        if (!(mText instanceof Editable) || !isSuggestionsEnabled()) return;
+        if (!isTextEditable() || !isSuggestionsEnabled() || !getSpellChecker().isSessionActive())
+            return;
         Editable text = (Editable) mText;
 
-        WordIterator wordIterator = getWordIterator();
-        wordIterator.setCharSequence(text);
+        final int shift = prepareWordIterator(start, end);
+        final int shiftedStart = start - shift;
+        final int shiftedEnd = end - shift;
 
         // Move back to the beginning of the current word, if any
-        int wordStart = wordIterator.preceding(start);
+        int wordStart = mWordIterator.preceding(shiftedStart);
         int wordEnd;
         if (wordStart == BreakIterator.DONE) {
-            wordEnd = wordIterator.following(start);
+            wordEnd = mWordIterator.following(shiftedStart);
             if (wordEnd != BreakIterator.DONE) {
-                wordStart = wordIterator.getBeginning(wordEnd);
+                wordStart = mWordIterator.getBeginning(wordEnd);
             }
         } else {
-            wordEnd = wordIterator.getEnd(wordStart);
+            wordEnd = mWordIterator.getEnd(wordStart);
         }
         if (wordEnd == BreakIterator.DONE) {
             return;
         }
 
+        // We need to expand by one character because we want to include the spans that end/start
+        // at position start/end respectively.
+        SpellCheckSpan[] spellCheckSpans = text.getSpans(start - 1, end + 1, SpellCheckSpan.class);
+        SuggestionSpan[] suggestionSpans = text.getSpans(start - 1, end + 1, SuggestionSpan.class);
+        final int numberOfSpellCheckSpans = spellCheckSpans.length;
+
         // Iterate over the newly added text and schedule new SpellCheckSpans
-        while (wordStart <= end) {
-            if (wordEnd >= start) {
-                // A word across the interval boundaries must remove boundary edition spans
-                if (wordStart < start && wordEnd > start) {
-                    removeEditionSpansAt(start, text);
+        while (wordStart <= shiftedEnd) {
+            if (wordEnd >= shiftedStart && wordEnd > wordStart) {
+                // A new word has been created across the interval boundaries. Remove previous spans
+                if (wordStart < shiftedStart && wordEnd > shiftedStart) {
+                    removeSpansAt(start, spellCheckSpans, text);
+                    removeSpansAt(start, suggestionSpans, text);
                 }
 
-                if (wordStart < end && wordEnd > end) {
-                    removeEditionSpansAt(end, text);
+                if (wordStart < shiftedEnd && wordEnd > shiftedEnd) {
+                    removeSpansAt(end, spellCheckSpans, text);
+                    removeSpansAt(end, suggestionSpans, text);
                 }
 
                 // Do not create new boundary spans if they already exist
                 boolean createSpellCheckSpan = true;
-                if (wordEnd == start) {
-                    SpellCheckSpan[] spellCheckSpans = text.getSpans(start, start,
-                            SpellCheckSpan.class);
-                    if (spellCheckSpans.length > 0) createSpellCheckSpan = false;
+                if (wordEnd == shiftedStart) {
+                    for (int i = 0; i < numberOfSpellCheckSpans; i++) {
+                        final int spanEnd = text.getSpanEnd(spellCheckSpans[i]);
+                        if (spanEnd == start) {
+                            createSpellCheckSpan = false;
+                            break;
+                        }
+                    }
                 }
 
-                if (wordStart == end) {
-                    SpellCheckSpan[] spellCheckSpans = text.getSpans(end, end,
-                            SpellCheckSpan.class);
-                    if (spellCheckSpans.length > 0) createSpellCheckSpan = false;
+                if (wordStart == shiftedEnd) {
+                    for (int i = 0; i < numberOfSpellCheckSpans; i++) {
+                        final int spanStart = text.getSpanStart(spellCheckSpans[i]);
+                        if (spanStart == end) {
+                            createSpellCheckSpan = false;
+                            break;
+                        }
+                    }
                 }
 
                 if (createSpellCheckSpan) {
-                    text.setSpan(new SpellCheckSpan(), wordStart, wordEnd,
-                            Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+                    mSpellChecker.addSpellCheckSpan(wordStart + shift, wordEnd + shift);
                 }
             }
 
             // iterate word by word
-            wordEnd = wordIterator.following(wordEnd);
-            if (wordEnd == BreakIterator.DONE) return;
-            wordStart = wordIterator.getBeginning(wordEnd);
+            wordEnd = mWordIterator.following(wordEnd);
+            if (wordEnd == BreakIterator.DONE) break;
+            wordStart = mWordIterator.getBeginning(wordEnd);
             if (wordStart == BreakIterator.DONE) {
-                Log.e(LOG_TAG, "Unable to find word beginning from " + wordEnd + "in " + mText);
-                return;
+                Log.e(LOG_TAG, "No word beginning from " + (wordEnd + shift) + "in " + mText);
+                break;
             }
         }
+
+        mSpellChecker.spellCheck();
     }
 
-    private static void removeEditionSpansAt(int offset, Editable text) {
-        SuggestionSpan[] suggestionSpans = text.getSpans(offset, offset, SuggestionSpan.class);
-        for (int i = 0; i < suggestionSpans.length; i++) {
-            text.removeSpan(suggestionSpans[i]);
-        }
-        SpellCheckSpan[] spellCheckSpans = text.getSpans(offset, offset, SpellCheckSpan.class);
-        for (int i = 0; i < spellCheckSpans.length; i++) {
-            text.removeSpan(spellCheckSpans[i]);
+    private static <T> void removeSpansAt(int offset, T[] spans, Editable text) {
+        final int length = spans.length;
+        for (int i = 0; i < length; i++) {
+            final T span = spans[i];
+            final int start = text.getSpanStart(span);
+            if (start > offset) continue;
+            final int end = text.getSpanEnd(span);
+            if (end < offset) continue;
+            text.removeSpan(span);
         }
     }
 
@@ -8369,6 +8401,10 @@
                 boolean selectAllGotFocus = mSelectAllOnFocus && didTouchFocusSelect();
                 hideControllers();
                 if (!selectAllGotFocus && mText.length() > 0) {
+                    if (mSpellChecker != null) {
+                        // When the cursor moves, the word that was typed may need spell check
+                        mSpellChecker.onSelectionChanged();
+                    }
                     if (isCursorInsideEasyCorrectionSpan()) {
                         showSuggestions();
                     } else if (hasInsertionController()) {
@@ -8427,7 +8463,7 @@
                 int flags = suggestionSpans[i].getFlags();
                 if ((flags & SuggestionSpan.FLAG_EASY_CORRECT) != 0
                         && (flags & SuggestionSpan.FLAG_MISSPELLED) == 0) {
-                    flags = flags & ~SuggestionSpan.FLAG_EASY_CORRECT;
+                    flags &= ~SuggestionSpan.FLAG_EASY_CORRECT;
                     suggestionSpans[i].setFlags(flags);
                 }
             }
@@ -8889,31 +8925,68 @@
 
         // If a URLSpan (web address, email, phone...) is found at that position, select it.
         URLSpan[] urlSpans = ((Spanned) mText).getSpans(minOffset, maxOffset, URLSpan.class);
-        if (urlSpans.length == 1) {
-            URLSpan url = urlSpans[0];
-            selectionStart = ((Spanned) mText).getSpanStart(url);
-            selectionEnd = ((Spanned) mText).getSpanEnd(url);
+        if (urlSpans.length >= 1) {
+            URLSpan urlSpan = urlSpans[0];
+            selectionStart = ((Spanned) mText).getSpanStart(urlSpan);
+            selectionEnd = ((Spanned) mText).getSpanEnd(urlSpan);
         } else {
-            WordIterator wordIterator = getWordIterator();
-            // WordIterator handles text changes, this is a no-op if text in unchanged.
-            wordIterator.setCharSequence(mText);
+            final int shift = prepareWordIterator(minOffset, maxOffset);
 
-            selectionStart = wordIterator.getBeginning(minOffset);
+            selectionStart = mWordIterator.getBeginning(minOffset - shift);
             if (selectionStart == BreakIterator.DONE) return false;
+            selectionStart += shift;
 
-            selectionEnd = wordIterator.getEnd(maxOffset);
+            selectionEnd = mWordIterator.getEnd(maxOffset - shift);
             if (selectionEnd == BreakIterator.DONE) return false;
+            selectionEnd += shift;
+
+            if (selectionStart == selectionEnd) {
+                // Possible when the word iterator does not properly handle the text's language
+                long range = getCharRange(selectionStart);
+                selectionStart = extractRangeStartFromLong(range);
+                selectionEnd = extractRangeEndFromLong(range);
+            }
         }
 
         Selection.setSelection((Spannable) mText, selectionStart, selectionEnd);
-        return true;
+        return selectionEnd > selectionStart;
     }
 
-    WordIterator getWordIterator() {
+    private long getCharRange(int offset) {
+        final int textLength = mText.length();
+        if (offset + 1 < textLength) {
+            final char currentChar = mText.charAt(offset);
+            final char nextChar = mText.charAt(offset + 1);
+            if (Character.isSurrogatePair(currentChar, nextChar)) {
+                return packRangeInLong(offset,  offset + 2);
+            }
+        }
+        if (offset < textLength) {
+            return packRangeInLong(offset,  offset + 1);
+        }
+        if (offset - 2 >= 0) {
+            final char previousChar = mText.charAt(offset - 1);
+            final char previousPreviousChar = mText.charAt(offset - 2);
+            if (Character.isSurrogatePair(previousPreviousChar, previousChar)) {
+                return packRangeInLong(offset - 2,  offset);
+            }
+        }
+        if (offset - 1 >= 0) {
+            return packRangeInLong(offset - 1,  offset);
+        }
+        return packRangeInLong(offset,  offset);
+    }
+
+    int prepareWordIterator(int start, int end) {
         if (mWordIterator == null) {
             mWordIterator = new WordIterator();
         }
-        return mWordIterator;
+
+        final int windowStart = Math.max(0, start - WORD_ITERATOR_WINDOW_WIDTH);
+        final int windowEnd = Math.min(mText.length(), end + WORD_ITERATOR_WINDOW_WIDTH);
+        mWordIterator.setCharSequence(mText.subSequence(windowStart, windowEnd));
+
+        return windowStart;
     }
 
     private SpellChecker getSpellChecker() {
@@ -8944,13 +9017,7 @@
 
         final boolean isPassword = hasPasswordTransformationMethod();
         if (!isPassword) {
-            CharSequence text = getText();
-            if (TextUtils.isEmpty(text)) {
-                text = getHint();
-            }
-            if (TextUtils.isEmpty(text)) {
-                text = getContentDescription();
-            }
+            CharSequence text = getTextForAccessibility();
             if (!TextUtils.isEmpty(text)) {
                 event.getText().add(text);
             }
@@ -8977,7 +9044,7 @@
 
         final boolean isPassword = hasPasswordTransformationMethod();
         if (!isPassword) {
-            info.setText(getText());
+            info.setText(getTextForAccessibility());
         }
         info.setPassword(isPassword);
     }
@@ -8993,6 +9060,20 @@
         super.sendAccessibilityEvent(eventType);
     }
 
+    /**
+     * Gets the text reported for accessibility purposes. It is the
+     * text if not empty or the hint.
+     *
+     * @return The accessibility text.
+     */
+    private CharSequence getTextForAccessibility() {
+        CharSequence text = getText();
+        if (TextUtils.isEmpty(text)) {
+            text = getHint();
+        }
+        return text;
+    }
+
     void sendAccessibilityEventTypeViewTextChanged(CharSequence beforeText,
             int fromIndex, int removedCount, int addedCount) {
         AccessibilityEvent event =
@@ -9133,19 +9214,23 @@
                 return true;
 
             case ID_CUT:
-                setPrimaryClip(ClipData.newPlainText(null, mTransformed.subSequence(min, max)));
+                setPrimaryClip(ClipData.newPlainText(null, getTransformedText(min, max)));
                 ((Editable) mText).delete(min, max);
                 stopSelectionActionMode();
                 return true;
 
             case ID_COPY:
-                setPrimaryClip(ClipData.newPlainText(null, mTransformed.subSequence(min, max)));
+                setPrimaryClip(ClipData.newPlainText(null, getTransformedText(min, max)));
                 stopSelectionActionMode();
                 return true;
         }
         return false;
     }
 
+    private CharSequence getTransformedText(int start, int end) {
+        return removeSuggestionSpans(mTransformed.subSequence(start, end));
+    }
+
     /**
      * Prepare text so that there are not zero or two spaces at beginning and end of region defined
      * by [min, max] when replacing this region by paste.
@@ -9262,7 +9347,7 @@
                 // Start a drag
                 final int start = getSelectionStart();
                 final int end = getSelectionEnd();
-                CharSequence selectedText = mTransformed.subSequence(start, end);
+                CharSequence selectedText = getTransformedText(start, end);
                 ClipData data = ClipData.newPlainText(null, selectedText);
                 DragLocalState localState = new DragLocalState(this, start, end);
                 startDrag(data, getTextThumbnailBuilder(selectedText), localState, 0);
@@ -9277,7 +9362,7 @@
 
         // Start a new selection
         if (!handled) {
-            handled = startSelectionActionMode();
+            vibrate = handled = startSelectionActionMode();
         }
 
         if (vibrate) {
@@ -9425,8 +9510,8 @@
                 return false;
             }
 
-            int posX = mPositionX + positionX;
-            int posY = mPositionY + positionY;
+            int posX = mPositionX + positionX - getScrollX();
+            int posY = mPositionY + positionY - getScrollY();
 
             // Offset by 1 to take into account 0.5 and int rounding around getPrimaryHorizontal.
             return posX >= clip.left - 1 && posX <= clip.right + 1 &&
@@ -9558,6 +9643,8 @@
 
     private class SuggestionsPopupWindow extends PinnedPopupWindow implements OnItemClickListener {
         private static final int MAX_NUMBER_SUGGESTIONS = SuggestionSpan.SUGGESTIONS_MAX_SIZE;
+        private static final int ADD_TO_DICTIONARY = -1;
+        private static final int DELETE_TEXT = -2;
         private SuggestionInfo[] mSuggestionInfos;
         private int mNumberOfSuggestions;
         private boolean mCursorWasVisibleBeforeSuggestions;
@@ -9565,7 +9652,6 @@
         private final Comparator<SuggestionSpan> mSuggestionSpanComparator;
         private final HashMap<SuggestionSpan, Integer> mSpansLengths;
 
-
         private class CustomPopupWindow extends PopupWindow {
             public CustomPopupWindow(Context context, int defStyle) {
                 super(context, null, defStyle);
@@ -9577,9 +9663,8 @@
 
                 TextView.this.getPositionListener().removeSubscriber(SuggestionsPopupWindow.this);
 
-                if ((mText instanceof Spannable)) {
-                    ((Spannable) mText).removeSpan(mSuggestionRangeSpan);
-                }
+                // Safe cast since show() checks that mText is an Editable
+                ((Spannable) mText).removeSpan(mSuggestionRangeSpan);
 
                 setCursorVisible(mCursorWasVisibleBeforeSuggestions);
                 if (hasInsertionController()) {
@@ -9611,9 +9696,9 @@
             listView.setOnItemClickListener(this);
             mContentView = listView;
 
-            // Inflate the suggestion items once and for all. +1 for add to dictionary
-            mSuggestionInfos = new SuggestionInfo[MAX_NUMBER_SUGGESTIONS + 1];
-            for (int i = 0; i < MAX_NUMBER_SUGGESTIONS + 1; i++) {
+            // Inflate the suggestion items once and for all. + 2 for add to dictionary and delete
+            mSuggestionInfos = new SuggestionInfo[MAX_NUMBER_SUGGESTIONS + 2];
+            for (int i = 0; i < mSuggestionInfos.length; i++) {
                 mSuggestionInfos[i] = new SuggestionInfo();
             }
         }
@@ -9629,8 +9714,8 @@
             void removeMisspelledFlag() {
                 int suggestionSpanFlags = suggestionSpan.getFlags();
                 if ((suggestionSpanFlags & SuggestionSpan.FLAG_MISSPELLED) > 0) {
-                    suggestionSpanFlags &= ~(SuggestionSpan.FLAG_MISSPELLED);
-                    suggestionSpanFlags &= ~(SuggestionSpan.FLAG_EASY_CORRECT);
+                    suggestionSpanFlags &= ~SuggestionSpan.FLAG_MISSPELLED;
+                    suggestionSpanFlags &= ~SuggestionSpan.FLAG_EASY_CORRECT;
                     suggestionSpan.setFlags(suggestionSpanFlags);
                 }
             }
@@ -9664,7 +9749,19 @@
                             false);
                 }
 
-                textView.setText(mSuggestionInfos[position].text);
+                final SuggestionInfo suggestionInfo = mSuggestionInfos[position];
+                textView.setText(suggestionInfo.text);
+
+                if (suggestionInfo.suggestionIndex == ADD_TO_DICTIONARY) {
+                    textView.setCompoundDrawablesWithIntrinsicBounds(
+                            com.android.internal.R.drawable.ic_suggestions_add, 0, 0, 0);
+                } else if (suggestionInfo.suggestionIndex == DELETE_TEXT) {
+                    textView.setCompoundDrawablesWithIntrinsicBounds(
+                            com.android.internal.R.drawable.ic_suggestions_delete, 0, 0, 0);
+                } else {
+                    textView.setCompoundDrawables(null, null, null, null);
+                }
+
                 return textView;
             }
         }
@@ -9715,11 +9812,10 @@
         public void show() {
             if (!(mText instanceof Editable)) return;
 
-            if (updateSuggestions()) {
-                mCursorWasVisibleBeforeSuggestions = mCursorVisible;
-                setCursorVisible(false);
-                super.show();
-            }
+            updateSuggestions();
+            mCursorWasVisibleBeforeSuggestions = mCursorVisible;
+            setCursorVisible(false);
+            super.show();
         }
 
         @Override
@@ -9734,6 +9830,7 @@
             View view = null;
             for (int i = 0; i < mNumberOfSuggestions; i++) {
                 view = mSuggestionsAdapter.getView(i, view, mContentView);
+                view.getLayoutParams().width = LayoutParams.WRAP_CONTENT;
                 view.measure(horizontalMeasure, verticalMeasure);
                 width = Math.max(width, view.getMeasuredWidth());
             }
@@ -9774,7 +9871,7 @@
             super.hide();
         }
 
-        private boolean updateSuggestions() {
+        private void updateSuggestions() {
             Spannable spannable = (Spannable) TextView.this.mText;
             SuggestionSpan[] suggestionSpans = getSuggestionSpans();
 
@@ -9823,28 +9920,39 @@
                 highlightTextDifferences(mSuggestionInfos[i], spanUnionStart, spanUnionEnd);
             }
 
+            // Add to dictionary item is there a span with the misspelled flag
             if (misspelledSpan != null) {
                 final int misspelledStart = spannable.getSpanStart(misspelledSpan);
                 final int misspelledEnd = spannable.getSpanEnd(misspelledSpan);
                 if (misspelledStart >= 0 && misspelledEnd > misspelledStart) {
                     SuggestionInfo suggestionInfo = mSuggestionInfos[mNumberOfSuggestions];
                     suggestionInfo.suggestionSpan = misspelledSpan;
-                    suggestionInfo.suggestionIndex = -1;
+                    suggestionInfo.suggestionIndex = ADD_TO_DICTIONARY;
                     suggestionInfo.text.replace(0, suggestionInfo.text.length(),
                             getContext().getString(com.android.internal.R.string.addToDictionary));
+                    suggestionInfo.text.setSpan(suggestionInfo.highlightSpan, 0, 0,
+                            Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
 
                     mNumberOfSuggestions++;
                 }
             }
 
-            if (mNumberOfSuggestions == 0) return false;
+            // Delete item
+            SuggestionInfo suggestionInfo = mSuggestionInfos[mNumberOfSuggestions];
+            suggestionInfo.suggestionSpan = null;
+            suggestionInfo.suggestionIndex = DELETE_TEXT;
+            suggestionInfo.text.replace(0, suggestionInfo.text.length(),
+                    getContext().getString(com.android.internal.R.string.deleteText));
+            suggestionInfo.text.setSpan(suggestionInfo.highlightSpan, 0, 0,
+                    Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+            mNumberOfSuggestions++;
 
             if (mSuggestionRangeSpan == null) mSuggestionRangeSpan = new SuggestionRangeSpan();
             if (underlineColor == 0) {
                 // Fallback on the default highlight color when the first span does not provide one
                 mSuggestionRangeSpan.setBackgroundColor(mHighlightColor);
             } else {
-                final float BACKGROUND_TRANSPARENCY = 0.3f;
+                final float BACKGROUND_TRANSPARENCY = 0.4f;
                 final int newAlpha = (int) (Color.alpha(underlineColor) * BACKGROUND_TRANSPARENCY);
                 mSuggestionRangeSpan.setBackgroundColor(
                         (underlineColor & 0x00FFFFFF) + (newAlpha << 24));
@@ -9853,8 +9961,6 @@
                     Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
 
             mSuggestionsAdapter.notifyDataSetChanged();
-
-            return true;
         }
 
         private void highlightTextDifferences(SuggestionInfo suggestionInfo, int unionStart,
@@ -9867,89 +9973,109 @@
             suggestionInfo.suggestionStart = spanStart - unionStart;
             suggestionInfo.suggestionEnd = suggestionInfo.suggestionStart 
                     + suggestionInfo.text.length();
-            
-            suggestionInfo.text.clearSpans();
+
             suggestionInfo.text.setSpan(suggestionInfo.highlightSpan, 0,
                     suggestionInfo.text.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
 
             // Add the text before and after the span.
-            suggestionInfo.text.insert(0, mText.subSequence(unionStart, spanStart).toString());
-            suggestionInfo.text.append(mText.subSequence(spanEnd, unionEnd).toString());
+            suggestionInfo.text.insert(0, mText.toString().substring(unionStart, spanStart));
+            suggestionInfo.text.append(mText.toString().substring(spanEnd, unionEnd));
         }
 
         @Override
         public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
-            hide();
+            TextView textView = (TextView) view;
+            Editable editable = (Editable) mText;
 
-            if (view instanceof TextView) {
-                TextView textView = (TextView) view;
-                Editable editable = (Editable) mText;
+            SuggestionInfo suggestionInfo = mSuggestionInfos[position];
 
-                SuggestionInfo suggestionInfo = mSuggestionInfos[position];
-                final int spanStart = editable.getSpanStart(suggestionInfo.suggestionSpan);
-                final int spanEnd = editable.getSpanEnd(suggestionInfo.suggestionSpan);
-                if (spanStart < 0 || spanEnd < 0) return; // Span has been removed
-                final String originalText = mText.subSequence(spanStart, spanEnd).toString();
+            if (suggestionInfo.suggestionIndex == DELETE_TEXT) {
+                final int spanUnionStart = editable.getSpanStart(mSuggestionRangeSpan);
+                int spanUnionEnd = editable.getSpanEnd(mSuggestionRangeSpan);
+                // Do not leave two adjacent spaces after deletion, or one at beginning of text
+                if (spanUnionEnd < editable.length() &&
+                        Character.isSpaceChar(editable.charAt(spanUnionEnd)) &&
+                        (spanUnionStart == 0 ||
+                        Character.isSpaceChar(editable.charAt(spanUnionStart - 1)))) {
+                        spanUnionEnd = spanUnionEnd + 1;
+                }
+                editable.replace(spanUnionStart, spanUnionEnd, "");
+                hide();
+                return;
+            }
 
-                if (suggestionInfo.suggestionIndex < 0) {
-                    Intent intent = new Intent(Settings.ACTION_USER_DICTIONARY_INSERT);
-                    intent.putExtra("word", originalText);
-                    intent.setFlags(intent.getFlags() | Intent.FLAG_ACTIVITY_NEW_TASK);
-                    getContext().startActivity(intent);
-                    suggestionInfo.removeMisspelledFlag();
-                } else {
-                    // SuggestionSpans are removed by replace: save them before
-                    SuggestionSpan[] suggestionSpans = editable.getSpans(spanStart, spanEnd,
-                            SuggestionSpan.class);
-                    final int length = suggestionSpans.length;
-                    int[] suggestionSpansStarts = new int[length];
-                    int[] suggestionSpansEnds = new int[length];
-                    int[] suggestionSpansFlags = new int[length];
-                    for (int i = 0; i < length; i++) {
-                        final SuggestionSpan suggestionSpan = suggestionSpans[i];
-                        suggestionSpansStarts[i] = editable.getSpanStart(suggestionSpan);
-                        suggestionSpansEnds[i] = editable.getSpanEnd(suggestionSpan);
-                        suggestionSpansFlags[i] = editable.getSpanFlags(suggestionSpan);
-                    }
+            final int spanStart = editable.getSpanStart(suggestionInfo.suggestionSpan);
+            final int spanEnd = editable.getSpanEnd(suggestionInfo.suggestionSpan);
+            if (spanStart < 0 || spanEnd < 0) {
+                // Span has been removed
+                hide();
+                return;
+            }
+            final String originalText = mText.toString().substring(spanStart, spanEnd);
 
-                    final int suggestionStart = suggestionInfo.suggestionStart;
-                    final int suggestionEnd = suggestionInfo.suggestionEnd;
-                    final String suggestion = textView.getText().subSequence(
-                            suggestionStart, suggestionEnd).toString();
-                    editable.replace(spanStart, spanEnd, suggestion);
+            if (suggestionInfo.suggestionIndex == ADD_TO_DICTIONARY) {
+                Intent intent = new Intent(Settings.ACTION_USER_DICTIONARY_INSERT);
+                intent.putExtra("word", originalText);
+                intent.setFlags(intent.getFlags() | Intent.FLAG_ACTIVITY_NEW_TASK);
+                getContext().startActivity(intent);
+                // There is no way to know if the word was indeed added. Re-check.
+                editable.removeSpan(suggestionInfo.suggestionSpan);
+                updateSpellCheckSpans(spanStart, spanEnd);
+            } else {
+                // SuggestionSpans are removed by replace: save them before
+                SuggestionSpan[] suggestionSpans = editable.getSpans(spanStart, spanEnd,
+                        SuggestionSpan.class);
+                final int length = suggestionSpans.length;
+                int[] suggestionSpansStarts = new int[length];
+                int[] suggestionSpansEnds = new int[length];
+                int[] suggestionSpansFlags = new int[length];
+                for (int i = 0; i < length; i++) {
+                    final SuggestionSpan suggestionSpan = suggestionSpans[i];
+                    suggestionSpansStarts[i] = editable.getSpanStart(suggestionSpan);
+                    suggestionSpansEnds[i] = editable.getSpanEnd(suggestionSpan);
+                    suggestionSpansFlags[i] = editable.getSpanFlags(suggestionSpan);
+                }
 
-                    suggestionInfo.removeMisspelledFlag();
+                final int suggestionStart = suggestionInfo.suggestionStart;
+                final int suggestionEnd = suggestionInfo.suggestionEnd;
+                final String suggestion = textView.getText().subSequence(
+                        suggestionStart, suggestionEnd).toString();
+                editable.replace(spanStart, spanEnd, suggestion);
 
-                    // Notify source IME of the suggestion pick. Do this before swaping texts.
-                    if (!TextUtils.isEmpty(
-                            suggestionInfo.suggestionSpan.getNotificationTargetClassName())) {
-                        InputMethodManager imm = InputMethodManager.peekInstance();
+                suggestionInfo.removeMisspelledFlag();
+
+                // Notify source IME of the suggestion pick. Do this before swaping texts.
+                if (!TextUtils.isEmpty(
+                        suggestionInfo.suggestionSpan.getNotificationTargetClassName())) {
+                    InputMethodManager imm = InputMethodManager.peekInstance();
+                    if (imm != null) {
                         imm.notifySuggestionPicked(suggestionInfo.suggestionSpan, originalText,
                                 suggestionInfo.suggestionIndex);
                     }
-
-                    // Swap text content between actual text and Suggestion span
-                    String[] suggestions = suggestionInfo.suggestionSpan.getSuggestions();
-                    suggestions[suggestionInfo.suggestionIndex] = originalText;
-
-                    // Restore previous SuggestionSpans
-                    final int lengthDifference = suggestion.length() - (spanEnd - spanStart);
-                    for (int i = 0; i < length; i++) {
-                        // Only spans that include the modified region make sense after replacement
-                        // Spans partially included in the replaced region are removed, there is no
-                        // way to assign them a valid range after replacement
-                        if (suggestionSpansStarts[i] <= spanStart &&
-                                suggestionSpansEnds[i] >= spanEnd) {
-                            editable.setSpan(suggestionSpans[i], suggestionSpansStarts[i],
-                                    suggestionSpansEnds[i] + lengthDifference,
-                                    suggestionSpansFlags[i]);
-                        }
-                    }
-                    
-                    // Move cursor at the end of the replacement word
-                    Selection.setSelection(editable, spanEnd + lengthDifference);
                 }
+
+                // Swap text content between actual text and Suggestion span
+                String[] suggestions = suggestionInfo.suggestionSpan.getSuggestions();
+                suggestions[suggestionInfo.suggestionIndex] = originalText;
+
+                // Restore previous SuggestionSpans
+                final int lengthDifference = suggestion.length() - (spanEnd - spanStart);
+                for (int i = 0; i < length; i++) {
+                    // Only spans that include the modified region make sense after replacement
+                    // Spans partially included in the replaced region are removed, there is no
+                    // way to assign them a valid range after replacement
+                    if (suggestionSpansStarts[i] <= spanStart &&
+                            suggestionSpansEnds[i] >= spanEnd) {
+                        editable.setSpan(suggestionSpans[i], suggestionSpansStarts[i],
+                                suggestionSpansEnds[i] + lengthDifference, suggestionSpansFlags[i]);
+                    }
+                }
+
+                // Move cursor at the end of the replaced word
+                Selection.setSelection(editable, spanEnd + lengthDifference);
             }
+
+            hide();
         }
     }
 
@@ -10074,8 +10200,7 @@
 
         if (!hasSelection()) {
             // There may already be a selection on device rotation
-            boolean currentWordSelected = selectCurrentWord();
-            if (!currentWordSelected) {
+            if (!selectCurrentWord()) {
                 // No word found under cursor or text selection not permitted.
                 return false;
             }
@@ -10156,7 +10281,8 @@
 
         @Override
         public boolean onCreateActionMode(ActionMode mode, Menu menu) {
-            TypedArray styledAttributes = mContext.obtainStyledAttributes(R.styleable.Theme);
+            TypedArray styledAttributes = mContext.obtainStyledAttributes(
+                    com.android.internal.R.styleable.SelectionModeDrawables);
 
             boolean allowText = getContext().getResources().getBoolean(
                     com.android.internal.R.bool.config_allowActionMenuItemTextWithIcon);
@@ -10169,7 +10295,7 @@
             if (!allowText) {
                 // Provide an icon, text will not be displayed on smaller screens.
                 selectAllIconId = styledAttributes.getResourceId(
-                        R.styleable.Theme_actionModeSelectAllDrawable, 0);
+                        R.styleable.SelectionModeDrawables_actionModeSelectAllDrawable, 0);
             }
 
             menu.add(0, ID_SELECT_ALL, 0, com.android.internal.R.string.selectAll).
@@ -10181,7 +10307,7 @@
             if (canCut()) {
                 menu.add(0, ID_CUT, 0, com.android.internal.R.string.cut).
                     setIcon(styledAttributes.getResourceId(
-                            R.styleable.Theme_actionModeCutDrawable, 0)).
+                            R.styleable.SelectionModeDrawables_actionModeCutDrawable, 0)).
                     setAlphabeticShortcut('x').
                     setShowAsAction(
                             MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
@@ -10190,7 +10316,7 @@
             if (canCopy()) {
                 menu.add(0, ID_COPY, 0, com.android.internal.R.string.copy).
                     setIcon(styledAttributes.getResourceId(
-                            R.styleable.Theme_actionModeCopyDrawable, 0)).
+                            R.styleable.SelectionModeDrawables_actionModeCopyDrawable, 0)).
                     setAlphabeticShortcut('c').
                     setShowAsAction(
                             MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
@@ -10199,7 +10325,7 @@
             if (canPaste()) {
                 menu.add(0, ID_PASTE, 0, com.android.internal.R.string.paste).
                         setIcon(styledAttributes.getResourceId(
-                                R.styleable.Theme_actionModePasteDrawable, 0)).
+                                R.styleable.SelectionModeDrawables_actionModePasteDrawable, 0)).
                         setAlphabeticShortcut('v').
                         setShowAsAction(
                                 MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
@@ -10514,9 +10640,7 @@
 
         public abstract int getCurrentCursorOffset();
 
-        protected void updateSelection(int offset) {
-            updateDrawable();
-        }
+        protected abstract void updateSelection(int offset);
 
         public abstract void updatePosition(float x, float y);
 
@@ -10790,8 +10914,8 @@
 
         @Override
         public void updateSelection(int offset) {
-            super.updateSelection(offset);
             Selection.setSelection((Spannable) mText, offset, getSelectionEnd());
+            updateDrawable();
         }
 
         @Override
@@ -10832,8 +10956,8 @@
 
         @Override
         public void updateSelection(int offset) {
-            super.updateSelection(offset);
             Selection.setSelection((Spannable) mText, getSelectionStart(), offset);
+            updateDrawable();
         }
 
         @Override
@@ -11481,7 +11605,7 @@
     private static final RectF      sTempRect = new RectF();
 
     // XXX should be much larger
-    private static final int        VERY_WIDE = 16384;
+    private static final int        VERY_WIDE = 1024*1024;
 
     private static final int        BLINK = 500;
 
diff --git a/core/java/android/widget/TimePicker.java b/core/java/android/widget/TimePicker.java
index 7444d46..f52e773 100644
--- a/core/java/android/widget/TimePicker.java
+++ b/core/java/android/widget/TimePicker.java
@@ -237,9 +237,7 @@
         }
 
         // set the content descriptions
-        if (AccessibilityManager.getInstance(mContext).isEnabled()) {
-            setContentDescriptions();
-        }
+        setContentDescriptions();
     }
 
     @Override
diff --git a/core/java/android/widget/VideoView.java b/core/java/android/widget/VideoView.java
index 88a0e01..8e438ff 100644
--- a/core/java/android/widget/VideoView.java
+++ b/core/java/android/widget/VideoView.java
@@ -456,13 +456,6 @@
                     seekTo(mSeekWhenPrepared);
                 }
                 start();
-                if (mMediaController != null) {
-                    if (mMediaController.isShowing()) {
-                        // ensure the controller will get repositioned later
-                        mMediaController.hide();
-                    }
-                    mMediaController.show();
-                }
             }
         }
 
diff --git a/core/java/com/android/internal/policy/IFaceLockCallback.aidl b/core/java/com/android/internal/policy/IFaceLockCallback.aidl
index 1eadc41..add3f1c 100644
--- a/core/java/com/android/internal/policy/IFaceLockCallback.aidl
+++ b/core/java/com/android/internal/policy/IFaceLockCallback.aidl
@@ -21,5 +21,5 @@
 oneway interface IFaceLockCallback {
     void unlock();
     void cancel();
-    void sleepDevice();
+    void pokeWakelock();
 }
diff --git a/core/java/com/android/internal/util/ArrayUtils.java b/core/java/com/android/internal/util/ArrayUtils.java
index 159929b..3d22929 100644
--- a/core/java/com/android/internal/util/ArrayUtils.java
+++ b/core/java/com/android/internal/util/ArrayUtils.java
@@ -133,4 +133,13 @@
         }
         return false;
     }
+
+    public static boolean contains(int[] array, int value) {
+        for (int element : array) {
+            if (element == value) {
+                return true;
+            }
+        }
+        return false;
+    }
 }
diff --git a/core/java/com/android/internal/view/StandaloneActionMode.java b/core/java/com/android/internal/view/StandaloneActionMode.java
index ecda47e..edf4443 100644
--- a/core/java/com/android/internal/view/StandaloneActionMode.java
+++ b/core/java/com/android/internal/view/StandaloneActionMode.java
@@ -36,17 +36,19 @@
     private ActionMode.Callback mCallback;
     private WeakReference<View> mCustomView;
     private boolean mFinished;
+    private boolean mFocusable;
 
     private MenuBuilder mMenu;
 
     public StandaloneActionMode(Context context, ActionBarContextView view,
-            ActionMode.Callback callback) {
+            ActionMode.Callback callback, boolean isFocusable) {
         mContext = context;
         mContextView = view;
         mCallback = callback;
 
         mMenu = new MenuBuilder(context).setDefaultShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
         mMenu.setCallback(this);
+        mFocusable = isFocusable;
     }
 
     @Override
@@ -139,4 +141,8 @@
         invalidate();
         mContextView.showOverflowMenu();
     }
+
+    public boolean isUiFocusable() {
+        return mFocusable;
+    }
 }
diff --git a/core/java/com/android/internal/view/menu/ActionMenuPresenter.java b/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
index fba6a5a..aabea2c 100644
--- a/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
+++ b/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
@@ -24,6 +24,7 @@
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.util.SparseBooleanArray;
+import android.view.ActionProvider;
 import android.view.MenuItem;
 import android.view.SoundEffectConstants;
 import android.view.View;
@@ -40,7 +41,8 @@
 /**
  * MenuPresenter for building action menus as seen in the action bar and action modes.
  */
-public class ActionMenuPresenter extends BaseMenuPresenter {
+public class ActionMenuPresenter extends BaseMenuPresenter
+        implements ActionProvider.SubUiVisibilityListener {
     private static final String TAG = "ActionMenuPresenter";
 
     private View mOverflowButton;
@@ -187,8 +189,30 @@
     public void updateMenuView(boolean cleared) {
         super.updateMenuView(cleared);
 
-        final boolean hasOverflow = mReserveOverflow && mMenu != null &&
-                mMenu.getNonActionItems().size() > 0;
+        if (mMenu != null) {
+            final ArrayList<MenuItemImpl> actionItems = mMenu.getActionItems();
+            final int count = actionItems.size();
+            for (int i = 0; i < count; i++) {
+                final ActionProvider provider = actionItems.get(i).getActionProvider();
+                if (provider != null) {
+                    provider.setSubUiVisibilityListener(this);
+                }
+            }
+        }
+
+        final ArrayList<MenuItemImpl> nonActionItems = mMenu != null ?
+                mMenu.getNonActionItems() : null;
+
+        boolean hasOverflow = false;
+        if (mReserveOverflow && nonActionItems != null) {
+            final int count = nonActionItems.size();
+            if (count == 1) {
+                hasOverflow = !nonActionItems.get(0).isActionViewExpanded();
+            } else {
+                hasOverflow = count > 0;
+            }
+        }
+
         if (hasOverflow) {
             if (mOverflowButton == null) {
                 mOverflowButton = new OverflowMenuButton(mContext);
@@ -483,6 +507,16 @@
         }
     }
 
+    @Override
+    public void onSubUiVisibilityChanged(boolean isVisible) {
+        if (isVisible) {
+            // Not a submenu, but treat it like one.
+            super.onSubMenuSelected(null);
+        } else {
+            mMenu.close(false);
+        }
+    }
+
     private static class SavedState implements Parcelable {
         public int openSubMenuId;
 
@@ -590,7 +624,6 @@
         @Override
         public void onDismiss() {
             super.onDismiss();
-            mSubMenu.close();
             mActionButtonPopup = null;
             mOpenSubMenuId = 0;
         }
@@ -600,12 +633,17 @@
 
         @Override
         public boolean onOpenSubMenu(MenuBuilder subMenu) {
+            if (subMenu == null) return false;
+
             mOpenSubMenuId = ((SubMenuBuilder) subMenu).getItem().getItemId();
             return false;
         }
 
         @Override
         public void onCloseMenu(MenuBuilder menu, boolean allMenusAreClosing) {
+            if (menu instanceof SubMenuBuilder) {
+                ((SubMenuBuilder) menu).getRootMenu().close(false);
+            }
         }
     }
 
diff --git a/core/java/com/android/internal/view/menu/IconMenuPresenter.java b/core/java/com/android/internal/view/menu/IconMenuPresenter.java
index d1b1dae..24ddad6 100644
--- a/core/java/com/android/internal/view/menu/IconMenuPresenter.java
+++ b/core/java/com/android/internal/view/menu/IconMenuPresenter.java
@@ -187,7 +187,9 @@
 
         @Override
         public boolean onOpenSubMenu(MenuBuilder subMenu) {
-            mOpenSubMenuId = ((SubMenuBuilder) subMenu).getItem().getItemId();
+            if (subMenu != null) {
+                mOpenSubMenuId = ((SubMenuBuilder) subMenu).getItem().getItemId();
+            }
             return false;
         }
 
diff --git a/core/java/com/android/internal/view/menu/ListMenuPresenter.java b/core/java/com/android/internal/view/menu/ListMenuPresenter.java
index 0141427..a331bec 100644
--- a/core/java/com/android/internal/view/menu/ListMenuPresenter.java
+++ b/core/java/com/android/internal/view/menu/ListMenuPresenter.java
@@ -17,6 +17,7 @@
 package com.android.internal.view.menu;
 
 import android.content.Context;
+import android.database.DataSetObserver;
 import android.os.Bundle;
 import android.os.Parcelable;
 import android.util.SparseArray;
@@ -47,7 +48,7 @@
     int mItemLayoutRes;
 
     private Callback mCallback;
-    private MenuAdapter mAdapter;
+    MenuAdapter mAdapter;
 
     private int mId;
 
@@ -216,14 +217,29 @@
     }
 
     private class MenuAdapter extends BaseAdapter {
+        private int mExpandedIndex = -1;
+
+        public MenuAdapter() {
+            registerDataSetObserver(new ExpandedIndexObserver());
+            findExpandedIndex();
+        }
+
         public int getCount() {
             ArrayList<MenuItemImpl> items = mMenu.getNonActionItems();
-            return items.size() - mItemIndexOffset;
+            int count = items.size() - mItemIndexOffset;
+            if (mExpandedIndex < 0) {
+                return count;
+            }
+            return count - 1;
         }
 
         public MenuItemImpl getItem(int position) {
             ArrayList<MenuItemImpl> items = mMenu.getNonActionItems();
-            return items.get(position + mItemIndexOffset);
+            position += mItemIndexOffset;
+            if (mExpandedIndex >= 0 && position >= mExpandedIndex) {
+                position++;
+            }
+            return items.get(position);
         }
 
         public long getItemId(int position) {
@@ -241,5 +257,28 @@
             itemView.initialize(getItem(position), 0);
             return convertView;
         }
+
+        void findExpandedIndex() {
+            final MenuItemImpl expandedItem = mMenu.getExpandedItem();
+            if (expandedItem != null) {
+                final ArrayList<MenuItemImpl> items = mMenu.getNonActionItems();
+                final int count = items.size();
+                for (int i = 0; i < count; i++) {
+                    final MenuItemImpl item = items.get(i);
+                    if (item == expandedItem) {
+                        mExpandedIndex = i;
+                        return;
+                    }
+                }
+            }
+            mExpandedIndex = -1;
+        }
+    }
+
+    private class ExpandedIndexObserver extends DataSetObserver {
+        @Override
+        public void onChanged() {
+            mAdapter.findExpandedIndex();
+        }
     }
 }
diff --git a/core/java/com/android/internal/view/menu/MenuBuilder.java b/core/java/com/android/internal/view/menu/MenuBuilder.java
index c30e83b..9fbca82 100644
--- a/core/java/com/android/internal/view/menu/MenuBuilder.java
+++ b/core/java/com/android/internal/view/menu/MenuBuilder.java
@@ -1258,4 +1258,8 @@
         }
         return collapsed;
     }
+
+    public MenuItemImpl getExpandedItem() {
+        return mExpandedItem;
+    }
 }
diff --git a/core/java/com/android/internal/view/menu/MenuPopupHelper.java b/core/java/com/android/internal/view/menu/MenuPopupHelper.java
index 6265618..329b457 100644
--- a/core/java/com/android/internal/view/menu/MenuPopupHelper.java
+++ b/core/java/com/android/internal/view/menu/MenuPopupHelper.java
@@ -18,6 +18,7 @@
 
 import android.content.Context;
 import android.content.res.Resources;
+import android.database.DataSetObserver;
 import android.os.Parcelable;
 import android.view.KeyEvent;
 import android.view.LayoutInflater;
@@ -286,22 +287,45 @@
         return false;
     }
 
+    @Override
+    public int getId() {
+        return 0;
+    }
+
+    @Override
+    public Parcelable onSaveInstanceState() {
+        return null;
+    }
+
+    @Override
+    public void onRestoreInstanceState(Parcelable state) {
+    }
+
     private class MenuAdapter extends BaseAdapter {
         private MenuBuilder mAdapterMenu;
+        private int mExpandedIndex = -1;
 
         public MenuAdapter(MenuBuilder menu) {
             mAdapterMenu = menu;
+            registerDataSetObserver(new ExpandedIndexObserver());
+            findExpandedIndex();
         }
 
         public int getCount() {
             ArrayList<MenuItemImpl> items = mOverflowOnly ?
                     mAdapterMenu.getNonActionItems() : mAdapterMenu.getVisibleItems();
-            return items.size();
+            if (mExpandedIndex < 0) {
+                return items.size();
+            }
+            return items.size() - 1;
         }
 
         public MenuItemImpl getItem(int position) {
             ArrayList<MenuItemImpl> items = mOverflowOnly ?
                     mAdapterMenu.getNonActionItems() : mAdapterMenu.getVisibleItems();
+            if (mExpandedIndex >= 0 && position >= mExpandedIndex) {
+                position++;
+            }
             return items.get(position);
         }
 
@@ -323,19 +347,28 @@
             itemView.initialize(getItem(position), 0);
             return convertView;
         }
+
+        void findExpandedIndex() {
+            final MenuItemImpl expandedItem = mMenu.getExpandedItem();
+            if (expandedItem != null) {
+                final ArrayList<MenuItemImpl> items = mMenu.getNonActionItems();
+                final int count = items.size();
+                for (int i = 0; i < count; i++) {
+                    final MenuItemImpl item = items.get(i);
+                    if (item == expandedItem) {
+                        mExpandedIndex = i;
+                        return;
+                    }
+                }
+            }
+            mExpandedIndex = -1;
+        }
     }
 
-    @Override
-    public int getId() {
-        return 0;
-    }
-
-    @Override
-    public Parcelable onSaveInstanceState() {
-        return null;
-    }
-
-    @Override
-    public void onRestoreInstanceState(Parcelable state) {
+    private class ExpandedIndexObserver extends DataSetObserver {
+        @Override
+        public void onChanged() {
+            mAdapter.findExpandedIndex();
+        }
     }
 }
diff --git a/core/java/com/android/internal/widget/AbsActionBarView.java b/core/java/com/android/internal/widget/AbsActionBarView.java
index 6c11288..06f5158 100644
--- a/core/java/com/android/internal/widget/AbsActionBarView.java
+++ b/core/java/com/android/internal/widget/AbsActionBarView.java
@@ -35,6 +35,8 @@
     protected ActionMenuView mMenuView;
     protected ActionMenuPresenter mActionMenuPresenter;
     protected ActionBarContainer mSplitView;
+    protected boolean mSplitActionBar;
+    protected boolean mSplitWhenNarrow;
     protected int mContentHeight;
 
     protected Animator mVisibilityAnim;
@@ -66,11 +68,31 @@
                 com.android.internal.R.attr.actionBarStyle, 0);
         setContentHeight(a.getLayoutDimension(R.styleable.ActionBar_height, 0));
         a.recycle();
+        if (mSplitWhenNarrow) {
+            setSplitActionBar(getContext().getResources().getBoolean(
+                    com.android.internal.R.bool.split_action_bar_is_narrow));
+        }
         if (mActionMenuPresenter != null) {
             mActionMenuPresenter.onConfigurationChanged(newConfig);
         }
     }
 
+    /**
+     * Sets whether the bar should be split right now, no questions asked.
+     * @param split true if the bar should split
+     */
+    public void setSplitActionBar(boolean split) {
+        mSplitActionBar = split;
+    }
+
+    /**
+     * Sets whether the bar should split if we enter a narrow screen configuration.
+     * @param splitWhenNarrow true if the bar should check to split after a config change
+     */
+    public void setSplitWhenNarrow(boolean splitWhenNarrow) {
+        mSplitWhenNarrow = splitWhenNarrow;
+    }
+
     public void setContentHeight(int height) {
         mContentHeight = height;
         requestLayout();
diff --git a/core/java/com/android/internal/widget/ActionBarContextView.java b/core/java/com/android/internal/widget/ActionBarContextView.java
index 7bc33c7..acffa5c 100644
--- a/core/java/com/android/internal/widget/ActionBarContextView.java
+++ b/core/java/com/android/internal/widget/ActionBarContextView.java
@@ -93,6 +93,39 @@
         a.recycle();
     }
 
+    @Override
+    public void setSplitActionBar(boolean split) {
+        if (mSplitActionBar != split) {
+            if (mActionMenuPresenter != null) {
+                // Mode is already active; move everything over and adjust the menu itself.
+                final LayoutParams layoutParams = new LayoutParams(LayoutParams.WRAP_CONTENT,
+                        LayoutParams.MATCH_PARENT);
+                if (!split) {
+                    mMenuView = (ActionMenuView) mActionMenuPresenter.getMenuView(this);
+                    mMenuView.setBackgroundDrawable(null);
+                    final ViewGroup oldParent = (ViewGroup) mMenuView.getParent();
+                    if (oldParent != null) oldParent.removeView(mMenuView);
+                    addView(mMenuView, layoutParams);
+                } else {
+                    // Allow full screen width in split mode.
+                    mActionMenuPresenter.setWidthLimit(
+                            getContext().getResources().getDisplayMetrics().widthPixels, true);
+                    // No limit to the item count; use whatever will fit.
+                    mActionMenuPresenter.setItemLimit(Integer.MAX_VALUE);
+                    // Span the whole width
+                    layoutParams.width = LayoutParams.MATCH_PARENT;
+                    layoutParams.height = mContentHeight;
+                    mMenuView = (ActionMenuView) mActionMenuPresenter.getMenuView(this);
+                    mMenuView.setBackgroundDrawable(mSplitBackground);
+                    final ViewGroup oldParent = (ViewGroup) mMenuView.getParent();
+                    if (oldParent != null) oldParent.removeView(mMenuView);
+                    mSplitView.addView(mMenuView, layoutParams);
+                }
+            }
+            super.setSplitActionBar(split);
+        }
+    }
+
     public void setContentHeight(int height) {
         mContentHeight = height;
     }
@@ -179,7 +212,7 @@
 
         final LayoutParams layoutParams = new LayoutParams(LayoutParams.WRAP_CONTENT,
                 LayoutParams.MATCH_PARENT);
-        if (mSplitView == null) {
+        if (!mSplitActionBar) {
             menu.addMenuPresenter(mActionMenuPresenter);
             mMenuView = (ActionMenuView) mActionMenuPresenter.getMenuView(this);
             mMenuView.setBackgroundDrawable(null);
diff --git a/core/java/com/android/internal/widget/ActionBarView.java b/core/java/com/android/internal/widget/ActionBarView.java
index bbecb6c..6d2e823 100644
--- a/core/java/com/android/internal/widget/ActionBarView.java
+++ b/core/java/com/android/internal/widget/ActionBarView.java
@@ -113,7 +113,6 @@
     private int mProgressStyle;
     private int mIndeterminateProgressStyle;
 
-    private boolean mSplitActionBar;
     private boolean mUserTitle;
     private boolean mIncludeTabs;
     private boolean mIsCollapsable;
@@ -133,6 +132,8 @@
     private ExpandedActionViewMenuPresenter mExpandedMenuPresenter;
     View mExpandedActionView;
 
+    Window.Callback mWindowCallback;
+
     private final AdapterView.OnItemSelectedListener mNavItemSelectedListener =
             new AdapterView.OnItemSelectedListener() {
         public void onItemSelected(AdapterView parent, View view, int position, long id) {
@@ -157,11 +158,7 @@
 
     private final OnClickListener mUpClickListener = new OnClickListener() {
         public void onClick(View v) {
-            Context context = getContext();
-            if (context instanceof Activity) {
-                Activity activity = (Activity) context;
-                activity.onMenuItemSelected(Window.FEATURE_OPTIONS_PANEL, mLogoNavItem);
-            }
+            mWindowCallback.onMenuItemSelected(Window.FEATURE_OPTIONS_PANEL, mLogoNavItem);
         }
     };
 
@@ -276,6 +273,14 @@
         }
     }
 
+    /**
+     * Set the window callback used to invoke menu items; used for dispatching home button presses.
+     * @param cb Window callback to dispatch to
+     */
+    public void setWindowCallback(Window.Callback cb) {
+        mWindowCallback = cb;
+    }
+
     @Override
     public void onDetachedFromWindow() {
         super.onDetachedFromWindow();
@@ -301,6 +306,7 @@
         addView(mIndeterminateProgressView);
     }
 
+    @Override
     public void setSplitActionBar(boolean splitActionBar) {
         if (mSplitActionBar != splitActionBar) {
             if (mMenuView != null) {
@@ -316,7 +322,10 @@
                     addView(mMenuView);
                 }
             }
-            mSplitActionBar = splitActionBar;
+            if (mSplitView != null) {
+                mSplitView.setVisibility(splitActionBar ? VISIBLE : GONE);
+            }
+            super.setSplitActionBar(splitActionBar);
         }
     }
 
diff --git a/core/java/com/android/internal/widget/LockPatternUtils.java b/core/java/com/android/internal/widget/LockPatternUtils.java
index c6b2cc7..d5450e4 100644
--- a/core/java/com/android/internal/widget/LockPatternUtils.java
+++ b/core/java/com/android/internal/widget/LockPatternUtils.java
@@ -23,11 +23,16 @@
 import android.app.admin.DevicePolicyManager;
 import android.content.ContentResolver;
 import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.hardware.Camera;
+import android.hardware.Camera.CameraInfo;
 import android.os.FileObserver;
 import android.os.IBinder;
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.os.SystemClock;
+import android.os.SystemProperties;
 import android.os.storage.IMountService;
 import android.provider.Settings;
 import android.security.KeyStore;
@@ -54,6 +59,8 @@
  */
 public class LockPatternUtils {
 
+    private static final String OPTION_ENABLE_FACELOCK = "enable_facelock";
+
     private static final String TAG = "LockPatternUtils";
 
     private static final String SYSTEM_DIRECTORY = "/system/";
@@ -109,8 +116,11 @@
     public static final String PASSWORD_TYPE_ALTERNATE_KEY = "lockscreen.password_type_alternate";
     private final static String LOCK_PASSWORD_SALT_KEY = "lockscreen.password_salt";
     private final static String DISABLE_LOCKSCREEN_KEY = "lockscreen.disabled";
+    private final static String LOCKSCREEN_OPTIONS = "lockscreen.options";
     public final static String LOCKSCREEN_BIOMETRIC_WEAK_FALLBACK
             = "lockscreen.biometric_weak_fallback";
+    public final static String BIOMETRIC_WEAK_EVER_CHOSEN_KEY
+            = "lockscreen.biometricweakeverchosen";
 
     private final static String PASSWORD_HISTORY_KEY = "lockscreen.passwordhistory";
 
@@ -333,17 +343,36 @@
     }
 
     /**
+     * Return true if the user has ever chosen biometric weak.  This is true even if biometric
+     * weak is not current set.
+     *
+     * @return True if the user has ever chosen biometric weak.
+     */
+    public boolean isBiometricWeakEverChosen() {
+        return getBoolean(BIOMETRIC_WEAK_EVER_CHOSEN_KEY);
+    }
+
+    /**
      * Used by device policy manager to validate the current password
      * information it has.
      */
     public int getActivePasswordQuality() {
         int activePasswordQuality = DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED;
-        switch (getKeyguardStoredPasswordQuality()) {
+        // Note we don't want to use getKeyguardStoredPasswordQuality() because we want this to
+        // return biometric_weak if that is being used instead of the backup
+        int quality =
+                (int) getLong(PASSWORD_TYPE_KEY, DevicePolicyManager.PASSWORD_QUALITY_SOMETHING);
+        switch (quality) {
             case DevicePolicyManager.PASSWORD_QUALITY_SOMETHING:
                 if (isLockPatternEnabled()) {
                     activePasswordQuality = DevicePolicyManager.PASSWORD_QUALITY_SOMETHING;
                 }
                 break;
+            case DevicePolicyManager.PASSWORD_QUALITY_BIOMETRIC_WEAK:
+                if (isBiometricWeakInstalled()) {
+                    activePasswordQuality = DevicePolicyManager.PASSWORD_QUALITY_BIOMETRIC_WEAK;
+                }
+                break;
             case DevicePolicyManager.PASSWORD_QUALITY_NUMERIC:
                 if (isLockPasswordEnabled()) {
                     activePasswordQuality = DevicePolicyManager.PASSWORD_QUALITY_NUMERIC;
@@ -365,13 +394,15 @@
                 }
                 break;
         }
+
         return activePasswordQuality;
     }
 
     /**
      * Clear any lock pattern or password.
      */
-    public void clearLock() {
+    public void clearLock(boolean isFallback) {
+        if(!isFallback) deleteGallery();
         saveLockPassword(null, DevicePolicyManager.PASSWORD_QUALITY_SOMETHING);
         setLockPatternEnabled(false);
         saveLockPattern(null);
@@ -408,6 +439,39 @@
     }
 
     /**
+     * Calls back SetupFaceLock to save the temporary gallery file if this is the backup lock.
+     * This doesn't have to verify that biometric is enabled because it's only called in that case
+    */
+    void moveTempGallery() {
+        Intent intent = new Intent().setClassName("com.android.facelock",
+                "com.android.facelock.SetupFaceLock");
+        intent.putExtra("moveTempGallery", true);
+        mContext.startActivity(intent);
+    }
+
+    /**
+     * Calls back SetupFaceLock to delete the temporary gallery file
+     */
+    public void deleteTempGallery() {
+        Intent intent = new Intent().setClassName("com.android.facelock",
+                "com.android.facelock.SetupFaceLock");
+        intent.putExtra("deleteTempGallery", true);
+        mContext.startActivity(intent);
+    }
+
+    /**
+     * Calls back SetupFaceLock to delete the gallery file when the lock type is changed
+    */
+    void deleteGallery() {
+        if(usingBiometricWeak()) {
+            Intent intent = new Intent().setClassName("com.android.facelock",
+                    "com.android.facelock.SetupFaceLock");
+            intent.putExtra("deleteGallery", true);
+            mContext.startActivity(intent);
+        }
+    }
+
+    /**
      * Save a lock pattern.
      * @param pattern The new pattern to save.
      * @param isFallback Specifies if this is a fallback to biometric weak
@@ -431,11 +495,14 @@
                 keyStore.password(patternToString(pattern));
                 setBoolean(PATTERN_EVER_CHOSEN_KEY, true);
                 if (!isFallback) {
+                    deleteGallery();
                     setLong(PASSWORD_TYPE_KEY, DevicePolicyManager.PASSWORD_QUALITY_SOMETHING);
                 } else {
                     setLong(PASSWORD_TYPE_KEY, DevicePolicyManager.PASSWORD_QUALITY_BIOMETRIC_WEAK);
                     setLong(PASSWORD_TYPE_ALTERNATE_KEY,
                             DevicePolicyManager.PASSWORD_QUALITY_SOMETHING);
+                    setBoolean(BIOMETRIC_WEAK_EVER_CHOSEN_KEY, true);
+                    moveTempGallery();
                 }
                 dpm.setActivePasswordState(DevicePolicyManager.PASSWORD_QUALITY_SOMETHING, pattern
                         .size(), 0, 0, 0, 0, 0, 0);
@@ -547,10 +614,13 @@
 
                 int computedQuality = computePasswordQuality(password);
                 if (!isFallback) {
+                    deleteGallery();
                     setLong(PASSWORD_TYPE_KEY, Math.max(quality, computedQuality));
                 } else {
                     setLong(PASSWORD_TYPE_KEY, DevicePolicyManager.PASSWORD_QUALITY_BIOMETRIC_WEAK);
                     setLong(PASSWORD_TYPE_ALTERNATE_KEY, Math.max(quality, computedQuality));
+                    setBoolean(BIOMETRIC_WEAK_EVER_CHOSEN_KEY, true);
+                    moveTempGallery();
                 }
                 if (computedQuality != DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED) {
                     int letters = 0;
@@ -638,6 +708,9 @@
         return quality;
     }
 
+    /**
+     * @return true if the lockscreen method is set to biometric weak
+     */
     public boolean usingBiometricWeak() {
         int quality =
                 (int) getLong(PASSWORD_TYPE_KEY, DevicePolicyManager.PASSWORD_QUALITY_SOMETHING);
@@ -756,33 +829,65 @@
     }
 
     /**
-     * @return Whether the lock password is enabled.
+     * @return Whether the lock password is enabled, or if it is set as a backup for biometric weak
      */
     public boolean isLockPasswordEnabled() {
         long mode = getLong(PASSWORD_TYPE_KEY, 0);
-        return savedPasswordExists() &&
-                (mode == DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC
-                        || mode == DevicePolicyManager.PASSWORD_QUALITY_NUMERIC
-                        || mode == DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC
-                        || mode == DevicePolicyManager.PASSWORD_QUALITY_COMPLEX);
+        long backupMode = getLong(PASSWORD_TYPE_ALTERNATE_KEY, 0);
+        final boolean passwordEnabled = mode == DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC
+                || mode == DevicePolicyManager.PASSWORD_QUALITY_NUMERIC
+                || mode == DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC
+                || mode == DevicePolicyManager.PASSWORD_QUALITY_COMPLEX;
+        final boolean backupEnabled = backupMode == DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC
+                || backupMode == DevicePolicyManager.PASSWORD_QUALITY_NUMERIC
+                || backupMode == DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC
+                || backupMode == DevicePolicyManager.PASSWORD_QUALITY_COMPLEX;
+
+        return savedPasswordExists() && (passwordEnabled ||
+                (usingBiometricWeak() && backupEnabled));
     }
 
     /**
-     * @return Whether the lock pattern is enabled.
+     * @return Whether the lock pattern is enabled, or if it is set as a backup for biometric weak
      */
     public boolean isLockPatternEnabled() {
+        final boolean backupEnabled =
+                getLong(PASSWORD_TYPE_ALTERNATE_KEY, DevicePolicyManager.PASSWORD_QUALITY_SOMETHING)
+                == DevicePolicyManager.PASSWORD_QUALITY_SOMETHING;
+
         return getBoolean(Settings.Secure.LOCK_PATTERN_ENABLED)
-                && getLong(PASSWORD_TYPE_KEY, DevicePolicyManager.PASSWORD_QUALITY_SOMETHING)
-                        == DevicePolicyManager.PASSWORD_QUALITY_SOMETHING;
+                && (getLong(PASSWORD_TYPE_KEY, DevicePolicyManager.PASSWORD_QUALITY_SOMETHING)
+                        == DevicePolicyManager.PASSWORD_QUALITY_SOMETHING ||
+                        (usingBiometricWeak() && backupEnabled));
     }
 
     /**
-     * @return Whether biometric weak lock is enabled.
+     * @return Whether biometric weak lock is installed and that the front facing camera exists
      */
-    public boolean isBiometricEnabled() {
-        // TODO: check if it's installed
-        return getLong(PASSWORD_TYPE_KEY, DevicePolicyManager.PASSWORD_QUALITY_SOMETHING)
-                == DevicePolicyManager.PASSWORD_QUALITY_BIOMETRIC_WEAK;
+    public boolean isBiometricWeakInstalled() {
+        // Check that the system flag was set
+        if (!OPTION_ENABLE_FACELOCK.equals(getString(LOCKSCREEN_OPTIONS))) {
+            return false;
+        }
+
+        // Check that it's installed
+        PackageManager pm = mContext.getPackageManager();
+        try {
+            pm.getPackageInfo("com.android.facelock", PackageManager.GET_ACTIVITIES);
+        } catch (PackageManager.NameNotFoundException e) {
+            return false;
+        }
+
+        // Check that the camera is enabled
+        if (!pm.hasSystemFeature(PackageManager.FEATURE_CAMERA_FRONT)) {
+            return false;
+        }
+        if (getDevicePolicyManager().getCameraDisabled(null)) {
+            return false;
+        }
+
+
+        return true;
     }
 
     /**
@@ -923,8 +1028,7 @@
                 || mode == DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC
                 || mode == DevicePolicyManager.PASSWORD_QUALITY_COMPLEX;
         final boolean secure = isPattern && isLockPatternEnabled() && savedPatternExists()
-                || isPassword && savedPasswordExists()
-                || usingBiometricWeak() && isBiometricEnabled();
+                || isPassword && savedPasswordExists();
         return secure;
     }
 
diff --git a/core/java/com/android/internal/widget/PasswordEntryKeyboardHelper.java b/core/java/com/android/internal/widget/PasswordEntryKeyboardHelper.java
index 366b983..01df48a 100644
--- a/core/java/com/android/internal/widget/PasswordEntryKeyboardHelper.java
+++ b/core/java/com/android/internal/widget/PasswordEntryKeyboardHelper.java
@@ -48,11 +48,11 @@
     private PasswordEntryKeyboard mSymbolsKeyboard;
     private PasswordEntryKeyboard mSymbolsKeyboardShifted;
     private PasswordEntryKeyboard mNumericKeyboard;
-    private Context mContext;
-    private View mTargetView;
-    private KeyboardView mKeyboardView;
+    private final Context mContext;
+    private final View mTargetView;
+    private final KeyboardView mKeyboardView;
     private long[] mVibratePattern;
-    private Vibrator mVibrator;
+    private final Vibrator mVibrator;
 
     public PasswordEntryKeyboardHelper(Context context, KeyboardView keyboardView, View targetView) {
         this(context, keyboardView, targetView, true);
@@ -228,7 +228,7 @@
         }
     }
 
-    private void handleBackspace() {
+    public void handleBackspace() {
         sendDownUpKeyEvents(KeyEvent.KEYCODE_DEL);
     }
 
diff --git a/core/java/com/android/internal/widget/multiwaveview/MultiWaveView.java b/core/java/com/android/internal/widget/multiwaveview/MultiWaveView.java
index c03f91c..ebd355a 100644
--- a/core/java/com/android/internal/widget/multiwaveview/MultiWaveView.java
+++ b/core/java/com/android/internal/widget/multiwaveview/MultiWaveView.java
@@ -114,6 +114,13 @@
         }
     };
 
+    private AnimatorListener mResetListenerWithPing = new AnimatorListenerAdapter() {
+        public void onAnimationEnd(Animator animator) {
+            ping();
+            switchToState(STATE_IDLE, mWaveCenterX, mWaveCenterY);
+        }
+    };
+
     private AnimatorUpdateListener mUpdateListener = new AnimatorUpdateListener() {
         public void onAnimationUpdate(ValueAnimator animation) {
             invalidateGlobalRegion(mHandleDrawable);
@@ -421,7 +428,7 @@
                     "x", mWaveCenterX,
                     "y", mWaveCenterY,
                     "onUpdate", mUpdateListener,
-                    "onComplete", mResetListener);
+                    "onComplete", mDragging ? mResetListenerWithPing : mResetListener);
         }
 
         setGrabbedState(OnTriggerListener.NO_HANDLE);
diff --git a/core/java/com/android/server/NetworkManagementSocketTagger.java b/core/java/com/android/server/NetworkManagementSocketTagger.java
index 9f6ab31..8445ad1 100644
--- a/core/java/com/android/server/NetworkManagementSocketTagger.java
+++ b/core/java/com/android/server/NetworkManagementSocketTagger.java
@@ -75,30 +75,20 @@
             Log.d(TAG, "tagSocket(" + fd.getInt$() + ") with statsTag=0x"
                     + Integer.toHexString(options.statsTag) + ", statsUid=" + options.statsUid);
         }
-        try {
-            // TODO: skip tagging when options would be no-op
-            tagSocketFd(fd, options.statsTag, options.statsUid);
-        } catch (IOException e) {
-            throw new SocketException("Problem tagging socket", e);
-        }
+        // TODO: skip tagging when options would be no-op
+        tagSocketFd(fd, options.statsTag, options.statsUid);
     }
 
-    private void tagSocketFd(FileDescriptor fd, int tag, int uid) throws IOException {
-        final int fdNum = fd.getInt$();
-        if (fdNum == -1 || (tag == -1 && uid == -1)) return;
+    private void tagSocketFd(FileDescriptor fd, int tag, int uid) {
+        int errno;
+        if (tag == -1 && uid == -1) return;
 
-        String cmd = "t " + fdNum;
-        if (tag == -1) {
-            // Case where just the uid needs adjusting. But probably the caller
-            // will want to track his own name here, just in case.
-            cmd += " 0";
-        } else {
-            cmd += " " + tagToKernel(tag);
+        errno = native_tagSocketFd(fd, tag, uid);
+        if (errno < 0) {
+            Log.i(TAG, "tagSocketFd(" + fd.getInt$() + ", "
+                  + tag + ", " +
+                  + uid + ") failed with errno" + errno);
         }
-        if (uid != -1) {
-            cmd += " " + uid;
-        }
-        internalModuleCtrl(cmd);
     }
 
     @Override
@@ -106,19 +96,18 @@
         if (LOGD) {
             Log.i(TAG, "untagSocket(" + fd.getInt$() + ")");
         }
-        try {
-            unTagSocketFd(fd);
-        } catch (IOException e) {
-            throw new SocketException("Problem untagging socket", e);
-        }
+        unTagSocketFd(fd);
     }
 
-    private void unTagSocketFd(FileDescriptor fd) throws IOException {
-        int fdNum = fd.getInt$();
+    private void unTagSocketFd(FileDescriptor fd) {
         final SocketTags options = threadSocketTags.get();
-        if (fdNum == -1 || (options.statsTag == -1 && options.statsUid == -1)) return;
-        String cmd = "u " + fdNum;
-        internalModuleCtrl(cmd);
+        int errno;
+        if (options.statsTag == -1 && options.statsUid == -1) return;
+
+        errno = native_untagSocketFd(fd);
+        if (errno < 0) {
+            Log.w(TAG, "untagSocket(" + fd.getInt$() + ") failed with errno " + errno);
+        }
     }
 
     public static class SocketTags {
@@ -127,69 +116,20 @@
     }
 
     public static void setKernelCounterSet(int uid, int counterSet) {
-        final StringBuilder command = new StringBuilder();
-        command.append("s ").append(counterSet).append(" ").append(uid);
-        try {
-            internalModuleCtrl(command.toString());
-        } catch (IOException e) {
-            Slog.w(TAG, "problem changing counter set for uid " + uid + " : " + e);
+        int errno = native_setCounterSet(counterSet, uid);
+        if (errno < 0) {
+            Log.w(TAG, "setKernelCountSet(" + uid + ", " + counterSet + ") failed with errno " + errno);
         }
     }
 
     public static void resetKernelUidStats(int uid) {
-        final StringBuilder command = new StringBuilder();
-        command.append("d 0 ").append(uid);
-        try {
-            internalModuleCtrl(command.toString());
-        } catch (IOException e) {
-            Slog.w(TAG, "problem clearing counters for uid " + uid + " : " + e);
+        int errno = native_deleteTagData(0, uid);
+        if (errno < 0) {
+            Slog.w(TAG, "problem clearing counters for uid " + uid + " : errno " + errno);
         }
     }
 
     /**
-     * Sends commands to the kernel netfilter module.
-     *
-     * @param cmd command string for the qtaguid netfilter module. May not be null.
-     *   <p>Supports:
-     *     <ul><li>tag a socket:<br>
-     *        <code>t <i>sock_fd</i> <i>acct_tag</i> [<i>uid_in_case_caller_is_acting_on_behalf_of</i>]</code><br>
-     *     <code>*_tag</code> defaults to default_policy_tag_from_uid(uid_of_caller)<br>
-     *     <code>acct_tag</code> is either 0 or greater that 2^32.<br>
-     *     <code>uid_*</code> is only settable by privileged UIDs (DownloadManager,...)
-     *     </li>
-     *     <li>untag a socket, preserving counters:<br>
-     *       <code>u <i>sock_fd</i></code>
-     *     </li></ul>
-     *   <p>Notes:<br>
-     *   <ul><li><i>sock_fd</i> is withing the callers process space.</li>
-     *   <li><i>*_tag</i> are 64bit values</li></ul>
-     *
-     */
-    private static void internalModuleCtrl(String cmd) throws IOException {
-        if (!SystemProperties.getBoolean(PROP_QTAGUID_ENABLED, false)) return;
-
-        // TODO: migrate to native library for tagging commands
-        FileOutputStream procOut = null;
-        try {
-            procOut = new FileOutputStream("/proc/net/xt_qtaguid/ctrl");
-            procOut.write(cmd.getBytes(Charsets.US_ASCII));
-        } finally {
-            IoUtils.closeQuietly(procOut);
-        }
-    }
-
-    /**
-     * Convert {@link Integer} tag to {@code /proc/} format. Assumes unsigned
-     * base-10 format like {@code 2147483647}. Currently strips signed bit to
-     * avoid using {@link BigInteger}.
-     */
-    public static String tagToKernel(int tag) {
-        // TODO: eventually write in hex, since that's what proc exports
-        // TODO: migrate to direct integer instead of odd shifting
-        return Long.toString((((long) tag) << 32) & 0x7FFFFFFF00000000L);
-    }
-
-    /**
      * Convert {@code /proc/} tag format to {@link Integer}. Assumes incoming
      * format like {@code 0x7fffffff00000000}.
      */
@@ -197,4 +137,9 @@
         // TODO: migrate to direct integer instead of odd shifting
         return (int) (Long.decode(string) >> 32);
     }
+
+    private static native int native_tagSocketFd(FileDescriptor fd, int tag, int uid);
+    private static native int native_untagSocketFd(FileDescriptor fd);
+    private static native int native_setCounterSet(int uid, int counterSetNum);
+    private static native int native_deleteTagData(int tag, int uid);
 }
diff --git a/core/java/com/google/android/mms/pdu/PduPersister.java b/core/java/com/google/android/mms/pdu/PduPersister.java
index 4d2d535..c4be513 100644
--- a/core/java/com/google/android/mms/pdu/PduPersister.java
+++ b/core/java/com/google/android/mms/pdu/PduPersister.java
@@ -667,6 +667,13 @@
         String contentType = null;
         if (part.getContentType() != null) {
             contentType = toIsoString(part.getContentType());
+
+            // There is no "image/jpg" in Android (and it's an invalid mimetype).
+            // Change it to "image/jpeg"
+            if (ContentType.IMAGE_JPG.equals(contentType)) {
+                contentType = ContentType.IMAGE_JPEG;
+            }
+
             values.put(Part.CONTENT_TYPE, contentType);
             // To ensure the SMIL part is always the first part.
             if (ContentType.APP_SMIL.equals(contentType)) {
diff --git a/core/jni/Android.mk b/core/jni/Android.mk
index aece5f0..59a03e7 100644
--- a/core/jni/Android.mk
+++ b/core/jni/Android.mk
@@ -143,6 +143,7 @@
 	android_server_BluetoothService.cpp \
 	android_server_BluetoothEventLoop.cpp \
 	android_server_BluetoothA2dpService.cpp \
+	android_server_NetworkManagementSocketTagger.cpp \
 	android_server_Watchdog.cpp \
 	android_ddm_DdmHandleNativeHeap.cpp \
 	com_android_internal_os_ZygoteInit.cpp \
diff --git a/core/jni/AndroidRuntime.cpp b/core/jni/AndroidRuntime.cpp
index dd7dd86..12ec1b6 100644
--- a/core/jni/AndroidRuntime.cpp
+++ b/core/jni/AndroidRuntime.cpp
@@ -155,6 +155,7 @@
 extern int register_android_server_BluetoothService(JNIEnv* env);
 extern int register_android_server_BluetoothEventLoop(JNIEnv *env);
 extern int register_android_server_BluetoothA2dpService(JNIEnv* env);
+extern int register_android_server_NetworkManagementSocketTagger(JNIEnv* env);
 extern int register_android_server_Watchdog(JNIEnv* env);
 extern int register_android_ddm_DdmHandleNativeHeap(JNIEnv *env);
 extern int register_com_android_internal_os_ZygoteInit(JNIEnv* env);
@@ -1178,6 +1179,7 @@
     REG_JNI(register_android_server_BluetoothService),
     REG_JNI(register_android_server_BluetoothEventLoop),
     REG_JNI(register_android_server_BluetoothA2dpService),
+    REG_JNI(register_android_server_NetworkManagementSocketTagger),
     REG_JNI(register_android_server_Watchdog),
     REG_JNI(register_android_ddm_DdmHandleNativeHeap),
     REG_JNI(register_android_backup_BackupDataInput),
diff --git a/core/jni/android/graphics/Bitmap.cpp b/core/jni/android/graphics/Bitmap.cpp
index 18bd754..da055fc 100644
--- a/core/jni/android/graphics/Bitmap.cpp
+++ b/core/jni/android/graphics/Bitmap.cpp
@@ -392,10 +392,20 @@
     SkSafeUnref(ctable);

 

     size_t size = bitmap->getSize();

+

+    android::Parcel::ReadableBlob blob;

+    android::status_t status = p->readBlob(size, &blob);

+    if (status) {

+        doThrowRE(env, "Could not read bitmap from parcel blob.");

+        delete bitmap;

+        return NULL;

+    }

+

     bitmap->lockPixels();

-    memcpy(bitmap->getPixels(), p->readInplace(size), size);

+    memcpy(bitmap->getPixels(), blob.data(), size);

     bitmap->unlockPixels();

 

+    blob.release();

     return GraphicsJNI::createBitmap(env, bitmap, buffer, isMutable, NULL, density);

 }

 

@@ -431,17 +441,24 @@
     }

 

     size_t size = bitmap->getSize();

+

+    android::Parcel::WritableBlob blob;

+    android::status_t status = p->writeBlob(size, &blob);

+    if (status) {

+        doThrowRE(env, "Could not write bitmap to parcel blob.");

+        return false;

+    }

+

     bitmap->lockPixels();

-    void* pDst = p->writeInplace(size);

-

     const void* pSrc =  bitmap->getPixels();

-

     if (pSrc == NULL) {

-        memset(pDst, 0, size);

+        memset(blob.data(), 0, size);

     } else {

-        memcpy(pDst, pSrc, size);

+        memcpy(blob.data(), pSrc, size);

     }

     bitmap->unlockPixels();

+

+    blob.release();

     return true;

 }

 

diff --git a/core/jni/android/graphics/Canvas.cpp b/core/jni/android/graphics/Canvas.cpp
index 9313d0a..02c5bb3 100644
--- a/core/jni/android/graphics/Canvas.cpp
+++ b/core/jni/android/graphics/Canvas.cpp
@@ -758,21 +758,7 @@
             jfloat x, jfloat y, int flags, SkPaint* paint) {
 
         jint count = end - start;
-        sp<TextLayoutCacheValue> value;
-#if USE_TEXT_LAYOUT_CACHE
-        value = TextLayoutCache::getInstance().getValue(paint, textArray, start, count,
-                        end, flags);
-        if (value == NULL) {
-            LOGE("Cannot get TextLayoutCache value");
-            return ;
-        }
-#else
-        value = new TextLayoutCacheValue();
-        value->computeValues(paint, textArray, start, count, end, flags);
-#endif
-
-        doDrawGlyphs(canvas, value->getGlyphs(), 0, value->getGlyphsCount(),
-            x, y, flags, paint);
+        drawTextWithGlyphs(canvas, textArray + start, 0, count, count, x, y, flags, paint);
     }
 
     static void drawTextWithGlyphs(SkCanvas* canvas, const jchar* textArray,
@@ -781,19 +767,20 @@
 
         sp<TextLayoutCacheValue> value;
 #if USE_TEXT_LAYOUT_CACHE
-        value = TextLayoutCache::getInstance().getValue(paint, textArray, start, count,
-                        contextCount, flags);
+        value = TextLayoutCache::getInstance().getValue(paint, textArray, contextCount, flags);
         if (value == NULL) {
             LOGE("Cannot get TextLayoutCache value");
             return ;
         }
 #else
         value = new TextLayoutCacheValue();
-        value->computeValues(paint, textArray, start, count, contextCount, flags);
+        value->computeValues(paint, textArray, contextCount, flags);
 #endif
-
-        doDrawGlyphs(canvas, value->getGlyphs(), 0, value->getGlyphsCount(),
-                x, y, flags, paint);
+        size_t startIndex = 0;
+        size_t glyphsCount = 0;
+        value->getGlyphsIndexAndCount(start, count, &startIndex, &glyphsCount);
+        const jchar* glyphs = value->getGlyphs(startIndex, glyphsCount);
+        doDrawGlyphs(canvas, glyphs, 0, glyphsCount, x, y, flags, paint);
     }
 
     static void doDrawGlyphs(SkCanvas* canvas, const jchar* glyphArray, int index, int count,
diff --git a/core/jni/android/graphics/Paint.cpp b/core/jni/android/graphics/Paint.cpp
index 7d222f6..3daf7d0 100644
--- a/core/jni/android/graphics/Paint.cpp
+++ b/core/jni/android/graphics/Paint.cpp
@@ -352,7 +352,7 @@
         jfloat result = 0;
 #if RTL_USE_HARFBUZZ
         TextLayout::getTextRunAdvances(paint, textArray, index, count, textLength,
-                paint->getFlags(), NULL /* dont need all advances */, result);
+                paint->getFlags(), NULL /* dont need all advances */, &result);
 #else
         // we double count, since measureText wants a byteLength
         SkScalar width = paint->measureText(textArray + index, count << 1);
@@ -382,7 +382,7 @@
 
 #if RTL_USE_HARFBUZZ
         TextLayout::getTextRunAdvances(paint, textArray, start, count, textLength,
-                paint->getFlags(), NULL /* dont need all advances */, width);
+                paint->getFlags(), NULL /* dont need all advances */, &width);
 #else
 
         width = SkScalarToFloat(paint->measureText(textArray + start, count << 1));
@@ -406,7 +406,7 @@
 
 #if RTL_USE_HARFBUZZ
         TextLayout::getTextRunAdvances(paint, textArray, 0, textLength, textLength,
-                paint->getFlags(), NULL /* dont need all advances */, width);
+                paint->getFlags(), NULL /* dont need all advances */, &width);
 #else
         width = SkScalarToFloat(paint->measureText(textArray, textLength << 1));
 #endif
@@ -435,10 +435,8 @@
         jfloat* widthsArray = autoWidths.ptr();
 
 #if RTL_USE_HARFBUZZ
-        jfloat totalAdvance;
-
         TextLayout::getTextRunAdvances(paint, text, 0, count, count,
-                paint->getFlags(), widthsArray, totalAdvance);
+                paint->getFlags(), widthsArray, NULL /* dont need totalAdvance */);
 #else
         SkScalar* scalarArray = (SkScalar*)widthsArray;
 
@@ -533,7 +531,7 @@
         jfloat totalAdvance = 0;
 
         TextLayout::getTextRunAdvances(paint, text, start, count, contextCount, flags,
-                                       advancesArray, totalAdvance);
+                                       advancesArray, &totalAdvance);
 
         if (advances != NULL) {
             env->SetFloatArrayRegion(advances, advancesIndex, count, advancesArray);
@@ -604,10 +602,9 @@
             jint count, jint flags, jint offset, jint opt) {
 #if RTL_USE_HARFBUZZ
         jfloat scalarArray[count];
-        jfloat totalAdvance = 0;
 
         TextLayout::getTextRunAdvances(paint, text, start, count, count, flags,
-                scalarArray, totalAdvance);
+                scalarArray, NULL /* dont need totalAdvance */);
 #else
         SkScalar scalarArray[count];
         jchar buffer[count];
diff --git a/core/jni/android/graphics/TextLayout.cpp b/core/jni/android/graphics/TextLayout.cpp
index fa9a7b7..ae17aed 100644
--- a/core/jni/android/graphics/TextLayout.cpp
+++ b/core/jni/android/graphics/TextLayout.cpp
@@ -253,37 +253,30 @@
 
 void TextLayout::getTextRunAdvances(SkPaint* paint, const jchar* chars, jint start,
                                     jint count, jint contextCount, jint dirFlags,
-                                    jfloat* resultAdvances, jfloat& resultTotalAdvance) {
+                                    jfloat* resultAdvances, jfloat* resultTotalAdvance) {
     sp<TextLayoutCacheValue> value;
 #if USE_TEXT_LAYOUT_CACHE
     // Return advances from the cache. Compute them if needed
-    value = TextLayoutCache::getInstance().getValue(
-            paint, chars, start, count, contextCount, dirFlags);
+    value = TextLayoutCache::getInstance().getValue(paint, chars, contextCount, dirFlags);
 #else
     value = new TextLayoutCacheValue();
-    value->computeValues(paint, chars, start, count, contextCount, dirFlags);
+    value->computeValues(paint, chars, contextCount, dirFlags);
 #endif
     if (value != NULL) {
         if (resultAdvances != NULL) {
-            memcpy(resultAdvances, value->getAdvances(), value->getAdvancesCount() * sizeof(jfloat));
+            value->getAdvances(start, count, resultAdvances);
         }
-        resultTotalAdvance = value->getTotalAdvance();
+        if (resultTotalAdvance) {
+            *resultTotalAdvance = value->getTotalAdvance(start, count);
+        }
     }
 }
 
-void TextLayout::getTextRunAdvancesHB(SkPaint* paint, const jchar* chars, jint start,
-                                    jint count, jint contextCount, jint dirFlags,
-                                    jfloat* resultAdvances, jfloat& resultTotalAdvance) {
-    // Compute advances and return them
-    TextLayoutCacheValue::computeValuesWithHarfbuzz(paint, chars, start, count, contextCount,
-            dirFlags, resultAdvances, &resultTotalAdvance, NULL, NULL);
-}
-
 void TextLayout::getTextRunAdvancesICU(SkPaint* paint, const jchar* chars, jint start,
                                     jint count, jint contextCount, jint dirFlags,
                                     jfloat* resultAdvances, jfloat& resultTotalAdvance) {
     // Compute advances and return them
-    TextLayoutCacheValue::computeAdvancesWithICU(paint, chars, start, count, contextCount, dirFlags,
+    computeAdvancesWithICU(paint, chars, start, count, contextCount, dirFlags,
             resultAdvances, &resultTotalAdvance);
 }
 
@@ -321,4 +314,73 @@
     }
 }
 
+void TextLayout::computeAdvancesWithICU(SkPaint* paint, const UChar* chars,
+        size_t start, size_t count, size_t contextCount, int dirFlags,
+        jfloat* outAdvances, jfloat* outTotalAdvance) {
+    SkAutoSTMalloc<CHAR_BUFFER_SIZE, jchar> tempBuffer(contextCount);
+    jchar* buffer = tempBuffer.get();
+    SkScalar* scalarArray = (SkScalar*)outAdvances;
+
+    // this is where we'd call harfbuzz
+    // for now we just use ushape.c
+    size_t widths;
+    const jchar* text;
+    if (dirFlags & 0x1) { // rtl, call arabic shaping in case
+        UErrorCode status = U_ZERO_ERROR;
+        // Use fixed length since we need to keep start and count valid
+        u_shapeArabic(chars, contextCount, buffer, contextCount,
+                U_SHAPE_LENGTH_FIXED_SPACES_NEAR |
+                U_SHAPE_TEXT_DIRECTION_LOGICAL | U_SHAPE_LETTERS_SHAPE |
+                U_SHAPE_X_LAMALEF_SUB_ALTERNATE, &status);
+        // we shouldn't fail unless there's an out of memory condition,
+        // in which case we're hosed anyway
+        for (int i = start, e = i + count; i < e; ++i) {
+            if (buffer[i] == UNICODE_NOT_A_CHAR) {
+                buffer[i] = UNICODE_ZWSP; // zero-width-space for skia
+            }
+        }
+        text = buffer + start;
+        widths = paint->getTextWidths(text, count << 1, scalarArray);
+    } else {
+        text = chars + start;
+        widths = paint->getTextWidths(text, count << 1, scalarArray);
+    }
+
+    jfloat totalAdvance = 0;
+    if (widths < count) {
+#if DEBUG_ADVANCES
+    LOGD("ICU -- count=%d", widths);
+#endif
+        // Skia operates on code points, not code units, so surrogate pairs return only
+        // one value. Expand the result so we have one value per UTF-16 code unit.
+
+        // Note, skia's getTextWidth gets confused if it encounters a surrogate pair,
+        // leaving the remaining widths zero.  Not nice.
+        for (size_t i = 0, p = 0; i < widths; ++i) {
+            totalAdvance += outAdvances[p++] = SkScalarToFloat(scalarArray[i]);
+            if (p < count &&
+                    text[p] >= UNICODE_FIRST_LOW_SURROGATE &&
+                    text[p] < UNICODE_FIRST_PRIVATE_USE &&
+                    text[p-1] >= UNICODE_FIRST_HIGH_SURROGATE &&
+                    text[p-1] < UNICODE_FIRST_LOW_SURROGATE) {
+                outAdvances[p++] = 0;
+            }
+#if DEBUG_ADVANCES
+            LOGD("icu-adv = %f - total = %f", outAdvances[i], totalAdvance);
+#endif
+        }
+    } else {
+#if DEBUG_ADVANCES
+    LOGD("ICU -- count=%d", count);
+#endif
+        for (size_t i = 0; i < count; i++) {
+            totalAdvance += outAdvances[i] = SkScalarToFloat(scalarArray[i]);
+#if DEBUG_ADVANCES
+            LOGD("icu-adv = %f - total = %f", outAdvances[i], totalAdvance);
+#endif
+        }
+    }
+    *outTotalAdvance = totalAdvance;
+}
+
 }
diff --git a/core/jni/android/graphics/TextLayout.h b/core/jni/android/graphics/TextLayout.h
index 0a29d78..9df3829 100644
--- a/core/jni/android/graphics/TextLayout.h
+++ b/core/jni/android/graphics/TextLayout.h
@@ -71,16 +71,12 @@
 
     static void getTextRunAdvances(SkPaint* paint, const jchar* chars, jint start,
                                    jint count, jint contextCount, jint dirFlags,
-                                   jfloat* resultAdvances, jfloat& resultTotalAdvance);
+                                   jfloat* resultAdvances, jfloat* resultTotalAdvance);
 
     static void getTextRunAdvancesICU(SkPaint* paint, const jchar* chars, jint start,
                                    jint count, jint contextCount, jint dirFlags,
                                    jfloat* resultAdvances, jfloat& resultTotalAdvance);
 
-    static void getTextRunAdvancesHB(SkPaint* paint, const jchar* chars, jint start,
-                                   jint count, jint contextCount, jint dirFlags,
-                                   jfloat* resultAdvances, jfloat& resultTotalAdvance);
-
     static void drawText(SkPaint* paint, const jchar* text, jsize len,
                          jint bidiFlags, jfloat x, jfloat y, SkCanvas* canvas);
 
@@ -106,5 +102,9 @@
                            UErrorCode &status);
     static void handleText(SkPaint* paint, const jchar* text, jsize len,
                            int bidiFlags, jfloat x, jfloat y, SkCanvas* canvas, SkPath* path);
+
+    static void computeAdvancesWithICU(SkPaint* paint, const UChar* chars,
+            size_t start, size_t count, size_t contextCount, int dirFlags,
+            jfloat* outAdvances, jfloat* outTotalAdvance);
 };
 } // namespace android
diff --git a/core/jni/android/graphics/TextLayoutCache.cpp b/core/jni/android/graphics/TextLayoutCache.cpp
index d04e059..9ba95bd 100644
--- a/core/jni/android/graphics/TextLayoutCache.cpp
+++ b/core/jni/android/graphics/TextLayoutCache.cpp
@@ -52,13 +52,7 @@
     mCacheStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
 
     if (mDebugEnabled) {
-        LOGD("Start time: %lld", mCacheStartTime);
-#if RTL_USE_HARFBUZZ
-        LOGD("Using HARFBUZZ");
-#else
-        LOGD("Using ICU");
-#endif
-        LOGD("Initialization is done");
+        LOGD("Initialization is done - Start time: %lld", mCacheStartTime);
     }
 
     mInitialized = true;
@@ -112,7 +106,7 @@
  * Caching
  */
 sp<TextLayoutCacheValue> TextLayoutCache::getValue(SkPaint* paint,
-            const jchar* text, jint start, jint count, jint contextCount, jint dirFlags) {
+            const jchar* text, jint count, jint dirFlags) {
     AutoMutex _l(mLock);
     nsecs_t startTime = 0;
     if (mDebugEnabled) {
@@ -120,7 +114,7 @@
     }
 
     // Create the key
-    TextLayoutCacheKey key(paint, text, start, count, contextCount, dirFlags);
+    TextLayoutCacheKey key(paint, text, count, dirFlags);
 
     // Get value from cache if possible
     sp<TextLayoutCacheValue> value = mCache.get(key);
@@ -134,7 +128,7 @@
         value = new TextLayoutCacheValue();
 
         // Compute advances and store them
-        value->computeValues(paint, text, start, count, contextCount, dirFlags);
+        value->computeValues(paint, text, count, dirFlags);
 
         nsecs_t endTime = systemTime(SYSTEM_TIME_MONOTONIC);
 
@@ -163,20 +157,20 @@
                 // Update timing information for statistics
                 value->setElapsedTime(endTime - startTime);
 
-                LOGD("CACHE MISS: Added entry with start=%d, count=%d, "
-                        "contextCount=%d, entry size %d bytes, remaining space %d bytes"
+                LOGD("CACHE MISS: Added entry with "
+                        "count=%d, entry size %d bytes, remaining space %d bytes"
                         " - Compute time in nanos: %d - Text='%s' ",
-                        start, count, contextCount, size, mMaxSize - mSize, value->getElapsedTime(),
-                        String8(text, contextCount).string());
+                        count, size, mMaxSize - mSize, value->getElapsedTime(),
+                        String8(text, count).string());
             }
         } else {
             if (mDebugEnabled) {
                 LOGD("CACHE MISS: Calculated but not storing entry because it is too big "
-                        "with start=%d, count=%d, contextCount=%d, "
+                        "with count=%d, "
                         "entry size %d bytes, remaining space %d bytes"
                         " - Compute time in nanos: %lld - Text='%s'",
-                        start, count, contextCount, size, mMaxSize - mSize, endTime,
-                        String8(text, contextCount).string());
+                        count, size, mMaxSize - mSize, endTime,
+                        String8(text, count).string());
             }
             value.clear();
         }
@@ -190,12 +184,12 @@
             if (value->getElapsedTime() > 0) {
                 float deltaPercent = 100 * ((value->getElapsedTime() - elapsedTimeThruCacheGet)
                         / ((float)value->getElapsedTime()));
-                LOGD("CACHE HIT #%d with start=%d, count=%d, contextCount=%d "
+                LOGD("CACHE HIT #%d with count=%d "
                         "- Compute time in nanos: %d - "
                         "Cache get time in nanos: %lld - Gain in percent: %2.2f - Text='%s' ",
-                        mCacheHitCount, start, count, contextCount,
+                        mCacheHitCount, count,
                         value->getElapsedTime(), elapsedTimeThruCacheGet, deltaPercent,
-                        String8(text, contextCount).string());
+                        String8(text, count).string());
             }
             if (mCacheHitCount % DEFAULT_DUMP_STATS_CACHE_HIT_INTERVAL == 0) {
                 dumpCacheStats();
@@ -224,15 +218,14 @@
 /**
  * TextLayoutCacheKey
  */
-TextLayoutCacheKey::TextLayoutCacheKey(): text(NULL), start(0), count(0), contextCount(0),
+TextLayoutCacheKey::TextLayoutCacheKey(): text(NULL), count(0),
         dirFlags(0), typeface(NULL), textSize(0), textSkewX(0), textScaleX(0), flags(0),
         hinting(SkPaint::kNo_Hinting)  {
 }
 
 TextLayoutCacheKey::TextLayoutCacheKey(const SkPaint* paint,
-        const UChar* text, size_t start, size_t count,
-        size_t contextCount, int dirFlags) :
-            text(text), start(start), count(count), contextCount(contextCount),
+        const UChar* text, size_t count, int dirFlags) :
+            text(text), count(count),
             dirFlags(dirFlags) {
     typeface = paint->getTypeface();
     textSize = paint->getTextSize();
@@ -242,51 +235,64 @@
     hinting = paint->getHinting();
 }
 
-bool TextLayoutCacheKey::operator<(const TextLayoutCacheKey& rhs) const {
-    LTE_INT(count) {
-        LTE_INT(contextCount) {
-            LTE_INT(start) {
-                LTE_INT(typeface) {
-                    LTE_FLOAT(textSize) {
-                        LTE_FLOAT(textSkewX) {
-                            LTE_FLOAT(textScaleX) {
-                                LTE_INT(flags) {
-                                    LTE_INT(hinting) {
-                                        LTE_INT(dirFlags) {
-                                            return strncmp16(text, rhs.text, contextCount) < 0;
-                                        }
-                                    }
-                                }
-                            }
-                        }
-                    }
-                }
-            }
-        }
+TextLayoutCacheKey::TextLayoutCacheKey(const TextLayoutCacheKey& other) :
+        text(NULL),
+        textCopy(other.textCopy),
+        count(other.count),
+        dirFlags(other.dirFlags),
+        typeface(other.typeface),
+        textSize(other.textSize),
+        textSkewX(other.textSkewX),
+        textScaleX(other.textScaleX),
+        flags(other.flags),
+        hinting(other.hinting) {
+    if (other.text) {
+        textCopy.setTo(other.text);
     }
-    return false;
+}
+
+int TextLayoutCacheKey::compare(const TextLayoutCacheKey& lhs, const TextLayoutCacheKey& rhs) {
+    int deltaInt = lhs.count - rhs.count;
+    if (deltaInt != 0) return (deltaInt);
+
+    if (lhs.typeface < rhs.typeface) return -1;
+    if (lhs.typeface > rhs.typeface) return +1;
+
+    if (lhs.textSize < rhs.textSize) return -1;
+    if (lhs.textSize > rhs.textSize) return +1;
+
+    if (lhs.textSkewX < rhs.textSkewX) return -1;
+    if (lhs.textSkewX > rhs.textSkewX) return +1;
+
+    if (lhs.textScaleX < rhs.textScaleX) return -1;
+    if (lhs.textScaleX > rhs.textScaleX) return +1;
+
+    deltaInt = lhs.flags - rhs.flags;
+    if (deltaInt != 0) return (deltaInt);
+
+    deltaInt = lhs.hinting - rhs.hinting;
+    if (deltaInt != 0) return (deltaInt);
+
+    deltaInt = lhs.dirFlags - rhs.dirFlags;
+    if (deltaInt) return (deltaInt);
+
+    return memcmp(lhs.getText(), rhs.getText(), lhs.count * sizeof(UChar));
 }
 
 void TextLayoutCacheKey::internalTextCopy() {
-    textCopy.setTo(text, contextCount);
-    text = textCopy.string();
+    textCopy.setTo(text, count);
+    text = NULL;
 }
 
 size_t TextLayoutCacheKey::getSize() {
-    return sizeof(TextLayoutCacheKey) + sizeof(UChar) * contextCount;
+    return sizeof(TextLayoutCacheKey) + sizeof(UChar) * count;
 }
 
 /**
  * TextLayoutCacheValue
  */
 TextLayoutCacheValue::TextLayoutCacheValue() :
-        mAdvances(NULL), mTotalAdvance(0), mAdvancesCount(0),
-        mGlyphs(NULL), mGlyphsCount(0), mElapsedTime(0) {
-}
-
-TextLayoutCacheValue::~TextLayoutCacheValue() {
-    delete[] mAdvances;
-    delete[] mGlyphs;
+        mTotalAdvance(0), mElapsedTime(0) {
 }
 
 void TextLayoutCacheValue::setElapsedTime(uint32_t time) {
@@ -297,28 +303,23 @@
     return mElapsedTime;
 }
 
-void TextLayoutCacheValue::computeValues(SkPaint* paint, const UChar* chars, size_t start,
-        size_t count, size_t contextCount, int dirFlags) {
-    mAdvancesCount = count;
-    mAdvances = new float[count];
+void TextLayoutCacheValue::computeValues(SkPaint* paint, const UChar* chars,
+        size_t contextCount, int dirFlags) {
+    // Give a hint for advances, glyphs and log clusters vectors size
+    mAdvances.setCapacity(contextCount);
+    mGlyphs.setCapacity(contextCount);
+    mLogClusters.setCapacity(contextCount);
 
-#if RTL_USE_HARFBUZZ
-    computeValuesWithHarfbuzz(paint, chars, start, count, contextCount, dirFlags,
-            mAdvances, &mTotalAdvance, &mGlyphs, &mGlyphsCount);
-#else
-    computeAdvancesWithICU(paint, chars, start, count, contextCount, dirFlags,
-            mAdvances, &mTotalAdvance);
-#endif
+    computeValuesWithHarfbuzz(paint, chars, contextCount, dirFlags,
+            &mAdvances, &mTotalAdvance, &mGlyphs, &mLogClusters);
 #if DEBUG_ADVANCES
-    LOGD("Advances - count=%d - countextCount=%d - totalAdvance=%f - "
-            "adv[0]=%f adv[1]=%f adv[2]=%f adv[3]=%f", count, contextCount, mTotalAdvance,
-            mAdvances[0], mAdvances[1], mAdvances[2], mAdvances[3]);
+    LOGD("Advances - countextCount=%d - totalAdvance=%f", contextCount, mTotalAdvance);
 #endif
 }
 
 size_t TextLayoutCacheValue::getSize() {
-    return sizeof(TextLayoutCacheValue) + sizeof(jfloat) * mAdvancesCount +
-            sizeof(jchar) * mGlyphsCount;
+    return sizeof(TextLayoutCacheValue) + sizeof(jfloat) * mAdvances.capacity() +
+            sizeof(jchar) * mGlyphs.capacity() + sizeof(unsigned short) * mLogClusters.capacity();
 }
 
 void TextLayoutCacheValue::setupShaperItem(HB_ShaperItem* shaperItem, HB_FontRec* font,
@@ -389,27 +390,10 @@
     }
 }
 
-struct GlyphRun {
-    inline GlyphRun() {}
-    inline GlyphRun(jchar* glyphs, size_t glyphsCount, bool isRTL) :
-            glyphs(glyphs), glyphsCount(glyphsCount), isRTL(isRTL) { }
-    jchar* glyphs;
-    size_t glyphsCount;
-    int isRTL;
-};
-
-void static reverseGlyphArray(jchar* glyphs, size_t count) {
-    for (size_t i = 0; i < count / 2; i++) {
-        jchar temp = glyphs[i];
-        glyphs[i] = glyphs[count - 1 - i];
-        glyphs[count - 1 - i] = temp;
-    }
-}
-
 void TextLayoutCacheValue::computeValuesWithHarfbuzz(SkPaint* paint, const UChar* chars,
-        size_t start, size_t count, size_t contextCount, int dirFlags,
-        jfloat* outAdvances, jfloat* outTotalAdvance,
-        jchar** outGlyphs, size_t* outGlyphsCount) {
+        size_t contextCount, int dirFlags,
+        Vector<jfloat>* const outAdvances, jfloat* outTotalAdvance,
+        Vector<jchar>* const outGlyphs, Vector<unsigned short>* const outLogClusters) {
 
         UBiDiLevel bidiReq = 0;
         bool forceLTR = false;
@@ -429,12 +413,8 @@
                     LOGD("computeValuesWithHarfbuzz -- forcing run with LTR=%d RTL=%d",
                             forceLTR, forceRTL);
 #endif
-            computeRunValuesWithHarfbuzz(paint, chars, start, count, contextCount, forceRTL,
-                    outAdvances, outTotalAdvance, outGlyphs, outGlyphsCount);
-
-            if (forceRTL && *outGlyphsCount > 1) {
-                reverseGlyphArray(*outGlyphs, *outGlyphsCount);
-            }
+            computeRunValuesWithHarfbuzz(paint, chars, 0, contextCount, contextCount, forceRTL,
+                    outAdvances, outTotalAdvance, outGlyphs, outLogClusters);
         } else {
             UBiDi* bidi = ubidi_open();
             if (bidi) {
@@ -453,42 +433,16 @@
                         bool isRTL = (paraDir == 1);
 #if DEBUG_GLYPHS
                         LOGD("computeValuesWithHarfbuzz -- processing SINGLE run "
-                                "-- run-start=%d run-len=%d isRTL=%d", start, count, isRTL);
+                                "-- run-start=%d run-len=%d isRTL=%d", 0, contextCount, isRTL);
 #endif
-                        computeRunValuesWithHarfbuzz(paint, chars, start, count, contextCount,
-                                isRTL, outAdvances, outTotalAdvance, outGlyphs, outGlyphsCount);
-
-                        if (isRTL && *outGlyphsCount > 1) {
-                            reverseGlyphArray(*outGlyphs, *outGlyphsCount);
-                        }
+                        computeRunValuesWithHarfbuzz(paint, chars, 0, contextCount, contextCount,
+                                isRTL, outAdvances, outTotalAdvance, outGlyphs, outLogClusters);
                     } else {
-                        Vector<GlyphRun> glyphRuns;
-                        jchar* runGlyphs;
-                        size_t runGlyphsCount = 0;
-                        int32_t end = start + count;
                         for (size_t i = 0; i < rc; ++i) {
                             int32_t startRun;
                             int32_t lengthRun;
                             UBiDiDirection runDir = ubidi_getVisualRun(bidi, i, &startRun, &lengthRun);
 
-                            if (startRun >= end) {
-                              break;
-                            }
-
-                            int32_t endRun = startRun + lengthRun;
-                            if (endRun <= start) {
-                              continue;
-                            }
-
-                            if (startRun < start) {
-                              startRun = start;
-                            }
-                            if (endRun > end) {
-                              endRun = end;
-                            }
-
-                            lengthRun = endRun - startRun;
-
                             bool isRTL = (runDir == UBIDI_RTL);
                             jfloat runTotalAdvance = 0;
 #if DEBUG_GLYPHS
@@ -498,34 +452,9 @@
                             computeRunValuesWithHarfbuzz(paint, chars, startRun,
                                     lengthRun, contextCount, isRTL,
                                     outAdvances, &runTotalAdvance,
-                                    &runGlyphs, &runGlyphsCount);
+                                    outGlyphs, outLogClusters);
 
-                            outAdvances += lengthRun;
                             *outTotalAdvance += runTotalAdvance;
-                            *outGlyphsCount += runGlyphsCount;
-#if DEBUG_GLYPHS
-                            LOGD("computeValuesWithHarfbuzz -- run=%d run-glyphs-count=%d",
-                                    i, runGlyphsCount);
-                            for (size_t j = 0; j < runGlyphsCount; j++) {
-                                LOGD("                          -- glyphs[%d]=%d", j, runGlyphs[j]);
-                            }
-#endif
-                            glyphRuns.push(GlyphRun(runGlyphs, runGlyphsCount, isRTL));
-                        }
-                        *outGlyphs = new jchar[*outGlyphsCount];
-
-                        jchar* glyphs = *outGlyphs;
-                        for (size_t i = 0; i < glyphRuns.size(); i++) {
-                            const GlyphRun& glyphRun = glyphRuns.itemAt(i);
-                            if (glyphRun.isRTL) {
-                                for (size_t n = 0; n < glyphRun.glyphsCount; n++) {
-                                    glyphs[glyphRun.glyphsCount - n - 1] = glyphRun.glyphs[n];
-                                }
-                            } else {
-                                memcpy(glyphs, glyphRun.glyphs, glyphRun.glyphsCount * sizeof(jchar));
-                            }
-                            glyphs += glyphRun.glyphsCount;
-                            delete[] glyphRun.glyphs;
                         }
                     }
                 }
@@ -535,25 +464,21 @@
                 bool isRTL = (bidiReq = 1) || (bidiReq = UBIDI_DEFAULT_RTL);
 #if DEBUG_GLYPHS
                 LOGD("computeValuesWithHarfbuzz -- cannot run BiDi, considering a SINGLE Run "
-                        "-- run-start=%d run-len=%d isRTL=%d", start, count, isRTL);
+                        "-- run-start=%d run-len=%d isRTL=%d", 0, contextCount, isRTL);
 #endif
-                computeRunValuesWithHarfbuzz(paint, chars, start, count, contextCount, isRTL,
-                        outAdvances, outTotalAdvance, outGlyphs, outGlyphsCount);
-
-                if (isRTL && *outGlyphsCount > 1) {
-                    reverseGlyphArray(*outGlyphs, *outGlyphsCount);
-                }
+                computeRunValuesWithHarfbuzz(paint, chars, 0, contextCount, contextCount, isRTL,
+                        outAdvances, outTotalAdvance, outGlyphs, outLogClusters);
             }
         }
 #if DEBUG_GLYPHS
-        LOGD("computeValuesWithHarfbuzz -- total-glyphs-count=%d", *outGlyphsCount);
+        LOGD("computeValuesWithHarfbuzz -- total-glyphs-count=%d", outGlyphs->size());
 #endif
 }
 
 static void logGlyphs(HB_ShaperItem shaperItem) {
     LOGD("Got glyphs - count=%d", shaperItem.num_glyphs);
     for (size_t i = 0; i < shaperItem.num_glyphs; i++) {
-        LOGD("      glyphs[%d]=%d - offset.x=%f offset.y=%f", i, shaperItem.glyphs[i],
+        LOGD("      glyph[%d]=%d - offset.x=%f offset.y=%f", i, shaperItem.glyphs[i],
                 HBFixedToFloat(shaperItem.offsets[i].x),
                 HBFixedToFloat(shaperItem.offsets[i].y));
     }
@@ -561,12 +486,13 @@
 
 void TextLayoutCacheValue::computeRunValuesWithHarfbuzz(SkPaint* paint, const UChar* chars,
         size_t start, size_t count, size_t contextCount, bool isRTL,
-        jfloat* outAdvances, jfloat* outTotalAdvance,
-        jchar** outGlyphs, size_t* outGlyphsCount) {
+        Vector<jfloat>* const outAdvances, jfloat* outTotalAdvance,
+        Vector<jchar>* const outGlyphs, Vector<unsigned short>* const outLogClusters) {
 
     HB_ShaperItem shaperItem;
     HB_FontRec font;
     FontData fontData;
+
     shapeWithHarfbuzz(&shaperItem, &font, &fontData, paint, chars, start, count,
             contextCount, isRTL);
 
@@ -583,30 +509,28 @@
 #if DEBUG_GLYPHS
     LOGD("HARFBUZZ -- advances array is empty or num_glypth = 0");
 #endif
-        for (size_t i = 0; i < count; i++) {
-            outAdvances[i] = 0;
-        }
+        outAdvances->insertAt(0, outAdvances->size(), count);
         *outTotalAdvance = 0;
 
-        if (outGlyphs) {
-            *outGlyphsCount = 0;
-            *outGlyphs = new jchar[0];
-        }
-
         // Cleaning
         deleteGlyphArrays(&shaperItem);
         HB_FreeFace(shaperItem.face);
         return;
     }
+
     // Get Advances and their total
-    jfloat totalAdvance = outAdvances[0] = HBFixedToFloat(shaperItem.advances[shaperItem.log_clusters[0]]);
+    jfloat currentAdvance = HBFixedToFloat(shaperItem.advances[shaperItem.log_clusters[0]]);
+    jfloat totalAdvance = currentAdvance;
+    outAdvances->add(currentAdvance);
     for (size_t i = 1; i < count; i++) {
         size_t clusterPrevious = shaperItem.log_clusters[i - 1];
         size_t cluster = shaperItem.log_clusters[i];
         if (cluster == clusterPrevious) {
-            outAdvances[i] = 0;
+            outAdvances->add(0);
         } else {
-            totalAdvance += outAdvances[i] = HBFixedToFloat(shaperItem.advances[shaperItem.log_clusters[i]]);
+            currentAdvance = HBFixedToFloat(shaperItem.advances[shaperItem.log_clusters[i]]);
+            totalAdvance += currentAdvance;
+            outAdvances->add(currentAdvance);
         }
     }
     *outTotalAdvance = totalAdvance;
@@ -614,16 +538,32 @@
 #if DEBUG_ADVANCES
     for (size_t i = 0; i < count; i++) {
         LOGD("hb-adv[%d] = %f - log_clusters = %d - total = %f", i,
-                outAdvances[i], shaperItem.log_clusters[i], totalAdvance);
+                (*outAdvances)[i], shaperItem.log_clusters[i], totalAdvance);
     }
 #endif
 
-    // Get Glyphs
+    // Get Glyphs and reverse them in place if RTL
     if (outGlyphs) {
-        *outGlyphsCount = shaperItem.num_glyphs;
-        *outGlyphs = new jchar[shaperItem.num_glyphs];
-        for (size_t i = 0; i < shaperItem.num_glyphs; i++) {
-            (*outGlyphs)[i] = (jchar) shaperItem.glyphs[i];
+        size_t countGlyphs = shaperItem.num_glyphs;
+        for (size_t i = 0; i < countGlyphs; i++) {
+            jchar glyph = (jchar) shaperItem.glyphs[(!isRTL) ? i : countGlyphs - 1 - i];
+#if DEBUG_GLYPHS
+            LOGD("HARFBUZZ  -- glyph[%d]=%d", i, glyph);
+#endif
+            outGlyphs->add(glyph);
+        }
+    }
+
+    // Get LogClusters
+    if (outLogClusters) {
+        size_t countLogClusters = outLogClusters->size();
+        for (size_t i = 0; i < count; i++) {
+            // As there may be successive runs, we need to shift the log clusters
+            unsigned short logCluster = shaperItem.log_clusters[i] + countLogClusters;
+#if DEBUG_GLYPHS
+            LOGD("HARFBUZZ  -- logCluster[%d] relative=%d - absolute=%d", i, shaperItem.log_clusters[i], logCluster);
+#endif
+            outLogClusters->add(logCluster);
         }
     }
 
@@ -632,75 +572,6 @@
     HB_FreeFace(shaperItem.face);
 }
 
-void TextLayoutCacheValue::computeAdvancesWithICU(SkPaint* paint, const UChar* chars,
-        size_t start, size_t count, size_t contextCount, int dirFlags,
-        jfloat* outAdvances, jfloat* outTotalAdvance) {
-    SkAutoSTMalloc<CHAR_BUFFER_SIZE, jchar> tempBuffer(contextCount);
-    jchar* buffer = tempBuffer.get();
-    SkScalar* scalarArray = (SkScalar*)outAdvances;
-
-    // this is where we'd call harfbuzz
-    // for now we just use ushape.c
-    size_t widths;
-    const jchar* text;
-    if (dirFlags & 0x1) { // rtl, call arabic shaping in case
-        UErrorCode status = U_ZERO_ERROR;
-        // Use fixed length since we need to keep start and count valid
-        u_shapeArabic(chars, contextCount, buffer, contextCount,
-                U_SHAPE_LENGTH_FIXED_SPACES_NEAR |
-                U_SHAPE_TEXT_DIRECTION_LOGICAL | U_SHAPE_LETTERS_SHAPE |
-                U_SHAPE_X_LAMALEF_SUB_ALTERNATE, &status);
-        // we shouldn't fail unless there's an out of memory condition,
-        // in which case we're hosed anyway
-        for (int i = start, e = i + count; i < e; ++i) {
-            if (buffer[i] == UNICODE_NOT_A_CHAR) {
-                buffer[i] = UNICODE_ZWSP; // zero-width-space for skia
-            }
-        }
-        text = buffer + start;
-        widths = paint->getTextWidths(text, count << 1, scalarArray);
-    } else {
-        text = chars + start;
-        widths = paint->getTextWidths(text, count << 1, scalarArray);
-    }
-
-    jfloat totalAdvance = 0;
-    if (widths < count) {
-#if DEBUG_ADVANCES
-    LOGD("ICU -- count=%d", widths);
-#endif
-        // Skia operates on code points, not code units, so surrogate pairs return only
-        // one value. Expand the result so we have one value per UTF-16 code unit.
-
-        // Note, skia's getTextWidth gets confused if it encounters a surrogate pair,
-        // leaving the remaining widths zero.  Not nice.
-        for (size_t i = 0, p = 0; i < widths; ++i) {
-            totalAdvance += outAdvances[p++] = SkScalarToFloat(scalarArray[i]);
-            if (p < count &&
-                    text[p] >= UNICODE_FIRST_LOW_SURROGATE &&
-                    text[p] < UNICODE_FIRST_PRIVATE_USE &&
-                    text[p-1] >= UNICODE_FIRST_HIGH_SURROGATE &&
-                    text[p-1] < UNICODE_FIRST_LOW_SURROGATE) {
-                outAdvances[p++] = 0;
-            }
-#if DEBUG_ADVANCES
-            LOGD("icu-adv = %f - total = %f", outAdvances[i], totalAdvance);
-#endif
-        }
-    } else {
-#if DEBUG_ADVANCES
-    LOGD("ICU -- count=%d", count);
-#endif
-        for (size_t i = 0; i < count; i++) {
-            totalAdvance += outAdvances[i] = SkScalarToFloat(scalarArray[i]);
-#if DEBUG_ADVANCES
-            LOGD("icu-adv = %f - total = %f", outAdvances[i], totalAdvance);
-#endif
-        }
-    }
-    *outTotalAdvance = totalAdvance;
-}
-
 void TextLayoutCacheValue::deleteGlyphArrays(HB_ShaperItem* shaperItem) {
     delete[] shaperItem->glyphs;
     delete[] shaperItem->attributes;
@@ -726,5 +597,59 @@
     memset(shaperItem->offsets, 0, size * sizeof(shaperItem->offsets[0]));
 }
 
+void TextLayoutCacheValue::getAdvances(size_t start, size_t count, jfloat* outAdvances) const {
+    memcpy(outAdvances, mAdvances.array() + start, count * sizeof(jfloat));
+#if DEBUG_ADVANCES
+    LOGD("getAdvances - start=%d count=%d", start, count);
+    for (size_t i = 0; i < count; i++) {
+        LOGD("  adv[%d] = %f", i, outAdvances[i]);
+    }
+#endif
+}
+
+jfloat TextLayoutCacheValue::getTotalAdvance(size_t start, size_t count) const {
+    jfloat outTotalAdvance = 0;
+    for (size_t i = start; i < start + count; i++) {
+        outTotalAdvance += mAdvances[i];
+    }
+#if DEBUG_ADVANCES
+    LOGD("getTotalAdvance - start=%d count=%d - total=%f", start, count, outTotalAdvance);
+#endif
+     return outTotalAdvance;
+}
+
+void TextLayoutCacheValue::getGlyphsIndexAndCount(size_t start, size_t count, size_t* outStartIndex,
+        size_t* outGlyphsCount) const {
+    *outStartIndex = 0;
+    if (count == 0) {
+        *outGlyphsCount = 0;
+        return;
+    }
+    *outStartIndex = mLogClusters[start];
+    size_t endIndex = (start + count >= mAdvances.size()) ?
+            mGlyphs.size() : mLogClusters[start + count];
+    *outGlyphsCount = endIndex - *outStartIndex;
+#if DEBUG_GLYPHS
+    LOGD("getGlyphsIndexes - start=%d count=%d - startIndex=%d count=%d", start, count,
+            *outStartIndex, *outGlyphsCount);
+    for(size_t i = 0; i < mGlyphs.size(); i++) {
+        LOGD("getGlyphs - all - glyph[%d] = %d", i, mGlyphs[i]);
+    }
+    for(size_t i = 0; i < mAdvances.size(); i++) {
+        LOGD("getGlyphs - all - logcl[%d] = %d", i, mLogClusters[i]);
+    }
+#endif
+}
+
+const jchar* TextLayoutCacheValue::getGlyphs(size_t startIndex, size_t count) {
+    const jchar* glyphs = mGlyphs.array() + startIndex;
+#if DEBUG_GLYPHS
+    LOGD("getGlyphs - with startIndex = %d  count = %d", startIndex, count);
+    for (size_t i = 0; i < count; i++) {
+        LOGD("getGlyphs - result - glyph[%d] = %d", i, glyphs[i]);
+    }
+#endif
+    return glyphs;
+}
 
 } // namespace android
diff --git a/core/jni/android/graphics/TextLayoutCache.h b/core/jni/android/graphics/TextLayoutCache.h
index 0d8d71f..6dda1e5 100644
--- a/core/jni/android/graphics/TextLayoutCache.h
+++ b/core/jni/android/graphics/TextLayoutCache.h
@@ -68,11 +68,9 @@
 public:
     TextLayoutCacheKey();
 
-    TextLayoutCacheKey(const SkPaint* paint,
-            const UChar* text, size_t start, size_t count,
-            size_t contextCount, int dirFlags);
+    TextLayoutCacheKey(const SkPaint* paint, const UChar* text, size_t count, int dirFlags);
 
-    bool operator<(const TextLayoutCacheKey& rhs) const;
+    TextLayoutCacheKey(const TextLayoutCacheKey& other);
 
     /**
      * We need to copy the text when we insert the key into the cache itself.
@@ -85,12 +83,12 @@
      */
     size_t getSize();
 
+    static int compare(const TextLayoutCacheKey& lhs, const TextLayoutCacheKey& rhs);
+
 private:
-    const UChar* text;
+    const UChar* text; // if text is NULL, use textCopy
     String16 textCopy;
-    size_t start;
     size_t count;
-    size_t contextCount;
     int dirFlags;
     SkTypeface* typeface;
     SkScalar textSize;
@@ -98,29 +96,36 @@
     SkScalar textScaleX;
     uint32_t flags;
     SkPaint::Hinting hinting;
+
+    inline const UChar* getText() const { return text ? text : textCopy.string(); }
+
 }; // TextLayoutCacheKey
 
+inline int strictly_order_type(const TextLayoutCacheKey& lhs, const TextLayoutCacheKey& rhs) {
+    return TextLayoutCacheKey::compare(lhs, rhs) < 0;
+}
+
+inline int compare_type(const TextLayoutCacheKey& lhs, const TextLayoutCacheKey& rhs) {
+    return TextLayoutCacheKey::compare(lhs, rhs);
+}
+
 /*
  * TextLayoutCacheValue is the Cache value
  */
 class TextLayoutCacheValue : public RefBase {
-protected:
-    ~TextLayoutCacheValue();
-
 public:
     TextLayoutCacheValue();
 
     void setElapsedTime(uint32_t time);
     uint32_t getElapsedTime();
 
-    void computeValues(SkPaint* paint, const UChar* chars, size_t start, size_t count,
-            size_t contextCount, int dirFlags);
+    void computeValues(SkPaint* paint, const UChar* chars, size_t contextCount, int dirFlags);
 
-    inline const jfloat* getAdvances() const { return mAdvances; }
-    inline size_t getAdvancesCount() const { return mAdvancesCount; }
-    inline jfloat getTotalAdvance() const { return mTotalAdvance; }
-    inline const jchar* getGlyphs() const { return mGlyphs; }
-    inline size_t getGlyphsCount() const { return mGlyphsCount; }
+    void    getAdvances(size_t start, size_t count, jfloat* outAdvances) const;
+    jfloat  getTotalAdvance(size_t start, size_t count) const;
+    void    getGlyphsIndexAndCount(size_t start, size_t count, size_t* outStartIndex,
+                size_t* outGlyphsCount) const;
+    const jchar*  getGlyphs(size_t startIndex, size_t count);
 
     /**
      * Get the size of the Cache entry
@@ -135,20 +140,16 @@
             SkPaint* paint, const UChar* chars, size_t start, size_t count, size_t contextCount,
             bool isRTL);
 
-    static void computeValuesWithHarfbuzz(SkPaint* paint, const UChar* chars, size_t start,
-            size_t count, size_t contextCount, int dirFlags,
-            jfloat* outAdvances, jfloat* outTotalAdvance,
-            jchar** outGlyphs, size_t* outGlyphsCount);
-
-    static void computeAdvancesWithICU(SkPaint* paint, const UChar* chars, size_t start,
-            size_t count, size_t contextCount, int dirFlags,
-            jfloat* outAdvances, jfloat* outTotalAdvance);
+    static void computeValuesWithHarfbuzz(SkPaint* paint, const UChar* chars,
+            size_t contextCount, int dirFlags,
+            Vector<jfloat>* const outAdvances, jfloat* outTotalAdvance,
+            Vector<jchar>* const outGlyphs, Vector<unsigned short>* const outLogClusters);
 
 private:
     /**
-     * Advances array
+     * Advances vector
      */
-    jfloat* mAdvances;
+    Vector<jfloat> mAdvances;
 
     /**
      * Total number of advances
@@ -156,19 +157,14 @@
     jfloat mTotalAdvance;
 
     /**
-     * Allocated size for advances array
+     * Glyphs vector
      */
-    size_t mAdvancesCount;
+    Vector<jchar> mGlyphs;
 
     /**
-     * Glyphs array
+     * Harfbuzz Log Clusters
      */
-    jchar* mGlyphs;
-
-    /**
-     * Total number of glyphs
-     */
-    size_t mGlyphsCount;
+    Vector<unsigned short> mLogClusters;
 
     /**
      * Time for computing the values (in milliseconds)
@@ -181,8 +177,8 @@
 
     static void computeRunValuesWithHarfbuzz(SkPaint* paint, const UChar* chars, size_t start,
             size_t count, size_t contextCount, bool isRTL,
-            jfloat* outAdvances, jfloat* outTotalAdvance,
-            jchar** outGlyphs, size_t* outGlyphsCount);
+            Vector<jfloat>* const outAdvances, jfloat* outTotalAdvance,
+            Vector<jchar>* const outGlyphs, Vector<unsigned short>* const outLogClusters);
 }; // TextLayoutCacheValue
 
 /**
@@ -206,8 +202,8 @@
      */
     void operator()(TextLayoutCacheKey& text, sp<TextLayoutCacheValue>& desc);
 
-    sp<TextLayoutCacheValue> getValue(SkPaint* paint,
-            const jchar* text, jint start, jint count, jint contextCount, jint dirFlags);
+    sp<TextLayoutCacheValue> getValue(SkPaint* paint, const jchar* text, jint count,
+            jint dirFlags);
 
     /**
      * Clear the cache
diff --git a/core/jni/android_net_wifi_Wifi.cpp b/core/jni/android_net_wifi_Wifi.cpp
index 84a50f0..84c636b 100644
--- a/core/jni/android_net_wifi_Wifi.cpp
+++ b/core/jni/android_net_wifi_Wifi.cpp
@@ -402,30 +402,6 @@
     return (jint)rssi;
 }
 
-static jint android_net_wifi_getRssiCommand(JNIEnv* env, jobject)
-{
-    return android_net_wifi_getRssiHelper("DRIVER RSSI");
-}
-
-static jint android_net_wifi_getRssiApproxCommand(JNIEnv* env, jobject)
-{
-    return android_net_wifi_getRssiHelper("DRIVER RSSI-APPROX");
-}
-
-static jint android_net_wifi_getLinkSpeedCommand(JNIEnv* env, jobject)
-{
-    char reply[BUF_SIZE];
-    int linkspeed;
-
-    if (doCommand("DRIVER LINKSPEED", reply, sizeof(reply)) != 0) {
-        return (jint)-1;
-    }
-    // reply comes back in the form "LinkSpeed XX" where XX is the
-    // number we're interested in.
-    sscanf(reply, "%*s %u", &linkspeed);
-    return (jint)linkspeed;
-}
-
 static jstring android_net_wifi_getMacAddressCommand(JNIEnv* env, jobject)
 {
     char reply[BUF_SIZE];
@@ -625,10 +601,6 @@
     		(void*) android_net_wifi_setBluetoothCoexistenceModeCommand },
     { "setBluetoothCoexistenceScanModeCommand", "(Z)Z",
     		(void*) android_net_wifi_setBluetoothCoexistenceScanModeCommand },
-    { "getRssiCommand", "()I", (void*) android_net_wifi_getRssiCommand },
-    { "getRssiApproxCommand", "()I",
-            (void*) android_net_wifi_getRssiApproxCommand},
-    { "getLinkSpeedCommand", "()I", (void*) android_net_wifi_getLinkSpeedCommand },
     { "getMacAddressCommand", "()Ljava/lang/String;", (void*) android_net_wifi_getMacAddressCommand },
     { "saveConfigCommand", "()Z", (void*) android_net_wifi_saveConfigCommand },
     { "reloadConfigCommand", "()Z", (void*) android_net_wifi_reloadConfigCommand },
diff --git a/core/jni/android_server_NetworkManagementSocketTagger.cpp b/core/jni/android_server_NetworkManagementSocketTagger.cpp
new file mode 100644
index 0000000..c279ced
--- /dev/null
+++ b/core/jni/android_server_NetworkManagementSocketTagger.cpp
@@ -0,0 +1,97 @@
+/*
+ * Copyright 2011, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#define LOG_TAG "NMST_QTagUidNative"
+#include <utils/Log.h>
+
+#include "JNIHelp.h"
+
+#include "jni.h"
+#include <utils/misc.h>
+#include <cutils/qtaguid.h>
+
+#include <errno.h>
+#include <fcntl.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+
+namespace android {
+
+static jint QTagUid_tagSocketFd(JNIEnv* env, jclass,
+                                jobject fileDescriptor,
+                                jint tagNum, jint uid) {
+  int userFd = jniGetFDFromFileDescriptor(env, fileDescriptor);
+
+  if (env->ExceptionOccurred() != NULL) {
+    LOGE("Can't get FileDescriptor num");
+    return (jint)-1;
+  }
+
+  int res = qtaguid_tagSocket(userFd, tagNum, uid);
+  if (res < 0) {
+    return (jint)-errno;
+  }
+  return (jint)res;
+}
+
+static int QTagUid_untagSocketFd(JNIEnv* env, jclass,
+                                 jobject fileDescriptor) {
+  int userFd = jniGetFDFromFileDescriptor(env, fileDescriptor);
+
+  if (env->ExceptionOccurred() != NULL) {
+    LOGE("Can't get FileDescriptor num");
+    return (jint)-1;
+  }
+
+  int res = qtaguid_untagSocket(userFd);
+  if (res < 0) {
+    return (jint)-errno;
+  }
+  return (jint)res;
+}
+
+static jint QTagUid_setCounterSet(JNIEnv* env, jclass,
+                                  jint setNum, jint uid) {
+
+  int res = qtaguid_setCounterSet(setNum, uid);
+  if (res < 0) {
+    return (jint)-errno;
+  }
+  return (jint)res;
+}
+
+static jint QTagUid_deleteTagData(JNIEnv* env, jclass,
+                                  jint tagNum, jint uid) {
+
+  int res = qtaguid_deleteTagData(tagNum, uid);
+  if (res < 0) {
+    return (jint)-errno;
+  }
+  return (jint)res;
+}
+
+static JNINativeMethod gQTagUidMethods[] = {
+  { "native_tagSocketFd", "(Ljava/io/FileDescriptor;II)I", (void*)QTagUid_tagSocketFd},
+  { "native_untagSocketFd", "(Ljava/io/FileDescriptor;)I", (void*)QTagUid_untagSocketFd},
+  { "native_setCounterSet", "(II)I", (void*)QTagUid_setCounterSet},
+  { "native_deleteTagData", "(II)I", (void*)QTagUid_deleteTagData},
+};
+
+int register_android_server_NetworkManagementSocketTagger(JNIEnv* env) {
+  return jniRegisterNativeMethods(env, "com/android/server/NetworkManagementSocketTagger", gQTagUidMethods, NELEM(gQTagUidMethods));
+}
+
+};
diff --git a/core/jni/android_util_Binder.cpp b/core/jni/android_util_Binder.cpp
index 494a2b3..1718e74 100644
--- a/core/jni/android_util_Binder.cpp
+++ b/core/jni/android_util_Binder.cpp
@@ -697,6 +697,10 @@
             LOGE("!!! FAILED BINDER TRANSACTION !!!");
             //jniThrowException(env, "java/lang/OutOfMemoryError", "Binder transaction too large");
             break;
+        case FDS_NOT_ALLOWED:
+            jniThrowException(env, "java/lang/RuntimeException",
+                    "Not allowed to write file descriptors here");
+            break;
         default:
             LOGE("Unknown binder error code. 0x%x", err);
     }
@@ -1275,7 +1279,7 @@
     if (parcel != NULL) {
         const status_t err = parcel->setDataSize(size);
         if (err != NO_ERROR) {
-            jniThrowException(env, "java/lang/OutOfMemoryError", NULL);
+            signalExceptionForError(env, clazz, err);
         }
     }
 }
@@ -1294,11 +1298,29 @@
     if (parcel != NULL) {
         const status_t err = parcel->setDataCapacity(size);
         if (err != NO_ERROR) {
-            jniThrowException(env, "java/lang/OutOfMemoryError", NULL);
+            signalExceptionForError(env, clazz, err);
         }
     }
 }
 
+static jboolean android_os_Parcel_pushAllowFds(JNIEnv* env, jobject clazz, jboolean allowFds)
+{
+    Parcel* parcel = parcelForJavaObject(env, clazz);
+    jboolean ret = JNI_TRUE;
+    if (parcel != NULL) {
+        ret = (jboolean)parcel->pushAllowFds(allowFds);
+    }
+    return ret;
+}
+
+static void android_os_Parcel_restoreAllowFds(JNIEnv* env, jobject clazz, jboolean lastValue)
+{
+    Parcel* parcel = parcelForJavaObject(env, clazz);
+    if (parcel != NULL) {
+        parcel->restoreAllowFds((bool)lastValue);
+    }
+}
+
 static void android_os_Parcel_writeNative(JNIEnv* env, jobject clazz,
                                           jobject data, jint offset,
                                           jint length)
@@ -1310,12 +1332,13 @@
 
     const status_t err = parcel->writeInt32(length);
     if (err != NO_ERROR) {
-        jniThrowException(env, "java/lang/OutOfMemoryError", NULL);
+        signalExceptionForError(env, clazz, err);
+        return;
     }
 
     void* dest = parcel->writeInplace(length);
     if (dest == NULL) {
-        jniThrowException(env, "java/lang/OutOfMemoryError", NULL);
+        signalExceptionForError(env, clazz, NO_MEMORY);
         return;
     }
 
@@ -1333,7 +1356,7 @@
     if (parcel != NULL) {
         const status_t err = parcel->writeInt32(val);
         if (err != NO_ERROR) {
-            jniThrowException(env, "java/lang/OutOfMemoryError", NULL);
+            signalExceptionForError(env, clazz, err);
         }
     }
 }
@@ -1344,7 +1367,7 @@
     if (parcel != NULL) {
         const status_t err = parcel->writeInt64(val);
         if (err != NO_ERROR) {
-            jniThrowException(env, "java/lang/OutOfMemoryError", NULL);
+            signalExceptionForError(env, clazz, err);
         }
     }
 }
@@ -1355,7 +1378,7 @@
     if (parcel != NULL) {
         const status_t err = parcel->writeFloat(val);
         if (err != NO_ERROR) {
-            jniThrowException(env, "java/lang/OutOfMemoryError", NULL);
+            signalExceptionForError(env, clazz, err);
         }
     }
 }
@@ -1366,7 +1389,7 @@
     if (parcel != NULL) {
         const status_t err = parcel->writeDouble(val);
         if (err != NO_ERROR) {
-            jniThrowException(env, "java/lang/OutOfMemoryError", NULL);
+            signalExceptionForError(env, clazz, err);
         }
     }
 }
@@ -1386,7 +1409,7 @@
             err = parcel->writeString16(NULL, 0);
         }
         if (err != NO_ERROR) {
-            jniThrowException(env, "java/lang/OutOfMemoryError", NULL);
+            signalExceptionForError(env, clazz, err);
         }
     }
 }
@@ -1397,7 +1420,7 @@
     if (parcel != NULL) {
         const status_t err = parcel->writeStrongBinder(ibinderForJavaObject(env, object));
         if (err != NO_ERROR) {
-            jniThrowException(env, "java/lang/OutOfMemoryError", NULL);
+            signalExceptionForError(env, clazz, err);
         }
     }
 }
@@ -1409,7 +1432,7 @@
         const status_t err =
                 parcel->writeDupFileDescriptor(jniGetFDFromFileDescriptor(env, object));
         if (err != NO_ERROR) {
-            jniThrowException(env, "java/lang/OutOfMemoryError", NULL);
+            signalExceptionForError(env, clazz, err);
         }
     }
 }
@@ -1717,7 +1740,10 @@
        return;
     }
 
-    (void) thisParcel->appendFrom(otherParcel, offset, length);
+    status_t err = thisParcel->appendFrom(otherParcel, offset, length);
+    if (err != NO_ERROR) {
+        signalExceptionForError(env, clazz, err);
+    }
 }
 
 static jboolean android_os_Parcel_hasFileDescriptors(JNIEnv* env, jobject clazz)
@@ -1792,6 +1818,8 @@
     {"setDataSize",         "(I)V", (void*)android_os_Parcel_setDataSize},
     {"setDataPosition",     "(I)V", (void*)android_os_Parcel_setDataPosition},
     {"setDataCapacity",     "(I)V", (void*)android_os_Parcel_setDataCapacity},
+    {"pushAllowFds",        "(Z)Z", (void*)android_os_Parcel_pushAllowFds},
+    {"restoreAllowFds",     "(Z)V", (void*)android_os_Parcel_restoreAllowFds},
     {"writeNative",         "([BII)V", (void*)android_os_Parcel_writeNative},
     {"writeInt",            "(I)V", (void*)android_os_Parcel_writeInt},
     {"writeLong",           "(J)V", (void*)android_os_Parcel_writeLong},
diff --git a/core/jni/android_view_GLES20Canvas.cpp b/core/jni/android_view_GLES20Canvas.cpp
index 395e417..e542a47 100644
--- a/core/jni/android_view_GLES20Canvas.cpp
+++ b/core/jni/android_view_GLES20Canvas.cpp
@@ -477,19 +477,21 @@
 #if RTL_USE_HARFBUZZ
     sp<TextLayoutCacheValue> value;
 #if USE_TEXT_LAYOUT_CACHE
-    value = TextLayoutCache::getInstance().getValue(paint, text, 0, count, count, flags);
+    value = TextLayoutCache::getInstance().getValue(paint, text, count, flags);
     if (value == NULL) {
         LOGE("Cannot get TextLayoutCache value");
         return ;
     }
 #else
     value = new TextLayoutCacheValue();
-    value->computeValues(paint, text, 0, count, count, flags);
+    value->computeValues(paint, text, count, flags);
 #endif
-    const jchar* glyphArray = value->getGlyphs();
-    int glyphCount = value->getGlyphsCount();
-    int bytesCount = glyphCount * sizeof(jchar);
-    renderer->drawText((const char*) glyphArray, bytesCount, glyphCount, x, y, paint);
+    size_t startIndex = 0;
+    size_t glyphsCount = 0;
+    value->getGlyphsIndexAndCount(0, count, &startIndex, &glyphsCount);
+    const jchar* glyphs = value->getGlyphs(startIndex, glyphsCount);
+    int bytesCount = glyphsCount * sizeof(jchar);
+    renderer->drawText((const char*) glyphs, bytesCount, glyphsCount, x, y, paint);
 #else
     const jchar *workText;
     jchar* buffer = NULL;
@@ -507,19 +509,21 @@
 #if RTL_USE_HARFBUZZ
     sp<TextLayoutCacheValue> value;
 #if USE_TEXT_LAYOUT_CACHE
-    value = TextLayoutCache::getInstance().getValue(paint, text, start, count, contextCount, flags);
+    value = TextLayoutCache::getInstance().getValue(paint, text, contextCount, flags);
     if (value == NULL) {
         LOGE("Cannot get TextLayoutCache value");
         return ;
     }
 #else
     value = new TextLayoutCacheValue();
-    value->computeValues(paint, text, start, count, contextCount, flags);
+    value->computeValues(paint, text, contextCount, flags);
 #endif
-    const jchar* glyphArray = value->getGlyphs();
-    int glyphCount = value->getGlyphsCount();
-    int bytesCount = glyphCount * sizeof(jchar);
-    renderer->drawText((const char*) glyphArray, bytesCount, glyphCount, x, y, paint);
+    size_t startIndex = 0;
+    size_t glyphsCount = 0;
+    value->getGlyphsIndexAndCount(start, count, &startIndex, &glyphsCount);
+    const jchar* glyphs = value->getGlyphs(startIndex, glyphsCount);
+    int bytesCount = glyphsCount * sizeof(jchar);
+    renderer->drawText((const char*) glyphs, bytesCount, glyphsCount, x, y, paint);
 #else
     uint8_t rtl = flags & 0x1;
     if (rtl) {
diff --git a/core/res/res/drawable-hdpi/btn_check_on_disabled_focused_holo_dark.png b/core/res/res/drawable-hdpi/btn_check_on_disabled_focused_holo_dark.png
index 671ca31..52a9800 100644
--- a/core/res/res/drawable-hdpi/btn_check_on_disabled_focused_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_check_on_disabled_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_on_disabled_focused_holo_light.png b/core/res/res/drawable-hdpi/btn_check_on_disabled_focused_holo_light.png
index b024da4..49a2aeb 100644
--- a/core/res/res/drawable-hdpi/btn_check_on_disabled_focused_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_check_on_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_on_disabled_holo_dark.png b/core/res/res/drawable-hdpi/btn_check_on_disabled_holo_dark.png
index cba1ff5..e6ebb43 100644
--- a/core/res/res/drawable-hdpi/btn_check_on_disabled_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_check_on_disabled_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_on_disabled_holo_light.png b/core/res/res/drawable-hdpi/btn_check_on_disabled_holo_light.png
index 62537b0..7069fc5 100644
--- a/core/res/res/drawable-hdpi/btn_check_on_disabled_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_check_on_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_on_focused_holo_dark.png b/core/res/res/drawable-hdpi/btn_check_on_focused_holo_dark.png
index 5d559e1..ec2a7e3 100644
--- a/core/res/res/drawable-hdpi/btn_check_on_focused_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_check_on_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_on_focused_holo_light.png b/core/res/res/drawable-hdpi/btn_check_on_focused_holo_light.png
index 5041ff9..486334f 100644
--- a/core/res/res/drawable-hdpi/btn_check_on_focused_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_check_on_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_on_holo.png b/core/res/res/drawable-hdpi/btn_check_on_holo.png
index 4c1bfbc..1f11a78 100644
--- a/core/res/res/drawable-hdpi/btn_check_on_holo.png
+++ b/core/res/res/drawable-hdpi/btn_check_on_holo.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_on_holo_dark.png b/core/res/res/drawable-hdpi/btn_check_on_holo_dark.png
index 3492b8a..a17100c 100644
--- a/core/res/res/drawable-hdpi/btn_check_on_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_check_on_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_on_holo_light.png b/core/res/res/drawable-hdpi/btn_check_on_holo_light.png
index 49e837c..130ab4f 100644
--- a/core/res/res/drawable-hdpi/btn_check_on_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_check_on_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_on_pressed_holo_dark.png b/core/res/res/drawable-hdpi/btn_check_on_pressed_holo_dark.png
index 0d4e8b3..96abcda 100644
--- a/core/res/res/drawable-hdpi/btn_check_on_pressed_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_check_on_pressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_check_on_pressed_holo_light.png b/core/res/res/drawable-hdpi/btn_check_on_pressed_holo_light.png
index c4283b6..0a22f02 100644
--- a/core/res/res/drawable-hdpi/btn_check_on_pressed_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_check_on_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_code_lock_default_holo.png b/core/res/res/drawable-hdpi/btn_code_lock_default_holo.png
index 9409890..28b2578 100644
--- a/core/res/res/drawable-hdpi/btn_code_lock_default_holo.png
+++ b/core/res/res/drawable-hdpi/btn_code_lock_default_holo.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_code_lock_touched_holo.png b/core/res/res/drawable-hdpi/btn_code_lock_touched_holo.png
index 55acc9a..66cb1ec 100644
--- a/core/res/res/drawable-hdpi/btn_code_lock_touched_holo.png
+++ b/core/res/res/drawable-hdpi/btn_code_lock_touched_holo.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_group_focused_holo_dark.9.png b/core/res/res/drawable-hdpi/btn_group_focused_holo_dark.9.png
index 34762f8..824b45a 100644
--- a/core/res/res/drawable-hdpi/btn_group_focused_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/btn_group_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_group_focused_holo_light.9.png b/core/res/res/drawable-hdpi/btn_group_focused_holo_light.9.png
index 34762f8..824b45a 100644
--- a/core/res/res/drawable-hdpi/btn_group_focused_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/btn_group_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_group_pressed_holo_dark.9.png b/core/res/res/drawable-hdpi/btn_group_pressed_holo_dark.9.png
index 0d2eb4b..34ec825 100644
--- a/core/res/res/drawable-hdpi/btn_group_pressed_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/btn_group_pressed_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_group_pressed_holo_light.9.png b/core/res/res/drawable-hdpi/btn_group_pressed_holo_light.9.png
index 7de8d9b..f7680ab 100644
--- a/core/res/res/drawable-hdpi/btn_group_pressed_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/btn_group_pressed_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_star_off_disabled_focused_holo_dark.png b/core/res/res/drawable-hdpi/btn_star_off_disabled_focused_holo_dark.png
index 3c10014..8906c4d 100644
--- a/core/res/res/drawable-hdpi/btn_star_off_disabled_focused_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_star_off_disabled_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_star_off_disabled_focused_holo_light.png b/core/res/res/drawable-hdpi/btn_star_off_disabled_focused_holo_light.png
index 9317776..2bcb98e 100644
--- a/core/res/res/drawable-hdpi/btn_star_off_disabled_focused_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_star_off_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_star_off_disabled_holo_dark.png b/core/res/res/drawable-hdpi/btn_star_off_disabled_holo_dark.png
index 8e92f71..2e36821 100644
--- a/core/res/res/drawable-hdpi/btn_star_off_disabled_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_star_off_disabled_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_star_off_disabled_holo_light.png b/core/res/res/drawable-hdpi/btn_star_off_disabled_holo_light.png
index 54ec8ee..6a50bd8 100644
--- a/core/res/res/drawable-hdpi/btn_star_off_disabled_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_star_off_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_star_off_focused_holo_dark.png b/core/res/res/drawable-hdpi/btn_star_off_focused_holo_dark.png
index cdb1f71..8595dd0 100644
--- a/core/res/res/drawable-hdpi/btn_star_off_focused_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_star_off_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_star_off_focused_holo_light.png b/core/res/res/drawable-hdpi/btn_star_off_focused_holo_light.png
index ff7848d..1dda090 100644
--- a/core/res/res/drawable-hdpi/btn_star_off_focused_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_star_off_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_star_off_normal_holo_dark.png b/core/res/res/drawable-hdpi/btn_star_off_normal_holo_dark.png
index 98705f7..942722e 100644
--- a/core/res/res/drawable-hdpi/btn_star_off_normal_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_star_off_normal_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_star_off_normal_holo_light.png b/core/res/res/drawable-hdpi/btn_star_off_normal_holo_light.png
index 0d3147f..e46f035 100644
--- a/core/res/res/drawable-hdpi/btn_star_off_normal_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_star_off_normal_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_star_off_pressed_holo_dark.png b/core/res/res/drawable-hdpi/btn_star_off_pressed_holo_dark.png
index 01c54e6..5cfe146 100644
--- a/core/res/res/drawable-hdpi/btn_star_off_pressed_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_star_off_pressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_star_off_pressed_holo_light.png b/core/res/res/drawable-hdpi/btn_star_off_pressed_holo_light.png
index fe3225f..20d0eb3 100644
--- a/core/res/res/drawable-hdpi/btn_star_off_pressed_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_star_off_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_star_on_disabled_focused_holo_dark.png b/core/res/res/drawable-hdpi/btn_star_on_disabled_focused_holo_dark.png
index c25fe90..3b478d6 100644
--- a/core/res/res/drawable-hdpi/btn_star_on_disabled_focused_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_star_on_disabled_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_star_on_disabled_focused_holo_light.png b/core/res/res/drawable-hdpi/btn_star_on_disabled_focused_holo_light.png
index 4185d71..52a9f44 100644
--- a/core/res/res/drawable-hdpi/btn_star_on_disabled_focused_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_star_on_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_star_on_disabled_holo_dark.png b/core/res/res/drawable-hdpi/btn_star_on_disabled_holo_dark.png
index e95f4ab..9810029 100644
--- a/core/res/res/drawable-hdpi/btn_star_on_disabled_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_star_on_disabled_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_star_on_disabled_holo_light.png b/core/res/res/drawable-hdpi/btn_star_on_disabled_holo_light.png
index 7ed0fab..445af7b 100644
--- a/core/res/res/drawable-hdpi/btn_star_on_disabled_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_star_on_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_star_on_focused_holo_dark.png b/core/res/res/drawable-hdpi/btn_star_on_focused_holo_dark.png
index c9e99e8..d3884f6 100644
--- a/core/res/res/drawable-hdpi/btn_star_on_focused_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_star_on_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_star_on_focused_holo_light.png b/core/res/res/drawable-hdpi/btn_star_on_focused_holo_light.png
index f8a36b3..eea174a 100644
--- a/core/res/res/drawable-hdpi/btn_star_on_focused_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_star_on_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_star_on_normal_holo_dark.png b/core/res/res/drawable-hdpi/btn_star_on_normal_holo_dark.png
index 8bfd65a..fecb1af 100644
--- a/core/res/res/drawable-hdpi/btn_star_on_normal_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_star_on_normal_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_star_on_normal_holo_light.png b/core/res/res/drawable-hdpi/btn_star_on_normal_holo_light.png
index ba94294..58b2b09 100644
--- a/core/res/res/drawable-hdpi/btn_star_on_normal_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_star_on_normal_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_star_on_pressed_holo_dark.png b/core/res/res/drawable-hdpi/btn_star_on_pressed_holo_dark.png
index 9112ed6..a39a620 100644
--- a/core/res/res/drawable-hdpi/btn_star_on_pressed_holo_dark.png
+++ b/core/res/res/drawable-hdpi/btn_star_on_pressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/btn_star_on_pressed_holo_light.png b/core/res/res/drawable-hdpi/btn_star_on_pressed_holo_light.png
index a29f69e..1ffe7fe 100644
--- a/core/res/res/drawable-hdpi/btn_star_on_pressed_holo_light.png
+++ b/core/res/res/drawable-hdpi/btn_star_on_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/divider_horizontal_holo_dark.9.png b/core/res/res/drawable-hdpi/divider_horizontal_holo_dark.9.png
index a529487..3dfe6c2 100644
--- a/core/res/res/drawable-hdpi/divider_horizontal_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/divider_horizontal_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/divider_horizontal_holo_light.9.png b/core/res/res/drawable-hdpi/divider_horizontal_holo_light.9.png
index e3641b5..ea38ebb 100644
--- a/core/res/res/drawable-hdpi/divider_horizontal_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/divider_horizontal_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/emo_im_angel.png b/core/res/res/drawable-hdpi/emo_im_angel.png
index e9d4983..2cbb7da 100644
--- a/core/res/res/drawable-hdpi/emo_im_angel.png
+++ b/core/res/res/drawable-hdpi/emo_im_angel.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/emo_im_cool.png b/core/res/res/drawable-hdpi/emo_im_cool.png
index c8464b5..3813bc6 100644
--- a/core/res/res/drawable-hdpi/emo_im_cool.png
+++ b/core/res/res/drawable-hdpi/emo_im_cool.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/emo_im_crying.png b/core/res/res/drawable-hdpi/emo_im_crying.png
index 94a2b9a..3982d70 100644
--- a/core/res/res/drawable-hdpi/emo_im_crying.png
+++ b/core/res/res/drawable-hdpi/emo_im_crying.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/emo_im_embarrassed.png b/core/res/res/drawable-hdpi/emo_im_embarrassed.png
index fe9138d..982f0ae 100644
--- a/core/res/res/drawable-hdpi/emo_im_embarrassed.png
+++ b/core/res/res/drawable-hdpi/emo_im_embarrassed.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/emo_im_foot_in_mouth.png b/core/res/res/drawable-hdpi/emo_im_foot_in_mouth.png
index 9847177..d40fb90 100644
--- a/core/res/res/drawable-hdpi/emo_im_foot_in_mouth.png
+++ b/core/res/res/drawable-hdpi/emo_im_foot_in_mouth.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/emo_im_happy.png b/core/res/res/drawable-hdpi/emo_im_happy.png
index eba9deb..f1e4723 100644
--- a/core/res/res/drawable-hdpi/emo_im_happy.png
+++ b/core/res/res/drawable-hdpi/emo_im_happy.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/emo_im_kissing.png b/core/res/res/drawable-hdpi/emo_im_kissing.png
index ff19711..21e5d30 100644
--- a/core/res/res/drawable-hdpi/emo_im_kissing.png
+++ b/core/res/res/drawable-hdpi/emo_im_kissing.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/emo_im_laughing.png b/core/res/res/drawable-hdpi/emo_im_laughing.png
index b1d4d6a..03aa60a 100644
--- a/core/res/res/drawable-hdpi/emo_im_laughing.png
+++ b/core/res/res/drawable-hdpi/emo_im_laughing.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/emo_im_lips_are_sealed.png b/core/res/res/drawable-hdpi/emo_im_lips_are_sealed.png
index e47cf2a..14edaeb 100644
--- a/core/res/res/drawable-hdpi/emo_im_lips_are_sealed.png
+++ b/core/res/res/drawable-hdpi/emo_im_lips_are_sealed.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/emo_im_money_mouth.png b/core/res/res/drawable-hdpi/emo_im_money_mouth.png
index 82f80f2..957bc90 100644
--- a/core/res/res/drawable-hdpi/emo_im_money_mouth.png
+++ b/core/res/res/drawable-hdpi/emo_im_money_mouth.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/emo_im_sad.png b/core/res/res/drawable-hdpi/emo_im_sad.png
index b5959ec..bcfe71b4 100644
--- a/core/res/res/drawable-hdpi/emo_im_sad.png
+++ b/core/res/res/drawable-hdpi/emo_im_sad.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/emo_im_surprised.png b/core/res/res/drawable-hdpi/emo_im_surprised.png
index dbe1c38..961a9bb 100644
--- a/core/res/res/drawable-hdpi/emo_im_surprised.png
+++ b/core/res/res/drawable-hdpi/emo_im_surprised.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/emo_im_tongue_sticking_out.png b/core/res/res/drawable-hdpi/emo_im_tongue_sticking_out.png
index fb5f9ad..7a1235c 100644
--- a/core/res/res/drawable-hdpi/emo_im_tongue_sticking_out.png
+++ b/core/res/res/drawable-hdpi/emo_im_tongue_sticking_out.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/emo_im_undecided.png b/core/res/res/drawable-hdpi/emo_im_undecided.png
index b7edef7..72bf2f2 100644
--- a/core/res/res/drawable-hdpi/emo_im_undecided.png
+++ b/core/res/res/drawable-hdpi/emo_im_undecided.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/emo_im_winking.png b/core/res/res/drawable-hdpi/emo_im_winking.png
index 6fe1027..b8fd6d9 100644
--- a/core/res/res/drawable-hdpi/emo_im_winking.png
+++ b/core/res/res/drawable-hdpi/emo_im_winking.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/emo_im_wtf.png b/core/res/res/drawable-hdpi/emo_im_wtf.png
index 1d4a99b..b221795 100644
--- a/core/res/res/drawable-hdpi/emo_im_wtf.png
+++ b/core/res/res/drawable-hdpi/emo_im_wtf.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/emo_im_yelling.png b/core/res/res/drawable-hdpi/emo_im_yelling.png
index 99d694b..59798cb 100644
--- a/core/res/res/drawable-hdpi/emo_im_yelling.png
+++ b/core/res/res/drawable-hdpi/emo_im_yelling.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/expander_close_holo_dark.9.png b/core/res/res/drawable-hdpi/expander_close_holo_dark.9.png
index 6bb4d1e..73ff79f 100644
--- a/core/res/res/drawable-hdpi/expander_close_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/expander_close_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/expander_close_holo_light.9.png b/core/res/res/drawable-hdpi/expander_close_holo_light.9.png
index 3fb3eb1..290c24d 100644
--- a/core/res/res/drawable-hdpi/expander_close_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/expander_close_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/expander_open_holo_dark.9.png b/core/res/res/drawable-hdpi/expander_open_holo_dark.9.png
index a679da5..754032e 100644
--- a/core/res/res/drawable-hdpi/expander_open_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/expander_open_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/expander_open_holo_light.9.png b/core/res/res/drawable-hdpi/expander_open_holo_light.9.png
index 175ce17..e32c7c7 100644
--- a/core/res/res/drawable-hdpi/expander_open_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/expander_open_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/fastscroll_label_left_holo_dark.9.png b/core/res/res/drawable-hdpi/fastscroll_label_left_holo_dark.9.png
index 0a1bca8..769cb12 100644
--- a/core/res/res/drawable-hdpi/fastscroll_label_left_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/fastscroll_label_left_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/fastscroll_label_left_holo_light.9.png b/core/res/res/drawable-hdpi/fastscroll_label_left_holo_light.9.png
index fd5b18d..c5372a8 100644
--- a/core/res/res/drawable-hdpi/fastscroll_label_left_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/fastscroll_label_left_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/fastscroll_label_right_holo_dark.9.png b/core/res/res/drawable-hdpi/fastscroll_label_right_holo_dark.9.png
index 97d61f4..1dee51b 100644
--- a/core/res/res/drawable-hdpi/fastscroll_label_right_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/fastscroll_label_right_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/fastscroll_label_right_holo_light.9.png b/core/res/res/drawable-hdpi/fastscroll_label_right_holo_light.9.png
index 9afd6ab..3c1e25a 100644
--- a/core/res/res/drawable-hdpi/fastscroll_label_right_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/fastscroll_label_right_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/fastscroll_track_default_holo_dark.9.png b/core/res/res/drawable-hdpi/fastscroll_track_default_holo_dark.9.png
index 5cd1ac7..707414d 100644
--- a/core/res/res/drawable-hdpi/fastscroll_track_default_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/fastscroll_track_default_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/fastscroll_track_default_holo_light.9.png b/core/res/res/drawable-hdpi/fastscroll_track_default_holo_light.9.png
index 5cd1ac7..707414d 100644
--- a/core/res/res/drawable-hdpi/fastscroll_track_default_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/fastscroll_track_default_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/fastscroll_track_pressed_holo_dark.9.png b/core/res/res/drawable-hdpi/fastscroll_track_pressed_holo_dark.9.png
index 9a7e5ae..4d810dd 100644
--- a/core/res/res/drawable-hdpi/fastscroll_track_pressed_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/fastscroll_track_pressed_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/fastscroll_track_pressed_holo_light.9.png b/core/res/res/drawable-hdpi/fastscroll_track_pressed_holo_light.9.png
index 9a7e5ae..64fa147 100644
--- a/core/res/res/drawable-hdpi/fastscroll_track_pressed_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/fastscroll_track_pressed_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_audio_ring_notif.png b/core/res/res/drawable-hdpi/ic_audio_ring_notif.png
index 1df6858..a89f45f 100644
--- a/core/res/res/drawable-hdpi/ic_audio_ring_notif.png
+++ b/core/res/res/drawable-hdpi/ic_audio_ring_notif.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_audio_ring_notif_mute.png b/core/res/res/drawable-hdpi/ic_audio_ring_notif_mute.png
index fae02f9..d03bade 100644
--- a/core/res/res/drawable-hdpi/ic_audio_ring_notif_mute.png
+++ b/core/res/res/drawable-hdpi/ic_audio_ring_notif_mute.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_input_delete.png b/core/res/res/drawable-hdpi/ic_input_delete.png
index f35f89f..5d638bd 100644
--- a/core/res/res/drawable-hdpi/ic_input_delete.png
+++ b/core/res/res/drawable-hdpi/ic_input_delete.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_answer_active.png b/core/res/res/drawable-hdpi/ic_lockscreen_answer_active.png
index 6395294..683a575 100644
--- a/core/res/res/drawable-hdpi/ic_lockscreen_answer_active.png
+++ b/core/res/res/drawable-hdpi/ic_lockscreen_answer_active.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_answer_focused.png b/core/res/res/drawable-hdpi/ic_lockscreen_answer_focused.png
index 74fda0f..bdece9f 100644
--- a/core/res/res/drawable-hdpi/ic_lockscreen_answer_focused.png
+++ b/core/res/res/drawable-hdpi/ic_lockscreen_answer_focused.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_answer_normal.png b/core/res/res/drawable-hdpi/ic_lockscreen_answer_normal.png
index 1558a0a..6a8ab24 100644
--- a/core/res/res/drawable-hdpi/ic_lockscreen_answer_normal.png
+++ b/core/res/res/drawable-hdpi/ic_lockscreen_answer_normal.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_decline_focused.png b/core/res/res/drawable-hdpi/ic_lockscreen_decline_focused.png
index 0ccf361..f2fceaa 100644
--- a/core/res/res/drawable-hdpi/ic_lockscreen_decline_focused.png
+++ b/core/res/res/drawable-hdpi/ic_lockscreen_decline_focused.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_decline_normal.png b/core/res/res/drawable-hdpi/ic_lockscreen_decline_normal.png
index 14a684e..e005ffc 100644
--- a/core/res/res/drawable-hdpi/ic_lockscreen_decline_normal.png
+++ b/core/res/res/drawable-hdpi/ic_lockscreen_decline_normal.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_handle_normal.png b/core/res/res/drawable-hdpi/ic_lockscreen_handle_normal.png
index 1b7f499..f41ad95 100644
--- a/core/res/res/drawable-hdpi/ic_lockscreen_handle_normal.png
+++ b/core/res/res/drawable-hdpi/ic_lockscreen_handle_normal.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_handle_pressed.png b/core/res/res/drawable-hdpi/ic_lockscreen_handle_pressed.png
index 399aa1c..98ab6e9 100644
--- a/core/res/res/drawable-hdpi/ic_lockscreen_handle_pressed.png
+++ b/core/res/res/drawable-hdpi/ic_lockscreen_handle_pressed.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_silent_focused.png b/core/res/res/drawable-hdpi/ic_lockscreen_silent_focused.png
index b79dbba..651b837 100644
--- a/core/res/res/drawable-hdpi/ic_lockscreen_silent_focused.png
+++ b/core/res/res/drawable-hdpi/ic_lockscreen_silent_focused.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_silent_normal.png b/core/res/res/drawable-hdpi/ic_lockscreen_silent_normal.png
index 8632545..babab1d 100644
--- a/core/res/res/drawable-hdpi/ic_lockscreen_silent_normal.png
+++ b/core/res/res/drawable-hdpi/ic_lockscreen_silent_normal.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_soundon_focused.png b/core/res/res/drawable-hdpi/ic_lockscreen_soundon_focused.png
index e25c7a0..d000866 100644
--- a/core/res/res/drawable-hdpi/ic_lockscreen_soundon_focused.png
+++ b/core/res/res/drawable-hdpi/ic_lockscreen_soundon_focused.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_soundon_normal.png b/core/res/res/drawable-hdpi/ic_lockscreen_soundon_normal.png
index 701fa42..82133d0 100644
--- a/core/res/res/drawable-hdpi/ic_lockscreen_soundon_normal.png
+++ b/core/res/res/drawable-hdpi/ic_lockscreen_soundon_normal.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_text_focusde.png b/core/res/res/drawable-hdpi/ic_lockscreen_text_focusde.png
index c8de3a3..26df6b2 100644
--- a/core/res/res/drawable-hdpi/ic_lockscreen_text_focusde.png
+++ b/core/res/res/drawable-hdpi/ic_lockscreen_text_focusde.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_unlock_activated.png b/core/res/res/drawable-hdpi/ic_lockscreen_unlock_activated.png
index e300943..9e36918 100644
--- a/core/res/res/drawable-hdpi/ic_lockscreen_unlock_activated.png
+++ b/core/res/res/drawable-hdpi/ic_lockscreen_unlock_activated.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_unlock_focused.png b/core/res/res/drawable-hdpi/ic_lockscreen_unlock_focused.png
deleted file mode 100644
index da77340..0000000
--- a/core/res/res/drawable-hdpi/ic_lockscreen_unlock_focused.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_lockscreen_unlock_normal.png b/core/res/res/drawable-hdpi/ic_lockscreen_unlock_normal.png
index 7db46c1..3960893 100644
--- a/core/res/res/drawable-hdpi/ic_lockscreen_unlock_normal.png
+++ b/core/res/res/drawable-hdpi/ic_lockscreen_unlock_normal.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_media_embed_play.png b/core/res/res/drawable-hdpi/ic_media_embed_play.png
index 23ac7e4..05778c1 100644
--- a/core/res/res/drawable-hdpi/ic_media_embed_play.png
+++ b/core/res/res/drawable-hdpi/ic_media_embed_play.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_notification_ime_default.png b/core/res/res/drawable-hdpi/ic_notification_ime_default.png
index ac59819..369c88d 100644
--- a/core/res/res/drawable-hdpi/ic_notification_ime_default.png
+++ b/core/res/res/drawable-hdpi/ic_notification_ime_default.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_suggestions_add.png b/core/res/res/drawable-hdpi/ic_suggestions_add.png
new file mode 100644
index 0000000..79c017a
--- /dev/null
+++ b/core/res/res/drawable-hdpi/ic_suggestions_add.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/ic_suggestions_delete.png b/core/res/res/drawable-hdpi/ic_suggestions_delete.png
new file mode 100644
index 0000000..1ae6b96
--- /dev/null
+++ b/core/res/res/drawable-hdpi/ic_suggestions_delete.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/indicator_code_lock_drag_direction_green_up.png b/core/res/res/drawable-hdpi/indicator_code_lock_drag_direction_green_up.png
deleted file mode 100644
index 6560696..0000000
--- a/core/res/res/drawable-hdpi/indicator_code_lock_drag_direction_green_up.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-hdpi/indicator_code_lock_point_area_default_holo.png b/core/res/res/drawable-hdpi/indicator_code_lock_point_area_default_holo.png
index 237011c..28b2578 100644
--- a/core/res/res/drawable-hdpi/indicator_code_lock_point_area_default_holo.png
+++ b/core/res/res/drawable-hdpi/indicator_code_lock_point_area_default_holo.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/indicator_code_lock_point_area_green_holo.png b/core/res/res/drawable-hdpi/indicator_code_lock_point_area_green_holo.png
index 2418017..545cc09 100644
--- a/core/res/res/drawable-hdpi/indicator_code_lock_point_area_green_holo.png
+++ b/core/res/res/drawable-hdpi/indicator_code_lock_point_area_green_holo.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/indicator_code_lock_point_area_red_holo.png b/core/res/res/drawable-hdpi/indicator_code_lock_point_area_red_holo.png
index 2120bad..9176b33 100644
--- a/core/res/res/drawable-hdpi/indicator_code_lock_point_area_red_holo.png
+++ b/core/res/res/drawable-hdpi/indicator_code_lock_point_area_red_holo.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/numberpicker_down_disabled_focused_holo_dark.png b/core/res/res/drawable-hdpi/numberpicker_down_disabled_focused_holo_dark.png
index 30b3a4d..fb34a6d 100644
--- a/core/res/res/drawable-hdpi/numberpicker_down_disabled_focused_holo_dark.png
+++ b/core/res/res/drawable-hdpi/numberpicker_down_disabled_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/numberpicker_down_disabled_focused_holo_light.png b/core/res/res/drawable-hdpi/numberpicker_down_disabled_focused_holo_light.png
index 0e8ac15..87b2ad67 100644
--- a/core/res/res/drawable-hdpi/numberpicker_down_disabled_focused_holo_light.png
+++ b/core/res/res/drawable-hdpi/numberpicker_down_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/numberpicker_down_disabled_holo_dark.png b/core/res/res/drawable-hdpi/numberpicker_down_disabled_holo_dark.png
index 762e4b0..1655fea 100644
--- a/core/res/res/drawable-hdpi/numberpicker_down_disabled_holo_dark.png
+++ b/core/res/res/drawable-hdpi/numberpicker_down_disabled_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/numberpicker_down_disabled_holo_light.png b/core/res/res/drawable-hdpi/numberpicker_down_disabled_holo_light.png
index 4d3dc68..61cfe7a 100644
--- a/core/res/res/drawable-hdpi/numberpicker_down_disabled_holo_light.png
+++ b/core/res/res/drawable-hdpi/numberpicker_down_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/numberpicker_down_focused_holo_dark.png b/core/res/res/drawable-hdpi/numberpicker_down_focused_holo_dark.png
index fcf3565..43e2e89 100644
--- a/core/res/res/drawable-hdpi/numberpicker_down_focused_holo_dark.png
+++ b/core/res/res/drawable-hdpi/numberpicker_down_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/numberpicker_down_focused_holo_light.png b/core/res/res/drawable-hdpi/numberpicker_down_focused_holo_light.png
index 12fb970..7d80ff6 100644
--- a/core/res/res/drawable-hdpi/numberpicker_down_focused_holo_light.png
+++ b/core/res/res/drawable-hdpi/numberpicker_down_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/numberpicker_down_longpressed_holo_dark.png b/core/res/res/drawable-hdpi/numberpicker_down_longpressed_holo_dark.png
index a82fd17..cc21a1c 100644
--- a/core/res/res/drawable-hdpi/numberpicker_down_longpressed_holo_dark.png
+++ b/core/res/res/drawable-hdpi/numberpicker_down_longpressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/numberpicker_down_longpressed_holo_light.png b/core/res/res/drawable-hdpi/numberpicker_down_longpressed_holo_light.png
index a82fd17..cc21a1c 100644
--- a/core/res/res/drawable-hdpi/numberpicker_down_longpressed_holo_light.png
+++ b/core/res/res/drawable-hdpi/numberpicker_down_longpressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/numberpicker_down_normal_holo_dark.png b/core/res/res/drawable-hdpi/numberpicker_down_normal_holo_dark.png
index 3284506..3c9c192 100644
--- a/core/res/res/drawable-hdpi/numberpicker_down_normal_holo_dark.png
+++ b/core/res/res/drawable-hdpi/numberpicker_down_normal_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/numberpicker_down_normal_holo_light.png b/core/res/res/drawable-hdpi/numberpicker_down_normal_holo_light.png
index 6afc2d0..6511cd2 100644
--- a/core/res/res/drawable-hdpi/numberpicker_down_normal_holo_light.png
+++ b/core/res/res/drawable-hdpi/numberpicker_down_normal_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/numberpicker_down_pressed_holo_dark.png b/core/res/res/drawable-hdpi/numberpicker_down_pressed_holo_dark.png
index e414e33..7b135ea 100644
--- a/core/res/res/drawable-hdpi/numberpicker_down_pressed_holo_dark.png
+++ b/core/res/res/drawable-hdpi/numberpicker_down_pressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/numberpicker_down_pressed_holo_light.png b/core/res/res/drawable-hdpi/numberpicker_down_pressed_holo_light.png
index e414e33..7b135ea 100644
--- a/core/res/res/drawable-hdpi/numberpicker_down_pressed_holo_light.png
+++ b/core/res/res/drawable-hdpi/numberpicker_down_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/numberpicker_up_disabled_focused_holo_dark.png b/core/res/res/drawable-hdpi/numberpicker_up_disabled_focused_holo_dark.png
index 828c079..b6a85a2 100644
--- a/core/res/res/drawable-hdpi/numberpicker_up_disabled_focused_holo_dark.png
+++ b/core/res/res/drawable-hdpi/numberpicker_up_disabled_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/numberpicker_up_disabled_focused_holo_light.png b/core/res/res/drawable-hdpi/numberpicker_up_disabled_focused_holo_light.png
index e7e22c3..50d979e 100644
--- a/core/res/res/drawable-hdpi/numberpicker_up_disabled_focused_holo_light.png
+++ b/core/res/res/drawable-hdpi/numberpicker_up_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/numberpicker_up_disabled_holo_dark.png b/core/res/res/drawable-hdpi/numberpicker_up_disabled_holo_dark.png
index a2a773b..608dd52 100644
--- a/core/res/res/drawable-hdpi/numberpicker_up_disabled_holo_dark.png
+++ b/core/res/res/drawable-hdpi/numberpicker_up_disabled_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/numberpicker_up_disabled_holo_light.png b/core/res/res/drawable-hdpi/numberpicker_up_disabled_holo_light.png
index 0b1b189..96ff781 100644
--- a/core/res/res/drawable-hdpi/numberpicker_up_disabled_holo_light.png
+++ b/core/res/res/drawable-hdpi/numberpicker_up_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/numberpicker_up_focused_holo_dark.png b/core/res/res/drawable-hdpi/numberpicker_up_focused_holo_dark.png
index ca12894..a48bf2e 100644
--- a/core/res/res/drawable-hdpi/numberpicker_up_focused_holo_dark.png
+++ b/core/res/res/drawable-hdpi/numberpicker_up_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/numberpicker_up_focused_holo_light.png b/core/res/res/drawable-hdpi/numberpicker_up_focused_holo_light.png
index 52f8b38..b69589b 100644
--- a/core/res/res/drawable-hdpi/numberpicker_up_focused_holo_light.png
+++ b/core/res/res/drawable-hdpi/numberpicker_up_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/numberpicker_up_longpressed_holo_dark.png b/core/res/res/drawable-hdpi/numberpicker_up_longpressed_holo_dark.png
index 5f9411a..5adfb04 100644
--- a/core/res/res/drawable-hdpi/numberpicker_up_longpressed_holo_dark.png
+++ b/core/res/res/drawable-hdpi/numberpicker_up_longpressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/numberpicker_up_longpressed_holo_light.png b/core/res/res/drawable-hdpi/numberpicker_up_longpressed_holo_light.png
index 5f9411a..5adfb04 100644
--- a/core/res/res/drawable-hdpi/numberpicker_up_longpressed_holo_light.png
+++ b/core/res/res/drawable-hdpi/numberpicker_up_longpressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/numberpicker_up_normal_holo_dark.png b/core/res/res/drawable-hdpi/numberpicker_up_normal_holo_dark.png
index cdc1775..ff34463 100644
--- a/core/res/res/drawable-hdpi/numberpicker_up_normal_holo_dark.png
+++ b/core/res/res/drawable-hdpi/numberpicker_up_normal_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/numberpicker_up_normal_holo_light.png b/core/res/res/drawable-hdpi/numberpicker_up_normal_holo_light.png
index b4981d4..0bcfd67 100644
--- a/core/res/res/drawable-hdpi/numberpicker_up_normal_holo_light.png
+++ b/core/res/res/drawable-hdpi/numberpicker_up_normal_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/numberpicker_up_pressed_holo_dark.png b/core/res/res/drawable-hdpi/numberpicker_up_pressed_holo_dark.png
index e124a18..00092cc 100644
--- a/core/res/res/drawable-hdpi/numberpicker_up_pressed_holo_dark.png
+++ b/core/res/res/drawable-hdpi/numberpicker_up_pressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/numberpicker_up_pressed_holo_light.png b/core/res/res/drawable-hdpi/numberpicker_up_pressed_holo_light.png
index e124a18..00092cc 100644
--- a/core/res/res/drawable-hdpi/numberpicker_up_pressed_holo_light.png
+++ b/core/res/res/drawable-hdpi/numberpicker_up_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/panel_bg_holo_dark.9.png b/core/res/res/drawable-hdpi/panel_bg_holo_dark.9.png
index 416b456..1b4fed8 100644
--- a/core/res/res/drawable-hdpi/panel_bg_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/panel_bg_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/panel_bg_holo_light.9.png b/core/res/res/drawable-hdpi/panel_bg_holo_light.9.png
index ddd242b..c8b3177 100644
--- a/core/res/res/drawable-hdpi/panel_bg_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/panel_bg_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/presence_away.png b/core/res/res/drawable-hdpi/presence_away.png
index b25b821..fe5b880 100644
--- a/core/res/res/drawable-hdpi/presence_away.png
+++ b/core/res/res/drawable-hdpi/presence_away.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/progress_primary_holo_dark.9.png b/core/res/res/drawable-hdpi/progress_primary_holo_dark.9.png
index 7cbff01..1c26920 100644
--- a/core/res/res/drawable-hdpi/progress_primary_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/progress_primary_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/progress_primary_holo_light.9.png b/core/res/res/drawable-hdpi/progress_primary_holo_light.9.png
index 7cbff01..1c26920 100644
--- a/core/res/res/drawable-hdpi/progress_primary_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/progress_primary_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/progressbar_indeterminate_holo1.png b/core/res/res/drawable-hdpi/progressbar_indeterminate_holo1.png
index 1d33e47..bf3cabb 100644
--- a/core/res/res/drawable-hdpi/progressbar_indeterminate_holo1.png
+++ b/core/res/res/drawable-hdpi/progressbar_indeterminate_holo1.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/progressbar_indeterminate_holo2.png b/core/res/res/drawable-hdpi/progressbar_indeterminate_holo2.png
index 81fe085..c4f00be 100644
--- a/core/res/res/drawable-hdpi/progressbar_indeterminate_holo2.png
+++ b/core/res/res/drawable-hdpi/progressbar_indeterminate_holo2.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/progressbar_indeterminate_holo3.png b/core/res/res/drawable-hdpi/progressbar_indeterminate_holo3.png
index cf864d2..935e44f 100644
--- a/core/res/res/drawable-hdpi/progressbar_indeterminate_holo3.png
+++ b/core/res/res/drawable-hdpi/progressbar_indeterminate_holo3.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/progressbar_indeterminate_holo4.png b/core/res/res/drawable-hdpi/progressbar_indeterminate_holo4.png
index 583e0c9..03ae28b 100644
--- a/core/res/res/drawable-hdpi/progressbar_indeterminate_holo4.png
+++ b/core/res/res/drawable-hdpi/progressbar_indeterminate_holo4.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/progressbar_indeterminate_holo5.png b/core/res/res/drawable-hdpi/progressbar_indeterminate_holo5.png
index 357b660..b68981f 100644
--- a/core/res/res/drawable-hdpi/progressbar_indeterminate_holo5.png
+++ b/core/res/res/drawable-hdpi/progressbar_indeterminate_holo5.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/progressbar_indeterminate_holo6.png b/core/res/res/drawable-hdpi/progressbar_indeterminate_holo6.png
index 0add340..678b772 100644
--- a/core/res/res/drawable-hdpi/progressbar_indeterminate_holo6.png
+++ b/core/res/res/drawable-hdpi/progressbar_indeterminate_holo6.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/progressbar_indeterminate_holo7.png b/core/res/res/drawable-hdpi/progressbar_indeterminate_holo7.png
index e1a8a63..0aeb0a6 100644
--- a/core/res/res/drawable-hdpi/progressbar_indeterminate_holo7.png
+++ b/core/res/res/drawable-hdpi/progressbar_indeterminate_holo7.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/progressbar_indeterminate_holo8.png b/core/res/res/drawable-hdpi/progressbar_indeterminate_holo8.png
index 934d6d1..1bd7312 100644
--- a/core/res/res/drawable-hdpi/progressbar_indeterminate_holo8.png
+++ b/core/res/res/drawable-hdpi/progressbar_indeterminate_holo8.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/rate_star_big_half_holo_dark.png b/core/res/res/drawable-hdpi/rate_star_big_half_holo_dark.png
index 64eee93..e3131b1 100644
--- a/core/res/res/drawable-hdpi/rate_star_big_half_holo_dark.png
+++ b/core/res/res/drawable-hdpi/rate_star_big_half_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/rate_star_big_half_holo_light.png b/core/res/res/drawable-hdpi/rate_star_big_half_holo_light.png
index 8817efe..cdc94a1 100644
--- a/core/res/res/drawable-hdpi/rate_star_big_half_holo_light.png
+++ b/core/res/res/drawable-hdpi/rate_star_big_half_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/rate_star_big_off_holo_dark.png b/core/res/res/drawable-hdpi/rate_star_big_off_holo_dark.png
index 5a44788..d83522a 100644
--- a/core/res/res/drawable-hdpi/rate_star_big_off_holo_dark.png
+++ b/core/res/res/drawable-hdpi/rate_star_big_off_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/rate_star_big_off_holo_light.png b/core/res/res/drawable-hdpi/rate_star_big_off_holo_light.png
index d47f63a..2af7814 100644
--- a/core/res/res/drawable-hdpi/rate_star_big_off_holo_light.png
+++ b/core/res/res/drawable-hdpi/rate_star_big_off_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/rate_star_big_on_holo_dark.png b/core/res/res/drawable-hdpi/rate_star_big_on_holo_dark.png
index 947ac17..e4b766d 100644
--- a/core/res/res/drawable-hdpi/rate_star_big_on_holo_dark.png
+++ b/core/res/res/drawable-hdpi/rate_star_big_on_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/rate_star_big_on_holo_light.png b/core/res/res/drawable-hdpi/rate_star_big_on_holo_light.png
index 6b2588d..edd264a 100644
--- a/core/res/res/drawable-hdpi/rate_star_big_on_holo_light.png
+++ b/core/res/res/drawable-hdpi/rate_star_big_on_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/rate_star_med_half_holo_dark.png b/core/res/res/drawable-hdpi/rate_star_med_half_holo_dark.png
index 4a02a23..65f673d 100644
--- a/core/res/res/drawable-hdpi/rate_star_med_half_holo_dark.png
+++ b/core/res/res/drawable-hdpi/rate_star_med_half_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/rate_star_med_half_holo_light.png b/core/res/res/drawable-hdpi/rate_star_med_half_holo_light.png
index e73bdcc..3ff3bbd 100644
--- a/core/res/res/drawable-hdpi/rate_star_med_half_holo_light.png
+++ b/core/res/res/drawable-hdpi/rate_star_med_half_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/rate_star_med_off_holo_dark.png b/core/res/res/drawable-hdpi/rate_star_med_off_holo_dark.png
index e96936c..b8bca18 100644
--- a/core/res/res/drawable-hdpi/rate_star_med_off_holo_dark.png
+++ b/core/res/res/drawable-hdpi/rate_star_med_off_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/rate_star_med_off_holo_light.png b/core/res/res/drawable-hdpi/rate_star_med_off_holo_light.png
index 76b9c18..ce9fc25 100644
--- a/core/res/res/drawable-hdpi/rate_star_med_off_holo_light.png
+++ b/core/res/res/drawable-hdpi/rate_star_med_off_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/rate_star_med_on_holo_dark.png b/core/res/res/drawable-hdpi/rate_star_med_on_holo_dark.png
index cfcf629..1b7fe77 100644
--- a/core/res/res/drawable-hdpi/rate_star_med_on_holo_dark.png
+++ b/core/res/res/drawable-hdpi/rate_star_med_on_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/rate_star_med_on_holo_light.png b/core/res/res/drawable-hdpi/rate_star_med_on_holo_light.png
index a7d5af8..a6fdcff 100644
--- a/core/res/res/drawable-hdpi/rate_star_med_on_holo_light.png
+++ b/core/res/res/drawable-hdpi/rate_star_med_on_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/rate_star_small_half_holo_dark.png b/core/res/res/drawable-hdpi/rate_star_small_half_holo_dark.png
index 946cdfd..4fb14f9 100644
--- a/core/res/res/drawable-hdpi/rate_star_small_half_holo_dark.png
+++ b/core/res/res/drawable-hdpi/rate_star_small_half_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/rate_star_small_half_holo_light.png b/core/res/res/drawable-hdpi/rate_star_small_half_holo_light.png
index d046838..667b8e2 100644
--- a/core/res/res/drawable-hdpi/rate_star_small_half_holo_light.png
+++ b/core/res/res/drawable-hdpi/rate_star_small_half_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/rate_star_small_off_holo_dark.png b/core/res/res/drawable-hdpi/rate_star_small_off_holo_dark.png
index 6f1ffe8..e19cf7a 100644
--- a/core/res/res/drawable-hdpi/rate_star_small_off_holo_dark.png
+++ b/core/res/res/drawable-hdpi/rate_star_small_off_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/rate_star_small_off_holo_light.png b/core/res/res/drawable-hdpi/rate_star_small_off_holo_light.png
index 6286fcd..8886006 100644
--- a/core/res/res/drawable-hdpi/rate_star_small_off_holo_light.png
+++ b/core/res/res/drawable-hdpi/rate_star_small_off_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/rate_star_small_on_holo_dark.png b/core/res/res/drawable-hdpi/rate_star_small_on_holo_dark.png
index a53b627..bc5d3db 100644
--- a/core/res/res/drawable-hdpi/rate_star_small_on_holo_dark.png
+++ b/core/res/res/drawable-hdpi/rate_star_small_on_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/rate_star_small_on_holo_light.png b/core/res/res/drawable-hdpi/rate_star_small_on_holo_light.png
index dc102a9..1041008 100644
--- a/core/res/res/drawable-hdpi/rate_star_small_on_holo_light.png
+++ b/core/res/res/drawable-hdpi/rate_star_small_on_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/scrubber_control_disabled_holo.png b/core/res/res/drawable-hdpi/scrubber_control_disabled_holo.png
index e0f55bf..167d7d3 100644
--- a/core/res/res/drawable-hdpi/scrubber_control_disabled_holo.png
+++ b/core/res/res/drawable-hdpi/scrubber_control_disabled_holo.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/scrubber_control_focused_holo.png b/core/res/res/drawable-hdpi/scrubber_control_focused_holo.png
index 7b264f1..4048260 100644
--- a/core/res/res/drawable-hdpi/scrubber_control_focused_holo.png
+++ b/core/res/res/drawable-hdpi/scrubber_control_focused_holo.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/scrubber_control_normal_holo.png b/core/res/res/drawable-hdpi/scrubber_control_normal_holo.png
index c3a5f7d..90e9c9c 100644
--- a/core/res/res/drawable-hdpi/scrubber_control_normal_holo.png
+++ b/core/res/res/drawable-hdpi/scrubber_control_normal_holo.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/scrubber_control_pressed_holo.png b/core/res/res/drawable-hdpi/scrubber_control_pressed_holo.png
index 6fa4e00..4a3e57c 100644
--- a/core/res/res/drawable-hdpi/scrubber_control_pressed_holo.png
+++ b/core/res/res/drawable-hdpi/scrubber_control_pressed_holo.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/spinner_16_inner_holo.png b/core/res/res/drawable-hdpi/spinner_16_inner_holo.png
index b59b492..0166938 100644
--- a/core/res/res/drawable-hdpi/spinner_16_inner_holo.png
+++ b/core/res/res/drawable-hdpi/spinner_16_inner_holo.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/spinner_16_outer_holo.png b/core/res/res/drawable-hdpi/spinner_16_outer_holo.png
index 57b8b31..ffdb78a 100644
--- a/core/res/res/drawable-hdpi/spinner_16_outer_holo.png
+++ b/core/res/res/drawable-hdpi/spinner_16_outer_holo.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/spinner_20_inner_holo.png b/core/res/res/drawable-hdpi/spinner_20_inner_holo.png
index 14d26a5..ffad720 100644
--- a/core/res/res/drawable-hdpi/spinner_20_inner_holo.png
+++ b/core/res/res/drawable-hdpi/spinner_20_inner_holo.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/spinner_20_outer_holo.png b/core/res/res/drawable-hdpi/spinner_20_outer_holo.png
index e457a66..f2523f4 100644
--- a/core/res/res/drawable-hdpi/spinner_20_outer_holo.png
+++ b/core/res/res/drawable-hdpi/spinner_20_outer_holo.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/spinner_48_inner_holo.png b/core/res/res/drawable-hdpi/spinner_48_inner_holo.png
index 86c036d..f8e3fef 100644
--- a/core/res/res/drawable-hdpi/spinner_48_inner_holo.png
+++ b/core/res/res/drawable-hdpi/spinner_48_inner_holo.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/spinner_48_outer_holo.png b/core/res/res/drawable-hdpi/spinner_48_outer_holo.png
index ddd3e74..04c5fb5 100644
--- a/core/res/res/drawable-hdpi/spinner_48_outer_holo.png
+++ b/core/res/res/drawable-hdpi/spinner_48_outer_holo.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/spinner_76_inner_holo.png b/core/res/res/drawable-hdpi/spinner_76_inner_holo.png
index 74e7e2e..a28a6d1 100644
--- a/core/res/res/drawable-hdpi/spinner_76_inner_holo.png
+++ b/core/res/res/drawable-hdpi/spinner_76_inner_holo.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/spinner_76_outer_holo.png b/core/res/res/drawable-hdpi/spinner_76_outer_holo.png
index 989a18c..3d5aa46 100644
--- a/core/res/res/drawable-hdpi/spinner_76_outer_holo.png
+++ b/core/res/res/drawable-hdpi/spinner_76_outer_holo.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/spinner_ab_pressed_holo_dark.9.png b/core/res/res/drawable-hdpi/spinner_ab_pressed_holo_dark.9.png
index 3128fd9..51a5226 100644
--- a/core/res/res/drawable-hdpi/spinner_ab_pressed_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/spinner_ab_pressed_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/spinner_ab_pressed_holo_light.9.png b/core/res/res/drawable-hdpi/spinner_ab_pressed_holo_light.9.png
index 924a93b..a24da91 100644
--- a/core/res/res/drawable-hdpi/spinner_ab_pressed_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/spinner_ab_pressed_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_error.png b/core/res/res/drawable-hdpi/stat_notify_error.png
index dbaf944..deb3872 100644
--- a/core/res/res/drawable-hdpi/stat_notify_error.png
+++ b/core/res/res/drawable-hdpi/stat_notify_error.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_notify_wifi_in_range.png b/core/res/res/drawable-hdpi/stat_notify_wifi_in_range.png
index 716ba9d..f3aaa27 100644
--- a/core/res/res/drawable-hdpi/stat_notify_wifi_in_range.png
+++ b/core/res/res/drawable-hdpi/stat_notify_wifi_in_range.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/stat_sys_adb.png b/core/res/res/drawable-hdpi/stat_sys_adb.png
index 8e15aba2..e7e1d8d 100644
--- a/core/res/res/drawable-hdpi/stat_sys_adb.png
+++ b/core/res/res/drawable-hdpi/stat_sys_adb.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/switch_bg_disabled_holo_dark.9.png b/core/res/res/drawable-hdpi/switch_bg_disabled_holo_dark.9.png
index e65f21a..e886812 100644
--- a/core/res/res/drawable-hdpi/switch_bg_disabled_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/switch_bg_disabled_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/switch_bg_disabled_holo_light.9.png b/core/res/res/drawable-hdpi/switch_bg_disabled_holo_light.9.png
index 76c5484..3e92cf0 100644
--- a/core/res/res/drawable-hdpi/switch_bg_disabled_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/switch_bg_disabled_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/switch_bg_focused_holo_dark.9.png b/core/res/res/drawable-hdpi/switch_bg_focused_holo_dark.9.png
index 80a7ef1..962cefb 100644
--- a/core/res/res/drawable-hdpi/switch_bg_focused_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/switch_bg_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/switch_bg_focused_holo_light.9.png b/core/res/res/drawable-hdpi/switch_bg_focused_holo_light.9.png
index bd11555..e05b345 100644
--- a/core/res/res/drawable-hdpi/switch_bg_focused_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/switch_bg_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/switch_bg_holo_dark.9.png b/core/res/res/drawable-hdpi/switch_bg_holo_dark.9.png
index 1fba7ee..933d99b 100644
--- a/core/res/res/drawable-hdpi/switch_bg_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/switch_bg_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/switch_bg_holo_light.9.png b/core/res/res/drawable-hdpi/switch_bg_holo_light.9.png
index 5a484dfc..7abe99a 100644
--- a/core/res/res/drawable-hdpi/switch_bg_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/switch_bg_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/switch_thumb_activated_holo_dark.9.png b/core/res/res/drawable-hdpi/switch_thumb_activated_holo_dark.9.png
index 152c338..0bce767 100644
--- a/core/res/res/drawable-hdpi/switch_thumb_activated_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/switch_thumb_activated_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/switch_thumb_activated_holo_light.9.png b/core/res/res/drawable-hdpi/switch_thumb_activated_holo_light.9.png
index 9c44d4b..3b9c048 100644
--- a/core/res/res/drawable-hdpi/switch_thumb_activated_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/switch_thumb_activated_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/switch_thumb_disabled_holo_dark.9.png b/core/res/res/drawable-hdpi/switch_thumb_disabled_holo_dark.9.png
index cb45648..a4bd074 100644
--- a/core/res/res/drawable-hdpi/switch_thumb_disabled_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/switch_thumb_disabled_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/switch_thumb_disabled_holo_light.9.png b/core/res/res/drawable-hdpi/switch_thumb_disabled_holo_light.9.png
index 13dd09a..587bf4e 100644
--- a/core/res/res/drawable-hdpi/switch_thumb_disabled_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/switch_thumb_disabled_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/switch_thumb_holo_dark.9.png b/core/res/res/drawable-hdpi/switch_thumb_holo_dark.9.png
index e72f428..a86be03 100644
--- a/core/res/res/drawable-hdpi/switch_thumb_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/switch_thumb_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/switch_thumb_holo_light.9.png b/core/res/res/drawable-hdpi/switch_thumb_holo_light.9.png
index 84504eb..e3b0729 100644
--- a/core/res/res/drawable-hdpi/switch_thumb_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/switch_thumb_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/switch_thumb_pressed_holo_dark.9.png b/core/res/res/drawable-hdpi/switch_thumb_pressed_holo_dark.9.png
index 44a4baa..4b56420 100644
--- a/core/res/res/drawable-hdpi/switch_thumb_pressed_holo_dark.9.png
+++ b/core/res/res/drawable-hdpi/switch_thumb_pressed_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/switch_thumb_pressed_holo_light.9.png b/core/res/res/drawable-hdpi/switch_thumb_pressed_holo_light.9.png
index 5c5ee81..741674d 100644
--- a/core/res/res/drawable-hdpi/switch_thumb_pressed_holo_light.9.png
+++ b/core/res/res/drawable-hdpi/switch_thumb_pressed_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/tab_bottom_holo.9.png b/core/res/res/drawable-hdpi/tab_bottom_holo.9.png
index 9286c7a..8abf2ba 100644
--- a/core/res/res/drawable-hdpi/tab_bottom_holo.9.png
+++ b/core/res/res/drawable-hdpi/tab_bottom_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/tab_focus.9.png b/core/res/res/drawable-hdpi/tab_focus.9.png
index 89a1c0b..8862fc7 100644
--- a/core/res/res/drawable-hdpi/tab_focus.9.png
+++ b/core/res/res/drawable-hdpi/tab_focus.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/tab_focus_bar_left.9.png b/core/res/res/drawable-hdpi/tab_focus_bar_left.9.png
index e879e37..7f40d36 100644
--- a/core/res/res/drawable-hdpi/tab_focus_bar_left.9.png
+++ b/core/res/res/drawable-hdpi/tab_focus_bar_left.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/tab_focus_bar_right.9.png b/core/res/res/drawable-hdpi/tab_focus_bar_right.9.png
index e879e37..7f40d36 100644
--- a/core/res/res/drawable-hdpi/tab_focus_bar_right.9.png
+++ b/core/res/res/drawable-hdpi/tab_focus_bar_right.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/tab_press.9.png b/core/res/res/drawable-hdpi/tab_press.9.png
index 4c34188..4650d68 100644
--- a/core/res/res/drawable-hdpi/tab_press.9.png
+++ b/core/res/res/drawable-hdpi/tab_press.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/tab_press_bar_left.9.png b/core/res/res/drawable-hdpi/tab_press_bar_left.9.png
index c5f44f3..b43c592 100644
--- a/core/res/res/drawable-hdpi/tab_press_bar_left.9.png
+++ b/core/res/res/drawable-hdpi/tab_press_bar_left.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/tab_press_bar_right.9.png b/core/res/res/drawable-hdpi/tab_press_bar_right.9.png
index c5f44f3..b43c592 100644
--- a/core/res/res/drawable-hdpi/tab_press_bar_right.9.png
+++ b/core/res/res/drawable-hdpi/tab_press_bar_right.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/tab_pressed_holo.9.png b/core/res/res/drawable-hdpi/tab_pressed_holo.9.png
index 2adb22c..6d05735 100644
--- a/core/res/res/drawable-hdpi/tab_pressed_holo.9.png
+++ b/core/res/res/drawable-hdpi/tab_pressed_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/tab_selected.9.png b/core/res/res/drawable-hdpi/tab_selected.9.png
index 46a331f..d5d3cee 100644
--- a/core/res/res/drawable-hdpi/tab_selected.9.png
+++ b/core/res/res/drawable-hdpi/tab_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/tab_selected_bar_left.9.png b/core/res/res/drawable-hdpi/tab_selected_bar_left.9.png
index 53efbb4..c1f950c 100644
--- a/core/res/res/drawable-hdpi/tab_selected_bar_left.9.png
+++ b/core/res/res/drawable-hdpi/tab_selected_bar_left.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/tab_selected_bar_right.9.png b/core/res/res/drawable-hdpi/tab_selected_bar_right.9.png
index 53efbb4..c1f950c 100644
--- a/core/res/res/drawable-hdpi/tab_selected_bar_right.9.png
+++ b/core/res/res/drawable-hdpi/tab_selected_bar_right.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/tab_unselected.9.png b/core/res/res/drawable-hdpi/tab_unselected.9.png
index 74181af..cdc7a4a 100644
--- a/core/res/res/drawable-hdpi/tab_unselected.9.png
+++ b/core/res/res/drawable-hdpi/tab_unselected.9.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/text_select_handle_left.png b/core/res/res/drawable-hdpi/text_select_handle_left.png
index e980857..5adc2e1 100644
--- a/core/res/res/drawable-hdpi/text_select_handle_left.png
+++ b/core/res/res/drawable-hdpi/text_select_handle_left.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/text_select_handle_middle.png b/core/res/res/drawable-hdpi/text_select_handle_middle.png
index 603f497..b7a472a 100644
--- a/core/res/res/drawable-hdpi/text_select_handle_middle.png
+++ b/core/res/res/drawable-hdpi/text_select_handle_middle.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/text_select_handle_right.png b/core/res/res/drawable-hdpi/text_select_handle_right.png
index a5efe30..cf94179 100644
--- a/core/res/res/drawable-hdpi/text_select_handle_right.png
+++ b/core/res/res/drawable-hdpi/text_select_handle_right.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/vpn_connected.png b/core/res/res/drawable-hdpi/vpn_connected.png
index 65fc6db..c3547e8 100644
--- a/core/res/res/drawable-hdpi/vpn_connected.png
+++ b/core/res/res/drawable-hdpi/vpn_connected.png
Binary files differ
diff --git a/core/res/res/drawable-hdpi/vpn_disconnected.png b/core/res/res/drawable-hdpi/vpn_disconnected.png
index 2440c69..10a9065 100644
--- a/core/res/res/drawable-hdpi/vpn_disconnected.png
+++ b/core/res/res/drawable-hdpi/vpn_disconnected.png
Binary files differ
diff --git a/core/res/res/drawable-large-mdpi/indicator_code_lock_drag_direction_green_up.png b/core/res/res/drawable-large-mdpi/indicator_code_lock_drag_direction_green_up.png
deleted file mode 100644
index 0bc86c3..0000000
--- a/core/res/res/drawable-large-mdpi/indicator_code_lock_drag_direction_green_up.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-ldpi/indicator_code_lock_drag_direction_green_up.png b/core/res/res/drawable-ldpi/indicator_code_lock_drag_direction_green_up.png
deleted file mode 100644
index 9c8610f..0000000
--- a/core/res/res/drawable-ldpi/indicator_code_lock_drag_direction_green_up.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_on_disabled_focused_holo_dark.png b/core/res/res/drawable-mdpi/btn_check_on_disabled_focused_holo_dark.png
index 5435438..ac83494 100644
--- a/core/res/res/drawable-mdpi/btn_check_on_disabled_focused_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_check_on_disabled_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_on_disabled_focused_holo_light.png b/core/res/res/drawable-mdpi/btn_check_on_disabled_focused_holo_light.png
index b350144..6c247a8 100644
--- a/core/res/res/drawable-mdpi/btn_check_on_disabled_focused_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_check_on_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_on_disabled_holo_dark.png b/core/res/res/drawable-mdpi/btn_check_on_disabled_holo_dark.png
index 5010bff..7710165 100644
--- a/core/res/res/drawable-mdpi/btn_check_on_disabled_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_check_on_disabled_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_on_disabled_holo_light.png b/core/res/res/drawable-mdpi/btn_check_on_disabled_holo_light.png
index 20f8d3d..15d0c80 100644
--- a/core/res/res/drawable-mdpi/btn_check_on_disabled_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_check_on_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_on_focused_holo_dark.png b/core/res/res/drawable-mdpi/btn_check_on_focused_holo_dark.png
index 96a9548..f1d8aec 100644
--- a/core/res/res/drawable-mdpi/btn_check_on_focused_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_check_on_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_on_focused_holo_light.png b/core/res/res/drawable-mdpi/btn_check_on_focused_holo_light.png
index 8871519..0d95a00 100644
--- a/core/res/res/drawable-mdpi/btn_check_on_focused_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_check_on_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_on_holo.png b/core/res/res/drawable-mdpi/btn_check_on_holo.png
index 38ab51a..2737d8c 100644
--- a/core/res/res/drawable-mdpi/btn_check_on_holo.png
+++ b/core/res/res/drawable-mdpi/btn_check_on_holo.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_on_holo_dark.png b/core/res/res/drawable-mdpi/btn_check_on_holo_dark.png
index 4738e5a..4dd9452 100644
--- a/core/res/res/drawable-mdpi/btn_check_on_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_check_on_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_on_holo_light.png b/core/res/res/drawable-mdpi/btn_check_on_holo_light.png
index db93b6d..38abce6 100644
--- a/core/res/res/drawable-mdpi/btn_check_on_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_check_on_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_on_pressed_holo_dark.png b/core/res/res/drawable-mdpi/btn_check_on_pressed_holo_dark.png
index b47b5dd..b70db89 100644
--- a/core/res/res/drawable-mdpi/btn_check_on_pressed_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_check_on_pressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_check_on_pressed_holo_light.png b/core/res/res/drawable-mdpi/btn_check_on_pressed_holo_light.png
index ad6947a..21d54a6 100644
--- a/core/res/res/drawable-mdpi/btn_check_on_pressed_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_check_on_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_code_lock_default.png b/core/res/res/drawable-mdpi/btn_code_lock_default.png
old mode 100755
new mode 100644
index f524317..206f9b3
--- a/core/res/res/drawable-mdpi/btn_code_lock_default.png
+++ b/core/res/res/drawable-mdpi/btn_code_lock_default.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_code_lock_default_holo.png b/core/res/res/drawable-mdpi/btn_code_lock_default_holo.png
index 82fc3b2..4c4adf2 100644
--- a/core/res/res/drawable-mdpi/btn_code_lock_default_holo.png
+++ b/core/res/res/drawable-mdpi/btn_code_lock_default_holo.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_code_lock_touched.png b/core/res/res/drawable-mdpi/btn_code_lock_touched.png
old mode 100755
new mode 100644
index 5cd436c..98a3b6d
--- a/core/res/res/drawable-mdpi/btn_code_lock_touched.png
+++ b/core/res/res/drawable-mdpi/btn_code_lock_touched.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_code_lock_touched_holo.png b/core/res/res/drawable-mdpi/btn_code_lock_touched_holo.png
index d1fe1ad..ef701ed 100644
--- a/core/res/res/drawable-mdpi/btn_code_lock_touched_holo.png
+++ b/core/res/res/drawable-mdpi/btn_code_lock_touched_holo.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_group_focused_holo_dark.9.png b/core/res/res/drawable-mdpi/btn_group_focused_holo_dark.9.png
index 290b977..db2eae1 100644
--- a/core/res/res/drawable-mdpi/btn_group_focused_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/btn_group_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_group_focused_holo_light.9.png b/core/res/res/drawable-mdpi/btn_group_focused_holo_light.9.png
index 290b977..db2eae1 100644
--- a/core/res/res/drawable-mdpi/btn_group_focused_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/btn_group_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_group_pressed_holo_dark.9.png b/core/res/res/drawable-mdpi/btn_group_pressed_holo_dark.9.png
index ffc11b7..67b5e4e 100644
--- a/core/res/res/drawable-mdpi/btn_group_pressed_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/btn_group_pressed_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_group_pressed_holo_light.9.png b/core/res/res/drawable-mdpi/btn_group_pressed_holo_light.9.png
index 8b5d036..1547267 100644
--- a/core/res/res/drawable-mdpi/btn_group_pressed_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/btn_group_pressed_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_rating_star_on_disabled_focused_holo_light.png b/core/res/res/drawable-mdpi/btn_rating_star_on_disabled_focused_holo_light.png
index ebea1db..816e146 100644
--- a/core/res/res/drawable-mdpi/btn_rating_star_on_disabled_focused_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_rating_star_on_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_rating_star_on_disabled_holo_light.png b/core/res/res/drawable-mdpi/btn_rating_star_on_disabled_holo_light.png
index 761c936..4f4eff2 100644
--- a/core/res/res/drawable-mdpi/btn_rating_star_on_disabled_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_rating_star_on_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_rating_star_on_focused_holo_light.png b/core/res/res/drawable-mdpi/btn_rating_star_on_focused_holo_light.png
index c505d3d..afaa8ca 100644
--- a/core/res/res/drawable-mdpi/btn_rating_star_on_focused_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_rating_star_on_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_rating_star_on_normal_holo_light.png b/core/res/res/drawable-mdpi/btn_rating_star_on_normal_holo_light.png
index 99a71ef..b7d9079 100644
--- a/core/res/res/drawable-mdpi/btn_rating_star_on_normal_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_rating_star_on_normal_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_rating_star_on_pressed_holo_light.png b/core/res/res/drawable-mdpi/btn_rating_star_on_pressed_holo_light.png
index 3c48fa1..994eb0c 100644
--- a/core/res/res/drawable-mdpi/btn_rating_star_on_pressed_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_rating_star_on_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_star_off_disabled_focused_holo_dark.png b/core/res/res/drawable-mdpi/btn_star_off_disabled_focused_holo_dark.png
index c1923e4..f4a1cbc3 100644
--- a/core/res/res/drawable-mdpi/btn_star_off_disabled_focused_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_star_off_disabled_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_star_off_disabled_focused_holo_light.png b/core/res/res/drawable-mdpi/btn_star_off_disabled_focused_holo_light.png
index 08f4ca7..79ca527 100644
--- a/core/res/res/drawable-mdpi/btn_star_off_disabled_focused_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_star_off_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_star_off_disabled_holo_dark.png b/core/res/res/drawable-mdpi/btn_star_off_disabled_holo_dark.png
index 5696511..33d1308 100644
--- a/core/res/res/drawable-mdpi/btn_star_off_disabled_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_star_off_disabled_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_star_off_disabled_holo_light.png b/core/res/res/drawable-mdpi/btn_star_off_disabled_holo_light.png
index b090127..9672415 100644
--- a/core/res/res/drawable-mdpi/btn_star_off_disabled_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_star_off_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_star_off_focused_holo_dark.png b/core/res/res/drawable-mdpi/btn_star_off_focused_holo_dark.png
index 9f46b75..94d3784 100644
--- a/core/res/res/drawable-mdpi/btn_star_off_focused_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_star_off_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_star_off_focused_holo_light.png b/core/res/res/drawable-mdpi/btn_star_off_focused_holo_light.png
index b4bf9c9..9f3ce4e 100644
--- a/core/res/res/drawable-mdpi/btn_star_off_focused_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_star_off_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_star_off_normal_holo_dark.png b/core/res/res/drawable-mdpi/btn_star_off_normal_holo_dark.png
index 98c176c..05563bff 100644
--- a/core/res/res/drawable-mdpi/btn_star_off_normal_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_star_off_normal_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_star_off_normal_holo_light.png b/core/res/res/drawable-mdpi/btn_star_off_normal_holo_light.png
index 16708fd..ee166bc 100644
--- a/core/res/res/drawable-mdpi/btn_star_off_normal_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_star_off_normal_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_star_off_pressed_holo_dark.png b/core/res/res/drawable-mdpi/btn_star_off_pressed_holo_dark.png
index 9e946db..4bc4a30 100644
--- a/core/res/res/drawable-mdpi/btn_star_off_pressed_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_star_off_pressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_star_off_pressed_holo_light.png b/core/res/res/drawable-mdpi/btn_star_off_pressed_holo_light.png
index 875ec01..dd14aec 100644
--- a/core/res/res/drawable-mdpi/btn_star_off_pressed_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_star_off_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_star_on_disabled_focused_holo_dark.png b/core/res/res/drawable-mdpi/btn_star_on_disabled_focused_holo_dark.png
index a72fe32..becc091 100644
--- a/core/res/res/drawable-mdpi/btn_star_on_disabled_focused_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_star_on_disabled_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_star_on_disabled_focused_holo_light.png b/core/res/res/drawable-mdpi/btn_star_on_disabled_focused_holo_light.png
index 545899a..e49dbab4 100644
--- a/core/res/res/drawable-mdpi/btn_star_on_disabled_focused_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_star_on_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_star_on_disabled_holo_dark.png b/core/res/res/drawable-mdpi/btn_star_on_disabled_holo_dark.png
index aca83b0..61837f84 100644
--- a/core/res/res/drawable-mdpi/btn_star_on_disabled_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_star_on_disabled_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_star_on_disabled_holo_light.png b/core/res/res/drawable-mdpi/btn_star_on_disabled_holo_light.png
index 2ff492e..19f139f 100644
--- a/core/res/res/drawable-mdpi/btn_star_on_disabled_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_star_on_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_star_on_focused_holo_dark.png b/core/res/res/drawable-mdpi/btn_star_on_focused_holo_dark.png
index 816af01..9fed6b5 100644
--- a/core/res/res/drawable-mdpi/btn_star_on_focused_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_star_on_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_star_on_focused_holo_light.png b/core/res/res/drawable-mdpi/btn_star_on_focused_holo_light.png
index 66ea0c7..d52dbb7 100644
--- a/core/res/res/drawable-mdpi/btn_star_on_focused_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_star_on_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_star_on_normal_holo_dark.png b/core/res/res/drawable-mdpi/btn_star_on_normal_holo_dark.png
index 3ffc6ca..c0c6b49 100644
--- a/core/res/res/drawable-mdpi/btn_star_on_normal_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_star_on_normal_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_star_on_normal_holo_light.png b/core/res/res/drawable-mdpi/btn_star_on_normal_holo_light.png
index e580075..237f7e7 100644
--- a/core/res/res/drawable-mdpi/btn_star_on_normal_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_star_on_normal_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_star_on_pressed_holo_dark.png b/core/res/res/drawable-mdpi/btn_star_on_pressed_holo_dark.png
index 20d4ab4..2f1f004 100644
--- a/core/res/res/drawable-mdpi/btn_star_on_pressed_holo_dark.png
+++ b/core/res/res/drawable-mdpi/btn_star_on_pressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/btn_star_on_pressed_holo_light.png b/core/res/res/drawable-mdpi/btn_star_on_pressed_holo_light.png
index b314495..4bea36b 100644
--- a/core/res/res/drawable-mdpi/btn_star_on_pressed_holo_light.png
+++ b/core/res/res/drawable-mdpi/btn_star_on_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/emo_im_angel.png b/core/res/res/drawable-mdpi/emo_im_angel.png
index 297fcf0..3efea42 100644
--- a/core/res/res/drawable-mdpi/emo_im_angel.png
+++ b/core/res/res/drawable-mdpi/emo_im_angel.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/emo_im_cool.png b/core/res/res/drawable-mdpi/emo_im_cool.png
index 9ee1d5d..650ed8f 100644
--- a/core/res/res/drawable-mdpi/emo_im_cool.png
+++ b/core/res/res/drawable-mdpi/emo_im_cool.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/emo_im_crying.png b/core/res/res/drawable-mdpi/emo_im_crying.png
index 42ec8db..ad1e50f 100644
--- a/core/res/res/drawable-mdpi/emo_im_crying.png
+++ b/core/res/res/drawable-mdpi/emo_im_crying.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/emo_im_embarrassed.png b/core/res/res/drawable-mdpi/emo_im_embarrassed.png
index 048f4b1..8a34321 100644
--- a/core/res/res/drawable-mdpi/emo_im_embarrassed.png
+++ b/core/res/res/drawable-mdpi/emo_im_embarrassed.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/emo_im_foot_in_mouth.png b/core/res/res/drawable-mdpi/emo_im_foot_in_mouth.png
index db5c801..9607ff7 100644
--- a/core/res/res/drawable-mdpi/emo_im_foot_in_mouth.png
+++ b/core/res/res/drawable-mdpi/emo_im_foot_in_mouth.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/emo_im_happy.png b/core/res/res/drawable-mdpi/emo_im_happy.png
index e85af7d..a324720 100644
--- a/core/res/res/drawable-mdpi/emo_im_happy.png
+++ b/core/res/res/drawable-mdpi/emo_im_happy.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/emo_im_kissing.png b/core/res/res/drawable-mdpi/emo_im_kissing.png
index 6c2458c..f18a391 100644
--- a/core/res/res/drawable-mdpi/emo_im_kissing.png
+++ b/core/res/res/drawable-mdpi/emo_im_kissing.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/emo_im_laughing.png b/core/res/res/drawable-mdpi/emo_im_laughing.png
index 268c864..963a4ba 100644
--- a/core/res/res/drawable-mdpi/emo_im_laughing.png
+++ b/core/res/res/drawable-mdpi/emo_im_laughing.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/emo_im_lips_are_sealed.png b/core/res/res/drawable-mdpi/emo_im_lips_are_sealed.png
index a838158..58bd138 100644
--- a/core/res/res/drawable-mdpi/emo_im_lips_are_sealed.png
+++ b/core/res/res/drawable-mdpi/emo_im_lips_are_sealed.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/emo_im_money_mouth.png b/core/res/res/drawable-mdpi/emo_im_money_mouth.png
index 56fcce4..718c7e3 100644
--- a/core/res/res/drawable-mdpi/emo_im_money_mouth.png
+++ b/core/res/res/drawable-mdpi/emo_im_money_mouth.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/emo_im_sad.png b/core/res/res/drawable-mdpi/emo_im_sad.png
index c5245cc..7daac6c 100644
--- a/core/res/res/drawable-mdpi/emo_im_sad.png
+++ b/core/res/res/drawable-mdpi/emo_im_sad.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/emo_im_surprised.png b/core/res/res/drawable-mdpi/emo_im_surprised.png
index 231ccb1..b4b614d 100644
--- a/core/res/res/drawable-mdpi/emo_im_surprised.png
+++ b/core/res/res/drawable-mdpi/emo_im_surprised.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/emo_im_tongue_sticking_out.png b/core/res/res/drawable-mdpi/emo_im_tongue_sticking_out.png
index 9384718..9fa6534 100644
--- a/core/res/res/drawable-mdpi/emo_im_tongue_sticking_out.png
+++ b/core/res/res/drawable-mdpi/emo_im_tongue_sticking_out.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/emo_im_undecided.png b/core/res/res/drawable-mdpi/emo_im_undecided.png
index 9927af9..8b2577a 100644
--- a/core/res/res/drawable-mdpi/emo_im_undecided.png
+++ b/core/res/res/drawable-mdpi/emo_im_undecided.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/emo_im_winking.png b/core/res/res/drawable-mdpi/emo_im_winking.png
index a9b39bd..069e9e3 100644
--- a/core/res/res/drawable-mdpi/emo_im_winking.png
+++ b/core/res/res/drawable-mdpi/emo_im_winking.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/emo_im_wtf.png b/core/res/res/drawable-mdpi/emo_im_wtf.png
index 1780652..0d963ec 100644
--- a/core/res/res/drawable-mdpi/emo_im_wtf.png
+++ b/core/res/res/drawable-mdpi/emo_im_wtf.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/emo_im_yelling.png b/core/res/res/drawable-mdpi/emo_im_yelling.png
index 18e4715..836f60f 100644
--- a/core/res/res/drawable-mdpi/emo_im_yelling.png
+++ b/core/res/res/drawable-mdpi/emo_im_yelling.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/expander_close_holo_dark.9.png b/core/res/res/drawable-mdpi/expander_close_holo_dark.9.png
index 6fa069f..036ffb7 100644
--- a/core/res/res/drawable-mdpi/expander_close_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/expander_close_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/expander_close_holo_light.9.png b/core/res/res/drawable-mdpi/expander_close_holo_light.9.png
index b9067933..9f9dd70 100644
--- a/core/res/res/drawable-mdpi/expander_close_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/expander_close_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/expander_open_holo_dark.9.png b/core/res/res/drawable-mdpi/expander_open_holo_dark.9.png
index 5c7fa38..867f36d 100644
--- a/core/res/res/drawable-mdpi/expander_open_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/expander_open_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/expander_open_holo_light.9.png b/core/res/res/drawable-mdpi/expander_open_holo_light.9.png
index c392ecb..7f5ca48 100644
--- a/core/res/res/drawable-mdpi/expander_open_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/expander_open_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/fastscroll_label_left_holo_dark.9.png b/core/res/res/drawable-mdpi/fastscroll_label_left_holo_dark.9.png
index b3fd908..94b944d 100644
--- a/core/res/res/drawable-mdpi/fastscroll_label_left_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/fastscroll_label_left_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/fastscroll_label_left_holo_light.9.png b/core/res/res/drawable-mdpi/fastscroll_label_left_holo_light.9.png
index a64d4d1..987c097 100644
--- a/core/res/res/drawable-mdpi/fastscroll_label_left_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/fastscroll_label_left_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/fastscroll_label_right_holo_dark.9.png b/core/res/res/drawable-mdpi/fastscroll_label_right_holo_dark.9.png
index 6469fca..8d87032 100644
--- a/core/res/res/drawable-mdpi/fastscroll_label_right_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/fastscroll_label_right_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/fastscroll_label_right_holo_light.9.png b/core/res/res/drawable-mdpi/fastscroll_label_right_holo_light.9.png
index fca2e25..b29042a 100644
--- a/core/res/res/drawable-mdpi/fastscroll_label_right_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/fastscroll_label_right_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/fastscroll_track_default_holo_dark.9.png b/core/res/res/drawable-mdpi/fastscroll_track_default_holo_dark.9.png
index 55f17c2..eb2b8bd 100644
--- a/core/res/res/drawable-mdpi/fastscroll_track_default_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/fastscroll_track_default_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/fastscroll_track_default_holo_light.9.png b/core/res/res/drawable-mdpi/fastscroll_track_default_holo_light.9.png
index 55f17c2..eb2b8bd 100644
--- a/core/res/res/drawable-mdpi/fastscroll_track_default_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/fastscroll_track_default_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/fastscroll_track_pressed_holo_dark.9.png b/core/res/res/drawable-mdpi/fastscroll_track_pressed_holo_dark.9.png
index 34e126b..6fb59b6 100644
--- a/core/res/res/drawable-mdpi/fastscroll_track_pressed_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/fastscroll_track_pressed_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/fastscroll_track_pressed_holo_light.9.png b/core/res/res/drawable-mdpi/fastscroll_track_pressed_holo_light.9.png
index 34e126b..1a63f5d 100644
--- a/core/res/res/drawable-mdpi/fastscroll_track_pressed_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/fastscroll_track_pressed_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_audio_ring_notif.png b/core/res/res/drawable-mdpi/ic_audio_ring_notif.png
index b9b7c7b..1ce4f52 100644
--- a/core/res/res/drawable-mdpi/ic_audio_ring_notif.png
+++ b/core/res/res/drawable-mdpi/ic_audio_ring_notif.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_audio_ring_notif_mute.png b/core/res/res/drawable-mdpi/ic_audio_ring_notif_mute.png
index cbe5021..cb17415 100644
--- a/core/res/res/drawable-mdpi/ic_audio_ring_notif_mute.png
+++ b/core/res/res/drawable-mdpi/ic_audio_ring_notif_mute.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_input_delete.png b/core/res/res/drawable-mdpi/ic_input_delete.png
index ee4c911..47c8708 100644
--- a/core/res/res/drawable-mdpi/ic_input_delete.png
+++ b/core/res/res/drawable-mdpi/ic_input_delete.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_lockscreen_handle_normal.png b/core/res/res/drawable-mdpi/ic_lockscreen_handle_normal.png
index 754d7bc..1d547e1 100644
--- a/core/res/res/drawable-mdpi/ic_lockscreen_handle_normal.png
+++ b/core/res/res/drawable-mdpi/ic_lockscreen_handle_normal.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_lockscreen_unlock_activated.png b/core/res/res/drawable-mdpi/ic_lockscreen_unlock_activated.png
index 0d3f756..68409c5 100644
--- a/core/res/res/drawable-mdpi/ic_lockscreen_unlock_activated.png
+++ b/core/res/res/drawable-mdpi/ic_lockscreen_unlock_activated.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_lockscreen_unlock_focused.png b/core/res/res/drawable-mdpi/ic_lockscreen_unlock_focused.png
deleted file mode 100644
index 6f51447..0000000
--- a/core/res/res/drawable-mdpi/ic_lockscreen_unlock_focused.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_lockscreen_unlock_normal.png b/core/res/res/drawable-mdpi/ic_lockscreen_unlock_normal.png
index dd255f5..52866f2 100644
--- a/core/res/res/drawable-mdpi/ic_lockscreen_unlock_normal.png
+++ b/core/res/res/drawable-mdpi/ic_lockscreen_unlock_normal.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_media_embed_play.png b/core/res/res/drawable-mdpi/ic_media_embed_play.png
index fc5d8c6..3576ce5 100644
--- a/core/res/res/drawable-mdpi/ic_media_embed_play.png
+++ b/core/res/res/drawable-mdpi/ic_media_embed_play.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_media_ff.png b/core/res/res/drawable-mdpi/ic_media_ff.png
index 892772e..170dd2d 100644
--- a/core/res/res/drawable-mdpi/ic_media_ff.png
+++ b/core/res/res/drawable-mdpi/ic_media_ff.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_media_fullscreen.png b/core/res/res/drawable-mdpi/ic_media_fullscreen.png
index 1c60e15..960aa85 100644
--- a/core/res/res/drawable-mdpi/ic_media_fullscreen.png
+++ b/core/res/res/drawable-mdpi/ic_media_fullscreen.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_media_next.png b/core/res/res/drawable-mdpi/ic_media_next.png
index bbe311b..a6feed0 100644
--- a/core/res/res/drawable-mdpi/ic_media_next.png
+++ b/core/res/res/drawable-mdpi/ic_media_next.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_media_pause.png b/core/res/res/drawable-mdpi/ic_media_pause.png
index e4e8d86..548ba02 100644
--- a/core/res/res/drawable-mdpi/ic_media_pause.png
+++ b/core/res/res/drawable-mdpi/ic_media_pause.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_media_play.png b/core/res/res/drawable-mdpi/ic_media_play.png
index 8eaf962..0fe6806 100644
--- a/core/res/res/drawable-mdpi/ic_media_play.png
+++ b/core/res/res/drawable-mdpi/ic_media_play.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_media_previous.png b/core/res/res/drawable-mdpi/ic_media_previous.png
index e9abc7f..0163d09 100644
--- a/core/res/res/drawable-mdpi/ic_media_previous.png
+++ b/core/res/res/drawable-mdpi/ic_media_previous.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_media_rew.png b/core/res/res/drawable-mdpi/ic_media_rew.png
index a5eb94a..5489180 100644
--- a/core/res/res/drawable-mdpi/ic_media_rew.png
+++ b/core/res/res/drawable-mdpi/ic_media_rew.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_notification_ime_default.png b/core/res/res/drawable-mdpi/ic_notification_ime_default.png
index 67269e8..7d97eb5 100644
--- a/core/res/res/drawable-mdpi/ic_notification_ime_default.png
+++ b/core/res/res/drawable-mdpi/ic_notification_ime_default.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_suggestions_add.png b/core/res/res/drawable-mdpi/ic_suggestions_add.png
new file mode 100644
index 0000000..f91951b
--- /dev/null
+++ b/core/res/res/drawable-mdpi/ic_suggestions_add.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/ic_suggestions_delete.png b/core/res/res/drawable-mdpi/ic_suggestions_delete.png
new file mode 100644
index 0000000..98eb565
--- /dev/null
+++ b/core/res/res/drawable-mdpi/ic_suggestions_delete.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/indicator_code_lock_drag_direction_green_up.png b/core/res/res/drawable-mdpi/indicator_code_lock_drag_direction_green_up.png
deleted file mode 100644
index 7ddeba5..0000000
--- a/core/res/res/drawable-mdpi/indicator_code_lock_drag_direction_green_up.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-mdpi/indicator_code_lock_point_area_default.png b/core/res/res/drawable-mdpi/indicator_code_lock_point_area_default.png
index f6d9f1b..05c194b 100644
--- a/core/res/res/drawable-mdpi/indicator_code_lock_point_area_default.png
+++ b/core/res/res/drawable-mdpi/indicator_code_lock_point_area_default.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/indicator_code_lock_point_area_default_holo.png b/core/res/res/drawable-mdpi/indicator_code_lock_point_area_default_holo.png
index a627cda..4c4adf2 100644
--- a/core/res/res/drawable-mdpi/indicator_code_lock_point_area_default_holo.png
+++ b/core/res/res/drawable-mdpi/indicator_code_lock_point_area_default_holo.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/indicator_code_lock_point_area_green.png b/core/res/res/drawable-mdpi/indicator_code_lock_point_area_green.png
index b7262d1..8f24832 100644
--- a/core/res/res/drawable-mdpi/indicator_code_lock_point_area_green.png
+++ b/core/res/res/drawable-mdpi/indicator_code_lock_point_area_green.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/indicator_code_lock_point_area_green_holo.png b/core/res/res/drawable-mdpi/indicator_code_lock_point_area_green_holo.png
index 308624b..cb5b31a 100644
--- a/core/res/res/drawable-mdpi/indicator_code_lock_point_area_green_holo.png
+++ b/core/res/res/drawable-mdpi/indicator_code_lock_point_area_green_holo.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/indicator_code_lock_point_area_red_holo.png b/core/res/res/drawable-mdpi/indicator_code_lock_point_area_red_holo.png
index 6c451ec..8434741 100644
--- a/core/res/res/drawable-mdpi/indicator_code_lock_point_area_red_holo.png
+++ b/core/res/res/drawable-mdpi/indicator_code_lock_point_area_red_holo.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/numberpicker_down_disabled_focused_holo_dark.png b/core/res/res/drawable-mdpi/numberpicker_down_disabled_focused_holo_dark.png
index 0329d58..1f29da2 100644
--- a/core/res/res/drawable-mdpi/numberpicker_down_disabled_focused_holo_dark.png
+++ b/core/res/res/drawable-mdpi/numberpicker_down_disabled_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/numberpicker_down_disabled_focused_holo_light.png b/core/res/res/drawable-mdpi/numberpicker_down_disabled_focused_holo_light.png
index d17ca1c..a27f5aa 100644
--- a/core/res/res/drawable-mdpi/numberpicker_down_disabled_focused_holo_light.png
+++ b/core/res/res/drawable-mdpi/numberpicker_down_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/numberpicker_down_disabled_holo_dark.png b/core/res/res/drawable-mdpi/numberpicker_down_disabled_holo_dark.png
index c41e4b8..34268af 100644
--- a/core/res/res/drawable-mdpi/numberpicker_down_disabled_holo_dark.png
+++ b/core/res/res/drawable-mdpi/numberpicker_down_disabled_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/numberpicker_down_disabled_holo_light.png b/core/res/res/drawable-mdpi/numberpicker_down_disabled_holo_light.png
index 846c2e8..304f800 100644
--- a/core/res/res/drawable-mdpi/numberpicker_down_disabled_holo_light.png
+++ b/core/res/res/drawable-mdpi/numberpicker_down_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/numberpicker_down_focused_holo_dark.png b/core/res/res/drawable-mdpi/numberpicker_down_focused_holo_dark.png
index 5543ac6..583542b 100644
--- a/core/res/res/drawable-mdpi/numberpicker_down_focused_holo_dark.png
+++ b/core/res/res/drawable-mdpi/numberpicker_down_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/numberpicker_down_focused_holo_light.png b/core/res/res/drawable-mdpi/numberpicker_down_focused_holo_light.png
index 65e7c87..d15bd16 100644
--- a/core/res/res/drawable-mdpi/numberpicker_down_focused_holo_light.png
+++ b/core/res/res/drawable-mdpi/numberpicker_down_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/numberpicker_down_longpressed_holo_dark.png b/core/res/res/drawable-mdpi/numberpicker_down_longpressed_holo_dark.png
index 50a4167..9a5d79f 100644
--- a/core/res/res/drawable-mdpi/numberpicker_down_longpressed_holo_dark.png
+++ b/core/res/res/drawable-mdpi/numberpicker_down_longpressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/numberpicker_down_longpressed_holo_light.png b/core/res/res/drawable-mdpi/numberpicker_down_longpressed_holo_light.png
index 50a4167..9a5d79f 100644
--- a/core/res/res/drawable-mdpi/numberpicker_down_longpressed_holo_light.png
+++ b/core/res/res/drawable-mdpi/numberpicker_down_longpressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/numberpicker_down_normal_holo_dark.png b/core/res/res/drawable-mdpi/numberpicker_down_normal_holo_dark.png
index 025b27e..8051d64 100644
--- a/core/res/res/drawable-mdpi/numberpicker_down_normal_holo_dark.png
+++ b/core/res/res/drawable-mdpi/numberpicker_down_normal_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/numberpicker_down_normal_holo_light.png b/core/res/res/drawable-mdpi/numberpicker_down_normal_holo_light.png
index 7dd30e98..bcd34e9 100644
--- a/core/res/res/drawable-mdpi/numberpicker_down_normal_holo_light.png
+++ b/core/res/res/drawable-mdpi/numberpicker_down_normal_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/numberpicker_down_pressed_holo_dark.png b/core/res/res/drawable-mdpi/numberpicker_down_pressed_holo_dark.png
index 25c22b6..cf4bdb6 100644
--- a/core/res/res/drawable-mdpi/numberpicker_down_pressed_holo_dark.png
+++ b/core/res/res/drawable-mdpi/numberpicker_down_pressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/numberpicker_down_pressed_holo_light.png b/core/res/res/drawable-mdpi/numberpicker_down_pressed_holo_light.png
index 25c22b6..cf4bdb6 100644
--- a/core/res/res/drawable-mdpi/numberpicker_down_pressed_holo_light.png
+++ b/core/res/res/drawable-mdpi/numberpicker_down_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/numberpicker_up_disabled_focused_holo_dark.png b/core/res/res/drawable-mdpi/numberpicker_up_disabled_focused_holo_dark.png
index c32596c..0535ff7 100644
--- a/core/res/res/drawable-mdpi/numberpicker_up_disabled_focused_holo_dark.png
+++ b/core/res/res/drawable-mdpi/numberpicker_up_disabled_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/numberpicker_up_disabled_focused_holo_light.png b/core/res/res/drawable-mdpi/numberpicker_up_disabled_focused_holo_light.png
index 4b862657..360284d 100644
--- a/core/res/res/drawable-mdpi/numberpicker_up_disabled_focused_holo_light.png
+++ b/core/res/res/drawable-mdpi/numberpicker_up_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/numberpicker_up_disabled_holo_dark.png b/core/res/res/drawable-mdpi/numberpicker_up_disabled_holo_dark.png
index e47ff9c..1e0e92c 100644
--- a/core/res/res/drawable-mdpi/numberpicker_up_disabled_holo_dark.png
+++ b/core/res/res/drawable-mdpi/numberpicker_up_disabled_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/numberpicker_up_disabled_holo_light.png b/core/res/res/drawable-mdpi/numberpicker_up_disabled_holo_light.png
index b5e32d8..14bcce9 100644
--- a/core/res/res/drawable-mdpi/numberpicker_up_disabled_holo_light.png
+++ b/core/res/res/drawable-mdpi/numberpicker_up_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/numberpicker_up_focused_holo_dark.png b/core/res/res/drawable-mdpi/numberpicker_up_focused_holo_dark.png
index 543d3e3..6ed2cf0 100644
--- a/core/res/res/drawable-mdpi/numberpicker_up_focused_holo_dark.png
+++ b/core/res/res/drawable-mdpi/numberpicker_up_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/numberpicker_up_focused_holo_light.png b/core/res/res/drawable-mdpi/numberpicker_up_focused_holo_light.png
index 6b395dd..015a8cf 100644
--- a/core/res/res/drawable-mdpi/numberpicker_up_focused_holo_light.png
+++ b/core/res/res/drawable-mdpi/numberpicker_up_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/numberpicker_up_longpressed_holo_dark.png b/core/res/res/drawable-mdpi/numberpicker_up_longpressed_holo_dark.png
index f0cd69f..8bb44f2 100644
--- a/core/res/res/drawable-mdpi/numberpicker_up_longpressed_holo_dark.png
+++ b/core/res/res/drawable-mdpi/numberpicker_up_longpressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/numberpicker_up_longpressed_holo_light.png b/core/res/res/drawable-mdpi/numberpicker_up_longpressed_holo_light.png
index f0cd69f..8bb44f2 100644
--- a/core/res/res/drawable-mdpi/numberpicker_up_longpressed_holo_light.png
+++ b/core/res/res/drawable-mdpi/numberpicker_up_longpressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/numberpicker_up_normal_holo_dark.png b/core/res/res/drawable-mdpi/numberpicker_up_normal_holo_dark.png
index bf8136c..6ab5f23 100644
--- a/core/res/res/drawable-mdpi/numberpicker_up_normal_holo_dark.png
+++ b/core/res/res/drawable-mdpi/numberpicker_up_normal_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/numberpicker_up_normal_holo_light.png b/core/res/res/drawable-mdpi/numberpicker_up_normal_holo_light.png
index 2c2bef3..65ec302 100644
--- a/core/res/res/drawable-mdpi/numberpicker_up_normal_holo_light.png
+++ b/core/res/res/drawable-mdpi/numberpicker_up_normal_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/numberpicker_up_pressed_holo_dark.png b/core/res/res/drawable-mdpi/numberpicker_up_pressed_holo_dark.png
index 394f063..34d3228 100644
--- a/core/res/res/drawable-mdpi/numberpicker_up_pressed_holo_dark.png
+++ b/core/res/res/drawable-mdpi/numberpicker_up_pressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/numberpicker_up_pressed_holo_light.png b/core/res/res/drawable-mdpi/numberpicker_up_pressed_holo_light.png
index 394f063..34d3228 100644
--- a/core/res/res/drawable-mdpi/numberpicker_up_pressed_holo_light.png
+++ b/core/res/res/drawable-mdpi/numberpicker_up_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/panel_bg_holo_dark.9.png b/core/res/res/drawable-mdpi/panel_bg_holo_dark.9.png
index c64da8d..8c51b01 100644
--- a/core/res/res/drawable-mdpi/panel_bg_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/panel_bg_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/popup_inline_error.9.png b/core/res/res/drawable-mdpi/popup_inline_error.9.png
index 2d62071..17fbe4a 100644
--- a/core/res/res/drawable-mdpi/popup_inline_error.9.png
+++ b/core/res/res/drawable-mdpi/popup_inline_error.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/popup_inline_error_above.9.png b/core/res/res/drawable-mdpi/popup_inline_error_above.9.png
index a318891..1d93817 100644
--- a/core/res/res/drawable-mdpi/popup_inline_error_above.9.png
+++ b/core/res/res/drawable-mdpi/popup_inline_error_above.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/progress_primary_holo_dark.9.png b/core/res/res/drawable-mdpi/progress_primary_holo_dark.9.png
index 31228b6..ab8ec69 100644
--- a/core/res/res/drawable-mdpi/progress_primary_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/progress_primary_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/progress_primary_holo_light.9.png b/core/res/res/drawable-mdpi/progress_primary_holo_light.9.png
index 31228b6..ab8ec69 100644
--- a/core/res/res/drawable-mdpi/progress_primary_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/progress_primary_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/progressbar_indeterminate_holo1.png b/core/res/res/drawable-mdpi/progressbar_indeterminate_holo1.png
index 4cab1a1..1e5d956 100644
--- a/core/res/res/drawable-mdpi/progressbar_indeterminate_holo1.png
+++ b/core/res/res/drawable-mdpi/progressbar_indeterminate_holo1.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/progressbar_indeterminate_holo2.png b/core/res/res/drawable-mdpi/progressbar_indeterminate_holo2.png
index 2692bd1..d0c0200 100644
--- a/core/res/res/drawable-mdpi/progressbar_indeterminate_holo2.png
+++ b/core/res/res/drawable-mdpi/progressbar_indeterminate_holo2.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/progressbar_indeterminate_holo3.png b/core/res/res/drawable-mdpi/progressbar_indeterminate_holo3.png
index d83cad9..bfdc5ea 100644
--- a/core/res/res/drawable-mdpi/progressbar_indeterminate_holo3.png
+++ b/core/res/res/drawable-mdpi/progressbar_indeterminate_holo3.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/progressbar_indeterminate_holo4.png b/core/res/res/drawable-mdpi/progressbar_indeterminate_holo4.png
index 4ef84a1..1440bc8 100644
--- a/core/res/res/drawable-mdpi/progressbar_indeterminate_holo4.png
+++ b/core/res/res/drawable-mdpi/progressbar_indeterminate_holo4.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/progressbar_indeterminate_holo5.png b/core/res/res/drawable-mdpi/progressbar_indeterminate_holo5.png
index f661b11..4f645fa8 100644
--- a/core/res/res/drawable-mdpi/progressbar_indeterminate_holo5.png
+++ b/core/res/res/drawable-mdpi/progressbar_indeterminate_holo5.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/progressbar_indeterminate_holo6.png b/core/res/res/drawable-mdpi/progressbar_indeterminate_holo6.png
index 69df8e0..21966fd 100644
--- a/core/res/res/drawable-mdpi/progressbar_indeterminate_holo6.png
+++ b/core/res/res/drawable-mdpi/progressbar_indeterminate_holo6.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/progressbar_indeterminate_holo7.png b/core/res/res/drawable-mdpi/progressbar_indeterminate_holo7.png
index c34f0a5..7ca15ed 100644
--- a/core/res/res/drawable-mdpi/progressbar_indeterminate_holo7.png
+++ b/core/res/res/drawable-mdpi/progressbar_indeterminate_holo7.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/progressbar_indeterminate_holo8.png b/core/res/res/drawable-mdpi/progressbar_indeterminate_holo8.png
index 2258b20..369d0ac 100644
--- a/core/res/res/drawable-mdpi/progressbar_indeterminate_holo8.png
+++ b/core/res/res/drawable-mdpi/progressbar_indeterminate_holo8.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/rate_star_big_half_holo_dark.png b/core/res/res/drawable-mdpi/rate_star_big_half_holo_dark.png
index 593af6e..dac51dfd 100644
--- a/core/res/res/drawable-mdpi/rate_star_big_half_holo_dark.png
+++ b/core/res/res/drawable-mdpi/rate_star_big_half_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/rate_star_big_half_holo_light.png b/core/res/res/drawable-mdpi/rate_star_big_half_holo_light.png
index 3dc3aed..441dbf7 100644
--- a/core/res/res/drawable-mdpi/rate_star_big_half_holo_light.png
+++ b/core/res/res/drawable-mdpi/rate_star_big_half_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/rate_star_big_off_holo_dark.png b/core/res/res/drawable-mdpi/rate_star_big_off_holo_dark.png
index 3650f00..cde1fb9 100644
--- a/core/res/res/drawable-mdpi/rate_star_big_off_holo_dark.png
+++ b/core/res/res/drawable-mdpi/rate_star_big_off_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/rate_star_big_off_holo_light.png b/core/res/res/drawable-mdpi/rate_star_big_off_holo_light.png
index 107e0fb..8ecf0f9 100644
--- a/core/res/res/drawable-mdpi/rate_star_big_off_holo_light.png
+++ b/core/res/res/drawable-mdpi/rate_star_big_off_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/rate_star_big_on_holo_dark.png b/core/res/res/drawable-mdpi/rate_star_big_on_holo_dark.png
index 2b9d79d..0674db3 100644
--- a/core/res/res/drawable-mdpi/rate_star_big_on_holo_dark.png
+++ b/core/res/res/drawable-mdpi/rate_star_big_on_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/rate_star_big_on_holo_light.png b/core/res/res/drawable-mdpi/rate_star_big_on_holo_light.png
index c119683..0117919 100644
--- a/core/res/res/drawable-mdpi/rate_star_big_on_holo_light.png
+++ b/core/res/res/drawable-mdpi/rate_star_big_on_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/rate_star_med_half_holo_dark.png b/core/res/res/drawable-mdpi/rate_star_med_half_holo_dark.png
index 7dc749d..f2ce7ab 100644
--- a/core/res/res/drawable-mdpi/rate_star_med_half_holo_dark.png
+++ b/core/res/res/drawable-mdpi/rate_star_med_half_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/rate_star_med_half_holo_light.png b/core/res/res/drawable-mdpi/rate_star_med_half_holo_light.png
index 22e2a66..48bcf85 100644
--- a/core/res/res/drawable-mdpi/rate_star_med_half_holo_light.png
+++ b/core/res/res/drawable-mdpi/rate_star_med_half_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/rate_star_med_off_holo_dark.png b/core/res/res/drawable-mdpi/rate_star_med_off_holo_dark.png
index 24adc5b..d2e7ab6 100644
--- a/core/res/res/drawable-mdpi/rate_star_med_off_holo_dark.png
+++ b/core/res/res/drawable-mdpi/rate_star_med_off_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/rate_star_med_off_holo_light.png b/core/res/res/drawable-mdpi/rate_star_med_off_holo_light.png
index d309d27..69824eb 100644
--- a/core/res/res/drawable-mdpi/rate_star_med_off_holo_light.png
+++ b/core/res/res/drawable-mdpi/rate_star_med_off_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/rate_star_med_on_holo_dark.png b/core/res/res/drawable-mdpi/rate_star_med_on_holo_dark.png
index af8c474..b3b8016 100644
--- a/core/res/res/drawable-mdpi/rate_star_med_on_holo_dark.png
+++ b/core/res/res/drawable-mdpi/rate_star_med_on_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/rate_star_med_on_holo_light.png b/core/res/res/drawable-mdpi/rate_star_med_on_holo_light.png
index 9f03076..84ca715 100644
--- a/core/res/res/drawable-mdpi/rate_star_med_on_holo_light.png
+++ b/core/res/res/drawable-mdpi/rate_star_med_on_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/rate_star_small_half_holo_dark.png b/core/res/res/drawable-mdpi/rate_star_small_half_holo_dark.png
index 6b5f41c..56a62d2 100644
--- a/core/res/res/drawable-mdpi/rate_star_small_half_holo_dark.png
+++ b/core/res/res/drawable-mdpi/rate_star_small_half_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/rate_star_small_half_holo_light.png b/core/res/res/drawable-mdpi/rate_star_small_half_holo_light.png
index db84cc7..83b7c1c 100644
--- a/core/res/res/drawable-mdpi/rate_star_small_half_holo_light.png
+++ b/core/res/res/drawable-mdpi/rate_star_small_half_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/rate_star_small_off_holo_dark.png b/core/res/res/drawable-mdpi/rate_star_small_off_holo_dark.png
index 6819f81..b70244b 100644
--- a/core/res/res/drawable-mdpi/rate_star_small_off_holo_dark.png
+++ b/core/res/res/drawable-mdpi/rate_star_small_off_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/rate_star_small_off_holo_light.png b/core/res/res/drawable-mdpi/rate_star_small_off_holo_light.png
index 8b45582..bb5c08c 100644
--- a/core/res/res/drawable-mdpi/rate_star_small_off_holo_light.png
+++ b/core/res/res/drawable-mdpi/rate_star_small_off_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/rate_star_small_on_holo_dark.png b/core/res/res/drawable-mdpi/rate_star_small_on_holo_dark.png
index 25f6df8..444e882 100644
--- a/core/res/res/drawable-mdpi/rate_star_small_on_holo_dark.png
+++ b/core/res/res/drawable-mdpi/rate_star_small_on_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/rate_star_small_on_holo_light.png b/core/res/res/drawable-mdpi/rate_star_small_on_holo_light.png
index 0d34be9..7dba529 100644
--- a/core/res/res/drawable-mdpi/rate_star_small_on_holo_light.png
+++ b/core/res/res/drawable-mdpi/rate_star_small_on_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/scrubber_control_disabled_holo.png b/core/res/res/drawable-mdpi/scrubber_control_disabled_holo.png
index a035f6f..351d539 100644
--- a/core/res/res/drawable-mdpi/scrubber_control_disabled_holo.png
+++ b/core/res/res/drawable-mdpi/scrubber_control_disabled_holo.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/scrubber_control_focused_holo.png b/core/res/res/drawable-mdpi/scrubber_control_focused_holo.png
index 5c9720f..e6072ee 100644
--- a/core/res/res/drawable-mdpi/scrubber_control_focused_holo.png
+++ b/core/res/res/drawable-mdpi/scrubber_control_focused_holo.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/scrubber_control_normal_holo.png b/core/res/res/drawable-mdpi/scrubber_control_normal_holo.png
index 2497716..79682c1 100644
--- a/core/res/res/drawable-mdpi/scrubber_control_normal_holo.png
+++ b/core/res/res/drawable-mdpi/scrubber_control_normal_holo.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/scrubber_control_pressed_holo.png b/core/res/res/drawable-mdpi/scrubber_control_pressed_holo.png
index 5fc3ca2..ba53c0b 100644
--- a/core/res/res/drawable-mdpi/scrubber_control_pressed_holo.png
+++ b/core/res/res/drawable-mdpi/scrubber_control_pressed_holo.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/spinner_16_inner_holo.png b/core/res/res/drawable-mdpi/spinner_16_inner_holo.png
index c0f1b20..eeef0c8 100644
--- a/core/res/res/drawable-mdpi/spinner_16_inner_holo.png
+++ b/core/res/res/drawable-mdpi/spinner_16_inner_holo.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/spinner_16_outer_holo.png b/core/res/res/drawable-mdpi/spinner_16_outer_holo.png
index 0492a62..7cc2b54 100644
--- a/core/res/res/drawable-mdpi/spinner_16_outer_holo.png
+++ b/core/res/res/drawable-mdpi/spinner_16_outer_holo.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/spinner_20_inner_holo.png b/core/res/res/drawable-mdpi/spinner_20_inner_holo.png
index 5e141d8..4569fae 100644
--- a/core/res/res/drawable-mdpi/spinner_20_inner_holo.png
+++ b/core/res/res/drawable-mdpi/spinner_20_inner_holo.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/spinner_20_outer_holo.png b/core/res/res/drawable-mdpi/spinner_20_outer_holo.png
index 07ba3f3..9287dd7 100644
--- a/core/res/res/drawable-mdpi/spinner_20_outer_holo.png
+++ b/core/res/res/drawable-mdpi/spinner_20_outer_holo.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/spinner_48_inner_holo.png b/core/res/res/drawable-mdpi/spinner_48_inner_holo.png
index 8c27069..9458668 100644
--- a/core/res/res/drawable-mdpi/spinner_48_inner_holo.png
+++ b/core/res/res/drawable-mdpi/spinner_48_inner_holo.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/spinner_48_outer_holo.png b/core/res/res/drawable-mdpi/spinner_48_outer_holo.png
index d5f0490..4ce73ed 100644
--- a/core/res/res/drawable-mdpi/spinner_48_outer_holo.png
+++ b/core/res/res/drawable-mdpi/spinner_48_outer_holo.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/spinner_76_inner_holo.png b/core/res/res/drawable-mdpi/spinner_76_inner_holo.png
index 3e263e8..cba1300d 100644
--- a/core/res/res/drawable-mdpi/spinner_76_inner_holo.png
+++ b/core/res/res/drawable-mdpi/spinner_76_inner_holo.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/spinner_76_outer_holo.png b/core/res/res/drawable-mdpi/spinner_76_outer_holo.png
index 6eb6d10..99a5ebb 100644
--- a/core/res/res/drawable-mdpi/spinner_76_outer_holo.png
+++ b/core/res/res/drawable-mdpi/spinner_76_outer_holo.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/spinner_ab_pressed_holo_dark.9.png b/core/res/res/drawable-mdpi/spinner_ab_pressed_holo_dark.9.png
index dda2998..6255e2e 100644
--- a/core/res/res/drawable-mdpi/spinner_ab_pressed_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/spinner_ab_pressed_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/spinner_ab_pressed_holo_light.9.png b/core/res/res/drawable-mdpi/spinner_ab_pressed_holo_light.9.png
index 951301d..1085248 100644
--- a/core/res/res/drawable-mdpi/spinner_ab_pressed_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/spinner_ab_pressed_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_notify_error.png b/core/res/res/drawable-mdpi/stat_notify_error.png
index 168f8f6..78d59aa 100644
--- a/core/res/res/drawable-mdpi/stat_notify_error.png
+++ b/core/res/res/drawable-mdpi/stat_notify_error.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_notify_wifi_in_range.png b/core/res/res/drawable-mdpi/stat_notify_wifi_in_range.png
index 3bf0d35..747cb97 100644
--- a/core/res/res/drawable-mdpi/stat_notify_wifi_in_range.png
+++ b/core/res/res/drawable-mdpi/stat_notify_wifi_in_range.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/stat_sys_adb.png b/core/res/res/drawable-mdpi/stat_sys_adb.png
index ebedfa3..86d113f 100644
--- a/core/res/res/drawable-mdpi/stat_sys_adb.png
+++ b/core/res/res/drawable-mdpi/stat_sys_adb.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/switch_bg_disabled_holo_dark.9.png b/core/res/res/drawable-mdpi/switch_bg_disabled_holo_dark.9.png
index b8dd545..a161b03 100644
--- a/core/res/res/drawable-mdpi/switch_bg_disabled_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/switch_bg_disabled_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/switch_bg_disabled_holo_light.9.png b/core/res/res/drawable-mdpi/switch_bg_disabled_holo_light.9.png
index 11b8426..c637dd1 100644
--- a/core/res/res/drawable-mdpi/switch_bg_disabled_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/switch_bg_disabled_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/switch_bg_focused_holo_dark.9.png b/core/res/res/drawable-mdpi/switch_bg_focused_holo_dark.9.png
index c9481fa..680d1a0 100644
--- a/core/res/res/drawable-mdpi/switch_bg_focused_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/switch_bg_focused_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/switch_bg_focused_holo_light.9.png b/core/res/res/drawable-mdpi/switch_bg_focused_holo_light.9.png
index eb08c87..70da7b3 100644
--- a/core/res/res/drawable-mdpi/switch_bg_focused_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/switch_bg_focused_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/switch_bg_holo_dark.9.png b/core/res/res/drawable-mdpi/switch_bg_holo_dark.9.png
index 429d73d..b5582b5 100644
--- a/core/res/res/drawable-mdpi/switch_bg_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/switch_bg_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/switch_bg_holo_light.9.png b/core/res/res/drawable-mdpi/switch_bg_holo_light.9.png
index 693ee33..a2af2b5 100644
--- a/core/res/res/drawable-mdpi/switch_bg_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/switch_bg_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/switch_thumb_activated_holo_dark.9.png b/core/res/res/drawable-mdpi/switch_thumb_activated_holo_dark.9.png
index bf4b161..3d786c0 100644
--- a/core/res/res/drawable-mdpi/switch_thumb_activated_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/switch_thumb_activated_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/switch_thumb_activated_holo_light.9.png b/core/res/res/drawable-mdpi/switch_thumb_activated_holo_light.9.png
index 4535993..2bad2b8 100644
--- a/core/res/res/drawable-mdpi/switch_thumb_activated_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/switch_thumb_activated_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/switch_thumb_disabled_holo_dark.9.png b/core/res/res/drawable-mdpi/switch_thumb_disabled_holo_dark.9.png
index c56f49d..f6ed0bf 100644
--- a/core/res/res/drawable-mdpi/switch_thumb_disabled_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/switch_thumb_disabled_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/switch_thumb_disabled_holo_light.9.png b/core/res/res/drawable-mdpi/switch_thumb_disabled_holo_light.9.png
index 5272f08..a430b77 100644
--- a/core/res/res/drawable-mdpi/switch_thumb_disabled_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/switch_thumb_disabled_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/switch_thumb_holo_dark.9.png b/core/res/res/drawable-mdpi/switch_thumb_holo_dark.9.png
index 9b738046..6312c59 100644
--- a/core/res/res/drawable-mdpi/switch_thumb_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/switch_thumb_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/switch_thumb_holo_light.9.png b/core/res/res/drawable-mdpi/switch_thumb_holo_light.9.png
index bcd503f..2086722 100644
--- a/core/res/res/drawable-mdpi/switch_thumb_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/switch_thumb_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/switch_thumb_pressed_holo_dark.9.png b/core/res/res/drawable-mdpi/switch_thumb_pressed_holo_dark.9.png
index 9c948a5..e44b1d8 100644
--- a/core/res/res/drawable-mdpi/switch_thumb_pressed_holo_dark.9.png
+++ b/core/res/res/drawable-mdpi/switch_thumb_pressed_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/switch_thumb_pressed_holo_light.9.png b/core/res/res/drawable-mdpi/switch_thumb_pressed_holo_light.9.png
index b035f42..ee7e37b 100644
--- a/core/res/res/drawable-mdpi/switch_thumb_pressed_holo_light.9.png
+++ b/core/res/res/drawable-mdpi/switch_thumb_pressed_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/tab_selected_v4.9.png b/core/res/res/drawable-mdpi/tab_selected_v4.9.png
index 3c1c4eb..e8e112a 100644
--- a/core/res/res/drawable-mdpi/tab_selected_v4.9.png
+++ b/core/res/res/drawable-mdpi/tab_selected_v4.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/tab_unselected_v4.9.png b/core/res/res/drawable-mdpi/tab_unselected_v4.9.png
index bb38337..229f503 100644
--- a/core/res/res/drawable-mdpi/tab_unselected_v4.9.png
+++ b/core/res/res/drawable-mdpi/tab_unselected_v4.9.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/text_select_handle_left.png b/core/res/res/drawable-mdpi/text_select_handle_left.png
index 0c3a0cc..750cdea 100644
--- a/core/res/res/drawable-mdpi/text_select_handle_left.png
+++ b/core/res/res/drawable-mdpi/text_select_handle_left.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/text_select_handle_middle.png b/core/res/res/drawable-mdpi/text_select_handle_middle.png
index f488bdd..3cdca90 100644
--- a/core/res/res/drawable-mdpi/text_select_handle_middle.png
+++ b/core/res/res/drawable-mdpi/text_select_handle_middle.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/text_select_handle_right.png b/core/res/res/drawable-mdpi/text_select_handle_right.png
index d3880c6..fc3d144 100644
--- a/core/res/res/drawable-mdpi/text_select_handle_right.png
+++ b/core/res/res/drawable-mdpi/text_select_handle_right.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/vpn_connected.png b/core/res/res/drawable-mdpi/vpn_connected.png
index 0d1a026..7e167f8 100644
--- a/core/res/res/drawable-mdpi/vpn_connected.png
+++ b/core/res/res/drawable-mdpi/vpn_connected.png
Binary files differ
diff --git a/core/res/res/drawable-mdpi/vpn_disconnected.png b/core/res/res/drawable-mdpi/vpn_disconnected.png
index d16d7fb..a08c42a 100644
--- a/core/res/res/drawable-mdpi/vpn_disconnected.png
+++ b/core/res/res/drawable-mdpi/vpn_disconnected.png
Binary files differ
diff --git a/core/res/res/drawable-nodpi/indicator_code_lock_drag_direction_green_up.png b/core/res/res/drawable-nodpi/indicator_code_lock_drag_direction_green_up.png
new file mode 100644
index 0000000..cc46f19
--- /dev/null
+++ b/core/res/res/drawable-nodpi/indicator_code_lock_drag_direction_green_up.png
Binary files differ
diff --git a/core/res/res/drawable-nodpi/platlogo.png b/core/res/res/drawable-nodpi/platlogo.png
index faabda1..e619ed5 100644
--- a/core/res/res/drawable-nodpi/platlogo.png
+++ b/core/res/res/drawable-nodpi/platlogo.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_on_disable.png b/core/res/res/drawable-xhdpi/btn_check_on_disable.png
index 179f191..11917b5 100644
--- a/core/res/res/drawable-xhdpi/btn_check_on_disable.png
+++ b/core/res/res/drawable-xhdpi/btn_check_on_disable.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_on_disabled_focused_holo_dark.png b/core/res/res/drawable-xhdpi/btn_check_on_disabled_focused_holo_dark.png
index 02e4254..041663a 100644
--- a/core/res/res/drawable-xhdpi/btn_check_on_disabled_focused_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_check_on_disabled_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_on_disabled_focused_holo_light.png b/core/res/res/drawable-xhdpi/btn_check_on_disabled_focused_holo_light.png
index 7e61802..ca0dadb 100644
--- a/core/res/res/drawable-xhdpi/btn_check_on_disabled_focused_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_check_on_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_on_disabled_holo_dark.png b/core/res/res/drawable-xhdpi/btn_check_on_disabled_holo_dark.png
index cc6326e..4960b57 100644
--- a/core/res/res/drawable-xhdpi/btn_check_on_disabled_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_check_on_disabled_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_on_disabled_holo_light.png b/core/res/res/drawable-xhdpi/btn_check_on_disabled_holo_light.png
index f468781..ce1dd23 100644
--- a/core/res/res/drawable-xhdpi/btn_check_on_disabled_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_check_on_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_on_focused_holo_dark.png b/core/res/res/drawable-xhdpi/btn_check_on_focused_holo_dark.png
index 1e25364..0a31fbc 100644
--- a/core/res/res/drawable-xhdpi/btn_check_on_focused_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_check_on_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_on_focused_holo_light.png b/core/res/res/drawable-xhdpi/btn_check_on_focused_holo_light.png
index fc1af9f..62f6336 100644
--- a/core/res/res/drawable-xhdpi/btn_check_on_focused_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_check_on_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_on_holo.png b/core/res/res/drawable-xhdpi/btn_check_on_holo.png
index 75f66521..65dd58d 100644
--- a/core/res/res/drawable-xhdpi/btn_check_on_holo.png
+++ b/core/res/res/drawable-xhdpi/btn_check_on_holo.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_on_holo_dark.png b/core/res/res/drawable-xhdpi/btn_check_on_holo_dark.png
index c327f56..dc2379c 100644
--- a/core/res/res/drawable-xhdpi/btn_check_on_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_check_on_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_on_holo_light.png b/core/res/res/drawable-xhdpi/btn_check_on_holo_light.png
index 74a2ea3..cbb26fd 100644
--- a/core/res/res/drawable-xhdpi/btn_check_on_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_check_on_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_on_pressed.png b/core/res/res/drawable-xhdpi/btn_check_on_pressed.png
index f84a5b0..995775e 100644
--- a/core/res/res/drawable-xhdpi/btn_check_on_pressed.png
+++ b/core/res/res/drawable-xhdpi/btn_check_on_pressed.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_on_pressed_holo_dark.png b/core/res/res/drawable-xhdpi/btn_check_on_pressed_holo_dark.png
index 48a6431..9c160af 100644
--- a/core/res/res/drawable-xhdpi/btn_check_on_pressed_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_check_on_pressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_on_pressed_holo_light.png b/core/res/res/drawable-xhdpi/btn_check_on_pressed_holo_light.png
index 5defddf..eb85218 100644
--- a/core/res/res/drawable-xhdpi/btn_check_on_pressed_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_check_on_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_check_on_selected.png b/core/res/res/drawable-xhdpi/btn_check_on_selected.png
index 963c68e..a46f2f4 100644
--- a/core/res/res/drawable-xhdpi/btn_check_on_selected.png
+++ b/core/res/res/drawable-xhdpi/btn_check_on_selected.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_code_lock_default.png b/core/res/res/drawable-xhdpi/btn_code_lock_default.png
index a644014..c1358a2 100644
--- a/core/res/res/drawable-xhdpi/btn_code_lock_default.png
+++ b/core/res/res/drawable-xhdpi/btn_code_lock_default.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_code_lock_default_holo.png b/core/res/res/drawable-xhdpi/btn_code_lock_default_holo.png
index f607251..db1cbe6 100644
--- a/core/res/res/drawable-xhdpi/btn_code_lock_default_holo.png
+++ b/core/res/res/drawable-xhdpi/btn_code_lock_default_holo.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_code_lock_touched.png b/core/res/res/drawable-xhdpi/btn_code_lock_touched.png
index 67faad2..0fafc3e 100644
--- a/core/res/res/drawable-xhdpi/btn_code_lock_touched.png
+++ b/core/res/res/drawable-xhdpi/btn_code_lock_touched.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_code_lock_touched_holo.png b/core/res/res/drawable-xhdpi/btn_code_lock_touched_holo.png
index e057cdd..073c3ac 100644
--- a/core/res/res/drawable-xhdpi/btn_code_lock_touched_holo.png
+++ b/core/res/res/drawable-xhdpi/btn_code_lock_touched_holo.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_normal.9.png b/core/res/res/drawable-xhdpi/btn_default_normal.9.png
index 4ca0b374..7080905 100644
--- a/core/res/res/drawable-xhdpi/btn_default_normal.9.png
+++ b/core/res/res/drawable-xhdpi/btn_default_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_normal_disable.9.png b/core/res/res/drawable-xhdpi/btn_default_normal_disable.9.png
index f7af2a4..704bb55 100644
--- a/core/res/res/drawable-xhdpi/btn_default_normal_disable.9.png
+++ b/core/res/res/drawable-xhdpi/btn_default_normal_disable.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_normal_disable_focused.9.png b/core/res/res/drawable-xhdpi/btn_default_normal_disable_focused.9.png
index ab7084e..7f64c75 100644
--- a/core/res/res/drawable-xhdpi/btn_default_normal_disable_focused.9.png
+++ b/core/res/res/drawable-xhdpi/btn_default_normal_disable_focused.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_pressed.9.png b/core/res/res/drawable-xhdpi/btn_default_pressed.9.png
index 02f5bb8..849cd48 100644
--- a/core/res/res/drawable-xhdpi/btn_default_pressed.9.png
+++ b/core/res/res/drawable-xhdpi/btn_default_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_selected.9.png b/core/res/res/drawable-xhdpi/btn_default_selected.9.png
index 0375a18..2be8da6 100644
--- a/core/res/res/drawable-xhdpi/btn_default_selected.9.png
+++ b/core/res/res/drawable-xhdpi/btn_default_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_small_normal.9.png b/core/res/res/drawable-xhdpi/btn_default_small_normal.9.png
index d368073..5b7a3bd 100644
--- a/core/res/res/drawable-xhdpi/btn_default_small_normal.9.png
+++ b/core/res/res/drawable-xhdpi/btn_default_small_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_small_normal_disable.9.png b/core/res/res/drawable-xhdpi/btn_default_small_normal_disable.9.png
index 6d1eb48..36cbd3e 100644
--- a/core/res/res/drawable-xhdpi/btn_default_small_normal_disable.9.png
+++ b/core/res/res/drawable-xhdpi/btn_default_small_normal_disable.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_small_normal_disable_focused.9.png b/core/res/res/drawable-xhdpi/btn_default_small_normal_disable_focused.9.png
index f4783d4..3ce0038 100644
--- a/core/res/res/drawable-xhdpi/btn_default_small_normal_disable_focused.9.png
+++ b/core/res/res/drawable-xhdpi/btn_default_small_normal_disable_focused.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_small_selected.9.png b/core/res/res/drawable-xhdpi/btn_default_small_selected.9.png
index 0df43d7..5874b8c 100644
--- a/core/res/res/drawable-xhdpi/btn_default_small_selected.9.png
+++ b/core/res/res/drawable-xhdpi/btn_default_small_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_default_transparent_normal.9.png b/core/res/res/drawable-xhdpi/btn_default_transparent_normal.9.png
index 4412346..fb2fbf5 100644
--- a/core/res/res/drawable-xhdpi/btn_default_transparent_normal.9.png
+++ b/core/res/res/drawable-xhdpi/btn_default_transparent_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_dropdown_disabled_focused.9.png b/core/res/res/drawable-xhdpi/btn_dropdown_disabled_focused.9.png
index 0e0e0d1..1e4cec3 100644
--- a/core/res/res/drawable-xhdpi/btn_dropdown_disabled_focused.9.png
+++ b/core/res/res/drawable-xhdpi/btn_dropdown_disabled_focused.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_dropdown_normal.9.png b/core/res/res/drawable-xhdpi/btn_dropdown_normal.9.png
index a47ad5a..aab7658 100644
--- a/core/res/res/drawable-xhdpi/btn_dropdown_normal.9.png
+++ b/core/res/res/drawable-xhdpi/btn_dropdown_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_dropdown_pressed.9.png b/core/res/res/drawable-xhdpi/btn_dropdown_pressed.9.png
index a3851a8..4a1ddf3 100644
--- a/core/res/res/drawable-xhdpi/btn_dropdown_pressed.9.png
+++ b/core/res/res/drawable-xhdpi/btn_dropdown_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_dropdown_selected.9.png b/core/res/res/drawable-xhdpi/btn_dropdown_selected.9.png
index 80e4d04..cdae834 100644
--- a/core/res/res/drawable-xhdpi/btn_dropdown_selected.9.png
+++ b/core/res/res/drawable-xhdpi/btn_dropdown_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_normal.9.png b/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_normal.9.png
index ef9262f..981cad9 100644
--- a/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_normal.9.png
+++ b/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_normal_off.9.png b/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_normal_off.9.png
index 6715afd..2252293 100644
--- a/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_normal_off.9.png
+++ b/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_normal_off.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_normal_on.9.png b/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_normal_on.9.png
index 8ffddcf..4db7078 100644
--- a/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_normal_on.9.png
+++ b/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_normal_on.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_pressed.9.png b/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_pressed.9.png
index 5a52bbc..04e7ea1 100644
--- a/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_pressed.9.png
+++ b/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_pressed_off.9.png b/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_pressed_off.9.png
index 77c6d78..95e91e8 100644
--- a/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_pressed_off.9.png
+++ b/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_pressed_off.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_pressed_on.9.png b/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_pressed_on.9.png
index ed73f09..cdd47d5 100644
--- a/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_pressed_on.9.png
+++ b/core/res/res/drawable-xhdpi/btn_keyboard_key_fulltrans_pressed_on.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_keyboard_key_normal.9.png b/core/res/res/drawable-xhdpi/btn_keyboard_key_normal.9.png
index 08021f9..1f3a6b3 100644
--- a/core/res/res/drawable-xhdpi/btn_keyboard_key_normal.9.png
+++ b/core/res/res/drawable-xhdpi/btn_keyboard_key_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_keyboard_key_normal_off.9.png b/core/res/res/drawable-xhdpi/btn_keyboard_key_normal_off.9.png
index 41c8ccb..2a9b6f4 100644
--- a/core/res/res/drawable-xhdpi/btn_keyboard_key_normal_off.9.png
+++ b/core/res/res/drawable-xhdpi/btn_keyboard_key_normal_off.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_keyboard_key_normal_on.9.png b/core/res/res/drawable-xhdpi/btn_keyboard_key_normal_on.9.png
index 546ccbc..096d6e9 100644
--- a/core/res/res/drawable-xhdpi/btn_keyboard_key_normal_on.9.png
+++ b/core/res/res/drawable-xhdpi/btn_keyboard_key_normal_on.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_keyboard_key_pressed.9.png b/core/res/res/drawable-xhdpi/btn_keyboard_key_pressed.9.png
index 802b22e..20852d6 100644
--- a/core/res/res/drawable-xhdpi/btn_keyboard_key_pressed.9.png
+++ b/core/res/res/drawable-xhdpi/btn_keyboard_key_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_keyboard_key_pressed_off.9.png b/core/res/res/drawable-xhdpi/btn_keyboard_key_pressed_off.9.png
index d317f94..271c6b4 100644
--- a/core/res/res/drawable-xhdpi/btn_keyboard_key_pressed_off.9.png
+++ b/core/res/res/drawable-xhdpi/btn_keyboard_key_pressed_off.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_keyboard_key_pressed_on.9.png b/core/res/res/drawable-xhdpi/btn_keyboard_key_pressed_on.9.png
index 80b50a1..e72ec79 100644
--- a/core/res/res/drawable-xhdpi/btn_keyboard_key_pressed_on.9.png
+++ b/core/res/res/drawable-xhdpi/btn_keyboard_key_pressed_on.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_normal_off.9.png b/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_normal_off.9.png
index 76202a4..e08dcc5 100644
--- a/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_normal_off.9.png
+++ b/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_normal_off.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_normal_on.9.png b/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_normal_on.9.png
index e9b2d7e..fd512d9c 100644
--- a/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_normal_on.9.png
+++ b/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_normal_on.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_pressed_off.9.png b/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_pressed_off.9.png
index 8db4f8e..b18642d 100644
--- a/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_pressed_off.9.png
+++ b/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_pressed_off.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_pressed_on.9.png b/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_pressed_on.9.png
index b835a07..134c4a9 100644
--- a/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_pressed_on.9.png
+++ b/core/res/res/drawable-xhdpi/btn_keyboard_key_trans_pressed_on.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_search_dialog_default.9.png b/core/res/res/drawable-xhdpi/btn_search_dialog_default.9.png
index 07cb53c..0a12dc9 100644
--- a/core/res/res/drawable-xhdpi/btn_search_dialog_default.9.png
+++ b/core/res/res/drawable-xhdpi/btn_search_dialog_default.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_search_dialog_pressed.9.png b/core/res/res/drawable-xhdpi/btn_search_dialog_pressed.9.png
index d3ccef8..35ad67c 100644
--- a/core/res/res/drawable-xhdpi/btn_search_dialog_pressed.9.png
+++ b/core/res/res/drawable-xhdpi/btn_search_dialog_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_search_dialog_selected.9.png b/core/res/res/drawable-xhdpi/btn_search_dialog_selected.9.png
index c553c58..2f9af47 100644
--- a/core/res/res/drawable-xhdpi/btn_search_dialog_selected.9.png
+++ b/core/res/res/drawable-xhdpi/btn_search_dialog_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_search_dialog_voice_default.9.png b/core/res/res/drawable-xhdpi/btn_search_dialog_voice_default.9.png
index f478c46..d3c7709 100644
--- a/core/res/res/drawable-xhdpi/btn_search_dialog_voice_default.9.png
+++ b/core/res/res/drawable-xhdpi/btn_search_dialog_voice_default.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_search_dialog_voice_pressed.9.png b/core/res/res/drawable-xhdpi/btn_search_dialog_voice_pressed.9.png
index ea5e509..0c4f0da 100644
--- a/core/res/res/drawable-xhdpi/btn_search_dialog_voice_pressed.9.png
+++ b/core/res/res/drawable-xhdpi/btn_search_dialog_voice_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_search_dialog_voice_selected.9.png b/core/res/res/drawable-xhdpi/btn_search_dialog_voice_selected.9.png
index a46f0ed..2e2f587 100644
--- a/core/res/res/drawable-xhdpi/btn_search_dialog_voice_selected.9.png
+++ b/core/res/res/drawable-xhdpi/btn_search_dialog_voice_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_big_off.png b/core/res/res/drawable-xhdpi/btn_star_big_off.png
index 4ed5142..f60eb48 100644
--- a/core/res/res/drawable-xhdpi/btn_star_big_off.png
+++ b/core/res/res/drawable-xhdpi/btn_star_big_off.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_big_off_disable.png b/core/res/res/drawable-xhdpi/btn_star_big_off_disable.png
index cc52dec..8e0858d 100644
--- a/core/res/res/drawable-xhdpi/btn_star_big_off_disable.png
+++ b/core/res/res/drawable-xhdpi/btn_star_big_off_disable.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_big_off_disable_focused.png b/core/res/res/drawable-xhdpi/btn_star_big_off_disable_focused.png
index fea7717..f77e08c 100644
--- a/core/res/res/drawable-xhdpi/btn_star_big_off_disable_focused.png
+++ b/core/res/res/drawable-xhdpi/btn_star_big_off_disable_focused.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_big_off_pressed.png b/core/res/res/drawable-xhdpi/btn_star_big_off_pressed.png
index 503a5b2..3f9695e 100644
--- a/core/res/res/drawable-xhdpi/btn_star_big_off_pressed.png
+++ b/core/res/res/drawable-xhdpi/btn_star_big_off_pressed.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_big_off_selected.png b/core/res/res/drawable-xhdpi/btn_star_big_off_selected.png
index 8470723..b2e82da 100644
--- a/core/res/res/drawable-xhdpi/btn_star_big_off_selected.png
+++ b/core/res/res/drawable-xhdpi/btn_star_big_off_selected.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_big_on.png b/core/res/res/drawable-xhdpi/btn_star_big_on.png
index a094406..7cda089 100644
--- a/core/res/res/drawable-xhdpi/btn_star_big_on.png
+++ b/core/res/res/drawable-xhdpi/btn_star_big_on.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_big_on_disable.png b/core/res/res/drawable-xhdpi/btn_star_big_on_disable.png
index bbf7d17..da50266 100644
--- a/core/res/res/drawable-xhdpi/btn_star_big_on_disable.png
+++ b/core/res/res/drawable-xhdpi/btn_star_big_on_disable.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_big_on_disable_focused.png b/core/res/res/drawable-xhdpi/btn_star_big_on_disable_focused.png
index a46ea69..df07003 100644
--- a/core/res/res/drawable-xhdpi/btn_star_big_on_disable_focused.png
+++ b/core/res/res/drawable-xhdpi/btn_star_big_on_disable_focused.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_big_on_pressed.png b/core/res/res/drawable-xhdpi/btn_star_big_on_pressed.png
index 7e45f2a..d56f46d 100644
--- a/core/res/res/drawable-xhdpi/btn_star_big_on_pressed.png
+++ b/core/res/res/drawable-xhdpi/btn_star_big_on_pressed.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_big_on_selected.png b/core/res/res/drawable-xhdpi/btn_star_big_on_selected.png
index 0607b78..5a62f47 100644
--- a/core/res/res/drawable-xhdpi/btn_star_big_on_selected.png
+++ b/core/res/res/drawable-xhdpi/btn_star_big_on_selected.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_off_disabled_focused_holo_dark.png b/core/res/res/drawable-xhdpi/btn_star_off_disabled_focused_holo_dark.png
index 7b47940..f31cf27 100644
--- a/core/res/res/drawable-xhdpi/btn_star_off_disabled_focused_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_star_off_disabled_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_off_disabled_focused_holo_light.png b/core/res/res/drawable-xhdpi/btn_star_off_disabled_focused_holo_light.png
index 6a81990..9b28db8 100644
--- a/core/res/res/drawable-xhdpi/btn_star_off_disabled_focused_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_star_off_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_off_disabled_holo_dark.png b/core/res/res/drawable-xhdpi/btn_star_off_disabled_holo_dark.png
index 5f6ff35..bec293c 100644
--- a/core/res/res/drawable-xhdpi/btn_star_off_disabled_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_star_off_disabled_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_off_disabled_holo_light.png b/core/res/res/drawable-xhdpi/btn_star_off_disabled_holo_light.png
index 3a0f83d..eec89df 100644
--- a/core/res/res/drawable-xhdpi/btn_star_off_disabled_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_star_off_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_off_focused_holo_dark.png b/core/res/res/drawable-xhdpi/btn_star_off_focused_holo_dark.png
index 6fb25b5..757908e 100644
--- a/core/res/res/drawable-xhdpi/btn_star_off_focused_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_star_off_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_off_focused_holo_light.png b/core/res/res/drawable-xhdpi/btn_star_off_focused_holo_light.png
index 44e87c4..c58bd5c 100644
--- a/core/res/res/drawable-xhdpi/btn_star_off_focused_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_star_off_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_off_normal_holo_dark.png b/core/res/res/drawable-xhdpi/btn_star_off_normal_holo_dark.png
index 01d4a9a..c591cae 100644
--- a/core/res/res/drawable-xhdpi/btn_star_off_normal_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_star_off_normal_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_off_normal_holo_light.png b/core/res/res/drawable-xhdpi/btn_star_off_normal_holo_light.png
index 967ca90..b3e981a 100644
--- a/core/res/res/drawable-xhdpi/btn_star_off_normal_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_star_off_normal_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_off_pressed_holo_dark.png b/core/res/res/drawable-xhdpi/btn_star_off_pressed_holo_dark.png
index ebb80ee..85253f7 100644
--- a/core/res/res/drawable-xhdpi/btn_star_off_pressed_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_star_off_pressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_off_pressed_holo_light.png b/core/res/res/drawable-xhdpi/btn_star_off_pressed_holo_light.png
index 9f32c30..efd26b0 100644
--- a/core/res/res/drawable-xhdpi/btn_star_off_pressed_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_star_off_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_on_disabled_focused_holo_dark.png b/core/res/res/drawable-xhdpi/btn_star_on_disabled_focused_holo_dark.png
index ffe47de..25fd6bb 100644
--- a/core/res/res/drawable-xhdpi/btn_star_on_disabled_focused_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_star_on_disabled_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_on_disabled_focused_holo_light.png b/core/res/res/drawable-xhdpi/btn_star_on_disabled_focused_holo_light.png
index ed36707..fcd06af 100644
--- a/core/res/res/drawable-xhdpi/btn_star_on_disabled_focused_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_star_on_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_on_disabled_holo_dark.png b/core/res/res/drawable-xhdpi/btn_star_on_disabled_holo_dark.png
index fd9da6c..641f79b 100644
--- a/core/res/res/drawable-xhdpi/btn_star_on_disabled_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_star_on_disabled_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_on_disabled_holo_light.png b/core/res/res/drawable-xhdpi/btn_star_on_disabled_holo_light.png
index f5908da..9e47d8b 100644
--- a/core/res/res/drawable-xhdpi/btn_star_on_disabled_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_star_on_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_on_focused_holo_dark.png b/core/res/res/drawable-xhdpi/btn_star_on_focused_holo_dark.png
index 7e76adf..8f14270 100644
--- a/core/res/res/drawable-xhdpi/btn_star_on_focused_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_star_on_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_on_focused_holo_light.png b/core/res/res/drawable-xhdpi/btn_star_on_focused_holo_light.png
index b64a8d5..1d55670 100644
--- a/core/res/res/drawable-xhdpi/btn_star_on_focused_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_star_on_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_on_normal_holo_dark.png b/core/res/res/drawable-xhdpi/btn_star_on_normal_holo_dark.png
index 48d89f0..032e89f 100644
--- a/core/res/res/drawable-xhdpi/btn_star_on_normal_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_star_on_normal_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_on_normal_holo_light.png b/core/res/res/drawable-xhdpi/btn_star_on_normal_holo_light.png
index ae4f939..ef59ce2 100644
--- a/core/res/res/drawable-xhdpi/btn_star_on_normal_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_star_on_normal_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_on_pressed_holo_dark.png b/core/res/res/drawable-xhdpi/btn_star_on_pressed_holo_dark.png
index 4f052cf..e2305cb 100644
--- a/core/res/res/drawable-xhdpi/btn_star_on_pressed_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/btn_star_on_pressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/btn_star_on_pressed_holo_light.png b/core/res/res/drawable-xhdpi/btn_star_on_pressed_holo_light.png
index ea92177..6643deb 100644
--- a/core/res/res/drawable-xhdpi/btn_star_on_pressed_holo_light.png
+++ b/core/res/res/drawable-xhdpi/btn_star_on_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/code_lock_top.9.png b/core/res/res/drawable-xhdpi/code_lock_top.9.png
index 6f5cf62..31517e4 100644
--- a/core/res/res/drawable-xhdpi/code_lock_top.9.png
+++ b/core/res/res/drawable-xhdpi/code_lock_top.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/contact_header_bg.9.png b/core/res/res/drawable-xhdpi/contact_header_bg.9.png
index aee15b8..bde1d56 100644
--- a/core/res/res/drawable-xhdpi/contact_header_bg.9.png
+++ b/core/res/res/drawable-xhdpi/contact_header_bg.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/divider_vertical_holo_dark.9.png b/core/res/res/drawable-xhdpi/divider_vertical_holo_dark.9.png
index 9350789..9666f73 100644
--- a/core/res/res/drawable-xhdpi/divider_vertical_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/divider_vertical_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/divider_vertical_holo_light.9.png b/core/res/res/drawable-xhdpi/divider_vertical_holo_light.9.png
index e0f6e0a..026017b 100644
--- a/core/res/res/drawable-xhdpi/divider_vertical_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/divider_vertical_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/emo_im_angel.png b/core/res/res/drawable-xhdpi/emo_im_angel.png
index b4123ff..8853cbe 100644
--- a/core/res/res/drawable-xhdpi/emo_im_angel.png
+++ b/core/res/res/drawable-xhdpi/emo_im_angel.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/emo_im_cool.png b/core/res/res/drawable-xhdpi/emo_im_cool.png
index 0efacf8..82cbd55d 100644
--- a/core/res/res/drawable-xhdpi/emo_im_cool.png
+++ b/core/res/res/drawable-xhdpi/emo_im_cool.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/emo_im_crying.png b/core/res/res/drawable-xhdpi/emo_im_crying.png
index 7de7bf0..3151125 100644
--- a/core/res/res/drawable-xhdpi/emo_im_crying.png
+++ b/core/res/res/drawable-xhdpi/emo_im_crying.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/emo_im_embarrassed.png b/core/res/res/drawable-xhdpi/emo_im_embarrassed.png
index baa0765..ef2fded 100644
--- a/core/res/res/drawable-xhdpi/emo_im_embarrassed.png
+++ b/core/res/res/drawable-xhdpi/emo_im_embarrassed.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/emo_im_foot_in_mouth.png b/core/res/res/drawable-xhdpi/emo_im_foot_in_mouth.png
index afb22bb..c41b19d 100644
--- a/core/res/res/drawable-xhdpi/emo_im_foot_in_mouth.png
+++ b/core/res/res/drawable-xhdpi/emo_im_foot_in_mouth.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/emo_im_happy.png b/core/res/res/drawable-xhdpi/emo_im_happy.png
index 08a242d..a2702b2 100644
--- a/core/res/res/drawable-xhdpi/emo_im_happy.png
+++ b/core/res/res/drawable-xhdpi/emo_im_happy.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/emo_im_kissing.png b/core/res/res/drawable-xhdpi/emo_im_kissing.png
index c643a3c..7afd2f6 100644
--- a/core/res/res/drawable-xhdpi/emo_im_kissing.png
+++ b/core/res/res/drawable-xhdpi/emo_im_kissing.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/emo_im_laughing.png b/core/res/res/drawable-xhdpi/emo_im_laughing.png
index 0301f80..abc3700 100644
--- a/core/res/res/drawable-xhdpi/emo_im_laughing.png
+++ b/core/res/res/drawable-xhdpi/emo_im_laughing.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/emo_im_lips_are_sealed.png b/core/res/res/drawable-xhdpi/emo_im_lips_are_sealed.png
index 594e5e7..60592fb 100644
--- a/core/res/res/drawable-xhdpi/emo_im_lips_are_sealed.png
+++ b/core/res/res/drawable-xhdpi/emo_im_lips_are_sealed.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/emo_im_money_mouth.png b/core/res/res/drawable-xhdpi/emo_im_money_mouth.png
index df9283a..8efcf0b 100644
--- a/core/res/res/drawable-xhdpi/emo_im_money_mouth.png
+++ b/core/res/res/drawable-xhdpi/emo_im_money_mouth.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/emo_im_sad.png b/core/res/res/drawable-xhdpi/emo_im_sad.png
index f42f0a9..81e94b1 100644
--- a/core/res/res/drawable-xhdpi/emo_im_sad.png
+++ b/core/res/res/drawable-xhdpi/emo_im_sad.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/emo_im_surprised.png b/core/res/res/drawable-xhdpi/emo_im_surprised.png
index 6b057fa..7b7aabf 100644
--- a/core/res/res/drawable-xhdpi/emo_im_surprised.png
+++ b/core/res/res/drawable-xhdpi/emo_im_surprised.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/emo_im_tongue_sticking_out.png b/core/res/res/drawable-xhdpi/emo_im_tongue_sticking_out.png
index ef128c5..1b6a985 100644
--- a/core/res/res/drawable-xhdpi/emo_im_tongue_sticking_out.png
+++ b/core/res/res/drawable-xhdpi/emo_im_tongue_sticking_out.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/emo_im_undecided.png b/core/res/res/drawable-xhdpi/emo_im_undecided.png
index fcc0f42..2c2cfa6 100644
--- a/core/res/res/drawable-xhdpi/emo_im_undecided.png
+++ b/core/res/res/drawable-xhdpi/emo_im_undecided.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/emo_im_winking.png b/core/res/res/drawable-xhdpi/emo_im_winking.png
index 687b62b..6c9cb0e 100644
--- a/core/res/res/drawable-xhdpi/emo_im_winking.png
+++ b/core/res/res/drawable-xhdpi/emo_im_winking.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/emo_im_wtf.png b/core/res/res/drawable-xhdpi/emo_im_wtf.png
index cb75a18..34861e4 100644
--- a/core/res/res/drawable-xhdpi/emo_im_wtf.png
+++ b/core/res/res/drawable-xhdpi/emo_im_wtf.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/emo_im_yelling.png b/core/res/res/drawable-xhdpi/emo_im_yelling.png
index 32a7028..0583178 100644
--- a/core/res/res/drawable-xhdpi/emo_im_yelling.png
+++ b/core/res/res/drawable-xhdpi/emo_im_yelling.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/expander_close_holo_dark.9.png b/core/res/res/drawable-xhdpi/expander_close_holo_dark.9.png
index 8005de7..f56ef31 100644
--- a/core/res/res/drawable-xhdpi/expander_close_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/expander_close_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/expander_close_holo_light.9.png b/core/res/res/drawable-xhdpi/expander_close_holo_light.9.png
index 333dd24d..e157024 100644
--- a/core/res/res/drawable-xhdpi/expander_close_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/expander_close_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/expander_ic_maximized.9.png b/core/res/res/drawable-xhdpi/expander_ic_maximized.9.png
index 6eed88a..598b75b 100644
--- a/core/res/res/drawable-xhdpi/expander_ic_maximized.9.png
+++ b/core/res/res/drawable-xhdpi/expander_ic_maximized.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/expander_ic_minimized.9.png b/core/res/res/drawable-xhdpi/expander_ic_minimized.9.png
index 0683be6..396f4138 100644
--- a/core/res/res/drawable-xhdpi/expander_ic_minimized.9.png
+++ b/core/res/res/drawable-xhdpi/expander_ic_minimized.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/expander_open_holo_dark.9.png b/core/res/res/drawable-xhdpi/expander_open_holo_dark.9.png
index 4a56a80..d2e8ae8 100644
--- a/core/res/res/drawable-xhdpi/expander_open_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/expander_open_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/expander_open_holo_light.9.png b/core/res/res/drawable-xhdpi/expander_open_holo_light.9.png
index 67ed4c0..35fb75a 100644
--- a/core/res/res/drawable-xhdpi/expander_open_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/expander_open_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/fastscroll_label_left_holo_dark.9.png b/core/res/res/drawable-xhdpi/fastscroll_label_left_holo_dark.9.png
index dfc5e6b..6e0244f 100644
--- a/core/res/res/drawable-xhdpi/fastscroll_label_left_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/fastscroll_label_left_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/fastscroll_label_left_holo_light.9.png b/core/res/res/drawable-xhdpi/fastscroll_label_left_holo_light.9.png
index eab0cb9..6478a11 100644
--- a/core/res/res/drawable-xhdpi/fastscroll_label_left_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/fastscroll_label_left_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/fastscroll_label_right_holo_dark.9.png b/core/res/res/drawable-xhdpi/fastscroll_label_right_holo_dark.9.png
index e3e0cde..0330b17 100644
--- a/core/res/res/drawable-xhdpi/fastscroll_label_right_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/fastscroll_label_right_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/fastscroll_label_right_holo_light.9.png b/core/res/res/drawable-xhdpi/fastscroll_label_right_holo_light.9.png
index b2bd5ca..57539e4 100644
--- a/core/res/res/drawable-xhdpi/fastscroll_label_right_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/fastscroll_label_right_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/fastscroll_track_default_holo_dark.9.png b/core/res/res/drawable-xhdpi/fastscroll_track_default_holo_dark.9.png
index c727bd4..751e0d5 100644
--- a/core/res/res/drawable-xhdpi/fastscroll_track_default_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/fastscroll_track_default_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/fastscroll_track_default_holo_light.9.png b/core/res/res/drawable-xhdpi/fastscroll_track_default_holo_light.9.png
index c727bd4..751e0d5 100644
--- a/core/res/res/drawable-xhdpi/fastscroll_track_default_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/fastscroll_track_default_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/fastscroll_track_pressed_holo_dark.9.png b/core/res/res/drawable-xhdpi/fastscroll_track_pressed_holo_dark.9.png
index f2c6b42..c9427a9 100644
--- a/core/res/res/drawable-xhdpi/fastscroll_track_pressed_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/fastscroll_track_pressed_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/fastscroll_track_pressed_holo_light.9.png b/core/res/res/drawable-xhdpi/fastscroll_track_pressed_holo_light.9.png
index f2c6b42..b495fbd 100644
--- a/core/res/res/drawable-xhdpi/fastscroll_track_pressed_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/fastscroll_track_pressed_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/frame_gallery_thumb.9.png b/core/res/res/drawable-xhdpi/frame_gallery_thumb.9.png
index 915fbed..a6bb25a 100644
--- a/core/res/res/drawable-xhdpi/frame_gallery_thumb.9.png
+++ b/core/res/res/drawable-xhdpi/frame_gallery_thumb.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/frame_gallery_thumb_pressed.9.png b/core/res/res/drawable-xhdpi/frame_gallery_thumb_pressed.9.png
index 13ea006..85d65faa71 100644
--- a/core/res/res/drawable-xhdpi/frame_gallery_thumb_pressed.9.png
+++ b/core/res/res/drawable-xhdpi/frame_gallery_thumb_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/frame_gallery_thumb_selected.9.png b/core/res/res/drawable-xhdpi/frame_gallery_thumb_selected.9.png
index f947144..1dadee6 100644
--- a/core/res/res/drawable-xhdpi/frame_gallery_thumb_selected.9.png
+++ b/core/res/res/drawable-xhdpi/frame_gallery_thumb_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_audio_ring_notif.png b/core/res/res/drawable-xhdpi/ic_audio_ring_notif.png
index 3fa4197..0df1934 100644
--- a/core/res/res/drawable-xhdpi/ic_audio_ring_notif.png
+++ b/core/res/res/drawable-xhdpi/ic_audio_ring_notif.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_audio_ring_notif_mute.png b/core/res/res/drawable-xhdpi/ic_audio_ring_notif_mute.png
index e8e7fcc..85acb93 100644
--- a/core/res/res/drawable-xhdpi/ic_audio_ring_notif_mute.png
+++ b/core/res/res/drawable-xhdpi/ic_audio_ring_notif_mute.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_input_delete.png b/core/res/res/drawable-xhdpi/ic_input_delete.png
index 34c5f39..8b822d9 100644
--- a/core/res/res/drawable-xhdpi/ic_input_delete.png
+++ b/core/res/res/drawable-xhdpi/ic_input_delete.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_lockscreen_handle_normal.png b/core/res/res/drawable-xhdpi/ic_lockscreen_handle_normal.png
index 544924e..b09071b 100644
--- a/core/res/res/drawable-xhdpi/ic_lockscreen_handle_normal.png
+++ b/core/res/res/drawable-xhdpi/ic_lockscreen_handle_normal.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_lockscreen_unlock_activated.png b/core/res/res/drawable-xhdpi/ic_lockscreen_unlock_activated.png
index 73d7af3..8a0331d 100644
--- a/core/res/res/drawable-xhdpi/ic_lockscreen_unlock_activated.png
+++ b/core/res/res/drawable-xhdpi/ic_lockscreen_unlock_activated.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_lockscreen_unlock_focused.png b/core/res/res/drawable-xhdpi/ic_lockscreen_unlock_focused.png
deleted file mode 100644
index d067ab8..0000000
--- a/core/res/res/drawable-xhdpi/ic_lockscreen_unlock_focused.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_lockscreen_unlock_normal.png b/core/res/res/drawable-xhdpi/ic_lockscreen_unlock_normal.png
index 1a53c63..0422117 100644
--- a/core/res/res/drawable-xhdpi/ic_lockscreen_unlock_normal.png
+++ b/core/res/res/drawable-xhdpi/ic_lockscreen_unlock_normal.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_notification_ime_default.png b/core/res/res/drawable-xhdpi/ic_notification_ime_default.png
index 4d0f074..900801a 100644
--- a/core/res/res/drawable-xhdpi/ic_notification_ime_default.png
+++ b/core/res/res/drawable-xhdpi/ic_notification_ime_default.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_notification_overlay.9.png b/core/res/res/drawable-xhdpi/ic_notification_overlay.9.png
index 010852f..a7a8bb3 100644
--- a/core/res/res/drawable-xhdpi/ic_notification_overlay.9.png
+++ b/core/res/res/drawable-xhdpi/ic_notification_overlay.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_suggestions_add.png b/core/res/res/drawable-xhdpi/ic_suggestions_add.png
new file mode 100644
index 0000000..aac038c
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_suggestions_add.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/ic_suggestions_delete.png b/core/res/res/drawable-xhdpi/ic_suggestions_delete.png
new file mode 100644
index 0000000..077e9fc
--- /dev/null
+++ b/core/res/res/drawable-xhdpi/ic_suggestions_delete.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/icon_highlight_rectangle.9.png b/core/res/res/drawable-xhdpi/icon_highlight_rectangle.9.png
index b26180d..cdc37f1 100644
--- a/core/res/res/drawable-xhdpi/icon_highlight_rectangle.9.png
+++ b/core/res/res/drawable-xhdpi/icon_highlight_rectangle.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/icon_highlight_square.9.png b/core/res/res/drawable-xhdpi/icon_highlight_square.9.png
index f45f1c5..cc2ab8c 100644
--- a/core/res/res/drawable-xhdpi/icon_highlight_square.9.png
+++ b/core/res/res/drawable-xhdpi/icon_highlight_square.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/indicator_code_lock_drag_direction_green_up.png b/core/res/res/drawable-xhdpi/indicator_code_lock_drag_direction_green_up.png
deleted file mode 100644
index a89b8d5..0000000
--- a/core/res/res/drawable-xhdpi/indicator_code_lock_drag_direction_green_up.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_default.png b/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_default.png
index 997d6a5..0812cb5 100644
--- a/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_default.png
+++ b/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_default.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_default_holo.png b/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_default_holo.png
index d98a126..db1cbe6 100644
--- a/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_default_holo.png
+++ b/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_default_holo.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_green.png b/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_green.png
index 2eb69f6..3ab2e99 100644
--- a/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_green.png
+++ b/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_green.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_green_holo.png b/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_green_holo.png
index 4491f02..de4ca91 100644
--- a/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_green_holo.png
+++ b/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_green_holo.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_red_holo.png b/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_red_holo.png
index 6e91fbc..853b0f0 100644
--- a/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_red_holo.png
+++ b/core/res/res/drawable-xhdpi/indicator_code_lock_point_area_red_holo.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/list_section_header_holo_dark.9.png b/core/res/res/drawable-xhdpi/list_section_header_holo_dark.9.png
index 4412331..6cb42c1 100644
--- a/core/res/res/drawable-xhdpi/list_section_header_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/list_section_header_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/list_section_header_holo_light.9.png b/core/res/res/drawable-xhdpi/list_section_header_holo_light.9.png
index d0cba8d..f646a41 100644
--- a/core/res/res/drawable-xhdpi/list_section_header_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/list_section_header_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/menu_background.9.png b/core/res/res/drawable-xhdpi/menu_background.9.png
index b784f71..3aa8ccb 100644
--- a/core/res/res/drawable-xhdpi/menu_background.9.png
+++ b/core/res/res/drawable-xhdpi/menu_background.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/menu_background_fill_parent_width.9.png b/core/res/res/drawable-xhdpi/menu_background_fill_parent_width.9.png
index ab43013..af08de2 100644
--- a/core/res/res/drawable-xhdpi/menu_background_fill_parent_width.9.png
+++ b/core/res/res/drawable-xhdpi/menu_background_fill_parent_width.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/menu_separator.9.png b/core/res/res/drawable-xhdpi/menu_separator.9.png
index 3251f95..3c3722cb 100644
--- a/core/res/res/drawable-xhdpi/menu_separator.9.png
+++ b/core/res/res/drawable-xhdpi/menu_separator.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/menu_submenu_background.9.png b/core/res/res/drawable-xhdpi/menu_submenu_background.9.png
index 54b2be6..4a8b2ad 100644
--- a/core/res/res/drawable-xhdpi/menu_submenu_background.9.png
+++ b/core/res/res/drawable-xhdpi/menu_submenu_background.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_down_disabled.9.png b/core/res/res/drawable-xhdpi/numberpicker_down_disabled.9.png
index b8220ce..62b267e 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_down_disabled.9.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_down_disabled.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_down_disabled_focused.9.png b/core/res/res/drawable-xhdpi/numberpicker_down_disabled_focused.9.png
index 7f4f093..5f38c35 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_down_disabled_focused.9.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_down_disabled_focused.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_down_disabled_focused_holo_dark.png b/core/res/res/drawable-xhdpi/numberpicker_down_disabled_focused_holo_dark.png
index beae86d..1c2f33e 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_down_disabled_focused_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_down_disabled_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_down_disabled_focused_holo_light.png b/core/res/res/drawable-xhdpi/numberpicker_down_disabled_focused_holo_light.png
index 1f5b745..4e688bc 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_down_disabled_focused_holo_light.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_down_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_down_disabled_holo_dark.png b/core/res/res/drawable-xhdpi/numberpicker_down_disabled_holo_dark.png
index cee62f8..dc422f2 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_down_disabled_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_down_disabled_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_down_disabled_holo_light.png b/core/res/res/drawable-xhdpi/numberpicker_down_disabled_holo_light.png
index 367dad4..afc02db 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_down_disabled_holo_light.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_down_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_down_focused_holo_dark.png b/core/res/res/drawable-xhdpi/numberpicker_down_focused_holo_dark.png
index 66b4807..3604013 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_down_focused_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_down_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_down_focused_holo_light.png b/core/res/res/drawable-xhdpi/numberpicker_down_focused_holo_light.png
index b99572c..a16cd38 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_down_focused_holo_light.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_down_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_down_longpressed_holo_dark.png b/core/res/res/drawable-xhdpi/numberpicker_down_longpressed_holo_dark.png
index 37cd3ce..b975b63 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_down_longpressed_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_down_longpressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_down_longpressed_holo_light.png b/core/res/res/drawable-xhdpi/numberpicker_down_longpressed_holo_light.png
index 37cd3ce..b975b63 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_down_longpressed_holo_light.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_down_longpressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_down_normal.9.png b/core/res/res/drawable-xhdpi/numberpicker_down_normal.9.png
index c10b671..b1d3e7b 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_down_normal.9.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_down_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_down_normal_holo_dark.png b/core/res/res/drawable-xhdpi/numberpicker_down_normal_holo_dark.png
index 18e7c8e..39cdb93 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_down_normal_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_down_normal_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_down_normal_holo_light.png b/core/res/res/drawable-xhdpi/numberpicker_down_normal_holo_light.png
index 5ddece8..2a14ac5 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_down_normal_holo_light.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_down_normal_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_down_pressed.9.png b/core/res/res/drawable-xhdpi/numberpicker_down_pressed.9.png
index bfae684..e61c469 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_down_pressed.9.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_down_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_down_pressed_holo_dark.png b/core/res/res/drawable-xhdpi/numberpicker_down_pressed_holo_dark.png
index 7459f47..4827377 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_down_pressed_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_down_pressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_down_pressed_holo_light.png b/core/res/res/drawable-xhdpi/numberpicker_down_pressed_holo_light.png
index 7459f47..4827377 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_down_pressed_holo_light.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_down_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_down_selected.9.png b/core/res/res/drawable-xhdpi/numberpicker_down_selected.9.png
index 9451630..ed0c016 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_down_selected.9.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_down_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_input_disabled.9.png b/core/res/res/drawable-xhdpi/numberpicker_input_disabled.9.png
index 01cc01a..279087c 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_input_disabled.9.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_input_disabled.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_input_normal.9.png b/core/res/res/drawable-xhdpi/numberpicker_input_normal.9.png
index b4d9c7f..1b3467a 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_input_normal.9.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_input_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_input_pressed.9.png b/core/res/res/drawable-xhdpi/numberpicker_input_pressed.9.png
index 5f3d982..930415e 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_input_pressed.9.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_input_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_input_selected.9.png b/core/res/res/drawable-xhdpi/numberpicker_input_selected.9.png
index 434f05f..5240d08 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_input_selected.9.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_input_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_up_disabled.9.png b/core/res/res/drawable-xhdpi/numberpicker_up_disabled.9.png
index 0c32994..4b79112 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_up_disabled.9.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_up_disabled.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_up_disabled_focused.9.png b/core/res/res/drawable-xhdpi/numberpicker_up_disabled_focused.9.png
index cba1e76..6c2f397 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_up_disabled_focused.9.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_up_disabled_focused.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_up_disabled_focused_holo_dark.png b/core/res/res/drawable-xhdpi/numberpicker_up_disabled_focused_holo_dark.png
index b13f8e8..97ea0b5 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_up_disabled_focused_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_up_disabled_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_up_disabled_focused_holo_light.png b/core/res/res/drawable-xhdpi/numberpicker_up_disabled_focused_holo_light.png
index b71cc03..e59e2a7 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_up_disabled_focused_holo_light.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_up_disabled_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_up_disabled_holo_dark.png b/core/res/res/drawable-xhdpi/numberpicker_up_disabled_holo_dark.png
index 982f625..3b8fa7f 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_up_disabled_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_up_disabled_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_up_disabled_holo_light.png b/core/res/res/drawable-xhdpi/numberpicker_up_disabled_holo_light.png
index fd3fa74..77a1dd4 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_up_disabled_holo_light.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_up_disabled_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_up_focused_holo_dark.png b/core/res/res/drawable-xhdpi/numberpicker_up_focused_holo_dark.png
index 57dcf27..24c2d84 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_up_focused_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_up_focused_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_up_focused_holo_light.png b/core/res/res/drawable-xhdpi/numberpicker_up_focused_holo_light.png
index eff8c22..b2566dc3 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_up_focused_holo_light.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_up_focused_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_up_longpressed_holo_dark.png b/core/res/res/drawable-xhdpi/numberpicker_up_longpressed_holo_dark.png
index 15bed2c..7075af7 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_up_longpressed_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_up_longpressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_up_longpressed_holo_light.png b/core/res/res/drawable-xhdpi/numberpicker_up_longpressed_holo_light.png
index 15bed2c..7075af7 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_up_longpressed_holo_light.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_up_longpressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_up_normal.9.png b/core/res/res/drawable-xhdpi/numberpicker_up_normal.9.png
index ee270b4..699a9f5 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_up_normal.9.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_up_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_up_normal_holo_dark.png b/core/res/res/drawable-xhdpi/numberpicker_up_normal_holo_dark.png
index 74bc6df..11b60a9 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_up_normal_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_up_normal_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_up_normal_holo_light.png b/core/res/res/drawable-xhdpi/numberpicker_up_normal_holo_light.png
index 8fe2159..074fae5 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_up_normal_holo_light.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_up_normal_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_up_pressed.9.png b/core/res/res/drawable-xhdpi/numberpicker_up_pressed.9.png
index 297f77c..5504fee 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_up_pressed.9.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_up_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_up_pressed_holo_dark.png b/core/res/res/drawable-xhdpi/numberpicker_up_pressed_holo_dark.png
index 97cdcb1..2310f83 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_up_pressed_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_up_pressed_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_up_pressed_holo_light.png b/core/res/res/drawable-xhdpi/numberpicker_up_pressed_holo_light.png
index 97cdcb1..2310f83 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_up_pressed_holo_light.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_up_pressed_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/numberpicker_up_selected.9.png b/core/res/res/drawable-xhdpi/numberpicker_up_selected.9.png
index e5d5126..585cf30 100644
--- a/core/res/res/drawable-xhdpi/numberpicker_up_selected.9.png
+++ b/core/res/res/drawable-xhdpi/numberpicker_up_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/panel_background.9.png b/core/res/res/drawable-xhdpi/panel_background.9.png
index 2ceae60..f3a3a9d 100644
--- a/core/res/res/drawable-xhdpi/panel_background.9.png
+++ b/core/res/res/drawable-xhdpi/panel_background.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/panel_bg_holo_light.9.png b/core/res/res/drawable-xhdpi/panel_bg_holo_light.9.png
index c171b7c..9bdf3f1 100644
--- a/core/res/res/drawable-xhdpi/panel_bg_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/panel_bg_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/password_field_default.9.png b/core/res/res/drawable-xhdpi/password_field_default.9.png
index cf8329e..9aa6776 100644
--- a/core/res/res/drawable-xhdpi/password_field_default.9.png
+++ b/core/res/res/drawable-xhdpi/password_field_default.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/password_keyboard_background_holo.9.png b/core/res/res/drawable-xhdpi/password_keyboard_background_holo.9.png
index 65ea61bc..7f95130 100644
--- a/core/res/res/drawable-xhdpi/password_keyboard_background_holo.9.png
+++ b/core/res/res/drawable-xhdpi/password_keyboard_background_holo.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/popup_center_bright.9.png b/core/res/res/drawable-xhdpi/popup_center_bright.9.png
index b1a8e3e..97614e3 100644
--- a/core/res/res/drawable-xhdpi/popup_center_bright.9.png
+++ b/core/res/res/drawable-xhdpi/popup_center_bright.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/popup_full_bright.9.png b/core/res/res/drawable-xhdpi/popup_full_bright.9.png
index 114faa0..f10dd85 100644
--- a/core/res/res/drawable-xhdpi/popup_full_bright.9.png
+++ b/core/res/res/drawable-xhdpi/popup_full_bright.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/popup_full_dark.9.png b/core/res/res/drawable-xhdpi/popup_full_dark.9.png
index 996beaa..7de3e9d 100644
--- a/core/res/res/drawable-xhdpi/popup_full_dark.9.png
+++ b/core/res/res/drawable-xhdpi/popup_full_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/popup_inline_error.9.png b/core/res/res/drawable-xhdpi/popup_inline_error.9.png
index 2784c30..a24e607 100644
--- a/core/res/res/drawable-xhdpi/popup_inline_error.9.png
+++ b/core/res/res/drawable-xhdpi/popup_inline_error.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/popup_inline_error_above.9.png b/core/res/res/drawable-xhdpi/popup_inline_error_above.9.png
index f26be8c..e382712 100644
--- a/core/res/res/drawable-xhdpi/popup_inline_error_above.9.png
+++ b/core/res/res/drawable-xhdpi/popup_inline_error_above.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/progress_primary_holo_dark.9.png b/core/res/res/drawable-xhdpi/progress_primary_holo_dark.9.png
index 097160b..c6c3f1e 100644
--- a/core/res/res/drawable-xhdpi/progress_primary_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/progress_primary_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/progress_primary_holo_light.9.png b/core/res/res/drawable-xhdpi/progress_primary_holo_light.9.png
index 097160b..c6c3f1e 100644
--- a/core/res/res/drawable-xhdpi/progress_primary_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/progress_primary_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/progressbar_indeterminate_holo1.png b/core/res/res/drawable-xhdpi/progressbar_indeterminate_holo1.png
index f96a4a6..ca24502 100644
--- a/core/res/res/drawable-xhdpi/progressbar_indeterminate_holo1.png
+++ b/core/res/res/drawable-xhdpi/progressbar_indeterminate_holo1.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/progressbar_indeterminate_holo2.png b/core/res/res/drawable-xhdpi/progressbar_indeterminate_holo2.png
index 3a6554f..5653118 100644
--- a/core/res/res/drawable-xhdpi/progressbar_indeterminate_holo2.png
+++ b/core/res/res/drawable-xhdpi/progressbar_indeterminate_holo2.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/progressbar_indeterminate_holo3.png b/core/res/res/drawable-xhdpi/progressbar_indeterminate_holo3.png
index 30bd7ad..438b1b5 100644
--- a/core/res/res/drawable-xhdpi/progressbar_indeterminate_holo3.png
+++ b/core/res/res/drawable-xhdpi/progressbar_indeterminate_holo3.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/progressbar_indeterminate_holo4.png b/core/res/res/drawable-xhdpi/progressbar_indeterminate_holo4.png
index 209036b..efe3fed 100644
--- a/core/res/res/drawable-xhdpi/progressbar_indeterminate_holo4.png
+++ b/core/res/res/drawable-xhdpi/progressbar_indeterminate_holo4.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/progressbar_indeterminate_holo5.png b/core/res/res/drawable-xhdpi/progressbar_indeterminate_holo5.png
index 830820b..cb7931c 100644
--- a/core/res/res/drawable-xhdpi/progressbar_indeterminate_holo5.png
+++ b/core/res/res/drawable-xhdpi/progressbar_indeterminate_holo5.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/progressbar_indeterminate_holo6.png b/core/res/res/drawable-xhdpi/progressbar_indeterminate_holo6.png
index 39eb204..8ff7ee9 100644
--- a/core/res/res/drawable-xhdpi/progressbar_indeterminate_holo6.png
+++ b/core/res/res/drawable-xhdpi/progressbar_indeterminate_holo6.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/progressbar_indeterminate_holo7.png b/core/res/res/drawable-xhdpi/progressbar_indeterminate_holo7.png
index a2d4dc2..ce07298 100644
--- a/core/res/res/drawable-xhdpi/progressbar_indeterminate_holo7.png
+++ b/core/res/res/drawable-xhdpi/progressbar_indeterminate_holo7.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/progressbar_indeterminate_holo8.png b/core/res/res/drawable-xhdpi/progressbar_indeterminate_holo8.png
index 1772aea..87e9d8f 100644
--- a/core/res/res/drawable-xhdpi/progressbar_indeterminate_holo8.png
+++ b/core/res/res/drawable-xhdpi/progressbar_indeterminate_holo8.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/quickactions_arrowdown_left_holo_dark.9.png b/core/res/res/drawable-xhdpi/quickactions_arrowdown_left_holo_dark.9.png
index 622095b..3f23144 100644
--- a/core/res/res/drawable-xhdpi/quickactions_arrowdown_left_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/quickactions_arrowdown_left_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/quickactions_arrowdown_left_holo_light.9.png b/core/res/res/drawable-xhdpi/quickactions_arrowdown_left_holo_light.9.png
index bf8cf4c..41848dd 100644
--- a/core/res/res/drawable-xhdpi/quickactions_arrowdown_left_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/quickactions_arrowdown_left_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/quickactions_arrowdown_right_holo_dark.9.png b/core/res/res/drawable-xhdpi/quickactions_arrowdown_right_holo_dark.9.png
index 3e155de..b2a1d8c 100644
--- a/core/res/res/drawable-xhdpi/quickactions_arrowdown_right_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/quickactions_arrowdown_right_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/quickactions_arrowdown_right_holo_light.9.png b/core/res/res/drawable-xhdpi/quickactions_arrowdown_right_holo_light.9.png
index 1c1974a..27218f2 100644
--- a/core/res/res/drawable-xhdpi/quickactions_arrowdown_right_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/quickactions_arrowdown_right_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/quickactions_arrowup_left_holo_dark.9.png b/core/res/res/drawable-xhdpi/quickactions_arrowup_left_holo_dark.9.png
index 52d95af..49d1ed5 100644
--- a/core/res/res/drawable-xhdpi/quickactions_arrowup_left_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/quickactions_arrowup_left_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/quickactions_arrowup_left_holo_light.9.png b/core/res/res/drawable-xhdpi/quickactions_arrowup_left_holo_light.9.png
index 2613e0d..8be8ac8 100644
--- a/core/res/res/drawable-xhdpi/quickactions_arrowup_left_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/quickactions_arrowup_left_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/quickactions_arrowup_left_right_holo_dark.9.png b/core/res/res/drawable-xhdpi/quickactions_arrowup_left_right_holo_dark.9.png
index b7986e7..3f9e4aa 100644
--- a/core/res/res/drawable-xhdpi/quickactions_arrowup_left_right_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/quickactions_arrowup_left_right_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/quickactions_arrowup_right_holo_light.9.png b/core/res/res/drawable-xhdpi/quickactions_arrowup_right_holo_light.9.png
index e964b39..46f3640 100644
--- a/core/res/res/drawable-xhdpi/quickactions_arrowup_right_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/quickactions_arrowup_right_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_big_half.png b/core/res/res/drawable-xhdpi/rate_star_big_half.png
index 68c77a8..2ecb3b5 100644
--- a/core/res/res/drawable-xhdpi/rate_star_big_half.png
+++ b/core/res/res/drawable-xhdpi/rate_star_big_half.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_big_half_holo_dark.png b/core/res/res/drawable-xhdpi/rate_star_big_half_holo_dark.png
index 637c727..f9d3cec 100644
--- a/core/res/res/drawable-xhdpi/rate_star_big_half_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/rate_star_big_half_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_big_half_holo_light.png b/core/res/res/drawable-xhdpi/rate_star_big_half_holo_light.png
index 50f06dd..bbdc70d3 100644
--- a/core/res/res/drawable-xhdpi/rate_star_big_half_holo_light.png
+++ b/core/res/res/drawable-xhdpi/rate_star_big_half_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_big_off.png b/core/res/res/drawable-xhdpi/rate_star_big_off.png
index 2389fff..8dae714 100644
--- a/core/res/res/drawable-xhdpi/rate_star_big_off.png
+++ b/core/res/res/drawable-xhdpi/rate_star_big_off.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_big_off_holo_dark.png b/core/res/res/drawable-xhdpi/rate_star_big_off_holo_dark.png
index 96c96fb..34b94db 100644
--- a/core/res/res/drawable-xhdpi/rate_star_big_off_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/rate_star_big_off_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_big_off_holo_light.png b/core/res/res/drawable-xhdpi/rate_star_big_off_holo_light.png
index 9e8cd54..34cb926 100644
--- a/core/res/res/drawable-xhdpi/rate_star_big_off_holo_light.png
+++ b/core/res/res/drawable-xhdpi/rate_star_big_off_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_big_on.png b/core/res/res/drawable-xhdpi/rate_star_big_on.png
index 39467dd..43633e1 100644
--- a/core/res/res/drawable-xhdpi/rate_star_big_on.png
+++ b/core/res/res/drawable-xhdpi/rate_star_big_on.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_big_on_holo_dark.png b/core/res/res/drawable-xhdpi/rate_star_big_on_holo_dark.png
index 1e42698..273fd16 100644
--- a/core/res/res/drawable-xhdpi/rate_star_big_on_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/rate_star_big_on_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_big_on_holo_light.png b/core/res/res/drawable-xhdpi/rate_star_big_on_holo_light.png
index 538e1a8..dbd11bd 100644
--- a/core/res/res/drawable-xhdpi/rate_star_big_on_holo_light.png
+++ b/core/res/res/drawable-xhdpi/rate_star_big_on_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_med_half.png b/core/res/res/drawable-xhdpi/rate_star_med_half.png
index 6c60114..44178c9 100644
--- a/core/res/res/drawable-xhdpi/rate_star_med_half.png
+++ b/core/res/res/drawable-xhdpi/rate_star_med_half.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_med_half_holo_dark.png b/core/res/res/drawable-xhdpi/rate_star_med_half_holo_dark.png
index c35d9a4..013543e 100644
--- a/core/res/res/drawable-xhdpi/rate_star_med_half_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/rate_star_med_half_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_med_half_holo_light.png b/core/res/res/drawable-xhdpi/rate_star_med_half_holo_light.png
index f74ea46..801703f 100644
--- a/core/res/res/drawable-xhdpi/rate_star_med_half_holo_light.png
+++ b/core/res/res/drawable-xhdpi/rate_star_med_half_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_med_off.png b/core/res/res/drawable-xhdpi/rate_star_med_off.png
index 3428a3b..101692d 100644
--- a/core/res/res/drawable-xhdpi/rate_star_med_off.png
+++ b/core/res/res/drawable-xhdpi/rate_star_med_off.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_med_off_holo_dark.png b/core/res/res/drawable-xhdpi/rate_star_med_off_holo_dark.png
index be30970..d411e25 100644
--- a/core/res/res/drawable-xhdpi/rate_star_med_off_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/rate_star_med_off_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_med_off_holo_light.png b/core/res/res/drawable-xhdpi/rate_star_med_off_holo_light.png
index 1d19a88..39f0fa2 100644
--- a/core/res/res/drawable-xhdpi/rate_star_med_off_holo_light.png
+++ b/core/res/res/drawable-xhdpi/rate_star_med_off_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_med_on.png b/core/res/res/drawable-xhdpi/rate_star_med_on.png
index 0acddec..a650d0d 100644
--- a/core/res/res/drawable-xhdpi/rate_star_med_on.png
+++ b/core/res/res/drawable-xhdpi/rate_star_med_on.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_med_on_holo_dark.png b/core/res/res/drawable-xhdpi/rate_star_med_on_holo_dark.png
index d9122b4..fdfe932 100644
--- a/core/res/res/drawable-xhdpi/rate_star_med_on_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/rate_star_med_on_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_med_on_holo_light.png b/core/res/res/drawable-xhdpi/rate_star_med_on_holo_light.png
index 106ae77..ca88d28 100644
--- a/core/res/res/drawable-xhdpi/rate_star_med_on_holo_light.png
+++ b/core/res/res/drawable-xhdpi/rate_star_med_on_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_small_half.png b/core/res/res/drawable-xhdpi/rate_star_small_half.png
index b7a5709..a7e97a5 100644
--- a/core/res/res/drawable-xhdpi/rate_star_small_half.png
+++ b/core/res/res/drawable-xhdpi/rate_star_small_half.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_small_half_holo_dark.png b/core/res/res/drawable-xhdpi/rate_star_small_half_holo_dark.png
index fc09cd69..3d2a774 100644
--- a/core/res/res/drawable-xhdpi/rate_star_small_half_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/rate_star_small_half_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_small_half_holo_light.png b/core/res/res/drawable-xhdpi/rate_star_small_half_holo_light.png
index 663332f..9221829 100644
--- a/core/res/res/drawable-xhdpi/rate_star_small_half_holo_light.png
+++ b/core/res/res/drawable-xhdpi/rate_star_small_half_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_small_off.png b/core/res/res/drawable-xhdpi/rate_star_small_off.png
index 2516ccc..71140ac 100644
--- a/core/res/res/drawable-xhdpi/rate_star_small_off.png
+++ b/core/res/res/drawable-xhdpi/rate_star_small_off.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_small_off_holo_dark.png b/core/res/res/drawable-xhdpi/rate_star_small_off_holo_dark.png
index 8fc525f..346daa3 100644
--- a/core/res/res/drawable-xhdpi/rate_star_small_off_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/rate_star_small_off_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_small_off_holo_light.png b/core/res/res/drawable-xhdpi/rate_star_small_off_holo_light.png
index 59b5060..4c2b62c 100644
--- a/core/res/res/drawable-xhdpi/rate_star_small_off_holo_light.png
+++ b/core/res/res/drawable-xhdpi/rate_star_small_off_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_small_on.png b/core/res/res/drawable-xhdpi/rate_star_small_on.png
index 327fd1f..ddfb876 100644
--- a/core/res/res/drawable-xhdpi/rate_star_small_on.png
+++ b/core/res/res/drawable-xhdpi/rate_star_small_on.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_small_on_holo_dark.png b/core/res/res/drawable-xhdpi/rate_star_small_on_holo_dark.png
index 09bb66b..9bf2466 100644
--- a/core/res/res/drawable-xhdpi/rate_star_small_on_holo_dark.png
+++ b/core/res/res/drawable-xhdpi/rate_star_small_on_holo_dark.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/rate_star_small_on_holo_light.png b/core/res/res/drawable-xhdpi/rate_star_small_on_holo_light.png
index b1ee6eb..187eede 100644
--- a/core/res/res/drawable-xhdpi/rate_star_small_on_holo_light.png
+++ b/core/res/res/drawable-xhdpi/rate_star_small_on_holo_light.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/scrollbar_handle_accelerated_anim2.9.png b/core/res/res/drawable-xhdpi/scrollbar_handle_accelerated_anim2.9.png
index fdbf4dd..3cf84a5 100644
--- a/core/res/res/drawable-xhdpi/scrollbar_handle_accelerated_anim2.9.png
+++ b/core/res/res/drawable-xhdpi/scrollbar_handle_accelerated_anim2.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/scrollbar_handle_vertical.9.png b/core/res/res/drawable-xhdpi/scrollbar_handle_vertical.9.png
index 4f6391f..24789a5c 100644
--- a/core/res/res/drawable-xhdpi/scrollbar_handle_vertical.9.png
+++ b/core/res/res/drawable-xhdpi/scrollbar_handle_vertical.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/scrubber_control_disabled_holo.png b/core/res/res/drawable-xhdpi/scrubber_control_disabled_holo.png
index d70151a..8cf3868 100644
--- a/core/res/res/drawable-xhdpi/scrubber_control_disabled_holo.png
+++ b/core/res/res/drawable-xhdpi/scrubber_control_disabled_holo.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/scrubber_control_focused_holo.png b/core/res/res/drawable-xhdpi/scrubber_control_focused_holo.png
index 017688f..417b35a 100644
--- a/core/res/res/drawable-xhdpi/scrubber_control_focused_holo.png
+++ b/core/res/res/drawable-xhdpi/scrubber_control_focused_holo.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/scrubber_control_normal_holo.png b/core/res/res/drawable-xhdpi/scrubber_control_normal_holo.png
index 727fcf1..8053d88 100644
--- a/core/res/res/drawable-xhdpi/scrubber_control_normal_holo.png
+++ b/core/res/res/drawable-xhdpi/scrubber_control_normal_holo.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/scrubber_control_pressed_holo.png b/core/res/res/drawable-xhdpi/scrubber_control_pressed_holo.png
index 6d03e42..d17fa7d 100644
--- a/core/res/res/drawable-xhdpi/scrubber_control_pressed_holo.png
+++ b/core/res/res/drawable-xhdpi/scrubber_control_pressed_holo.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/search_plate.9.png b/core/res/res/drawable-xhdpi/search_plate.9.png
index 2ad7615d..f917cb6 100644
--- a/core/res/res/drawable-xhdpi/search_plate.9.png
+++ b/core/res/res/drawable-xhdpi/search_plate.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/settings_header_raw.9.png b/core/res/res/drawable-xhdpi/settings_header_raw.9.png
index 41e6c31..c248237 100644
--- a/core/res/res/drawable-xhdpi/settings_header_raw.9.png
+++ b/core/res/res/drawable-xhdpi/settings_header_raw.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_16_inner_holo.png b/core/res/res/drawable-xhdpi/spinner_16_inner_holo.png
index 7294519..9afd52f 100644
--- a/core/res/res/drawable-xhdpi/spinner_16_inner_holo.png
+++ b/core/res/res/drawable-xhdpi/spinner_16_inner_holo.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_16_outer_holo.png b/core/res/res/drawable-xhdpi/spinner_16_outer_holo.png
index d43da4e..afd4bb9 100644
--- a/core/res/res/drawable-xhdpi/spinner_16_outer_holo.png
+++ b/core/res/res/drawable-xhdpi/spinner_16_outer_holo.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_20_inner_holo.png b/core/res/res/drawable-xhdpi/spinner_20_inner_holo.png
index eecac27..76e9428 100644
--- a/core/res/res/drawable-xhdpi/spinner_20_inner_holo.png
+++ b/core/res/res/drawable-xhdpi/spinner_20_inner_holo.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_20_outer_holo.png b/core/res/res/drawable-xhdpi/spinner_20_outer_holo.png
index eb91b2c..6f693d6 100644
--- a/core/res/res/drawable-xhdpi/spinner_20_outer_holo.png
+++ b/core/res/res/drawable-xhdpi/spinner_20_outer_holo.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_48_inner_holo.png b/core/res/res/drawable-xhdpi/spinner_48_inner_holo.png
index b1b8232..19517c4 100644
--- a/core/res/res/drawable-xhdpi/spinner_48_inner_holo.png
+++ b/core/res/res/drawable-xhdpi/spinner_48_inner_holo.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_48_outer_holo.png b/core/res/res/drawable-xhdpi/spinner_48_outer_holo.png
index 0c15e12..14143c5 100644
--- a/core/res/res/drawable-xhdpi/spinner_48_outer_holo.png
+++ b/core/res/res/drawable-xhdpi/spinner_48_outer_holo.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_76_inner_holo.png b/core/res/res/drawable-xhdpi/spinner_76_inner_holo.png
index 6215e95..4c92e956 100644
--- a/core/res/res/drawable-xhdpi/spinner_76_inner_holo.png
+++ b/core/res/res/drawable-xhdpi/spinner_76_inner_holo.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_76_outer_holo.png b/core/res/res/drawable-xhdpi/spinner_76_outer_holo.png
index 0a67fff..fe1d615 100644
--- a/core/res/res/drawable-xhdpi/spinner_76_outer_holo.png
+++ b/core/res/res/drawable-xhdpi/spinner_76_outer_holo.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_ab_pressed_holo_dark.9.png b/core/res/res/drawable-xhdpi/spinner_ab_pressed_holo_dark.9.png
index 9ee1f8c..5253673 100644
--- a/core/res/res/drawable-xhdpi/spinner_ab_pressed_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/spinner_ab_pressed_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_ab_pressed_holo_light.9.png b/core/res/res/drawable-xhdpi/spinner_ab_pressed_holo_light.9.png
index e3e8656..cfb4a9c 100644
--- a/core/res/res/drawable-xhdpi/spinner_ab_pressed_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/spinner_ab_pressed_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_dropdown_background_down.9.png b/core/res/res/drawable-xhdpi/spinner_dropdown_background_down.9.png
index b435218..7814354 100644
--- a/core/res/res/drawable-xhdpi/spinner_dropdown_background_down.9.png
+++ b/core/res/res/drawable-xhdpi/spinner_dropdown_background_down.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_dropdown_background_up.9.png b/core/res/res/drawable-xhdpi/spinner_dropdown_background_up.9.png
index a45c761..17ee05c 100644
--- a/core/res/res/drawable-xhdpi/spinner_dropdown_background_up.9.png
+++ b/core/res/res/drawable-xhdpi/spinner_dropdown_background_up.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_normal.9.png b/core/res/res/drawable-xhdpi/spinner_normal.9.png
index 71b65dd..1ecf897 100644
--- a/core/res/res/drawable-xhdpi/spinner_normal.9.png
+++ b/core/res/res/drawable-xhdpi/spinner_normal.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_press.9.png b/core/res/res/drawable-xhdpi/spinner_press.9.png
index d7233ba..87af85c 100644
--- a/core/res/res/drawable-xhdpi/spinner_press.9.png
+++ b/core/res/res/drawable-xhdpi/spinner_press.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/spinner_select.9.png b/core/res/res/drawable-xhdpi/spinner_select.9.png
index a1b11e0..15b7a90 100644
--- a/core/res/res/drawable-xhdpi/spinner_select.9.png
+++ b/core/res/res/drawable-xhdpi/spinner_select.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_notify_error.png b/core/res/res/drawable-xhdpi/stat_notify_error.png
index c7ac11f..2d0283e 100644
--- a/core/res/res/drawable-xhdpi/stat_notify_error.png
+++ b/core/res/res/drawable-xhdpi/stat_notify_error.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_notify_wifi_in_range.png b/core/res/res/drawable-xhdpi/stat_notify_wifi_in_range.png
index 1909183..6bb7512 100644
--- a/core/res/res/drawable-xhdpi/stat_notify_wifi_in_range.png
+++ b/core/res/res/drawable-xhdpi/stat_notify_wifi_in_range.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/stat_sys_adb.png b/core/res/res/drawable-xhdpi/stat_sys_adb.png
index 92f8dd4..684d57a 100644
--- a/core/res/res/drawable-xhdpi/stat_sys_adb.png
+++ b/core/res/res/drawable-xhdpi/stat_sys_adb.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/status_bar_header_background.9.png b/core/res/res/drawable-xhdpi/status_bar_header_background.9.png
index d03720f..efd3e97 100644
--- a/core/res/res/drawable-xhdpi/status_bar_header_background.9.png
+++ b/core/res/res/drawable-xhdpi/status_bar_header_background.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/switch_thumb_activated_holo_dark.9.png b/core/res/res/drawable-xhdpi/switch_thumb_activated_holo_dark.9.png
index cf10fb9..ea53b5f 100644
--- a/core/res/res/drawable-xhdpi/switch_thumb_activated_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/switch_thumb_activated_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/switch_thumb_activated_holo_light.9.png b/core/res/res/drawable-xhdpi/switch_thumb_activated_holo_light.9.png
index fe7a441..8a4b61a 100644
--- a/core/res/res/drawable-xhdpi/switch_thumb_activated_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/switch_thumb_activated_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/switch_thumb_disabled_holo_dark.9.png b/core/res/res/drawable-xhdpi/switch_thumb_disabled_holo_dark.9.png
index 54ae979..6a280dc 100644
--- a/core/res/res/drawable-xhdpi/switch_thumb_disabled_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/switch_thumb_disabled_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/switch_thumb_disabled_holo_light.9.png b/core/res/res/drawable-xhdpi/switch_thumb_disabled_holo_light.9.png
index 305cc35..34a9304 100644
--- a/core/res/res/drawable-xhdpi/switch_thumb_disabled_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/switch_thumb_disabled_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/switch_thumb_holo_dark.9.png b/core/res/res/drawable-xhdpi/switch_thumb_holo_dark.9.png
index 05dfede..757fdd4 100644
--- a/core/res/res/drawable-xhdpi/switch_thumb_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/switch_thumb_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/switch_thumb_holo_light.9.png b/core/res/res/drawable-xhdpi/switch_thumb_holo_light.9.png
index 63bbc41..8873ccc 100644
--- a/core/res/res/drawable-xhdpi/switch_thumb_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/switch_thumb_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/switch_thumb_pressed_holo_dark.9.png b/core/res/res/drawable-xhdpi/switch_thumb_pressed_holo_dark.9.png
index d830a99..d22226e 100644
--- a/core/res/res/drawable-xhdpi/switch_thumb_pressed_holo_dark.9.png
+++ b/core/res/res/drawable-xhdpi/switch_thumb_pressed_holo_dark.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/switch_thumb_pressed_holo_light.9.png b/core/res/res/drawable-xhdpi/switch_thumb_pressed_holo_light.9.png
index 17802601..c94248c 100644
--- a/core/res/res/drawable-xhdpi/switch_thumb_pressed_holo_light.9.png
+++ b/core/res/res/drawable-xhdpi/switch_thumb_pressed_holo_light.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/tab_selected_v4.9.png b/core/res/res/drawable-xhdpi/tab_selected_v4.9.png
index e867f90..f1f4ec6 100644
--- a/core/res/res/drawable-xhdpi/tab_selected_v4.9.png
+++ b/core/res/res/drawable-xhdpi/tab_selected_v4.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/tab_unselected_v4.9.png b/core/res/res/drawable-xhdpi/tab_unselected_v4.9.png
index 60b98073..1df8c3a 100644
--- a/core/res/res/drawable-xhdpi/tab_unselected_v4.9.png
+++ b/core/res/res/drawable-xhdpi/tab_unselected_v4.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/text_select_handle_left.png b/core/res/res/drawable-xhdpi/text_select_handle_left.png
index 5fcbc52..98d10c9 100644
--- a/core/res/res/drawable-xhdpi/text_select_handle_left.png
+++ b/core/res/res/drawable-xhdpi/text_select_handle_left.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/text_select_handle_middle.png b/core/res/res/drawable-xhdpi/text_select_handle_middle.png
index 05c2ca7..058b30b 100644
--- a/core/res/res/drawable-xhdpi/text_select_handle_middle.png
+++ b/core/res/res/drawable-xhdpi/text_select_handle_middle.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/text_select_handle_right.png b/core/res/res/drawable-xhdpi/text_select_handle_right.png
index ebf97c4..b3a0c9f 100644
--- a/core/res/res/drawable-xhdpi/text_select_handle_right.png
+++ b/core/res/res/drawable-xhdpi/text_select_handle_right.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_default.9.png b/core/res/res/drawable-xhdpi/textfield_default.9.png
index 20b1a09..f084f47 100644
--- a/core/res/res/drawable-xhdpi/textfield_default.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_default.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_disabled.9.png b/core/res/res/drawable-xhdpi/textfield_disabled.9.png
index 794dce8..1940051 100644
--- a/core/res/res/drawable-xhdpi/textfield_disabled.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_disabled.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_disabled_selected.9.png b/core/res/res/drawable-xhdpi/textfield_disabled_selected.9.png
index b708d82..335bee6 100644
--- a/core/res/res/drawable-xhdpi/textfield_disabled_selected.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_disabled_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_search_default.9.png b/core/res/res/drawable-xhdpi/textfield_search_default.9.png
index 0ed71f7..ad4b935 100644
--- a/core/res/res/drawable-xhdpi/textfield_search_default.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_search_default.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_search_empty_default.9.png b/core/res/res/drawable-xhdpi/textfield_search_empty_default.9.png
index 290dd38..0c60f9e 100644
--- a/core/res/res/drawable-xhdpi/textfield_search_empty_default.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_search_empty_default.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_search_empty_pressed.9.png b/core/res/res/drawable-xhdpi/textfield_search_empty_pressed.9.png
index bf20153..741bed9 100644
--- a/core/res/res/drawable-xhdpi/textfield_search_empty_pressed.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_search_empty_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_search_empty_selected.9.png b/core/res/res/drawable-xhdpi/textfield_search_empty_selected.9.png
index 18406a3..24ea6cf 100644
--- a/core/res/res/drawable-xhdpi/textfield_search_empty_selected.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_search_empty_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_search_pressed.9.png b/core/res/res/drawable-xhdpi/textfield_search_pressed.9.png
index 0913c23..815785c 100644
--- a/core/res/res/drawable-xhdpi/textfield_search_pressed.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_search_pressed.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_search_selected.9.png b/core/res/res/drawable-xhdpi/textfield_search_selected.9.png
index 7ba4d61..f009cdb 100644
--- a/core/res/res/drawable-xhdpi/textfield_search_selected.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_search_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/textfield_selected.9.png b/core/res/res/drawable-xhdpi/textfield_selected.9.png
index 275d628..963efde 100644
--- a/core/res/res/drawable-xhdpi/textfield_selected.9.png
+++ b/core/res/res/drawable-xhdpi/textfield_selected.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/title_bar_medium.9.png b/core/res/res/drawable-xhdpi/title_bar_medium.9.png
index 4ef531c..109c017 100644
--- a/core/res/res/drawable-xhdpi/title_bar_medium.9.png
+++ b/core/res/res/drawable-xhdpi/title_bar_medium.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/title_bar_portrait.9.png b/core/res/res/drawable-xhdpi/title_bar_portrait.9.png
index eb607c7..3c91a4a 100644
--- a/core/res/res/drawable-xhdpi/title_bar_portrait.9.png
+++ b/core/res/res/drawable-xhdpi/title_bar_portrait.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/title_bar_tall.9.png b/core/res/res/drawable-xhdpi/title_bar_tall.9.png
index 4beb1d7..e986db1 100644
--- a/core/res/res/drawable-xhdpi/title_bar_tall.9.png
+++ b/core/res/res/drawable-xhdpi/title_bar_tall.9.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/vpn_connected.png b/core/res/res/drawable-xhdpi/vpn_connected.png
index 5d37ffc..1f46be2 100644
--- a/core/res/res/drawable-xhdpi/vpn_connected.png
+++ b/core/res/res/drawable-xhdpi/vpn_connected.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/vpn_disconnected.png b/core/res/res/drawable-xhdpi/vpn_disconnected.png
index dd9ba92..847d3f5 100644
--- a/core/res/res/drawable-xhdpi/vpn_disconnected.png
+++ b/core/res/res/drawable-xhdpi/vpn_disconnected.png
Binary files differ
diff --git a/core/res/res/drawable-xhdpi/zoom_plate.9.png b/core/res/res/drawable-xhdpi/zoom_plate.9.png
index 5229b5f..797215b 100644
--- a/core/res/res/drawable-xhdpi/zoom_plate.9.png
+++ b/core/res/res/drawable-xhdpi/zoom_plate.9.png
Binary files differ
diff --git a/core/res/res/drawable-xlarge-hdpi/indicator_code_lock_drag_direction_green_up.png b/core/res/res/drawable-xlarge-hdpi/indicator_code_lock_drag_direction_green_up.png
deleted file mode 100644
index c605607..0000000
--- a/core/res/res/drawable-xlarge-hdpi/indicator_code_lock_drag_direction_green_up.png
+++ /dev/null
Binary files differ
diff --git a/core/res/res/drawable/btn_cab_done_holo_dark.xml b/core/res/res/drawable/btn_cab_done_holo_dark.xml
index 2cdb605..65d3496 100644
--- a/core/res/res/drawable/btn_cab_done_holo_dark.xml
+++ b/core/res/res/drawable/btn_cab_done_holo_dark.xml
@@ -14,9 +14,8 @@
      limitations under the License.
 -->
 
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_window_focused="false" android:state_enabled="true"
-        android:drawable="@drawable/btn_cab_done_default_holo_dark" />
+<selector xmlns:android="http://schemas.android.com/apk/res/android"
+          android:exitFadeDuration="@android:integer/config_mediumAnimTime">
     <item android:state_pressed="true"
         android:drawable="@drawable/btn_cab_done_pressed_holo_dark" />
     <item android:state_focused="true" android:state_enabled="true"
diff --git a/core/res/res/drawable/btn_cab_done_holo_light.xml b/core/res/res/drawable/btn_cab_done_holo_light.xml
index 81add4c..f6a63f4 100644
--- a/core/res/res/drawable/btn_cab_done_holo_light.xml
+++ b/core/res/res/drawable/btn_cab_done_holo_light.xml
@@ -14,9 +14,8 @@
      limitations under the License.
 -->
 
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_window_focused="false" android:state_enabled="true"
-        android:drawable="@drawable/btn_cab_done_default_holo_light" />
+<selector xmlns:android="http://schemas.android.com/apk/res/android"
+          android:exitFadeDuration="@android:integer/config_mediumAnimTime">
     <item android:state_pressed="true"
         android:drawable="@drawable/btn_cab_done_pressed_holo_light" />
     <item android:state_focused="true" android:state_enabled="true"
diff --git a/core/res/res/drawable/item_background_holo_dark.xml b/core/res/res/drawable/item_background_holo_dark.xml
index 2d4f20a..f188df7 100644
--- a/core/res/res/drawable/item_background_holo_dark.xml
+++ b/core/res/res/drawable/item_background_holo_dark.xml
@@ -17,8 +17,6 @@
 <selector xmlns:android="http://schemas.android.com/apk/res/android"
           android:exitFadeDuration="@android:integer/config_mediumAnimTime">
 
-    <item android:state_window_focused="false" android:drawable="@color/transparent" />
-
     <!-- Even though these two point to the same resource, have two states so the drawable will invalidate itself when coming out of pressed state. -->
     <item android:state_focused="true"  android:state_enabled="false" android:state_pressed="true" android:drawable="@drawable/list_selector_disabled_holo_dark" />
     <item android:state_focused="true"  android:state_enabled="false"                              android:drawable="@drawable/list_selector_disabled_holo_dark" />
diff --git a/core/res/res/drawable/item_background_holo_light.xml b/core/res/res/drawable/item_background_holo_light.xml
index c616d86..ee3f4d8 100644
--- a/core/res/res/drawable/item_background_holo_light.xml
+++ b/core/res/res/drawable/item_background_holo_light.xml
@@ -17,8 +17,6 @@
 <selector xmlns:android="http://schemas.android.com/apk/res/android"
           android:exitFadeDuration="@android:integer/config_mediumAnimTime">
 
-    <item android:state_window_focused="false" android:drawable="@color/transparent" />
-
     <!-- Even though these two point to the same resource, have two states so the drawable will invalidate itself when coming out of pressed state. -->
     <item android:state_focused="true"  android:state_enabled="false" android:state_pressed="true" android:drawable="@drawable/list_selector_disabled_holo_light" />
     <item android:state_focused="true"  android:state_enabled="false"                              android:drawable="@drawable/list_selector_disabled_holo_light" />
diff --git a/core/res/res/layout/keyguard_screen_glogin_unlock.xml b/core/res/res/layout/keyguard_screen_glogin_unlock.xml
index 0e5fe78..35d113c 100644
--- a/core/res/res/layout/keyguard_screen_glogin_unlock.xml
+++ b/core/res/res/layout/keyguard_screen_glogin_unlock.xml
@@ -119,7 +119,7 @@
         android:layout_height="wrap_content"
         android:layout_gravity="center"
         android:drawableLeft="@drawable/ic_emergency"
-        android:drawablePadding="8dip"
+        android:drawablePadding="4dip"
         android:text="@android:string/lockscreen_emergency_call"
         />
 
diff --git a/core/res/res/layout/keyguard_screen_lock.xml b/core/res/res/layout/keyguard_screen_lock.xml
index 6e4fa7d..43867f4 100644
--- a/core/res/res/layout/keyguard_screen_lock.xml
+++ b/core/res/res/layout/keyguard_screen_lock.xml
@@ -211,7 +211,7 @@
             android:layout_marginTop="5dip"
             android:layout_gravity="center_horizontal"
             android:drawableLeft="@drawable/ic_emergency"
-            android:drawablePadding="8dip"
+            android:drawablePadding="4dip"
             android:text="@android:string/lockscreen_emergency_call"
            />
 
diff --git a/core/res/res/layout/keyguard_screen_password_landscape.xml b/core/res/res/layout/keyguard_screen_password_landscape.xml
index 694db50..e34822d 100644
--- a/core/res/res/layout/keyguard_screen_password_landscape.xml
+++ b/core/res/res/layout/keyguard_screen_password_landscape.xml
@@ -135,7 +135,8 @@
     <LinearLayout
         android:orientation="horizontal"
         android:layout_width="270dip"
-        android:layout_gravity="center_vertical">
+        android:layout_gravity="center_vertical"
+        android:background="@drawable/lockscreen_password_field_dark">
 
         <EditText android:id="@+id/passwordEntry"
             android:layout_height="wrap_content"
@@ -148,11 +149,23 @@
             android:textSize="24sp"
             android:minEms="8"
             android:textAppearance="?android:attr/textAppearanceMedium"
-            android:background="@drawable/lockscreen_password_field_dark"
+            android:background="@null"
             android:textColor="?android:attr/textColorPrimary"
             android:imeOptions="flagNoFullscreen|actionDone"
             />
 
+        <!-- This delete button is only visible for numeric PIN entry -->
+        <ImageButton android:id="@+id/pinDel"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:src="@android:drawable/ic_input_delete"
+            android:clickable="true"
+            android:padding="8dip"
+            android:layout_gravity="center"
+            android:background="?android:attr/selectableItemBackground"
+            android:visibility="gone"
+            />
+
         <ImageView android:id="@+id/switch_ime_button"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
@@ -170,6 +183,7 @@
     <com.android.internal.widget.PasswordEntryKeyboardView android:id="@+id/keyboard"
         android:layout_width="270dip"
         android:layout_height="wrap_content"
+        android:layout_marginLeft="4dip"
         android:layout_marginRight="4dip"
         android:background="#40000000"
         android:layout_marginTop="5dip"
@@ -190,4 +204,17 @@
         android:layout_height="0dip"
         />
 
+    <!-- Area to overlay FaceLock -->
+    <TextView android:id="@+id/faceLockAreaView"
+        android:visibility="gone"
+        android:layout_row="0"
+        android:layout_column="2"
+        android:layout_rowSpan="8"
+        android:layout_columnSpan="1"
+        android:layout_gravity="fill"
+        android:layout_width="0dip"
+        android:layout_height="0dip"
+        android:background="@color/facelock_color_background"
+    />
+
 </GridLayout>
diff --git a/core/res/res/layout/keyguard_screen_password_portrait.xml b/core/res/res/layout/keyguard_screen_password_portrait.xml
index cf3bd42..e1280ba 100644
--- a/core/res/res/layout/keyguard_screen_password_portrait.xml
+++ b/core/res/res/layout/keyguard_screen_password_portrait.xml
@@ -95,9 +95,12 @@
         />
 
     <!-- Password entry field -->
+    <!-- Note: the entire container is styled to look like the edit field,
+         since the backspace/IME switcher looks better inside -->
     <LinearLayout
         android:layout_gravity="center_vertical|fill_horizontal"
         android:orientation="horizontal"
+        android:background="@drawable/lockscreen_password_field_dark"
         android:layout_marginLeft="16dip"
         android:layout_marginRight="16dip">
 
@@ -110,12 +113,24 @@
             android:textStyle="normal"
             android:inputType="textPassword"
             android:textSize="36sp"
-            android:background="@drawable/lockscreen_password_field_dark"
+            android:background="@null"
             android:textAppearance="?android:attr/textAppearanceMedium"
             android:textColor="#ffffffff"
             android:imeOptions="actionDone"
             />
 
+        <!-- This delete button is only visible for numeric PIN entry -->
+        <ImageButton android:id="@+id/pinDel"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:src="@android:drawable/ic_input_delete"
+            android:clickable="true"
+            android:padding="8dip"
+            android:layout_gravity="center_vertical"
+            android:background="?android:attr/selectableItemBackground"
+            android:visibility="gone"
+            />
+
         <ImageView android:id="@+id/switch_ime_button"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
@@ -132,7 +147,7 @@
     <!-- Numeric keyboard -->
     <com.android.internal.widget.PasswordEntryKeyboardView android:id="@+id/keyboard"
         android:layout_width="match_parent"
-        android:layout_height="wrap_content"
+        android:layout_marginLeft="4dip"
         android:layout_marginRight="4dip"
         android:paddingTop="4dip"
         android:paddingBottom="4dip"
@@ -178,4 +193,17 @@
         android:layout_height="0dip"
         />
 
+    <!-- Area to overlay FaceLock -->
+    <TextView android:id="@+id/faceLockAreaView"
+        android:visibility="gone"
+        android:layout_row="3"
+        android:layout_column="0"
+        android:layout_rowSpan="2"
+        android:layout_columnSpan="1"
+        android:layout_gravity="fill"
+        android:layout_width="0dip"
+        android:layout_height="0dip"
+        android:background="@color/facelock_color_background"
+    />
+
 </GridLayout>
diff --git a/core/res/res/layout/keyguard_screen_sim_pin_landscape.xml b/core/res/res/layout/keyguard_screen_sim_pin_landscape.xml
index dff2a3f..59065e1 100644
--- a/core/res/res/layout/keyguard_screen_sim_pin_landscape.xml
+++ b/core/res/res/layout/keyguard_screen_sim_pin_landscape.xml
@@ -113,7 +113,7 @@
             android:layout_marginLeft="8dip"
             android:textSize="18sp"
             android:drawableLeft="@drawable/ic_emergency"
-            android:drawablePadding="8dip"
+            android:drawablePadding="4dip"
         />
     </LinearLayout>
 
diff --git a/core/res/res/layout/keyguard_screen_sim_pin_portrait.xml b/core/res/res/layout/keyguard_screen_sim_pin_portrait.xml
index d8bea56..6e8a645 100644
--- a/core/res/res/layout/keyguard_screen_sim_pin_portrait.xml
+++ b/core/res/res/layout/keyguard_screen_sim_pin_portrait.xml
@@ -111,7 +111,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:drawableLeft="@android:drawable/ic_emergency"
-            android:drawablePadding="8dip"
+            android:drawablePadding="4dip"
             android:text="@android:string/lockscreen_emergency_call"
         />
     </LinearLayout>
diff --git a/core/res/res/layout/keyguard_screen_sim_puk_landscape.xml b/core/res/res/layout/keyguard_screen_sim_puk_landscape.xml
index 11a6e12..b662e82 100644
--- a/core/res/res/layout/keyguard_screen_sim_puk_landscape.xml
+++ b/core/res/res/layout/keyguard_screen_sim_puk_landscape.xml
@@ -175,7 +175,7 @@
             android:layout_marginLeft="8dip"
             android:textSize="18sp"
             android:drawableLeft="@drawable/ic_emergency"
-            android:drawablePadding="8dip"
+            android:drawablePadding="4dip"
         />
     </LinearLayout>
 
diff --git a/core/res/res/layout/keyguard_screen_tab_unlock.xml b/core/res/res/layout/keyguard_screen_tab_unlock.xml
index 0368530..0ec8f75 100644
--- a/core/res/res/layout/keyguard_screen_tab_unlock.xml
+++ b/core/res/res/layout/keyguard_screen_tab_unlock.xml
@@ -29,7 +29,8 @@
     android:gravity="center_horizontal">
 
     <com.android.internal.widget.DigitalClock android:id="@+id/time"
-        android:layout_marginBottom="18dip"
+        android:layout_marginTop="@dimen/keyguard_lockscreen_status_line_clockfont_top_margin"
+        android:layout_marginBottom="12dip"
         android:layout_marginRight="@dimen/keyguard_lockscreen_status_line_font_right_margin"
         android:layout_gravity="right">
 
@@ -120,7 +121,7 @@
 
     <RelativeLayout
         android:layout_width="match_parent"
-        android:layout_height="292dip">
+        android:layout_height="302dip">
 
         <com.android.internal.widget.multiwaveview.MultiWaveView
             android:id="@+id/unlock_widget"
@@ -149,7 +150,7 @@
             android:layout_width="fill_parent"
             android:layout_height="wrap_content"
             android:layout_alignParentBottom="true"
-            android:layout_marginBottom="8dip"
+            android:layout_marginBottom="12dip"
             android:gravity="center_horizontal"
             android:singleLine="true"
             android:ellipsize="marquee"
diff --git a/core/res/res/layout/keyguard_screen_tab_unlock_land.xml b/core/res/res/layout/keyguard_screen_tab_unlock_land.xml
index 2849376..294f91e 100644
--- a/core/res/res/layout/keyguard_screen_tab_unlock_land.xml
+++ b/core/res/res/layout/keyguard_screen_tab_unlock_land.xml
@@ -104,6 +104,7 @@
         android:id="@+id/carrier"
         android:layout_width="0dip"
         android:layout_gravity="fill_horizontal"
+        android:layout_marginBottom="12dip"
         android:gravity="right"
         android:singleLine="true"
         android:ellipsize="marquee"
diff --git a/core/res/res/layout/keyguard_screen_unlock_landscape.xml b/core/res/res/layout/keyguard_screen_unlock_landscape.xml
index d71dbff..2778f4e 100644
--- a/core/res/res/layout/keyguard_screen_unlock_landscape.xml
+++ b/core/res/res/layout/keyguard_screen_unlock_landscape.xml
@@ -160,4 +160,18 @@
         android:layout_height="0dip"
         />
 
+    <!-- Area to overlay FaceLock -->
+    <TextView android:id="@+id/faceLockAreaView"
+        android:visibility="gone"
+        android:layout_row="0"
+        android:layout_column="1"
+        android:layout_rowSpan="7"
+        android:layout_columnSpan="1"
+        android:layout_gravity="fill"
+        android:layout_marginLeft="8dip"
+        android:layout_width="0dip"
+        android:layout_height="0dip"
+        android:background="@color/facelock_color_background"
+    />
+
 </GridLayout>
diff --git a/core/res/res/layout/keyguard_screen_unlock_portrait.xml b/core/res/res/layout/keyguard_screen_unlock_portrait.xml
index 64c479f..03fc79e 100644
--- a/core/res/res/layout/keyguard_screen_unlock_portrait.xml
+++ b/core/res/res/layout/keyguard_screen_unlock_portrait.xml
@@ -28,7 +28,8 @@
     android:gravity="center_horizontal">
 
     <com.android.internal.widget.DigitalClock android:id="@+id/time"
-        android:layout_marginBottom="18dip"
+        android:layout_marginTop="@dimen/keyguard_lockscreen_status_line_clockfont_top_margin"
+        android:layout_marginBottom="12dip"
         android:layout_marginRight="@dimen/keyguard_lockscreen_status_line_font_right_margin"
         android:layout_gravity="right">
 
@@ -171,4 +172,19 @@
         android:layout_height="0dip"
         />
 
+    <!-- Area to overlay FaceLock -->
+    <TextView android:id="@+id/faceLockAreaView"
+        android:visibility="gone"
+        android:layout_row="4"
+        android:layout_column="0"
+        android:layout_rowSpan="1"
+        android:layout_columnSpan="1"
+        android:layout_gravity="fill"
+        android:layout_marginTop="8dip"
+        android:layout_marginBottom="8dip"
+        android:layout_width="0dip"
+        android:layout_height="0dip"
+        android:background="@color/facelock_color_background"
+    />
+
 </GridLayout>
diff --git a/core/res/res/layout/number_picker.xml b/core/res/res/layout/number_picker.xml
index f2f524c..807daf2 100644
--- a/core/res/res/layout/number_picker.xml
+++ b/core/res/res/layout/number_picker.xml
@@ -23,8 +23,6 @@
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         style="?android:attr/numberPickerUpButtonStyle"
-        android:paddingTop="22dip"
-        android:paddingBottom="22dip"
         android:contentDescription="@string/number_picker_increment_button" />
 
     <EditText android:id="@+id/numberpicker_input"
@@ -36,8 +34,6 @@
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         style="?android:attr/numberPickerDownButtonStyle"
-        android:paddingTop="22dip"
-        android:paddingBottom="22dip"
         android:contentDescription="@string/number_picker_decrement_button" />
 
 </merge>
diff --git a/core/res/res/layout/screen_simple_overlay_action_mode.xml b/core/res/res/layout/screen_simple_overlay_action_mode.xml
new file mode 100644
index 0000000..eb093e7
--- /dev/null
+++ b/core/res/res/layout/screen_simple_overlay_action_mode.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2011, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+
+This is an optimized layout for a screen, with the minimum set of features
+enabled.
+-->
+
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:fitsSystemWindows="true">
+    <FrameLayout
+         android:id="@android:id/content"
+         android:layout_width="match_parent"
+         android:layout_height="match_parent"
+         android:foregroundInsidePadding="false"
+         android:foregroundGravity="fill_horizontal|top"
+         android:foreground="?android:attr/windowContentOverlay" />
+    <ViewStub android:id="@+id/action_mode_bar_stub"
+              android:inflatedId="@+id/action_mode_bar"
+              android:layout="@layout/action_mode_bar"
+              android:layout_width="match_parent"
+              android:layout_height="wrap_content" />
+</FrameLayout>
diff --git a/core/res/res/layout/status_bar_latest_event_content_large_icon.xml b/core/res/res/layout/status_bar_latest_event_content_large_icon.xml
index ac4d1e4..f3f1957 100644
--- a/core/res/res/layout/status_bar_latest_event_content_large_icon.xml
+++ b/core/res/res/layout/status_bar_latest_event_content_large_icon.xml
@@ -4,8 +4,8 @@
     android:layout_height="wrap_content"
     android:layout_gravity="center"
     android:orientation="vertical"
-    android:paddingLeft="8dp"
-    android:paddingRight="8dp"
+    android:paddingLeft="12dp"
+    android:paddingRight="12dp"
     >
     <TextView android:id="@+id/title"
         android:textAppearance="@style/TextAppearance.StatusBar.EventContent.Title"
diff --git a/core/res/res/layout/text_edit_suggestion_item.xml b/core/res/res/layout/text_edit_suggestion_item.xml
index 082c5ec..1fdc1bf 100644
--- a/core/res/res/layout/text_edit_suggestion_item.xml
+++ b/core/res/res/layout/text_edit_suggestion_item.xml
@@ -15,7 +15,7 @@
 -->
 
 <TextView xmlns:android="http://schemas.android.com/apk/res/android"
-          android:layout_width="wrap_content"
+          android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:paddingLeft="16dip"
           android:paddingRight="16dip"
@@ -23,6 +23,7 @@
           android:paddingBottom="8dip"
           android:layout_gravity="left|center_vertical"
           android:singleLine="true"
+          android:drawablePadding="8dip"
           android:ellipsize="marquee"
           android:textAppearance="?android:attr/textAppearanceMedium"
           android:textColor="@android:color/dim_foreground_light" />
diff --git a/core/res/res/layout/volume_adjust.xml b/core/res/res/layout/volume_adjust.xml
index ea4e1f9..c16a12c 100644
--- a/core/res/res/layout/volume_adjust.xml
+++ b/core/res/res/layout/volume_adjust.xml
@@ -21,7 +21,6 @@
         android:id="@+id/visible_panel"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:layout_marginTop="80dp"
         android:background="@android:drawable/dialog_full_holo_dark"
         android:orientation="horizontal"
         >
diff --git a/core/res/res/layout/webview_find.xml b/core/res/res/layout/webview_find.xml
index 4cf2df5..a628ac8 100644
--- a/core/res/res/layout/webview_find.xml
+++ b/core/res/res/layout/webview_find.xml
@@ -26,7 +26,7 @@
         android:scrollHorizontally="true"
         android:inputType="text"
         android:hint="@string/find_on_page"
-        android:imeOptions="actionDone"
+        android:imeOptions="actionDone|flagNoExtractUi|flagNoFullscreen"
         android:layout_marginRight="10dip"
         />
     <TextView android:id="@+id/matches"
diff --git a/core/res/res/values-af/strings.xml b/core/res/res/values-af/strings.xml
index c747576..c977bea 100644
--- a/core/res/res/values-af/strings.xml
+++ b/core/res/res/values-af/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;ongetiteld&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"‥"</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Geen foonnommer)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Onbekend)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Stemboodskap"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Laat die program toe om persoonlike profielinligting gestoor op jou selfoon, soos jou naam en kontakbesonderhede, te lees. Dit beteken dat die program jou kan identifiseer en jou profielinligting aan ander kan stuur."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"skryf na jou profieldata"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Laat die program toe om te verander of by te voeg tot die persoonlike profielinligting gestoor op jou selfoon, soos jou naam en kontakbesonderhede. Dit beteken dat ander programme jou kan identifiseer en jou profielinligting aan ander kan stuur."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"lees jou sosiale stroom"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Stel die app in staat om toegang te verkry tot en sosiale bywerkings tussen jou en jou vriende te sinch. Kwaadwillige apps kan dit gebruik om private kommunikasie tussen jou en jou vriende op sosiale netwerke te lees."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"skryf aan jou sosiale stroom"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Stel die app in staat om jou vriende se sosiale bywerkings te vertoon. Kwaadwillige apps kan dit gebruik om via sosiale netwerke toegang tot private kommunikasie tussen jou en jou vriende te verkry."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"lees kalenderafsprake plus vertroulike inligting"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Laat \'n program toe om alle kalenderafsprake te lees wat op jou tablet gestoor is, insluitend dié van vriende of kollegas. \'n Kwaadwillige program met dié toestemming kan persoonlike inligting uit hierdie kalenders uithaal sonder die eienaars se medewete."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Laat \'n program toe om alle kalendergebeure wat op jou foon gestoor is, insluitend dié van vriende of kollega\'s, te lees. \'n Kwaadwillige program met dié toestemming kan persoonlike inligting uit hierdie kalenders uithaal, sonder die eienaars se medewete."</string>
diff --git a/core/res/res/values-am/strings.xml b/core/res/res/values-am/strings.xml
index 9647908..892939f 100644
--- a/core/res/res/values-am/strings.xml
+++ b/core/res/res/values-am/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;ርዕስ አልባ&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"‥"</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(ምንም ስልክ ቁጥር የለም)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(ያልታወቀ)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"የድምፅ መልዕክት"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"ትግበራ በመሣሪያዎ ላይ የተከማቸውን የግል የመገለጫ መረጃ፣ እንደ ስምዎ እና የዕውቂያ መረጃ ለማንበብ ይፈቅዳል። ይህ ማለት ትግበራው እርስዎን ለይቶ የመገለጫ መረጃዎን ለሌሎች መላክ ይችላል።"</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"የአርስዎ መገለጫ ውሂብ ላይ ይፃፉ"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"ትግበራ በመሣሪያዎ ላይ የተከማቸውን የግል የመገለጫ መረጃ፣ እንደ ስምዎ እና የዕውቂያ መረጃ ለመለወጥ እና ለማከል ይፈቅዳል። ይህ ማለት ትግበራው እርስዎን ለይቶ የመገለጫ መረጃዎን ለሌሎች መላክ ይችላል።"</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"ያንተን ማህበራዊ የውይይት ክፍሎች አንብብ"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"መተግበሪያው ካንተ ጓደኞች ማህበራዊ ዝማኔዎችን እንዲደርስባቸው እና እንዲያመሳስል ይፈቅዳል፡፡ ተንኮል አዘል መተግበሪያዎች ይህን መዳረሻ ባንተና በጓደኞችህ መካከል በማህበራዊ አውታረመረቦች ያሉ የግል ተግባቦቶችን ለመዳረስ ሊጠቀሙበት ይችላሉ፡፡"</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"ወደ ያንተ ማህበራዊ የውይይት ክፍሎች ጻፍ"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"መተግበሪያው የጓደኞችህን ማህበራዊ ዝማኔዎችን ለማሳየት ይፈቅዳል፡፡ ተንኮል አዘል መተግበሪያዎች ይህን መዳረሻ ጓደኛ መስለው ለመቅረብ እና የይለፍ ቃልና ሌላ ምስጢራዊ መረጃ እንድትሰጡ ለማድረግ ሊጠቀሙበት ይችላሉ፡፡"</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"የቀን መቁጠሪያ ክስተቶች ተጨማሪ ሚስጥራዊ መረጃ አንብብ"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"ትግበራ በጡባዊዎ ላይ የተከማቸውን የቀን መቁጠሪያ ክስተቶች በሙሉ አብረው የሚሰሩትንም ሆነ የጓደኞችዎን ጨምሮ ለማንበብ ይፈቅዳል። ይህን ፈቃድ የያዘ ተንኮል አዘል ትግበራ ከባለቤቱ ዕውቅና ውጪ ከቀን አቆጣጠር ላይ የግል መረጃ ማውጣት ይችላል።\'"</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"ትግበራ በስልክዎ ላይ የተከማቸውን የቀን መቁጠሪያ ክስተቶች በሙሉ አብረው የሚሰሩትንም ሆነ የጓደኞችዎን ጨምሮ ለማንበብ ይፈቅዳል። ይህን ፈቃድ የያዘ ተንኮል አዘል ትግበራ ከባለቤቱ ዕውቅና ውጪ ከቀን አቆጣጠር ላይ የግል መረጃ ማውጣት ይችላል።\'"</string>
diff --git a/core/res/res/values-ar/strings.xml b/core/res/res/values-ar/strings.xml
index 94bdbf5..fcba14e 100644
--- a/core/res/res/values-ar/strings.xml
+++ b/core/res/res/values-ar/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;بلا عنوان&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"‥"</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(ليس هناك رقم هاتف)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(غير معروف)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"البريد الصوتي"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"للسماح للتطبيق بقراءة معلومات الملف الشخصي الشخصية المخزنة على الجهاز، مثل الاسم ومعلومات الاتصال. يعني ذلك أن التطبيق يمكنه التعرف عليك وإرسال معلومات ملفك الشخصي إلى الآخرين."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"الكتابة إلى بيانات ملفك الشخصي"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"للسماح للتطبيق بتغيير أو إضافة معلومات الملف الشخصي الشخصية المخزنة على الجهاز، مثل الاسم ومعلومات الاتصال. يعني ذلك أن التطبيقات الأخرى يمكنها التعرف عليك وإرسال معلومات ملفك الشخصي إلى الآخرين."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"قراءة المشاركات الاجتماعية"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"للسماح للتطبيق بالدخول إلى التحديثات الاجتماعية منك ومن أصدقائك ومزامنتها. يمكن أن تستخدم التطبيقات الضارة هذا لقراءة الاتصالات الخاصة بينك وبين أصدقائك على الشبكات الاجتماعية."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"كتابة إلى المشاركات الاجتماعية"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"للسماح للتطبيق بعرض التحديثات الاجتماعية من أصدقائك. يمكن أن تستخدم التطبيقات الضارة هذا للتظاهر بأنها صديق وتخدعك لكشف كلمات المرور أو المعلومات السرية الأخرى."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"قراءة أحداث التقويم بالإضافة إلى المعلومات السرية"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"للسماح لأحد التطبيقات بقراءة جميع أحداث التقويم المخزّنة في الجهاز اللوحي، بما في ذلك أحداث التقويم الخاصة بالأصدقاء وزملاء العمل. يمكن لأحد التطبيقات الضارة باستخدام هذا الإذن استخراج المعلومات الشخصية من هذه التقاويم بدون معرفة المالكين."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"للسماح لأحد التطبيقات بقراءة جميع أحداث التقويم المخزّنة في هاتفك، بما في ذلك أحداث التقويم الخاصة بالأصدقاء وزملاء العمل. يمكن لأحد التطبيقات الضارة باستخدام هذا الإذن استخراج المعلومات الشخصية من هذه التقاويم بدون معرفة المالكين."</string>
diff --git a/core/res/res/values-bg/strings.xml b/core/res/res/values-bg/strings.xml
index 8529523..9599028 100644
--- a/core/res/res/values-bg/strings.xml
+++ b/core/res/res/values-bg/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;неозаглавено&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">".."</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Няма телефонен номер)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Неизвестно)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Гласова поща"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Разрешава на приложението да чете информацията от личния потребителски профил, съхранена на устройството ви, например вашето име и данни за връзка. Това означава, че приложението може да ви идентифицира и да изпраща информацията за потребителския ви профил на други хора."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"запис в потр. ви профил"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Разрешава на приложението да променя или добавя към личния потребителски профил информация, съхранена на устройството ви, като например вашето име и данни за връзка. Това означава, че приложението може да ви идентифицира и да изпраща информацията за потребителския ви профил на други хора."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"четене на социалния ви поток"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Разрешава на приложението да осъществява достъп и да синхронизира социални актуализации от вас и приятелите ви. Злонамерените приложения могат да използват това, за да четат частни съобщения помежду ви в социалните мрежи."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"писане в социалния ви поток"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Разрешава на приложението да показва социални актуализации от приятелите ви. Злонамерените приложения могат да използват това, за да се представят за приятел и да ви подмамят да разкриете пароли или друга поверителна информация."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"четене на събития от календари плюс поверителна информация"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Разрешава на приложението да чете всички събития от календари, съхранявани на таблета ви, включително тези на приятели или колеги. Злонамерено приложение с това разрешение може да извлича лична информация от тези календари без знанието на собствениците."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Разрешава на приложението да чете всички събития от календари, съхранявани на телефона ви, включително тези на приятели или колеги. Злонамерено приложение с това разрешение може да извлича лична информация от тези календари без знанието на собствениците."</string>
diff --git a/core/res/res/values-ca/strings.xml b/core/res/res/values-ca/strings.xml
index 3a7342f..c25fc30 100644
--- a/core/res/res/values-ca/strings.xml
+++ b/core/res/res/values-ca/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;sense títol&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"‥"</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Sense número de telèfon)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Desconegut)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Correu de veu"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Permet que l\'aplicació pugui llegir la informació del perfil personal emmagatzemada al dispositiu, com ara el teu nom i la teva informació de contacte. Això significa que l\'aplicació et pot identificar i enviar la informació del teu perfil a altres persones."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"escriptura a les teves dades del perfil"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Permet que l\'aplicació pugui canviar o afegir a la informació del perfil personal emmagatzemada al dispositiu, com ara el teu nom i la teva informació de contacte. Això significa que altres aplicacions et poden identificar i enviar la informació del teu perfil a altres persones."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"llegeix el teu tauler d\'activitat social"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Permet que l\'aplicació accedeixi a les teves actualitzacions socials i a les dels teus amics i que les sincronitzi. Les aplicacions malicioses poden fer servir aquesta funció per llegir comunicacions privades entre tu i els teus amics a les xarxes socials."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"escriu al tauler d\'activitat social"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Permet que l\'aplicació mostri actualitzacions socials dels teus amics. Les aplicacions malicioses poden fer servir aquesta funció per fer-se passar per amics teus i per enganyar-te per tal que els revelis contrasenyes o altra informació confidencial."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"llegeix els esdeveniments del calendari més informació confidencial"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Permet que una aplicació llegeixi tots els esdeveniments de calendari emmagatzemats a la tauleta, inclosos els dels seus amics o els seus companys de feina. Una aplicació maliciosa amb aquest permís pot extreure informació personal d\'aquests calendaris sense el coneixement dels propietaris."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Permet que una aplicació llegeixi tots els esdeveniments de calendari emmagatzemats al telèfon, inclosos els dels seus amics o els teus companys de feina. Una aplicació maliciosa amb aquest permís pot extreure informació personal d\'aquests calendaris sense que ho sàpiguen els propietaris."</string>
diff --git a/core/res/res/values-cs/strings.xml b/core/res/res/values-cs/strings.xml
index 775d4d8..1ee3bfc 100644
--- a/core/res/res/values-cs/strings.xml
+++ b/core/res/res/values-cs/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g> <xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;bez názvu&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">".."</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(žádné telefonní číslo)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Neznámé)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Hlasová schránka"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Umožňuje aplikaci číst osobní informace o profilu uložené ve vašem zařízení, jako je jméno a kontaktní informace. To znamená, že vás aplikace může identifikovat a odesílat informace o profilu ostatním."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"zapisovat do údajů o profilu"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Umožňuje aplikaci měnit a přidávat osobní informace o profilu uložené ve vašem zařízení, jako je jméno a kontaktní informace. To znamená, že vás aplikace může identifikovat a odesílat informace o profilu ostatním."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"číst váš sociální stream"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Umožňuje aplikaci přístup k sociálním aktualizacím od vás a vašich přátel a synchronizaci těchto aktualizací. Škodlivé aplikace toho mohou využít ke čtení soukromé komunikace mezi vámi a vašimi přáteli v sociálních sítích."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"zapisovat do vašeho sociálního streamu"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Umožňuje aplikaci zobrazit sociální aktualizace od vašich přátel. Škodlivé aplikace toho mohou využít k předstírání, že jsou vašimi přáteli, a snažit se vás tak přimět k prozrazení hesel nebo jiných důvěrných informací."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"číst události kalendáře a důvěrné informace"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Povolí aplikaci číst všechny události kalendáře uložené ve vašem tabletu, včetně událostí vašich přátel a spolupracovníků. Škodlivá aplikace s tímto oprávněním může z těchto kalendářů extrahovat osobní údaje, aniž by o tom vlastník věděl."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Povolí aplikaci číst všechny události kalendáře uložené ve vašem telefonu, včetně událostí vašich přátel a spolupracovníků. Škodlivá aplikace s tímto oprávněním může z těchto kalendářů extrahovat osobní údaje, aniž by o tom vlastník věděl."</string>
diff --git a/core/res/res/values-da/strings.xml b/core/res/res/values-da/strings.xml
index 077fb2c..a4efb61 100644
--- a/core/res/res/values-da/strings.xml
+++ b/core/res/res/values-da/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g> <xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;uden navn&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">".."</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Intet telefonnummer)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Ukendt)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Voicemail"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Tillader programmet at læse personlige profiloplysninger, som er gemt på din enhed. Disse kan f.eks. være dit navn og dine kontaktoplysninger. Dette betyder, at applikationen kan identificere dig og sende dine profiloplysninger til andre."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"skrive til dine profildata"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Tillader programmet at ændre eller føje til personlige profiloplysninger, som er gemt på din enhed. Disse kan f.eks. være dit navn og dine kontaktoplysninger. Dette betyder, at andre applikationer kan identificere dig og sende dine profiloplysninger til andre."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"læs din sociale strøm"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Tillader, at applikationen får adgang til og synkroniserer sociale opdateringer fra dig og dine venner. Ondsindede apps kan bruge dette til at læse privat kommunikation mellem dig og dine venner på sociale netværk."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"skriv i din sociale strøm"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Tillader, at applikationen viser sociale opdateringer fra dine venner. Ondsindede apps kan bruge dette til at foregive at være en ven og narre dig til at afsløre adgangskoder eller andre fortrolige oplysninger."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"læs kalenderbegivenheder plus fortrolige oplysninger"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Tillader, at en applikation kan læse alle kalenderbegivenheder, der er gemt på din tablet, herunder dem venners eller kollegers. En ondsindet applikation med denne tilladelse kan udtrække personlige oplysninger fra disse kalendere uden ejernes viden."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Tillader, at en applikation kan læse alle kalenderbegivenheder gemt på din telefon, herunder dem af venner eller kolleger. En ondsindet applikation med denne tilladelse kan udtrække personlige oplysninger fra disse kalendere uden ejernes viden."</string>
diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml
index 6f4d884..f33e2f4 100644
--- a/core/res/res/values-de/strings.xml
+++ b/core/res/res/values-de/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g> <xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;Unbenannt&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"‥"</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Keine Telefonnummer)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Unbekannt)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Mailbox"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Ermöglicht der App, auf Ihrem Gerät gespeicherte persönliche Profilinformationen einzusehen, darunter Ihren Namen und Ihre Kontaktinformationen. Die App kann Sie somit identifizieren und Ihre Profilinformationen an andere senden."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"In Ihre Profildaten schreiben"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Ermöglicht der App, auf Ihrem Gerät gespeicherte persönliche Profilinformationen zu ändern, darunter Ihren Namen und Ihre Kontaktinformationen, sowie Informationen hinzuzufügen. Andere Apps können Sie somit identifizieren und Ihre Profilinformationen an andere senden."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"Sozialen Stream lesen"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Diese Berechtigung ermöglicht der App, auf soziale Updates von Ihnen und Ihren Freunden zuzugreifen und diese zu synchronisieren. Schädliche Apps können mithilfe dieser Berechtigung private Kommunikationen zwischen Ihnen und Ihren Freunden in sozialen Netzwerken lesen."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"In sozialen Stream schreiben"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Diese Berechtigung ermöglicht der App, soziale Updates Ihrer Freunde anzuzeigen. Schädliche Apps können sich mithilfe dieser Berechtigung als Freund von Ihnen ausgeben, um an Ihre Passwörter oder andere vertrauliche Informationen zu gelangen."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"Kalendertermine sowie vertrauliche Informationen lesen"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Ermöglicht einer App das Lesen aller Kalendertermine, die auf Ihrem Tablet gespeichert sind, einschließlich der Termine von Freunden oder Kollegen. Schädliche Apps mit dieser Berechtigung können aus diesen Kalendern ohne das Wissen der Eigentümer persönliche Informationen extrahieren."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Ermöglicht einer App das Lesen aller Kalendertermine, die auf Ihrem Telefon gespeichert sind, einschließlich der Termine von Freunden oder Kollegen. Schädliche Apps mit dieser Berechtigung können aus diesen Kalendern ohne das Wissen der Eigentümer persönliche Informationen extrahieren."</string>
diff --git a/core/res/res/values-el/strings.xml b/core/res/res/values-el/strings.xml
index 6d5e722..8778744 100644
--- a/core/res/res/values-el/strings.xml
+++ b/core/res/res/values-el/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g> <xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;χωρίς τίτλο&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"‥"</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Δεν υπάρχει τηλεφωνικός αριθμός)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Άγνωστο)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Αυτόματος τηλεφωνητής"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Επιτρέπει στην εφαρμογή να διαβάζει τις πληροφορίες του προσωπικού προφίλ που έχουν αποθηκευτεί στη συσκευή σας, όπως το όνομα και τα στοιχεία επικοινωνίας σας. Αυτό σημαίνει ότι η εφαρμογή μπορεί να σας αναγνωρίσει και να στείλει πληροφορίες του προφίλ σας σε άλλους."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"εγγρ. σε δεδ. προφίλ"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Επιτρέπει στην εφαρμογή την αλλαγή ή την προσθήκη στο προσωπικό προφίλ πληροφοριών οι οποίες έχουν αποθηκευτεί στη συσκευή σας, όπως το όνομα και τα στοιχεία επικοινωνίας σας. Αυτό σημαίνει ότι άλλες εφαρμογές μπορούν να σας αναγνωρίσουν και να στείλουν πληροφορίες του προφίλ σας σε άλλους."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"διαβάστε τη ροή κοινωνικών δικτύων σας"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Επιτρέπει στην εφαρμογή να έχει πρόσβαση και να συγχρονίζει τις ενημερώσεις κοινωνικού περιεχομένου από τους φίλους σας. Κακόβουλες εφαρμογές μπορούν να το χρησιμοποιήσουν για να διαβάσουν απόρρητες επικοινωνίες μεταξύ εσάς και των φίλων σας σε κοινωνικά δίκτυα."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"γράψτε στη ροή κοινωνικών δικτύων σας"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Επιτρέπει στην εφαρμογή να εμφανίζει τις ενημερώσεις κοινωνικού περιεχομένου από τους φίλους σας. Κακόβουλες εφαρμογές μπορούν να το χρησιμοποιήσουν, να προσποιηθούν ότι πρόκειται για φίλους σας και να σας εξαπατήσουν ώστε να αποκαλύψετε τους κωδικούς σας ή άλλες εμπιστευτικές πληροφορίες."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"ανάγνωση συμβάντων ημερολογίου και εμπιστευτικών πληροφοριών"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Επιτρέπει σε μια εφαρμογή να διαβάζει όλα τα συμβάντα ημερολογίου που είναι αποθηκευμένα στο tablet σας, συμπεριλαμβανομένων των συμβάντων φίλων ή συναδέλφων. Μια κακόβουλη εφαρμογή με αυτήν την άδεια μπορεί να εξαγάγει προσωπικά στοιχεία από αυτά τα ημερολόγια χωρίς να το γνωρίζουν οι κάτοχοί τους."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Επιτρέπει σε μια εφαρμογή να διαβάζει όλα τα συμβάντα ημερολογίου που είναι αποθηκευμένα στο τηλέφωνό σας, συμπεριλαμβανομένων των συμβάντων φίλων ή συναδέλφων. Μια κακόβουλη εφαρμογή με αυτήν την άδεια μπορεί να εξαγάγει προσωπικά στοιχεία από αυτά τα ημερολόγια χωρίς να το γνωρίζουν οι κάτοχοί τους."</string>
diff --git a/core/res/res/values-en-rGB/strings.xml b/core/res/res/values-en-rGB/strings.xml
index a619877..a6737d2 100644
--- a/core/res/res/values-en-rGB/strings.xml
+++ b/core/res/res/values-en-rGB/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;untitled&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"‥"</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(No phone number)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Unknown)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Voicemail"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Allows the application to read personal profile information stored on your device, such as your name and contact information. This means that the application can identify you and send your profile information to others."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"write to your profile data"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Allows the application to change or add to personal profile information stored on your device, such as your name and contact information. This means that other applications can identify you and send your profile information to others."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"read your social stream"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Allows the application to access and sync social updates from you and your friends. Malicious apps can use this to read private communications between you and your friends on social networks."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"write to your social stream"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Allows the application to display social updates from your friends. Malicious apps can use this to pretend to be a friend and trick you into revealing passwords or other confidential information."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"read calendar events plus confidential information"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Allows an application to read all calendar events stored on your tablet, including those of friends or colleagues. A malicious application with this permission can extract personal information from these calendars without the owners\' knowledge."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Allows an application to read all calendar events stored on your phone, including those of friends or colleagues. A malicious application with this permission can extract personal information from these calendars without the owners\' knowledge."</string>
diff --git a/core/res/res/values-es-rUS/strings.xml b/core/res/res/values-es-rUS/strings.xml
index ab78201..1cb6381 100644
--- a/core/res/res/values-es-rUS/strings.xml
+++ b/core/res/res/values-es-rUS/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;sin título&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"‥"</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(No hay número de teléfono)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Desconocida)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Correo de voz"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Permite que la aplicación lea información personal del perfil almacenada en tu dispositivo, como tu nombre e información de contacto. Esto significa que la aplicación puede identificarte y enviar tu información de perfil a otras personas."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"Escrib. en datos de tu perfil"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Permite que la aplicación cambie o agregue información personal del perfil almacenada en tu dispositivo, como tu nombre e información de contacto. Esto significa que otras aplicaciones pueden identificarte y enviar tu información de perfil a otras personas."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"Lectura de tu muro social"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Permite que la aplicación acceda a tus actualizaciones sociales y a las de tus amigos y las sincronice. Las aplicaciones maliciosas pueden usar este permiso para acceder a las comunicaciones privadas que mantienes con tus amigos en las redes sociales."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"Escritura en tu muro social"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Permite que la aplicación muestre las actualizaciones sociales de tus amigos. Las aplicaciones maliciosas pueden usar este permiso para hacerse pasar por un amigo y engañarte para que reveles contraseñas u otros datos confidenciales."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"Leer eventos de calendario e información confidencial"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Permite que una aplicación lea todos los eventos de calendario almacenados en la tableta, incluidos los de tus amigos o compañeros de trabajo. Una aplicación maliciosa con este permiso puede extraer información personal de estos calendarios sin que los propietarios lo sepan."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Permite que una aplicación lea todos los eventos del calendario almacenados en tu teléfono, incluidos los de tus amigos o compañeros de trabajo. Una aplicación maliciosa con este permiso puede extraer información personal de estos calendarios sin que los propietarios lo sepan."</string>
diff --git a/core/res/res/values-es/strings.xml b/core/res/res/values-es/strings.xml
index c37c9aa..598d936 100644
--- a/core/res/res/values-es/strings.xml
+++ b/core/res/res/values-es/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g> <xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;sin título&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"..."</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Sin número de teléfono)"</string>
     <string name="unknownName" msgid="2277556546742746522">"Desconocido"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Buzón de voz"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Permite que la aplicación acceda a información del perfil personal almacenada en el dispositivo (como tu nombre o la información de contacto), lo que significa que la aplicación puede identificarte y enviar la información de tu perfil a otros usuarios."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"escribir en datos de tu perfil"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Permite que la aplicación modifique la información del perfil personal almacenada en el dispositivo (como tu nombre o la información de contacto) o que añada contenido a esta información, lo que significa que otras aplicaciones pueden identificarte y enviar la información de tu perfil a otros usuarios."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"consulta tu actividad social"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Permite que la aplicación acceda a las actualizaciones sociales de tus amigos y las sincronice. Las aplicaciones malintencionadas pueden usar este permiso para leer conversaciones privadas con tus amigos en las redes sociales."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"escribir en tu actividad social"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Permite que la aplicación muestre actualizaciones sociales de tus amigos. Las aplicaciones malintencionadas pueden usar este permiso para suplantar la identidad de un amigo y hacer que reveles tus contraseñas u otra información confidencial."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"leer eventos de calendario e información confidencial"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Permite que una aplicación lea todos los eventos de calendario almacenados en el tablet, incluidos los de tus amigos o tus compañeros de trabajo. Las aplicaciones malintencionadas con este permiso pueden extraer información personal de estos calendarios sin el consentimiento de los propietarios."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Permite que una aplicación lea todos los eventos de calendario almacenados en el teléfono, incluidos los de tus amigos o tus compañeros de trabajo. Las aplicaciones malintencionadas con este permiso pueden extraer información personal de estos calendarios sin el consentimiento de los propietarios."</string>
@@ -893,7 +890,7 @@
     <string name="anr_application_process" msgid="7208175830253210526">"La aplicación <xliff:g id="APPLICATION">%1$s</xliff:g> no responde. ¿Quieres cerrarla?"</string>
     <string name="anr_process" msgid="306819947562555821">"El proceso <xliff:g id="PROCESS">%1$s</xliff:g> no responde."\n\n"¿Quieres cerrarlo?"</string>
     <string name="force_close" msgid="8346072094521265605">"ACEPTAR"</string>
-    <string name="report" msgid="4060218260984795706">"Informar"</string>
+    <string name="report" msgid="4060218260984795706">"Informe"</string>
     <string name="wait" msgid="7147118217226317732">"Esperar"</string>
     <string name="launch_warning_title" msgid="8323761616052121936">"Aplicación redireccionada"</string>
     <string name="launch_warning_replace" msgid="6202498949970281412">"<xliff:g id="APP_NAME">%1$s</xliff:g> se está ejecutando."</string>
@@ -992,7 +989,7 @@
     <string name="dlg_confirm_kill_storage_users_text" msgid="3202838234780505886">"Si activas el almacenamiento USB, se detendrán algunas aplicaciones que estás utilizando y estas no estarán disponibles hasta que lo desactives."</string>
     <string name="dlg_error_title" msgid="7323658469626514207">"Error de funcionamiento de USB"</string>
     <string name="dlg_ok" msgid="7376953167039865701">"Aceptar"</string>
-    <string name="usb_mtp_notification_title" msgid="3699913097391550394">"Conectado como un dispositivo multimedia"</string>
+    <string name="usb_mtp_notification_title" msgid="3699913097391550394">"Conectado como un dispositivo de medios"</string>
     <string name="usb_ptp_notification_title" msgid="1960817192216064833">"Conectado como una cámara"</string>
     <string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Conectado como instalador"</string>
     <string name="usb_accessory_notification_title" msgid="7848236974087653666">"Conectado a un accesorio USB"</string>
diff --git a/core/res/res/values-fa/strings.xml b/core/res/res/values-fa/strings.xml
index b4d6851..cbf0eed 100644
--- a/core/res/res/values-fa/strings.xml
+++ b/core/res/res/values-fa/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;بدون عنوان&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">".."</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(بدون شماره تلفن)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(ناشناس)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"پست صوتی"</string>
@@ -329,14 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"به برنامه کاربردی اجازه می‌دهد اطلاعات مربوط به نمایه شخصی ذخیره شده بر روی دستگاه شما مانند نام و اطلاعات تماس شما را بخواند. این بدان معناست که برنامه می‌تواند شما را شناسایی کند و اطلاعات نمایه‌ شما را به دیگران ارسال نماید."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"نوشتن در داده‌های نمایه شما"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"به برنامه کاربردی اجازه می‌دهد به تغییر و یا اضافه کردن اطلاعات نمایه شخصی ذخیره شده بر روی دستگاه شما مانند نام و اطلاعات تماس شما، بپردازد. این بدان معناست که برنامه‌های دیگر می‌توانند شما را شناسایی کنند و اطلاعات نمایه شما را به دیگران ارسال نمایند."</string>
-    <!-- no translation found for permlab_readSocialStream (1268920956152419170) -->
-    <skip />
-    <!-- no translation found for permdesc_readSocialStream (6619997662735851111) -->
-    <skip />
-    <!-- no translation found for permlab_writeSocialStream (3504179222493235645) -->
-    <skip />
-    <!-- no translation found for permdesc_writeSocialStream (2689083745826002521) -->
-    <skip />
     <string name="permlab_readCalendar" msgid="5972727560257612398">"خواندن رویدادهای تقویم به همراه اطلاعات محرمانه"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"به برنامه اجازه خواندن تمام رویدادهای تقویم موجود در رایانه لوحی شما را می‌دهد که این شامل تقویم دوستان و همکاران نیز می‌شود. یک برنامه مخرب با این اجازه می‌تواند بدون اطلاع مالک، اطلاعات شخصی را از این تقویم‌ها استخراج کند."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"به یک برنامه کاربردی اجازه خواندن تمام رویدادهای تقویم موجود در گوشی شما را می‌دهد که این شامل تقویم دوستان و همکاران نیز می‌شود. یک برنامه مخرب با این اجازه می‌تواند بدون اطلاع مالک، اطلاعات شخصی را از این تقویم‌ها استخراج کند."</string>
diff --git a/core/res/res/values-fi/strings.xml b/core/res/res/values-fi/strings.xml
index b39c5fd..0a67111 100644
--- a/core/res/res/values-fi/strings.xml
+++ b/core/res/res/values-fi/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;nimetön&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">".."</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Ei puhelinnumeroa)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Tuntematon)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Vastaaja"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Sallii sovelluksen lukea yksityisiä profiilitietoja, kuten nimen ja yhteystiedot. Haittaohjelmat voivat käyttää tätä käyttäjien tunnistamiseen ja profiilitietojen levittämiseen muille."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"kirjoittaa profiilin tietoihin"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Sallii sovelluksen muuttaa tai lisätä laitteellesi tallennettuja yksityisiä profiilitietoja. Haittaohjelmat voivat käyttää tätä tunnistamiseesi ja profiilitietojesi lähettämiseen muille."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"lue sosiaalista streamia"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Antaa sovelluksen käyttää ja synkronoida sinun ja kavereidesi päivityksiä sosiaalisista palveluista. Haitalliset sovellukset voivat käyttää tätä sosiaalisissa verkostoissa kavereidesi kanssa käytyjen yksityisten keskustelujen lukemiseen."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"kirjoita sosiaaliseen streamiin"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Antaa sovelluksen näyttää kavereidesi päivityksiä sosiaalisista palveluista. Haitalliset sovellukset voivat tämän asetuksen avulla tekeytyä kaveriksesi ja huijata sinua paljastamaan salasanoja tai muita luottamuksellisia tietoja."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"lue kalenteritapahtumia ja luottamuksellisia tietoja"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Antaa sovelluksen lukea kaikkia tablet-laitteelle tallennettuja kalenteritapahtumia (myös kavereiden ja työkavereiden lisäämiä). Haitalliset sovellukset voivat noutaa henkilötietoja kalentereista ilman omistajien lupaa."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Antaa sovelluksen lukea kaikkia puhelimeen tallennettuja kalenteritapahtumia (myös kavereiden ja työkavereiden lisäämiä). Haitalliset sovellukset voivat noutaa henkilötietoja kalentereista ilman omistajien lupaa."</string>
diff --git a/core/res/res/values-fr/strings.xml b/core/res/res/values-fr/strings.xml
index 0499004..03ac607 100644
--- a/core/res/res/values-fr/strings.xml
+++ b/core/res/res/values-fr/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g> <xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;sans titre&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"‥"</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Aucun numéro de téléphone)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Inconnu)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Messagerie vocale"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Permet à l\'application de lire les informations de profil personnelles stockées sur votre appareil, telles que votre nom et vos coordonnées. Cela signifie que l\'application peut vous identifier et envoyer vos informations de profil à d\'autres."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"modifier vos données de profil"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Permet à l\'application de modifier ou d\'ajouter des informations personnelles stockées sur le profil de votre appareil, telles que votre nom et vos coordonnées. Cela signifie que d\'autres applications peuvent vous identifier et envoyer vos informations de profil à d\'autres."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"lire vos flux sociaux"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Permet à l\'application d\'accéder aux mises à jour de vos amis sur les réseaux sociaux et de les synchroniser. Les applications malveillantes peuvent utiliser cette fonctionnalité pour accéder à des communications privées entre vous et vos amis sur ces réseaux."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"modifier vos flux sociaux"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Permet à l\'application d\'afficher les mises à jour de vos amis sur les réseaux sociaux. Les applications malveillantes peuvent utiliser cette fonctionnalité pour se faire passer pour un ami et vous inciter à révéler des mots de passe ou autres informations confidentielles."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"consulter les événements d\'agenda ainsi que les informations confidentielles"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Permet à une application de lire tous les événements d\'agendas stockés sur votre tablette, y compris ceux de vos amis ou de vos collègues. Une application malveillante disposant de cette autorisation peut extraire des informations personnelles de ces agendas à l\'insu de leur propriétaire."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Permet à une application de consulter tous les événements d\'agendas stockés sur votre téléphone, y compris ceux de vos amis ou de vos collègues. Une application malveillante disposant de cette autorisation peut extraire des informations personnelles de ces agendas à l\'insu de leur propriétaire."</string>
diff --git a/core/res/res/values-hr/strings.xml b/core/res/res/values-hr/strings.xml
index 87010a7..37a8fd1 100644
--- a/core/res/res/values-hr/strings.xml
+++ b/core/res/res/values-hr/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;bez naslova&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"‥"</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Nema telefonskog broja)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Nepoznato)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Govorna pošta"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Aplikaciji omogućuje čitanje osobnih informacija profila koje su pohranjene na vašem uređaju, poput vašeg imena i kontaktnih podataka. To znači da vas aplikacija može identificirati i slati informacije vašeg profila drugima."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"pisanje u podatke profila"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Aplikaciji omogućuje promjenu ili dodavanje informacija u osobne informacije profila koje su spremljene na vašem uređaju, poput vašeg imena i kontaktnih podataka. To znači da vas druge aplikacije mogu identificirati i slati informacije vašeg profila drugima."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"čitanje društvenog streama"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Aplikaciji omogućuje pristup i sinkronizaciju društvenih ažuriranja vaših prijatelja. Zlonamjerne aplikacije to mogu upotrijebiti za pristup privatnim porukama između vas i vaših prijatelja na društvenim mrežama."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"pisanje društvenog streama"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Aplikaciji omogućuje prikazivanje društvenih ažuriranja vaših prijatelja. Zlonamjerne aplikacije to mogu upotrijebiti kako bi se predstavile kao prijatelj i zavarale vas da otkrijete zaporke ili druge povjerljive informacije."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"čitajte kalendarske događaje i povjerljive informacije"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Aplikaciji omogućuje čitanje svih kalendarskih događaja pohranjenih na tabletnom računalu, uključujući događaje prijatelja ili suradnika. Zlonamjerna aplikacija s tim dopuštenjem može izdvajati osobne podatke iz tih kalendara bez znanja vlasnika."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Aplikaciji omogućuje čitanje svih kalendarskih događaja na vašem telefonu, uključujući događaje prijatelja ili suradnika. Zlonamjerne aplikacije s tim dopuštenjem mogu izdvajati osobne podatke iz tih kalendara bez znanja vlasnika."</string>
diff --git a/core/res/res/values-hu/strings.xml b/core/res/res/values-hu/strings.xml
index b969b77..913ea39 100644
--- a/core/res/res/values-hu/strings.xml
+++ b/core/res/res/values-hu/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;névtelen&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"‥"</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Nincs telefonszám)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Ismeretlen)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Hangposta"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Engedélyezi, hogy az alkalmazás a készüléken tárolt személyes profiladatokat olvassa, például az Ön nevét és elérhetőségét. Ez azt jelenti, az alkalmazás képes az Ön azonosítására, és elküldheti a profiladatokat másoknak."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"írás a profiladatokba"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Engedélyezi, hogy az alkalmazás megváltoztassa vagy hozzáadja a készüléken tárolt személyes profiladatokat, például az Ön nevét és elérhetőségét. Ez azt jelenti, hogy más alkalmazások is azonosíthatják Önt, és elküldhetik a profiladatokat másoknak."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"közösségi adatfolyam olvasása"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Lehetővé teszi az alkalmazásnak, hogy hozzáférjen közösségi frissítéseihez, és szinkronizálja azokat. Rosszindulatú alkalmazások használhatják ezt, hogy hozzáférjenek barátaival történő magánbeszélgetéseihez a közösségi hálózatokon."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"írás a közösség adatfolyamra"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Lehetővé teszi az alkalmazásnak, hogy megjelenítse barátai közösségi frissítéseit. Rosszindulatú alkalmazások használhatják ezt ismerősnek tettetve magukat, hogy jelszavakat és más bizalmas információt csaljanak ki Öntől."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"naptári események és bizalmas információk beolvasása"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Lehetővé teszi egy alkalmazás számára a táblagépén található összes naptári esemény beolvasását, beleértve az ismerőseihez vagy munkatársaihoz tartozó eseményeket is. Ha egy rosszindulatú alkalmazás megkapja ezt az engedélyt, akkor vissza tudja fejteni a személyes adatokat ezekből a naptárakból, a tulajdonos tudomása nélkül."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Lehetővé teszi egy alkalmazás részére, hogy beolvassa a telefonján tárolt összes naptáreseményt, beleértve az ismerősök és kollégák eseményeit is. Ha egy rosszindulatú alkalmazás megkapja ezt az engedélyt, akkor vissza tudja fejteni a személyes adatokat ezekből a naptárakból, a tulajdonos tudomása nélkül."</string>
diff --git a/core/res/res/values-in/strings.xml b/core/res/res/values-in/strings.xml
index 129b92c..b48cba4 100644
--- a/core/res/res/values-in/strings.xml
+++ b/core/res/res/values-in/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;tanpa judul&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"‥"</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Tidak ada nomor telepon)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Tidak diketahui)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Kotak Pesan"</string>
@@ -219,7 +220,7 @@
     <string name="permdesc_enableCarMode" msgid="5673461159384850628">"Mengizinkan aplikasi mengaktifkan mode mobil."</string>
     <string name="permlab_killBackgroundProcesses" msgid="8373714752793061963">"hentikan proses latar belakang"</string>
     <string name="permdesc_killBackgroundProcesses" msgid="2908829602869383753">"Mengizinkan aplikasi menghentikan proses latar belakang dari aplikasi lainnya, meskipun memori rendah."</string>
-    <string name="permlab_forceStopPackages" msgid="1447830113260156236">"paksa aplikasi lain berhenti"</string>
+    <string name="permlab_forceStopPackages" msgid="1447830113260156236">"paksa berhenti aplikasi yang lain"</string>
     <string name="permdesc_forceStopPackages" msgid="7263036616161367402">"Mengizinkan aplikasi menghentikan aplikasi lain secara paksa."</string>
     <string name="permlab_forceBack" msgid="1804196839880393631">"tutup paksa aplikasi"</string>
     <string name="permdesc_forceBack" msgid="6534109744159919013">"Mengizinkan aplikasi menutup dan mengembalikan aktivitas apa pun yang berada di latar depan secara paksa. Tidak pernah diperlukan untuk aplikasi normal."</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Memungkinkan aplikasi membaca informasi profil pribadi yang tersimpan pada perangkat Anda, seperti nama dan informasi kontak. Artinya aplikasi dapat mengidentifikasi Anda dan mengirimkan informasi profil Anda kepada orang lain."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"menulis ke data profil Anda"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Memungkinkan aplikasi mengubah atau menambah informasi profil pribadi yang tersimpan pada perangkat Anda, seperti nama dan informasi kontak. Artinya aplikasi lain dapat mengidentifikasi Anda dan mengirimkan informasi profil Anda kepada orang lain."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"membaca aliran sosial Anda"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Mengizinkan aplikasi untuk mengakses dan menyinkronkan pembaruan sosial dari Anda dan teman. Aplikasi berbahaya dapat menggunakan ini untuk membaca komunikasi pribadi antara Anda dan teman di jaringan sosial."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"menulis ke aliran sosial Anda"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Mengizinkan aplikasi untuk menampilkan pembaruan sosial dari teman Anda. Aplikasi berbahaya dapat menggunakan ini untuk berpura-pura menjadi seorang teman dan menipu Anda untuk mengungkapkan sandi atau informasi rahasia lainnya."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"baca acara kalender serta informasi rahasia"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Memungkinkan aplikasi membaca semua acara kalender yang disimpan pada tablet Anda, termasuk acara teman atau rekan kerja. Aplikasi berbahaya dengan izin ini dapat mengambil informasi pribadi dari kalender ini tanpa sepengetahuan pemilik."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Memungkinkan aplikasi membaca semua acara kalender yang disimpan di ponsel Anda, termasuk acara teman atau rekan kerja. Aplikasi berbahaya dengan izin ini dapat mengambil informasi pribadi dari kalender ini tanpa sepengetahuan pemilik."</string>
@@ -992,9 +989,9 @@
     <string name="dlg_confirm_kill_storage_users_text" msgid="3202838234780505886">"Jika Anda menghidupkan penyimpanan USB, sebagian aplikasi yang Anda gunakan akan berhenti dan mungkin tidak tersedia sampai Anda mematikan penyimpanan USB."</string>
     <string name="dlg_error_title" msgid="7323658469626514207">"Operasi USB gagal"</string>
     <string name="dlg_ok" msgid="7376953167039865701">"OK"</string>
-    <string name="usb_mtp_notification_title" msgid="3699913097391550394">"Tersambung sebagai perangkat media"</string>
-    <string name="usb_ptp_notification_title" msgid="1960817192216064833">"Tersambung sebagai kamera"</string>
-    <string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Tersambung sebagai pemasang"</string>
+    <string name="usb_mtp_notification_title" msgid="3699913097391550394">"Terhubung sebagai perangkat media"</string>
+    <string name="usb_ptp_notification_title" msgid="1960817192216064833">"Terhubung sebagai kamera"</string>
+    <string name="usb_cd_installer_notification_title" msgid="6774712827892090754">"Terhubung sebagai pemasang"</string>
     <string name="usb_accessory_notification_title" msgid="7848236974087653666">"Tersambung ke aksesori USB"</string>
     <string name="usb_notification_message" msgid="4447869605109736382">"Sentuh untuk opsi USB lainnya"</string>
     <string name="extmedia_format_title" product="nosdcard" msgid="7980995592595097841">"Format penyimpanan USB"</string>
diff --git a/core/res/res/values-it/strings.xml b/core/res/res/values-it/strings.xml
index 8bfb0f5..91ad6c1 100644
--- a/core/res/res/values-it/strings.xml
+++ b/core/res/res/values-it/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;senza nome&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"‥"</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Nessun numero di telefono)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Sconosciuto)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Segreteria"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Consente all\'applicazione di leggere le informazioni del profilo personale memorizzato sul dispositivo, come il tuo nome e le tue informazioni di contatto. Ciò significa che l\'applicazione è in grado di identificarti e di inviare le tue informazioni di profilo ad altri."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"scrittura dati del profilo"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Consente all\'applicazione di modificare o aggiungere informazioni al profilo personale memorizzato sul dispositivo, come il tuo nome e le tue informazioni di contatto. Ciò significa che altre applicazioni sono in grado di identificarti e di inviare le tue informazioni di profilo ad altri."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"lettura del tuo stream sociale"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Consente all\'applicazione di accedere agli aggiornamenti tuoi e dei tuoi amici dai social network e di sincronizzarli. Le applicazioni dannose possono farne uso per accedere alle comunicazioni private tra te e i tuoi amici sui social network."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"scrittura nel tuo stream sociale"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Consente all\'applicazione di visualizzare aggiornamenti dai tuoi amici che utilizzano social network. Le applicazioni dannose possono farne uso per impersonare un amico e indurti a rivelare password o altre informazioni riservate."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"lettura di eventi di calendario e di informazioni riservate"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Consente a un\'applicazione di leggere tutti gli eventi di calendario memorizzati sul tablet, compresi quelli di amici o colleghi. Un\'applicazione dannosa con questa autorizzazione può estrarre informazioni personali dai calendari a insaputa dei proprietari."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Consente a un\'applicazione di leggere tutti gli eventi di calendario memorizzati sul telefono, compresi quelli di amici o colleghi. Un\'applicazione dannosa con questa autorizzazione può estrarre informazioni personali dai calendari a insaputa dei proprietari."</string>
@@ -1178,7 +1175,7 @@
     <string name="data_usage_limit_snoozed_body" msgid="2932736326652880660">"<xliff:g id="SIZE">%s</xliff:g> oltre il limite indicato"</string>
     <string name="data_usage_restricted_title" msgid="5965157361036321914">"Dati in background limitati"</string>
     <string name="data_usage_restricted_body" msgid="5087354814839059798">"Tocca per rimuovere restrizione"</string>
-    <string name="ssl_certificate" msgid="6510040486049237639">"Certificato di sicurezza"</string>
+    <string name="ssl_certificate" msgid="6510040486049237639">"Certificato di protezione"</string>
     <string name="ssl_certificate_is_valid" msgid="6825263250774569373">"Questo certificato è valido."</string>
     <string name="issued_to" msgid="454239480274921032">"Rilasciato a:"</string>
     <string name="common_name" msgid="2233209299434172646">"Nome comune:"</string>
diff --git a/core/res/res/values-iw/strings.xml b/core/res/res/values-iw/strings.xml
index 431ca62..9216007 100644
--- a/core/res/res/values-iw/strings.xml
+++ b/core/res/res/values-iw/strings.xml
@@ -29,6 +29,8 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;ללא כותרת&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"???"</string>
+    <!-- no translation found for ellipsis_two_dots (1228078994866030736) -->
+    <skip />
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(אין מספר טלפון)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(לא ידוע)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"דואר קולי"</string>
@@ -329,15 +331,11 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"מאפשר ליישום לקרוא נתוני פרופיל אישי המאוחסנים במכשיר שלך, כגון שמך ופרטי הקשר שלך. משמעות הדבר היא שהיישום יכול לזהות אותך ולשלוח את נתוני הפרופיל שלך לאחרים."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"כתוב בנתוני הפרופיל שלך"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"מאפשר ליישום לשנות או להוסיף לנתוני הפרופיל האישי המאוחסנים במכשיר, כגון שמך ופרטי הקשר שלך. משמעות הדבר היא שיישומים אחרים יכולים לזהות אותך ולשלוח את נתוני הפרופיל שלך לאחרים."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"קריאת הזרם החברתי שלך"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"מאפשר ליישום לגשת לעדכונים חברתיים מהחברים שלך ולסנכרן אותם. יישומים זדוניים יוכלו להשתמש בכך כדי לגשת למסרים שהועברו באופן פרטי בינך לבין חבריך ברשתות חברתיות."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"כתיבה בזרם החברתי שלך"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"מאפשר ליישום להציג עדכונים חברתיים מהחברים שלך. יישומים זדוניים יוכלו להשתמש בכך כדי להתחזות לאחד מחבריך ולדלות ממך בדרכי מרמה סיסמאות או מידע סודי אחר."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"קריאת אירועי לוח שנה וגם מידע סודי"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"מאפשר ליישום לקרוא את כל אירועי לוח השנה שמאוחסנים בטבלט שלך, כולל אירועים של חברים או עמיתים לעבודה. יישום זדוני בעל הרשאה זו יוכל לחלץ מידע אישי מלוחות שנה אלה ללא ידיעת הבעלים."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"מאפשר ליישום לקרוא את כל אירועי לוח השנה המאוחסנים בטלפון שלך, כולל אירועים של חברים או עמיתים לעבודה. יישום זדוני בעל הרשאה זו יוכל לחלץ מידע אישי מלוחות השנה האלה ללא ידיעת הבעלים."</string>
     <string name="permlab_writeCalendar" msgid="8438874755193825647">"הוספה ושינוי של אירועי לוח שנה ושליחת דוא\"ל לאורחים ללא ידיעת הבעלים"</string>
-    <string name="permdesc_writeCalendar" msgid="5368129321997977226">"מאפשר ליישום לשלוח הזמנות לאירוע בתור הבעלים של לוח השנה ולהוסיף, להסיר ולשנות אירועים שניתן לשנות במכשיר, כולל אלה של חברים או עמיתים לעבודה. יישום זדוני בעל הרשאה זו יוכל לשלוח הודעות ספאם שייראו כאילו נשלחו מהבעלים של לוח השנה, לשנות אירועים ללא ידיעת הבעלים או להוסיף אירועים מזויפים."</string>
+    <string name="permdesc_writeCalendar" msgid="5368129321997977226">"מאפשר ליישום לשלוח הזמנות לאירוע בתור הבעלים של לוח השנה ולהוסיף, להסיר ולשנות אירועים שניתן לשנות במכשיר, כולל אלה של חברים או עמיתים לעבודה. יישום זדוני בעל הרשאה זו יוכל לשלוח הודעות דואר זבל שייראו כאילו נשלחו מהבעלים של לוח השנה, לשנות אירועים ללא ידיעת הבעלים או להוסיף אירועים מזויפים."</string>
     <string name="permlab_accessMockLocation" msgid="8688334974036823330">"צור מקורות מיקום מדומים לצורך בדיקה"</string>
     <string name="permdesc_accessMockLocation" msgid="7648286063459727252">"צור מקורות מיקום מדומים לצורך בדיקה. יישומים זדוניים עלולים להשתמש באפשרות זו כדי לעקוף את המיקום ו/או הסטטוס המוחזרים על ידי מקורות המיקום האמיתיים כגון GPS או ספקי רשת."</string>
     <string name="permlab_accessLocationExtraCommands" msgid="2836308076720553837">"גישה לפקודות ספק מיקום נוספות"</string>
diff --git a/core/res/res/values-ja/strings.xml b/core/res/res/values-ja/strings.xml
index d0f361b..e78b26e 100644
--- a/core/res/res/values-ja/strings.xml
+++ b/core/res/res/values-ja/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;新規&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"..."</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"‥"</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(電話番号なし)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(名前)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"ボイスメール"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"端末に保存されている名前や連絡先情報といった個人のプロフィール情報をアプリケーションが読み取ることを許可します。このアプリケーションは身元を特定したり、プロフィール情報を第三者に転送したりする可能性があります。"</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"プロフィールデータに書き込む"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"端末に保存されている名前や連絡先情報といった個人のプロフィール情報をアプリケーションが変更または追加することを許可します。このアプリケーションは身元を特定したり、プロフィール情報を第三者に転送したりする可能性があります。"</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"ソーシャルストリームを読む"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"あなたや友だちのソーシャルアップデートにアクセスして同期することをアプリに許可します。これにより、悪意のあるアプリがソーシャルネットワーク上で交わされるあなたと友だちの個人的なやり取りを読めるようになります。"</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"ソーシャルストリームに書く"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"友だちのソーシャルアップデートの表示をアプリに許可します。これにより、悪意のあるアプリが友だちになりすまし、パスワードなどのあなたの機密情報を入手できるようになります。"</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"カレンダーの予定と機密情報を読み取る"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"タブレットに保存したすべてのカレンダーの予定(友だちや同僚の予定も含む)を読み取ることをアプリケーションに許可します。悪意のあるアプリケーションにこの許可を与えると、所有者の知らないうちにカレンダーから個人情報が引き出される恐れがあります。"</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"端末に保存したすべてのカレンダーの予定(友だちや同僚の予定も含む)を読み取ることをアプリケーションに許可します。悪意のあるアプリケーションにこの許可を与えると、所有者の知らないうちにカレンダーから個人情報が引き出される恐れがあります。"</string>
diff --git a/core/res/res/values-ko/strings.xml b/core/res/res/values-ko/strings.xml
index cd4f69a..8ea2e3f 100644
--- a/core/res/res/values-ko/strings.xml
+++ b/core/res/res/values-ko/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g> <xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;제목없음&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"‥"</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(전화번호 없음)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(알 수 없음)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"음성메일"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"애플리케이션이 기기에 저장된 개인 프로필 정보(예: 사용자 이름, 연락처 정보 등)를 읽을 수 있도록 합니다. 이것은 애플리케이션이 사용자를 확인하고 다른 사용자들에게 해당 프로필 정보를 전송할 수 있다는 것을 의미합니다."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"프로필 데이터에 쓰기"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"애플리케이션이 기기에 저장된 개인 프로필 정보(예: 사용자 이름, 연락처 정보 등)를 변경하거나 추가할 수 있도록 합니다. 이것은 다른 애플리케이션이 사용자를 확인하고 다른 사용자들에게 해당 프로필 정보를 전송할 수 있다는 것을 의미합니다."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"소셜 스트림 읽기"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"애플리케이션이 나와 친구의 최신 소셜 소식에 액세스하고 동기화할 수 있도록 허용합니다. 이 경우 악성 앱이 소셜 네트워크에서 나와 친구가 주고받은 사적인 내용을 읽을 수 있습니다."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"소셜 스트림에 쓰기"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"애플리케이션이 친구의 최신 소셜 소식을 표시할 수 있도록 허용합니다. 이 경우 악성 앱이 친구로 가장하고 나를 속여 비밀번호나 기타 기밀 정보를 알아낼 수 있습니다."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"캘린더 일정 및 기밀정보 읽기"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"애플리케이션이 친구나 동료의 일정을 포함하여 태블릿에 저장된 모든 캘린더 일정을 읽을 수 있도록 합니다. 이 권한이 있는 악성 애플리케이션은 소유자 몰래 이러한 캘린더에서 개인정보를 추출할 수 있습니다."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"애플리케이션이 친구나 동료의 일정을 포함하여 휴대전화에 저장된 모든 캘린더 일정을 읽을 수 있도록 합니다. 이 권한이 있는 악성 애플리케이션은 소유자 몰래 이러한 캘린더에서 개인정보를 추출할 수 있습니다."</string>
diff --git a/core/res/res/values-lt/strings.xml b/core/res/res/values-lt/strings.xml
index 8b35426..8e92325 100644
--- a/core/res/res/values-lt/strings.xml
+++ b/core/res/res/values-lt/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;be pavadinimo&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"‥"</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Nėra telefono numerio)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Nežinomas)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Balso paštas"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Programai leidžiama skaityti įrenginyje saugomą asmeninio profilio informaciją, pvz., vardą ir kontaktinę informaciją. Vadinasi, programa galės jus identifikuoti ir siųsti profilio informaciją kitiems."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"rašyti kaip profilio duomenis"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Programai leidžiama keisti įrenginyje saugomą asmeninio profilio informaciją, pvz., vardą ir kontaktinę informaciją, arba jos pridėti. Vadinasi, kitos programos galės jus identifikuoti ir siųsti profilio informaciją kitiems."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"skaityti socialinį srautą"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Programai leidžiama pasiekti ir sinchronizuoti socialinius draugų naujinius. Tuo pasinaudojusios kenkėjiškos programos gali skaityti jūsų ir jūsų draugų bendravimą viešuosiuose tinkluose."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"rašyti į socialinį srautą"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Programai leidžiama rodyti socialinius draugų naujinius. Tuo pasinaudojusios kenkėjiškos programos gali apsimesti draugu ir apgaule gauti jūsų slaptažodžius ar kitą konfidencialią informaciją."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"nuskaito kalendoriaus įvykius ir konfidencialią informaciją"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Programai leidžiama nuskaityti visus jūsų planšetiniame kompiuteryje saugomus kalendoriaus įvykius – įskaitant ir jūsų draugų bei bendradarbių. Šį leidimą gavusi kenkėjiška programa gali paimti asmeninius duomenis iš šių kalendorių be savininko žinios."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Programai leidžiama nuskaityti visus jūsų telefone saugomus kalendoriaus įvykius – įskaitant ir jūsų draugų bei bendradarbių. Šį leidimą gavusi kenkėjiška programa gali paimti asmeninius duomenis iš šių kalendorių be savininko žinios."</string>
diff --git a/core/res/res/values-lv/strings.xml b/core/res/res/values-lv/strings.xml
index 041cdf3..cea1cc8 100644
--- a/core/res/res/values-lv/strings.xml
+++ b/core/res/res/values-lv/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;bez nosaukuma&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"‥"</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Nav tālruņa numura)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Nezināms)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Balss pasts"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Ļauj lietojumprogrammai lasīt ierīcē glabāto personiskā profila informāciju, piemēram, jūsu vārdu un kontaktinformāciju. Tas nozīmē, ka lietojumprogramma var jūs identificēt un sūtīt jūsu profila informāciju citām personām."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"rakstīšana jūsu profila datos"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Ļauj lietojumprogrammai mainīt vai pievienot ierīcē glabāto personiskā profila informāciju, piemēram, jūsu vārdu un kontaktinformāciju. Tas nozīmē, ka citas lietojumprogrammas var jūs identificēt un sūtīt jūsu profila informāciju citām personām."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"lasīt jūsu soc. tīklu straumi"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Ļauj lietojumprogrammai piekļūt jūsu un jūsu draugu sociālo tīklu atjauninājumiem un sinhronizēt tos. Ļaunprātīgas lietotnes var izmantot šo atļauju, lai piekļūtu jūsu un jūsu draugu savstarpējām privātām sarunām sociālajos tīklos."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"rakstīt sociālo tīklu straumē"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Ļauj lietojumprogrammai rādīt jūsu draugu sociālo tīklu atjauninājumus. Ļaunprātīgas lietotnes var izmantot šo atļauju, lai uzdotos par jūsu draugu un mudinātu jūs atklāt paroles vai citu konfidenciālu informāciju."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"lasīt kalendāra pasākumus un konfidenciālu informāciju"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Ļauj lietojumprogrammai lasīt visus planšetdatorā saglabātos kalendāra pasākumus, tostarp jūsu draugu un darbabiedru pasākumus. Ļaunprātīga lietojumprogramma, izmantojot šo atļauju, bez īpašnieka ziņas no šiem kalendāriem var iegūt personisku informāciju."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Ļauj lietojumprogrammai lasīt visus tālrunī saglabātos kalendāra pasākumus, tostarp jūsu draugu un darbabiedru pasākumus. Ļaunprātīga lietojumprogramma, izmantojot šo atļauju, bez īpašnieka ziņas no šiem kalendāriem var iegūt personisku informāciju."</string>
diff --git a/core/res/res/values-ms/strings.xml b/core/res/res/values-ms/strings.xml
index e0119b7..c51c491 100644
--- a/core/res/res/values-ms/strings.xml
+++ b/core/res/res/values-ms/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;tidak bertajuk&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"..."</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"‥"</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Tiada nombor telefon)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Tidak diketahui)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Mel suara"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Membenarkan aplikasi untuk membaca maklumat profil peribadi yang disimpan pada peranti anda, seperti nama dan maklumat kenalan anda. Ini bermakna aplikasi itu boleh mengenal pasti anda dan menghantar maklumat profil anda kepada orang lain."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"tulis ke data profil anda"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Membenarkan aplikasi untuk menukar atau menambah maklumat profil peribadi yang disimpan pada peranti anda, seperti nama dan maklumat kenalan anda. Ini bermakna aplikasi lain boleh mengenal pasti anda dan menghantar maklumat profil anda kepada orang lain."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"baca aliran sosial anda"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Membenarkan aplikasi mengakses dan menyegerakkan kemas kini sosial daripada rakan-rakan anda. Aplikasi berniat jahat boleh menggunakan ini untuk membaca komunikasi peribadi di antara anda dan rakan-rakan anda pada rangkaian sosial."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"tulis ke aliran sosial anda"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Membenarkan aplikasi memaparkan kemas kini sosial daripada rakan-rakan anda. Aplikasi berniat jahat boleh menggunakan ini untuk berpura-pura menjadi rakan dan memperdayakan anda untuk mendedahkan kata laluan atau maklumat sulit lain."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"baca acara kalendar serta maklumat sulit"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Membenarkan aplikasi membaca semua acara kalendar yang disimpan pada tablet anda, termasuk acara rakan atau rakan sekerja. Aplikasi berniat jahat dengan kebenaran ini boleh menyari maklumat peribadi dari kalendar ini tanpa pengetahuan pemiliknya."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Membenarkan aplikasi untuk membaca semua acara kalendar yang disimpan pada telefon anda, termasuk acara rakan atau rakan sekerja. Aplikasi berniat jahat dengan kebenaran ini boleh menyari maklumat peribadi dari kalendar ini tanpa pengetahuan pemiliknya."</string>
@@ -863,7 +860,7 @@
     <string name="copyUrl" msgid="2538211579596067402">"Salin URL"</string>
     <string name="selectTextMode" msgid="6738556348861347240">"Pilih teks..."</string>
     <string name="textSelectionCABTitle" msgid="5236850394370820357">"Pemilihan teks"</string>
-    <string name="addToDictionary" msgid="9090375111134433012">"tambahkan pada kamus"</string>
+    <string name="addToDictionary" msgid="9090375111134433012">"tambah ke kamus"</string>
     <string name="deleteText" msgid="7070985395199629156">"padam"</string>
     <string name="inputMethod" msgid="1653630062304567879">"Kaedah input"</string>
     <string name="editTextMenuTitle" msgid="4909135564941815494">"Tindakan teks"</string>
diff --git a/core/res/res/values-nb/strings.xml b/core/res/res/values-nb/strings.xml
index b136c25..36381f6 100644
--- a/core/res/res/values-nb/strings.xml
+++ b/core/res/res/values-nb/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;uten navn&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"‥"</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Mangler telefonnummer)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Ukjent)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Telefonsvarer"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Gir applikasjonen tillatelse til å lese personlig profilinformasjon lagret på enheten, for eksempel navn og kontaktinformasjon. Dette betyr at applikasjonen kan identifisere deg og sende din profilinformasjon til andre."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"skriv til profildataene dine"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Gir applikasjonen tillatelse til å endre eller legge til personlig profilinformasjon lagret på enheten, for eksempel navn og kontaktinformasjon. Dette betyr at andre applikasjoner kan identifisere deg og sende din profilinformasjon til andre."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"lesing av dine sosiale strømmer"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Gir tillatelse til at appen får tilgang til og kan synkronisere oppdateringer fra deg og vennene dine. Apper med skadelig programvare kan utnytte denne tillatelsen til å lese privat kommunikasjon som du har med vennene dine i sosiale nettverk."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"skriving i dine sosiale strømmer"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Gir tillatelse til at appen kan vise sosiale oppdateringer fra vennene dine. Apper med skadelig programvare kan utnytte denne tillatelsen gjennom å opptre som en venn og således lure deg til å oppgi passord eller annen konfidensiell informasjon."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"les kalenderhendelser og konfidensiell informasjon"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Lar en applikasjon lese alle kalenderhendelser lagret på nettbrettet, herunder de som tilhører venner eller kollegaer. En skadelig applikasjon med denne tillatelsen kan trekke ut personlige opplysninger fra disse kalenderne uten eiernes viten."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Lar applikasjoner lese alle kalenderhendelser lagret på telefonen, herunder de som tilhører venner eller kollegaer. Skadelige applikasjon med denne tillatelsen kan trekke ut personlige opplysninger fra disse kalenderne uten eiernes viten."</string>
diff --git a/core/res/res/values-nl/strings.xml b/core/res/res/values-nl/strings.xml
index 7c8fc9a..d023c04 100644
--- a/core/res/res/values-nl/strings.xml
+++ b/core/res/res/values-nl/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;zonder titel&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"‥"</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Geen telefoonnummer)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Onbekend)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Voicemail"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Hiermee kan de app persoonlijke profielgegevens lezen die op uw apparaat staan, zoals uw naam en contactgegevens. Dit houdt in dat de app u kan identificeren en uw profielgegevens kan doorsturen naar anderen."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"schrijven naar profielgegevens"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Hiermee kan de app persoonlijke profielgegevens die op uw apparaat staan, zoals uw naam en contactgegevens, wijzigen of toevoegen. Dit houdt in dat andere apps u kunnen identificeren en uw profielgegevens kunnen doorsturen naar anderen."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"uw sociale stream lezen"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Hiermee kan de app toegang krijgen tot sociale updates van u en uw vrienden en deze synchroniseren. Schadelijke apps kunnen hiermee toegang krijgen tot privécommunicatie tussen u en uw vrienden in sociale netwerken."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"schrijven naar sociale streams"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Hiermee kan de app sociale updates van uw vrienden weergeven. Schadelijke apps kunnen deze mogelijkheid gebruiken om zich voor te doen als vriend en u wachtwoorden of andere vertrouwelijke gegevens te laten vrijgeven."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"agenda-afspraken en vertrouwelijke informatie lezen"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Hiermee kan een app alle agenda-afspraken lezen die op uw tablet zijn opgeslagen, inclusief de afspraken van vrienden of collega\'s. Een schadelijke app die over deze rechten beschikt, kan persoonlijke gegevens extraheren uit deze agenda\'s zonder medeweten van de eigenaren van de agenda\'s."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Hiermee kan een app alle agenda-afspraken lezen die op uw telefoon zijn opgeslagen, inclusief de afspraken van vrienden of collega\'s. Een schadelijke app die over deze rechten beschikt, kan persoonlijke gegevens extraheren uit deze agenda\'s zonder medeweten van de eigenaren van de agenda\'s."</string>
diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml
index 6fff2a1..4b0423a 100644
--- a/core/res/res/values-pl/strings.xml
+++ b/core/res/res/values-pl/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g> <xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;bez nazwy&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"‥"</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Brak numeru telefonu)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Nieznany)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Poczta głosowa"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Umożliwia aplikacji odczytywanie osobistych informacji z profilu, przechowywanych w urządzeniu – np. imienia, nazwiska czy danych kontaktowych. Oznacza to, że aplikacja może Cię zidentyfikować i wysyłać do innych osób informacje o Twoim profilu."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"zapis danych w Twoim profilu"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Umożliwia aplikacji zmienianie lub dodawanie danych do osobistych informacji w profilu, przechowywanych w urządzeniu – np. imienia, nazwiska czy danych kontaktowych. Oznacza to, że inne aplikacje mogą Cię zidentyfikować i wysyłać do innych osób informacje o Twoim profilu."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"odczyt sieci społecznościowych"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Zezwala aplikacji na dostęp do aktualizacji społecznościowych od Ciebie i znajomych oraz na ich synchronizowanie. Złośliwe aplikacje mogą dzięki temu odczytywać prywatne informacje wymienianie przez Ciebie ze znajomymi w sieciach społecznościowych."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"zapis sieci społecznościowych"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Zezwala aplikacji na wyświetlanie aktualizacji społecznościowych od znajomych. Złośliwe aplikacje mogą dzięki temu udawać znajomych i wyłudzać hasła lub inne poufne informacje."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"odczyt wydarzeń w kalendarzu wraz z informacjami poufnymi"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Zezwala aplikacji na odczyt wszystkich wydarzeń w kalendarzu zapisanych w tablecie, w tym dotyczących znajomych lub współpracowników. Złośliwa aplikacja z tym uprawnieniem może bez wiedzy właściciela pobierać z kalendarza informacje osobiste."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Zezwala aplikacji na odczyt wszystkich wydarzeń w kalendarzu zapisanych w telefonie, w tym dotyczących znajomych lub współpracowników. Złośliwa aplikacja z tym uprawnieniem może bez wiedzy właściciela pobierać z kalendarza informacje osobiste."</string>
diff --git a/core/res/res/values-pt-rPT/strings.xml b/core/res/res/values-pt-rPT/strings.xml
index 12450e0..1ae0d72 100644
--- a/core/res/res/values-pt-rPT/strings.xml
+++ b/core/res/res/values-pt-rPT/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g> <xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;sem título&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"‥"</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Nenhum número de telefone)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Desconhecido)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Correio de voz"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Permite que a aplicação leia informações do perfil pessoal armazenadas no aparelho, como o seu nome e as informações de contacto. Isto significa que a aplicação pode identificá-lo e enviar informações do seu perfil a outras pessoas."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"escrever nos dados do seu perfil"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Permite que a aplicação altere ou adicione dados às informações do perfil pessoal armazenadas no aparelho, como o seu nome e as informações de contacto. Isto significa que outras aplicações o podem identificar e enviar informações do seu perfil a outras pessoas."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"ler o seu fluxo social"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Permite que a aplicação para aceda e sincronize atualizações sociais de si e dos seus amigos. Aplicações maliciosas podem usar isso para ler as comunicações privadas entre si e os seus amigos em redes sociais."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"escrever para o seu fluxo social"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Permite que a aplicação mostre atualizações sociais dos seus amigos. Aplicações maliciosas podem usar isso para fingirem ser um amigo e levá-lo a revelar senhas ou outras informações confidenciais."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"ler eventos do calendário, para além de informações confidenciais"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Permite que uma aplicação leia todos os eventos do calendário armazenados no tablet, incluindo os de amigos ou colegas de trabalho. Uma aplicação maliciosa com esta permissão pode extrair informações pessoais destes calendários sem o conhecimento dos proprietários."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Permite que uma aplicação leia todos os eventos do calendário armazenados no telemóvel, incluindo os de amigos ou colegas de trabalho. Uma aplicação maliciosa com esta permissão pode extrair informações pessoais destes calendários sem o conhecimento dos proprietários."</string>
diff --git a/core/res/res/values-pt/strings.xml b/core/res/res/values-pt/strings.xml
index 0358756..3e2e497 100644
--- a/core/res/res/values-pt/strings.xml
+++ b/core/res/res/values-pt/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;sem título&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">".."</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Nenhum número de telefone)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Desconhecido)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Correio de voz"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Permite que o aplicativo leia informações pessoais de seu perfil armazenadas em seu dispositivo, como seu nome e suas informações de contato. Isso significa que o aplicativo pode identificá-lo e enviar as informações de seu perfil para outras pessoas."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"escrever nos dados do perfil"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Permite que o aplicativo altere ou adicione informações de perfil pessoais armazenadas em seu dispositivo, como seu nome e suas informações de contato. Isso significa que outros aplicativos podem identificá-lo e enviar informações de seu perfil para outras pessoas."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"ler suas transmissões sociais"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Permite que o aplicativo acesse e sincronize suas atualizações sociais e as de seus amigos. Aplicativos maliciosos podem usar esse recurso para ler comunicações privadas entre você e seus amigos em redes sociais."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"escrever p/ suas transm. soc."</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Permite que o aplicativo mostre atualizações sociais de seus amigos. Aplicativos maliciosos podem usar esse recurso para fingir ser um amigo e fazer você revelar senhas ou outras informações confidenciais."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"ler compromissos e informações confidenciais"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Permite que um aplicativo leia todos os compromissos armazenados na agenda de seu tablet, incluindo os de amigos ou de colegas de trabalho. Um aplicativo malicioso com essa permissão pode extrair informações pessoais dessa agenda sem que seus donos saibam."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Permite que um aplicativo leia todos os compromissos armazenados na agenda de seu telefone, incluindo os de amigos ou de colegas de trabalho. Um aplicativo malicioso com essa permissão pode extrair informações pessoais dessa agenda sem que seus donos saibam."</string>
diff --git a/core/res/res/values-rm/strings.xml b/core/res/res/values-rm/strings.xml
index 36acf4b..31ea5b0 100644
--- a/core/res/res/values-rm/strings.xml
+++ b/core/res/res/values-rm/strings.xml
@@ -29,6 +29,8 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;senza titel&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <!-- no translation found for ellipsis_two_dots (1228078994866030736) -->
+    <skip />
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Nagin numer da telefon)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Nunenconuschent)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Mailbox"</string>
@@ -356,14 +358,6 @@
     <skip />
     <!-- no translation found for permdesc_writeProfile (6431297330378229453) -->
     <skip />
-    <!-- no translation found for permlab_readSocialStream (1268920956152419170) -->
-    <skip />
-    <!-- no translation found for permdesc_readSocialStream (6619997662735851111) -->
-    <skip />
-    <!-- no translation found for permlab_writeSocialStream (3504179222493235645) -->
-    <skip />
-    <!-- no translation found for permdesc_writeSocialStream (2689083745826002521) -->
-    <skip />
     <!-- outdated translation 6898987798303840534 -->     <string name="permlab_readCalendar" msgid="5972727560257612398">"leger eveniments da chalender"</string>
     <!-- outdated translation 5533029139652095734 -->     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Permetta ad ina applicaziun da leger tut ils eveniments da chalender memorisads sin Voss telefonin. Applicaziuns donnegiusas pon uschia trametter Voss eveniments da chalender ad autras persunas."</string>
     <!-- outdated translation 5533029139652095734 -->     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Permetta ad ina applicaziun da leger tut ils eveniments da chalender memorisads sin Voss telefonin. Applicaziuns donnegiusas pon uschia trametter Voss eveniments da chalender ad autras persunas."</string>
diff --git a/core/res/res/values-ro/strings.xml b/core/res/res/values-ro/strings.xml
index 45bd9ab..00ec512 100644
--- a/core/res/res/values-ro/strings.xml
+++ b/core/res/res/values-ro/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;fără titlu&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"‥"</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Niciun număr de telefon)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Necunoscut)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Mesaj vocal"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Permite aplicaţiei să citească informaţiile din profilul personal stocate pe dispozitivul dvs., cum ar fi numele şi informaţiile dvs. de contact. Aceasta înseamnă că aplicaţia vă poate identifica şi poate trimite informaţiile din profilul dvs. altor persoane."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"scriere date în profilul dvs."</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Permite aplicaţiei să schimbe sau să adauge conţinut în informaţiile din profilul personal stocate pe dispozitivul dvs., cum ar fi numele şi informaţiile dvs. de contact. Aceasta înseamnă că alte aplicaţii vă pot identifica şi pot trimite informaţiile din profilul dvs. altor persoane."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"citeşte fluxul social"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Permite aplicaţiei să acceseze şi să sincronizeze actualizările sociale de la dvs. şi de la prietenii dvs. Aplicaţiile rău-intenţionate se pot folosi de această funcţie pentru a citi comunicările private dintre dvs. şi prietenii dvs. de pe reţelele sociale."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"scrie în fluxul social"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Permite aplicaţiei să afişeze actualizări sociale de la prietenii dvs. Aplicaţiile rău-intenţionate se pot folosi de această funcţie pentru a simula un prieten, cu scopul de a vă păcăli să oferiţi parole sau alte informaţii confidenţiale."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"citirea evenimentelor din calendar şi a informaţiilor confidenţiale"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Permite unei aplicaţii să citească toate evenimentele din calendar stocate pe tableta dvs., inclusiv evenimentele prietenilor sau colegilor. O aplicaţie rău intenţionată care are această permisiune poate extrage informaţii cu caracter personal din aceste calendare fără ştirea proprietarului."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Permite unei aplicaţii să citească toate evenimentele din calendar stocate pe telefonul dvs., inclusiv evenimentele prietenilor sau colegilor. O aplicaţie rău intenţionată care are această permisiune poate extrage informaţii cu caracter personal din aceste calendare fără ştirea proprietarului."</string>
diff --git a/core/res/res/values-ru/strings.xml b/core/res/res/values-ru/strings.xml
index ad03f24..2c96759 100644
--- a/core/res/res/values-ru/strings.xml
+++ b/core/res/res/values-ru/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;без названия&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"..."</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Нет номера телефона)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Неизвестно)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Голосовая почта"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Позволяет приложению получать доступ к хранящейся на вашем устройстве личной информации профиля, например к имени и контактным данным. Это означает, что приложение может идентифицировать вас и отправить эти данные другим пользователям."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"запись в данные профиля"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Позволяет приложению изменять или добавлять в личный профиль хранящуюся на вашем устройстве информацию, например имя или контактные данные. Это означает, что приложение может идентифицировать вас и отправить эти данные другим пользователям."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"читать записи в вашей социальной ленте"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Позволяет приложению читать и синхронизировать новости от вас и ваших друзей. Вредоносные программы могут таким образом получить доступ к вашим личным записям в социальных сетях."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"добавлять записи в вашу социальную ленту"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Позволяет приложению отображать новости от друзей в социальных сетях. Вредоносные программы могут таким образом получить доступ к вашим паролям и другим конфиденциальным данным."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"просматривать в календаре мероприятия и конфиденциальную информацию"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Приложениe получит доступ ко всем данным календаря, сохраненным в вашем устройстве (в том числе к мероприятиям ваших друзей и коллег). Вредоносное ПО с таким уровнем доступа сможет извлекать личную информацию без ведома владельцев календарей."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Приложениe получит доступ ко всем данным календаря, сохраненным в вашем телефоне (в том числе к мероприятиям ваших друзей и коллег). Вредоносное ПО с таким уровнем доступа сможет извлекать личную информацию без ведома владельцев календарей."</string>
@@ -658,7 +655,7 @@
     <string name="lockscreen_charged" msgid="4938930459620989972">"Батарея заряжена"</string>
     <string name="lockscreen_battery_short" msgid="3617549178603354656">"<xliff:g id="NUMBER">%d</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string>
     <string name="lockscreen_low_battery" msgid="1482873981919249740">"Подключите зарядное устройство."</string>
-    <string name="lockscreen_missing_sim_message_short" msgid="7381499217732227295">"Нет SIM-карты"</string>
+    <string name="lockscreen_missing_sim_message_short" msgid="7381499217732227295">"Нет SIM-карты."</string>
     <string name="lockscreen_missing_sim_message" product="tablet" msgid="151659196095791474">"SIM-карта не установлена."</string>
     <string name="lockscreen_missing_sim_message" product="default" msgid="2186920585695169078">"SIM-карта не установлена."</string>
     <string name="lockscreen_missing_sim_instructions" msgid="8874620818937719067">"Вставьте SIM-карту."</string>
@@ -1069,7 +1066,7 @@
     <string name="reset" msgid="2448168080964209908">"Сбросить"</string>
     <string name="submit" msgid="1602335572089911941">"Отправить"</string>
     <string name="car_mode_disable_notification_title" msgid="3164768212003864316">"Включен режим \"Штурман\""</string>
-    <string name="car_mode_disable_notification_message" msgid="668663626721675614">"Чтобы выйти, нажмите здесь."</string>
+    <string name="car_mode_disable_notification_message" msgid="668663626721675614">"Чтобы закрыть приложение, нажмите здесь."</string>
     <string name="tethered_notification_title" msgid="3146694234398202601">"USB-модем или точка доступа Wi-Fi активны"</string>
     <string name="tethered_notification_message" msgid="3067108323903048927">"Нажмите для настройки"</string>
     <string name="back_button_label" msgid="2300470004503343439">"Назад"</string>
diff --git a/core/res/res/values-sk/strings.xml b/core/res/res/values-sk/strings.xml
index a68833c..05a0072 100644
--- a/core/res/res/values-sk/strings.xml
+++ b/core/res/res/values-sk/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g> <xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;bez názvu&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"‥"</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(žiadne telefónne číslo)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Neznáme)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Hlasová schránka"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Umožňuje aplikácii čítať osobné informácie profilu uložené v zariadení, ako sú vaše meno a kontaktné údaje. Aplikácia vás takto môže identifikovať a poslať informácie profilu ostatným používateľom."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"zapisovať do údajov profilu"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Umožňuje aplikácii zmeniť alebo pridať osobné informácie profilu uložené v zariadení, ako sú vaše meno a kontaktné údaje. Iné aplikácie vás takto môžu identifikovať a poslať vaše informácie profilu ostatným používateľom."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"prečítajte si svoj sociálny stream"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Umožňuje aplikácii pristupovať k sociálnym aktualizáciám vašich priateľov a synchronizovať ich. Škodlivé aplikácie to môžu využiť na pristupovanie k súkromnej komunikácii medzi vami a vašimi priateľmi na sociálnych sieťach."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"píšte do svojho sociálneho streamu"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Umožňuje aplikácii zobrazovať sociálne aktualizácie vašich priateľov. Škodlivé aplikácie to môžu využiť a predstierať, že sú vaším priateľom. Týmto spôsobom môžu od vás získať heslá a iné dôverné informácie."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"čítať udalosti v kalendári a dôverné informácie"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Umožňuje aplikácii načítať všetky udalosti v kalendári, ktoré sú uložené v tablete (vrátane udalostí priateľov alebo kolegov). Škodlivá aplikácia môže pomocou tohto oprávnenia získavať osobné údaje z týchto kalendárov bez vedomia vlastníka."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Umožňuje aplikácii načítať všetky udalosti v kalendári, ktoré sú uložené v telefóne (vrátane udalostí priateľov alebo kolegov). Škodlivá aplikácia môže pomocou tohto oprávnenia získavať osobné údaje z týchto kalendárov bez vedomia vlastníka."</string>
diff --git a/core/res/res/values-sl/strings.xml b/core/res/res/values-sl/strings.xml
index 39c22f8..7bdc3b5 100644
--- a/core/res/res/values-sl/strings.xml
+++ b/core/res/res/values-sl/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;brez naslova&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"‥"</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Ni telefonske številke)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Neznano)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Glasovna pošta"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Programu omogoča branje podatkov v osebnem profilu, shranjenih v napravi, na primer imen in podatkov za stik. To pomeni, da lahko program ugotovi, kdo ste, in pošlje podatke v profilu drugim."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"pisanje v podatke v profilu"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Programu omogoča spreminjanje in dodajanje podatkov med podatke v osebnem profilu, shranjene v napravi, na primer imena in podatke za stik. To pomeni, da lahko program ugotovi, kdo ste, in pošlje podatke v profilu drugim."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"preberite svoj družabni tok"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Dovoli programom dostop do družabnih posodobitev vas in vaših prijateljev. Zlonamerni programi lahko to uporabijo za branje zasebne komunikacije med vami in prijatelji v družabnih omrežjih."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"pišite v svoj družabni tok"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Dovoli programom prikaz družabnih posodobitev vaših prijateljev. Zlonamerni programi lahko to uporabijo, da se predstavijo kot prijatelji in vas zavedejo, da razkrijete gesla ali druge zaupne podatke."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"branje dogodkov v koledarju in zaupnih podatkov"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Programu dovoli, da bere dogodke v koledarju, shranjene v tabličnem računalniku, vključno z dogodki prijateljev in sodelavcev. Zlonamerni program lahko iz njih dobi osebne podatke brez vednosti lastnika."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Programu dovoli branje vseh dogodkov koledarja, shranjenih v telefonu, vključno z dogodki prijateljev in sodelavcev. Zlonamerni program lahko iz njih pridobi osebne podatke brez vednosti lastnika."</string>
diff --git a/core/res/res/values-sr/strings.xml b/core/res/res/values-sr/strings.xml
index 61df1f3..ef40d65 100644
--- a/core/res/res/values-sr/strings.xml
+++ b/core/res/res/values-sr/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;без наслова&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"‥"</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Нема броја телефона)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Непознато)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Гласовна пошта"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Дозвољава апликацији да чита личне информације о профилу сачуване на уређају, као што су име и информације за контакт. То значи да апликација може да вас идентификује и шаље информације о профилу другима."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"уписивање у податке профила"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Дозвољава апликацији да мења личне информације о профилу сачуване на уређају, као што су име и информације за контакт, или им доприноси. То значи да друге апликације могу да вас идентификују и шаљу информације о профилу другима."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"читање друштвеног стрима"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Дозвољава апликацији да приступа вашим друштвеним ажурирањима и друштвеним ажурирањима пријатеља и да их синхронизује. Злонамерне апликације могу помоћу тога да читају приватне преписке између вас и пријатеља на друштвеним мрежама."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"писање у друштвени стрим"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Дозвољава апликацији да приказује друштвена ажурирања пријатеља. Злонамерне апликације могу помоћу тога да се претварају да су пријатељи и да вас преваре како бисте им открили лозинке или друге поверљиве информације."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"читање календарских догађаја и поверљивих информација"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Дозвољава апликацији да чита све календарске догађаје сачуване на таблету, укључујући догађаје пријатеља или колега. Злонамерна апликација са овом дозволом може да издвоји личне информације из тих календара без знања власника."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Дозвољава апликацији да чита све календарске догађаје сачуване на телефону, укључујући догађаје пријатеља или колега. Злонамерна апликација са овом дозволом може да издвоји личне информације из тих календара без знања власника."</string>
diff --git a/core/res/res/values-sv/strings.xml b/core/res/res/values-sv/strings.xml
index 9d4ad5f..73b9be3 100644
--- a/core/res/res/values-sv/strings.xml
+++ b/core/res/res/values-sv/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;utan titel&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">".."</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Inget telefonnummer)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Okänd)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Röstbrevlåda"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Tillåter att appen läser personlig profilinformation som lagrats på enheten, t.ex. ditt namn och kontaktuppgifter. Det innebär att appen kan identifiera dig och skicka din profilinformation till andra."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"skriver till data för din profil"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Tillåter att appen ändrar eller lägger till personlig profilinformation som lagras på din enhet, t.ex. ditt namn och kontaktuppgifter. Det innebär att andra appar kan identifiera dig och skicka profilinformation till andra."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"läs mitt sociala flöde"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Gör det möjligt för appen få åtkomst till och synkronisera sociala uppdateringar från dig och dina vänner. Skadliga appar kan använda detta för att läsa privata konversationer mellan dig och dina vänner på sociala nätverk."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"skriv till mitt sociala flöde"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Gör det möjligt för appen att visa sociala uppdateringar från dina vänner. Skadliga program kan använda detta för att låtsas vara en vän och lura dig att avslöja lösenord eller annan konfidentiell information."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"läsa kalenderuppgifter plus konfidentiell information"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Tillåter att en app läser alla kalenderuppgifter som sparats på din pekdator, inklusive dina vänners eller kollegors uppgifter. Skadliga appar kan använda detta för att hämta personliga uppgifter från kalendrarna utan ägarens vetskap."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Tillåter att en app läser kalenderuppgifter som har lagrats på din telefon, även dina vänners eller kollegors uppgifter. Skadliga appar kan använda detta för att hämta personliga uppgifter från kalendrar utan ägarens vetskap."</string>
diff --git a/core/res/res/values-sw/strings.xml b/core/res/res/values-sw/strings.xml
index 23cd769..1566034 100644
--- a/core/res/res/values-sw/strings.xml
+++ b/core/res/res/values-sw/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"Kishika nafasi<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;untitled&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"‥"</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Hakuna nambari ya simu)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Haijulikani)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Barua ya sauti"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Inaruhusu programu kusoma maelezo mafupi ya binafsi yaliyohifadhiwa kwenye kifaa chako, kama vile jina lako na maelezo yako ya anwani. Hii ina maanisha programu inaweza kukutambua na kutuma habari maelezo yako mafupi kwa wengine."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"andika kwenye data ya maelezo yako mafupi"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Inaruhusu programu kubadilisha au kuongeza maelezo binafsi ya maelezo yako mafupi yaliyohifadhiwa kwenye kifaa chako, kama vile jina lako na maelezo ya anwani. Hii ina maanisha programu nyingine ziweze kukutambua na kutuma maelezo ya maelezo yako mafupi kwa wengine."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"soma mkondo wako wa kijamii"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Inaruhusu programu kufikia na kulandanisha usasisho kutoka kwako na marafiki wako. Prog hasidi zinaweza kutumia hizi kusoma mawasiliano ya kibinafsi kati yako na marafiki wako kwenye mitandao ya kijamii."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"andika kwa mkondo wako wa kijamii"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Inaruhusu programu kuonyesha usasisho ya kijamii kutoka kwa marafiki wako. Prog hasidi zinaweza kutumia hizi zikijifanya kuwa rafiki na kukuhadaa kuonyesha nenosiri au taarifa zingine za siri."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"soma matukio ya kalenda pamoja na maelezo ya siri"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Huruhusu programu kusoma matukio yote ya kalenda yaliyohifadhiwa kwenye kompyuta yako ndogo, pamoja na za marafiki au wafanyakazi wenza. Programu hasidi yenye kibali hiki kinaweza kuchukua maelezo ya kibinagsi kutoka kwa kalenda hizi bila ufahamu wa mmiliki."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Huruhusu programu kusoma matukio yote ya kalenda yaliyohifadhiwa kwenye simu yako, pamoja na za marafiki au marafiki wenza. Programu hasidi yenye kibali hiki inaweza kuchukua maelezo ya kibinafsi kutoka kwa kalenda hizi bila ufahamu wa mmiliki."</string>
diff --git a/core/res/res/values-sw600dp/config.xml b/core/res/res/values-sw600dp/config.xml
index 13bbac6..7fa7658 100644
--- a/core/res/res/values-sw600dp/config.xml
+++ b/core/res/res/values-sw600dp/config.xml
@@ -32,5 +32,8 @@
     <!-- see comment in values/config.xml -->
     <dimen name="config_prefDialogWidth">580dp</dimen>
     
+    <!-- If true, the screen can be rotated via the accelerometer in all 4
+         rotations as the default behavior. -->
+    <bool name="config_allowAllRotations">true</bool>
 </resources>
 
diff --git a/core/res/res/values-th/strings.xml b/core/res/res/values-th/strings.xml
index 3793556..bb9db21 100644
--- a/core/res/res/values-th/strings.xml
+++ b/core/res/res/values-th/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;ไม่มีชื่อ&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"‥"</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(ไม่มีหมายเลขโทรศัพท์)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(ไม่ทราบ)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"ข้อความเสียง"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"อนุญาตให้แอปพลิเคชันอ่านข้อมูลโปรไฟล์ส่วนบุคคลที่จัดเก็บในอุปกรณ์ของคุณ เช่น ชื่อและข้อมูลรายชื่อติดต่อของคุณ ซึ่งหมายความว่าแอปพลิเคชันจะสามารถระบุตัวคุณและส่งข้อมูลโปรไฟล์ของคุณไปให้ผู้อื่นได้"</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"เขียนลงในข้อมูลโปรไฟล์ของคุณ"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"อนุญาตให้แอปพลิเคชันเปลี่ยนแปลงหรือเพิ่มลงในข้อมูลโปรไฟล์ส่วนบุคคลที่จัดเก็บในอุปกรณ์ของคุณ เช่น ชื่อและข้อมูลรายชื่อติดต่อของคุณ ซึ่งหมายความว่าแอปพลิเคชันอื่นจะสามารถระบุตัวคุณและส่งข้อมูลโปรไฟล์ของคุณไปให้ผู้อื่นได้"</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"อ่านสตรีมเครือข่ายสังคม"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"อนุญาตให้แอปพลิเคชันเข้าถึงและซิงค์การอัปเดตในเครือข่ายสังคมจากคุณและเพื่อน แอปพลิเคชันที่เป็นอันตรายสามารถใช้การทำงานนี้เพื่ออ่านการติดต่อส่วนตัวระหว่างคุณกับเพื่อนในเครือข่ายสังคมได้"</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"เขียนในสตรีมเครือข่ายสังคม"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"อนุญาตให้แอปพลิเคชันแสดงการอัปเดตในเครือข่ายสังคมจากเพื่อนของคุณ แอปพลิเคชันที่เป็นอันตรายสามารถใช้การทำงานนี้เพื่อปลอมเป็นเพื่อนคุณและหลอกให้บอกรหัสผ่านหรือข้อมูลลับอื่นๆ"</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"อ่านกิจกรรมบนปฏิทินรวมถึงข้อมูลที่เป็นความลับ"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"อนุญาตให้แอปพลิเคชันอ่านกิจกรรมทั้งหมดบนปฏิทินที่จัดเก็บไว้ในแท็บเล็ตของคุณ รวมถึงกิจกรรมของเพื่อนและเพื่อนร่วมงานของคุณด้วย แอปพลิเคชันที่เป็นอันตรายซึ่งได้รับอนุญาตจะสามารถดึงข้อมูลส่วนบุคคลจากกิจกรรมบนปฏิทินเหล่านี้ได้โดยที่เจ้าของไม่ทราบ"</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"อนุญาตให้แอปพลิเคชันอ่านกิจกรรมทั้งหมดบนปฏิทินที่จัดเก็บไว้ในโทรศัพท์ของคุณ รวมถึงกิจกรรมของเพื่อนและเพื่อนร่วมงานของคุณด้วย แอปพลิเคชันที่เป็นอันตรายซึ่งได้รับอนุญาตจะสามารถดึงข้อมูลส่วนบุคคลจากกิจกรรมบนปฏิทินเหล่านี้ได้โดยที่เจ้าของไม่ทราบ"</string>
diff --git a/core/res/res/values-tl/strings.xml b/core/res/res/values-tl/strings.xml
index 8a7c608..8eca89b 100644
--- a/core/res/res/values-tl/strings.xml
+++ b/core/res/res/values-tl/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;walang pamagat&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"‥"</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Walang numero ng telepono)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Hindi kilala)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Voicemail"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Pinapayagan ang application na bumasa ng personal na impormasyon ng profile na nakaimbak sa iyong device, tulad ng iyong pangalan at impormasyon ng contact. Nangangahulugan ito na makikilala ka ng application at maipapadala ang iyong impormasyon ng profile sa iba."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"i-write sa iyong data ng profile"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Pinapayagan ang application na baguhin o magdagdag sa personal na impormasyon ng profile na nakaimbak sa iyong device, tulad ng iyong pangalan at impormasyon ng contact. Nangangahulugan ito na makikilala ka ng iba pang mga application at maipapadala ang iyong impormasyon ng profile sa iba."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"basahin ang iyong social stream"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Binibigyang-daan ang application upang mag-access at mag-sync  ng mga social update mula sa iyo at iyong mga kaibigan. Maaari itong gamitin ng mga nakakahamak na apps upang basahin ang mga pribadong pag-uusap sa pagitan mo at ng iyong mga kaibigan sa mga social network."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"magsulat sa iyong social stream"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Binibigyang-daan ang application upang magpakita ng mga social update mula sa iyong mga kaibigan. Maaari itong gamitin ng mga nakakahamak na apps upang magpanggap na kaibigan at linlangin ka sa pagsisiwalat ng mga password o ibang kumpedensyal na impormasyon."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"magbasa ng mga kaganapan sa kalendaryo kasama ang kumpedensyal na impormasyon"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Pinapayagan ang isang application na basahin ang lahat ng kaganapan sa kalendaryong naka-imbak sa iyong tablet, kasama ang mga nasa kaibigan o katrabaho. Ang isang nakapanghahamak na application na may ganitong pahintulot ay maaaring kumuha ng personal na impormasyon mula sa mga kalendaryong ito nang hindi nalalaman ng mga may-ari."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Pinapayagan ang isang application na basahin ang lahat ng kaganapan sa kalendaryong naka-imbak sa iyong telepono, kasama ang mga nasa kaibigan o katrabaho. Ang isang nakapanghahamak na application na may ganitong pahintulot ay maaaring kumuha ng personal na impormasyon mula sa mga kalendaryong ito nang hindi nalalaman ng mga may-ari."</string>
diff --git a/core/res/res/values-tr/strings.xml b/core/res/res/values-tr/strings.xml
index fb060e4..381c65b 100644
--- a/core/res/res/values-tr/strings.xml
+++ b/core/res/res/values-tr/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g> <xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;başlıksız&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"‥"</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Telefon numarası yok)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Bilinmiyor)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Sesli Mesaj"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Uygulamaya, adınız ve iletişim bilgileriniz gibi, cihazınızda saklı kişisel profil bilgilerinizi okuma izni verir. Bu, uygulamanın sizi tanımlayabilmesi ve profil bilgilerinizi başkalarına gönderebilmesi anlamına gelir."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"profil verilerime yaz"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Uygulamaya, adınız ve iletişim bilgileriniz gibi, cihazınızda saklı kişisel profil bilgilerinizi değiştirme veya ekleme izni verir. Bu, diğer uygulamaların sizi tanımlayabileceği ve profil bilgilerinizi başkalarına gönderebileceği anlamına gelir."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"sosyal akışımı oku"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Uygulamaya, sizden ve arkadaşlarınızdan gelen sosyal güncellemelere erişme ve bunları senkronize etme izni verir. Kötü amaçlı uygulamalar bu izni, sosyal ağlar üzerinde sizinle arkadaşlarınız arasındaki kişisel iletişimi okumak için kullanabilir."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"sosyal akışıma yaz"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Uygulamaya, arkadaşlarınızdan gelen sosyal güncellemeleri görüntüleme izni verir. Kötü amaçlı uygulamalar bu izni, kendisini sizin bir arkadaşınız gibi tanıtıp sizi kandırarak şifrelerinizi veya diğer gizli bilgilerinizi almak için kullanabilir."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"takvim etkinliklerini ve gizli bilgileri oku"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Uygulamaya, tabletinizde saklı takvim etkinliklerini (özel veya iş arkadaşlarınızınkiler dahil) okuma izni verir. Kötü amaçlı bir uygulama bu izni kullanarak, sahibin bilgisi olmadan bu takvimlerden kişisel bilgileri alabilir."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Uygulamaya, telefonunuzda saklı takvim etkinliklerini (özel veya iş arkadaşlarınızınkiler dahil) okuma izni verir. Kötü amaçlı bir uygulama bu izni kullanarak, sahibin bilgisi olmadan bu takvimlerden kişisel bilgileri alabilir."</string>
diff --git a/core/res/res/values-uk/strings.xml b/core/res/res/values-uk/strings.xml
index 6c704e7..8ae915c 100644
--- a/core/res/res/values-uk/strings.xml
+++ b/core/res/res/values-uk/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;без назви&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">".."</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Немає номера тел.)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Невідомо)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Голос. пошта"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Дозволяє програмі читати особисту інформацію профілю, збережену на вашому пристрої, як-от ваше ім’я та контактну інформацію. Це означає, що така програма може ідентифікувати вашу особу та надсилати інформацію вашого профілю іншим."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"записувати в дані профілю"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Дозволяє програмі змінювати чи додавати особисту інформацію профілю, збережену на вашому пристрої, як-от ваше ім’я та контактну інформацію. Це означає, що інші програми можуть ідентифікувати вашу особу та надсилати інформацію вашого профілю іншим."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"читати ваш соціальний потік"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Дозволяє програмі отримувати доступ до оновлень із соціальних мереж від вас і ваших друзів та синхронізувати їх. Шкідливі програми можуть використовувати це для доступу до приватного спілкування між вами та вашими друзями в соціальних мережах."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"запис. у ваш соціальний потік"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Дозволяє програмі відображати оновлення із соціальних мереж від ваших друзів. Шкідливі програми можуть використовувати це, щоб видавати себе за вашого друга й оманливим шляхом отримувати ваші паролі чи іншу конфіденційну інформацію."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"читати події календаря, а також конфіденційну інформацію"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Дозволяє програмі читати всі події календаря, збережені в планшетному ПК, включно з подіями друзів або співробітників. Шкідлива програма з таким дозволом може отримувати особисту інформацію з цих календарів без відома власників."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Дозволяє програмі читати всі події календаря, збережені в телефоні, включно з подіями друзів або співробітників. Шкідлива програма з таким дозволом може отримувати особисту інформацію з цих календарів без відома власників."</string>
diff --git a/core/res/res/values-vi/strings.xml b/core/res/res/values-vi/strings.xml
index a9ba4b5..d0c633e 100644
--- a/core/res/res/values-vi/strings.xml
+++ b/core/res/res/values-vi/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;không có tiêu đề&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"…"</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"‥"</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Không có số điện thoại nào)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Không xác định)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Thư thoại"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Cho phép ứng dụng đọc thông tin tiểu sử cá nhân được lưu trên thiết bị của bạn, ví dụ như tên và thông tin liên hệ của bạn. Điều này nghĩa là ứng dụng có thể nhận dạng bạn và gửi thông tin tiểu sử của bạn cho những người khác."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"ghi dữ liệu t.sử của bạn"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Cho phép ứng dụng thay đổi hoặc thêm vào thông tin tiểu sử cá nhân được lưu trữ trên thiết bị của bạn, ví dụ như tên và thông tin liên hệ của bạn. Điều này nghĩa là các ứng dụng khác có thể nhận dạng bạn và gửi thông tin tiểu sử của bạn cho những người khác."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"đọc luồng xã hội của bạn"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Cho phép ứng dụng truy cập và đồng bộ hóa các bản cập nhật xã hội từ bạn bè của bạn. Các ứng dụng độc hại có thể sử dụng điều này để đọc thông tin liên lạc riêng tư giữa bạn và bạn bè của bạn trên mạng xã hội."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"ghi luồng xã hội của bạn"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Cho phép ứng dụng hiển thị các bản cập nhật xã hội từ bạn bè của bạn. Các ứng dụng độc hại có thể sử dụng điều này để giả vờ là một người bạn và lừa đảo bạn tiết lộ mật khẩu hoặc thông tin bảo mật khác."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"đọc các sự kiện lịch và thông tin bí mật"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Cho phép ứng dụng đọc tất cả các sự kiện lịch được lưu trữ trên máy tính bảng của bạn, bao gồm các sự kiện của bạn bè hoặc đồng nghiệp. Ứng dụng độc hại có quyền này có thể trích xuất thông tin cá nhân từ những lịch này mà chủ sở hữu không hề biết."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Cho phép ứng dụng đọc tất cả các sự kiện lịch được lưu trữ trên điện thoại của bạn, bao gồm các sự kiện của bạn bè hoặc đồng nghiệp. Ứng dụng độc hại có quyền này có thể trích xuất thông tin cá nhân từ những lịch này mà chủ sở hữu không hề biết."</string>
diff --git a/core/res/res/values-zh-rCN/strings.xml b/core/res/res/values-zh-rCN/strings.xml
index 4cfc5c4..48e474a 100644
--- a/core/res/res/values-zh-rCN/strings.xml
+++ b/core/res/res/values-zh-rCN/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;无标题&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"..."</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"‥"</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(无电话号码)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(未知)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"语音信箱"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"允许应用程序读取您设备上存储的个人资料信息(如您的姓名和联系人信息)。这意味着应用程序可以识别您的身份并将您的个人资料发送给他人。"</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"写入到您的个人资料数据"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"允许应用程序更改您设备上存储的个人资料信息(如您的姓名和联系人信息),或者向其中添加信息。这意味着其他应用程序可以识别您的身份并将您的个人资料发送给他人。"</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"读取您的社交视频流"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"允许应用程序访问并同步您和好友的社交最新动态。恶意应用程序可借此读取您与社交网络上的好友之间的私人交流。"</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"写入您的社交视频流"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"允许应用程序显示好友的社交最新动态。恶意应用程序可借此冒充为您的一位好友,诱骗您泄露密码或其他机密信息。"</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"读取日历活动和机密信息"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"允许应用程序读取您平板电脑上存储的所有日历活动(包括朋友或同事的活动)。拥有此权限的恶意应用程序可在所有者不知情的情况下,从这些日历中提取个人信息。"</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"允许应用程序读取您手机上存储的所有日历活动(包括朋友或同事的活动)。拥有此权限的恶意应用程序可在所有者不知情的情况下,从这些日历中提取个人信息。"</string>
diff --git a/core/res/res/values-zh-rTW/donottranslate-cldr.xml b/core/res/res/values-zh-rTW/donottranslate-cldr.xml
index 06c9bcc..a43f857 100644
--- a/core/res/res/values-zh-rTW/donottranslate-cldr.xml
+++ b/core/res/res/values-zh-rTW/donottranslate-cldr.xml
@@ -61,21 +61,21 @@
     <string name="day_of_week_long_friday">星期五</string>
     <string name="day_of_week_long_saturday">星期六</string>
 
-    <string name="day_of_week_medium_sunday">周日</string>
-    <string name="day_of_week_medium_monday">周一</string>
-    <string name="day_of_week_medium_tuesday">周二</string>
-    <string name="day_of_week_medium_wednesday">周三</string>
-    <string name="day_of_week_medium_thursday">周四</string>
-    <string name="day_of_week_medium_friday">周五</string>
-    <string name="day_of_week_medium_saturday">周六</string>
+    <string name="day_of_week_medium_sunday">週日</string>
+    <string name="day_of_week_medium_monday">週一</string>
+    <string name="day_of_week_medium_tuesday">週二</string>
+    <string name="day_of_week_medium_wednesday">週三</string>
+    <string name="day_of_week_medium_thursday">週四</string>
+    <string name="day_of_week_medium_friday">週五</string>
+    <string name="day_of_week_medium_saturday">週六</string>
 
-    <string name="day_of_week_short_sunday">周日</string>
-    <string name="day_of_week_short_monday">周一</string>
-    <string name="day_of_week_short_tuesday">周二</string>
-    <string name="day_of_week_short_wednesday">周三</string>
-    <string name="day_of_week_short_thursday">周四</string>
-    <string name="day_of_week_short_friday">周五</string>
-    <string name="day_of_week_short_saturday">周六</string>
+    <string name="day_of_week_short_sunday">週日</string>
+    <string name="day_of_week_short_monday">週一</string>
+    <string name="day_of_week_short_tuesday">週二</string>
+    <string name="day_of_week_short_wednesday">週三</string>
+    <string name="day_of_week_short_thursday">週四</string>
+    <string name="day_of_week_short_friday">週五</string>
+    <string name="day_of_week_short_saturday">週六</string>
 
     <string name="day_of_week_shortest_sunday">日</string>
     <string name="day_of_week_shortest_monday">一</string>
diff --git a/core/res/res/values-zh-rTW/strings.xml b/core/res/res/values-zh-rTW/strings.xml
index 0f124b5..4d2890e48 100644
--- a/core/res/res/values-zh-rTW/strings.xml
+++ b/core/res/res/values-zh-rTW/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"(未命名)"</string>
     <string name="ellipsis" msgid="7899829516048813237">"..."</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"‥"</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(沒有電話號碼)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(不明)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"語音留言"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"允許應用程式讀取儲存在裝置上的個人資料資訊,例如您的姓名和聯絡資訊。這表示該應用程式可以識別您的身分,並將您的個人資料資訊傳送給他人。"</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"寫入您的個人資料"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"允許應用程式新增或變更儲存在裝置上的個人資料資訊,例如您的姓名和聯絡資訊。這表示其他應用程式可以識別您的身分,並將您的個人資料資訊傳送給他人。"</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"閱讀您的社交串流"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"允許應用程式存取並同步處理來自好友的動態更新。惡意應用程式可能會藉此讀取您和好友在社交網路上的私人訊息。"</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"寫入您的社交串流"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"允許應用程式顯示好友的動態更新。惡意應用程式可能會藉此假裝成您的好友,欺騙您透露密碼或其他機密資訊。"</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"讀取日曆活動與機密資訊"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"允許應用程式讀取所有儲存在您平板電腦上的日曆活動,包含好友或同事的日曆活動。惡意應用程式可能藉此在未經擁有者同意的情況下,從這些日曆擷取個人資訊。"</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"允許應用程式讀取所有儲存在您手機上的日曆活動,包含好友或同事的日曆活動。惡意應用程式可能藉此在未經擁有者同意的情況下,從這些日曆擷取個人資訊。"</string>
diff --git a/core/res/res/values-zu/strings.xml b/core/res/res/values-zu/strings.xml
index aaaf2c1..87c96f3 100644
--- a/core/res/res/values-zu/strings.xml
+++ b/core/res/res/values-zu/strings.xml
@@ -29,6 +29,7 @@
     <string name="fileSizeSuffix" msgid="7670819340156489359">"<xliff:g id="NUMBER">%1$s</xliff:g><xliff:g id="UNIT">%2$s</xliff:g>"</string>
     <string name="untitled" msgid="6071602020171759109">"&lt;untitled&gt;"</string>
     <string name="ellipsis" msgid="7899829516048813237">"..."</string>
+    <string name="ellipsis_two_dots" msgid="1228078994866030736">"‥"</string>
     <string name="emptyPhoneNumber" msgid="7694063042079676517">"(Ayikho inombolo yocingo)"</string>
     <string name="unknownName" msgid="2277556546742746522">"(Akwaziwa)"</string>
     <string name="defaultVoiceMailAlphaTag" msgid="2660020990097733077">"Umyalezo wezwi"</string>
@@ -329,10 +330,6 @@
     <string name="permdesc_readProfile" product="default" msgid="6335739730324727203">"Ivumela isisetshenziswa ukuthi sifunde imininingwane yakho egcinwe kwi-device yakho, efana igama lakho kanye nemininingwane yokuxhumana. Lokhu kuchaza ukuthi isisetshenziswa singakwazi ukubona ukuthi nguwe bese sithumela imininingwane yakho kwabanye."</string>
     <string name="permlab_writeProfile" msgid="4679878325177177400">"bhala imininingwane yemininingo yakho"</string>
     <string name="permdesc_writeProfile" product="default" msgid="6431297330378229453">"Ivumela isisetshenziswa ukuthi sifunde imininingwane yakho egcinwe kwi-device yakho, efana igama lakho kanye nemininingwane yokuxhumana. Lokhu kuchaza ukuthi isisetshenziswa singakwazi ukubona ukuthi nguwe bese sithumela imininingwane yakho kwabanye."</string>
-    <string name="permlab_readSocialStream" product="default" msgid="1268920956152419170">"funda ngezindlela zakho zokuxhumana nabanye abantu"</string>
-    <string name="permdesc_readSocialStream" product="default" msgid="6619997662735851111">"Ivumela insiza ukuthi ifinyelele iphinde ivumelanisa izaziso zokuxhumana nabanye abantu. Izinsiza ezinobungozi zingasebnzisa lokhu ukufunda ukuxhumana okuyimfihlo phakathi kwakho nabangani bakho."</string>
-    <string name="permlab_writeSocialStream" product="default" msgid="3504179222493235645">"bhala indlela yakho yokuxhumana nabantu"</string>
-    <string name="permdesc_writeSocialStream" product="default" msgid="2689083745826002521">"Ivumela insiza ukuthi ikhombise izaziso zokuxhumana komphakathi ebanganini bakho. Izinsiza ezinobungozi zingasebenzisa lokhu ukwenza sengathi umngani zikukhohlise ukuze uveze iphasiwedi yakho noma eminye imininingwane yakho eyimfihlo."</string>
     <string name="permlab_readCalendar" msgid="5972727560257612398">"funda izenzakalo zekhalenda kanye nokwaziswa okuyimfihlo"</string>
     <string name="permdesc_readCalendar" product="tablet" msgid="5665520896961671949">"Ivumela uhlelo lokusebenza ukufunda zonke izenzakalo zekhalenda ezilondolozwe kwithebhulethi yakho, kuhlanganise ezabangani noma osebenza nabo. Uhlelo lokusebenza olu-malicious olunalemvume lungase luthathe ukwaziswa komuntu siqu kulamakhalenda ngaphandle kolwazi lomnikazi."</string>
     <string name="permdesc_readCalendar" product="default" msgid="2915879965326930312">"Ivumela uhlelo lokusebenza ukufunda zonke izenzakalo zekhalenda ezilondolozwe efonini yakho, kuhlanganise ezabangani noma osebenza nabo. Uhlelo lokusebenza olu-malicious olunalemvume lungase luthathe ukwaziswa komuntu siqu kulamakhalenda ngaphandle kolwazi lomnikazi."</string>
diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml
index c990125..a27abb3 100755
--- a/core/res/res/values/attrs.xml
+++ b/core/res/res/values/attrs.xml
@@ -3181,6 +3181,12 @@
         <!-- Base text color, typeface, size, and style. -->
         <attr name="textAppearance" />
     </declare-styleable>
+    <declare-styleable name="SelectionModeDrawables">
+        <attr name="actionModeSelectAllDrawable" />
+        <attr name="actionModeCutDrawable" />
+        <attr name="actionModeCopyDrawable" />
+        <attr name="actionModePasteDrawable" />
+    </declare-styleable>
     <declare-styleable name="SuggestionSpan">
         <attr name="textUnderlineColor" />
         <attr name="textUnderlineThickness" />
diff --git a/core/res/res/values/attrs_manifest.xml b/core/res/res/values/attrs_manifest.xml
index 11531fc..dbd49fb 100644
--- a/core/res/res/values/attrs_manifest.xml
+++ b/core/res/res/values/attrs_manifest.xml
@@ -710,11 +710,12 @@
         <enum name="preferExternal" value="2" />
     </attr>
 
-    <!-- Extra options for an activity's UI. If specified on the application
+    <!-- Extra options for an activity's UI. Applies to either the {@code &lt;activity&gt;} or
+         {@code &lt;application&gt;} tag. If specified on the {@code &lt;application&gt;}
          tag these will be considered defaults for all activities in the
          application. -->
     <attr name="uiOptions">
-        <!-- No extra UI options. -->
+        <!-- No extra UI options. This is the default. -->
         <flag name="none" value="0" />
         <!-- Split the options menu into a separate bar at the bottom of
              the screen when severely constrained for horizontal space.
@@ -1565,7 +1566,7 @@
     <!-- The attribute that holds a Base64-encoded public key. -->
     <attr name="publicKey" format="string" />
 
-    <!-- Attributes relating to a package verifier -->
+    <!-- Attributes relating to a package verifier. -->
     <declare-styleable name="AndroidManifestPackageVerifier" parent="AndroidManifest">
         <!-- Specifies the Java-style package name that defines this
              package verifier. -->
diff --git a/core/res/res/values/colors.xml b/core/res/res/values/colors.xml
index ddb9942..f0c6d09 100644
--- a/core/res/res/values/colors.xml
+++ b/core/res/res/values/colors.xml
@@ -112,6 +112,9 @@
     <color name="lockscreen_clock_am_pm">#ff9a9a9a</color>
     <color name="lockscreen_owner_info">#ff9a9a9a</color>
 
+    <!-- FaceLock -->
+    <color name="facelock_color_background">#000000</color>
+
     <!-- For holo theme -->
       <drawable name="screen_background_holo_light">#fff3f3f3</drawable>
       <drawable name="screen_background_holo_dark">#ff000000</drawable>
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 8fea35f..ae39760 100755
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -138,6 +138,18 @@
         <item>"0,1"</item>
     </string-array>
 
+    <!-- Set of NetworkInfo.getType() that reflect data usage. -->
+    <integer-array translatable="false" name="config_data_usage_network_types">
+        <item>0</item> <!-- TYPE_MOBILE -->
+        <item>2</item> <!-- TYPE_MOBILE_MMS -->
+        <item>3</item> <!-- TYPE_MOBILE_SUPL -->
+        <item>4</item> <!-- TYPE_MOBILE_DUN -->
+        <item>5</item> <!-- TYPE_MOBILE_HIPRI -->
+        <item>10</item> <!-- TYPE_MOBILE_FOTA -->
+        <item>11</item> <!-- TYPE_MOBILE_IMS -->
+        <item>12</item> <!-- TYPE_MOBILE_CBS -->
+    </integer-array>
+
     <!-- The maximum duration (in milliseconds) we expect a network transition to take -->
     <integer name="config_networkTransitionTimeout">60000</integer>
 
@@ -231,7 +243,7 @@
 
     <!-- If true, the screen can be rotated via the accelerometer in all 4
          rotations as the default behavior. -->
-    <bool name="config_allowAllRotations">true</bool>
+    <bool name="config_allowAllRotations">false</bool>
 
     <!-- If true, the direction rotation is applied to get to an application's requested
          orientation is reversed.  Normally, the model is that landscape is
diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml
index f1fc42c..dfd8306 100644
--- a/core/res/res/values/dimens.xml
+++ b/core/res/res/values/dimens.xml
@@ -158,7 +158,10 @@
     <dimen name="keyguard_lockscreen_status_line_font_size">14sp</dimen>
 
     <!-- Size of right margin on Unsecure unlock LockScreen -->
-    <dimen name="keyguard_lockscreen_status_line_font_right_margin">45dip</dimen>
+    <dimen name="keyguard_lockscreen_status_line_font_right_margin">42dip</dimen>
+
+    <!-- Size of top margin on Clock font to edge on unlock LockScreen -->
+    <dimen name="keyguard_lockscreen_status_line_clockfont_top_margin">24dip</dimen>
 
     <!-- Minimum popup width for selecting an activity in ActivityChooserDialog/ActivityChooserView. -->
     <dimen name="activity_chooser_popup_min_width">200dip</dimen>
@@ -178,4 +181,12 @@
     <!-- Default width for a textview error popup -->
     <dimen name="textview_error_popup_default_width">240dip</dimen>
 
+    <!-- Volume panel y offset -->
+    <dimen name="volume_panel_top">80dp</dimen>
+
+    <!-- Default padding to apply to AppWidgetHostViews containing widgets targeting API level 14 and up. -->
+    <dimen name="default_app_widget_padding_left">8dp</dimen>
+    <dimen name="default_app_widget_padding_top">8dp</dimen>
+    <dimen name="default_app_widget_padding_right">8dp</dimen>
+    <dimen name="default_app_widget_padding_bottom">8dp</dimen>
 </resources>
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
index f8f30b5..b1dc252 100755
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -41,9 +41,13 @@
     <string name="untitled">&lt;untitled&gt;</string>
 
     <!-- Used to replace a range of characters in text that is too wide
-         for the space allocated to it. -->
+         for the space allocated to it (three dots). -->
     <string name="ellipsis">\u2026</string>
 
+    <!-- Used to replace a range of characters in text that is too wide
+         for the space allocated to it (two dots). -->
+    <string name="ellipsis_two_dots">\u2025</string>
+
     <!-- How to display the lack of a phone number -->
     <string name="emptyPhoneNumber">(No phone number)</string>
 
@@ -949,6 +953,7 @@
         social updates from your friends. Malicious apps can use this to pretend to be a friend
         and trick you into revealing passwords or other confidential information.</string>
 
+    
     <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
     <string name="permlab_readCalendar">read calendar events plus confidential information</string>
     <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
@@ -3190,6 +3195,16 @@
     <!-- Description of the Enter button in a KeyboardView. [CHAR LIMIT=NONE] -->
     <string name="keyboardview_keycode_enter">Enter</string>
 
+    <!-- ActivityChooserView - accessibility support -->
+    <!-- Description of the shwoing of a popup window with activities to choose from. [CHAR LIMIT=NONE] -->
+    <string name="activitychooserview_choose_application">Choose an application</string>
+
+    <!-- ShareActionProvider - accessibility support -->
+    <!-- Description of the choose target button in a ShareActionProvider (share UI). [CHAR LIMIT=NONE] -->
+    <string name="shareactionprovider_share_with">Share with</string>
+    <!-- Description of a share target (both in the list of such or the default share button) in a ShareActionProvider (share UI). [CHAR LIMIT=NONE] -->
+    <string name="shareactionprovider_share_with_application">Share with <xliff:g id="application_name" example="Bluetooth">%s</xliff:g></string>
+
     <!-- Slide lock screen -->
 
     <!-- Description of the sliding handle in the Slide unlock screen. [CHAR LIMIT=NONE] -->
@@ -3214,8 +3229,9 @@
     <string name="description_target_soundon">Sound on</string>
 
     <!-- Announce that a headset is required to hear keyboard keys while typing a password. [CHAR LIMIT=NONE] -->
-    <string name="keyboard_headset_required_to_hear_password">Key. Headset required to hear
-    keys while typing a password.</string>
+    <string name="keyboard_headset_required_to_hear_password">Plug in a headset to hear password keys spoken aloud.</string>
+    <!-- The value of a keyboard key announced when accessibility is enabled and no headsed is used. [CHAR LIMIT=NONE] -->
+    <string name="keyboard_password_character_no_headset">Dot.</string>
 
     <!-- Content description for the action bar "home" affordance. [CHAR LIMIT=NONE] -->
     <string name="action_bar_home_description">Navigate home</string>
@@ -3314,4 +3330,4 @@
     <!-- Delimeter used between each item in a textual list; for example "Alpha, Beta". [CHAR LIMIT=3] -->
     <string name="list_delimeter">", "</string>
 
-</resources>
\ No newline at end of file
+</resources>
diff --git a/core/res/res/values/styles.xml b/core/res/res/values/styles.xml
index 346a3d29..1f1dc26 100644
--- a/core/res/res/values/styles.xml
+++ b/core/res/res/values/styles.xml
@@ -250,7 +250,7 @@
     </style>
 
     <style name="TextAppearance.EasyCorrectSuggestion" parent="TextAppearance.Suggestion">
-        <item name="android:textUnderlineColor">@color/holo_blue_dark</item>
+        <item name="android:textUnderlineColor">#ffC8C8C8</item>
     </style>
 
     <style name="TextAppearance.MisspelledSuggestion" parent="TextAppearance.Suggestion">
@@ -524,10 +524,14 @@
 
     <style name="Widget.ImageButton.NumberPickerUpButton">
         <item name="android:background">@android:drawable/numberpicker_up_btn</item>
+        <item name="android:paddingTop">22dip</item>
+        <item name="android:paddingBottom">22dip</item>
     </style>
 
     <style name="Widget.ImageButton.NumberPickerDownButton">
         <item name="android:background">@android:drawable/numberpicker_down_btn</item>
+        <item name="android:paddingTop">22dip</item>
+        <item name="android:paddingBottom">22dip</item>
     </style>
 
     <style name="Widget.EditText.NumberPickerInputText">
@@ -1509,8 +1513,8 @@
     </style>
 
     <style name="Widget.Holo.StackView">
-        <item name="android:resOutColor">#ff6699ff</item>
-        <item name="android:clickColor">#886699ff</item>
+        <item name="android:resOutColor">@android:color/holo_blue_light</item>
+        <item name="android:clickColor">@android:color/holo_blue_light</item>
     </style>
 
     <style name="Widget.Holo.Button.Borderless">
@@ -1651,15 +1655,15 @@
     <style name="Widget.Holo.ImageButton.NumberPickerUpButton">
         <item name="android:background">@null</item>
         <item name="android:src">@android:drawable/numberpicker_up_btn_holo_dark</item>
-        <item name="android:paddingTop">26dip</item>
-        <item name="android:paddingBottom">26dip</item>
+        <item name="android:paddingTop">16dip</item>
+        <item name="android:paddingBottom">36dip</item>
     </style>
 
     <style name="Widget.Holo.ImageButton.NumberPickerDownButton">
         <item name="android:background">@null</item>
         <item name="android:src">@android:drawable/numberpicker_down_btn_holo_dark</item>
-        <item name="android:paddingTop">26dip</item>
-        <item name="android:paddingBottom">26dip</item>
+        <item name="android:paddingTop">36dip</item>
+        <item name="android:paddingBottom">16dip</item>
     </style>
 
     <style name="Widget.Holo.EditText.NumberPickerInputText">
diff --git a/core/res/res/values/themes.xml b/core/res/res/values/themes.xml
index 3378dc8..1987d99 100644
--- a/core/res/res/values/themes.xml
+++ b/core/res/res/values/themes.xml
@@ -94,7 +94,7 @@
 
         <item name="textAppearanceButton">@android:style/TextAppearance.Widget.Button</item>
         
-        <item name="editTextColor">?android:attr/textColorPrimaryInverse</item>
+        <item name="editTextColor">@android:color/primary_text_light</item>
         <item name="editTextBackground">@android:drawable/edit_text</item>
         
         <item name="candidatesTextStyleSpans">@android:string/candidates_style</item>
@@ -410,7 +410,7 @@
         <item name="textColorLink">@android:color/link_text_light</item>
         <item name="textColorLinkInverse">@android:color/link_text_dark</item>
         
-        <item name="editTextColor">?android:attr/textColorPrimary</item>
+        <item name="editTextColor">@android:color/primary_text_light</item>
         <item name="listChoiceBackgroundIndicator">@android:drawable/list_selector_background</item>
 
         <item name="activatedBackgroundIndicator">@android:drawable/activated_background_light</item>
diff --git a/core/res/res/xml/password_kbd_numeric.xml b/core/res/res/xml/password_kbd_numeric.xml
index 2fd5aa0..560f867 100755
--- a/core/res/res/xml/password_kbd_numeric.xml
+++ b/core/res/res/xml/password_kbd_numeric.xml
@@ -49,12 +49,10 @@
     </Row>
 
     <Row android:rowEdgeFlags="bottom">
+        <Key android:codes="48" android:keyIcon="@drawable/sym_keyboard_num0_no_plus"
+             android:keyWidth="66.66%p" android:keyEdgeFlags="left"/>
         <Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_ok"
-             android:keyEdgeFlags="left"/>
-        <Key android:codes="48" android:keyIcon="@drawable/sym_keyboard_num0_no_plus"/>
-        <Key android:codes="-5" android:keyIcon="@drawable/sym_keyboard_delete"
-             android:iconPreview="@drawable/sym_keyboard_feedback_delete"
-             android:isRepeatable="true" android:keyEdgeFlags="right"/>
+             android:keyEdgeFlags="right"/>
     </Row>
 
 </Keyboard>
diff --git a/core/tests/bandwidthtests/Android.mk b/core/tests/bandwidthtests/Android.mk
index 3d56141..6871efd 100644
--- a/core/tests/bandwidthtests/Android.mk
+++ b/core/tests/bandwidthtests/Android.mk
@@ -27,4 +27,4 @@
 
 include $(BUILD_PACKAGE)
 
-include $(call all-makefiles-under,$(LOCAL_PATH))
+include $(call all-makefiles-under,$(LOCAL_PATH))
\ No newline at end of file
diff --git a/core/tests/bandwidthtests/src/com/android/bandwidthtest/BandwidthTest.java b/core/tests/bandwidthtests/src/com/android/bandwidthtest/BandwidthTest.java
index be740d3..9eee2f0 100644
--- a/core/tests/bandwidthtests/src/com/android/bandwidthtest/BandwidthTest.java
+++ b/core/tests/bandwidthtests/src/com/android/bandwidthtest/BandwidthTest.java
@@ -120,6 +120,42 @@
     }
 
     /**
+     * Ensure that downloading on wifi reports reasonable stats.
+     */
+    @LargeTest
+    public void testWifiUpload() {
+        assertTrue(setDeviceWifiAndAirplaneMode(mSsid));
+        // Download a file from the server.
+        String ts = Long.toString(System.currentTimeMillis());
+        String targetUrl = BandwidthTestUtil.buildDownloadUrl(
+                mTestServer, FILE_SIZE, mDeviceId, ts);
+        File tmpSaveFile = new File(BASE_DIR + File.separator + TMP_FILENAME);
+        assertTrue(BandwidthTestUtil.DownloadFromUrl(targetUrl, tmpSaveFile));
+
+        ts = Long.toString(System.currentTimeMillis());
+        NetworkStats pre_test_stats = fetchDataFromProc(mUid);
+        TrafficStats.startDataProfiling(mContext);
+        assertTrue(BandwidthTestUtil.postFileToServer(mTestServer, mDeviceId, ts, tmpSaveFile));
+        NetworkStats prof_stats = TrafficStats.stopDataProfiling(mContext);
+        Log.d(LOG_TAG, prof_stats.toString());
+        NetworkStats post_test_stats = fetchDataFromProc(mUid);
+        NetworkStats proc_stats = post_test_stats.subtract(pre_test_stats);
+
+        // Output measurements to instrumentation out, so that it can be compared to that of
+        // the server.
+        Bundle results = new Bundle();
+        results.putString("device_id", mDeviceId);
+        results.putString("timestamp", ts);
+        results.putInt("size", FILE_SIZE);
+        AddStatsToResults(PROF_LABEL, prof_stats, results);
+        AddStatsToResults(PROC_LABEL, proc_stats, results);
+        getInstrumentation().sendStatus(INSTRUMENTATION_IN_PROGRESS, results);
+
+        // Clean up.
+        assertTrue(cleanUpFile(tmpSaveFile));
+    }
+
+    /**
      * We want to make sure that if we use the Download Manager to download stuff,
      * accounting still goes to the app making the call and that the numbers still make sense.
      */
diff --git a/core/tests/bandwidthtests/src/com/android/bandwidthtest/util/BandwidthTestUtil.java b/core/tests/bandwidthtests/src/com/android/bandwidthtest/util/BandwidthTestUtil.java
index d850169..577767c 100644
--- a/core/tests/bandwidthtests/src/com/android/bandwidthtest/util/BandwidthTestUtil.java
+++ b/core/tests/bandwidthtests/src/com/android/bandwidthtest/util/BandwidthTestUtil.java
@@ -18,6 +18,15 @@
 
 import android.util.Log;
 
+import com.android.internal.http.multipart.FilePart;
+import com.android.internal.http.multipart.MultipartEntity;
+import com.android.internal.http.multipart.Part;
+import com.android.internal.http.multipart.StringPart;
+
+import org.apache.http.HttpResponse;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.impl.client.DefaultHttpClient;
 import org.apache.http.util.ByteArrayBuffer;
 
 import java.io.BufferedInputStream;
@@ -80,7 +89,7 @@
      * Download a given file from a target url to a given destination file.
      * @param targetUrl the url to download
      * @param file the {@link File} location where to save to
-     * @return true if it succeeded.
+     * @return true if it succeeded
      */
     public static boolean DownloadFromUrl(String targetUrl, File file) {
         try {
@@ -106,4 +115,39 @@
         return true;
     }
 
+    /**
+     * Post a given file for a given device and timestamp to the server.
+     * @param server {@link String} url of test server
+     * @param deviceId {@link String} device id that is uploading
+     * @param timestamp {@link String} timestamp
+     * @param file {@link File} to upload
+     * @return true if it succeeded
+     */
+    public static boolean postFileToServer(String server, String deviceId, String timestamp,
+            File file) {
+        try {
+            Log.d(LOG_TAG, "Uploading begining");
+            HttpClient httpClient = new DefaultHttpClient();
+            String uri = server;
+            if (!uri.endsWith("/")) {
+                uri += "/";
+            }
+            uri += "upload";
+            Log.d(LOG_TAG, "Upload url:" + uri);
+            HttpPost postRequest = new HttpPost(uri);
+            Part[] parts = {
+                    new StringPart("device_id", deviceId),
+                    new StringPart("timestamp", timestamp),
+                    new FilePart("file", file)
+            };
+            MultipartEntity reqEntity = new MultipartEntity(parts, postRequest.getParams());
+            postRequest.setEntity(reqEntity);
+            HttpResponse res = httpClient.execute(postRequest);
+            res.getEntity().getContent().close();
+        } catch (IOException e) {
+            Log.e(LOG_TAG, "Could not upload file with error: " + e);
+            return false;
+        }
+        return true;
+    }
 }
diff --git a/core/tests/coretests/apks/install_verifier_bad/Android.mk b/core/tests/coretests/apks/install_verifier_bad/Android.mk
new file mode 100644
index 0000000..b50cfd04
--- /dev/null
+++ b/core/tests/coretests/apks/install_verifier_bad/Android.mk
@@ -0,0 +1,11 @@
+LOCAL_PATH:= $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_MODULE_TAGS := tests
+
+LOCAL_SRC_FILES := $(call all-subdir-java-files)
+
+LOCAL_PACKAGE_NAME := FrameworkCoreTests_install_verifier_bad
+
+include $(BUILD_PACKAGE)
+
diff --git a/core/tests/coretests/apks/install_verifier_bad/AndroidManifest.xml b/core/tests/coretests/apks/install_verifier_bad/AndroidManifest.xml
new file mode 100644
index 0000000..0170cdd
--- /dev/null
+++ b/core/tests/coretests/apks/install_verifier_bad/AndroidManifest.xml
@@ -0,0 +1,23 @@
+<?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.
+-->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+        package="com.android.frameworks.coretests.install_verifier_bad">
+
+    <package-verifier android:name="com.android.frameworks.coretests.nonexistent" android:publicKey="Zm9vYmFy" />
+        
+    <application android:hasCode="false">
+    </application>
+</manifest>
diff --git a/core/tests/coretests/apks/install_verifier_bad/res/values/strings.xml b/core/tests/coretests/apks/install_verifier_bad/res/values/strings.xml
new file mode 100644
index 0000000..3b8b3b1
--- /dev/null
+++ b/core/tests/coretests/apks/install_verifier_bad/res/values/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!-- Just need this dummy file to have something to build. -->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string name="dummy">dummy</string>
+</resources>
diff --git a/core/tests/coretests/apks/install_verifier_good/Android.mk b/core/tests/coretests/apks/install_verifier_good/Android.mk
new file mode 100644
index 0000000..a48a80e
--- /dev/null
+++ b/core/tests/coretests/apks/install_verifier_good/Android.mk
@@ -0,0 +1,10 @@
+LOCAL_PATH:= $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_MODULE_TAGS := tests
+
+LOCAL_SRC_FILES := $(call all-subdir-java-files)
+
+LOCAL_PACKAGE_NAME := FrameworkCoreTests_install_verifier_good
+
+include $(BUILD_PACKAGE)
diff --git a/core/tests/coretests/apks/install_verifier_good/AndroidManifest.xml b/core/tests/coretests/apks/install_verifier_good/AndroidManifest.xml
new file mode 100644
index 0000000..90135a5
--- /dev/null
+++ b/core/tests/coretests/apks/install_verifier_good/AndroidManifest.xml
@@ -0,0 +1,23 @@
+<?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.
+-->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+        package="com.android.frameworks.coretests.install_verifier_bad">
+
+        <package-verifier android:name="com.android.frameworks.coretests" android:publicKey="MIIBIDANBgkqhkiG9w0BAQEFAAOCAQ0AMIIBCAKCAQEAnHgFkqwNXTgc3qpl7MimAG42SAxtcgexIBG+UIY6q+K1XQCa33FG1vIgIoDHzU172yYkO4qAbCazSxN1I6SSaCJJBNwBST58Cs8aBch09psDe2AwnZB00kKA4WutKoc0NhlR6vcqSC0JsgSxh14SrJjBqnc9aAC56v3lbVi+2OjaFvmjYAmcN6g0pt/tt7a0SgSeB6Jp/M8sVJbyzzbWTfkKO42PNKO6q0z1M3GrJ3GbO6WHVK0MU/wU4dtF1R4jT7vpPJuk7fnOVCYTUOxTVge/aaL/SqB9tffqIA0JpsG0niFAL4ntEZCJOqtakYDxUugvhaRXU89fwZBxxe7IJwIBAw==" />
+
+    <application android:hasCode="false">
+    </application>
+</manifest>
diff --git a/core/tests/coretests/apks/install_verifier_good/res/values/strings.xml b/core/tests/coretests/apks/install_verifier_good/res/values/strings.xml
new file mode 100644
index 0000000..3b8b3b1
--- /dev/null
+++ b/core/tests/coretests/apks/install_verifier_good/res/values/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!-- Just need this dummy file to have something to build. -->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string name="dummy">dummy</string>
+</resources>
diff --git a/core/tests/coretests/src/android/net/NetworkStatsTest.java b/core/tests/coretests/src/android/net/NetworkStatsTest.java
index c36685d..d78d2ef 100644
--- a/core/tests/coretests/src/android/net/NetworkStatsTest.java
+++ b/core/tests/coretests/src/android/net/NetworkStatsTest.java
@@ -18,6 +18,8 @@
 
 import static android.net.NetworkStats.SET_DEFAULT;
 import static android.net.NetworkStats.SET_FOREGROUND;
+import static android.net.NetworkStats.SET_ALL;
+import static android.net.NetworkStats.IFACE_ALL;
 import static android.net.NetworkStats.TAG_NONE;
 import static android.net.NetworkStats.UID_ALL;
 
@@ -176,8 +178,63 @@
         assertEquals(64L, uidTag.getTotalBytes());
     }
 
+    public void testGroupedByIfaceEmpty() throws Exception {
+        final NetworkStats uidStats = new NetworkStats(TEST_START, 3);
+        final NetworkStats grouped = uidStats.groupedByIface();
+
+        assertEquals(0, uidStats.size());
+        assertEquals(0, grouped.size());
+    }
+
+    public void testGroupedByIfaceAll() throws Exception {
+        final NetworkStats uidStats = new NetworkStats(TEST_START, 3)
+                .addValues(IFACE_ALL, 100, SET_ALL, TAG_NONE, 128L, 8L, 0L, 2L, 20L)
+                .addValues(IFACE_ALL, 101, SET_FOREGROUND, TAG_NONE, 128L, 8L, 0L, 2L, 20L);
+        final NetworkStats grouped = uidStats.groupedByIface();
+
+        assertEquals(2, uidStats.size());
+        assertEquals(1, grouped.size());
+
+        assertValues(grouped, 0, IFACE_ALL, UID_ALL, SET_ALL, TAG_NONE, 256L, 16L, 0L, 4L, 0L);
+    }
+
+    public void testGroupedByIface() throws Exception {
+        final NetworkStats uidStats = new NetworkStats(TEST_START, 3)
+                .addValues(TEST_IFACE, 100, SET_DEFAULT, TAG_NONE, 128L, 8L, 0L, 2L, 20L)
+                .addValues(TEST_IFACE2, 100, SET_DEFAULT, TAG_NONE, 512L, 32L, 0L, 0L, 0L)
+                .addValues(TEST_IFACE2, 100, SET_DEFAULT, 0xF00D, 64L, 4L, 0L, 0L, 0L)
+                .addValues(TEST_IFACE2, 100, SET_FOREGROUND, TAG_NONE, 512L, 32L, 0L, 0L, 0L)
+                .addValues(TEST_IFACE, 101, SET_DEFAULT, TAG_NONE, 128L, 8L, 0L, 0L, 0L)
+                .addValues(TEST_IFACE, 101, SET_DEFAULT, 0xF00D, 128L, 8L, 0L, 0L, 0L);
+
+        final NetworkStats grouped = uidStats.groupedByIface();
+
+        assertEquals(6, uidStats.size());
+
+        assertEquals(2, grouped.size());
+        assertValues(grouped, 0, TEST_IFACE, UID_ALL, SET_ALL, TAG_NONE, 256L, 16L, 0L, 2L, 0L);
+        assertValues(grouped, 1, TEST_IFACE2, UID_ALL, SET_ALL, TAG_NONE, 1024L, 64L, 0L, 0L, 0L);
+    }
+
+    public void testAddAllValues() {
+        final NetworkStats first = new NetworkStats(TEST_START, 5)
+                .addValues(TEST_IFACE, 100, SET_DEFAULT, TAG_NONE, 32L, 0L, 0L, 0L, 0L)
+                .addValues(TEST_IFACE, 100, SET_FOREGROUND, TAG_NONE, 32L, 0L, 0L, 0L, 0L);
+
+        final NetworkStats second = new NetworkStats(TEST_START, 2)
+                .addValues(TEST_IFACE, 100, SET_DEFAULT, TAG_NONE, 32L, 0L, 0L, 0L, 0L)
+                .addValues(TEST_IFACE2, UID_ALL, SET_DEFAULT, TAG_NONE, 32L, 0L, 0L, 0L, 0L);
+
+        first.combineAllValues(second);
+
+        assertEquals(3, first.size());
+        assertValues(first, 0, TEST_IFACE, 100, SET_DEFAULT, TAG_NONE, 64L, 0L, 0L, 0L, 0L);
+        assertValues(first, 1, TEST_IFACE, 100, SET_FOREGROUND, TAG_NONE, 32L, 0L, 0L, 0L, 0L);
+        assertValues(first, 2, TEST_IFACE2, UID_ALL, SET_DEFAULT, TAG_NONE, 32L, 0L, 0L, 0L, 0L);
+    }
+
     private static void assertValues(NetworkStats stats, int index, String iface, int uid, int set,
-            int tag, long rxBytes, long rxPackets, long txBytes, long txPackets, int operations) {
+            int tag, long rxBytes, long rxPackets, long txBytes, long txPackets, long operations) {
         final NetworkStats.Entry entry = stats.getValues(index, null);
         assertEquals(iface, entry.iface);
         assertEquals(uid, entry.uid);
diff --git a/core/tests/coretests/src/android/net/http/AbstractProxyTest.java b/core/tests/coretests/src/android/net/http/AbstractProxyTest.java
index ee4ce95..4891232 100644
--- a/core/tests/coretests/src/android/net/http/AbstractProxyTest.java
+++ b/core/tests/coretests/src/android/net/http/AbstractProxyTest.java
@@ -219,6 +219,23 @@
         assertEquals("GET /bar HTTP/1.1", recordedRequest.getRequestLine());
     }
 
+    // http://b/5372438
+    public void testRetryWithProxy() throws Exception {
+        server.enqueue(new MockResponse()
+                .setSocketPolicy(SocketPolicy.DISCONNECT_AT_START));
+        server.play();
+
+        HttpClient httpProxyClient = newHttpClient();
+        HttpGet request = new HttpGet("http://android.com/foo");
+        ProxyConfig.REQUEST_PARAMETER.configure(server, httpProxyClient, request);
+
+        try {
+            httpProxyClient.execute(request);
+            fail();
+        } catch (IOException expected) {
+        }
+    }
+
     enum ProxyConfig {
         PROXY_SYSTEM_PROPERTY() {
             @Override void configure(MockWebServer server, HttpClient client, HttpRequest request) {
diff --git a/data/fonts/Android.mk b/data/fonts/Android.mk
new file mode 100644
index 0000000..db27cdc
--- /dev/null
+++ b/data/fonts/Android.mk
@@ -0,0 +1,61 @@
+# Copyright (C) 2011 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# We have to use BUILD_PREBUILT instead of PRODUCT_COPY_FIES,
+# because SMALLER_FONT_FOOTPRINT is only available in Android.mks.
+
+LOCAL_PATH := $(call my-dir)
+
+ifeq ($(SMALLER_FONT_FOOTPRINT),true)
+droidsans_fallback_src := DroidSansFallback.ttf
+extra_droidsans_fonts :=
+else
+droidsans_fallback_src := DroidSansFallbackFull.ttf
+extra_droidsans_fonts := DroidSans.ttf DroidSans-Bold.ttf DroidSansEthiopic-Regular.ttf
+endif
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := DroidSansFallback.ttf
+LOCAL_SRC_FILES := $(droidsans_fallback_src)
+LOCAL_MODULE_CLASS := ETC
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_PATH := $(TARGET_OUT)/fonts
+LOCAL_REQUIRED_MODULES := $(extra_droidsans_fonts)
+droidsans_fallback_src :=
+extra_droidsans_fonts :=
+include $(BUILD_PREBUILT)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := DroidSans.ttf
+LOCAL_SRC_FILES := $(LOCAL_MODULE)
+LOCAL_MODULE_CLASS := ETC
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_PATH := $(TARGET_OUT)/fonts
+include $(BUILD_PREBUILT)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := DroidSans-Bold.ttf
+LOCAL_SRC_FILES := $(LOCAL_MODULE)
+LOCAL_MODULE_CLASS := ETC
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_PATH := $(TARGET_OUT)/fonts
+include $(BUILD_PREBUILT)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := DroidSansEthiopic-Regular.ttf
+LOCAL_SRC_FILES := $(LOCAL_MODULE)
+LOCAL_MODULE_CLASS := ETC
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_PATH := $(TARGET_OUT)/fonts
+include $(BUILD_PREBUILT)
diff --git a/data/fonts/fonts.mk b/data/fonts/fonts.mk
index 67d04c9..3f51eb3 100644
--- a/data/fonts/fonts.mk
+++ b/data/fonts/fonts.mk
@@ -39,16 +39,7 @@
     frameworks/base/data/fonts/system_fonts.xml:system/etc/system_fonts.xml \
     frameworks/base/data/fonts/fallback_fonts.xml:system/etc/fallback_fonts.xml
 
-# Next, include additional fonts, depending on how much space we have
-ifeq ($(SMALLER_FONT_FOOTPRINT),true)
-# Smaller fonts alternatives
-PRODUCT_COPY_FILES += \
-    frameworks/base/data/fonts/DroidSansFallback.ttf:system/fonts/DroidSansFallback.ttf
-else
-# Full font set alternatives
-PRODUCT_COPY_FILES += \
-    frameworks/base/data/fonts/DroidSansFallbackFull.ttf:system/fonts/DroidSansFallback.ttf \
-    frameworks/base/data/fonts/DroidSans.ttf:system/fonts/DroidSans.ttf \
-    frameworks/base/data/fonts/DroidSans-Bold.ttf:system/fonts/DroidSans-Bold.ttf \
-    frameworks/base/data/fonts/DroidSansEthiopic-Regular.ttf:system/fonts/DroidSansEthiopic-Regular.ttf
-endif
+# Next, include additional fonts, depending on how much space we have.
+# Details see module definitions in Android.mk.
+PRODUCT_PACKAGES := \
+    DroidSansFallback.ttf
diff --git a/data/fonts/fonts.xml b/data/fonts/fonts.xml
deleted file mode 100644
index 1fd7bba..0000000
--- a/data/fonts/fonts.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2008 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 only used by the layoutlib to display
-	layouts in ADT.
--->
-<fonts>
-    <font ttf="DroidSans">
-        <name>sans-serif</name>
-        <name>arial</name>
-        <name>helvetica</name>
-        <name>tahoma</name>
-        <name>verdana</name>
-    </font>
-   <font ttf="DroidSerif">
-        <name>serif</name>
-        <name>times</name>
-        <name>times new roman</name>
-        <name>palatino</name>
-        <name>georgia</name>
-        <name>baskerville</name>
-        <name>goudy</name>
-        <name>fantasy</name>
-        <name>cursive</name>
-        <name>ITC Stone Serif</name>
-    </font>
-    <font ttf="DroidSansMono">
-        <name>monospace</name>
-        <name>courier</name>
-        <name>courier new</name>
-        <name>monaco</name>
-    </font>
-    <fallback ttf="DroidSansFallback" />
-    <fallback ttf="MTLmr3m" />
-</fonts>
diff --git a/docs/html/guide/appendix/media-formats.jd b/docs/html/guide/appendix/media-formats.jd
index e128a1c..ccc63a2 100644
--- a/docs/html/guide/appendix/media-formats.jd
+++ b/docs/html/guide/appendix/media-formats.jd
@@ -37,11 +37,16 @@
 
 <ul>
   <li>RTSP (RTP, SDP)</li>
-  <li>HTTP progressive streaming</li>
-  <li>HTTP live streaming <a href="http://tools.ietf.org/html/draft-pantos-http-live-streaming-05">draft protocol</a> (Android 3.0 and above)</li>
+  <li>HTTP/HTTPS progressive streaming</li>
+  <li>HTTP/HTTPS live streaming <a href="http://tools.ietf.org/html/draft-pantos-http-live-streaming">draft protocol</a>: <ul>
+    <li>MPEG-2 TS media files only</li>
+    <li>Protocol version 3 (Android 4.0 and above)</li>
+    <li>Protocol version 2 (Android 3.x)</li>
+    <li>Not supported before Android 3.0</li>
+  </ul></li>
 </ul>
 
-<p class="note"><strong>Note:</strong> HTTPS is not supported at this time.</p>
+<p class="note"><strong>Note:</strong> HTTPS is not supported before Android 3.1.</p>
 
 
 <h2 id="core">Core Media Formats</h2>
@@ -71,7 +76,11 @@
 <td style="text-align: center;"><big>&bull;</big></td>
 <td rowspan="3">Mono/Stereo content in any combination of standard bit
 rates up to 160 kbps and sampling rates from 8 to 48kHz</td>
-<td rowspan="3">3GPP (.3gp), and MPEG-4 (.mp4, .m4a). ADTS raw AAC (.aac, decode only, ADIF not supported, Android 3.1+). </td>
+<td rowspan="3">
+  &bull; 3GPP (.3gp)<br>
+  &bull; MPEG-4 (.mp4, .m4a)<br>
+  &bull; ADTS raw AAC (.aac, decode in Android 3.1+, encode in Android 4.0+, ADIF not supported)<br>
+  &bull; MPEG-TS (.ts, not seekable, Android 3.0+)</td>
 </tr>
 
 <tr>
@@ -91,8 +100,8 @@
 <td style="text-align: center;"><big>&bull;</big></td>
 <td style="text-align: center;"><big>&bull;</big></td>
 <td>4.75 to 12.2 kbps sampled @ 8kHz</td>
-<td>3GPP (.3gp)
-</td>
+<td>
+  3GPP (.3gp)</td>
 </tr>
 
 <tr>
@@ -100,19 +109,21 @@
 <td style="text-align: center;"><big>&bull;</big></td>
 <td style="text-align: center;"><big>&bull;</big></td>
 <td>9 rates from 6.60 kbit/s to 23.85 kbit/s sampled @ 16kHz</td>
-<td>3GPP (.3gp)</td>
+<td>
+  3GPP (.3gp)</td>
 </tr>
 
 <tr>
 <td>FLAC</td>
 <td>&nbsp;</td>
-<td style="text-align: center;"><big>&bull;</big><br><small>(Android 3.1+)</small></td>
+<td style="text-align: center;" nowrap><big>&bull;</big><br><small>(Android 3.1+)</small></td>
 <td>Mono/Stereo (no multichannel). Sample rates up to 48 kHz (but up to 44.1
 kHz is recommended on devices with 44.1 kHz output, as the 48 to 44.1 kHz
 downsampler does not include a low-pass filter). 16-bit recommended;
 no dither applied for 24-bit.
 </td>
-<td>FLAC (.flac) only</td>
+<td>
+  FLAC (.flac) only</td>
 </tr>
 
 <tr>
@@ -121,7 +132,8 @@
 <td style="text-align: center;"><big>&bull;</big></td>
 <td>Mono/Stereo 8-320Kbps constant (CBR) or variable bit-rate (VBR)
 </td>
-<td>MP3 (.mp3)</td>
+<td>
+  MP3 (.mp3)</td>
 </tr>
 
 <tr>
@@ -129,15 +141,21 @@
 <td>&nbsp;</td>
 <td style="text-align: center;"><big>&bull;</big></td>
 <td>MIDI Type 0 and 1. DLS Version 1 and 2. XMF and Mobile XMF. Support for ringtone formats RTTTL/RTX, OTA, and iMelody </td>
-<td>Type 0 and 1 (.mid, .xmf, .mxmf). Also RTTTL/RTX (.rtttl, .rtx), OTA (.ota), and iMelody (.imy)</td>
+<td>
+  &bull; Type 0 and 1 (.mid, .xmf, .mxmf)<br>
+  &bull; RTTTL/RTX (.rtttl, .rtx)<br>
+  &bull; OTA (.ota)<br>
+  &bull; iMelody (.imy)</td>
 </tr>
 
 <tr>
-<td>Ogg Vorbis</td>
+<td>Vorbis</td>
 <td>&nbsp;</td>
 <td style="text-align: center;"><big>&bull;</big></td>
 <td>&nbsp;</td>
-<td>Ogg (.ogg)</td>
+<td>
+  &bull; Ogg (.ogg)<br>
+  &bull; Matroska (.mkv, Android 4.0+)</td>
 </tr>
 
 <tr>
@@ -145,16 +163,18 @@
 <td>&nbsp;</td>
 <td style="text-align: center;"><big>&bull;</big></td>
 <td>8- and 16-bit linear PCM (rates up to limit of hardware)</td>
-<td>WAVE (.wav)</td>
+<td>
+  WAVE (.wav)</td>
 </tr>
 
 <tr>
-<td rowspan="4">Image</td>
+<td rowspan="5">Image</td>
 <td>JPEG</td>
 <td style="text-align: center;"><big>&bull;</big></td>
 <td style="text-align: center;"><big>&bull;</big></td>
 <td>Base+progressive</td>
-<td>JPEG (.jpg)</td>
+<td>
+  JPEG (.jpg)</td>
 </tr>
 
 <tr>
@@ -162,7 +182,8 @@
 <td>&nbsp;</td>
 <td style="text-align: center;"><big>&bull;</big></td>
 <td>&nbsp;</td>
-<td>GIF (.gif)</td>
+<td>
+  GIF (.gif)</td>
 </tr>
 
 <tr>
@@ -170,7 +191,8 @@
 <td style="text-align: center;"><big>&bull;</big></td>
 <td style="text-align: center;"><big>&bull;</big></td>
 <td>&nbsp;</td>
-<td>PNG (.png)</td>
+<td>
+  PNG (.png)</td>
 </tr>
 
 <tr>
@@ -178,7 +200,17 @@
 <td>&nbsp;</td>
 <td style="text-align: center;"><big>&bull;</big></td>
 <td>&nbsp;</td>
-<td>BMP (.bmp)</td>
+<td>
+  BMP (.bmp)</td>
+</tr>
+
+<tr>
+<td>WEBP</td>
+<td style="text-align: center;" nowrap><big>&bull;</big><br><small>(Android 4.0+)</small></td>
+<td style="text-align: center;" nowrap><big>&bull;</big><br><small>(Android 4.0+)</small></td>
+<td>&nbsp;</td>
+<td>
+  WebP (.webp)</td>
 </tr>
 
 
@@ -188,15 +220,20 @@
 <td style="text-align: center;"><big>&bull;</big></td>
 <td style="text-align: center;"><big>&bull;</big></td>
 <td>&nbsp;</td>
-<td>3GPP (.3gp) and MPEG-4 (.mp4)</td>
+<td>
+  &bull; 3GPP (.3gp)<br>
+  &bull; MPEG-4 (.mp4)</td>
 </tr>
 
 <tr>
 <td>H.264 AVC</td>
 <td style="text-align: center;" nowrap><big>&bull;</big><br><small>(Android 3.0+)</small></td>
-<td style="text-align: center;"><big>&bull;</big></td>
+<td style="text-align: center;" nowrap><big>&bull;</big></td>
 <td>Baseline Profile (BP)</td>
-<td>3GPP (.3gp) and MPEG-4 (.mp4). MPEG-TS (.ts, AAC audio only, not seekable, Android 3.0+)</td>
+<td>
+  &bull; 3GPP (.3gp)<br>
+  &bull; MPEG-4 (.mp4)<br>
+  &bull; MPEG-TS (.ts, AAC audio only, not seekable, Android 3.0+)</td>
 </tr>
 
 <tr>
@@ -204,15 +241,18 @@
 <td>&nbsp;</td>
 <td style="text-align: center;"><big>&bull;</big></td>
 <td>&nbsp;</td>
-<td>3GPP (.3gp)</td>
+<td>
+  3GPP (.3gp)</td>
 </tr>
 
 <tr>
 <td>VP8</td>
 <td>&nbsp;</td>
-<td style="text-align: center;"><big>&bull;</big><br><small>(Android 2.3.3+)</small></td>
-<td>&nbsp;</td>
-<td><a href="http://www.webmproject.org/">WebM</a> (.webm)</td>
+<td style="text-align: center;" nowrap><big>&bull;</big><br><small>(Android 2.3.3+)</small></td>
+<td>Streamable only in Android 4.0 and above</td>
+<td>
+  &bull; <a href="http://www.webmproject.org/">WebM</a> (.webm)<br>
+  &bull; Matroska (.mkv, Android 4.0+)</td>
 </tr>
 
 </tbody></table>
@@ -220,7 +260,7 @@
 
 <h2 id="recommendations">Video Encoding Recommendations</h2>
 
-<p>Table 2, below, lists examples of video encoding profiles and parameters that the Android media framework supports for playback. In addition to these encoding parameter recommendations, a device's available video recording profiles can be used as a proxy for media playback capabilities. These profiles can be inspected using the {@link android.media.CamcorderProfile CamcorderProfile} class, which is available since API level 8.</p>
+<p>Table 2, below, lists examples of video encoding profiles and parameters that the Android media framework supports for playback. In addition to these encoding parameter recommendations, a device's available <em>video recording</em> profiles can be used as a proxy for media playback capabilities. These profiles can be inspected using the {@link android.media.CamcorderProfile CamcorderProfile} class, which is available since API level 8.</p>
 
 <p class="table-caption" id="encoding-recommendations-table"><strong>Table 2.</strong> Examples of supported video encoding parameters.</p>
 
@@ -228,45 +268,53 @@
   <thead>
   <tr>
     <th>&nbsp;</th>
-    <th style="background-color:#f3f3f3;font-weight:normal">Lower quality</th>
-    <th style="background-color:#f3f3f3;font-weight:normal">Higher quality</th>
+    <th style="background-color:#f3f3f3;font-weight:normal"><acronym title="Standard definition">SD</a> (Low quality)</th>
+    <th style="background-color:#f3f3f3;font-weight:normal"><acronym title="Standard definition">SD</a> (High quality)</th>
+    <th style="background-color:#f3f3f3;font-weight:normal"><acronym title="High definition">HD</a> (Not available on all devices)</th>
   </tr>
   </thead>
   <tbody>
   <tr>
     <th>Video codec</th>
-    <td>H.264 Baseline Profile</th>
-    <td>H.264 Baseline Profile</th>
+    <td>H.264 Baseline Profile</td>
+    <td>H.264 Baseline Profile</td>
+    <td>H.264 Baseline Profile</td>
   </tr>
   <tr>
     <th>Video resolution</th>
-    <td>176 x 144 px</th>
-    <td>480 x 360 px</th>
+    <td>176 x 144 px</td>
+    <td>480 x 360 px</td>
+    <td>1280 x 720 px</td>
   </tr>
   <tr>
     <th>Video frame rate</th>
-    <td>12 fps</th>
-    <td>30 fps</th>
+    <td>12 fps</td>
+    <td>30 fps</td>
+    <td>30 fps</td>
   </tr>
   <tr>
     <th>Video bitrate</th>
-    <td>56 Kbps</th>
-    <td>500 Kbps</th>
+    <td>56 Kbps</td>
+    <td>500 Kbps</td>
+    <td>2 Mbps</td>
   </tr>
   <tr>
     <th>Audio codec</th>
-    <td>AAC-LC</th>
-    <td>AAC-LC</th>
+    <td>AAC-LC</td>
+    <td>AAC-LC</td>
+    <td>AAC-LC</td>
   </tr>
   <tr>
     <th>Audio channels</th>
-    <td>1 (mono)</th>
-    <td>2 (stereo)</th>
+    <td>1 (mono)</td>
+    <td>2 (stereo)</td>
+    <td>2 (stereo)</td>
   </tr>
   <tr>
     <th>Audio bitrate</th>
-    <td>24 Kbps</th>
-    <td>128 Kbps</th>
+    <td>24 Kbps</td>
+    <td>128 Kbps</td>
+    <td>192 Kbps</td>
   </tr>
   </tbody>
 </table>
@@ -274,7 +322,8 @@
 <p style="margin-top: 2em">For video content that is streamed over HTTP or RTSP, there are additional requirements:</p>
 
 <ul>
-  <li>For 3GPP and MPEG-4 containers, the <code>moov</code> atom must precede any <code>mdat</code> atoms.</li>
+  <li>For 3GPP and MPEG-4 containers, the <code>moov</code> atom must precede any <code>mdat</code> atoms, but must succeed the
+      <code>ftyp</code> atom.</li>
   <li>For 3GPP, MPEG-4, and WebM containers, audio and video samples corresponding to the same time offset may be no more than 500 KB apart.
       To minimize this audio/video drift, consider interleaving audio and video in smaller chunk sizes.</li>
 </ul>
diff --git a/docs/html/guide/guide_toc.cs b/docs/html/guide/guide_toc.cs
index 9c3a0be..1e3e275 100644
--- a/docs/html/guide/guide_toc.cs
+++ b/docs/html/guide/guide_toc.cs
@@ -101,41 +101,41 @@
           </a></div>
         <ul>
           <li><a href="<?cs var:toroot ?>guide/topics/ui/declaring-layout.html">
-               <span class="en">Declaring Layout</span>
-              </a></li>
-          <li><a href="<?cs var:toroot ?>guide/topics/ui/menus.html">
-               <span class="en">Creating Menus</span>
-              </a></li>
-          <li><a href="<?cs var:toroot ?>guide/topics/ui/actionbar.html">
-               <span class="en">Using the Action Bar</span>
-              </a></li>
-          <li><a href="<?cs var:toroot ?>guide/topics/ui/dialogs.html">
-                <span class="en">Creating Dialogs</span>
+               <span class="en">XML Layouts</span>
               </a></li>
           <li><a href="<?cs var:toroot ?>guide/topics/ui/ui-events.html">
-                <span class="en">Handling UI Events</span>
+                <span class="en">Input Events</span>
+              </a></li>
+          <li><a href="<?cs var:toroot ?>guide/topics/ui/menus.html">
+               <span class="en">Menus</span>
+              </a></li>
+          <li><a href="<?cs var:toroot ?>guide/topics/ui/actionbar.html">
+               <span class="en">Action Bar</span>
+              </a></li>
+          <li><a href="<?cs var:toroot ?>guide/topics/ui/dialogs.html">
+                <span class="en">Dialogs</span>
               </a></li>
           <li class="toggle-list">
             <div><a href="<?cs var:toroot ?>guide/topics/ui/notifiers/index.html">
-                <span class="en">Notifying the User</span>
+                <span class="en">Notifications</span>
             </a></div>
             <ul>
               <li><a href="<?cs var:toroot ?>guide/topics/ui/notifiers/toasts.html">
-                <span class="en">Creating Toast Notifications</span>
+                <span class="en">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>
+                <span class="en">Status Bar Notifications</span>
               </a></li>
             </ul>
           </li>
           <li><a href="<?cs var:toroot ?>guide/topics/ui/drag-drop.html">
-                <span class="en">Dragging and Dropping</span>
+                <span class="en">Drag and Drop</span>
               </a></li>
           <li><a href="<?cs var:toroot ?>guide/topics/ui/themes.html">
-                <span class="en">Applying Styles and Themes</span>
+                <span class="en">Styles and Themes</span>
               </a></li>
           <li><a href="<?cs var:toroot ?>guide/topics/ui/custom-components.html">
-                <span class="en">Building Custom Components</span>
+                <span class="en">Custom Components</span>
               </a></li>
           <li><a href="<?cs var:toroot ?>guide/topics/ui/binding.html">
                 <span class="en">Binding to Data with AdapterView</span>
@@ -222,8 +222,7 @@
           <li><a href="<?cs var:toroot ?>guide/topics/manifest/receiver-element.html">&lt;receiver&gt;</a></li>
           <li><a href="<?cs var:toroot ?>guide/topics/manifest/service-element.html">&lt;service&gt;</a></li>
           <li><a href="<?cs var:toroot ?>guide/topics/manifest/supports-gl-texture-element.html">&lt;supports-gl-texture&gt;</a></li>
-          <li><a href="<?cs var:toroot ?>guide/topics/manifest/supports-screens-element.html">&lt;supports-screens&gt;</a>
-              <span class="new">updated</span></li>  <!-- ##api level 4## -->
+          <li><a href="<?cs var:toroot ?>guide/topics/manifest/supports-screens-element.html">&lt;supports-screens&gt;</a></li><!-- ##api level 4## -->
           <li><a href="<?cs var:toroot ?>guide/topics/manifest/uses-configuration-element.html">&lt;uses-configuration&gt;</a></li>
           <li><a href="<?cs var:toroot ?>guide/topics/manifest/uses-feature-element.html">&lt;uses-feature&gt;</a></li> <!-- ##api level 4## -->
           <li><a href="<?cs var:toroot ?>guide/topics/manifest/uses-library-element.html">&lt;uses-library&gt;</a></li>
@@ -244,7 +243,7 @@
               </a></li>
           <li><a href="<?cs var:toroot ?>guide/topics/graphics/opengl.html">
                 <span class="en">3D with OpenGL</span>
-              </a><span class="new">updated</span></li>
+              </a></li>
           <li><a href="<?cs var:toroot ?>guide/topics/graphics/animation.html">
                 <span class="en">Property Animation</span>
               </a></li>
@@ -271,7 +270,7 @@
 
       <li><a href="<?cs var:toroot ?>guide/topics/media/index.html">
             <span class="en">Media</span>
-          </a><span class="new">updated</span></li>
+          </a></li>
       <li>
         <a href="<?cs var:toroot ?>guide/topics/clipboard/copy-paste.html">
             <span class="en">Copy and Paste</span>
@@ -408,7 +407,6 @@
       </li>
       <li><a href="<?cs var:toroot ?>guide/market/publishing/multiple-apks.html">
           <span class="en">Multiple APK Support</span></a>
-          <span class="new">new!</span>
       </li>
     </ul>
   </li>
@@ -569,7 +567,7 @@
           </a></div>
         <ul>
           <li><a href="<?cs var:toroot ?>guide/developing/tools/adb.html">adb</a></li>
-          <li><a href="<?cs var:toroot ?>guide/developing/tools/adt.html">ADT</a> <span class="new">new!</span></li>
+          <li><a href="<?cs var:toroot ?>guide/developing/tools/adt.html">ADT</a></li>
           <li><a href="<?cs var:toroot ?>guide/developing/tools/android.html">android</a></li>
           <li><a href="<?cs var:toroot ?>guide/developing/tools/bmgr.html">bmgr</a>
           <li><a href="<?cs var:toroot ?>guide/developing/tools/dmtracedump.html">dmtracedump</a></li>
@@ -672,14 +670,14 @@
       <li class="toggle-list">
         <div><a href="<?cs var:toroot ?>guide/practices/screens_support.html">
           <span class="en">Supporting Multiple Screens</span>
-        </a> <span class="new">updated</span></div>
+        </a></div>
         <ul>
           <li><a href="<?cs var:toroot ?>guide/practices/screens-distribution.html">
             <span class="en">Distributing to Specific Screens</span>
           </a></li>
           <li><a href="<?cs var:toroot ?>guide/practices/screen-compat-mode.html">
             <span class="en">Screen Compatibility Mode</span>
-          </a> <span class="new">new!</span></li>
+          </a></li>
           <li><a href="<?cs var:toroot ?>guide/practices/screens-support-1.5.html">
             <span class="en">Strategies for Android 1.5</span>
           </a></li>
@@ -719,7 +717,7 @@
             </ul>
           </li>
           <li><a href="<?cs var:toroot ?>guide/practices/ui_guidelines/widget_design.html">
-                <span class="en">App Widget Design</span>
+                <span class="en">App Widget Design <span class="new">updated</span></span>
               </a></li>
           <li><a href="<?cs var:toroot ?>guide/practices/ui_guidelines/activity_task_design.html">
                 <span class="en">Activity and Task Design</span>
@@ -737,11 +735,11 @@
       <li class="toggle-list">
         <div><a href="<?cs var:toroot ?>guide/practices/design/performance.html">
             <span class="en">Designing for Performance</span>
-          </a> <span class="new-child">new!</span></div>
+          </a></div>
         <ul>
           <li><a href="<?cs var:toroot ?>guide/practices/design/jni.html">
                 <span class="en">JNI Tips</span>
-              </a> <span class="new">new!</span></li>
+              </a></li>
         </ul>
       </li>
       <li><a href="<?cs var:toroot ?>guide/practices/design/responsiveness.html">
@@ -793,7 +791,7 @@
             <span class="en">App Install Location</span>
           </a></li>
       <li><a href="<?cs var:toroot ?>guide/appendix/media-formats.html">
-            <span class="en">Supported Media Formats</span>
+            <span class="en">Supported Media Formats <span class="new">updated</span></span>
           </a></li>
       <li><a href="<?cs var:toroot ?>guide/appendix/g-app-intents.html">
             <span class="en">Intents List: Google Apps</span>
diff --git a/docs/html/guide/practices/design/jni.jd b/docs/html/guide/practices/design/jni.jd
index 6e984b0..9980efd 100644
--- a/docs/html/guide/practices/design/jni.jd
+++ b/docs/html/guide/practices/design/jni.jd
@@ -26,9 +26,9 @@
 </div>
 </div>
 
-<p>JNI is the Java Native Interface.  It defines a way for code written in the
-Java programming language to interact with native
-code: functions written in C/C++.  It's VM-neutral, has support for loading code from
+<p>JNI is the Java Native Interface.  It defines a way for managed code
+(written in the Java programming language) to interact with native
+code (written in C/C++).  It's vendor-neutral, has support for loading code from
 dynamic shared libraries, and while cumbersome at times is reasonably efficient.</p>
 
 <p>You really should read through the
@@ -46,13 +46,13 @@
 pointers to pointers to function tables.  (In the C++ version, they're classes with a
 pointer to a function table and a member function for each JNI function that indirects through
 the table.)  The JavaVM provides the "invocation interface" functions,
-which allow you to create and destroy the VM.  In theory you can have multiple VMs per process,
-but Android's VM only allows one.</p>
+which allow you to create and destroy a JavaVM.  In theory you can have multiple JavaVMs per process,
+but Android only allows one.</p>
 
 <p>The JNIEnv provides most of the JNI functions.  Your native functions all receive a JNIEnv as
 the first argument.</p>
 
-<p>On some VMs, the JNIEnv is used for thread-local storage.  For this reason, <strong>you cannot share a JNIEnv between threads</strong>.
+<p>The JNIEnv is used for thread-local storage.  For this reason, <strong>you cannot share a JNIEnv between threads</strong>.
 If a piece of code has no other way to get its JNIEnv, you should share
 the JavaVM, and use <code>GetEnv</code> to discover the thread's JNIEnv. (Assuming it has one; see <code>AttachCurrentThread</code> below.)</p>
 
@@ -66,23 +66,22 @@
 <a name="threads" id="threads"></a>
 <h2>Threads</h2>
 
-<p>All VM threads are Linux threads, scheduled by the kernel.  They're usually
-started using Java language features (notably <code>Thread.start</code>),
-but they can also be created elsewhere and then attached to the VM.  For
+<p>All threads are Linux threads, scheduled by the kernel.  They're usually
+started from managed code (using <code>Thread.start</code>),
+but they can also be created elsewhere and then attached to the JavaVM.  For
 example, a thread started with <code>pthread_create</code> can be attached
 with the JNI <code>AttachCurrentThread</code> or
 <code>AttachCurrentThreadAsDaemon</code> functions.  Until a thread is
-attached to the VM, it has no JNIEnv, and
-<strong>cannot make JNI calls</strong>.</p>
+attached, it has no JNIEnv, and <strong>cannot make JNI calls</strong>.</p>
 
-<p>Attaching a natively-created thread causes the VM to allocate and initialize
-a <code>Thread</code> object, add it to the "main" <code>ThreadGroup</code>,
-and add the thread to the set that is visible to the debugger.  Calling
-<code>AttachCurrentThread</code> on an already-attached thread is a no-op.</p>
+<p>Attaching a natively-created thread causes a <code>java.lang.Thread</code>
+object to be constructed and added to the "main" <code>ThreadGroup</code>,
+making it visible to the debugger.  Calling <code>AttachCurrentThread</code>
+on an already-attached thread is a no-op.</p>
 
-<p>The Dalvik VM does not suspend threads executing native code.  If
+<p>Android does not suspend threads executing native code.  If
 garbage collection is in progress, or the debugger has issued a suspend
-request, the VM will pause the thread the next time it makes a JNI call.</p>
+request, Android will pause the thread the next time it makes a JNI call.</p>
 
 <p>Threads attached through JNI <strong>must call
 <code>DetachCurrentThread</code> before they exit</strong>.
@@ -108,12 +107,12 @@
 </ul>
 
 <p>Similarly, to call a method, you'd first get a class object reference and then a method ID.  The IDs are often just
-pointers to internal VM data structures.  Looking them up may require several string
+pointers to internal runtime data structures.  Looking them up may require several string
 comparisons, but once you have them the actual call to get the field or invoke the method
 is very quick.</p>
 
 <p>If performance is important, it's useful to look the values up once and cache the results
-in your native code.  Because there is a limit of one VM per process, it's reasonable
+in your native code.  Because there is a limit of one JavaVM per process, it's reasonable
 to store this data in a static local structure.</p>
 
 <p>The class references, field IDs, and method IDs are guaranteed valid until the class is unloaded.  Classes
@@ -145,13 +144,17 @@
 <a name="local_and_global_references" id="local_and_global_references"></a>
 <h2>Local and Global References</h2>
 
-<p>Every object that JNI returns is a "local reference".  This means that it's valid for the
+<p>Every argument passed to a native method, and almost every object returned
+by a JNI function is a "local reference".  This means that it's valid for the
 duration of the current native method in the current thread.
-<strong>Even if the object itself continues to live on after the native method returns, the reference is not valid.</strong>
-This applies to all sub-classes of <code>jobject</code>, including
+<strong>Even if the object itself continues to live on after the native method
+returns, the reference is not valid.</strong>
+<p>This applies to all sub-classes of <code>jobject</code>, including
 <code>jclass</code>, <code>jstring</code>, and <code>jarray</code>.
-(Dalvik VM will warn you about most reference mis-uses when extended JNI
+(The runtime will warn you about most reference mis-uses when extended JNI
 checks are enabled.)</p>
+<p>The only way to get non-local references is via the functions
+<code>NewGlobalRef</code> and <code>NewWeakGlobalRef</code>.
 
 <p>If you want to hold on to a reference for a longer period, you must use
 a "global" reference.  The <code>NewGlobalRef</code> function takes the
@@ -159,7 +162,7 @@
 The global reference is guaranteed to be valid until you call
 <code>DeleteGlobalRef</code>.</p>
 
-<p>This pattern is commonly used when caching copies of class objects obtained
+<p>This pattern is commonly used when caching a jclass returned
 from <code>FindClass</code>, e.g.:</p>
 <pre>jclass localClass = env-&gt;FindClass("MyClass");
 jclass globalClass = reinterpret_cast&lt;jclass&gt;(env-&gt;NewGlobalRef(localClass));</pre>
@@ -181,22 +184,25 @@
 
 <p>Programmers are required to "not excessively allocate" local references.  In practical terms this means
 that if you're creating large numbers of local references, perhaps while running through an array of
-Objects, you should free them manually with
+objects, you should free them manually with
 <code>DeleteLocalRef</code> instead of letting JNI do it for you.  The
-VM is only required to reserve slots for
+implementation is only required to reserve slots for
 16 local references, so if you need more than that you should either delete as you go or use
-<code>EnsureLocalCapacity</code> to reserve more.</p>
+<code>EnsureLocalCapacity</code>/<code>PushLocalFrame</code> to reserve more.</p>
 
-<p>Note that <code>jfieldID</code>s and <code>jmethodID</code>s are just integers, not object
-references, and should not be passed to <code>NewGlobalRef</code>.  The raw data
+<p>Note that <code>jfieldID</code>s and <code>jmethodID</code>s are opaque
+types, not object references, and should not be passed to
+<code>NewGlobalRef</code>.  The raw data
 pointers returned by functions like <code>GetStringUTFChars</code>
-and <code>GetByteArrayElements</code> are also not objects.</p>
+and <code>GetByteArrayElements</code> are also not objects. (They may be passed
+between threads, and are valid until the matching Release call.)</p>
 
 <p>One unusual case deserves separate mention.  If you attach a native
-thread to the VM with <code>AttachCurrentThread</code>, the code you are running will
-never "return" to the VM until the thread detaches from the VM.  Any local
-references you create will have to be deleted manually unless you're going
-to detach the thread soon.</p>
+thread with <code>AttachCurrentThread</code>, the code you are running will
+never automatically free local references until the thread detaches.  Any local
+references you create will have to be deleted manually. In general, any native
+code that creates local references in a loop probably needs to do some manual
+deletion.</p>
 
 <a name="UTF_8_and_UTF_16_strings" id="UTF_8_and_UTF_16_strings"></a>
 <h2>UTF-8 and UTF-16 Strings</h2>
@@ -205,14 +211,15 @@
 modified encoding is useful for C code because it encodes \u0000 as 0xc0 0x80 instead of 0x00.
 The nice thing about this is that you can count on having C-style zero-terminated strings,
 suitable for use with standard libc string functions.  The down side is that you cannot pass
-arbitrary UTF-8 data into the VM and expect it to work correctly.</p>
+arbitrary UTF-8 data to JNI and expect it to work correctly.</p>
 
-<p>It's usually best to operate with UTF-16 strings.  With Android's current VMs, the
-<code>GetStringChars</code> method
-does not require a copy, whereas <code>GetStringUTFChars</code> requires a malloc and a UTF conversion.  Note that
+<p>If possible, it's usually faster to operate with UTF-16 strings. Android
+currently does not require a copy in <code>GetStringChars</code>, whereas
+<code>GetStringUTFChars</code> requires an allocation and a conversion to
+UTF-8.  Note that
 <strong>UTF-16 strings are not zero-terminated</strong>, and \u0000 is allowed,
 so you need to hang on to the string length as well as
-the string pointer.</p>
+the jchar pointer.</p>
 
 <p><strong>Don't forget to <code>Release</code> the strings you <code>Get</code></strong>.  The
 string functions return <code>jchar*</code> or <code>jbyte*</code>, which
@@ -237,9 +244,8 @@
 primitives can be read and written directly as if they were declared in C.</p>
 
 <p>To make the interface as efficient as possible without constraining
-the VM implementation,
-the <code>Get&lt;PrimitiveType&gt;ArrayElements</code> family of calls
-allows the VM to either return a pointer to the actual elements, or
+the VM implementation, the <code>Get&lt;PrimitiveType&gt;ArrayElements</code>
+family of calls allows the runtime to either return a pointer to the actual elements, or
 allocate some memory and make a copy.  Either way, the raw pointer returned
 is guaranteed to be valid until the corresponding <code>Release</code> call
 is issued (which implies that, if the data wasn't copied, the array object
@@ -253,7 +259,7 @@
 useful.</p>
 
 <p>The <code>Release</code> call takes a <code>mode</code> argument that can
-have one of three values.  The actions performed by the VM depend upon
+have one of three values.  The actions performed by the runtime depend upon
 whether it returned a pointer to the actual data or a copy of it:</p>
 
 <ul>
@@ -312,8 +318,9 @@
     }</pre>
 
 <p>This grabs the array, copies the first <code>len</code> byte
-elements out of it, and then releases the array.  Depending upon the VM
-policies the <code>Get</code> call will either pin or copy the array contents.
+elements out of it, and then releases the array.  Depending upon the
+implementation, the <code>Get</code> call will either pin or copy the array
+contents.
 The code copies the data (for perhaps a second time), then calls <code>Release</code>; in this case
 <code>JNI_ABORT</code> ensures there's no chance of a third copy.</p>
 
@@ -335,7 +342,7 @@
 
 
 <a name="exceptions" id="exceptions"></a>
-<h2>Exception</h2>
+<h2>Exceptions</h2>
 
 <p><strong>You must not call most JNI functions while an exception is pending.</strong>
 Your code is expected to notice the exception (via the function's return value,
@@ -369,11 +376,11 @@
 you must always check for an exception, because the return value is not
 going to be valid if an exception was thrown.</p>
 
-<p>Note that exceptions thrown by interpreted code do not "leap over" native code,
-and C++ exceptions thrown by native code are not handled by Dalvik.
+<p>Note that exceptions thrown by interpreted code do not unwind native stack
+frames, and Android does not yet support C++ exceptions.
 The JNI <code>Throw</code> and <code>ThrowNew</code> instructions just
-set an exception pointer in the current thread.  Upon returning to the VM from
-native code, the exception will be noted and handled appropriately.</p>
+set an exception pointer in the current thread.  Upon returning to managed
+from native code, the exception will be noted and handled appropriately.</p>
 
 <p>Native code can "catch" an exception by calling <code>ExceptionCheck</code> or
 <code>ExceptionOccurred</code>, and clear it with
@@ -476,23 +483,19 @@
 shared library.  For Android apps, you may find it useful to get the full
 path to the application's private data storage area from the context object.</p>
 
-<p>This is the recommended approach, but not the only approach.  The VM does
-not require explicit registration, nor that you provide a
+<p>This is the recommended approach, but not the only approach.  Explicit
+registration is not required, nor is it necessary that you provide a
 <code>JNI_OnLoad</code> function.
 You can instead use "discovery" of native methods that are named in a
-specific way (see <a href="http://java.sun.com/javase/6/docs/technotes/guides/jni/spec/design.html#wp615">
-    the JNI spec</a> for details), though this is less desirable.
-It requires more space in the shared object symbol table,
-loading is slower because it requires string searches through all of the
-loaded shared libraries, and if a method signature is wrong you won't know
+specific way (see <a href="http://java.sun.com/javase/6/docs/technotes/guides/jni/spec/design.html#wp615">the JNI spec</a> for details), though this is less desirable because if a method signature is wrong you won't know
 about it until the first time the method is actually used.</p>
 
 <p>One other note about <code>JNI_OnLoad</code>: any <code>FindClass</code>
 calls you make from there will happen in the context of the class loader
 that was used to load the shared library.  Normally <code>FindClass</code>
 uses the loader associated with the method at the top of the interpreted
-stack, or if there isn't one (because the thread was just attached to
-the VM) it uses the "system" class loader.  This makes
+stack, or if there isn't one (because the thread was just attached) it uses
+the "system" class loader.  This makes
 <code>JNI_OnLoad</code> a convenient place to look up and cache class
 object references.</p>
 
@@ -515,10 +518,9 @@
 
 <p>All JNI 1.6 features are supported, with the following exceptions:</p>
 <ul>
-    <li><code>DefineClass</code> is not implemented.  Dalvik does not use
+    <li><code>DefineClass</code> is not implemented.  Android does not use
     Java bytecodes or class files, so passing in binary class data
-    doesn't work.  Translation facilities may be added in a future
-    version of the VM.</li>
+    doesn't work.</li>
     <li>"Weak global" references are implemented, but may only be passed
     to <code>NewLocalRef</code>, <code>NewGlobalRef</code>, and
     <code>DeleteWeakGlobalRef</code>.  (The spec strongly encourages
@@ -536,12 +538,16 @@
     around this requires using explicit registration or moving the
     native methods out of inner classes.
     <li>Until Android 2.0 (Eclair), it was not possible to use a <code>pthread_key_create</code>
-    destructor function to avoid the VM's "thread must be detached before
-    exit" check.  (The VM also uses a pthread key destructor function,
+    destructor function to avoid the "thread must be detached before
+    exit" check.  (The runtime also uses a pthread key destructor function,
     so it'd be a race to see which gets called first.)
     <li>Until Android 2.2 (Froyo), weak global references were not implemented.
-    Older VMs will vigorously reject attempts to use them.  You can use
+    Older versions will vigorously reject attempts to use them.  You can use
     the Android platform version constants to test for support.
+    <li>Until Android 4.0 (Ice Cream Sandwich), JNI local references were
+    actually direct pointers. Ice Cream Sandwich added the indirection
+    necessary to support better garbage collectors, but this means that lots
+    of JNI bugs are undetectable on older releases.
 </ul>
 
 
@@ -572,8 +578,8 @@
 <p>In logcat, you'll see:</p>
 <pre>W/dalvikvm(  880): No implementation found for native LFoo;.myfunc ()V</pre>
 
-<p>This means that the VM tried to find a matching method but was unsuccessful.
-Some common reasons for this are:</p>
+<p>This means that the runtime tried to find a matching method but was
+unsuccessful.  Some common reasons for this are:</p>
 <ul>
     <li>The library isn't getting loaded.  Check the logcat output for
     messages about library loading.
@@ -581,10 +587,15 @@
     is commonly caused by:
     <ul>
         <li>For lazy method lookup, failing to declare C++ functions
-        with <code>extern "C"</code>.  You can use <code>arm-eabi-nm</code>
+        with <code>extern "C"</code> and appropriate
+        visibility (<code>JNIEXPORT</code>). Note that prior to Ice Cream
+        Sandwich, the JNIEXPORT macro was incorrect, so using a new GCC with
+        an old <code>jni.h</code> won't work.
+        You can use <code>arm-eabi-nm</code>
         to see the symbols as they appear in the library; if they look
         mangled (something like <code>_Z15Java_Foo_myfuncP7_JNIEnvP7_jclass</code>
-        rather than <code>Java_Foo_myfunc</code>) then you need to
+        rather than <code>Java_Foo_myfunc</code>), or if the symbol type is
+        a lowercase 't' rather than an uppercase 'T', then you need to
         adjust the declaration.
         <li>For explicit registration, minor errors when entering the
         method signature.  Make sure that what you're passing to the
@@ -612,7 +623,7 @@
 
 <p>If the class name looks right, you could be running into a class loader
 issue.  <code>FindClass</code> wants to start the class search in the
-class loader associated with your code.  It examines the VM call stack,
+class loader associated with your code.  It examines the call stack,
 which will look something like:
 <pre>    Foo.myfunc(Native Method)
     Foo.main(Foo.java:10)
@@ -623,14 +634,14 @@
 class and uses that.</p>
 
 <p>This usually does what you want.  You can get into trouble if you
-create a thread outside the VM (perhaps by calling <code>pthread_create</code>
-and then attaching it to the VM with <code>AttachCurrentThread</code>).
+create a thread yourself (perhaps by calling <code>pthread_create</code>
+and then attaching it with <code>AttachCurrentThread</code>).
 Now the stack trace looks like this:</p>
 <pre>    dalvik.system.NativeStart.run(Native Method)</pre>
 
 <p>The topmost method is <code>NativeStart.run</code>, which isn't part of
 your application.  If you call <code>FindClass</code> from this thread, the
-VM will start in the "system" class loader instead of the one associated
+JavaVM will start in the "system" class loader instead of the one associated
 with your application, so attempts to find app-specific classes will fail.</p>
 
 <p>There are a few ways to work around this:</p>
@@ -656,12 +667,12 @@
 <h2>FAQ: How do I share raw data with native code?</h2>
 
 <p>You may find yourself in a situation where you need to access a large
-buffer of raw data from code written in Java and C/C++.  Common examples
+buffer of raw data from both managed and native code.  Common examples
 include manipulation of bitmaps or sound samples.  There are two
 basic approaches.</p>
 
 <p>You can store the data in a <code>byte[]</code>.  This allows very fast
-access from code written in Java.  On the native side, however, you're
+access from managed code.  On the native side, however, you're
 not guaranteed to be able to access the data without having to copy it.  In
 some implementations, <code>GetByteArrayElements</code> and
 <code>GetPrimitiveArrayCritical</code> will return actual pointers to the
@@ -674,8 +685,8 @@
 byte buffers, the storage is not allocated on the managed heap, and can
 always be accessed directly from native code (get the address
 with <code>GetDirectBufferAddress</code>).  Depending on how direct
-byte buffer access is implemented in the VM, accessing the data from code
-written in Java can be very slow.</p>
+byte buffer access is implemented, accessing the data from managed code
+can be very slow.</p>
 
 <p>The choice of which to use depends on two factors:</p>
 <ol>
@@ -688,5 +699,4 @@
 </ol>
 
 <p>If there's no clear winner, use a direct byte buffer.  Support for them
-is built directly into JNI, and access to them from code written in
-Java can be made faster with VM improvements.</p>
+is built directly into JNI, and performance should improve in future releases.</p>
diff --git a/docs/html/guide/practices/design/seamlessness.jd b/docs/html/guide/practices/design/seamlessness.jd
index dedc16f..6c73426 100644
--- a/docs/html/guide/practices/design/seamlessness.jd
+++ b/docs/html/guide/practices/design/seamlessness.jd
@@ -171,7 +171,7 @@
 avoid rolling your own as much as possible. Instead, use a Theme. You
 can override or extend those parts of the theme that you need to, but at least
 you're starting from the same UI base as all the other applications. For all
-the details, read <a href="{@docRoot}guide/topics/ui/themes.html">Applying Styles and Themes</a>.</p>
+the details, read <a href="{@docRoot}guide/topics/ui/themes.html">Styles and Themes</a>.</p>
 
 <h2 id="flexui">Design Your UI to Work with Multiple Screen Resolutions</h2>
 
diff --git a/docs/html/guide/practices/ui_guidelines/menu_design.jd b/docs/html/guide/practices/ui_guidelines/menu_design.jd
index 7751a7b..3edf33f 100644
--- a/docs/html/guide/practices/ui_guidelines/menu_design.jd
+++ b/docs/html/guide/practices/ui_guidelines/menu_design.jd
@@ -260,8 +260,8 @@
 <img src={@docRoot}images/menu_design/TaskFlowDiagram.png>
 
 <p>
-  For more technical information on menus, see
-  <a href="{@docRoot}guide/topics/ui/menus.html">Creating Menus</a>.
+  For more technical information on menus, see the
+  <a href="{@docRoot}guide/topics/ui/menus.html">Menus</a> developer guide.
 </p>
 
 <h3 id="commands_fixed">Commands Fixed in an Activity Screen</h4>
diff --git a/docs/html/guide/practices/ui_guidelines/widget_design.jd b/docs/html/guide/practices/ui_guidelines/widget_design.jd
index 49aa498..de20e00 100644
--- a/docs/html/guide/practices/ui_guidelines/widget_design.jd
+++ b/docs/html/guide/practices/ui_guidelines/widget_design.jd
@@ -1,4 +1,4 @@
-page.title=Widget Design Guidelines
+page.title=App Widget Design Guidelines
 parent.title=UI Guidelines
 parent.link=index.html
 @jd:body
@@ -9,268 +9,322 @@
 <h2>Quickview</h2>
 
 <ul>
-<li>Widgets have six standard sizes on the Home screen</li>
-<li>Widgets have standards for size, frames, shadows, and file format, which you can copy</li>
-<li>A few tricks make it easier to design widgets that fit graphically on the Home screen</li>
+  <li>App Widget layouts should be flexible, resizing to fit their parent container</li>
+  <li>As of Android 3.0, app widgets can depict collections of items and provide a representative
+    preview image for the widget gallery</li>
+  <li>As of Android 3.1, app widgets can be resizable horizontally and/or vertically</li>
+  <li>As of Android 4.0, app widgets have margins automatically applied</li>
 </ul>
 
 <h2>In this document</h2>
 
 <ol>
-<li><a href="#anatomy">Standard widget anatomy</a></li>
-<li><a href="#design">Designing a widget</a></li>
-<li><a href="#sizes">Standard widget sizes</a></li>
-<li><a href="#frames">Standard widget frames</a></li>
-<li><a href="#shadows">Standard widget shadows</a></li>
-<li><a href="#tricks">Widget graphics tips and tricks</a></li>
-<li><a href="#file">Widget graphics file format</a></li>
+<li><a href="#anatomy">Standard Widget Anatomy</a></li>
+<li><a href="#design">Designing Widget Layouts and Background Graphics</a></li>
+<li><a href="#templates">Using the App Widget Templates Pack</a></li>
+</ol>
+
+<h2>Downloads</h2>
+
+<ol>
+<li><a href="{@docRoot}shareables/app_widget_templates-v4.0.zip">App Widget Templates Pack,
+  v4.0 &raquo;</a></li>
 </ol>
 
 <h2>See also</h2>
 
 <ol>
 <li><a href="{@docRoot}guide/topics/appwidgets/index.html">App Widgets</a></li>
-<li><a href="http://android-developers.blogspot.com/2009/04/introducing-home-screen-widgets-and.html">AppWidgets blog post</a></li>
+<li>
+  <a href="http://android-developers.blogspot.com/2009/04/introducing-home-screen-widgets-and.html">
+    AppWidgets blog post</a></li>
 </ol>
 
 </div>
 </div>
 
 
-<p>Widgets are a feature introduced in Android 1.5. A widget displays an
-application's most important or timely information at a glance, on a user's Home
-screen. The standard Android system image includes several examples of widgets,
-including widgets for Analog Clock, Music, and other applications.</p>
+<p>App widgets (sometimes just "widgets") are a feature introduced in Android 1.5 and vastly
+improved in Android 3.0 and 3.1. A widget can display an application's most timely or otherwise
+relevant information at a glance, on a user's Home screen. The standard Android system image
+includes several widgets, including a widget for the Analog Clock, Music, and other
+applications.</p>
 
-<p>Users pick the widgets they want to display on their Home screens by touching
-&amp; holding an empty area of the Home screen, selecting Widgets from the menu,
-and then selecting the widget they want.</p>
 
-<p><img src="{@docRoot}images/widget_design/widget_examples.png" alt="Example
-Widgets"></p>
+<img src="{@docRoot}images/widget_design/widget_examples.png"
+  alt="Example app widgets in Android 4.0" id="widget_examples">
 
-<p>This document describes how to design a widget so it fits graphically with
-other widgets and with the other elements of the Android Home screen. It also
-describes some standards for widget artwork and some widget graphics tips and
-tricks from the Android team.<p>
+<p class="img-caption"><strong>Figure 1.</strong> Example app widgets in Android 4.0.</p>
+
+
+<p>This document describes how to design a widget so that it fits graphically with other widgets and
+with the other elements of the Android Home screen such as launcher icons and shortcuts. It also
+describes some standards for widget artwork and some widget graphics tips and tricks.<p>
 
 <p>For information about developing widgets, see the <a
-href="{@docRoot}guide/topics/appwidgets/index.html">AppWidgets</a> section of
-the <em>Developer's Guide</em> and the <a
-href="http://android-developers.blogspot.com/2009/04/introducing-home-screen-widgets-and.html">AppWidgets</a> blog post.</p>
+href="{@docRoot}guide/topics/appwidgets/index.html">App Widgets</a> section of the <em>Developer's
+Guide</em>.</p>
 
 
-<h2 id="anatomy">Standard widget anatomy</h2>
+<h2 id="anatomy">Standard Widget Anatomy</h2>
 
-<p>Typical Android widgets have three main components: A bounding box, a frame,
-and the widget's graphical controls and other elements. Well-designed widgets
-leave some padding between the edges of the bounding box and the frame, and
-between the inner edges of the frame and the widget's controls. Widgets designed
-to fit visually with other widgets on the Home screen take cues from the other
-elements on the Home screen for alignment; they also use standard shading
-effects. All of these details are described in this document.
-
-<p><strong>Standard Widget Sizes in Portrait Orientation</strong><br/>
-<img src="{@docRoot}images/widget_design/widget_sizes_portrait.png"
-alt="Standard Widget Sizes in Portrait Orientation"></p>
-
-<p>&nbsp;</p>
-
-<p><strong>Standard Widget Sizes in Landscape Orientation</strong><br/>
-<img src="{@docRoot}images/widget_design/widget_sizes_landscape.png"
-alt="Standard Widget Sizes in Landscape Orientation"></p>
-
-  
-<h2 id="design">Designing a widget</h2>
-
-<ol>
-<li><strong>Select a bounding box size for your widget.</strong></li>
-
-<p>The most effective widgets display your application's most useful or timely
-data in the smallest widget size. Users will weigh the usefulness or your widget
-against the portion of the Home screen it covers, so the smaller the better.</p>
-
-<p>All widgets must fit within the bounding box of one of the six supported
-widget sizes, or better yet, within a pair of portrait and landscape orientation
-sizes, so your widget looks good when the user switches screen
-orientations.</p> 
-
-<p><a href="#sizes">Standard widget sizes</a> illustrates the bounding
-dimensions of the six widget sizes (three in portrait and three in landscape
-orientation).</p>
+<p>Typical Android app widgets have three main components: A bounding box, a frame, and the widget's
+graphical controls and other elements. App widgets can contain a subset of the View widgets in
+Android; supported controls include text labels, buttons, and images. For a full list of available
+Views, see the <a href="{@docRoot}guide/topics/appwidgets/index.html#CreatingLayout">Creating the
+App Widget Layout</a> section in the <em>Developer's Guide</em>. Well-designed widgets leave some
+margins between the edges of the bounding box and the frame, and padding between the inner edges of
+the frame and the widget's controls.</p>
 
 
-<li><strong>Select a matching frame.</strong></li>
+<img src="{@docRoot}images/widget_design/widget_terms.png"
+  alt="Widgets generally have margins and padding between bounding box, frame, and controls"
+  id="widget_terms">
 
-<p><a href="#frames">Standard widget frames</a> illustrates the standard frames
-for the six widget sizes, with links so you can download copies for your own
-use. You don't have to use these frames for your widget, but if you do, your
-widgets are more likely to fit visually with other widgets.</p>
-
-<li><strong>Apply standard shadow effect to your graphics.</strong></li>
-
-<p>Again, you don't have to use this effect, but <a href="#shadows">Standard
-widget shadows</a> shows the Photoshop settings used for standard widgets.</p>
-
-<li><strong>If your widget includes buttons,  draw them in three states
-(default, pressed, and selected).</strong></li>
-
-<p>You can <a
-href="{@docRoot}images/widget_design/Music_widget_button_states.psd">download a
-Photoshop file that contains the three states of the Play button</a>, taken from
-the Music widget, to analyze the Photoshop settings used for the three standard
-button effects.</p>
-
-<p><a href="{@docRoot}images/widget_design/Music_widget_button_states.psd"> <img
-src="{@docRoot}images/widget_design/buttons.png" alt="Click to download
-Photoshop template"></a></p>
- 
-<li><strong>Finish drawing your artwork and then scale and align it to
-fit.</strong></li>
-
-<p><a href="#tricks">Widget alignment tips and tricks</a> describes some
-techniques for aligning your widget's graphics inside the standard frames, along
-with a few other widget graphics tricks.</p>
-
-<li><strong>Save your widget with the correct graphics file
-settings.</strong></li>
-
-<p><a href="#file">Windows graphics file format</a> describes the correct
-settings for your widget graphics files.</p>
-
-</ol>
+<p class="img-caption"><strong>Figure 2.</strong> Widgets generally have margins between the
+bounding box and frame, and padding between the frame and widget controls.</p>
 
 
-<h2 id="sizes">Standard widget sizes</h2>
+<p class="note"><strong>Note: </strong> As of Android 4.0, app widgets are automatically given
+margins between the widget frame and the app widget's bounding box to provide better alignment with
+other widgets and icons on the user's home screen. To take advantage of this strongly recommended
+behavior, set your application's <a
+href="{@docRoot}guide/topics/manifest/uses-sdk-element.html">targetSdkVersion</a> to 14 or
+greater.</p>
 
-<p>There are six standard widget sizes, based on a Home screen grid of 4 x 4
-(portrait) or 4 x 4 (landscape) cells. These dimensions are the bounding boxes
-for the six standard widget sizes. The contents of typical widgets don't draw to
-the edge of these dimensions, but fit inside a frame withing the bounding box,
-as described in <a href="#design">Designing a widget</a>.</p>
+<p>Widgets designed to fit visually with other widgets on the Home screen take cues from the other
+elements on the Home screen for alignment; they also use standard shading effects. All of these
+details are described in this document.</p>
 
-<p>In portrait orientation, each cell is 80 pixels wide by 100 pixels tall (the
-diagram shows a cell in portrait orientation). The three supported widget sizes
-in portrait orientation are:<p>
 
-<table>
-<tr><th>Cells</th><th>Pixels</th></tr>
-<tr><td>4 x 1</td><td>320 x 100</td></tr>
-<tr><td>3 x 3</td><td>240 x 300</td></tr>
-<tr><td>2 x 2</td><td>160 x 200</td></tr>
+<h3 id="anatomy_determining_size">Determining a size for your widget</h3>
+
+<p>Each widget must define a <code>minWidth</code> and <code>minHeight</code>, indicating the
+minimum amount of space it should consume by default. When users add a widget to their Home screen,
+it will generally occupy more than the minimum width and height you specify. Android Home screens
+offer users a grid of available spaces into which they can place widgets and icons. This grid can
+vary by device; for example, many handsets offer a 4x4 grid, and tablets can offer a larger, 8x7
+grid. <strong>When your widget is added, it will be stretched to occupy the minimum number of cells,
+horizontally and vertically, required to satisfy its <code>minWidth</code> and
+<code>minHeight</code> constraints.</strong> As we discuss in <a href="#design">Designing Widget
+Layouts and Background Graphics</a> below, using nine-patch backgrounds and flexible layouts for app
+widgets will allow your widget to gracefully adapt to the device's Home screen grid and remain
+usable and aesthetically awesome.</p>
+
+<p>While the width and height of a cell&mdash;as well as the amount of automatic margins applied to
+widgets&mdash;may vary across devices, you can use the table below to roughly estimate your widget's
+minimum dimensions, given the desired number of occupied grid cells:</p>
+
+<table id="cellstable">
+  <thead>
+    <tr>
+      <th># of Cells<br><small style="font-weight:normal">(Columns or Rows)</small></th>
+      <th>Available Size (dp)<br><small style="font-weight:normal">(<code>minWidth</code> or
+        <code>minHeight</code>)</small></th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td>1</td>
+      <td>40dp</td>
+    </tr>
+    <tr>
+      <td>2</td>
+      <td>110dp</td>
+    </tr>
+    <tr>
+      <td>3</td>
+      <td>180dp</td>
+    </tr>
+    <tr>
+      <td>4</td>
+      <td>250dp</td>
+    </tr>
+    <tr>
+      <td>&hellip;</td>
+      <td>&hellip;</td>
+    </tr>
+    <tr>
+      <td><em>n</em></td>
+      <td>70 &times; <em>n</em> &minus; 30</td>
+    </tr>
+  </tbody>
 </table>
 
-<p><img src="{@docRoot}images/widget_design/portrait_sizes.png" alt="Widget
-dimensions in portrait orientation"></p>
-
-<p>In landscape orientation, each cell is 106 pixels wide by 74 pixels tall. The
-three supported widget sizes in landscape orientation are:</p>
-
-<table>
-<tr><th>Cells</th><th>Pixels</th></tr>
-<tr><td>4 x 1</td><td>424 x 74</td></tr>
-<tr><td>3 x 3</td><td>318 x 222</td></tr>
-<tr><td>2 x 2</td><td>212 x 148</td></tr>
-</table>
-
-<p><img src="{@docRoot}images/widget_design/landscape_sizes.png" alt="Widget
-dimensions in landscape orientation"></p>
+<p>It is a good practice to be conservative with <code>minWidth</code> and <code>minHeight</code>,
+specifying the minimum size that renders the widget in a good default state. For an example of how
+to provide a <code>minWidth</code> and <code>minHeight</code>, suppose you have a music player
+widget that shows the currently playing song artist and title (vertically stacked), a
+<strong>Play</strong> button, and a <strong>Next</strong> button:</p>
 
 
-<h2 id="frames">Standard widget frames</h2>
+<img src="{@docRoot}images/widget_design/music_example.png"
+  alt="An example music player widget" id="music_example">
 
-<p>For each of the six standard widget sizes there is a standard frame. You can
-click the images of the frames in this section to download a Photoshop file for
-that frame, which you can use for your own widgets.<p>
-
-<p><a href="{@docRoot}images/widget_design/4x1_Widget_Frame_Portrait.psd"> <img
-src="{@docRoot}images/widget_design/4x1_Widget_Frame_Portrait.png" alt="Click to
-download"></a><br>4x1_Widget_Frame_Portrait.psd</p>
-
-<p><a href="{@docRoot}images/widget_design/3x3_Widget_Frame_Portrait.psd"> <img
-src="{@docRoot}images/widget_design/3x3_Widget_Frame_Portrait.png" alt="Click to
-download"></a><br>3x3_Widget_Frame_Portrait.psd</p>
-
-<p><a href="{@docRoot}images/widget_design/2x2_Widget_Frame_Portrait.psd"> <img
-src="{@docRoot}images/widget_design/2x2_Widget_Frame_Portrait.png" alt="Click to
-download"></a><br>2x2_Widget_Frame_Portrait.psd</p>
-
-<p><a href="{@docRoot}images/widget_design/4x1_Widget_Frame_Landscape.psd"> <img
-src="{@docRoot}images/widget_design/4x1_Widget_Frame_Landscape.png" alt="Click
-to download"></a><br>4x1_Widget_Frame_Landscape.psd</p>
-
-<p><a href="{@docRoot}images/widget_design/3x3_Widget_Frame_Landscape.psd"> <img
-src="{@docRoot}images/widget_design/3x3_Widget_Frame_Landscape.png" alt="Click
-to download"></a><br>3x3_Widget_Frame_Landscape.psd</p>
-
-<p><a href="{@docRoot}images/widget_design/2x2_Widget_Frame_Landscape.psd"> <img
-src="{@docRoot}images/widget_design/2x2_Widget_Frame_Landscape.png" alt="Click
-to download"></a><br>2x2_Widget_Frame_Landscape.psd</p>
+<p class="img-caption"><strong>Figure 3.</strong> An example music player widget.</p>
 
 
-<h2 id="shadows">Standard widget shadows</h2>
-
-<p>You can apply a shadow effect to your widget's artwork, so it matches other
-standard Android widgets, using the following settings in the Photoshop Layer
-Style dialog box.</p>
-
-<p><img src="{@docRoot}images/widget_design/Layer_Style.png" alt="Layer Style
-settings for standard shadows"></p>
+<p>Your minimum height should be the height of your two TextViews for the artist and title, plus
+some text margins. Your minimum width should be the minimum usable widths of the
+<strong>Play</strong> and <strong>Next</strong> buttons, plus the minimum text width (say, the width
+of 10 characters), plus any horizontal text margins.</p>
 
 
-<h2 id="tricks">Widget graphics tips and tricks</h2>
+<img src="{@docRoot}images/widget_design/music_example_redline.png"
+alt="Example sizes and margins for minimum width/height calculations" id="music_example_redline">
 
-<p>The Android team has developed a few tricks for aligning widget artwork
-within standard widget bounding boxes and frames, so the widget aligns visually
-with other widgets and the other elements of the Home screen, as well as other
-techniques for creating widgets.
+<p class="img-caption"><strong>Figure 4.</strong> Example sizes and margins for
+<code>minWidth</code>/<code>minHeight</code> calculations. We chose 144dp as an example good minimum
+width for the text labels.</p>
+
+
+<p>Example calculations are below:</p>
 
 <ul>
-
-<li>Use a screen shot from the Android SDK emulator to align both the shapes and
-shadows of your widget controls with the Search widget and with other elements
-on the Home screen.</li>
-
-<p>Cut the widget artwork asset" based on the full size of a cell, including any
-padding you want. (That is, for a 4 x 1 widget, cut the asset at 320 by 100
-pixels.)</p>
-
-<p><img src="{@docRoot}images/widget_design/alignment.png" alt="Aligning widget
-graphics" ></p>
-
-<li>To reduce banding when exporting a widget, apply the following Photoshop Add
-Noise setting to your graphic.</li>
-
-<p><img src="{@docRoot}images/widget_design/Add_Noise.png" alt="Add Noise
-settings for widget graphics" ></p>
-
-<li>Apply 9-patch techniques to shrink the graphic and set the padding of the
-content area. (<a href="{@docRoot}guide/developing/tools/draw9patch.html">See
-the detailed guide here.</a>)</li>
-
-<p><strong>Note:</strong> The current Android widget templates were designed
-using a custom gradient angle, which means the 9-patch techniques can't be used
-to optimize the size of the asset. However, 9-patch techniques were used to set
-the content area padding.</p>
-
-<li>In some cases, devices have low pixel depths that can cause visual banding
-and dithering issues. To solve this, application developers should pass assets
-through a "proxy" drawable defined as <code>XML:<nine-patch
-android:src="@drawable/background" android:dither="true" /></code>. This
-technique references the original artwork, in this case
-<code>"background.9.png"</code>, and instructs the device to dither it as
-needed.</li>
-
+  <li><code>minWidth</code> = 144dp + (2 &times; 8dp) + (2 &times; 56dp) =
+    <strong>272dp</strong></li>
+  <li><code>minHeight</code> = 48dp + (2 &times; 4dp) = <strong>56dp</strong></li>
 </ul>
 
-<h2 id="file">Widget graphics file format</h2>
-
-<p>Save your widget artwork using the appropriate bounding box size in PNG-24
-format on a transparent background and in 8-bit color.</p>
-
-<p><img src="{@docRoot}images/widget_design/file_format.png" alt="Widget graphics file format" ></p>
+<p>If there is any inherent content padding in your widget background nine-patch, you should add to
+<code>minWidth</code> and <code>minHeight</code> accordingly.</p>
 
 
-  
+<h3 id="anatomy_resizable_widgets">Resizable widgets</h3>
 
+<p>Widgets can be resized horizontally and/or vertically as of Android 3.1, meaning that
+<code>minWidth</code> and <code>minHeight</code> effectively become the <em>default</em> size for
+the widget. You can specify the minimum widget size using <code>minResizeWidth</code> and
+<code>minResizeHeight</code>; these values should specify the size below which the widget would be
+illegible or otherwise unusable.</p>
+
+<p>This is generally a preferred feature for collection widgets such as those based on {@link
+android.widget.ListView} or {@link android.widget.GridView}.</p>
+
+
+<h3 id="anatomy_adding_margins">Adding margins to your app widget</h3>
+
+<p>As previously mentioned, Android 4.0 will automatically add small, standard margins to each edge
+of widgets on the Home screen, for applications that specify a <code>targetSdkVersion</code> of 14
+or greater. This helps to visually balance the Home screen, and thus <strong>we recommend that you
+do not add any extra margins outside of your app widget's background shape in Android
+4.0</strong>.</p>
+
+<p>It's easy to write a single layout that has custom margins applied for earlier versions of the
+platform, and has no extra margins for Android 4.0 and greater. See <a
+href="{@docRoot}guide/topics/appwidgets/index.html#AddingMargins">Adding Margins to App Widgets</a>
+in the <em>Developer's Guide</em> for information on how to achieve this with layout XML.</p>
+
+
+<h2 id="design">Designing Widget Layouts and Background Graphics</h2>
+
+<p>Most widgets will have a solid background rectangle or rounded rectangle shape. It is a best
+practice to define this shape using nine patches; one for each screen density (see <a
+href="{@docRoot}guide/practices/screens_support.html">Supporting Multiple Screens</a> for details).
+Nine-patches can be created with the <a
+href="{@docRoot}guide/developing/tools/draw9patch.html">draw9patch</a> tool, or simply with a
+graphics editing program such as Adobe&reg; Photoshop. This will allow the widget background shape
+to take up the entire available space. The nine-patch should be edge-to-edge with no transparent
+pixels providing extra margins, save for perhaps a few border pixels for <strong>subtle</strong>
+drop shadows or other subtle effects.</p>
+
+<p class="note"><strong>Note: </strong> Just like with controls in activities, you should ensure
+that interactive controls have distinct visual focused and pressed states using <a
+href="{@docRoot}guide/topics/resources/drawable-resource.html#StateList">state list
+drawables</a>.</p>
+
+
+<img src="{@docRoot}images/ninepatch_raw.png" alt="Nine-patch border pixels" id="ninepatch_raw">
+
+<p class="img-caption"><strong>Figure 5.</strong> Nine-patch border pixels indicating stretchable
+regions and content padding.</p>
+
+
+<p>Some app widgets, such as those using a {@link android.widget.StackView}, have a transparent
+background. For this case, each individual item in the StackView should use a nine-patch background
+that is edge-to-edge with little or no border transparent pixels for margins.</p>
+
+<p>For the contents of the widget, you should use flexible layouts such as {@link
+android.widget.RelativeLayout}, {@link android.widget.LinearLayout}, or {@link
+android.widget.FrameLayout}. Just as your activity layouts must adapt to different physical screen
+sizes, widget layouts must adapt to different Home screen grid cell sizes.</p>
+
+<p>Below is an example layout that a music widget showing text information and two buttons can use.
+It builds upon the previous discussion of adding margins depending on OS version.</p>
+
+<pre>
+&lt;FrameLayout
+  android:layout_width="match_parent"
+  android:layout_height="match_parent"
+  android:layout_margin="@dimen/widget_margin"&gt;
+
+  &lt;LinearLayout
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="horizontal"
+    android:background="@drawable/my_widget_background"&gt;
+
+    &lt;TextView
+      android:id="@+id/song_info"
+      android:layout_width="0dp"
+      android:layout_height="match_parent"
+      android:layout_weight="1" /&gt;
+
+    &lt;Button
+      android:id="@+id/play_button"
+      android:layout_width="@dimen/my_button_width"
+      android:layout_height="match_parent" /&gt;
+
+    &lt;Button
+      android:id="@+id/skip_button"
+      android:layout_width="@dimen/my_button_width"
+      android:layout_height="match_parent" /&gt;
+  &lt;/LinearLayout&gt;
+&lt;/FrameLayout&gt;
+</pre>
+
+<p>If you now take a look at the example music widget from the previous section, you can begin to
+use flexible layouts attributes like so:</p>
+
+
+<img src="{@docRoot}images/widget_design/music_example_layouts.png"
+  alt="Excerpt flexible layouts and attributes for an example music widget"
+  id="music_example_layouts">
+
+<p class="img-caption"><strong>Figure 6.</strong> Excerpt flexible layouts and attributes.</p>
+
+
+<p>When a user adds the widget to their home screen, on an example Android 4.0 device where each
+grid cell is 80dp &times; 100dp in size and 16dp of margins are automatically applied on all sizes,
+the widget will be stretched, like so:</p>
+
+
+<img src="{@docRoot}images/widget_design/music_example_stretched.png"
+  alt="Music widget sitting on an example 80dp x 100dp grid with 16dp of automatic margins
+  added by the system" id="music_example_stretched">
+
+<p class="img-caption"><strong>Figure 7.</strong> Music widget sitting on an example 80dp x 100dp
+grid with 16dp of automatic margins added by the system.</p>
+
+
+<h2 id="templates">Using the App Widget Templates Pack</h2>
+
+<p>When starting to design a new widget, or updating an existing widget, it's a good idea to first
+look at the widget design templates below. The downloadable package below includes nine-patch
+background graphics, XML, and source Adobe&reg; Photoshop files for multiple screen densities, OS
+version widget styles, and widget colors. The template package also contains graphics useful for
+making your entire widget or parts of your widget (e.g. buttons) interactive.</p>
+
+
+<img src="{@docRoot}images/widget_design/widget_template_excerpts.png"
+  alt="Widget template excerpts" id="widget_template_excerpts">
+
+<p class="img-caption"><strong>Figure 8.</strong> Excerpts from the App Widget Templates Pack
+(medium-density, dark, Android 4.0/previous styles, default/focused/pressed states).</p>
+
+
+<p>You can obtain the latest App Widget Templates Pack archive using the link below:</p>
+
+<p style="margin-left:2em"><a href="{@docRoot}shareables/app_widget_templates-v4.0.zip">
+  Download the App Widget Templates Pack for Android 4.0 &raquo;</a></p>
 
diff --git a/docs/html/guide/topics/appwidgets/index.jd b/docs/html/guide/topics/appwidgets/index.jd
index 78b5b51..20ce701 100644
--- a/docs/html/guide/topics/appwidgets/index.jd
+++ b/docs/html/guide/topics/appwidgets/index.jd
@@ -297,8 +297,7 @@
 
 <p>Creating the App Widget layout is simple if you're
 familiar with <a
-href="{@docRoot}guide/topics/ui/declaring-layout.html">Declaring Layout in
-XML</a>.
+href="{@docRoot}guide/topics/ui/declaring-layout.html">XML Layouts</a>.
 However, you must be aware that App Widget layouts are based on {@link
 android.widget.RemoteViews},
 which do not support every kind of layout or view widget.</p>
@@ -327,6 +326,49 @@
 <p>Descendants of these classes are not supported.</p>
 
 
+<h3 id="AddingMargins">Adding margins to App Widgets</h3>
+
+<p>Widgets should not generally extend to screen edges and should not visually be flush with other widgets, so you should add margins on all sides around your widget frame.</p>
+
+<p>As of Android 4.0, app widgets are automatically given padding between the widget frame and the app widget's bounding box to provide better alignment with other widgets and icons on the user's home screen. To take advantage of this strongly recommended behavior, set your application's <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html">targetSdkVersion</a> to 14 or greater.</p>
+
+<p>It's easy to write a single layout that has custom margins applied for earlier versions of the platform, and has no extra margins for Android 4.0 and greater:</p>
+
+<ol>
+  <li>Set your application's <code>targetSdkVersion</code> to 14 or greater.</li>
+  <li>Create a layout such as the one below, that references a <a href="{@docRoot}guide/topics/resources/more-resources.html#Dimension">dimension resource</a> for its margins:
+
+<pre>
+&lt;FrameLayout
+  android:layout_width="match_parent"
+  android:layout_height="match_parent"
+  <strong>android:layout_margin="@dimen/widget_margin"&gt;</strong>
+
+  &lt;LinearLayout
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="horizontal"
+    android:background="@drawable/my_widget_background"&gt;
+    &hellip;
+  &lt;/LinearLayout&gt;
+
+&lt;/FrameLayout&gt;
+</pre>
+
+  </li>
+  <li>Create two dimensions resources, one in <code>res/values/</code> to provide the pre-Android 4.0 custom margins, and one in <code>res/values-v14/</code> to provide no extra padding for Android 4.0 widgets:
+
+    <p><strong>res/values/dimens.xml</strong>:<br>
+    <pre>&lt;dimen name="widget_margin"&gt;15dp&lt;/dimen&gt;</pre></p>
+
+    <p><strong>res/values-v14/dimens.xml</strong>:<br>
+    <pre>&lt;dimen name="widget_margin"&gt;0dp&lt;/dimen&gt;</pre></p>
+  </li>
+</ol>
+
+<p>Another option is to simply build extra margins into your <a href="{@docRoot}guide/topics/graphics/2d-graphics.html#nine-patch">nine-patch</a> background assets by default, and provide different nine-patches with no margins for API level 14 or later.</p>
+
+
 <h2 id="AppWidgetProvider">Using the AppWidgetProvider Class</h2>
 
 <div class="sidebox-wrapper">
diff --git a/docs/html/guide/topics/fundamentals/fragments.jd b/docs/html/guide/topics/fundamentals/fragments.jd
index 3908a7c..8f61945 100644
--- a/docs/html/guide/topics/fundamentals/fragments.jd
+++ b/docs/html/guide/topics/fundamentals/fragments.jd
@@ -631,8 +631,9 @@
 handle the selected item, then the event is passed to the fragment's callback. This is true for
 the Options Menu and context menus.</p>
 
-<p>For more information about menus, see <a href="{@docRoot}guide/topics/ui/menus.html">Creating
-Menus</a> and <a href="{@docRoot}guide/topics/ui/actionbar.html">Using the Action Bar</a>.</p>
+<p>For more information about menus, see the <a
+href="{@docRoot}guide/topics/ui/menus.html">Menus</a> and <a
+href="{@docRoot}guide/topics/ui/actionbar.html">Action Bar</a> developer guides.</p>
 
 
 
diff --git a/docs/html/guide/topics/graphics/index.jd b/docs/html/guide/topics/graphics/index.jd
index 2490e39..f0a923a 100644
--- a/docs/html/guide/topics/graphics/index.jd
+++ b/docs/html/guide/topics/graphics/index.jd
@@ -150,7 +150,7 @@
 <p class="note"><strong>Note: </strong> In order to request an invalidate from a thread other than your main
 Activity's thread, you must call <code>{@link android.view.View#postInvalidate()}</code>.</p>
 
-<p>Also read <a href="{@docRoot}guide/topics/ui/custom-components.html">Building Custom Components</a>
+<p>Also read <a href="{@docRoot}guide/topics/ui/custom-components.html">Custom Components</a>
 for a guide to extending a View class, and <a href="2d-graphics.html">2D Graphics: Drawables</a> for
 information on using Drawable objects like images from your resources and other primitive shapes.</p>
 
diff --git a/docs/html/guide/topics/resources/layout-resource.jd b/docs/html/guide/topics/resources/layout-resource.jd
index b069521..286e3d1 100644
--- a/docs/html/guide/topics/resources/layout-resource.jd
+++ b/docs/html/guide/topics/resources/layout-resource.jd
@@ -7,7 +7,7 @@
   <div id="qv">
     <h2>See also</h2>
     <ol>
-      <li><a href="{@docRoot}guide/topics/ui/declaring-layout.html">Declaring Layout</a></li>
+      <li><a href="{@docRoot}guide/topics/ui/declaring-layout.html">XML Layouts</a></li>
     </ol>
   </div>
 </div>
@@ -127,8 +127,9 @@
       </dl>
       <p>More attributes are supported by the {@link android.view.View}
       base class, and many more are supported by each implementation of
-      {@link android.view.View}. Read <a href="{@docRoot}guide/topics/ui/declaring-layout.html">Declaring
-      Layout</a> for more information. For a reference of all available attributes,
+      {@link android.view.View}. Read <a
+href="{@docRoot}guide/topics/ui/declaring-layout.html">XML Layouts</a> for more information. For
+a reference of all available attributes,
       see the corresponding reference documentation (for example, the <a
       href="{@docRoot}reference/android/widget/TextView.html#lattrs">TextView XML attributes</a>).</p>
     </dd>
@@ -235,7 +236,8 @@
 <p>You can create your own custom {@link android.view.View} and {@link android.view.ViewGroup}
 elements and apply them to your layout the same as a standard layout
 element. You can also specify the attributes supported in the XML element. To learn more,
-read <a href="{@docRoot}guide/topics/ui/custom-components.html">Building Custom Components</a>.
+see the <a href="{@docRoot}guide/topics/ui/custom-components.html">Custom Components</a> developer
+guide.
 </p>
 
 </dd> <!-- end  elements and attributes -->
@@ -273,7 +275,7 @@
 <dt>see also:</dt>
 <dd>
 <ul>
-  <li><a href="{@docRoot}guide/topics/ui/declaring-layout.html">Declaring Layout</a></li>
+  <li><a href="{@docRoot}guide/topics/ui/declaring-layout.html">XML Layouts</a></li>
   <li>{@link android.view.View}</li>
   <li>{@link android.view.ViewGroup}</li>
 </ul>
diff --git a/docs/html/guide/topics/resources/localization.jd b/docs/html/guide/topics/resources/localization.jd
index 36e12f6..9affb15 100755
--- a/docs/html/guide/topics/resources/localization.jd
+++ b/docs/html/guide/topics/resources/localization.jd
@@ -52,7 +52,7 @@
   <li><a

 href="{@docRoot}resources/tutorials/localization/index.html">Hello, L10N Tutorial</a></li>

     <li><a href="{@docRoot}guide/topics/resources/providing-resources.html">Providing Resources</a></li>

-    <li><a href="{@docRoot}guide/topics/ui/declaring-layout.html">Declaring Layout</a></li>

+    <li><a href="{@docRoot}guide/topics/ui/declaring-layout.html">XML Layouts</a></li>

     <li><a href="{@docRoot}reference/android/app/Activity.html#ActivityLifecycle">Activity Lifecycle</a></li>

 </ol>

 </div>

diff --git a/docs/html/guide/topics/resources/menu-resource.jd b/docs/html/guide/topics/resources/menu-resource.jd
index 5b90ce2..64cdf21 100644
--- a/docs/html/guide/topics/resources/menu-resource.jd
+++ b/docs/html/guide/topics/resources/menu-resource.jd
@@ -7,7 +7,7 @@
   <div id="qv">
     <h2>See also</h2>
     <ol>
-      <li><a href="{@docRoot}guide/topics/ui/menus.html">Creating Menus</a></li>
+      <li><a href="{@docRoot}guide/topics/ui/menus.html">Menus</a></li>
     </ol>
   </div>
 </div>
@@ -15,8 +15,8 @@
 <p>A menu resource defines an application menu (Options Menu, Context Menu, or submenu) that
 can be inflated with {@link android.view.MenuInflater}.</p>
 
-<p>For a guide to using menus, see the <a href="{@docRoot}guide/topics/ui/menus.html">Creating
-Menus</a> document.</p>
+<p>For a guide to using menus, see the <a href="{@docRoot}guide/topics/ui/menus.html">Menus</a>
+developer guide.</p>
 
 <dl class="xml">
 
@@ -132,22 +132,22 @@
 bar. Setting multiple items to always appear as action items can result in them overlapping
 with other UI in the action bar.</td></tr>
           </table>
-          <p>See <a href="{@docRoot}guide/topics/ui/actionbar.html">Using the Action Bar</a> for
-more information.</p>
+          <p>See the <a href="{@docRoot}guide/topics/ui/actionbar.html">Action Bar</a> developer 
+guide for more information.</p>
           <p>Introduced in API Level 11.</p>
         </dd>
 
         <dt><code>android:actionViewLayout</code></dt>
           <dd><em>Layout resource</em>. A layout to use as the action view.
-          <p>See <a href="{@docRoot}guide/topics/ui/actionbar.html">Using the Action Bar</a> for
-more information.</p>
+          <p>See the <a href="{@docRoot}guide/topics/ui/actionbar.html">Action Bar</a> developer 
+guide for more information.</p>
           <p>Introduced in API Level 11.</p></dd>
 
         <dt><code>android:actionViewClassName</code></dt>
           <dd><em>Class name</em>. A fully-qualified class name for the {@link android.view.View}
 to use as the action view.
-          <p>See <a href="{@docRoot}guide/topics/ui/actionbar.html">Using the Action Bar</a> for
-more information.</p>
+          <p>See the <a href="{@docRoot}guide/topics/ui/actionbar.html">Action Bar</a> developer 
+guide for more information.</p>
           <p class="warning"><strong>Warning:</strong> If you obfuscate your code using <a
 href="{@docRoot}guide/developing/tools/proguard.html">ProGuard</a> (or a similar tool),
 be sure to exclude the class you specify in this attribute from renaming, because it can break the
diff --git a/docs/html/guide/topics/resources/more-resources.jd b/docs/html/guide/topics/resources/more-resources.jd
index 5f4d5c2..972eab9 100644
--- a/docs/html/guide/topics/resources/more-resources.jd
+++ b/docs/html/guide/topics/resources/more-resources.jd
@@ -698,7 +698,7 @@
 TypedArray icons = res.{@link android.content.res.Resources#obtainTypedArray(int) obtainTypedArray}(R.array.icons);
 Drawable drawable = icons.{@link android.content.res.TypedArray#getDrawable(int) getDrawable}(0);
 
-TypedArray colors = res.{@link android.content.res.Resources#obtainTypedArray(int) obtainTypedArray}(R.array.icons);
+TypedArray colors = res.{@link android.content.res.Resources#obtainTypedArray(int) obtainTypedArray}(R.array.colors);
 int color = colors.{@link android.content.res.TypedArray#getColor(int,int) getColor}(0,0);
 </pre>
 </dd> <!-- end example -->
diff --git a/docs/html/guide/topics/resources/style-resource.jd b/docs/html/guide/topics/resources/style-resource.jd
index def727c..f6252dba 100644
--- a/docs/html/guide/topics/resources/style-resource.jd
+++ b/docs/html/guide/topics/resources/style-resource.jd
@@ -7,7 +7,7 @@
   <div id="qv">
     <h2>See also</h2>
     <ol>
-      <li><a href="{@docRoot}guide/topics/ui/themes.html">Applying Styles and Themes</a></li>
+      <li><a href="{@docRoot}guide/topics/ui/themes.html">Styles and Themes</a></li>
     </ol>
   </div>
 </div>
@@ -18,7 +18,7 @@
 an entire {@link android.app.Activity} or application (from within the manifest file).</p>
 
 <p>For more information about creating and applying styles, please read
-<a href="{@docRoot}guide/topics/ui/themes.html">Applying Styles and Themes</a>.</p>
+<a href="{@docRoot}guide/topics/ui/themes.html">Styles and Themes</a>.</p>
 
 <p class="note"><strong>Note:</strong> A style is a simple resource that is referenced
 using the value provided in the {@code name} attribute (not the name of the XML file). As
diff --git a/docs/html/guide/topics/search/search-dialog.jd b/docs/html/guide/topics/search/search-dialog.jd
index d869a44..27409d5 100644
--- a/docs/html/guide/topics/search/search-dialog.jd
+++ b/docs/html/guide/topics/search/search-dialog.jd
@@ -748,8 +748,8 @@
 documentation for {@link android.widget.SearchView} and its nested interfaces for the
 appropriate event listeners.</p>
 
-<p>For more information about action views in the Action Bar, read <a
-href="{@docRoot}guide/topics/ui/actionbar.html#ActionView">Using the Action Bar</a> (which
+<p>For more information about action views in the Action Bar, read the <a
+href="{@docRoot}guide/topics/ui/actionbar.html#ActionView">Action Bar</a> developer guide (which
 includes sample code for adding a search widget as an action view).</p>
 
 
@@ -803,8 +803,8 @@
 android.app.Activity#onSearchRequested onSearchRequested()}.</p>
 
 <p>For more information about how items in the Action Bar work and how to handle this situation, see
-the documentation for <a href="{@docRoot}guide/topics/ui/actionbar.html">Using the Action
-Bar</a>.</p>
+the <a href="{@docRoot}guide/topics/ui/actionbar.html">Action
+Bar</a> developer guide.</p>
 
 <p>Also see the <a
 href="{@docRoot}resources/samples/SearchableDictionary/src/com/example/android/searchabledict/
diff --git a/docs/html/guide/topics/security/security.jd b/docs/html/guide/topics/security/security.jd
index 2e31940..1fd9ba0 100644
--- a/docs/html/guide/topics/security/security.jd
+++ b/docs/html/guide/topics/security/security.jd
@@ -20,6 +20,10 @@
 </ol>
 </div>
 </div>
+<p>This document describes how application developers can use the
+security features provided by Android.  A more general <a
+href="http://source.android.com/tech/security/index.html"> Android Security
+Overview</a> is provided in the Android Open Source Project.</p>
 
 <p>Android is a privilege-separated operating system, in which each
 application runs with a distinct system identity (Linux user ID and group
@@ -41,7 +45,7 @@
 e-mails), reading or writing another application's files, performing
 network access, keeping the device awake, etc.</p>
 
-<p>Because the kernel sandboxes applications from each other, applications
+<p>Because Android sandboxes applications from each other, applications
 must explicitly share resources and data. They do this by declaring the
 <em>permissions</em> they need for additional capabilities not provided by
 the basic sandbox. Applications statically declare the permissions they
@@ -50,11 +54,11 @@
 dynamically (at run-time) because it complicates the user experience to the
 detriment of security.</p>
 
-<p>The kernel is solely responsible for sandboxing applications from each
-other. In particular the Dalvik VM is not a security boundary, and any app
-can run native code (see <a href="/sdk/ndk/index.html">the Android NDK</a>).
-All types of applications &mdash; Java, native, and hybrid &mdash; are
-sandboxed in the same way and have the same degree of security from each
+<p>The application sandbox does not depend on the technology used to build
+an application. In particular the Dalvik VM is not a security boundary, and
+any app can run native code (see <a href="/sdk/ndk/index.html">the Android
+NDK</a>). All types of applications &mdash; Java, native, and hybrid &mdash;
+are sandboxed in the same way and have the same degree of security from each
 other.</p>
 
 <a name="signing"></a>
@@ -220,12 +224,13 @@
 </pre>
 
 <p>You can look at the permissions currently defined in the system with the
-shell command <code>adb shell pm list permissions</code>.  In particular,
-the '-s' option displays the permissions in a form roughly similar to how the
-user will see them:</p>
+Settings app and the shell command <code>adb shell pm list permissions</code>.
+To use the Settings app, go to Settings &gt; Applications.  Pick an app and
+scroll down to see the permissions that the app uses. For developers, the adb '-s'
+option displays the permissions in a form similar to how the user will see them:</p>
 
 <pre>
-$ adb shell pm list permissions -s      
+$ adb shell pm list permissions -s
 All Permissions:
 
 Network communication: view Wi-Fi state, create Bluetooth connections, full
diff --git a/docs/html/guide/topics/ui/actionbar.jd b/docs/html/guide/topics/ui/actionbar.jd
index 6f12b95..4742923 100644
--- a/docs/html/guide/topics/ui/actionbar.jd
+++ b/docs/html/guide/topics/ui/actionbar.jd
@@ -1,4 +1,4 @@
-page.title=Using the Action Bar
+page.title=Action Bar
 parent.title=User Interface
 parent.link=index.html
 @jd:body
@@ -49,7 +49,7 @@
   
   <h2>See also</h2>
   <ol>
-    <li><a href="{@docRoot}guide/topics/ui/menus.html">Creating Menus</a></li>
+    <li><a href="{@docRoot}guide/topics/ui/menus.html">Menus</a></li>
   </ol>
 </div>
 </div>
@@ -157,7 +157,7 @@
 
 <p>When the activity first starts, the system populates the Action Bar and overflow menu by calling
 {@link android.app.Activity#onCreateOptionsMenu onCreateOptionsMenu()} for your activity. As
-discussed in the guide to <a href="{@docRoot}guide/topics/ui/menus.html">Creating Menus</a>, it's in
+discussed in the <a href="{@docRoot}guide/topics/ui/menus.html">Menus</a> developer guid, it's in
 this callback method that you define the Options Menu for the activity.</p>
 
 <p>You can specify a menu item to appear as an action item&mdash;if there is room
@@ -211,7 +211,7 @@
 collide with other elements in the Action Bar.</p>
 
 <p>For more information about menus, see the <a
-href="{@docRoot}guide/topics/ui/menus.html#options-menu">Creating Menus</a> developer guide.</p>
+href="{@docRoot}guide/topics/ui/menus.html#options-menu">Menus</a> developer guide.</p>
 
 
 <h3 id="Home">Using the app icon as an action item</h3>
@@ -845,7 +845,7 @@
 </dl>
   
 <p>For more information about using themes in your application, read <a
-href="{@docRoot}guide/topics/ui/themes.html">Applying Styles and Themes</a>.</p>
+href="{@docRoot}guide/topics/ui/themes.html">Styles and Themes</a>.</p>
 
 
 
diff --git a/docs/html/guide/topics/ui/custom-components.jd b/docs/html/guide/topics/ui/custom-components.jd
index 900e08b..be82dbc 100644
--- a/docs/html/guide/topics/ui/custom-components.jd
+++ b/docs/html/guide/topics/ui/custom-components.jd
@@ -1,4 +1,4 @@
-page.title=Building Custom Components
+page.title=Custom Components
 parent.title=User Interface
 parent.link=index.html
 @jd:body
diff --git a/docs/html/guide/topics/ui/declaring-layout.jd b/docs/html/guide/topics/ui/declaring-layout.jd
index 4a574be..4dc915f 100644
--- a/docs/html/guide/topics/ui/declaring-layout.jd
+++ b/docs/html/guide/topics/ui/declaring-layout.jd
@@ -1,4 +1,4 @@
-page.title=Declaring Layout
+page.title=XML Layouts
 parent.title=User Interface
 parent.link=index.html
 @jd:body
diff --git a/docs/html/guide/topics/ui/dialogs.jd b/docs/html/guide/topics/ui/dialogs.jd
index c1272b6..16f14cb 100644
--- a/docs/html/guide/topics/ui/dialogs.jd
+++ b/docs/html/guide/topics/ui/dialogs.jd
@@ -1,4 +1,4 @@
-page.title=Creating Dialogs
+page.title=Dialogs
 parent.title=User Interface
 parent.link=index.html
 @jd:body
diff --git a/docs/html/guide/topics/ui/drag-drop.jd b/docs/html/guide/topics/ui/drag-drop.jd
index 0329c192..93753cc 100644
--- a/docs/html/guide/topics/ui/drag-drop.jd
+++ b/docs/html/guide/topics/ui/drag-drop.jd
@@ -1,4 +1,4 @@
-page.title=Dragging and Dropping
+page.title=Drag and Drop
 parent.title=User Interface
 parent.link=index.html
 @jd:body
@@ -107,7 +107,7 @@
             <a href="{@docRoot}guide/topics/providers/content-providers.html">Content Providers</a>
             </li>
             <li>
-                <a href="{@docRoot}guide/topics/ui/ui-events.html">Handling UI Events</a>
+                <a href="{@docRoot}guide/topics/ui/ui-events.html">Input Events</a>
             </li>
         </ol>
     </div>
diff --git a/docs/html/guide/topics/ui/index.jd b/docs/html/guide/topics/ui/index.jd
index 375c9fe..d3060c5 100644
--- a/docs/html/guide/topics/ui/index.jd
+++ b/docs/html/guide/topics/ui/index.jd
@@ -9,7 +9,7 @@
     <li><a href="#ViewHierarchy">View Hierarchy</a></li>
     <li><a href="#Layout">Layout</a></li>
     <li><a href="#Widgets">Widgets</a></li>
-    <li><a href="#Events">UI Events</a></li>
+    <li><a href="#Events">Input Events</a></li>
     <li><a href="#Menus">Menus</a></li>
     <li><a href="#Advanced">Advanced Topics</a>
       <ol>
@@ -104,7 +104,7 @@
 another LinearLayout (or other type of view group) inside here, to lengthen the view hierarchy and create a more
 complex layout.</p>
 
-<p>For more on building a UI layout, read <a href="declaring-layout.html">Declaring Layout</a>.
+<p>For more on building a UI layout, read <a href="declaring-layout.html">XML Layouts</a>.
 
 <div class="sidebox-wrapper">
 <div class="sidebox">
@@ -132,16 +132,16 @@
 But you're not limited to the kinds of widgets provided by the Android platform. If you'd
 like to do something more customized and create your own actionable elements, you can, by defining your own 
 View object or by extending and combining existing widgets.</p>
-<p>Read more in <a href="custom-components.html">Building Custom Components</a>.</p>
+<p>Read more in the <a href="custom-components.html">Custom Components</a> developer guide.</p>
 
 <p>For a list of the widgets provided by Android, see the {@link android.widget} package.</p>
 
 
-<h2 id="Events">UI Events</h2>
+<h2 id="Events">Input Events</h2>
 
 <p>Once you've added some Views/widgets to the UI, you probably want to know about the 
-user's interaction with them, so you can perform actions. To be informed of UI events, you need to 
-do one of two things:</p>
+user's interaction with them, so you can perform actions. To be informed of user input events, you
+need to do one of two things:</p>
 <ul>
   <li><strong>Define an event listener and register it with the View.</strong> More often than not,
 this is how you'll listen for events. The View class contains a collection of nested interfaces named
@@ -166,8 +166,8 @@
 </li>
 </ul>
 
-<p>Continue reading about handling user interaction with Views in the <a href="ui-events.html">Handling UI Events</a>
-document.</p>
+<p>Continue reading about handling user interaction with Views in the <a
+href="ui-events.html">Input Events</a> document.</p>
 
 
 <h2 id="Menus">Menus</h2>
@@ -192,7 +192,7 @@
 
 <p>And just like your application layout, you have the option to declare the items for you menu in an XML file.</p>
 
-<p>Read <a href="{@docRoot}guide/topics/ui/menus.html">Creating Menus</a> to learn more.</p>
+<p>Read <a href="{@docRoot}guide/topics/ui/menus.html">Menus</a> to learn more.</p>
 
 
 <h2 id="Advanced">Advanced Topics</h2>
@@ -232,4 +232,4 @@
 <p>Styles and themes are resources. Android provides some default style and theme resources that you can use, 
 or you can declare your own custom style and theme resources.</p>
 <p>Learn more about using styles and themes in the
-<a href="themes.html">Applying Styles and Themes</a> document.</p>
+<a href="themes.html">Styles and Themes</a> document.</p>
diff --git a/docs/html/guide/topics/ui/menus.jd b/docs/html/guide/topics/ui/menus.jd
index 984bf8f..2948244 100644
--- a/docs/html/guide/topics/ui/menus.jd
+++ b/docs/html/guide/topics/ui/menus.jd
@@ -1,4 +1,4 @@
-page.title=Creating Menus
+page.title=Menus
 parent.title=User Interface
 parent.link=index.html
 @jd:body
@@ -36,7 +36,7 @@
 
   <h2>See also</h2>
   <ol>
-    <li><a href="{@docRoot}guide/topics/ui/actionbar.html">Using the Action Bar</a></li>
+    <li><a href="{@docRoot}guide/topics/ui/actionbar.html">Action Bar</a></li>
     <li><a href="{@docRoot}guide/topics/resources/menu-resource.html">Menu Resource</a></li>
   </ol>
 </div>
@@ -301,8 +301,8 @@
 items in the Options Menu. If you want to provide menu items that are context-sensitive to a {@link
 android.view.View}, use a <a href="#context-menu">Context Menu</a>.</p>
 
-<p>If you're developing for Android 3.0 or higher, be sure to also read <a
-href="{@docRoot}guide/topics/ui/actionbar.html">Using the Action Bar</a>.</p>
+<p>If you're developing for Android 3.0 or higher, be sure to also read the <a
+href="{@docRoot}guide/topics/ui/actionbar.html">Action Bar</a> developer guide.</p>
 
 
 
diff --git a/docs/html/guide/topics/ui/notifiers/index.jd b/docs/html/guide/topics/ui/notifiers/index.jd
index 8fc57fc..c61d4f0 100644
--- a/docs/html/guide/topics/ui/notifiers/index.jd
+++ b/docs/html/guide/topics/ui/notifiers/index.jd
@@ -1,19 +1,8 @@
-page.title=Notifying the User
+page.title=Notifications
 parent.title=User Interface
 parent.link=../index.html
 @jd:body
 
-<div id="qv-wrapper">
-  <div id="qv">
-    <h2>Topics</h2>
-    <ol>
-      <li><a href="toasts.html">Creating Toast Notifications</a></li>
-      <li><a href="notifications.html">Creating Status Bar Notifications</a></li>
-      <li><a href="{@docRoot}guide/topics/ui/dialogs.html">Creating Dialogs</a></li>
-    </ol>
-  </div>
-</div>
-
 <p>Several types of situations may arise that require you to notify the user 
 about an event that occurs in your application. Some events require the user to respond
 and others do not. For example:</p>
@@ -57,7 +46,7 @@
 the user to respond and take action, consider using a 
 <a href="#StatusBar">Status Bar Notification</a> instead.</p>
 
-<p>For more information, refer to <a href="toasts.html">Creating Toast Notifications</a>.</p>
+<p>For more information, refer to <a href="toasts.html">Toast Notifications</a>.</p>
 
 
 <h2 id="StatusBar">Status Bar Notification</h2>
@@ -79,7 +68,7 @@
 <a href="#Dialog">Dialog Notification</a> instead.</p>
 
 <p>For more information, refer to 
-<a href="notifications.html">Creating Status Bar Notifications</a>.</p>
+<a href="notifications.html">Status Bar Notifications</a>.</p>
 
 
 <h2 id="Dialog">Dialog Notification</h2>
@@ -97,7 +86,7 @@
 in your application's UI and for other purposes besides notifications.
 For a complete discussion on all the available types of dialogs, 
 including its uses for notifications, refer to 
-<a href="{@docRoot}guide/topics/ui/dialogs.html">Creating Dialogs</a>.</p>
+<a href="{@docRoot}guide/topics/ui/dialogs.html">Dialogs</a>.</p>
 
 
 
diff --git a/docs/html/guide/topics/ui/notifiers/notifications.jd b/docs/html/guide/topics/ui/notifiers/notifications.jd
index abc945a..7bc1cde 100644
--- a/docs/html/guide/topics/ui/notifiers/notifications.jd
+++ b/docs/html/guide/topics/ui/notifiers/notifications.jd
@@ -1,5 +1,5 @@
-page.title=Creating Status Bar Notifications
-parent.title=Notifying the User
+page.title=Status Bar Notifications
+parent.title=Notifications
 parent.link=index.html
 @jd:body
 
@@ -12,7 +12,7 @@
       <li>You can attach an intent to your notification that the system will initiate when the
 user clicks it</li>
     </ul>
-    
+
     <h2>In this document</h2>
     <ol>
       <li><a href="#Basics">The Basics</a></li>
@@ -26,7 +26,7 @@
           <li><a href="#More">More features</a></li>
         </ol>
       </li>
-      <li><a href="#CustomExpandedView">Creating a Custom Expanded View</a></li>
+      <li><a href="#CustomExpandedView">Creating a Custom Notification Layout</a></li>
     </ol>
     <h2>Key classes</h2>
     <ol>
@@ -36,57 +36,63 @@
   </div>
 </div>
 
-<p>A status bar notification adds an icon to the system's status bar 
-(with an optional ticker-text message) and an expanded message in the "Notifications" window.
-When the user selects the expanded message, Android fires an 
-{@link android.content.Intent} that is defined by the notification (usually to launch an 
-{@link android.app.Activity}).
+<p>A status bar notification adds an icon to the system's status bar
+(with an optional ticker-text message) and a notification message in the notifications window.
+When the user selects the notification, Android fires an
+{@link android.content.Intent} that is defined by the {@link android.app.Notification} (usually to
+launch an {@link android.app.Activity}).
 You can also configure the notification to alert the user with a sound, a vibration, and flashing
 lights on the device.</p>
 
 <p>A status bar notification should be used for any case in
-which a background Service needs to alert the user about an event that requires a response. A background Service 
-<strong>should never</strong> launch an Activity on its own in order to receive user interaction.
-The Service should instead create a status bar notification that will launch the Activity
+which a background service needs to alert the user about an event that requires a response. A
+background service
+<strong>should never</strong> launch an activity on its own in order to receive user interaction.
+The service should instead create a status bar notification that will launch the activity
 when selected by the user.</p>
 
-<p>The screenshot below shows the status bar with a notification icon on the left side.</p>
+<p>Figure 1 shows the status bar with a notification icon on the left side.</p>
 <img src="{@docRoot}images/status_bar.png" alt="" />
+<p class="img-caption"><strong>Figure 1.</strong> Status bar with a notification.</p>
 
-<p>The next screenshot shows the notification's expanded message in the "Notifications" window.
-The user can reveal the Notifications window by pulling down the status bar
-(or selecting <em>Notifications</em> from the Home options menu).</p>
+<p>Figure 2 shows the notification's message in the notifications window.</p>
+
 <img src="{@docRoot}images/notifications_window.png" alt="" />
+<p class="img-caption"><strong>Figure 2.</strong> The notifications window.</p>
 
 
 <h2 id="Basics">The Basics</h2>
 
-<p>An {@link android.app.Activity} or {@link android.app.Service} can initiate a status bar 
-notification. Because an Activity can perform actions only while it is
-active and in focus, you should create your status bar notifications from a 
-Service. This way, the notification can be created from the background, 
+<p>An {@link android.app.Activity} or {@link android.app.Service} can initiate a status bar
+notification. Because an activity can perform actions only while it is
+running in the foreground and its window has focus, you will usually create status bar notifications
+from a
+service. This way, the notification can be created from the background,
 while the user is using another application or
 while the device is asleep. To create a notification, you must use two
 classes: {@link android.app.Notification} and {@link android.app.NotificationManager}.</p>
 
-<p>Use an instance of the {@link android.app.Notification} class to define the properties of your 
-status bar notification, such as the status bar icon, the expanded message, and extra settings such 
-as a sound to play. The {@link android.app.NotificationManager} is an Android system service that 
-executes and manages all Notifications. You do not instantiate the NotificationManager. In order
-to give it your Notification, you must retrieve a reference to the NotificationManager with
-{@link android.app.Activity#getSystemService(String) getSystemService()} and 
-then, when you want to notify the user, pass it your Notification object with 
+<p>Use an instance of the {@link android.app.Notification} class to define the properties of your
+status bar notification, such as the status bar icon, the notification message, and extra settings
+such as a sound to play. The {@link android.app.NotificationManager} is an Android system service
+that executes and manages all status bar notifications. You do not instantiate the
+{@link android.app.NotificationManager} directly. In order
+to give it your {@link android.app.Notification}, you must retrieve a reference to the
+{@link android.app.NotificationManager} with
+{@link android.app.Activity#getSystemService(String) getSystemService()} and
+then, when you want to notify the user, pass it your {@link android.app.Notification} with
 {@link android.app.NotificationManager#notify(int,Notification) notify()}. </p>
 
 <p>To create a status bar notification:</p>
 <ol>
-  <li>Get a reference to the NotificationManager:
+  <li>Get a reference to the {@link android.app.NotificationManager}:
 <pre>
 String ns = Context.NOTIFICATION_SERVICE;
 NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns);
 </pre>
   </li>
-  <li>Instantiate the Notification:
+  <!-- use Notification.Builder in 3.0 -->
+  <li>Instantiate the {@link android.app.Notification}:
 <pre>
 int icon = R.drawable.notification_icon;
 CharSequence tickerText = "Hello";
@@ -95,7 +101,7 @@
 Notification notification = new Notification(icon, tickerText, when);
 </pre>
   </li>
-  <li>Define the Notification's expanded message and Intent:
+  <li>Define the notification's message and {@link android.app.PendingIntent}:
 <pre>
 Context context = getApplicationContext();
 CharSequence contentTitle = "My notification";
@@ -106,7 +112,7 @@
 notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
 </pre>
   </li>
-  <li>Pass the Notification to the NotificationManager:
+  <li>Pass the {@link android.app.Notification} to the {@link android.app.NotificationManager}:
 <pre>
 private static final int HELLO_ID = 1;
 
@@ -121,38 +127,41 @@
 
 <p>The {@link android.app.NotificationManager} is a system service that manages all
 notifications. You must retrieve a reference to it with the
-{@link android.app.Activity#getSystemService(String) getSystemService()} method. 
+{@link android.app.Activity#getSystemService(String) getSystemService()} method.
 For example:</p>
 <pre>
 String ns = Context.NOTIFICATION_SERVICE;
 NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns);
 </pre>
 
-<p>When you want to send your status bar notification, pass the Notification object
-to the NotificationManager with {@link android.app.NotificationManager#notify(int,Notification)}. 
-The first parameter is the unique ID for the Notification and the second is the Notification object.
-The ID uniquely identifies the Notification from within your
-application. This is necessary if you need to update the Notification or (if
-your application manages different kinds of Notifications) select the appropriate action
-when the user returns to your application via the Intent defined in the Notification.</p>
+<p>When you want to deliver your status bar notification, pass the {@link android.app.Notification}
+to the {@link android.app.NotificationManager} with {@link
+android.app.NotificationManager#notify(int,Notification)}.
+The first parameter is the unique ID for the notification and the second is the {@link
+android.app.Notification} object.
+The ID uniquely identifies the notification from within your
+application. The ID is necessary if you need to update the notification or (if
+your application manages different kinds of notifications) select the appropriate action
+when the user returns to your application via the intent defined in the notification.</p>
 
-<p>To clear the status bar notification when the user selects it from the Notifications
-window, add the "FLAG_AUTO_CANCEL" flag to your Notification object. You can also clear it
-manually with {@link android.app.NotificationManager#cancel(int)}, passing it the notification ID,
-or clear all your Notifications with {@link android.app.NotificationManager#cancelAll()}.</p>
+<p>To clear the status bar notification when the user selects it from the notifications
+window, add the "FLAG_AUTO_CANCEL" flag to your {@link android.app.Notification}. You can
+also clear it manually with {@link android.app.NotificationManager#cancel(int)}, passing it the
+notification ID, or clear all your notifications with {@link
+android.app.NotificationManager#cancelAll()}.</p>
 
 
 <h2 id="CreateANotification">Creating a Notification</h2>
 
 <p>A {@link android.app.Notification} object defines the details of the notification
-message that is displayed in the status bar and "Notifications" window, and any other
+message that is displayed in the status bar and notifications window, and any other
 alert settings, such as sounds and blinking lights.</p>
 
 <p>A status bar notification <em>requires</em> all of the following:</p>
 <ul>
   <li>An icon for the status bar</li>
-  <li>A title and expanded message for the expanded view (unless you define a 
-    <a href="#CustomExpandedView">custom expanded view</a>)</li>
+  <li>A title and message, unless you define a
+    <a href="#CustomExpandedView">custom notification layout</a></li>
   <li>A {@link android.app.PendingIntent}, to be fired when the notification is selected</li>
 </ul>
 <p>Optional settings for the status bar notification include:</p>
@@ -163,18 +172,18 @@
   <li>A flashing LED setting</li>
 </ul>
 
-<p>The starter-kit for a new Notification includes the 
-{@link android.app.Notification#Notification(int,CharSequence,long)} constructor and the 
-{@link android.app.Notification#setLatestEventInfo(Context,CharSequence,CharSequence,PendingIntent)} 
-method. These define all the required settings for a Notification. 
-The following snippet demonstrates a basic Notification setup:</p>
+<p>The starter-kit for a new notification includes the
+{@link android.app.Notification#Notification(int,CharSequence,long)} constructor and the
+{@link android.app.Notification#setLatestEventInfo(Context,CharSequence,CharSequence,PendingIntent)}
+method. These define all the required settings for a notification.
+The following snippet demonstrates a basic notification setup:</p>
 <pre>
 int icon = R.drawable.notification_icon;        // icon from resources
 CharSequence tickerText = "Hello";              // ticker-text
 long when = System.currentTimeMillis();         // notification time
 Context context = getApplicationContext();      // application Context
-CharSequence contentTitle = "My notification";  // expanded message title
-CharSequence contentText = "Hello World!";      // expanded message text
+CharSequence contentTitle = "My notification";  // message title
+CharSequence contentText = "Hello World!";      // message text
 
 Intent notificationIntent = new Intent(this, MyClass.class);
 PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
@@ -187,32 +196,33 @@
 
 <h3 id="Updating">Updating the notification</h3>
 
-<p>You can update the information in your status bar notification as events 
-continue to occur in your application. For example, when a new SMS text message arrives 
-before previous messages have been read, the Messaging application updates the existing 
+<p>You can update the information in your status bar notification as events
+continue to occur in your application. For example, when a new SMS text message arrives
+before previous messages have been read, the Messaging application updates the existing
 notification to display the total number of new messages received.
-This practice of updating an existing Notification is much better than adding new Notifications 
-to the NotificationManager because it avoids clutter in the Notifications window.</p>
+This practice of updating an existing notification is much better than adding new
+notifications, because it avoids clutter in the notifications window.</p>
 
 <p>Because each notification is uniquely identified
-by the NotificationManager with an integer ID, you can revise the notification by calling
-{@link android.app.Notification#setLatestEventInfo(Context,CharSequence,CharSequence,PendingIntent)
-setLatestEventInfo()} with new values, change some field values of the Notification, and then call
+by the {@link android.app.NotificationManager} with an integer ID, you can revise the notification
+by calling {@link
+android.app.Notification#setLatestEventInfo(Context,CharSequence,CharSequence,PendingIntent)
+setLatestEventInfo()} with new values, change some field values of the notification, and then call
 {@link android.app.NotificationManager#notify(int,Notification) notify()} again.</p>
 
 <p>You can revise each property with the object member fields
-(except for the Context and the expanded message title and text). You should always 
-revise the text message when you update the notification by calling
+(except for the {@link android.content.Context} and the notification title and text). You
+should always revise the text message when you update the notification by calling
 {@link android.app.Notification#setLatestEventInfo(Context,CharSequence,CharSequence,PendingIntent)
-setLatestEventInfo()} with new values for <var>contentTitle</var> and <var>contentText</var>. 
-Then call {@link android.app.NotificationManager#notify(int,Notification) notify()} to update the 
-notification. (Of course, if you've created a <a href="#CustomExpandedView">custom expanded 
-view</a>, then updating these title and text values has no effect.)</p>
+setLatestEventInfo()} with new values for <var>contentTitle</var> and <var>contentText</var>.
+Then call {@link android.app.NotificationManager#notify(int,Notification) notify()} to update the
+notification. (Of course, if you've created a <a href="#CustomExpandedView">custom notification
+layout</a>, then updating these title and text values has no effect.)</p>
 
 
 <h3 id="Sound">Adding a sound</h3>
 
-<p>You can alert the user with the default notification sound 
+<p>You can alert the user with the default notification sound
 (which is defined by the user) or with a sound specified by your application.</p>
 
 <p>To use the user's default sound, add "DEFAULT_SOUND" to the <var>defaults</var> field:</p>
@@ -227,31 +237,35 @@
 notification.sound = Uri.parse("file:///sdcard/notification/ringer.mp3");
 </pre>
 
-<p>In the next example, the audio file is chosen from the internal 
+<p>In the next example, the audio file is chosen from the internal
 {@link android.provider.MediaStore.Audio.Media MediaStore}'s {@link android.content.ContentProvider}:</p>
 <pre>
 notification.sound = Uri.withAppendedPath(Audio.Media.INTERNAL_CONTENT_URI, "6");
 </pre>
 
-<p>In this case, the exact ID of the media file ("6") is known and appended to the content 
+<p>In this case, the exact ID of the media file ("6") is known and appended to the content
 {@link android.net.Uri}. If you don't know the exact ID, you must query all the
-media available in the MediaStore with a {@link android.content.ContentResolver}. 
+media available in the {@link android.provider.MediaStore} with a {@link
+android.content.ContentResolver}.
 See the <a href="{@docRoot}guide/topics/providers/content-providers.html">Content Providers</a>
 documentation for more information on using a ContentResolver.</p>
 
 <p>If you want the sound to continuously repeat until the user responds to the notification
-or the notification is cancelled, add "FLAG_INSISTENT" to the <var>flags</var> field.</p>
+or the notification is cancelled, add {@link android.app.Notification#FLAG_INSISTENT} to the
+<var>flags</var> field.</p>
 
-<p class="note"><strong>Note:</strong> If the <var>defaults</var> field includes 
-"DEFAULT_SOUND", then the default sound overrides any sound defined by the <var>sound</var> field.</p>
+<p class="note"><strong>Note:</strong> If the <var>defaults</var> field includes
+{@link android.app.Notification#DEFAULT_SOUND}, then the default sound overrides any sound defined
+by the <var>sound</var> field.</p>
 
 
 <h3 id="Vibration">Adding vibration</h3>
 
-<p>You can alert the user with the the default 
+<p>You can alert the user with the the default
 vibration pattern or with a vibration pattern defined by your application.</p>
 
-<p>To use the default pattern, add "DEFAULT_VIBRATE" to the <var>defaults</var> field:</p>
+<p>To use the default pattern, add {@link android.app.Notification#DEFAULT_VIBRATE} to the
+<var>defaults</var> field:</p>
 <pre>
 notification.defaults |= Notification.DEFAULT_VIBRATE;
 </pre>
@@ -264,30 +278,32 @@
 </pre>
 
 <p>The long array defines the alternating pattern for the length of vibration off and on
-(in milliseconds). The first value is how long to wait (off) before beginning, the second 
-value is the length of the first vibration, the third is the next length off, and so on. 
+(in milliseconds). The first value is how long to wait (off) before beginning, the second
+value is the length of the first vibration, the third is the next length off, and so on.
 The pattern can be as long as you like, but it can't be set to repeat.
 </p>
 
-<p class="note"><strong>Note:</strong> If the <var>defaults</var> field includes 
-"DEFAULT_VIBRATE", then the default vibration overrides any vibration defined by the 
+<p class="note"><strong>Note:</strong> If the <var>defaults</var> field includes
+{@link android.app.Notification#DEFAULT_VIBRATE}, then the default vibration overrides any vibration
+defined by the
 <var>vibrate</var> field.</p>
 
 
 <h3 id="Lights">Adding flashing lights</h3>
 
-<p>To alert the user by flashing LED lights, you can implement the default 
+<p>To alert the user by flashing LED lights, you can implement the default
 light pattern (if available), or define your own color and pattern for the lights.</p>
 
-<p>To use the default light setting, add "DEFAULT_LIGHTS" to the <var>defaults</var> field:</p>
+<p>To use the default light setting, add {@link android.app.Notification#DEFAULT_LIGHTS} to the
+<var>defaults</var> field:</p>
 <pre>
 notification.defaults |= Notification.DEFAULT_LIGHTS;
 </pre>
 
 <p>To define your own color and pattern, define a value for the <var>ledARGB</var> field
-(for the color), the <var>ledOffMS</var> field (length of time, in milliseconds, to 
-keep the light off), the <var>ledOnMS</var> (length of time, in milliseconds, to keep the light on), 
-and also add "FLAG_SHOW_LIGHTS" to the <var>flags</var> field:</p>
+(for the color), the <var>ledOffMS</var> field (length of time, in milliseconds, to
+keep the light off), the <var>ledOnMS</var> (length of time, in milliseconds, to keep the light on),
+and also add {@link android.app.Notification#FLAG_SHOW_LIGHTS} to the <var>flags</var> field:</p>
 <pre>
 notification.ledARGB = 0xff00ff00;
 notification.ledOnMS = 300;
@@ -295,114 +311,161 @@
 notification.flags |= Notification.FLAG_SHOW_LIGHTS;
 </pre>
 
-<p>In this example, the green light repeatedly flashes on for 300 milliseconds and 
-turns off for one second. Not every color in the spectrum is supported by the 
-device LEDs, and not every device supports the same colors, so the hardware 
+<p>In this example, the green light repeatedly flashes on for 300 milliseconds and
+turns off for one second. Not every color in the spectrum is supported by the
+device LEDs, and not every device supports the same colors, so the hardware
 estimates to the best of its ability. Green is the most common notification color.</p>
 
 
 <h3 id="More">More features</h3>
 
 <p>You can add several more features to your notifications
-using Notification fields and flags. Some useful features include the following:</p>
+using {@link android.app.Notification} fields and flags. Some useful features include the
+following:</p>
 
 <dl>
-  <dt>"FLAG_AUTO_CANCEL" flag</dt>
+  <dt>{@link android.app.Notification#FLAG_AUTO_CANCEL} flag</dt>
   <dd>Add this to the <var>flags</var> field to automatically cancel the notification
-  after it is selected from the Notifications window.</dd>
-  <dt>"FLAG_INSISTENT" flag</dt>
+  after it is selected from the notifications window.</dd>
+  <dt>{@link android.app.Notification#FLAG_INSISTENT} flag</dt>
   <dd>Add this to the <var>flags</var> field to repeat the audio until the
   user responds.</dd>
-  <dt>"FLAG_ONGOING_EVENT" flag</dt>
+  <dt>{@link android.app.Notification#FLAG_ONGOING_EVENT} flag</dt>
   <dd>Add this to the <var>flags</var> field to group the notification under the "Ongoing"
-  title in the Notifications window. This indicates that the application is on-going &mdash;
-  its processes is still running in the background, even when the application is not 
+  title in the notifications window. This indicates that the application is on-going &mdash;
+  its processes are still running in the background, even when the application is not
   visible (such as with music or a phone call).</dd>
-  <dt>"FLAG_NO_CLEAR" flag</dt>
-  <dd>Add this to the <var>flags</var> field to indicate that the notification should 
-  <em>not</em> be cleared by the "Clear notifications" button. This is particularly useful if 
+  <dt>{@link android.app.Notification#FLAG_NO_CLEAR} flag</dt>
+  <dd>Add this to the <var>flags</var> field to indicate that the notification should
+  <em>not</em> be cleared by the "Clear notifications" button. This is particularly useful if
   your notification is on-going.</dd>
-  <dt><var>number</var> field</dt>
+  <dt>{@link android.app.Notification#number} field</dt>
   <dd>This value indicates the current number of events represented by the notification.
   The appropriate number is overlaid on top of the status bar icon.
   If you intend to use this field, then you must start with "1" when the Notification is first
   created. (If you change the value from zero to anything greater during an update, the number
   is not shown.)</dd>
-  <dt><var>iconLevel</var> field</dt>
-  <dd>This value indicates the current level of a 
+  <dt>{@link android.app.Notification#iconLevel} field</dt>
+  <dd>This value indicates the current level of a
   {@link android.graphics.drawable.LevelListDrawable} that is used for the notification icon.
-  You can animate the icon in the status bar by changing this value to correlate with the 
+  You can animate the icon in the status bar by changing this value to correlate with the
   drawable's defined in a LevelListDrawable. See the {@link android.graphics.drawable.LevelListDrawable}
   reference for more information.</dd>
 </dl>
 
-<p>See the {@link android.app.Notification} class reference for more information about additional 
+<p>See the {@link android.app.Notification} class reference for more information about additional
 features that you can customize for your application.</p>
 
 
-<h2 id="CustomExpandedView">Creating a Custom Expanded View</h2>
+<h2 id="CustomExpandedView">Creating a Custom Notification Layout</h2>
 
-<img src="{@docRoot}images/custom_message.png" alt="" style="float:right;" />
+<div class="figure" style="width:200px;margin-top:0">
+<img src="{@docRoot}images/custom_message.png" alt="" />
+<p class="img-caption"><strong>Figure 3.</strong> Notification with a custom layout.</p>
+</div>
 
-<p>By default, the expanded view used in the "Notifications" window includes a basic title and text 
-message. These are defined by the <var>contentTitle</var> and <var>contentText</var>
+<p>By default, the notification that appears in the notifications window includes a title
+and the message text.
+These are defined by the <var>contentTitle</var> and <var>contentText</var>
 parameters of the {@link android.app.Notification#setLatestEventInfo(Context,CharSequence,CharSequence,PendingIntent)
-setLatestEventInfo()} method. However, you can also define a custom layout for the expanded view using 
-{@link android.widget.RemoteViews}. The screenshot to the right shows an example of a
-custom expanded view that uses an ImageView and TextView in a LinearLayout.</p>
+setLatestEventInfo()} method. However, you can also define a custom layout for the
+notification using
+{@link android.widget.RemoteViews}. Figure 3 shows an example of a
+custom notification layout. It looks similar to the default notification, but is
+actually created with a custom XML layout.</p>
 
-<p>To define your own layout for the expanded message,
-instantiate a {@link android.widget.RemoteViews} object and
-pass it to the <var>contentView</var> field of your Notification. Pass the
-{@link android.app.PendingIntent} to the <var>contentIntent</var> field.</p>
+<p>To define your own layout for the notification,
+instantiate a {@link android.widget.RemoteViews} object that inflates a custom layout file, then
+pass the {@link android.widget.RemoteViews} to the <var>contentView</var> field of your
+Notification.</p>
 
-<p>Creating a custom expanded view is best understood with an example:</p>
+<p>Creating a custom notification layout is best understood with an example:</p>
 
 <ol>
-  <li>Create the XML layout for the expanded view.
-    For example, create a layout file called <code>custom_notification_layout.xml</code> and 
-    build it like so:
+  <li>Create the XML layout for the notification.
+    For example, the following layout is called <code>custom_notification.xml</code>:
 <pre>
-&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              android:orientation="horizontal"
-              android:layout_width="fill_parent"
-              android:layout_height="fill_parent"
-              android:padding="3dp"
-              >
+&lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/layout"
+    android:layout_width="fill_parent"
+    android:layout_height="fill_parent"
+    android:padding="10dp" >
     &lt;ImageView android:id="@+id/image"
-              android:layout_width="wrap_content"
-              android:layout_height="fill_parent"
-              android:layout_marginRight="10dp"
-              />
+        android:layout_width="wrap_content"
+        android:layout_height="fill_parent"
+        android:layout_alignParentLeft="true"
+        android:layout_marginRight="10dp" />
+    &lt;TextView android:id="@+id/title"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_toRightOf="@id/image"
+        style="@style/NotificationTitle" />
     &lt;TextView android:id="@+id/text"
-              android:layout_width="wrap_content"
-              android:layout_height="fill_parent"
-              android:textColor="#000"
-              />
-&lt;/LinearLayout>
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_toRightOf="@id/image"
+        android:layout_below="@id/title"
+        style="@style/NotificationText" />
+&lt;/RelativeLayout>
 </pre>
 
-    <p>This layout is used for the expanded view,
-    but the content of the ImageView and TextView still needs to be defined by the application.
-    RemoteViews offers some convenient methods that allow you to define this content...</p>
+    <p>Notice that the two {@link android.widget.TextView} elements include the {@code style}
+attribute. It's important that you use style resources for the text in your custom
+notifications, because the background color of the notification can vary across different
+devices and platform versions. Beginning with Android 2.3 (API level 9), the system defines a
+style for the text it uses for the default notification layouts. Thus, you should apply
+that style when running on Android 2.3 or higher to ensure that your text is visible against
+the background.</p>
+
+    <p>For example, to use the standard text colors on versions of Android lower than 2.3, you
+should use the following styles for {@code res/values/styles.xml}:</p>
+<pre>
+&lt;?xml version="1.0" encoding="utf-8"?>
+&lt;resources>
+    &lt;style name="NotificationText">
+      &lt;item name="android:textColor">?android:attr/textColorPrimary&lt;/item>
+    &lt;/style>
+    &lt;style name="NotificationTitle">
+      &lt;item name="android:textColor">?android:attr/textColorPrimary&lt;/item>
+      &lt;item name="android:textStyle">bold&lt;/item>
+    &lt;/style>
+    &lt;!-- If you want a slightly different color for some text,
+         consider using ?android:attr/textColorSecondary -->
+&lt;/resources>
+</pre>
+    <p>Then, to apply the system's default colors for notifications on Android
+2.3 and higher, use the following styles for {@code res/values-v9/styles.xml}:</p>
+<pre>
+&lt;?xml version="1.0" encoding="utf-8"?>
+&lt;resources>
+    &lt;style name="NotificationText" parent="android:TextAppearance.StatusBar.EventContent" />
+    &lt;style name="NotificationTitle" parent="android:TextAppearance.StatusBar.EventContent.Title" />
+&lt;/resources>
+</pre>
+    <p>Now, when running on Android 2.3 (API level 9) or higher, the text in your custom view will
+use the same colors that the system does for default notifications. This is important because later
+versions of Android actually change the background color of the notifications to be dark. Inheriting
+the system's styles ensures that your text will be light in such cases, but also if the background
+is some other unexpected color, your text will also change as appropriate.</p>
   </li>
 
-  <li>In the application code, use the RemoveViews 
+  <li>Now, in the application code, use the RemoveViews
     methods to define the image and text. Then pass the RemoteViews object to the <var>contentView</var>
     field of the Notification, as shown in this example:
 <pre>
 RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.custom_notification_layout);
 contentView.setImageViewResource(R.id.image, R.drawable.notification_image);
-contentView.setTextViewText(R.id.text, "Hello, this message is in a custom expanded view");
+contentView.setTextViewText(R.id.title, "Custom notification");
+contentView.setTextViewText(R.id.text, "This is a custom layout");
 notification.contentView = contentView;
 </pre>
 
-    <p>As shown here, pass the application's package name and the layout 
+    <p>As shown here, pass the application's package name and the layout
     resource ID to the RemoteViews constructor. Then, define the content for the ImageView and TextView,
     using the {@link android.widget.RemoteViews#setImageViewResource(int, int) setImageViewResource()}
     and {@link android.widget.RemoteViews#setTextViewText(int, CharSequence) setTextViewText()}.
     In each case, pass the reference ID of the appropriate View object that you want to set, along with
-    the value for that View. Finally, the RemoteViews object is passed to the Notification in the 
+    the value for that View. Finally, the RemoteViews object is passed to the Notification in the
     <var>contentView</var> field.</p>
   </li>
 
@@ -416,23 +479,23 @@
 notification.contentIntent = contentIntent;
 </pre>
   </li>
-  
+
   <li>The notification can now be sent as usual:
     <pre>mNotificationManager.notify(CUSTOM_VIEW_ID, notification);</pre>
   </li>
 </ol>
 
 
-<p>The RemoteViews class also includes methods that you can use to easily add a 
-{@link android.widget.Chronometer} or {@link android.widget.ProgressBar} 
-in your notification's expanded view. For more information about creating custom layouts with 
-RemoteViews, refer to the {@link android.widget.RemoteViews} class reference.</p>
+<p>The {@link android.widget.RemoteViews} class also includes methods that you can use to easily add
+a {@link android.widget.Chronometer} or {@link android.widget.ProgressBar}
+in your notification's layout. For more information about creating custom layouts for your
+notification, refer to the {@link android.widget.RemoteViews} class reference.</p>
 
-<p class="warning"><strong>Note:</strong>
-When creating a custom expanded view, you must take special care to ensure that your 
-custom layout functions properly in different device orientations and resolutions. While this 
+<p class="caution"><strong>Caution:</strong>
+When creating a custom notification layout, you must take special care to ensure that your
+custom layout functions properly in different device orientations and resolutions. While this
 advice applies to all View layouts created on Android, it is especially important in this case
-because your layout real estate is very restricted. So don't make your custom layout too 
+because your layout real estate is very restricted. So don't make your custom layout too
 complex and be sure to test it in various configurations.</p>
 
 
diff --git a/docs/html/guide/topics/ui/notifiers/toasts.jd b/docs/html/guide/topics/ui/notifiers/toasts.jd
index 0d3e10c..1a1fb1f 100644
--- a/docs/html/guide/topics/ui/notifiers/toasts.jd
+++ b/docs/html/guide/topics/ui/notifiers/toasts.jd
@@ -1,5 +1,5 @@
-page.title=Creating Toast Notifications
-parent.title=Notifying the User
+page.title=Toast Notifications
+parent.title=Notifications
 parent.link=index.html
 @jd:body
 
diff --git a/docs/html/guide/topics/ui/themes.jd b/docs/html/guide/topics/ui/themes.jd
index a213bea..d787492 100644
--- a/docs/html/guide/topics/ui/themes.jd
+++ b/docs/html/guide/topics/ui/themes.jd
@@ -1,4 +1,4 @@
-page.title=Applying Styles and Themes
+page.title=Styles and Themes
 parent.title=User Interface
 parent.link=index.html
 @jd:body
diff --git a/docs/html/guide/topics/ui/ui-events.jd b/docs/html/guide/topics/ui/ui-events.jd
index 7d7bfaf..93bad43 100644
--- a/docs/html/guide/topics/ui/ui-events.jd
+++ b/docs/html/guide/topics/ui/ui-events.jd
@@ -1,4 +1,4 @@
-page.title=Handling UI Events
+page.title=Input Events
 parent.title=User Interface
 parent.link=index.html
 @jd:body
@@ -72,7 +72,8 @@
   <dt><code>onCreateContextMenu()</code></dt>
     <dd>From {@link android.view.View.OnCreateContextMenuListener}. 
     This is called when a Context Menu is being built (as the result of a sustained "long click"). See the discussion
-    on context menus in <a href="{@docRoot}guide/topics/ui/menus.html#context-menu">Creating Menus</a> for more information.</dd>
+    on context menus in the <a href="{@docRoot}guide/topics/ui/menus.html#context-menu">Menus</a>
+    developer guide.</dd>
 </dl>
 
 <p>These methods are the sole inhabitants of their respective interface. To define one of these methods
@@ -159,8 +160,9 @@
 
 <p>If you're building a custom component from  View, then you'll be able to define several callback methods
 used as default event handlers.
-In the document on <a href="{@docRoot}guide/topics/ui/custom-components.html">Building Custom Components</a>,
-you'll learn see some of the common callbacks used for event handling, including:</p>
+In the document about <a href="{@docRoot}guide/topics/ui/custom-components.html">Custom
+Components</a>, you'll learn see some of the common callbacks used for event handling,
+including:</p>
 <ul>
   <li><code>{@link  android.view.View#onKeyDown}</code> - Called when a new key event occurs.</li>
   <li><code>{@link  android.view.View#onKeyUp}</code> - Called when a key up event occurs.</li>
diff --git a/docs/html/guide/topics/usb/adk.jd b/docs/html/guide/topics/usb/adk.jd
index 463ec9c..120576b 100644
--- a/docs/html/guide/topics/usb/adk.jd
+++ b/docs/html/guide/topics/usb/adk.jd
@@ -77,6 +77,10 @@
         DIY Drones</a></li>
 
       <li><a href=
+        "http://mbed.org/order/">
+        mbed</a></li>
+
+      <li><a href=
         "http://www.microchip.com/android">
         Microchip</a></li>
 
@@ -130,6 +134,11 @@
     Drones</a> provides an Arduino-compatible board geared towards RC (radio controlled) and UAV
     (unmanned aerial vehicle) enthusiasts.</li>
 
+    <li><a href="http://mbed.org/order/">mbed</a> provides a microcontroller and a library
+    to develop accessories that support the Android accessory protocol. For more information, see
+    <a href="http://mbed.org/cookbook/mbed-with-Android-ADK">mbed with the Android ADK</a>.
+    </li>
+
     <li><a href="http://www.microchip.com/android">Microchip</a> provides a PIC based USB
     microcontroller board.</li>
 
diff --git a/docs/html/guide/tutorials/notepad/notepad-ex2.jd b/docs/html/guide/tutorials/notepad/notepad-ex2.jd
index 854731f..fed40ab 100644
--- a/docs/html/guide/tutorials/notepad/notepad-ex2.jd
+++ b/docs/html/guide/tutorials/notepad/notepad-ex2.jd
@@ -299,7 +299,8 @@
     in real Android applications.</p>
     <p>Creating a
     good UI is part art and part science, and the rest is work. Mastery of <a
-    href="{@docRoot}guide/topics/ui/declaring-layout.html">Declaring Layout</a> is an essential part of creating
+    href="{@docRoot}guide/topics/ui/declaring-layout.html">XML Layouts</a> is an essential part of
+creating
     a good looking Android application.</p>
     <p>Take a look at the
     <a href="{@docRoot}resources/tutorials/views/index.html">Hello Views</a>
diff --git a/docs/html/images/custom_message.png b/docs/html/images/custom_message.png
index ea7c716..00b7632 100755
--- a/docs/html/images/custom_message.png
+++ b/docs/html/images/custom_message.png
Binary files differ
diff --git a/docs/html/images/widget_design/2x2_Widget_Frame_Landscape.png b/docs/html/images/widget_design/2x2_Widget_Frame_Landscape.png
deleted file mode 100644
index a73a09a..0000000
--- a/docs/html/images/widget_design/2x2_Widget_Frame_Landscape.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/widget_design/2x2_Widget_Frame_Landscape.psd b/docs/html/images/widget_design/2x2_Widget_Frame_Landscape.psd
deleted file mode 100644
index cd869b5..0000000
--- a/docs/html/images/widget_design/2x2_Widget_Frame_Landscape.psd
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/widget_design/2x2_Widget_Frame_Portrait.png b/docs/html/images/widget_design/2x2_Widget_Frame_Portrait.png
deleted file mode 100644
index 95ac031..0000000
--- a/docs/html/images/widget_design/2x2_Widget_Frame_Portrait.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/widget_design/2x2_Widget_Frame_Portrait.psd b/docs/html/images/widget_design/2x2_Widget_Frame_Portrait.psd
deleted file mode 100644
index 9f0a7b0..0000000
--- a/docs/html/images/widget_design/2x2_Widget_Frame_Portrait.psd
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/widget_design/3x3_Widget_Frame_Landscape.png b/docs/html/images/widget_design/3x3_Widget_Frame_Landscape.png
deleted file mode 100644
index 14013dc..0000000
--- a/docs/html/images/widget_design/3x3_Widget_Frame_Landscape.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/widget_design/3x3_Widget_Frame_Landscape.psd b/docs/html/images/widget_design/3x3_Widget_Frame_Landscape.psd
deleted file mode 100644
index 50a2b8c..0000000
--- a/docs/html/images/widget_design/3x3_Widget_Frame_Landscape.psd
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/widget_design/3x3_Widget_Frame_Portrait.png b/docs/html/images/widget_design/3x3_Widget_Frame_Portrait.png
deleted file mode 100644
index 22f99f8..0000000
--- a/docs/html/images/widget_design/3x3_Widget_Frame_Portrait.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/widget_design/3x3_Widget_Frame_Portrait.psd b/docs/html/images/widget_design/3x3_Widget_Frame_Portrait.psd
deleted file mode 100644
index 591e963..0000000
--- a/docs/html/images/widget_design/3x3_Widget_Frame_Portrait.psd
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/widget_design/4x1_Widget_Frame_Landscape.png b/docs/html/images/widget_design/4x1_Widget_Frame_Landscape.png
deleted file mode 100644
index c6a3f7a..0000000
--- a/docs/html/images/widget_design/4x1_Widget_Frame_Landscape.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/widget_design/4x1_Widget_Frame_Landscape.psd b/docs/html/images/widget_design/4x1_Widget_Frame_Landscape.psd
deleted file mode 100644
index ec81179..0000000
--- a/docs/html/images/widget_design/4x1_Widget_Frame_Landscape.psd
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/widget_design/4x1_Widget_Frame_Portrait.png b/docs/html/images/widget_design/4x1_Widget_Frame_Portrait.png
deleted file mode 100644
index 5cc8665..0000000
--- a/docs/html/images/widget_design/4x1_Widget_Frame_Portrait.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/widget_design/4x1_Widget_Frame_Portrait.psd b/docs/html/images/widget_design/4x1_Widget_Frame_Portrait.psd
deleted file mode 100644
index bad7ad1..0000000
--- a/docs/html/images/widget_design/4x1_Widget_Frame_Portrait.psd
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/widget_design/Add_Noise.png b/docs/html/images/widget_design/Add_Noise.png
deleted file mode 100644
index c323bb4..0000000
--- a/docs/html/images/widget_design/Add_Noise.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/widget_design/Layer_Style.png b/docs/html/images/widget_design/Layer_Style.png
deleted file mode 100644
index 7577803..0000000
--- a/docs/html/images/widget_design/Layer_Style.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/widget_design/Music_widget_button_states.psd b/docs/html/images/widget_design/Music_widget_button_states.psd
deleted file mode 100644
index 17f3573..0000000
--- a/docs/html/images/widget_design/Music_widget_button_states.psd
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/widget_design/alignment.png b/docs/html/images/widget_design/alignment.png
deleted file mode 100644
index 2e794dd..0000000
--- a/docs/html/images/widget_design/alignment.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/widget_design/buttons.png b/docs/html/images/widget_design/buttons.png
deleted file mode 100644
index a6d1df2..0000000
--- a/docs/html/images/widget_design/buttons.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/widget_design/file_format.png b/docs/html/images/widget_design/file_format.png
deleted file mode 100644
index 26f0e56..0000000
--- a/docs/html/images/widget_design/file_format.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/widget_design/landscape_sizes.png b/docs/html/images/widget_design/landscape_sizes.png
deleted file mode 100644
index 798bb15..0000000
--- a/docs/html/images/widget_design/landscape_sizes.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/widget_design/music_example.png b/docs/html/images/widget_design/music_example.png
new file mode 100644
index 0000000..885057e
--- /dev/null
+++ b/docs/html/images/widget_design/music_example.png
Binary files differ
diff --git a/docs/html/images/widget_design/music_example_layouts.png b/docs/html/images/widget_design/music_example_layouts.png
new file mode 100644
index 0000000..31601b9
--- /dev/null
+++ b/docs/html/images/widget_design/music_example_layouts.png
Binary files differ
diff --git a/docs/html/images/widget_design/music_example_redline.png b/docs/html/images/widget_design/music_example_redline.png
new file mode 100644
index 0000000..85794b8
--- /dev/null
+++ b/docs/html/images/widget_design/music_example_redline.png
Binary files differ
diff --git a/docs/html/images/widget_design/music_example_stretched.png b/docs/html/images/widget_design/music_example_stretched.png
new file mode 100644
index 0000000..28c2fb3
--- /dev/null
+++ b/docs/html/images/widget_design/music_example_stretched.png
Binary files differ
diff --git a/docs/html/images/widget_design/portrait_sizes.png b/docs/html/images/widget_design/portrait_sizes.png
deleted file mode 100644
index 9da252a..0000000
--- a/docs/html/images/widget_design/portrait_sizes.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/widget_design/widget_examples.png b/docs/html/images/widget_design/widget_examples.png
index e27ffbb..277b69a 100644
--- a/docs/html/images/widget_design/widget_examples.png
+++ b/docs/html/images/widget_design/widget_examples.png
Binary files differ
diff --git a/docs/html/images/widget_design/widget_sizes_landscape.png b/docs/html/images/widget_design/widget_sizes_landscape.png
deleted file mode 100644
index 052e28e..0000000
--- a/docs/html/images/widget_design/widget_sizes_landscape.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/widget_design/widget_sizes_portrait.png b/docs/html/images/widget_design/widget_sizes_portrait.png
deleted file mode 100644
index 31a240c..0000000
--- a/docs/html/images/widget_design/widget_sizes_portrait.png
+++ /dev/null
Binary files differ
diff --git a/docs/html/images/widget_design/widget_template_excerpts.png b/docs/html/images/widget_design/widget_template_excerpts.png
new file mode 100644
index 0000000..aba09e2
--- /dev/null
+++ b/docs/html/images/widget_design/widget_template_excerpts.png
Binary files differ
diff --git a/docs/html/images/widget_design/widget_terms.png b/docs/html/images/widget_design/widget_terms.png
new file mode 100644
index 0000000..5c4d09d
--- /dev/null
+++ b/docs/html/images/widget_design/widget_terms.png
Binary files differ
diff --git a/docs/html/resources/articles/speech-input.jd b/docs/html/resources/articles/speech-input.jd
index 736087e..0867ff2 100644
--- a/docs/html/resources/articles/speech-input.jd
+++ b/docs/html/resources/articles/speech-input.jd
@@ -87,8 +87,8 @@
 regularly. You can use the
 {@link android.speech.RecognizerIntent#ACTION_GET_LANGUAGE_DETAILS}
 broadcast intent to query for the list of supported languages.
-The web search model is available in all three languages, while free-form has
-primarily been optimized for English. As we work hard to support more models in
+The web search model is available for all languages, while the free-form model
+may not be optimized for all languages. As we work hard to support more models in
 more languages, and to improve the accuracy of the speech recognition technology
 we use in our products, Android developers who integrate speech capabilities
 directly into their applications can reap the benefits as well. </p>
diff --git a/docs/html/resources/faq/commontasks.jd b/docs/html/resources/faq/commontasks.jd
index b211db0..c72343a0 100644
--- a/docs/html/resources/faq/commontasks.jd
+++ b/docs/html/resources/faq/commontasks.jd
@@ -268,7 +268,8 @@
     {@link android.app.Activity#finishActivity(int) Activity.finishActivity()}
     on any screens that it opens to close them. </p>
 <a name="listening" id="listening"></a><h2>Listening for Button Clicks</h2>
-<p>Button click and other UI event capturing are covered in <a href="{@docRoot}guide/topics/ui/ui-events.html">Handling UI Events</a> on the UI Design page.</p>
+<p>Button click and other UI event capturing are covered in <a
+href="{@docRoot}guide/topics/ui/ui-events.html">Input Events</a>.</p>
 <a name="configurewindowproperties" id="configurewindowproperties"></a><h2>Configuring General Window Properties</h2>
 <p>You can set a number of general window properties, such as whether to display
     a title, whether the window is floating, and whether it displays an icon, by
@@ -543,7 +544,7 @@
     which enables a  dialog box with an embedded progress bar to send a &quot;I'm working
     on it&quot; notification to the user. </p>
 <a name="addmenuitems" id="addmenuitems"></a><h2>Adding Items to the Screen Menu</h2>
-<p>See <a href="{@docRoot}guide/topics/ui/menus.html">Creating Menus</a>.</p>
+<p>See <a href="{@docRoot}guide/topics/ui/menus.html">Menus</a>.</p>
 
 <a name="webpage" id="webpage"></a><h2>Display a Web Page</h2>
 <p>Use the {@link android.webkit.WebView webkit.WebView} object. </p>
diff --git a/docs/html/resources/faq/security.jd b/docs/html/resources/faq/security.jd
index b0d832b..52ee0d9 100644
--- a/docs/html/resources/faq/security.jd
+++ b/docs/html/resources/faq/security.jd
@@ -7,8 +7,7 @@
     <li><a href="#secure">Is Android Secure?</a></li>
     <li><a href="#issue">I think I found a security flaw. How do I report
     it?</a></li>
-    <li><a href="#informed">How can I stay informed of Android security
-    announcements?</a></li>
+    <li><a href="#informed">How can I stay informed about Android security?</a></li>
     <li><a href="#use">How do I securely use my Android phone?</a></li>
     <li><a href="#malware">I think I found malicious software being distributed
     for Android. How can I help?</a></li>
@@ -26,9 +25,15 @@
 of the most secure mobile platforms available while still fulfilling our goal
 of opening the mobile device space to innovation and competition.</p>
 
-<p>The Android Platform provides a rich <a
+<p> A comprehensive overview  of the <a
+href="http://source.android.com/tech/security/index.html">Android
+security model and Android security processes</a> is provided in the Android
+Open Source Project Website.</p>
+
+<p>Application developers play an important part in the security of Android.
+The Android Platform provides developers with a rich <a
 href="http://code.google.com/android/devel/security.html">security model</a>
-that allows developers to request the capabilities, or access, needed by their 
+that to request the capabilities, or access, needed by their
 application and to define new capabilities that other applications can request.
 The Android user can choose to grant or deny an application's request for
 certain capabilities on the handset.</p>
@@ -49,27 +54,17 @@
 href="http://code.google.com/android/security_at_android_dot_com.txt">PGP
 key</a>.</p>
 
-<p>We appreciate researchers practicing responsible disclosure by emailing us 
-with a detailed summary of the issue and keeping the issue confidential while 
+<p>We appreciate researchers practicing responsible disclosure by emailing us
+with a detailed summary of the issue and keeping the issue confidential while
 users are at risk. In return, we will make sure to keep the researcher informed
 of our progress in issuing a fix and will properly credit the reporter(s) when
-we announce the patch. We will always move swiftly to mitigate or fix an 
-externally-reported flaw and will publicly announce the fix once patches are 
-available to users.</p>
+we provide the patch. We will always move swiftly to mitigate or fix an
+externally-reported flaw and provide updates to users. </p>
 
 
-<a name="informed" id="informed"></a><h2>How can I stay informed of Android
-security announcements?</h2>
+<a name="informed" id="informed"></a><h2>How can I stay informed about Android security?</h2>
 
-<p>An important part of sustainably securing a platform, such as, Android is
-keeping the user and security community informed of bugs and fixes. We will
-publicly announce security bugs when the fixes are available via postings to
-the <a
-href="http://groups.google.com/group/android-security-announce">android-security-announce</a>
-group on Google Groups. You can subscribe to this group as you would a mailing
-list and view the archives here.</p>
-
-<p>For more general discussion of Android platform security, or how to use
+<p>For general discussion of Android platform security, or how to use
 security features in your Android application, please subscribe to <a
 href="http://groups.google.com/group/android-security-discuss">android-security-discuss</a>.
 </p>
@@ -77,35 +72,39 @@
 
 <a name="use" id="use"></a><h2>How do I securely use my Android phone?</h2>
 
-<p>As an open platform, Android allows users to load software from any
-developer onto a device.  As with a home PC, the user must be
+<p>Android was designed so that you can safely use your phone without making
+any changes to the device or installing any special software.  Android applications
+run in an Application Sandbox that limits access to sensitive information or data
+with the users permission.</p>
+
+<p>To fully benefit from the security protections in Android, it is important that
+users only download and install software from known sources.</p>
+
+<p>As an open platform, Android allows users to visit any website and load
+software from any developer onto a device. As with a home PC, the user must be
 aware of who is providing the software they are downloading and must decide
 whether they want to grant the application the capabilities it requests.
 This decision can be informed by the user's judgment of the software
 developer's trustworthiness, and where the software came from.</p>
 
-<p>Despite the security protections in Android, it is important
-for users to only download and install software from developers they trust.
-More details on how Android users can make smart security decisions will be
-released when consumer devices become available.</p>
-
 
 <a name="malware" id="malware"></a><h2>I think I found malicious software being
 distributed for Android. How can I help?</h2>
 
-<p>Like any other open platform, it will be possible for unethical developers
+<p>Like any other platform, it will be possible for unethical developers
 to create malicious software, known as <a
 href="http://en.wikipedia.org/wiki/Malware">malware</a>, for Android. If you
-think somebody is trying to spread malware, please let us know at <a 
+think somebody is trying to spread malware, please let us know at <a
 href="mailto:security@android.com">security@android.com</a>. Please include as
 much detail about the application as possible, with the location it is
 being distributed from and why you suspect it of being malicious software.</p>
 
-<p>The term <i>malicious software</i> is subjective, and we cannot make an 
+<p>The term <i>malicious software</i> is subjective, and we cannot make an
 exhaustive definition.  Some examples of what the Android Security Team believes
 to be malicious software is any application that:
 <ul>
-    <li>drains the device's battery very quickly;</li>
+    <li>uses a bug or security vulnerability to gain permissions that have not
+    been granted by the user</li>
     <li>shows the user unsolicited messages (especially messages urging the
     user to buy something);</li>
     <li>resists (or attempts to resist) the user's effort to uninstall it;</li>
@@ -122,7 +121,7 @@
 </p>
 
 
-<a name="fixes" id="fixes"></a><h2>How will Android-powered devices receive security
+<a name="fixes" id="fixes"></a><h2>How do Android-powered devices receive security
 fixes?</h2>
 
 <p>The manufacturer of each device is responsible for distributing software
@@ -130,27 +129,24 @@
 automatically with software downloaded "over the air", while some devices
 require the user to upgrade them manually.</p>
 
-<p>When Android-powered devices are publicly available, this FAQ will provide links how
-Open Handset Alliance members release updates.</p>
+<p>Google provides software updates for a number of Android devices, including
+the <a href="http://www.google.com/nexus">Nexus</a>
+series of devices, using an "over the air" (OTA) update. These updates may include
+security fixes as well as new features.</p>
 
 <a name="directfix" id="directfix"></a><h2>Can I get a fix directly from the
 Android Platform Project?</h2>
 
-<p>Android is a mobile platform that will be released as open source and
-available for free use by anybody. This means that there will be many
-Android-based products available to consumers, and most of them will be created
+<p>Android is a mobile platform that is released as open source and
+available for free use by anybody. This means that there are many
+Android-based products available to consumers, and most of them are created
 without the knowledge or participation of the Android Open Source Project. Like
 the maintainers of other open source projects, we cannot build and release
 patches for the entire ecosystem of products using Android. Instead, we will
 work diligently to find and fix flaws as quickly as possible and to distribute
-those fixes to the manufacturers of the products.</p>
+those fixes to the manufacturers of the products through the open source project.</p>
 
-<p>In addition, We will add security fixes to the open source distribution of
-Android and publicly announce the changes on <a 
-href="http://groups.google.com/group/android-security-announce">android-security-announce</a>.
-</p>
-
-<p>If you are making an Android-powered device and would like to know how you can 
+<p>If you are making an Android-powered device and would like to know how you can
 properly support your customers by keeping abreast of software updates, please
 contact us at <a
 href="mailto:info@openhandsetalliance.com">info@openhandsetalliance.com</a>.</p>
diff --git a/docs/html/resources/resources-data.js b/docs/html/resources/resources-data.js
index 720e143..c0a2284 100644
--- a/docs/html/resources/resources-data.js
+++ b/docs/html/resources/resources-data.js
@@ -31,7 +31,8 @@
   },
   misc: {
     'external': 'External',
-    'new': 'New'
+    'new': 'New',
+    'updated': 'Updated'
   }
 };
 
@@ -322,6 +323,16 @@
     }
   },
   {
+    tags: ['article', 'accountsync', 'data'],
+    path: 'articles/contacts.html',
+    title: {
+      en: 'Using the Contacts API'
+    },
+    description: {
+      en: 'Android provides a Contacts API for managing and integrating contacts from multiple accounts and data sources and allows apps to read various information about individual contacts.'
+    }
+  },
+  {
     tags: ['article', 'ui', 'web'],
     path: 'articles/using-webviews.html',
     title: {
@@ -377,7 +388,7 @@
 ///////////////////
  
   {
-    tags: ['sample', 'new'],
+    tags: ['sample'],
     path: 'samples/AccelerometerPlay/index.html',
     title: {
       en: 'Accelerometer Play'
@@ -387,7 +398,7 @@
     }
   },
   {
-    tags: ['sample', 'new', 'accessibility'],
+    tags: ['sample', 'accessibility'],
     path: 'samples/AccessibilityService/index.html',
     title: {
       en: 'Accessibility Service'
@@ -397,6 +408,26 @@
     }
   },
   {
+    tags: ['sample', 'new', 'ui', 'compatibility', 'newfeature'],
+    path: 'samples/ActionBarCompat/index.html',
+    title: {
+      en: 'Action Bar Compatibility'
+    },
+    description: {
+      en: 'Shows how to use the action bar on both pre-API 11 and API 11+ devices, maximizing code re-use.'
+    }
+  },
+  {
+    tags: ['sample', 'new'],
+    path: 'samples/AndroidBeam/index.html',
+    title: {
+      en: 'Android Beam'
+    },
+    description: {
+      en: 'An example of how to use the Android Beam feature to send messages between two Android-powered devices (API level 14 or later) that support NFC.'
+    }
+  },
+  {
     tags: ['sample', 'layout', 'ui'],
     path: 'samples/ApiDemos/index.html',
     title: {
@@ -407,7 +438,7 @@
     }
   },
   {
-    tags: ['sample', 'layout', 'ui', 'fragment', 'loader', 'new'],
+    tags: ['sample', 'layout', 'ui', 'fragment', 'loader'],
     path: 'samples/Support4Demos/index.html',
     title: {
       en: 'API 4+ Support Demos'
@@ -417,7 +448,7 @@
     }
   },
   {
-    tags: ['sample', 'layout', 'ui', 'new'],
+    tags: ['sample', 'layout', 'ui'],
     path: 'samples/Support13Demos/index.html',
     title: {
       en: 'API 13+ Support Demos'
@@ -487,13 +518,13 @@
     }
   },
   {
-    tags: ['sample', 'new', 'newfeature', 'ui'],
+    tags: ['sample', 'updated', 'newfeature', 'ui'],
     path: 'samples/HoneycombGallery/index.html',
     title: {
       en: 'Honeycomb Gallery'
     },
     description: {
-      en: 'An image gallery application using APIs that are new in Android 3.0 (a.k.a. Honeycomb).'
+      en: 'An image gallery application that demonstrates a variety of new APIs in Android 3.0 (Honeycomb). In addition to providing a tablet-optimized design, it also supports handsets running Android 4.0 (Ice Cream Sandwich) and beyond, so is a good example of how to reuse Fragments to support different screen sizes.'
     }
   },
   {
@@ -547,17 +578,17 @@
     }
   },
   {
-    tags: ['sample', 'new', 'media' ],
+    tags: ['sample', 'media', 'updated'],
     path: 'samples/RandomMusicPlayer/index.html',
     title: {
       en: 'Random Music Player'
     },
     description: {
-      en: 'Demonstrates how to write a multimedia application that plays music from the device and from URLs. It manages media playback from a service and can play music in the background, respecting audio focus changes.'
+      en: 'Demonstrates how to write a multimedia application that plays music from the device and from URLs. It manages media playback from a service and can play music in the background, respecting audio focus changes. Also shows how to use the new Remote Control APIs in API level 14.'
     }
   },
   {
-    tags: ['sample', 'new', 'newfeature', 'performance', 'gamedev', 'gl'],
+    tags: ['sample', 'newfeature', 'performance', 'gamedev', 'gl'],
     path: 'samples/RenderScript/index.html',
     title: {
       en: 'RenderScript'
@@ -567,6 +598,16 @@
     }
   },
   {
+    tags: ['sample', 'input', 'new'],
+    path: 'samples/SampleSpellCheckerService/index.html',
+    title: {
+      en: 'Spell Checker'
+    },
+    description: {
+      en: 'An example spell checker service, using the <a href="'+toRoot+'reference/android/service/textservice/SpellCheckerService.html"><code>SpellCheckerservice</code></a>.'
+    }
+  },
+  {
     tags: ['sample', 'accountsync'],
     path: 'samples/SampleSyncAdapter/index.html',
     title: {
@@ -637,7 +678,7 @@
     }
   },
   {
-    tags: ['sample', 'new', 'newfeature', 'widgets'],
+    tags: ['sample', 'newfeature', 'widgets'],
     path: 'samples/StackWidget/index.html',
     title: {
       en: 'StackView Widget'
@@ -667,7 +708,7 @@
     }
   },
   {
-    tags: ['sample', 'new', 'newfeature'],
+    tags: ['sample', 'newfeature'],
     path: 'samples/USB/index.html',
     title: {
       en: 'USB'
@@ -680,10 +721,10 @@
     tags: ['sample', 'data', 'new'],
     path: 'samples/VoicemailProviderDemo/index.html',
     title: {
-      en: 'Voicemail Provider Demo'
+      en: 'Voicemail Provider'
     },
     description: {
-      en: 'A sample application to demonstrate how to use voicemail content provider APIs.'
+      en: 'A sample application to demonstrate how to use voicemail content provider APIs in Android 4.0.'
     }
   },
   {
@@ -707,7 +748,7 @@
     }
   },
   {
-    tags: ['sample', 'widgets', 'newfeature', 'new'],
+    tags: ['sample', 'widgets', 'newfeature'],
     path: 'samples/WeatherListWidget/index.html',
     title: {
       en: 'Weather List Widget'
@@ -733,7 +774,7 @@
       en: 'Text To Speech Engine'
     },
     description: {
-      en: 'An example Text To Speech engine written using the android text to speech engine API.'
+      en: 'An example Text To Speech engine written using the Android text to speech engine API in Android 4.0.'
     }
   },
 
diff --git a/docs/html/resources/samples/images/ActionBarCompat1.png b/docs/html/resources/samples/images/ActionBarCompat1.png
new file mode 100644
index 0000000..64d3e66
--- /dev/null
+++ b/docs/html/resources/samples/images/ActionBarCompat1.png
Binary files differ
diff --git a/docs/html/resources/samples/images/ActionBarCompat2.png b/docs/html/resources/samples/images/ActionBarCompat2.png
new file mode 100644
index 0000000..04a7e6c
--- /dev/null
+++ b/docs/html/resources/samples/images/ActionBarCompat2.png
Binary files differ
diff --git a/docs/html/resources/tutorials/notepad/notepad-ex2.jd b/docs/html/resources/tutorials/notepad/notepad-ex2.jd
index 499b796..7e3288f1 100644
--- a/docs/html/resources/tutorials/notepad/notepad-ex2.jd
+++ b/docs/html/resources/tutorials/notepad/notepad-ex2.jd
@@ -299,7 +299,8 @@
     in real Android applications.</p>
     <p>Creating a
     good UI is part art and part science, and the rest is work. Mastery of <a
-    href="{@docRoot}guide/topics/ui/declaring-layout.html">Declaring Layout</a> is an essential part of creating
+    href="{@docRoot}guide/topics/ui/declaring-layout.html">XML Layouts</a> is an essential part of
+creating
     a good looking Android application.</p>
     <p>Take a look at the
     <a href="{@docRoot}resources/tutorials/views/index.html">Hello Views</a>
diff --git a/docs/html/sdk/android-3.2.jd b/docs/html/sdk/android-3.2.jd
index 5618eae..ea2b4ed 100644
--- a/docs/html/sdk/android-3.2.jd
+++ b/docs/html/sdk/android-3.2.jd
@@ -166,7 +166,7 @@
 reserved by the system.
 </li>
 
-<li>In constrast, a screen's <em>width</em> and <em>height</em> represent the
+<li>In contrast, a screen's <em>width</em> and <em>height</em> represent the
 current horizontal or vertical space available for application layout, measured
 in "dp" units, not including screen areas reserved by the system. The width and
 height of a screen change when the user switches orientation between landscape
@@ -313,7 +313,7 @@
 the system forces the application into screen compatibility mode, to ensure best
 display on the current screen.</li>
 
-<li><code>android:smallestWidthLimitDp="<em>numDp"</em></code> &mdash; This
+<li><code>android:requiresSmallestWidthDp="<em>numDp"</em></code> &mdash; This
 attribute lets you specify the minimum smallestWidth on which the application
 can run. If the current screen is smaller than the value specified, the system
 considers the application incompatible with the device, but does not prevent it
diff --git a/docs/html/sdk/api_diff/14/changes.html b/docs/html/sdk/api_diff/14/changes.html
new file mode 100644
index 0000000..40016d1
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/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 Oct 04 17:12:08 PDT 2011 -->
+<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 13 and 14
+</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/14/changes/alldiffs_index_additions.html b/docs/html/sdk/api_diff/14/changes/alldiffs_index_additions.html
new file mode 100644
index 0000000..d63c137
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/alldiffs_index_additions.html
@@ -0,0 +1,3116 @@
+<!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>
+<!-- Field accessibilityEventTypes -->
+<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="#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">
+<nobr><A HREF="android.R.attr.html#android.R.attr.accessibilityEventTypes" class="hiddenlink" target="rightframe">accessibilityEventTypes</A>
+</nobr><br>
+<!-- Field accessibilityFeedbackType -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.accessibilityFeedbackType" class="hiddenlink" target="rightframe">accessibilityFeedbackType</A>
+</nobr><br>
+<!-- Field accessibilityFlags -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.accessibilityFlags" class="hiddenlink" target="rightframe">accessibilityFlags</A>
+</nobr><br>
+<!-- Class AccessibilityManager.AccessibilityStateChangeListener -->
+<A HREF="pkg_android.view.accessibility.html#AccessibilityManager.AccessibilityStateChangeListener" class="hiddenlink" target="rightframe"><b><i>AccessibilityManager.AccessibilityStateChangeListener</i></b></A><br>
+<!-- Class AccessibilityNodeInfo -->
+<A HREF="pkg_android.view.accessibility.html#AccessibilityNodeInfo" class="hiddenlink" target="rightframe"><b>AccessibilityNodeInfo</b></A><br>
+<!-- Class AccessibilityRecord -->
+<A HREF="pkg_android.view.accessibility.html#AccessibilityRecord" class="hiddenlink" target="rightframe"><b>AccessibilityRecord</b></A><br>
+<!-- Field ACTION_APP_ERROR -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_APP_ERROR" class="hiddenlink" target="rightframe">ACTION_APP_ERROR</A>
+</nobr><br>
+<!-- Field ACTION_HOVER_ENTER -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_HOVER_ENTER" class="hiddenlink" target="rightframe">ACTION_HOVER_ENTER</A>
+</nobr><br>
+<!-- Field ACTION_HOVER_EXIT -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_HOVER_EXIT" class="hiddenlink" target="rightframe">ACTION_HOVER_EXIT</A>
+</nobr><br>
+<!-- Field ACTION_INSTALL_PACKAGE -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_INSTALL_PACKAGE" class="hiddenlink" target="rightframe">ACTION_INSTALL_PACKAGE</A>
+</nobr><br>
+<!-- Field ACTION_MANAGE_NETWORK_USAGE -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_MANAGE_NETWORK_USAGE" class="hiddenlink" target="rightframe">ACTION_MANAGE_NETWORK_USAGE</A>
+</nobr><br>
+<!-- Field ACTION_NEW_PICTURE -->
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.ACTION_NEW_PICTURE" class="hiddenlink" target="rightframe">ACTION_NEW_PICTURE</A>
+</nobr><br>
+<!-- Field ACTION_NEW_VIDEO -->
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.ACTION_NEW_VIDEO" class="hiddenlink" target="rightframe">ACTION_NEW_VIDEO</A>
+</nobr><br>
+<!-- Field ACTION_NFCSHARING_SETTINGS -->
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_NFCSHARING_SETTINGS" class="hiddenlink" target="rightframe">ACTION_NFCSHARING_SETTINGS</A>
+</nobr><br>
+<!-- Field ACTION_PACKAGE_FULLY_REMOVED -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_PACKAGE_FULLY_REMOVED" class="hiddenlink" target="rightframe">ACTION_PACKAGE_FULLY_REMOVED</A>
+</nobr><br>
+<!-- Field ACTION_PACKAGE_NEEDS_VERIFICATION -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_PACKAGE_NEEDS_VERIFICATION" class="hiddenlink" target="rightframe">ACTION_PACKAGE_NEEDS_VERIFICATION</A>
+</nobr><br>
+<!-- Field ACTION_SCO_AUDIO_STATE_UPDATED -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.ACTION_SCO_AUDIO_STATE_UPDATED" class="hiddenlink" target="rightframe">ACTION_SCO_AUDIO_STATE_UPDATED</A>
+</nobr><br>
+<!-- Field ACTION_UNINSTALL_PACKAGE -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_UNINSTALL_PACKAGE" class="hiddenlink" target="rightframe">ACTION_UNINSTALL_PACKAGE</A>
+</nobr><br>
+<!-- Field actionBarDivider -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.actionBarDivider" class="hiddenlink" target="rightframe">actionBarDivider</A>
+</nobr><br>
+<!-- Field actionBarItemBackground -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.actionBarItemBackground" class="hiddenlink" target="rightframe">actionBarItemBackground</A>
+</nobr><br>
+<!-- Field actionBarSplitStyle -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.actionBarSplitStyle" class="hiddenlink" target="rightframe">actionBarSplitStyle</A>
+</nobr><br>
+<!-- Field actionBarWidgetTheme -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.actionBarWidgetTheme" class="hiddenlink" target="rightframe">actionBarWidgetTheme</A>
+</nobr><br>
+<!-- Field actionModeSelectAllDrawable -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.actionModeSelectAllDrawable" class="hiddenlink" target="rightframe">actionModeSelectAllDrawable</A>
+</nobr><br>
+<!-- Field actionModeSplitBackground -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.actionModeSplitBackground" class="hiddenlink" target="rightframe">actionModeSplitBackground</A>
+</nobr><br>
+<!-- Field actionModeStyle -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.actionModeStyle" class="hiddenlink" target="rightframe">actionModeStyle</A>
+</nobr><br>
+<!-- Class ActionProvider -->
+<A HREF="pkg_android.view.html#ActionProvider" class="hiddenlink" target="rightframe"><b>ActionProvider</b></A><br>
+<!-- Field actionProviderClass -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.actionProviderClass" class="hiddenlink" target="rightframe">actionProviderClass</A>
+</nobr><br>
+<!-- Constructor AdapterViewAnimator -->
+<nobr><A HREF="android.widget.AdapterViewAnimator.html#android.widget.AdapterViewAnimator.ctor_added(android.content.Context, android.util.AttributeSet, int)" class="hiddenlink" target="rightframe"><b>AdapterViewAnimator</b>
+(<code>Context, AttributeSet, int</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Field ADD_VOICEMAIL -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.ADD_VOICEMAIL" class="hiddenlink" target="rightframe">ADD_VOICEMAIL</A>
+</nobr><br>
+<!-- Method addAccessibilityStateChangeListener -->
+<nobr><A HREF="android.view.accessibility.AccessibilityManager.html#android.view.accessibility.AccessibilityManager.addAccessibilityStateChangeListener_added(android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener)" class="hiddenlink" target="rightframe"><b>addAccessibilityStateChangeListener</b>
+(<code>AccessibilityStateChangeListener</code>)</A></nobr><br>
+<!-- Method addF64 -->
+<i>addF64</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addF64_added(android.renderscript.Double2)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Double2</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+<!-- Method addF64 -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addF64_added(android.renderscript.Double3)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Double3</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+<!-- Method addF64 -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addF64_added(android.renderscript.Double4)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Double4</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+<!-- Method addI64 -->
+<i>addI64</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addI64_added(android.renderscript.Long2)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Long2</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+<!-- Method addI64 -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addI64_added(android.renderscript.Long3)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Long3</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+<!-- Method addI64 -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addI64_added(android.renderscript.Long4)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Long4</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+<!-- Method addU64 -->
+<i>addU64</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addU64_added(android.renderscript.Long2)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Long2</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+<!-- Method addU64 -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addU64_added(android.renderscript.Long3)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Long3</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+<!-- Method addU64 -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addU64_added(android.renderscript.Long4)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Long4</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+<!-- Field alignmentMode -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.alignmentMode" class="hiddenlink" target="rightframe">alignmentMode</A>
+</nobr><br>
+<!-- Field ALPHA -->
+<nobr><A HREF="android.view.View.html#android.view.View.ALPHA" class="hiddenlink" target="rightframe">ALPHA</A>
+</nobr><br>
+<!-- Package android.media.effect -->
+<A HREF="changes-summary.html#android.media.effect" class="hiddenlink" target="rightframe"><b>android.media.effect</b></A><br>
+<!-- Package android.net.wifi.p2p -->
+<A HREF="changes-summary.html#android.net.wifi.p2p" class="hiddenlink" target="rightframe"><b>android.net.wifi.p2p</b></A><br>
+<!-- Package android.security -->
+<A HREF="changes-summary.html#android.security" class="hiddenlink" target="rightframe"><b>android.security</b></A><br>
+<!-- Package android.service.textservice -->
+<A HREF="changes-summary.html#android.service.textservice" class="hiddenlink" target="rightframe"><b>android.service.textservice</b></A><br>
+<!-- Package android.view.textservice -->
+<A HREF="changes-summary.html#android.view.textservice" class="hiddenlink" target="rightframe"><b>android.view.textservice</b></A><br>
+<!-- Method appendRecord -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.appendRecord_added(android.view.accessibility.AccessibilityRecord)" class="hiddenlink" target="rightframe"><b>appendRecord</b>
+(<code>AccessibilityRecord</code>)</A></nobr><br>
+<!-- Class Application.ActivityLifecycleCallbacks -->
+<A HREF="pkg_android.app.html#Application.ActivityLifecycleCallbacks" class="hiddenlink" target="rightframe"><b><i>Application.ActivityLifecycleCallbacks</i></b></A><br>
+<!-- Class ApplicationErrorReport -->
+<A HREF="pkg_android.app.html#ApplicationErrorReport" class="hiddenlink" target="rightframe"><b>ApplicationErrorReport</b></A><br>
+<!-- Class ApplicationErrorReport.AnrInfo -->
+<A HREF="pkg_android.app.html#ApplicationErrorReport.AnrInfo" class="hiddenlink" target="rightframe"><b>ApplicationErrorReport.AnrInfo</b></A><br>
+<!-- Class ApplicationErrorReport.BatteryInfo -->
+<A HREF="pkg_android.app.html#ApplicationErrorReport.BatteryInfo" class="hiddenlink" target="rightframe"><b>ApplicationErrorReport.BatteryInfo</b></A><br>
+<!-- Class ApplicationErrorReport.CrashInfo -->
+<A HREF="pkg_android.app.html#ApplicationErrorReport.CrashInfo" class="hiddenlink" target="rightframe"><b>ApplicationErrorReport.CrashInfo</b></A><br>
+<!-- Class ApplicationErrorReport.RunningServiceInfo -->
+<A HREF="pkg_android.app.html#ApplicationErrorReport.RunningServiceInfo" class="hiddenlink" target="rightframe"><b>ApplicationErrorReport.RunningServiceInfo</b></A><br>
+<!-- Field AXIS_DISTANCE -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.AXIS_DISTANCE" class="hiddenlink" target="rightframe">AXIS_DISTANCE</A>
+</nobr><br>
+<!-- Field AXIS_TILT -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.AXIS_TILT" class="hiddenlink" target="rightframe">AXIS_TILT</A>
+</nobr><br>
+<!-- Field backgroundSplit -->
+<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="#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">
+<nobr><A HREF="android.R.attr.html#android.R.attr.backgroundSplit" class="hiddenlink" target="rightframe">backgroundSplit</A>
+</nobr><br>
+<!-- Field backgroundStacked -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.backgroundStacked" class="hiddenlink" target="rightframe">backgroundStacked</A>
+</nobr><br>
+<!-- Class BaseDexClassLoader -->
+<A HREF="pkg_dalvik.system.html#BaseDexClassLoader" class="hiddenlink" target="rightframe"><b>BaseDexClassLoader</b></A><br>
+<!-- Field BIND_ABOVE_CLIENT -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.BIND_ABOVE_CLIENT" class="hiddenlink" target="rightframe">BIND_ABOVE_CLIENT</A>
+</nobr><br>
+<!-- Field BIND_ADJUST_WITH_ACTIVITY -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.BIND_ADJUST_WITH_ACTIVITY" class="hiddenlink" target="rightframe">BIND_ADJUST_WITH_ACTIVITY</A>
+</nobr><br>
+<!-- Field BIND_ALLOW_OOM_MANAGEMENT -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.BIND_ALLOW_OOM_MANAGEMENT" class="hiddenlink" target="rightframe">BIND_ALLOW_OOM_MANAGEMENT</A>
+</nobr><br>
+<!-- Field BIND_IMPORTANT -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.BIND_IMPORTANT" class="hiddenlink" target="rightframe">BIND_IMPORTANT</A>
+</nobr><br>
+<!-- Field BIND_TEXT_SERVICE -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_TEXT_SERVICE" class="hiddenlink" target="rightframe">BIND_TEXT_SERVICE</A>
+</nobr><br>
+<!-- Field BIND_VPN_SERVICE -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_VPN_SERVICE" class="hiddenlink" target="rightframe">BIND_VPN_SERVICE</A>
+</nobr><br>
+<!-- Field BIND_WAIVE_PRIORITY -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.BIND_WAIVE_PRIORITY" class="hiddenlink" target="rightframe">BIND_WAIVE_PRIORITY</A>
+</nobr><br>
+<!-- Class BluetoothHealth -->
+<A HREF="pkg_android.bluetooth.html#BluetoothHealth" class="hiddenlink" target="rightframe"><b>BluetoothHealth</b></A><br>
+<!-- Class BluetoothHealthAppConfiguration -->
+<A HREF="pkg_android.bluetooth.html#BluetoothHealthAppConfiguration" class="hiddenlink" target="rightframe"><b>BluetoothHealthAppConfiguration</b></A><br>
+<!-- Class BluetoothHealthCallback -->
+<A HREF="pkg_android.bluetooth.html#BluetoothHealthCallback" class="hiddenlink" target="rightframe"><b>BluetoothHealthCallback</b></A><br>
+<!-- Field BUTTON_BACK -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.BUTTON_BACK" class="hiddenlink" target="rightframe">BUTTON_BACK</A>
+</nobr><br>
+<!-- Field BUTTON_FORWARD -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.BUTTON_FORWARD" class="hiddenlink" target="rightframe">BUTTON_FORWARD</A>
+</nobr><br>
+<!-- Field BUTTON_PRIMARY -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.BUTTON_PRIMARY" class="hiddenlink" target="rightframe">BUTTON_PRIMARY</A>
+</nobr><br>
+<!-- Field BUTTON_SECONDARY -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.BUTTON_SECONDARY" class="hiddenlink" target="rightframe">BUTTON_SECONDARY</A>
+</nobr><br>
+<!-- Field BUTTON_TERTIARY -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.BUTTON_TERTIARY" class="hiddenlink" target="rightframe">BUTTON_TERTIARY</A>
+</nobr><br>
+<!-- Constructor Byte2 -->
+<nobr><A HREF="android.renderscript.Byte2.html#android.renderscript.Byte2.ctor_added(byte, byte)" class="hiddenlink" target="rightframe"><b>Byte2</b>
+(<code>byte, byte</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor Byte3 -->
+<nobr><A HREF="android.renderscript.Byte3.html#android.renderscript.Byte3.ctor_added(byte, byte, byte)" class="hiddenlink" target="rightframe"><b>Byte3</b>
+(<code>byte, byte, byte</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor Byte4 -->
+<nobr><A HREF="android.renderscript.Byte4.html#android.renderscript.Byte4.ctor_added(byte, byte, byte, byte)" class="hiddenlink" target="rightframe"><b>Byte4</b>
+(<code>byte, byte, byte, byte</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class CalendarContract -->
+<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="#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="pkg_android.provider.html#CalendarContract" class="hiddenlink" target="rightframe"><b>CalendarContract</b></A><br>
+<!-- Class CalendarContract.Attendees -->
+<A HREF="pkg_android.provider.html#CalendarContract.Attendees" class="hiddenlink" target="rightframe"><b>CalendarContract.Attendees</b></A><br>
+<!-- Class CalendarContract.AttendeesColumns -->
+<A HREF="pkg_android.provider.html#CalendarContract.AttendeesColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.AttendeesColumns</i></b></A><br>
+<!-- Class CalendarContract.CalendarAlerts -->
+<A HREF="pkg_android.provider.html#CalendarContract.CalendarAlerts" class="hiddenlink" target="rightframe"><b>CalendarContract.CalendarAlerts</b></A><br>
+<!-- Class CalendarContract.CalendarAlertsColumns -->
+<A HREF="pkg_android.provider.html#CalendarContract.CalendarAlertsColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.CalendarAlertsColumns</i></b></A><br>
+<!-- Class CalendarContract.CalendarCache -->
+<A HREF="pkg_android.provider.html#CalendarContract.CalendarCache" class="hiddenlink" target="rightframe"><b>CalendarContract.CalendarCache</b></A><br>
+<!-- Class CalendarContract.CalendarCacheColumns -->
+<A HREF="pkg_android.provider.html#CalendarContract.CalendarCacheColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.CalendarCacheColumns</i></b></A><br>
+<!-- Class CalendarContract.CalendarColumns -->
+<A HREF="pkg_android.provider.html#CalendarContract.CalendarColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.CalendarColumns</i></b></A><br>
+<!-- Class CalendarContract.CalendarEntity -->
+<A HREF="pkg_android.provider.html#CalendarContract.CalendarEntity" class="hiddenlink" target="rightframe"><b>CalendarContract.CalendarEntity</b></A><br>
+<!-- Class CalendarContract.Calendars -->
+<A HREF="pkg_android.provider.html#CalendarContract.Calendars" class="hiddenlink" target="rightframe"><b>CalendarContract.Calendars</b></A><br>
+<!-- Class CalendarContract.CalendarSyncColumns -->
+<A HREF="pkg_android.provider.html#CalendarContract.CalendarSyncColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.CalendarSyncColumns</i></b></A><br>
+<!-- Class CalendarContract.EventDays -->
+<A HREF="pkg_android.provider.html#CalendarContract.EventDays" class="hiddenlink" target="rightframe"><b>CalendarContract.EventDays</b></A><br>
+<!-- Class CalendarContract.EventDaysColumns -->
+<A HREF="pkg_android.provider.html#CalendarContract.EventDaysColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.EventDaysColumns</i></b></A><br>
+<!-- Class CalendarContract.Events -->
+<A HREF="pkg_android.provider.html#CalendarContract.Events" class="hiddenlink" target="rightframe"><b>CalendarContract.Events</b></A><br>
+<!-- Class CalendarContract.EventsColumns -->
+<A HREF="pkg_android.provider.html#CalendarContract.EventsColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.EventsColumns</i></b></A><br>
+<!-- Class CalendarContract.EventsEntity -->
+<A HREF="pkg_android.provider.html#CalendarContract.EventsEntity" class="hiddenlink" target="rightframe"><b>CalendarContract.EventsEntity</b></A><br>
+<!-- Class CalendarContract.ExtendedProperties -->
+<A HREF="pkg_android.provider.html#CalendarContract.ExtendedProperties" class="hiddenlink" target="rightframe"><b>CalendarContract.ExtendedProperties</b></A><br>
+<!-- Class CalendarContract.ExtendedPropertiesColumns -->
+<A HREF="pkg_android.provider.html#CalendarContract.ExtendedPropertiesColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.ExtendedPropertiesColumns</i></b></A><br>
+<!-- Class CalendarContract.Instances -->
+<A HREF="pkg_android.provider.html#CalendarContract.Instances" class="hiddenlink" target="rightframe"><b>CalendarContract.Instances</b></A><br>
+<!-- Class CalendarContract.Reminders -->
+<A HREF="pkg_android.provider.html#CalendarContract.Reminders" class="hiddenlink" target="rightframe"><b>CalendarContract.Reminders</b></A><br>
+<!-- Class CalendarContract.RemindersColumns -->
+<A HREF="pkg_android.provider.html#CalendarContract.RemindersColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.RemindersColumns</i></b></A><br>
+<!-- Class CalendarContract.SyncColumns -->
+<A HREF="pkg_android.provider.html#CalendarContract.SyncColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.SyncColumns</i></b></A><br>
+<!-- Class CalendarContract.SyncState -->
+<A HREF="pkg_android.provider.html#CalendarContract.SyncState" class="hiddenlink" target="rightframe"><b>CalendarContract.SyncState</b></A><br>
+<!-- Class Camera.Area -->
+<A HREF="pkg_android.hardware.html#Camera.Area" class="hiddenlink" target="rightframe"><b>Camera.Area</b></A><br>
+<!-- Class Camera.Face -->
+<A HREF="pkg_android.hardware.html#Camera.Face" class="hiddenlink" target="rightframe"><b>Camera.Face</b></A><br>
+<!-- Class Camera.FaceDetectionListener -->
+<A HREF="pkg_android.hardware.html#Camera.FaceDetectionListener" class="hiddenlink" target="rightframe"><b><i>Camera.FaceDetectionListener</i></b></A><br>
+<!-- Method cancel -->
+<nobr><A HREF="android.view.ViewPropertyAnimator.html#android.view.ViewPropertyAnimator.cancel_added()" class="hiddenlink" target="rightframe"><b>cancel</b>
+()</A></nobr><br>
+<!-- Field canRetrieveWindowContent -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.canRetrieveWindowContent" class="hiddenlink" target="rightframe">canRetrieveWindowContent</A>
+</nobr><br>
+<!-- Method canScrollHorizontally -->
+<nobr><A HREF="android.view.View.html#android.view.View.canScrollHorizontally_added(int)" class="hiddenlink" target="rightframe"><b>canScrollHorizontally</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method canScrollVertically -->
+<nobr><A HREF="android.view.View.html#android.view.View.canScrollVertically_added(int)" class="hiddenlink" target="rightframe"><b>canScrollVertically</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method clearThreadStatsTag -->
+<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.clearThreadStatsTag_added()" class="hiddenlink" target="rightframe"><b>clearThreadStatsTag</b>
+()</A></nobr><br>
+<!-- Method collapseActionView -->
+<nobr><A HREF="android.view.MenuItem.html#android.view.MenuItem.collapseActionView_added()" class="hiddenlink" target="rightframe"><b>collapseActionView</b>
+()</A></nobr><br>
+<!-- Class CollapsibleActionView -->
+<A HREF="pkg_android.view.html#CollapsibleActionView" class="hiddenlink" target="rightframe"><b><i>CollapsibleActionView</i></b></A><br>
+<!-- Field colorActivatedHighlight -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.colorActivatedHighlight" class="hiddenlink" target="rightframe">colorActivatedHighlight</A>
+</nobr><br>
+<!-- Field colorFocusedHighlight -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.colorFocusedHighlight" class="hiddenlink" target="rightframe">colorFocusedHighlight</A>
+</nobr><br>
+<!-- Field colorLongPressedHighlight -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.colorLongPressedHighlight" class="hiddenlink" target="rightframe">colorLongPressedHighlight</A>
+</nobr><br>
+<!-- Field colorMultiSelectHighlight -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.colorMultiSelectHighlight" class="hiddenlink" target="rightframe">colorMultiSelectHighlight</A>
+</nobr><br>
+<!-- Field colorPressedHighlight -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.colorPressedHighlight" class="hiddenlink" target="rightframe">colorPressedHighlight</A>
+</nobr><br>
+<!-- Field columnCount -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.columnCount" class="hiddenlink" target="rightframe">columnCount</A>
+</nobr><br>
+<!-- Field columnOrderPreserved -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.columnOrderPreserved" class="hiddenlink" target="rightframe">columnOrderPreserved</A>
+</nobr><br>
+<!-- Field COMPONENT_ENABLED_STATE_DISABLED_USER -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER" class="hiddenlink" target="rightframe">COMPONENT_ENABLED_STATE_DISABLED_USER</A>
+</nobr><br>
+<!-- Class ComponentCallbacks2 -->
+<A HREF="pkg_android.content.html#ComponentCallbacks2" class="hiddenlink" target="rightframe"><b><i>ComponentCallbacks2</i></b></A><br>
+<!-- Field CONFIDENCE_SCORES -->
+<nobr><A HREF="android.speech.SpeechRecognizer.html#android.speech.SpeechRecognizer.CONFIDENCE_SCORES" class="hiddenlink" target="rightframe">CONFIDENCE_SCORES</A>
+</nobr><br>
+<!-- Class ContactsContract.CommonDataKinds.Identity -->
+<A HREF="pkg_android.provider.html#ContactsContract.CommonDataKinds.Identity" class="hiddenlink" target="rightframe"><b>ContactsContract.CommonDataKinds.Identity</b></A><br>
+<!-- Class ContactsContract.DataUsageFeedback -->
+<A HREF="pkg_android.provider.html#ContactsContract.DataUsageFeedback" class="hiddenlink" target="rightframe"><b>ContactsContract.DataUsageFeedback</b></A><br>
+<!-- Class ContactsContract.DisplayPhoto -->
+<A HREF="pkg_android.provider.html#ContactsContract.DisplayPhoto" class="hiddenlink" target="rightframe"><b>ContactsContract.DisplayPhoto</b></A><br>
+<!-- Class ContactsContract.Profile -->
+<A HREF="pkg_android.provider.html#ContactsContract.Profile" class="hiddenlink" target="rightframe"><b>ContactsContract.Profile</b></A><br>
+<!-- Class ContactsContract.ProfileSyncState -->
+<A HREF="pkg_android.provider.html#ContactsContract.ProfileSyncState" class="hiddenlink" target="rightframe"><b>ContactsContract.ProfileSyncState</b></A><br>
+<!-- Class ContactsContract.RawContacts.DisplayPhoto -->
+<A HREF="pkg_android.provider.html#ContactsContract.RawContacts.DisplayPhoto" class="hiddenlink" target="rightframe"><b>ContactsContract.RawContacts.DisplayPhoto</b></A><br>
+<!-- Method copy1DRangeFrom -->
+<nobr><A HREF="android.renderscript.Allocation.html#android.renderscript.Allocation.copy1DRangeFrom_added(int, int, android.renderscript.Allocation, int)" class="hiddenlink" target="rightframe"><b>copy1DRangeFrom</b>
+(<code>int, int, Allocation, int</code>)</A></nobr><br>
+<!-- Method copy2DRangeFrom -->
+<nobr><A HREF="android.renderscript.Allocation.html#android.renderscript.Allocation.copy2DRangeFrom_added(int, int, int, int, android.renderscript.Allocation, int, int)" class="hiddenlink" target="rightframe"><b>copy2DRangeFrom</b>
+(<code>int, int, int, int, Allocation, int, int</code>)</A></nobr><br>
+<!-- Method create1D -->
+<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.create1D_added(android.renderscript.RenderScript, android.renderscript.Allocation)" class="hiddenlink" target="rightframe"><b>create1D</b>
+(<code>RenderScript, Allocation</code>)</A></nobr><br>
+<!-- Method createAccessibilityNodeInfo -->
+<nobr><A HREF="android.view.View.html#android.view.View.createAccessibilityNodeInfo_added()" class="hiddenlink" target="rightframe"><b>createAccessibilityNodeInfo</b>
+()</A></nobr><br>
+<!-- Method createApplicationRecord -->
+<nobr><A HREF="android.nfc.NdefRecord.html#android.nfc.NdefRecord.createApplicationRecord_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>createApplicationRecord</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method createUri -->
+<i>createUri</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.NdefRecord.html#android.nfc.NdefRecord.createUri_added(android.net.Uri)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Uri</code>)</b>&nbsp;in&nbsp;android.nfc.NdefRecord
+</A></nobr><br>
+<!-- Method createUri -->
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.NdefRecord.html#android.nfc.NdefRecord.createUri_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.nfc.NdefRecord
+</A></nobr><br>
+<!-- Field DATA_SET -->
+<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="#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">
+<i>DATA_SET</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.GroupsColumns.html#android.provider.ContactsContract.GroupsColumns.DATA_SET" class="hiddenlink" target="rightframe">android.provider.ContactsContract.GroupsColumns</A>
+</nobr><br>
+<!-- Field DATA_SET -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.RawContactsColumns.html#android.provider.ContactsContract.RawContactsColumns.DATA_SET" class="hiddenlink" target="rightframe">android.provider.ContactsContract.RawContactsColumns</A>
+</nobr><br>
+<!-- Field DATA_SET -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.SettingsColumns.html#android.provider.ContactsContract.SettingsColumns.DATA_SET" class="hiddenlink" target="rightframe">android.provider.ContactsContract.SettingsColumns</A>
+</nobr><br>
+<!-- Method deferNotifyDataSetChanged -->
+<i>deferNotifyDataSetChanged</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.AbsListView.html#android.widget.AbsListView.deferNotifyDataSetChanged_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.widget.AbsListView
+</A></nobr><br>
+<!-- Method deferNotifyDataSetChanged -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.AdapterViewAnimator.html#android.widget.AdapterViewAnimator.deferNotifyDataSetChanged_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.widget.AdapterViewAnimator
+</A></nobr><br>
+<!-- Field DeviceDefault_ButtonBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.DeviceDefault_ButtonBar" class="hiddenlink" target="rightframe">DeviceDefault_ButtonBar</A>
+</nobr><br>
+<!-- Field DeviceDefault_ButtonBar_AlertDialog -->
+<nobr><A HREF="android.R.style.html#android.R.style.DeviceDefault_ButtonBar_AlertDialog" class="hiddenlink" target="rightframe">DeviceDefault_ButtonBar_AlertDialog</A>
+</nobr><br>
+<!-- Field DeviceDefault_Light_ButtonBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.DeviceDefault_Light_ButtonBar" class="hiddenlink" target="rightframe">DeviceDefault_Light_ButtonBar</A>
+</nobr><br>
+<!-- Field DeviceDefault_Light_ButtonBar_AlertDialog -->
+<nobr><A HREF="android.R.style.html#android.R.style.DeviceDefault_Light_ButtonBar_AlertDialog" class="hiddenlink" target="rightframe">DeviceDefault_Light_ButtonBar_AlertDialog</A>
+</nobr><br>
+<!-- Field DeviceDefault_Light_SegmentedButton -->
+<nobr><A HREF="android.R.style.html#android.R.style.DeviceDefault_Light_SegmentedButton" class="hiddenlink" target="rightframe">DeviceDefault_Light_SegmentedButton</A>
+</nobr><br>
+<!-- Field DeviceDefault_SegmentedButton -->
+<nobr><A HREF="android.R.style.html#android.R.style.DeviceDefault_SegmentedButton" class="hiddenlink" target="rightframe">DeviceDefault_SegmentedButton</A>
+</nobr><br>
+<!-- Field directionDescriptions -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.directionDescriptions" class="hiddenlink" target="rightframe">directionDescriptions</A>
+</nobr><br>
+<!-- Method dispatchGenericFocusedEvent -->
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchGenericFocusedEvent_added(android.view.MotionEvent)" class="hiddenlink" target="rightframe"><b>dispatchGenericFocusedEvent</b>
+(<code>MotionEvent</code>)</A></nobr><br>
+<!-- Method dispatchGenericPointerEvent -->
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchGenericPointerEvent_added(android.view.MotionEvent)" class="hiddenlink" target="rightframe"><b>dispatchGenericPointerEvent</b>
+(<code>MotionEvent</code>)</A></nobr><br>
+<!-- Method dispatchHoverEvent -->
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchHoverEvent_added(android.view.MotionEvent)" class="hiddenlink" target="rightframe"><b>dispatchHoverEvent</b>
+(<code>MotionEvent</code>)</A></nobr><br>
+<!-- Field DISPLAY_PHOTO -->
+<nobr><A HREF="android.provider.ContactsContract.Contacts.Photo.html#android.provider.ContactsContract.Contacts.Photo.DISPLAY_PHOTO" class="hiddenlink" target="rightframe">DISPLAY_PHOTO</A>
+</nobr><br>
+<!-- Class Double2 -->
+<A HREF="pkg_android.renderscript.html#Double2" class="hiddenlink" target="rightframe"><b>Double2</b></A><br>
+<!-- Class Double3 -->
+<A HREF="pkg_android.renderscript.html#Double3" class="hiddenlink" target="rightframe"><b>Double3</b></A><br>
+<!-- Class Double4 -->
+<A HREF="pkg_android.renderscript.html#Double4" class="hiddenlink" target="rightframe"><b>Double4</b></A><br>
+<!-- Field drawableEnd -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.drawableEnd" class="hiddenlink" target="rightframe">drawableEnd</A>
+</nobr><br>
+<!-- Field drawableStart -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.drawableStart" class="hiddenlink" target="rightframe">drawableStart</A>
+</nobr><br>
+<!-- Method dump -->
+<nobr><A HREF="android.service.wallpaper.WallpaperService.Engine.html#android.service.wallpaper.WallpaperService.Engine.dump_added(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[])" class="hiddenlink" target="rightframe"><b>dump</b>
+(<code>String, FileDescriptor, PrintWriter, String[]</code>)</A></nobr><br>
+<!-- Method dup -->
+<nobr><A HREF="android.os.ParcelFileDescriptor.html#android.os.ParcelFileDescriptor.dup_added()" class="hiddenlink" target="rightframe"><b>dup</b>
+()</A></nobr><br>
+<!-- Class EasyEditSpan -->
+<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="#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="pkg_android.text.style.html#EasyEditSpan" class="hiddenlink" target="rightframe"><b>EasyEditSpan</b></A><br>
+<!-- Class EdgeEffect -->
+<A HREF="pkg_android.widget.html#EdgeEffect" class="hiddenlink" target="rightframe"><b>EdgeEffect</b></A><br>
+<!-- Field END -->
+<nobr><A HREF="android.view.Gravity.html#android.view.Gravity.END" class="hiddenlink" target="rightframe">END</A>
+</nobr><br>
+<!-- Method eventTypeToString -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.eventTypeToString_added(int)" class="hiddenlink" target="rightframe"><b>eventTypeToString</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method expandActionView -->
+<nobr><A HREF="android.view.MenuItem.html#android.view.MenuItem.expandActionView_added()" class="hiddenlink" target="rightframe"><b>expandActionView</b>
+()</A></nobr><br>
+<!-- Method expandGroup -->
+<nobr><A HREF="android.widget.ExpandableListView.html#android.widget.ExpandableListView.expandGroup_added(int, boolean)" class="hiddenlink" target="rightframe"><b>expandGroup</b>
+(<code>int, boolean</code>)</A></nobr><br>
+<!-- Field externalCodeSize -->
+<nobr><A HREF="android.content.pm.PackageStats.html#android.content.pm.PackageStats.externalCodeSize" class="hiddenlink" target="rightframe">externalCodeSize</A>
+</nobr><br>
+<!-- Field EXTRA_ALLOW_REPLACE -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_ALLOW_REPLACE" class="hiddenlink" target="rightframe">EXTRA_ALLOW_REPLACE</A>
+</nobr><br>
+<!-- Field EXTRA_BUG_REPORT -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_BUG_REPORT" class="hiddenlink" target="rightframe">EXTRA_BUG_REPORT</A>
+</nobr><br>
+<!-- Field EXTRA_CONFIDENCE_SCORES -->
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_CONFIDENCE_SCORES" class="hiddenlink" target="rightframe">EXTRA_CONFIDENCE_SCORES</A>
+</nobr><br>
+<!-- Field EXTRA_INSTALLER_PACKAGE_NAME -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_INSTALLER_PACKAGE_NAME" class="hiddenlink" target="rightframe">EXTRA_INSTALLER_PACKAGE_NAME</A>
+</nobr><br>
+<!-- Field EXTRA_NOT_UNKNOWN_SOURCE -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_NOT_UNKNOWN_SOURCE" class="hiddenlink" target="rightframe">EXTRA_NOT_UNKNOWN_SOURCE</A>
+</nobr><br>
+<!-- Field EXTRA_ORIGIN -->
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_ORIGIN" class="hiddenlink" target="rightframe">EXTRA_ORIGIN</A>
+</nobr><br>
+<!-- Field EXTRA_RETURN_RESULT -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_RETURN_RESULT" class="hiddenlink" target="rightframe">EXTRA_RETURN_RESULT</A>
+</nobr><br>
+<!-- Field EXTRA_SCO_AUDIO_PREVIOUS_STATE -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.EXTRA_SCO_AUDIO_PREVIOUS_STATE" class="hiddenlink" target="rightframe">EXTRA_SCO_AUDIO_PREVIOUS_STATE</A>
+</nobr><br>
+<!-- Field EXTRA_SHOW_FRAGMENT_SHORT_TITLE -->
+<nobr><A HREF="android.preference.PreferenceActivity.html#android.preference.PreferenceActivity.EXTRA_SHOW_FRAGMENT_SHORT_TITLE" class="hiddenlink" target="rightframe">EXTRA_SHOW_FRAGMENT_SHORT_TITLE</A>
+</nobr><br>
+<!-- Field EXTRA_SHOW_FRAGMENT_TITLE -->
+<nobr><A HREF="android.preference.PreferenceActivity.html#android.preference.PreferenceActivity.EXTRA_SHOW_FRAGMENT_TITLE" class="hiddenlink" target="rightframe">EXTRA_SHOW_FRAGMENT_TITLE</A>
+</nobr><br>
+<!-- Field EXTRA_VERIFICATION_ID -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.EXTRA_VERIFICATION_ID" class="hiddenlink" target="rightframe">EXTRA_VERIFICATION_ID</A>
+</nobr><br>
+<!-- Field EXTRA_WEB_SEARCH_PENDINGINTENT -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.EXTRA_WEB_SEARCH_PENDINGINTENT" class="hiddenlink" target="rightframe">EXTRA_WEB_SEARCH_PENDINGINTENT</A>
+</nobr><br>
+<!-- Field EXTRA_WIFI_INFO -->
+<nobr><A HREF="android.net.wifi.WifiManager.html#android.net.wifi.WifiManager.EXTRA_WIFI_INFO" class="hiddenlink" target="rightframe">EXTRA_WIFI_INFO</A>
+</nobr><br>
+<!-- Method F64_2 -->
+<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="#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">
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.F64_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>F64_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method F64_3 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.F64_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>F64_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method F64_4 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.F64_4_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>F64_4</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Field FEATURE_WIFI_DIRECT -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_WIFI_DIRECT" class="hiddenlink" target="rightframe">FEATURE_WIFI_DIRECT</A>
+</nobr><br>
+<!-- Field FEEDBACK_ALL_MASK -->
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.FEEDBACK_ALL_MASK" class="hiddenlink" target="rightframe">FEEDBACK_ALL_MASK</A>
+</nobr><br>
+<!-- Method feedbackTypeToString -->
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.feedbackTypeToString_added(int)" class="hiddenlink" target="rightframe"><b>feedbackTypeToString</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Field FIND_VIEWS_WITH_CONTENT_DESCRIPTION -->
+<nobr><A HREF="android.view.View.html#android.view.View.FIND_VIEWS_WITH_CONTENT_DESCRIPTION" class="hiddenlink" target="rightframe">FIND_VIEWS_WITH_CONTENT_DESCRIPTION</A>
+</nobr><br>
+<!-- Field FIND_VIEWS_WITH_TEXT -->
+<nobr><A HREF="android.view.View.html#android.view.View.FIND_VIEWS_WITH_TEXT" class="hiddenlink" target="rightframe">FIND_VIEWS_WITH_TEXT</A>
+</nobr><br>
+<!-- Method findViewsWithText -->
+<nobr><A HREF="android.view.View.html#android.view.View.findViewsWithText_added(java.util.ArrayList<android.view.View>, java.lang.CharSequence, int)" class="hiddenlink" target="rightframe"><b>findViewsWithText</b>
+(<code>ArrayList&lt;View&gt;, CharSequence, int</code>)</A></nobr><br>
+<!-- Method fitsSystemWindows -->
+<nobr><A HREF="android.view.View.html#android.view.View.fitsSystemWindows_added()" class="hiddenlink" target="rightframe"><b>fitsSystemWindows</b>
+()</A></nobr><br>
+<!-- Field FLAG_STOP_WITH_TASK -->
+<nobr><A HREF="android.content.pm.ServiceInfo.html#android.content.pm.ServiceInfo.FLAG_STOP_WITH_TASK" class="hiddenlink" target="rightframe">FLAG_STOP_WITH_TASK</A>
+</nobr><br>
+<!-- Field flags -->
+<nobr><A HREF="android.content.pm.ServiceInfo.html#android.content.pm.ServiceInfo.flags" class="hiddenlink" target="rightframe">flags</A>
+</nobr><br>
+<!-- Method flagToString -->
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.flagToString_added(int)" class="hiddenlink" target="rightframe"><b>flagToString</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Field FOCUS_MODE_CONTINUOUS_PICTURE -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE" class="hiddenlink" target="rightframe">FOCUS_MODE_CONTINUOUS_PICTURE</A>
+</nobr><br>
+<!-- Method forEach -->
+<nobr><A HREF="android.renderscript.Script.html#android.renderscript.Script.forEach_added(int, android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.FieldPacker)" class="hiddenlink" target="rightframe"><b>forEach</b>
+(<code>int, Allocation, Allocation, FieldPacker</code>)</A></nobr><br>
+<!-- Method forgetLoadedWallpaper -->
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.forgetLoadedWallpaper_added()" class="hiddenlink" target="rightframe"><b>forgetLoadedWallpaper</b>
+()</A></nobr><br>
+<!-- Method fromDatagramSocket -->
+<nobr><A HREF="android.os.ParcelFileDescriptor.html#android.os.ParcelFileDescriptor.fromDatagramSocket_added(java.net.DatagramSocket)" class="hiddenlink" target="rightframe"><b>fromDatagramSocket</b>
+(<code>DatagramSocket</code>)</A></nobr><br>
+<!-- Class FullBackupDataOutput -->
+<A HREF="pkg_android.app.backup.html#FullBackupDataOutput" class="hiddenlink" target="rightframe"><b>FullBackupDataOutput</b></A><br>
+<!-- Method fullBackupFile -->
+<nobr><A HREF="android.app.backup.BackupAgent.html#android.app.backup.BackupAgent.fullBackupFile_added(java.io.File, android.app.backup.FullBackupDataOutput)" class="hiddenlink" target="rightframe"><b>fullBackupFile</b>
+(<code>File, FullBackupDataOutput</code>)</A></nobr><br>
+<!-- Method getAbsoluteGravity -->
+<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="#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">
+<nobr><A HREF="android.view.Gravity.html#android.view.Gravity.getAbsoluteGravity_added(int, int)" class="hiddenlink" target="rightframe"><b>getAbsoluteGravity</b>
+(<code>int, int</code>)</A></nobr><br>
+<!-- Method getActionProvider -->
+<nobr><A HREF="android.view.MenuItem.html#android.view.MenuItem.getActionProvider_added()" class="hiddenlink" target="rightframe"><b>getActionProvider</b>
+()</A></nobr><br>
+<!-- Method getActiveNetworkQuotaInfo -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.getActiveNetworkQuotaInfo_added()" class="hiddenlink" target="rightframe"><b>getActiveNetworkQuotaInfo</b>
+()</A></nobr><br>
+<!-- Method getAnnotation -->
+<i>getAnnotation</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.Constructor.html#java.lang.reflect.Constructor.getAnnotation_added(java.lang.Class<A>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;A&gt;</code>)</b>&nbsp;in&nbsp;java.lang.reflect.Constructor
+</A></nobr><br>
+<!-- Method getAnnotation -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.Field.html#java.lang.reflect.Field.getAnnotation_added(java.lang.Class<A>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;A&gt;</code>)</b>&nbsp;in&nbsp;java.lang.reflect.Field
+</A></nobr><br>
+<!-- Method getAnnotation -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.Method.html#java.lang.reflect.Method.getAnnotation_added(java.lang.Class<A>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;A&gt;</code>)</b>&nbsp;in&nbsp;java.lang.reflect.Method
+</A></nobr><br>
+<!-- Method getAuthToken -->
+<nobr><A HREF="android.accounts.AccountManager.html#android.accounts.AccountManager.getAuthToken_added(android.accounts.Account, java.lang.String, android.os.Bundle, boolean, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler)" class="hiddenlink" target="rightframe"><b>getAuthToken</b>
+(<code>Account, String, Bundle, boolean, AccountManagerCallback&lt;Bundle&gt;, Handler</code>)</A></nobr><br>
+<!-- Method getAutoExposureLock -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getAutoExposureLock_added()" class="hiddenlink" target="rightframe"><b>getAutoExposureLock</b>
+()</A></nobr><br>
+<!-- Method getAutoWhiteBalanceLock -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getAutoWhiteBalanceLock_added()" class="hiddenlink" target="rightframe"><b>getAutoWhiteBalanceLock</b>
+()</A></nobr><br>
+<!-- Method getButtonState -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.getButtonState_added()" class="hiddenlink" target="rightframe"><b>getButtonState</b>
+()</A></nobr><br>
+<!-- Method getCameraDisabled -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getCameraDisabled_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getCameraDisabled</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method getCanRetrieveWindowContent -->
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.getCanRetrieveWindowContent_added()" class="hiddenlink" target="rightframe"><b>getCanRetrieveWindowContent</b>
+()</A></nobr><br>
+<!-- Method getContentDescription -->
+<nobr><A HREF="android.app.ActionBar.Tab.html#android.app.ActionBar.Tab.getContentDescription_added()" class="hiddenlink" target="rightframe"><b>getContentDescription</b>
+()</A></nobr><br>
+<!-- Method getCurrVelocity -->
+<i>getCurrVelocity</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.OverScroller.html#android.widget.OverScroller.getCurrVelocity_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.widget.OverScroller
+</A></nobr><br>
+<!-- Method getCurrVelocity -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.Scroller.html#android.widget.Scroller.getCurrVelocity_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.widget.Scroller
+</A></nobr><br>
+<!-- Method getDatabaseName -->
+<nobr><A HREF="android.database.sqlite.SQLiteOpenHelper.html#android.database.sqlite.SQLiteOpenHelper.getDatabaseName_added()" class="hiddenlink" target="rightframe"><b>getDatabaseName</b>
+()</A></nobr><br>
+<!-- Method getDescription -->
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.getDescription_added()" class="hiddenlink" target="rightframe"><b>getDescription</b>
+()</A></nobr><br>
+<!-- Method getDisplayName -->
+<nobr><A HREF="android.view.inputmethod.InputMethodSubtype.html#android.view.inputmethod.InputMethodSubtype.getDisplayName_added(android.content.Context, java.lang.String, android.content.pm.ApplicationInfo)" class="hiddenlink" target="rightframe"><b>getDisplayName</b>
+(<code>Context, String, ApplicationInfo</code>)</A></nobr><br>
+<!-- Method getDividerPadding -->
+<nobr><A HREF="android.widget.LinearLayout.html#android.widget.LinearLayout.getDividerPadding_added()" class="hiddenlink" target="rightframe"><b>getDividerPadding</b>
+()</A></nobr><br>
+<!-- Method getDuration -->
+<nobr><A HREF="android.view.ViewPropertyAnimator.html#android.view.ViewPropertyAnimator.getDuration_added()" class="hiddenlink" target="rightframe"><b>getDuration</b>
+()</A></nobr><br>
+<!-- Method getEGLErrorString -->
+<nobr><A HREF="android.opengl.GLUtils.html#android.opengl.GLUtils.getEGLErrorString_added(int)" class="hiddenlink" target="rightframe"><b>getEGLErrorString</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getEnabledAccessibilityServiceList -->
+<nobr><A HREF="android.view.accessibility.AccessibilityManager.html#android.view.accessibility.AccessibilityManager.getEnabledAccessibilityServiceList_added(int)" class="hiddenlink" target="rightframe"><b>getEnabledAccessibilityServiceList</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getEngines -->
+<nobr><A HREF="android.speech.tts.TextToSpeech.html#android.speech.tts.TextToSpeech.getEngines_added()" class="hiddenlink" target="rightframe"><b>getEngines</b>
+()</A></nobr><br>
+<!-- Method getFocusAreas -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getFocusAreas_added()" class="hiddenlink" target="rightframe"><b>getFocusAreas</b>
+()</A></nobr><br>
+<!-- Method getHinting -->
+<nobr><A HREF="android.graphics.Paint.html#android.graphics.Paint.getHinting_added()" class="hiddenlink" target="rightframe"><b>getHinting</b>
+()</A></nobr><br>
+<!-- Method getId -->
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.getId_added()" class="hiddenlink" target="rightframe"><b>getId</b>
+()</A></nobr><br>
+<!-- Method getInstalledAccessibilityServiceList -->
+<nobr><A HREF="android.view.accessibility.AccessibilityManager.html#android.view.accessibility.AccessibilityManager.getInstalledAccessibilityServiceList_added()" class="hiddenlink" target="rightframe"><b>getInstalledAccessibilityServiceList</b>
+()</A></nobr><br>
+<!-- Method getLastInputMethodSubtype -->
+<nobr><A HREF="android.view.inputmethod.InputMethodManager.html#android.view.inputmethod.InputMethodManager.getLastInputMethodSubtype_added()" class="hiddenlink" target="rightframe"><b>getLastInputMethodSubtype</b>
+()</A></nobr><br>
+<!-- Method getMaximumBitmapHeight -->
+<nobr><A HREF="android.graphics.Canvas.html#android.graphics.Canvas.getMaximumBitmapHeight_added()" class="hiddenlink" target="rightframe"><b>getMaximumBitmapHeight</b>
+()</A></nobr><br>
+<!-- Method getMaximumBitmapWidth -->
+<nobr><A HREF="android.graphics.Canvas.html#android.graphics.Canvas.getMaximumBitmapWidth_added()" class="hiddenlink" target="rightframe"><b>getMaximumBitmapWidth</b>
+()</A></nobr><br>
+<!-- Method getMaxNumDetectedFaces -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getMaxNumDetectedFaces_added()" class="hiddenlink" target="rightframe"><b>getMaxNumDetectedFaces</b>
+()</A></nobr><br>
+<!-- Method getMaxNumFocusAreas -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getMaxNumFocusAreas_added()" class="hiddenlink" target="rightframe"><b>getMaxNumFocusAreas</b>
+()</A></nobr><br>
+<!-- Method getMaxNumMeteringAreas -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getMaxNumMeteringAreas_added()" class="hiddenlink" target="rightframe"><b>getMaxNumMeteringAreas</b>
+()</A></nobr><br>
+<!-- Method getMaxTransceiveLength -->
+<i>getMaxTransceiveLength</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.IsoDep.html#android.nfc.tech.IsoDep.getMaxTransceiveLength_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.IsoDep
+</A></nobr><br>
+<!-- Method getMaxTransceiveLength -->
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.MifareClassic.html#android.nfc.tech.MifareClassic.getMaxTransceiveLength_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.MifareClassic
+</A></nobr><br>
+<!-- Method getMaxTransceiveLength -->
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.MifareUltralight.html#android.nfc.tech.MifareUltralight.getMaxTransceiveLength_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.MifareUltralight
+</A></nobr><br>
+<!-- Method getMaxTransceiveLength -->
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.NfcA.html#android.nfc.tech.NfcA.getMaxTransceiveLength_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.NfcA
+</A></nobr><br>
+<!-- Method getMaxTransceiveLength -->
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.NfcB.html#android.nfc.tech.NfcB.getMaxTransceiveLength_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.NfcB
+</A></nobr><br>
+<!-- Method getMaxTransceiveLength -->
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.NfcF.html#android.nfc.tech.NfcF.getMaxTransceiveLength_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.NfcF
+</A></nobr><br>
+<!-- Method getMaxTransceiveLength -->
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.NfcV.html#android.nfc.tech.NfcV.getMaxTransceiveLength_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.NfcV
+</A></nobr><br>
+<!-- Method getMeasureAllChildren -->
+<nobr><A HREF="android.widget.FrameLayout.html#android.widget.FrameLayout.getMeasureAllChildren_added()" class="hiddenlink" target="rightframe"><b>getMeasureAllChildren</b>
+()</A></nobr><br>
+<!-- Method getMessageName -->
+<nobr><A HREF="android.os.Handler.html#android.os.Handler.getMessageName_added(android.os.Message)" class="hiddenlink" target="rightframe"><b>getMessageName</b>
+(<code>Message</code>)</A></nobr><br>
+<!-- Method getMeteringAreas -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getMeteringAreas_added()" class="hiddenlink" target="rightframe"><b>getMeteringAreas</b>
+()</A></nobr><br>
+<!-- Method getName -->
+<i>getName</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.FragmentManager.BackStackEntry.html#android.app.FragmentManager.BackStackEntry.getName_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.app.FragmentManager.BackStackEntry
+</A></nobr><br>
+<!-- Method getName -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.BaseObj.html#android.renderscript.BaseObj.getName_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.renderscript.BaseObj
+</A></nobr><br>
+<!-- Method getOffsetForPosition -->
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.getOffsetForPosition_added(float, float)" class="hiddenlink" target="rightframe"><b>getOffsetForPosition</b>
+(<code>float, float</code>)</A></nobr><br>
+<!-- Method getOtherLabel -->
+<nobr><A HREF="android.os.Debug.MemoryInfo.html#android.os.Debug.MemoryInfo.getOtherLabel_added(int)" class="hiddenlink" target="rightframe"><b>getOtherLabel</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getOtherPrivateDirty -->
+<nobr><A HREF="android.os.Debug.MemoryInfo.html#android.os.Debug.MemoryInfo.getOtherPrivateDirty_added(int)" class="hiddenlink" target="rightframe"><b>getOtherPrivateDirty</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getOtherPss -->
+<nobr><A HREF="android.os.Debug.MemoryInfo.html#android.os.Debug.MemoryInfo.getOtherPss_added(int)" class="hiddenlink" target="rightframe"><b>getOtherPss</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getOtherSharedDirty -->
+<nobr><A HREF="android.os.Debug.MemoryInfo.html#android.os.Debug.MemoryInfo.getOtherSharedDirty_added(int)" class="hiddenlink" target="rightframe"><b>getOtherSharedDirty</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getPointerProperties -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.getPointerProperties_added(int, android.view.MotionEvent.PointerProperties)" class="hiddenlink" target="rightframe"><b>getPointerProperties</b>
+(<code>int, PointerProperties</code>)</A></nobr><br>
+<!-- Method getProfileConnectionState -->
+<nobr><A HREF="android.bluetooth.BluetoothAdapter.html#android.bluetooth.BluetoothAdapter.getProfileConnectionState_added(int)" class="hiddenlink" target="rightframe"><b>getProfileConnectionState</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getPss -->
+<nobr><A HREF="android.os.Debug.html#android.os.Debug.getPss_added()" class="hiddenlink" target="rightframe"><b>getPss</b>
+()</A></nobr><br>
+<!-- Method getRadioVersion -->
+<nobr><A HREF="android.os.Build.html#android.os.Build.getRadioVersion_added()" class="hiddenlink" target="rightframe"><b>getRadioVersion</b>
+()</A></nobr><br>
+<!-- Method getRecord -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getRecord_added(int)" class="hiddenlink" target="rightframe"><b>getRecord</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getRecordCount -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getRecordCount_added()" class="hiddenlink" target="rightframe"><b>getRecordCount</b>
+()</A></nobr><br>
+<!-- Method getResolveInfo -->
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.getResolveInfo_added()" class="hiddenlink" target="rightframe"><b>getResolveInfo</b>
+()</A></nobr><br>
+<!-- Method getSettingsActivity -->
+<nobr><A HREF="android.content.SyncAdapterType.html#android.content.SyncAdapterType.getSettingsActivity_added()" class="hiddenlink" target="rightframe"><b>getSettingsActivity</b>
+()</A></nobr><br>
+<!-- Method getSettingsActivityName -->
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.getSettingsActivityName_added()" class="hiddenlink" target="rightframe"><b>getSettingsActivityName</b>
+()</A></nobr><br>
+<!-- Method getStartDelay -->
+<nobr><A HREF="android.view.ViewPropertyAnimator.html#android.view.ViewPropertyAnimator.getStartDelay_added()" class="hiddenlink" target="rightframe"><b>getStartDelay</b>
+()</A></nobr><br>
+<!-- Method getTag -->
+<nobr><A HREF="android.view.ActionMode.html#android.view.ActionMode.getTag_added()" class="hiddenlink" target="rightframe"><b>getTag</b>
+()</A></nobr><br>
+<!-- Method getTextZoom -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getTextZoom_added()" class="hiddenlink" target="rightframe"><b>getTextZoom</b>
+()</A></nobr><br>
+<!-- Method getThemedContext -->
+<nobr><A HREF="android.app.ActionBar.html#android.app.ActionBar.getThemedContext_added()" class="hiddenlink" target="rightframe"><b>getThemedContext</b>
+()</A></nobr><br>
+<!-- Method getThreadStatsTag -->
+<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.getThreadStatsTag_added()" class="hiddenlink" target="rightframe"><b>getThreadStatsTag</b>
+()</A></nobr><br>
+<!-- Method getTimeout -->
+<i>getTimeout</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.IsoDep.html#android.nfc.tech.IsoDep.getTimeout_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.IsoDep
+</A></nobr><br>
+<!-- Method getTimeout -->
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.MifareClassic.html#android.nfc.tech.MifareClassic.getTimeout_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.MifareClassic
+</A></nobr><br>
+<!-- Method getTimeout -->
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.MifareUltralight.html#android.nfc.tech.MifareUltralight.getTimeout_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.MifareUltralight
+</A></nobr><br>
+<!-- Method getTimeout -->
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.NfcA.html#android.nfc.tech.NfcA.getTimeout_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.NfcA
+</A></nobr><br>
+<!-- Method getTimeout -->
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.NfcF.html#android.nfc.tech.NfcF.getTimeout_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.NfcF
+</A></nobr><br>
+<!-- Method getTimestamp -->
+<nobr><A HREF="android.graphics.SurfaceTexture.html#android.graphics.SurfaceTexture.getTimestamp_added()" class="hiddenlink" target="rightframe"><b>getTimestamp</b>
+()</A></nobr><br>
+<!-- Method getTitleRes -->
+<nobr><A HREF="android.preference.Preference.html#android.preference.Preference.getTitleRes_added()" class="hiddenlink" target="rightframe"><b>getTitleRes</b>
+()</A></nobr><br>
+<!-- Method getToolType -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.getToolType_added(int)" class="hiddenlink" target="rightframe"><b>getToolType</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getUrl -->
+<nobr><A HREF="android.net.http.SslError.html#android.net.http.SslError.getUrl_added()" class="hiddenlink" target="rightframe"><b>getUrl</b>
+()</A></nobr><br>
+<!-- Class GridLayout -->
+<A HREF="pkg_android.widget.html#GridLayout" class="hiddenlink" target="rightframe"><b>GridLayout</b></A><br>
+<!-- Class GridLayout.Alignment -->
+<A HREF="pkg_android.widget.html#GridLayout.Alignment" class="hiddenlink" target="rightframe"><b>GridLayout.Alignment</b></A><br>
+<!-- Class GridLayout.LayoutParams -->
+<A HREF="pkg_android.widget.html#GridLayout.LayoutParams" class="hiddenlink" target="rightframe"><b>GridLayout.LayoutParams</b></A><br>
+<!-- Class GridLayout.Spec -->
+<A HREF="pkg_android.widget.html#GridLayout.Spec" class="hiddenlink" target="rightframe"><b>GridLayout.Spec</b></A><br>
+<!-- Method hasPermanentMenuKey -->
+<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="#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">
+<nobr><A HREF="android.view.ViewConfiguration.html#android.view.ViewConfiguration.hasPermanentMenuKey_added()" class="hiddenlink" target="rightframe"><b>hasPermanentMenuKey</b>
+()</A></nobr><br>
+<!-- Field HEALTH -->
+<nobr><A HREF="android.bluetooth.BluetoothProfile.html#android.bluetooth.BluetoothProfile.HEALTH" class="hiddenlink" target="rightframe">HEALTH</A>
+</nobr><br>
+<!-- Field HINTING_OFF -->
+<nobr><A HREF="android.graphics.Paint.html#android.graphics.Paint.HINTING_OFF" class="hiddenlink" target="rightframe">HINTING_OFF</A>
+</nobr><br>
+<!-- Field HINTING_ON -->
+<nobr><A HREF="android.graphics.Paint.html#android.graphics.Paint.HINTING_ON" class="hiddenlink" target="rightframe">HINTING_ON</A>
+</nobr><br>
+<!-- Field holo_blue_bright -->
+<nobr><A HREF="android.R.color.html#android.R.color.holo_blue_bright" class="hiddenlink" target="rightframe">holo_blue_bright</A>
+</nobr><br>
+<!-- Field holo_blue_dark -->
+<nobr><A HREF="android.R.color.html#android.R.color.holo_blue_dark" class="hiddenlink" target="rightframe">holo_blue_dark</A>
+</nobr><br>
+<!-- Field holo_blue_light -->
+<nobr><A HREF="android.R.color.html#android.R.color.holo_blue_light" class="hiddenlink" target="rightframe">holo_blue_light</A>
+</nobr><br>
+<!-- Field holo_green_dark -->
+<nobr><A HREF="android.R.color.html#android.R.color.holo_green_dark" class="hiddenlink" target="rightframe">holo_green_dark</A>
+</nobr><br>
+<!-- Field holo_green_light -->
+<nobr><A HREF="android.R.color.html#android.R.color.holo_green_light" class="hiddenlink" target="rightframe">holo_green_light</A>
+</nobr><br>
+<!-- Field holo_orange_dark -->
+<nobr><A HREF="android.R.color.html#android.R.color.holo_orange_dark" class="hiddenlink" target="rightframe">holo_orange_dark</A>
+</nobr><br>
+<!-- Field holo_orange_light -->
+<nobr><A HREF="android.R.color.html#android.R.color.holo_orange_light" class="hiddenlink" target="rightframe">holo_orange_light</A>
+</nobr><br>
+<!-- Field holo_purple -->
+<nobr><A HREF="android.R.color.html#android.R.color.holo_purple" class="hiddenlink" target="rightframe">holo_purple</A>
+</nobr><br>
+<!-- Field holo_red_dark -->
+<nobr><A HREF="android.R.color.html#android.R.color.holo_red_dark" class="hiddenlink" target="rightframe">holo_red_dark</A>
+</nobr><br>
+<!-- Field holo_red_light -->
+<nobr><A HREF="android.R.color.html#android.R.color.holo_red_light" class="hiddenlink" target="rightframe">holo_red_light</A>
+</nobr><br>
+<!-- Method I16_2 -->
+<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="#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">
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I16_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I16_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method I16_3 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I16_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I16_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method I16_4 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I16_4_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I16_4</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method I32_2 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I32_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I32_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method I32_3 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I32_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I32_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method I32_4 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I32_4_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I32_4</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method I64_2 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I64_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I64_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method I64_3 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I64_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I64_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method I64_4 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I64_4_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I64_4</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method I8_2 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I8_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I8_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method I8_3 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I8_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I8_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method I8_4 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I8_4_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I8_4</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Field ICE_CREAM_SANDWICH -->
+<nobr><A HREF="android.os.Build.VERSION_CODES.html#android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH" class="hiddenlink" target="rightframe">ICE_CREAM_SANDWICH</A>
+</nobr><br>
+<!-- Method incrementOperationCount -->
+<i>incrementOperationCount</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.incrementOperationCount_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.net.TrafficStats
+</A></nobr><br>
+<!-- Method incrementOperationCount -->
+&nbsp;&nbsp;<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.incrementOperationCount_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.net.TrafficStats
+</A></nobr><br>
+<!-- Method inflate -->
+<nobr><A HREF="android.widget.PopupMenu.html#android.widget.PopupMenu.inflate_added(int)" class="hiddenlink" target="rightframe"><b>inflate</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Constructor InputMethodSubtype -->
+<nobr><A HREF="android.view.inputmethod.InputMethodSubtype.html#android.view.inputmethod.InputMethodSubtype.ctor_added(int, int, java.lang.String, java.lang.String, java.lang.String, boolean, boolean)" class="hiddenlink" target="rightframe"><b>InputMethodSubtype</b>
+(<code>int, int, String, String, String, boolean, boolean</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor Int2 -->
+<nobr><A HREF="android.renderscript.Int2.html#android.renderscript.Int2.ctor_added(int, int)" class="hiddenlink" target="rightframe"><b>Int2</b>
+(<code>int, int</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor Int3 -->
+<nobr><A HREF="android.renderscript.Int3.html#android.renderscript.Int3.ctor_added(int, int, int)" class="hiddenlink" target="rightframe"><b>Int3</b>
+(<code>int, int, int</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor Int4 -->
+<nobr><A HREF="android.renderscript.Int4.html#android.renderscript.Int4.ctor_added(int, int, int, int)" class="hiddenlink" target="rightframe"><b>Int4</b>
+(<code>int, int, int, int</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Field INTENT_ACTION_TTS_SERVICE -->
+<nobr><A HREF="android.speech.tts.TextToSpeech.Engine.html#android.speech.tts.TextToSpeech.Engine.INTENT_ACTION_TTS_SERVICE" class="hiddenlink" target="rightframe">INTENT_ACTION_TTS_SERVICE</A>
+</nobr><br>
+<!-- Field INVALID_POINTER_ID -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.INVALID_POINTER_ID" class="hiddenlink" target="rightframe">INVALID_POINTER_ID</A>
+</nobr><br>
+<!-- Method invalidateOptionsMenu -->
+<nobr><A HREF="android.app.FragmentManager.html#android.app.FragmentManager.invalidateOptionsMenu_added()" class="hiddenlink" target="rightframe"><b>invalidateOptionsMenu</b>
+()</A></nobr><br>
+<!-- Field INVITE_CONTACT -->
+<nobr><A HREF="android.provider.ContactsContract.Intents.html#android.provider.ContactsContract.Intents.INVITE_CONTACT" class="hiddenlink" target="rightframe">INVITE_CONTACT</A>
+</nobr><br>
+<!-- Field IS_READ -->
+<nobr><A HREF="android.provider.CallLog.Calls.html#android.provider.CallLog.Calls.IS_READ" class="hiddenlink" target="rightframe">IS_READ</A>
+</nobr><br>
+<!-- Field IS_USER_PROFILE -->
+<nobr><A HREF="android.provider.ContactsContract.ContactsColumns.html#android.provider.ContactsContract.ContactsColumns.IS_USER_PROFILE" class="hiddenlink" target="rightframe">IS_USER_PROFILE</A>
+</nobr><br>
+<!-- Method isActionViewExpanded -->
+<nobr><A HREF="android.view.MenuItem.html#android.view.MenuItem.isActionViewExpanded_added()" class="hiddenlink" target="rightframe"><b>isActionViewExpanded</b>
+()</A></nobr><br>
+<!-- Method isAutoExposureLockSupported -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.isAutoExposureLockSupported_added()" class="hiddenlink" target="rightframe"><b>isAutoExposureLockSupported</b>
+()</A></nobr><br>
+<!-- Method isAutoWhiteBalanceLockSupported -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.isAutoWhiteBalanceLockSupported_added()" class="hiddenlink" target="rightframe"><b>isAutoWhiteBalanceLockSupported</b>
+()</A></nobr><br>
+<!-- Method isAuxiliary -->
+<i>isAuxiliary</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputMethodSubtype.html#android.view.inputmethod.InputMethodSubtype.isAuxiliary_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.inputmethod.InputMethodSubtype
+</A></nobr><br>
+<!-- Field isAuxiliary -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.isAuxiliary" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Method isCompatible -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.isCompatible_added(android.renderscript.Element)" class="hiddenlink" target="rightframe"><b>isCompatible</b>
+(<code>Element</code>)</A></nobr><br>
+<!-- Method isConnected -->
+<nobr><A HREF="android.bluetooth.BluetoothSocket.html#android.bluetooth.BluetoothSocket.isConnected_added()" class="hiddenlink" target="rightframe"><b>isConnected</b>
+()</A></nobr><br>
+<!-- Method isHovered -->
+<nobr><A HREF="android.view.View.html#android.view.View.isHovered_added()" class="hiddenlink" target="rightframe"><b>isHovered</b>
+()</A></nobr><br>
+<!-- Method isProfileId -->
+<nobr><A HREF="android.provider.ContactsContract.html#android.provider.ContactsContract.isProfileId_added(long)" class="hiddenlink" target="rightframe"><b>isProfileId</b>
+(<code>long</code>)</A></nobr><br>
+<!-- Method isRtlCharAt -->
+<nobr><A HREF="android.text.Layout.html#android.text.Layout.isRtlCharAt_added(int)" class="hiddenlink" target="rightframe"><b>isRtlCharAt</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method isStarted -->
+<nobr><A HREF="android.animation.Animator.html#android.animation.Animator.isStarted_added()" class="hiddenlink" target="rightframe"><b>isStarted</b>
+()</A></nobr><br>
+<!-- Method isSuggestionsEnabled -->
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.isSuggestionsEnabled_added()" class="hiddenlink" target="rightframe"><b>isSuggestionsEnabled</b>
+()</A></nobr><br>
+<!-- Method isTouchExplorationEnabled -->
+<nobr><A HREF="android.view.accessibility.AccessibilityManager.html#android.view.accessibility.AccessibilityManager.isTouchExplorationEnabled_added()" class="hiddenlink" target="rightframe"><b>isTouchExplorationEnabled</b>
+()</A></nobr><br>
+<!-- Method isVideoSnapshotSupported -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.isVideoSnapshotSupported_added()" class="hiddenlink" target="rightframe"><b>isVideoSnapshotSupported</b>
+()</A></nobr><br>
+<!-- Field KEY_ANDROID_PACKAGE_NAME -->
+<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="#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">
+<nobr><A HREF="android.accounts.AccountManager.html#android.accounts.AccountManager.KEY_ANDROID_PACKAGE_NAME" class="hiddenlink" target="rightframe">KEY_ANDROID_PACKAGE_NAME</A>
+</nobr><br>
+<!-- Field KEYCODE_3D_MODE -->
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_3D_MODE" class="hiddenlink" target="rightframe">KEYCODE_3D_MODE</A>
+</nobr><br>
+<!-- Field KEYCODE_LANGUAGE_SWITCH -->
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_LANGUAGE_SWITCH" class="hiddenlink" target="rightframe">KEYCODE_LANGUAGE_SWITCH</A>
+</nobr><br>
+<!-- Field KEYCODE_MANNER_MODE -->
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_MANNER_MODE" class="hiddenlink" target="rightframe">KEYCODE_MANNER_MODE</A>
+</nobr><br>
+<!-- Field layout_columnSpan -->
+<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="#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="#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.layout_columnSpan" class="hiddenlink" target="rightframe">layout_columnSpan</A>
+</nobr><br>
+<!-- Field layout_row -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.layout_row" class="hiddenlink" target="rightframe">layout_row</A>
+</nobr><br>
+<!-- Field layout_rowSpan -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.layout_rowSpan" class="hiddenlink" target="rightframe">layout_rowSpan</A>
+</nobr><br>
+<!-- Field listPreferredItemHeightLarge -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.listPreferredItemHeightLarge" class="hiddenlink" target="rightframe">listPreferredItemHeightLarge</A>
+</nobr><br>
+<!-- Field listPreferredItemHeightSmall -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.listPreferredItemHeightSmall" class="hiddenlink" target="rightframe">listPreferredItemHeightSmall</A>
+</nobr><br>
+<!-- Field listPreferredItemPaddingLeft -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.listPreferredItemPaddingLeft" class="hiddenlink" target="rightframe">listPreferredItemPaddingLeft</A>
+</nobr><br>
+<!-- Field listPreferredItemPaddingRight -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.listPreferredItemPaddingRight" class="hiddenlink" target="rightframe">listPreferredItemPaddingRight</A>
+</nobr><br>
+<!-- Constructor Long2 -->
+<nobr><A HREF="android.renderscript.Long2.html#android.renderscript.Long2.ctor_added(long, long)" class="hiddenlink" target="rightframe"><b>Long2</b>
+(<code>long, long</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor Long3 -->
+<nobr><A HREF="android.renderscript.Long3.html#android.renderscript.Long3.ctor_added(long, long, long)" class="hiddenlink" target="rightframe"><b>Long3</b>
+(<code>long, long, long</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor Long4 -->
+<nobr><A HREF="android.renderscript.Long4.html#android.renderscript.Long4.ctor_added(long, long, long, long)" class="hiddenlink" target="rightframe"><b>Long4</b>
+(<code>long, long, long, long</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class MenuItem.OnActionExpandListener -->
+<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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.view.html#MenuItem.OnActionExpandListener" class="hiddenlink" target="rightframe"><b><i>MenuItem.OnActionExpandListener</i></b></A><br>
+<!-- Field METADATA_KEY_BITRATE -->
+<nobr><A HREF="android.media.MediaMetadataRetriever.html#android.media.MediaMetadataRetriever.METADATA_KEY_BITRATE" class="hiddenlink" target="rightframe">METADATA_KEY_BITRATE</A>
+</nobr><br>
+<!-- Field METADATA_KEY_HAS_AUDIO -->
+<nobr><A HREF="android.media.MediaMetadataRetriever.html#android.media.MediaMetadataRetriever.METADATA_KEY_HAS_AUDIO" class="hiddenlink" target="rightframe">METADATA_KEY_HAS_AUDIO</A>
+</nobr><br>
+<!-- Field METADATA_KEY_HAS_VIDEO -->
+<nobr><A HREF="android.media.MediaMetadataRetriever.html#android.media.MediaMetadataRetriever.METADATA_KEY_HAS_VIDEO" class="hiddenlink" target="rightframe">METADATA_KEY_HAS_VIDEO</A>
+</nobr><br>
+<!-- Field METADATA_KEY_VIDEO_HEIGHT -->
+<nobr><A HREF="android.media.MediaMetadataRetriever.html#android.media.MediaMetadataRetriever.METADATA_KEY_VIDEO_HEIGHT" class="hiddenlink" target="rightframe">METADATA_KEY_VIDEO_HEIGHT</A>
+</nobr><br>
+<!-- Field METADATA_KEY_VIDEO_WIDTH -->
+<nobr><A HREF="android.media.MediaMetadataRetriever.html#android.media.MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH" class="hiddenlink" target="rightframe">METADATA_KEY_VIDEO_WIDTH</A>
+</nobr><br>
+<!-- Field minResizeHeight -->
+<i>minResizeHeight</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.minResizeHeight" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field minResizeHeight -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.appwidget.AppWidgetProviderInfo.html#android.appwidget.AppWidgetProviderInfo.minResizeHeight" class="hiddenlink" target="rightframe">android.appwidget.AppWidgetProviderInfo</A>
+</nobr><br>
+<!-- Field minResizeWidth -->
+<i>minResizeWidth</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.minResizeWidth" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field minResizeWidth -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.appwidget.AppWidgetProviderInfo.html#android.appwidget.AppWidgetProviderInfo.minResizeWidth" class="hiddenlink" target="rightframe">android.appwidget.AppWidgetProviderInfo</A>
+</nobr><br>
+<!-- Class MotionEvent.PointerProperties -->
+<A HREF="pkg_android.view.html#MotionEvent.PointerProperties" class="hiddenlink" target="rightframe"><b>MotionEvent.PointerProperties</b></A><br>
+<!-- Class NetworkQuotaInfo -->
+<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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.net.html#NetworkQuotaInfo" class="hiddenlink" target="rightframe"><b>NetworkQuotaInfo</b></A><br>
+<!-- Method newChooseAccountIntent -->
+<nobr><A HREF="android.accounts.AccountManager.html#android.accounts.AccountManager.newChooseAccountIntent_added(android.accounts.Account, java.util.ArrayList<android.accounts.Account>, java.lang.String[], boolean, java.lang.String, java.lang.String, java.lang.String[], android.os.Bundle)" class="hiddenlink" target="rightframe"><b>newChooseAccountIntent</b>
+(<code>Account, ArrayList&lt;Account&gt;, String[], boolean, String, String, String[], Bundle</code>)</A></nobr><br>
+<!-- Class NfcAdapter.CreateNdefMessageCallback -->
+<A HREF="pkg_android.nfc.html#NfcAdapter.CreateNdefMessageCallback" class="hiddenlink" target="rightframe"><b><i>NfcAdapter.CreateNdefMessageCallback</i></b></A><br>
+<!-- Class NfcAdapter.OnNdefPushCompleteCallback -->
+<A HREF="pkg_android.nfc.html#NfcAdapter.OnNdefPushCompleteCallback" class="hiddenlink" target="rightframe"><b><i>NfcAdapter.OnNdefPushCompleteCallback</i></b></A><br>
+<!-- Class NfcEvent -->
+<A HREF="pkg_android.nfc.html#NfcEvent" class="hiddenlink" target="rightframe"><b>NfcEvent</b></A><br>
+<!-- Class NoSuchPropertyException -->
+<A HREF="pkg_android.util.html#NoSuchPropertyException" class="hiddenlink" target="rightframe"><b>NoSuchPropertyException</b></A><br>
+<!-- Field notificationTimeout -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.notificationTimeout" class="hiddenlink" target="rightframe">notificationTimeout</A>
+</nobr><br>
+<!-- Method obtain -->
+<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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>obtain</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.obtain_added(long, long, int, int, android.view.MotionEvent.PointerProperties[], android.view.MotionEvent.PointerCoords[], int, int, float, float, int, int, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long, int, int, PointerProperties[], PointerCoords[], int, int, float, float, int, int, int, int</code>)</b>&nbsp;in&nbsp;android.view.MotionEvent
+</A></nobr><br>
+<!-- Method obtain -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.obtain_added(long, long, int, int, int[], android.view.MotionEvent.PointerCoords[], int, float, float, int, int, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long, int, int, int[], PointerCoords[], int, float, float, int, int, int, int</code>)</b>&nbsp;in&nbsp;android.view.MotionEvent
+</A></nobr><br>
+<!-- Method obtain -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.obtain_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AccessibilityEvent</code>)</b>&nbsp;in&nbsp;android.view.accessibility.AccessibilityEvent
+</A></nobr><br>
+<!-- Method ofFloat -->
+<i>ofFloat</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.ObjectAnimator.html#android.animation.ObjectAnimator.ofFloat_added(T, android.util.Property<T, java.lang.Float>, float...)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, Property&lt;T, Float&gt;, </code>)</b>&nbsp;in&nbsp;android.animation.ObjectAnimator
+</A></nobr><br>
+<!-- Method ofFloat -->
+&nbsp;&nbsp;<nobr><A HREF="android.animation.PropertyValuesHolder.html#android.animation.PropertyValuesHolder.ofFloat_added(android.util.Property<?, java.lang.Float>, float...)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Property&lt;?, Float&gt;, </code>)</b>&nbsp;in&nbsp;android.animation.PropertyValuesHolder
+</A></nobr><br>
+<!-- Method ofInt -->
+<i>ofInt</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.ObjectAnimator.html#android.animation.ObjectAnimator.ofInt_added(T, android.util.Property<T, java.lang.Integer>, int...)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, Property&lt;T, Integer&gt;, </code>)</b>&nbsp;in&nbsp;android.animation.ObjectAnimator
+</A></nobr><br>
+<!-- Method ofInt -->
+&nbsp;&nbsp;<nobr><A HREF="android.animation.PropertyValuesHolder.html#android.animation.PropertyValuesHolder.ofInt_added(android.util.Property<?, java.lang.Integer>, int...)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Property&lt;?, Integer&gt;, </code>)</b>&nbsp;in&nbsp;android.animation.PropertyValuesHolder
+</A></nobr><br>
+<!-- Method ofKeyframe -->
+<nobr><A HREF="android.animation.PropertyValuesHolder.html#android.animation.PropertyValuesHolder.ofKeyframe_added(android.util.Property, android.animation.Keyframe...)" class="hiddenlink" target="rightframe"><b>ofKeyframe</b>
+(<code>Property, </code>)</A></nobr><br>
+<!-- Method ofObject -->
+<i>ofObject</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.ObjectAnimator.html#android.animation.ObjectAnimator.ofObject_added(T, android.util.Property<T, V>, android.animation.TypeEvaluator<V>, V...)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, Property&lt;T, V&gt;, TypeEvaluator&lt;V&gt;, </code>)</b>&nbsp;in&nbsp;android.animation.ObjectAnimator
+</A></nobr><br>
+<!-- Method ofObject -->
+&nbsp;&nbsp;<nobr><A HREF="android.animation.PropertyValuesHolder.html#android.animation.PropertyValuesHolder.ofObject_added(android.util.Property, android.animation.TypeEvaluator<V>, V...)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Property, TypeEvaluator&lt;V&gt;, </code>)</b>&nbsp;in&nbsp;android.animation.PropertyValuesHolder
+</A></nobr><br>
+<!-- Method onActionViewCollapsed -->
+<nobr><A HREF="android.widget.SearchView.html#android.widget.SearchView.onActionViewCollapsed_added()" class="hiddenlink" target="rightframe"><b>onActionViewCollapsed</b>
+()</A></nobr><br>
+<!-- Method onActionViewExpanded -->
+<nobr><A HREF="android.widget.SearchView.html#android.widget.SearchView.onActionViewExpanded_added()" class="hiddenlink" target="rightframe"><b>onActionViewExpanded</b>
+()</A></nobr><br>
+<!-- Method onBuildStartFragmentIntent -->
+<nobr><A HREF="android.preference.PreferenceActivity.html#android.preference.PreferenceActivity.onBuildStartFragmentIntent_added(java.lang.String, android.os.Bundle, int, int)" class="hiddenlink" target="rightframe"><b>onBuildStartFragmentIntent</b>
+(<code>String, Bundle, int, int</code>)</A></nobr><br>
+<!-- Method onFullBackup -->
+<nobr><A HREF="android.app.backup.BackupAgent.html#android.app.backup.BackupAgent.onFullBackup_added(android.app.backup.FullBackupDataOutput)" class="hiddenlink" target="rightframe"><b>onFullBackup</b>
+(<code>FullBackupDataOutput</code>)</A></nobr><br>
+<!-- Method onHoverChanged -->
+<nobr><A HREF="android.view.View.html#android.view.View.onHoverChanged_added(boolean)" class="hiddenlink" target="rightframe"><b>onHoverChanged</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method onHoverEvent -->
+<nobr><A HREF="android.view.View.html#android.view.View.onHoverEvent_added(android.view.MotionEvent)" class="hiddenlink" target="rightframe"><b>onHoverEvent</b>
+(<code>MotionEvent</code>)</A></nobr><br>
+<!-- Method onInitializeAccessibilityEvent -->
+<nobr><A HREF="android.view.View.html#android.view.View.onInitializeAccessibilityEvent_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe"><b>onInitializeAccessibilityEvent</b>
+(<code>AccessibilityEvent</code>)</A></nobr><br>
+<!-- Method onInitializeAccessibilityNodeInfo -->
+<nobr><A HREF="android.view.View.html#android.view.View.onInitializeAccessibilityNodeInfo_added(android.view.accessibility.AccessibilityNodeInfo)" class="hiddenlink" target="rightframe"><b>onInitializeAccessibilityNodeInfo</b>
+(<code>AccessibilityNodeInfo</code>)</A></nobr><br>
+<!-- Method onInterceptHoverEvent -->
+<nobr><A HREF="android.view.ViewGroup.html#android.view.ViewGroup.onInterceptHoverEvent_added(android.view.MotionEvent)" class="hiddenlink" target="rightframe"><b>onInterceptHoverEvent</b>
+(<code>MotionEvent</code>)</A></nobr><br>
+<!-- Method onPopulateAccessibilityEvent -->
+<nobr><A HREF="android.view.View.html#android.view.View.onPopulateAccessibilityEvent_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe"><b>onPopulateAccessibilityEvent</b>
+(<code>AccessibilityEvent</code>)</A></nobr><br>
+<!-- Method onRequestSendAccessibilityEvent -->
+<nobr><A HREF="android.view.ViewGroup.html#android.view.ViewGroup.onRequestSendAccessibilityEvent_added(android.view.View, android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe"><b>onRequestSendAccessibilityEvent</b>
+(<code>View, AccessibilityEvent</code>)</A></nobr><br>
+<!-- Method onRestoreFile -->
+<nobr><A HREF="android.app.backup.BackupAgent.html#android.app.backup.BackupAgent.onRestoreFile_added(android.os.ParcelFileDescriptor, long, java.io.File, int, long, long)" class="hiddenlink" target="rightframe"><b>onRestoreFile</b>
+(<code>ParcelFileDescriptor, long, File, int, long, long</code>)</A></nobr><br>
+<!-- Method onShowCustomView -->
+<nobr><A HREF="android.webkit.WebChromeClient.html#android.webkit.WebChromeClient.onShowCustomView_added(android.view.View, int, android.webkit.WebChromeClient.CustomViewCallback)" class="hiddenlink" target="rightframe"><b>onShowCustomView</b>
+(<code>View, int, CustomViewCallback</code>)</A></nobr><br>
+<!-- Method onTaskRemoved -->
+<nobr><A HREF="android.app.Service.html#android.app.Service.onTaskRemoved_added(android.content.Intent)" class="hiddenlink" target="rightframe"><b>onTaskRemoved</b>
+(<code>Intent</code>)</A></nobr><br>
+<!-- Method onTrimMemory -->
+<i>onTrimMemory</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Activity.html#android.app.Activity.onTrimMemory_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.Activity
+</A></nobr><br>
+<!-- Method onTrimMemory -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.Application.html#android.app.Application.onTrimMemory_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.Application
+</A></nobr><br>
+<!-- Method onTrimMemory -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.Fragment.html#android.app.Fragment.onTrimMemory_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.Fragment
+</A></nobr><br>
+<!-- Method onTrimMemory -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.Service.html#android.app.Service.onTrimMemory_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.Service
+</A></nobr><br>
+<!-- Method onTrimMemory -->
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContentProvider.html#android.content.ContentProvider.onTrimMemory_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.content.ContentProvider
+</A></nobr><br>
+<!-- Method onViewClicked -->
+<nobr><A HREF="android.inputmethodservice.InputMethodService.html#android.inputmethodservice.InputMethodService.onViewClicked_added(boolean)" class="hiddenlink" target="rightframe"><b>onViewClicked</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method openContactPhotoInputStream -->
+<nobr><A HREF="android.provider.ContactsContract.Contacts.html#android.provider.ContactsContract.Contacts.openContactPhotoInputStream_added(android.content.ContentResolver, android.net.Uri, boolean)" class="hiddenlink" target="rightframe"><b>openContactPhotoInputStream</b>
+(<code>ContentResolver, Uri, boolean</code>)</A></nobr><br>
+<!-- Method overridesImplicitlyEnabledSubtype -->
+<i>overridesImplicitlyEnabledSubtype</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputMethodSubtype.html#android.view.inputmethod.InputMethodSubtype.overridesImplicitlyEnabledSubtype_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.inputmethod.InputMethodSubtype
+</A></nobr><br>
+<!-- Field overridesImplicitlyEnabledSubtype -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.overridesImplicitlyEnabledSubtype" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field packageNames -->
+<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="#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="#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.packageNames" class="hiddenlink" target="rightframe">packageNames</A>
+</nobr><br>
+<!-- Field PASSWORD_QUALITY_BIOMETRIC_WEAK -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_BIOMETRIC_WEAK" class="hiddenlink" target="rightframe">PASSWORD_QUALITY_BIOMETRIC_WEAK</A>
+</nobr><br>
+<!-- Method perspectiveM -->
+<nobr><A HREF="android.opengl.Matrix.html#android.opengl.Matrix.perspectiveM_added(float[], int, float, float, float, float)" class="hiddenlink" target="rightframe"><b>perspectiveM</b>
+(<code>float[], int, float, float, float, float</code>)</A></nobr><br>
+<!-- Field PHOTO_FILE_ID -->
+<i>PHOTO_FILE_ID</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Photo.html#android.provider.ContactsContract.CommonDataKinds.Photo.PHOTO_FILE_ID" class="hiddenlink" target="rightframe">android.provider.ContactsContract.CommonDataKinds.Photo</A>
+</nobr><br>
+<!-- Field PHOTO_FILE_ID -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.Contacts.Photo.html#android.provider.ContactsContract.Contacts.Photo.PHOTO_FILE_ID" class="hiddenlink" target="rightframe">android.provider.ContactsContract.Contacts.Photo</A>
+</nobr><br>
+<!-- Field PHOTO_FILE_ID -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.ContactsColumns.html#android.provider.ContactsContract.ContactsColumns.PHOTO_FILE_ID" class="hiddenlink" target="rightframe">android.provider.ContactsContract.ContactsColumns</A>
+</nobr><br>
+<!-- Class PopupMenu.OnDismissListener -->
+<A HREF="pkg_android.widget.html#PopupMenu.OnDismissListener" class="hiddenlink" target="rightframe"><b><i>PopupMenu.OnDismissListener</i></b></A><br>
+<!-- Field PRIMARY_ACCOUNT_NAME -->
+<nobr><A HREF="android.provider.ContactsContract.html#android.provider.ContactsContract.PRIMARY_ACCOUNT_NAME" class="hiddenlink" target="rightframe">PRIMARY_ACCOUNT_NAME</A>
+</nobr><br>
+<!-- Field PRIMARY_ACCOUNT_TYPE -->
+<nobr><A HREF="android.provider.ContactsContract.html#android.provider.ContactsContract.PRIMARY_ACCOUNT_TYPE" class="hiddenlink" target="rightframe">PRIMARY_ACCOUNT_TYPE</A>
+</nobr><br>
+<!-- Field PROFILE_CONTENT_URI -->
+<i>PROFILE_CONTENT_URI</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.RawContactsEntity.html#android.provider.ContactsContract.RawContactsEntity.PROFILE_CONTENT_URI" class="hiddenlink" target="rightframe">android.provider.ContactsContract.RawContactsEntity</A>
+</nobr><br>
+<!-- Field PROFILE_CONTENT_URI -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusUpdates.html#android.provider.ContactsContract.StatusUpdates.PROFILE_CONTENT_URI" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusUpdates</A>
+</nobr><br>
+<!-- Class Property -->
+<A HREF="pkg_android.util.html#Property" class="hiddenlink" target="rightframe"><b>Property</b></A><br>
+<!-- Field publicKey -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.publicKey" class="hiddenlink" target="rightframe">publicKey</A>
+</nobr><br>
+<!-- Field RADIO_NFC -->
+<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="#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="#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.RADIO_NFC" class="hiddenlink" target="rightframe">RADIO_NFC</A>
+</nobr><br>
+<!-- Field RAW_CONTACT_IS_USER_PROFILE -->
+<nobr><A HREF="android.provider.ContactsContract.RawContactsColumns.html#android.provider.ContactsContract.RawContactsColumns.RAW_CONTACT_IS_USER_PROFILE" class="hiddenlink" target="rightframe">RAW_CONTACT_IS_USER_PROFILE</A>
+</nobr><br>
+<!-- Field READ_PROFILE -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.READ_PROFILE" class="hiddenlink" target="rightframe">READ_PROFILE</A>
+</nobr><br>
+<!-- Method rebootWipeCache -->
+<nobr><A HREF="android.os.RecoverySystem.html#android.os.RecoverySystem.rebootWipeCache_added(android.content.Context)" class="hiddenlink" target="rightframe"><b>rebootWipeCache</b>
+(<code>Context</code>)</A></nobr><br>
+<!-- Method registerActivityLifecycleCallbacks -->
+<nobr><A HREF="android.app.Application.html#android.app.Application.registerActivityLifecycleCallbacks_added(android.app.Application.ActivityLifecycleCallbacks)" class="hiddenlink" target="rightframe"><b>registerActivityLifecycleCallbacks</b>
+(<code>ActivityLifecycleCallbacks</code>)</A></nobr><br>
+<!-- Method registerComponentCallbacks -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.registerComponentCallbacks_added(android.content.ComponentCallbacks)" class="hiddenlink" target="rightframe"><b>registerComponentCallbacks</b>
+(<code>ComponentCallbacks</code>)</A></nobr><br>
+<!-- Method registerRemoteControlClient -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.registerRemoteControlClient_added(android.media.RemoteControlClient)" class="hiddenlink" target="rightframe"><b>registerRemoteControlClient</b>
+(<code>RemoteControlClient</code>)</A></nobr><br>
+<!-- Field RELATIVE_HORIZONTAL_GRAVITY_MASK -->
+<nobr><A HREF="android.view.Gravity.html#android.view.Gravity.RELATIVE_HORIZONTAL_GRAVITY_MASK" class="hiddenlink" target="rightframe">RELATIVE_HORIZONTAL_GRAVITY_MASK</A>
+</nobr><br>
+<!-- Field RELATIVE_LAYOUT_DIRECTION -->
+<nobr><A HREF="android.view.Gravity.html#android.view.Gravity.RELATIVE_LAYOUT_DIRECTION" class="hiddenlink" target="rightframe">RELATIVE_LAYOUT_DIRECTION</A>
+</nobr><br>
+<!-- Method release -->
+<i>release</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.SurfaceTexture.html#android.graphics.SurfaceTexture.release_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.graphics.SurfaceTexture
+</A></nobr><br>
+<!-- Method release -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.Surface.html#android.view.Surface.release_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.Surface
+</A></nobr><br>
+<!-- Class RemoteControlClient -->
+<A HREF="pkg_android.media.html#RemoteControlClient" class="hiddenlink" target="rightframe"><b>RemoteControlClient</b></A><br>
+<!-- Class RemoteControlClient.MetadataEditor -->
+<A HREF="pkg_android.media.html#RemoteControlClient.MetadataEditor" class="hiddenlink" target="rightframe"><b>RemoteControlClient.MetadataEditor</b></A><br>
+<!-- Method removeAccessibilityStateChangeListener -->
+<nobr><A HREF="android.view.accessibility.AccessibilityManager.html#android.view.accessibility.AccessibilityManager.removeAccessibilityStateChangeListener_added(android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener)" class="hiddenlink" target="rightframe"><b>removeAccessibilityStateChangeListener</b>
+(<code>AccessibilityStateChangeListener</code>)</A></nobr><br>
+<!-- Method requestSendAccessibilityEvent -->
+<i>requestSendAccessibilityEvent</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.ViewGroup.html#android.view.ViewGroup.requestSendAccessibilityEvent_added(android.view.View, android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View, AccessibilityEvent</code>)</b>&nbsp;in&nbsp;android.view.ViewGroup
+</A></nobr><br>
+<!-- Method requestSendAccessibilityEvent -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.ViewParent.html#android.view.ViewParent.requestSendAccessibilityEvent_added(android.view.View, android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View, AccessibilityEvent</code>)</b>&nbsp;in&nbsp;android.view.ViewParent
+</A></nobr><br>
+<!-- Field requiresFadingEdge -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.requiresFadingEdge" class="hiddenlink" target="rightframe">requiresFadingEdge</A>
+</nobr><br>
+<!-- Method resetResolvedDrawables -->
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.resetResolvedDrawables_added()" class="hiddenlink" target="rightframe"><b>resetResolvedDrawables</b>
+()</A></nobr><br>
+<!-- Method resetResolvedLayoutDirection -->
+<i>resetResolvedLayoutDirection</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.ViewGroup.html#android.view.ViewGroup.resetResolvedLayoutDirection_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.ViewGroup
+</A></nobr><br>
+<!-- Method resetResolvedLayoutDirection -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.resetResolvedLayoutDirection_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.widget.TextView
+</A></nobr><br>
+<!-- Method resetResolvedTextDirection -->
+<nobr><A HREF="android.view.ViewGroup.html#android.view.ViewGroup.resetResolvedTextDirection_added()" class="hiddenlink" target="rightframe"><b>resetResolvedTextDirection</b>
+()</A></nobr><br>
+<!-- Method resolveDrawables -->
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.resolveDrawables_added()" class="hiddenlink" target="rightframe"><b>resolveDrawables</b>
+()</A></nobr><br>
+<!-- Method resolveTextDirection -->
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.resolveTextDirection_added()" class="hiddenlink" target="rightframe"><b>resolveTextDirection</b>
+()</A></nobr><br>
+<!-- Field ROTATION -->
+<nobr><A HREF="android.view.View.html#android.view.View.ROTATION" class="hiddenlink" target="rightframe">ROTATION</A>
+</nobr><br>
+<!-- Field ROTATION_X -->
+<nobr><A HREF="android.view.View.html#android.view.View.ROTATION_X" class="hiddenlink" target="rightframe">ROTATION_X</A>
+</nobr><br>
+<!-- Field ROTATION_Y -->
+<nobr><A HREF="android.view.View.html#android.view.View.ROTATION_Y" class="hiddenlink" target="rightframe">ROTATION_Y</A>
+</nobr><br>
+<!-- Field rowCount -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.rowCount" class="hiddenlink" target="rightframe">rowCount</A>
+</nobr><br>
+<!-- Field rowOrderPreserved -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.rowOrderPreserved" class="hiddenlink" target="rightframe">rowOrderPreserved</A>
+</nobr><br>
+<!-- Class RSTextureView -->
+<A HREF="pkg_android.renderscript.html#RSTextureView" class="hiddenlink" target="rightframe"><b>RSTextureView</b></A><br>
+<!-- Field SCALE_X -->
+<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="#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="#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.SCALE_X" class="hiddenlink" target="rightframe">SCALE_X</A>
+</nobr><br>
+<!-- Field SCALE_Y -->
+<nobr><A HREF="android.view.View.html#android.view.View.SCALE_Y" class="hiddenlink" target="rightframe">SCALE_Y</A>
+</nobr><br>
+<!-- Field SCO_AUDIO_STATE_CONNECTING -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.SCO_AUDIO_STATE_CONNECTING" class="hiddenlink" target="rightframe">SCO_AUDIO_STATE_CONNECTING</A>
+</nobr><br>
+<!-- Method send -->
+<nobr><A HREF="android.app.PendingIntent.html#android.app.PendingIntent.send_added(android.content.Context, int, android.content.Intent, android.app.PendingIntent.OnFinished, android.os.Handler, java.lang.String)" class="hiddenlink" target="rightframe"><b>send</b>
+(<code>Context, int, Intent, OnFinished, Handler, String</code>)</A></nobr><br>
+<!-- Method sendIntent -->
+<nobr><A HREF="android.content.IntentSender.html#android.content.IntentSender.sendIntent_added(android.content.Context, int, android.content.Intent, android.content.IntentSender.OnFinished, android.os.Handler, java.lang.String)" class="hiddenlink" target="rightframe"><b>sendIntent</b>
+(<code>Context, int, Intent, OnFinished, Handler, String</code>)</A></nobr><br>
+<!-- Field SERVICE_META_DATA -->
+<i>SERVICE_META_DATA</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.accessibilityservice.AccessibilityService.html#android.accessibilityservice.AccessibilityService.SERVICE_META_DATA" class="hiddenlink" target="rightframe">android.accessibilityservice.AccessibilityService</A>
+</nobr><br>
+<!-- Field SERVICE_META_DATA -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.speech.tts.TextToSpeech.Engine.html#android.speech.tts.TextToSpeech.Engine.SERVICE_META_DATA" class="hiddenlink" target="rightframe">android.speech.tts.TextToSpeech.Engine</A>
+</nobr><br>
+<!-- Method setAccessibilityDelegate -->
+<nobr><A HREF="android.view.View.html#android.view.View.setAccessibilityDelegate_added(android.view.View.AccessibilityDelegate)" class="hiddenlink" target="rightframe"><b>setAccessibilityDelegate</b>
+(<code>AccessibilityDelegate</code>)</A></nobr><br>
+<!-- Method setActionProvider -->
+<nobr><A HREF="android.view.MenuItem.html#android.view.MenuItem.setActionProvider_added(android.view.ActionProvider)" class="hiddenlink" target="rightframe"><b>setActionProvider</b>
+(<code>ActionProvider</code>)</A></nobr><br>
+<!-- Method setAdditionalInputMethodSubtypes -->
+<nobr><A HREF="android.view.inputmethod.InputMethodManager.html#android.view.inputmethod.InputMethodManager.setAdditionalInputMethodSubtypes_added(java.lang.String, android.view.inputmethod.InputMethodSubtype[])" class="hiddenlink" target="rightframe"><b>setAdditionalInputMethodSubtypes</b>
+(<code>String, InputMethodSubtype[]</code>)</A></nobr><br>
+<!-- Method setAllCaps -->
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.setAllCaps_added(boolean)" class="hiddenlink" target="rightframe"><b>setAllCaps</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setAnimateParentHierarchy -->
+<nobr><A HREF="android.animation.LayoutTransition.html#android.animation.LayoutTransition.setAnimateParentHierarchy_added(boolean)" class="hiddenlink" target="rightframe"><b>setAnimateParentHierarchy</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setAutoExposureLock -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.setAutoExposureLock_added(boolean)" class="hiddenlink" target="rightframe"><b>setAutoExposureLock</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setAutoWhiteBalanceLock -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.setAutoWhiteBalanceLock_added(boolean)" class="hiddenlink" target="rightframe"><b>setAutoWhiteBalanceLock</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setCameraDisabled -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setCameraDisabled_added(android.content.ComponentName, boolean)" class="hiddenlink" target="rightframe"><b>setCameraDisabled</b>
+(<code>ComponentName, boolean</code>)</A></nobr><br>
+<!-- Method setContentDescription -->
+<i>setContentDescription</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.ActionBar.Tab.html#android.app.ActionBar.Tab.setContentDescription_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.ActionBar.Tab
+</A></nobr><br>
+<!-- Method setContentDescription -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.ActionBar.Tab.html#android.app.ActionBar.Tab.setContentDescription_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>CharSequence</code>)</b>&nbsp;in&nbsp;android.app.ActionBar.Tab
+</A></nobr><br>
+<!-- Method setDataSource -->
+<i>setDataSource</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.MediaMetadataRetriever.html#android.media.MediaMetadataRetriever.setDataSource_added(java.lang.String, java.util.Map<java.lang.String, java.lang.String>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, Map&lt;String, String&gt;</code>)</b>&nbsp;in&nbsp;android.media.MediaMetadataRetriever
+</A></nobr><br>
+<!-- Method setDataSource -->
+&nbsp;&nbsp;<nobr><A HREF="android.media.MediaPlayer.html#android.media.MediaPlayer.setDataSource_added(android.content.Context, android.net.Uri, java.util.Map<java.lang.String, java.lang.String>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Context, Uri, Map&lt;String, String&gt;</code>)</b>&nbsp;in&nbsp;android.media.MediaPlayer
+</A></nobr><br>
+<!-- Method setDataSource -->
+&nbsp;&nbsp;<nobr><A HREF="android.media.MediaPlayer.html#android.media.MediaPlayer.setDataSource_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.media.MediaPlayer
+</A></nobr><br>
+<!-- Method setDimAmount -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.setDimAmount_added(float)" class="hiddenlink" target="rightframe"><b>setDimAmount</b>
+(<code>float</code>)</A></nobr><br>
+<!-- Method setDividerPadding -->
+<nobr><A HREF="android.widget.LinearLayout.html#android.widget.LinearLayout.setDividerPadding_added(int)" class="hiddenlink" target="rightframe"><b>setDividerPadding</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setFaceDetectionListener -->
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.setFaceDetectionListener_added(android.hardware.Camera.FaceDetectionListener)" class="hiddenlink" target="rightframe"><b>setFaceDetectionListener</b>
+(<code>FaceDetectionListener</code>)</A></nobr><br>
+<!-- Method setFitsSystemWindows -->
+<nobr><A HREF="android.view.View.html#android.view.View.setFitsSystemWindows_added(boolean)" class="hiddenlink" target="rightframe"><b>setFitsSystemWindows</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setFocusAreas -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.setFocusAreas_added(java.util.List<android.hardware.Camera.Area>)" class="hiddenlink" target="rightframe"><b>setFocusAreas</b>
+(<code>List&lt;Area&gt;</code>)</A></nobr><br>
+<!-- Method setHinting -->
+<nobr><A HREF="android.graphics.Paint.html#android.graphics.Paint.setHinting_added(int)" class="hiddenlink" target="rightframe"><b>setHinting</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setHomeButtonEnabled -->
+<nobr><A HREF="android.app.ActionBar.html#android.app.ActionBar.setHomeButtonEnabled_added(boolean)" class="hiddenlink" target="rightframe"><b>setHomeButtonEnabled</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setHovered -->
+<nobr><A HREF="android.view.View.html#android.view.View.setHovered_added(boolean)" class="hiddenlink" target="rightframe"><b>setHovered</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setIcon -->
+<i>setIcon</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.ActionBar.html#android.app.ActionBar.setIcon_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Drawable</code>)</b>&nbsp;in&nbsp;android.app.ActionBar
+</A></nobr><br>
+<!-- Method setIcon -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.ActionBar.html#android.app.ActionBar.setIcon_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.ActionBar
+</A></nobr><br>
+<!-- Method setImeOptions -->
+<nobr><A HREF="android.widget.SearchView.html#android.widget.SearchView.setImeOptions_added(int)" class="hiddenlink" target="rightframe"><b>setImeOptions</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setInputType -->
+<nobr><A HREF="android.widget.SearchView.html#android.widget.SearchView.setInputType_added(int)" class="hiddenlink" target="rightframe"><b>setInputType</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setKeyManagers -->
+<nobr><A HREF="android.net.SSLCertificateSocketFactory.html#android.net.SSLCertificateSocketFactory.setKeyManagers_added(javax.net.ssl.KeyManager[])" class="hiddenlink" target="rightframe"><b>setKeyManagers</b>
+(<code>KeyManager[]</code>)</A></nobr><br>
+<!-- Method setLocation -->
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.setLocation_added(float, float)" class="hiddenlink" target="rightframe"><b>setLocation</b>
+(<code>float, float</code>)</A></nobr><br>
+<!-- Method setLogo -->
+<i>setLogo</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.ActionBar.html#android.app.ActionBar.setLogo_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Drawable</code>)</b>&nbsp;in&nbsp;android.app.ActionBar
+</A></nobr><br>
+<!-- Method setLogo -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.ActionBar.html#android.app.ActionBar.setLogo_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.ActionBar
+</A></nobr><br>
+<!-- Method setMenuVisibility -->
+<nobr><A HREF="android.app.Fragment.html#android.app.Fragment.setMenuVisibility_added(boolean)" class="hiddenlink" target="rightframe"><b>setMenuVisibility</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setMeteringAreas -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.setMeteringAreas_added(java.util.List<android.hardware.Camera.Area>)" class="hiddenlink" target="rightframe"><b>setMeteringAreas</b>
+(<code>List&lt;Area&gt;</code>)</A></nobr><br>
+<!-- Method setNdefPushMessage -->
+<nobr><A HREF="android.nfc.NfcAdapter.html#android.nfc.NfcAdapter.setNdefPushMessage_added(android.nfc.NdefMessage, android.app.Activity, android.app.Activity...)" class="hiddenlink" target="rightframe"><b>setNdefPushMessage</b>
+(<code>NdefMessage, Activity, </code>)</A></nobr><br>
+<!-- Method setNdefPushMessageCallback -->
+<nobr><A HREF="android.nfc.NfcAdapter.html#android.nfc.NfcAdapter.setNdefPushMessageCallback_added(android.nfc.NfcAdapter.CreateNdefMessageCallback, android.app.Activity, android.app.Activity...)" class="hiddenlink" target="rightframe"><b>setNdefPushMessageCallback</b>
+(<code>CreateNdefMessageCallback, Activity, </code>)</A></nobr><br>
+<!-- Method setOnActionExpandListener -->
+<nobr><A HREF="android.view.MenuItem.html#android.view.MenuItem.setOnActionExpandListener_added(android.view.MenuItem.OnActionExpandListener)" class="hiddenlink" target="rightframe"><b>setOnActionExpandListener</b>
+(<code>OnActionExpandListener</code>)</A></nobr><br>
+<!-- Method setOnDismissListener -->
+<nobr><A HREF="android.widget.PopupMenu.html#android.widget.PopupMenu.setOnDismissListener_added(android.widget.PopupMenu.OnDismissListener)" class="hiddenlink" target="rightframe"><b>setOnDismissListener</b>
+(<code>OnDismissListener</code>)</A></nobr><br>
+<!-- Method setOnHoverListener -->
+<nobr><A HREF="android.view.View.html#android.view.View.setOnHoverListener_added(android.view.View.OnHoverListener)" class="hiddenlink" target="rightframe"><b>setOnHoverListener</b>
+(<code>OnHoverListener</code>)</A></nobr><br>
+<!-- Method setOnNdefPushCompleteCallback -->
+<nobr><A HREF="android.nfc.NfcAdapter.html#android.nfc.NfcAdapter.setOnNdefPushCompleteCallback_added(android.nfc.NfcAdapter.OnNdefPushCompleteCallback, android.app.Activity, android.app.Activity...)" class="hiddenlink" target="rightframe"><b>setOnNdefPushCompleteCallback</b>
+(<code>OnNdefPushCompleteCallback, Activity, </code>)</A></nobr><br>
+<!-- Method setProgress -->
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setProgress_added(int, int, boolean)" class="hiddenlink" target="rightframe"><b>setProgress</b>
+(<code>int, int, boolean</code>)</A></nobr><br>
+<!-- Method setProperty -->
+<i>setProperty</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.ObjectAnimator.html#android.animation.ObjectAnimator.setProperty_added(android.util.Property)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Property</code>)</b>&nbsp;in&nbsp;android.animation.ObjectAnimator
+</A></nobr><br>
+<!-- Method setProperty -->
+&nbsp;&nbsp;<nobr><A HREF="android.animation.PropertyValuesHolder.html#android.animation.PropertyValuesHolder.setProperty_added(android.util.Property)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Property</code>)</b>&nbsp;in&nbsp;android.animation.PropertyValuesHolder
+</A></nobr><br>
+<!-- Method setRecordingHint -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.setRecordingHint_added(boolean)" class="hiddenlink" target="rightframe"><b>setRecordingHint</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setRemoteAdapter -->
+<nobr><A HREF="android.widget.RemoteViews.html#android.widget.RemoteViews.setRemoteAdapter_added(int, android.content.Intent)" class="hiddenlink" target="rightframe"><b>setRemoteAdapter</b>
+(<code>int, Intent</code>)</A></nobr><br>
+<!-- Method setScrollX -->
+<nobr><A HREF="android.view.View.html#android.view.View.setScrollX_added(int)" class="hiddenlink" target="rightframe"><b>setScrollX</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setScrollY -->
+<nobr><A HREF="android.view.View.html#android.view.View.setScrollY_added(int)" class="hiddenlink" target="rightframe"><b>setScrollY</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setShowAsActionFlags -->
+<nobr><A HREF="android.view.MenuItem.html#android.view.MenuItem.setShowAsActionFlags_added(int)" class="hiddenlink" target="rightframe"><b>setShowAsActionFlags</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setSplitBackgroundDrawable -->
+<nobr><A HREF="android.app.ActionBar.html#android.app.ActionBar.setSplitBackgroundDrawable_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe"><b>setSplitBackgroundDrawable</b>
+(<code>Drawable</code>)</A></nobr><br>
+<!-- Method setStackedBackgroundDrawable -->
+<nobr><A HREF="android.app.ActionBar.html#android.app.ActionBar.setStackedBackgroundDrawable_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe"><b>setStackedBackgroundDrawable</b>
+(<code>Drawable</code>)</A></nobr><br>
+<!-- Method setStartDelay -->
+<nobr><A HREF="android.view.ViewPropertyAnimator.html#android.view.ViewPropertyAnimator.setStartDelay_added(long)" class="hiddenlink" target="rightframe"><b>setStartDelay</b>
+(<code>long</code>)</A></nobr><br>
+<!-- Method setStrict -->
+<nobr><A HREF="android.database.sqlite.SQLiteQueryBuilder.html#android.database.sqlite.SQLiteQueryBuilder.setStrict_added(boolean)" class="hiddenlink" target="rightframe"><b>setStrict</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setSurface -->
+<nobr><A HREF="android.media.MediaPlayer.html#android.media.MediaPlayer.setSurface_added(android.view.Surface)" class="hiddenlink" target="rightframe"><b>setSurface</b>
+(<code>Surface</code>)</A></nobr><br>
+<!-- Method setSurfaceTexture -->
+<nobr><A HREF="android.renderscript.RenderScriptGL.html#android.renderscript.RenderScriptGL.setSurfaceTexture_added(android.graphics.SurfaceTexture, int, int)" class="hiddenlink" target="rightframe"><b>setSurfaceTexture</b>
+(<code>SurfaceTexture, int, int</code>)</A></nobr><br>
+<!-- Method setTag -->
+<nobr><A HREF="android.view.ActionMode.html#android.view.ActionMode.setTag_added(java.lang.Object)" class="hiddenlink" target="rightframe"><b>setTag</b>
+(<code>Object</code>)</A></nobr><br>
+<!-- Method setTextZoom -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setTextZoom_added(int)" class="hiddenlink" target="rightframe"><b>setTextZoom</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setThreadStatsTag -->
+<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.setThreadStatsTag_added(int)" class="hiddenlink" target="rightframe"><b>setThreadStatsTag</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setTimeout -->
+<i>setTimeout</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.MifareClassic.html#android.nfc.tech.MifareClassic.setTimeout_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.nfc.tech.MifareClassic
+</A></nobr><br>
+<!-- Method setTimeout -->
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.MifareUltralight.html#android.nfc.tech.MifareUltralight.setTimeout_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.nfc.tech.MifareUltralight
+</A></nobr><br>
+<!-- Method setTimeout -->
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.NfcA.html#android.nfc.tech.NfcA.setTimeout_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.nfc.tech.NfcA
+</A></nobr><br>
+<!-- Method setTimeout -->
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.NfcF.html#android.nfc.tech.NfcF.setTimeout_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.nfc.tech.NfcF
+</A></nobr><br>
+<!-- Method setTrustManagers -->
+<nobr><A HREF="android.net.SSLCertificateSocketFactory.html#android.net.SSLCertificateSocketFactory.setTrustManagers_added(javax.net.ssl.TrustManager[])" class="hiddenlink" target="rightframe"><b>setTrustManagers</b>
+(<code>TrustManager[]</code>)</A></nobr><br>
+<!-- Method setUiOptions -->
+<i>setUiOptions</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.Window.html#android.view.Window.setUiOptions_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.view.Window
+</A></nobr><br>
+<!-- Method setUiOptions -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.Window.html#android.view.Window.setUiOptions_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.view.Window
+</A></nobr><br>
+<!-- Class ShareActionProvider -->
+<A HREF="pkg_android.widget.html#ShareActionProvider" class="hiddenlink" target="rightframe"><b>ShareActionProvider</b></A><br>
+<!-- Class ShareActionProvider.OnShareTargetSelectedListener -->
+<A HREF="pkg_android.widget.html#ShareActionProvider.OnShareTargetSelectedListener" class="hiddenlink" target="rightframe"><b><i>ShareActionProvider.OnShareTargetSelectedListener</i></b></A><br>
+<!-- Constructor Short2 -->
+<nobr><A HREF="android.renderscript.Short2.html#android.renderscript.Short2.ctor_added(short, short)" class="hiddenlink" target="rightframe"><b>Short2</b>
+(<code>short, short</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor Short3 -->
+<nobr><A HREF="android.renderscript.Short3.html#android.renderscript.Short3.ctor_added(short, short, short)" class="hiddenlink" target="rightframe"><b>Short3</b>
+(<code>short, short, short</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor Short4 -->
+<nobr><A HREF="android.renderscript.Short4.html#android.renderscript.Short4.ctor_added(short, short, short, short)" class="hiddenlink" target="rightframe"><b>Short4</b>
+(<code>short, short, short, short</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Method shouldDelayChildPressedState -->
+<nobr><A HREF="android.view.ViewGroup.html#android.view.ViewGroup.shouldDelayChildPressedState_added()" class="hiddenlink" target="rightframe"><b>shouldDelayChildPressedState</b>
+()</A></nobr><br>
+<!-- Field SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW -->
+<nobr><A HREF="android.view.MenuItem.html#android.view.MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW" class="hiddenlink" target="rightframe">SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW</A>
+</nobr><br>
+<!-- Field SOURCE_STYLUS -->
+<nobr><A HREF="android.view.InputDevice.html#android.view.InputDevice.SOURCE_STYLUS" class="hiddenlink" target="rightframe">SOURCE_STYLUS</A>
+</nobr><br>
+<!-- Class Space -->
+<A HREF="pkg_android.widget.html#Space" class="hiddenlink" target="rightframe"><b>Space</b></A><br>
+<!-- Field SSL_DATE_INVALID -->
+<nobr><A HREF="android.net.http.SslError.html#android.net.http.SslError.SSL_DATE_INVALID" class="hiddenlink" target="rightframe">SSL_DATE_INVALID</A>
+</nobr><br>
+<!-- Field SSL_INVALID -->
+<nobr><A HREF="android.net.http.SslError.html#android.net.http.SslError.SSL_INVALID" class="hiddenlink" target="rightframe">SSL_INVALID</A>
+</nobr><br>
+<!-- Constructor SslError -->
+<i>SslError</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.net.http.SslError.html#android.net.http.SslError.ctor_added(int, android.net.http.SslCertificate, java.lang.String)" class="hiddenlink" target="rightframe"><b>SslError</b>
+(<code>int, SslCertificate, String</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor SslError -->
+&nbsp;&nbsp;<nobr><A HREF="android.net.http.SslError.html#android.net.http.SslError.ctor_added(int, java.security.cert.X509Certificate, java.lang.String)" class="hiddenlink" target="rightframe"><b>SslError</b>
+(<code>int, X509Certificate, String</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor StackView -->
+<nobr><A HREF="android.widget.StackView.html#android.widget.StackView.ctor_added(android.content.Context, android.util.AttributeSet, int)" class="hiddenlink" target="rightframe"><b>StackView</b>
+(<code>Context, AttributeSet, int</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Method start -->
+<nobr><A HREF="android.view.ViewPropertyAnimator.html#android.view.ViewPropertyAnimator.start_added()" class="hiddenlink" target="rightframe"><b>start</b>
+()</A></nobr><br>
+<!-- Field START -->
+<nobr><A HREF="android.view.Gravity.html#android.view.Gravity.START" class="hiddenlink" target="rightframe">START</A>
+</nobr><br>
+<!-- Method startFaceDetection -->
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.startFaceDetection_added()" class="hiddenlink" target="rightframe"><b>startFaceDetection</b>
+()</A></nobr><br>
+<!-- Method startWithFragment -->
+<nobr><A HREF="android.preference.PreferenceActivity.html#android.preference.PreferenceActivity.startWithFragment_added(java.lang.String, android.os.Bundle, android.app.Fragment, int, int, int)" class="hiddenlink" target="rightframe"><b>startWithFragment</b>
+(<code>String, Bundle, Fragment, int, int, int</code>)</A></nobr><br>
+<!-- Field state_drag_can_accept -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.state_drag_can_accept" class="hiddenlink" target="rightframe">state_drag_can_accept</A>
+</nobr><br>
+<!-- Field state_drag_hovered -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.state_drag_hovered" class="hiddenlink" target="rightframe">state_drag_hovered</A>
+</nobr><br>
+<!-- Field state_hovered -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.state_hovered" class="hiddenlink" target="rightframe">state_hovered</A>
+</nobr><br>
+<!-- Field status_bar_notification_info_maxnum -->
+<nobr><A HREF="android.R.integer.html#android.R.integer.status_bar_notification_info_maxnum" class="hiddenlink" target="rightframe">status_bar_notification_info_maxnum</A>
+</nobr><br>
+<!-- Field status_bar_notification_info_overflow -->
+<nobr><A HREF="android.R.string.html#android.R.string.status_bar_notification_info_overflow" class="hiddenlink" target="rightframe">status_bar_notification_info_overflow</A>
+</nobr><br>
+<!-- Method stopFaceDetection -->
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.stopFaceDetection_added()" class="hiddenlink" target="rightframe"><b>stopFaceDetection</b>
+()</A></nobr><br>
+<!-- Field stopWithTask -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.stopWithTask" class="hiddenlink" target="rightframe">stopWithTask</A>
+</nobr><br>
+<!-- Field subtypeExtraValue -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.subtypeExtraValue" class="hiddenlink" target="rightframe">subtypeExtraValue</A>
+</nobr><br>
+<!-- Field subtypeLocale -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.subtypeLocale" class="hiddenlink" target="rightframe">subtypeLocale</A>
+</nobr><br>
+<!-- Field SUGGEST_COLUMN_LAST_ACCESS_HINT -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.SUGGEST_COLUMN_LAST_ACCESS_HINT" class="hiddenlink" target="rightframe">SUGGEST_COLUMN_LAST_ACCESS_HINT</A>
+</nobr><br>
+<!-- Class SuggestionSpan -->
+<A HREF="pkg_android.text.style.html#SuggestionSpan" class="hiddenlink" target="rightframe"><b>SuggestionSpan</b></A><br>
+<!-- Constructor Surface -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.ctor_added(android.graphics.SurfaceTexture)" class="hiddenlink" target="rightframe"><b>Surface</b>
+(<code>SurfaceTexture</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class Switch -->
+<A HREF="pkg_android.widget.html#Switch" class="hiddenlink" target="rightframe"><b>Switch</b></A><br>
+<!-- Field switchMinWidth -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.switchMinWidth" class="hiddenlink" target="rightframe">switchMinWidth</A>
+</nobr><br>
+<!-- Field switchPadding -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.switchPadding" class="hiddenlink" target="rightframe">switchPadding</A>
+</nobr><br>
+<!-- Class SwitchPreference -->
+<A HREF="pkg_android.preference.html#SwitchPreference" class="hiddenlink" target="rightframe"><b>SwitchPreference</b></A><br>
+<!-- Field switchPreferenceStyle -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.switchPreferenceStyle" class="hiddenlink" target="rightframe">switchPreferenceStyle</A>
+</nobr><br>
+<!-- Field switchTextAppearance -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.switchTextAppearance" class="hiddenlink" target="rightframe">switchTextAppearance</A>
+</nobr><br>
+<!-- Field switchTextOff -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.switchTextOff" class="hiddenlink" target="rightframe">switchTextOff</A>
+</nobr><br>
+<!-- Field switchTextOn -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.switchTextOn" class="hiddenlink" target="rightframe">switchTextOn</A>
+</nobr><br>
+<!-- Class SynthesisCallback -->
+<A HREF="pkg_android.speech.tts.html#SynthesisCallback" class="hiddenlink" target="rightframe"><b><i>SynthesisCallback</i></b></A><br>
+<!-- Class SynthesisRequest -->
+<A HREF="pkg_android.speech.tts.html#SynthesisRequest" class="hiddenlink" target="rightframe"><b>SynthesisRequest</b></A><br>
+<!-- Field SYSTEM_UI_FLAG_HIDE_NAVIGATION -->
+<nobr><A HREF="android.view.View.html#android.view.View.SYSTEM_UI_FLAG_HIDE_NAVIGATION" class="hiddenlink" target="rightframe">SYSTEM_UI_FLAG_HIDE_NAVIGATION</A>
+</nobr><br>
+<!-- Field SYSTEM_UI_FLAG_LOW_PROFILE -->
+<nobr><A HREF="android.view.View.html#android.view.View.SYSTEM_UI_FLAG_LOW_PROFILE" class="hiddenlink" target="rightframe">SYSTEM_UI_FLAG_LOW_PROFILE</A>
+</nobr><br>
+<!-- Field SYSTEM_UI_FLAG_VISIBLE -->
+<nobr><A HREF="android.view.View.html#android.view.View.SYSTEM_UI_FLAG_VISIBLE" class="hiddenlink" target="rightframe">SYSTEM_UI_FLAG_VISIBLE</A>
+</nobr><br>
+<!-- Method tagSocket -->
+<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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.tagSocket_added(java.net.Socket)" class="hiddenlink" target="rightframe"><b>tagSocket</b>
+(<code>Socket</code>)</A></nobr><br>
+<!-- Field targetDescriptions -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.targetDescriptions" class="hiddenlink" target="rightframe">targetDescriptions</A>
+</nobr><br>
+<!-- Field TEXT_SERVICES_MANAGER_SERVICE -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.TEXT_SERVICES_MANAGER_SERVICE" class="hiddenlink" target="rightframe">TEXT_SERVICES_MANAGER_SERVICE</A>
+</nobr><br>
+<!-- Field textAllCaps -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.textAllCaps" class="hiddenlink" target="rightframe">textAllCaps</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_DialogWindowTitle -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_DialogWindowTitle" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_DialogWindowTitle</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Inverse" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Inverse</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Large -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Large" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Large</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Large_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Large_Inverse" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Large_Inverse</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Medium -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Medium" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Medium</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Medium_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Medium_Inverse" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Medium_Inverse</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_SearchResult_Subtitle -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_SearchResult_Subtitle" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_SearchResult_Subtitle</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_SearchResult_Title -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_SearchResult_Title" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_SearchResult_Title</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Small -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Small" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Small</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Small_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Small_Inverse" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Small_Inverse</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_ActionBar_Menu -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionBar_Menu" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionBar_Menu</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle_Inverse" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle_Inverse</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_ActionBar_Title -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionBar_Title" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionBar_Title</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_ActionBar_Title_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionBar_Title_Inverse" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionBar_Title_Inverse</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle_Inverse" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle_Inverse</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_ActionMode_Title -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionMode_Title" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionMode_Title</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_ActionMode_Title_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionMode_Title_Inverse" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionMode_Title_Inverse</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_Button -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_Button" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_Button</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_DropDownHint -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_DropDownHint" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_DropDownHint</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_DropDownItem -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_DropDownItem" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_DropDownItem</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_EditText -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_EditText" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_EditText</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_IconMenu_Item -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_IconMenu_Item" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_IconMenu_Item</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_PopupMenu -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_PopupMenu" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_PopupMenu</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_PopupMenu_Large -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_PopupMenu_Large" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_PopupMenu_Large</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_PopupMenu_Small -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_PopupMenu_Small" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_PopupMenu_Small</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_TabWidget -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_TabWidget" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_TabWidget</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_TextView -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_TextView" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_TextView</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_TextView_PopupMenu -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_TextView_PopupMenu" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_TextView_PopupMenu</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_TextView_SpinnerItem -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_TextView_SpinnerItem" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_TextView_SpinnerItem</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_WindowTitle -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_WindowTitle" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_WindowTitle</A>
+</nobr><br>
+<!-- Field TextAppearance_Holo_Widget_ActionBar_Menu -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Holo_Widget_ActionBar_Menu" class="hiddenlink" target="rightframe">TextAppearance_Holo_Widget_ActionBar_Menu</A>
+</nobr><br>
+<!-- Field TextAppearance_Holo_Widget_ActionBar_Subtitle_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Holo_Widget_ActionBar_Subtitle_Inverse" class="hiddenlink" target="rightframe">TextAppearance_Holo_Widget_ActionBar_Subtitle_Inverse</A>
+</nobr><br>
+<!-- Field TextAppearance_Holo_Widget_ActionBar_Title_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Holo_Widget_ActionBar_Title_Inverse" class="hiddenlink" target="rightframe">TextAppearance_Holo_Widget_ActionBar_Title_Inverse</A>
+</nobr><br>
+<!-- Field TextAppearance_Holo_Widget_ActionMode_Subtitle_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Holo_Widget_ActionMode_Subtitle_Inverse" class="hiddenlink" target="rightframe">TextAppearance_Holo_Widget_ActionMode_Subtitle_Inverse</A>
+</nobr><br>
+<!-- Field TextAppearance_Holo_Widget_ActionMode_Title_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Holo_Widget_ActionMode_Title_Inverse" class="hiddenlink" target="rightframe">TextAppearance_Holo_Widget_ActionMode_Title_Inverse</A>
+</nobr><br>
+<!-- Field TextAppearance_SuggestionHighlight -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_SuggestionHighlight" class="hiddenlink" target="rightframe">TextAppearance_SuggestionHighlight</A>
+</nobr><br>
+<!-- Field textAppearanceListItem -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.textAppearanceListItem" class="hiddenlink" target="rightframe">textAppearanceListItem</A>
+</nobr><br>
+<!-- Field textAppearanceListItemSmall -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.textAppearanceListItemSmall" class="hiddenlink" target="rightframe">textAppearanceListItemSmall</A>
+</nobr><br>
+<!-- Field textEditSuggestionItemLayout -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.textEditSuggestionItemLayout" class="hiddenlink" target="rightframe">textEditSuggestionItemLayout</A>
+</nobr><br>
+<!-- Field textSuggestionsWindowStyle -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.textSuggestionsWindowStyle" class="hiddenlink" target="rightframe">textSuggestionsWindowStyle</A>
+</nobr><br>
+<!-- Constructor TextToSpeech -->
+<nobr><A HREF="android.speech.tts.TextToSpeech.html#android.speech.tts.TextToSpeech.ctor_added(android.content.Context, android.speech.tts.TextToSpeech.OnInitListener, java.lang.String)" class="hiddenlink" target="rightframe"><b>TextToSpeech</b>
+(<code>Context, OnInitListener, String</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class TextToSpeech.EngineInfo -->
+<A HREF="pkg_android.speech.tts.html#TextToSpeech.EngineInfo" class="hiddenlink" target="rightframe"><b>TextToSpeech.EngineInfo</b></A><br>
+<!-- Class TextToSpeechService -->
+<A HREF="pkg_android.speech.tts.html#TextToSpeechService" class="hiddenlink" target="rightframe"><b>TextToSpeechService</b></A><br>
+<!-- Class TextureView -->
+<A HREF="pkg_android.view.html#TextureView" class="hiddenlink" target="rightframe"><b>TextureView</b></A><br>
+<!-- Class TextureView.SurfaceTextureListener -->
+<A HREF="pkg_android.view.html#TextureView.SurfaceTextureListener" class="hiddenlink" target="rightframe"><b><i>TextureView.SurfaceTextureListener</i></b></A><br>
+<!-- Field THEME_DEVICE_DEFAULT_DARK -->
+<nobr><A HREF="android.app.AlertDialog.html#android.app.AlertDialog.THEME_DEVICE_DEFAULT_DARK" class="hiddenlink" target="rightframe">THEME_DEVICE_DEFAULT_DARK</A>
+</nobr><br>
+<!-- Field THEME_DEVICE_DEFAULT_LIGHT -->
+<nobr><A HREF="android.app.AlertDialog.html#android.app.AlertDialog.THEME_DEVICE_DEFAULT_LIGHT" class="hiddenlink" target="rightframe">THEME_DEVICE_DEFAULT_LIGHT</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault" class="hiddenlink" target="rightframe">Theme_DeviceDefault</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Dialog -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Dialog" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Dialog</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Dialog_MinWidth -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Dialog_MinWidth" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Dialog_MinWidth</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Dialog_NoActionBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Dialog_NoActionBar" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Dialog_NoActionBar</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Dialog_NoActionBar_MinWidth -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Dialog_NoActionBar_MinWidth" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Dialog_NoActionBar_MinWidth</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_DialogWhenLarge -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_DialogWhenLarge" class="hiddenlink" target="rightframe">Theme_DeviceDefault_DialogWhenLarge</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_DialogWhenLarge_NoActionBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_DialogWhenLarge_NoActionBar" class="hiddenlink" target="rightframe">Theme_DeviceDefault_DialogWhenLarge_NoActionBar</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_InputMethod -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_InputMethod" class="hiddenlink" target="rightframe">Theme_DeviceDefault_InputMethod</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Light -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Light_DarkActionBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_DarkActionBar" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_DarkActionBar</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Light_Dialog -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_Dialog" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_Dialog</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Light_Dialog_MinWidth -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_Dialog_MinWidth" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_Dialog_MinWidth</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Light_Dialog_NoActionBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_Dialog_NoActionBar" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_Dialog_NoActionBar</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Light_Dialog_NoActionBar_MinWidth -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_Dialog_NoActionBar_MinWidth" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_Dialog_NoActionBar_MinWidth</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Light_DialogWhenLarge -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_DialogWhenLarge" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_DialogWhenLarge</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Light_DialogWhenLarge_NoActionBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_DialogWhenLarge_NoActionBar" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_DialogWhenLarge_NoActionBar</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Light_NoActionBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_NoActionBar" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_NoActionBar</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Light_NoActionBar_Fullscreen -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_NoActionBar_Fullscreen" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_NoActionBar_Fullscreen</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Light_Panel -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_Panel" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_Panel</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_NoActionBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_NoActionBar" class="hiddenlink" target="rightframe">Theme_DeviceDefault_NoActionBar</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_NoActionBar_Fullscreen -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_NoActionBar_Fullscreen" class="hiddenlink" target="rightframe">Theme_DeviceDefault_NoActionBar_Fullscreen</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Panel -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Panel" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Panel</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Wallpaper -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Wallpaper" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Wallpaper</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Wallpaper_NoTitleBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Wallpaper_NoTitleBar" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Wallpaper_NoTitleBar</A>
+</nobr><br>
+<!-- Field Theme_Holo_Light_DarkActionBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_Holo_Light_DarkActionBar" class="hiddenlink" target="rightframe">Theme_Holo_Light_DarkActionBar</A>
+</nobr><br>
+<!-- Field thumbTextPadding -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.thumbTextPadding" class="hiddenlink" target="rightframe">thumbTextPadding</A>
+</nobr><br>
+<!-- Field TOOL_TYPE_ERASER -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.TOOL_TYPE_ERASER" class="hiddenlink" target="rightframe">TOOL_TYPE_ERASER</A>
+</nobr><br>
+<!-- Field TOOL_TYPE_FINGER -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.TOOL_TYPE_FINGER" class="hiddenlink" target="rightframe">TOOL_TYPE_FINGER</A>
+</nobr><br>
+<!-- Field TOOL_TYPE_MOUSE -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.TOOL_TYPE_MOUSE" class="hiddenlink" target="rightframe">TOOL_TYPE_MOUSE</A>
+</nobr><br>
+<!-- Field TOOL_TYPE_STYLUS -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.TOOL_TYPE_STYLUS" class="hiddenlink" target="rightframe">TOOL_TYPE_STYLUS</A>
+</nobr><br>
+<!-- Field TOOL_TYPE_UNKNOWN -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.TOOL_TYPE_UNKNOWN" class="hiddenlink" target="rightframe">TOOL_TYPE_UNKNOWN</A>
+</nobr><br>
+<!-- Method toShortString -->
+<nobr><A HREF="android.graphics.RectF.html#android.graphics.RectF.toShortString_added()" class="hiddenlink" target="rightframe"><b>toShortString</b>
+()</A></nobr><br>
+<!-- Field TOUCH_EXPLORATION_ENABLED -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.TOUCH_EXPLORATION_ENABLED" class="hiddenlink" target="rightframe">TOUCH_EXPLORATION_ENABLED</A>
+</nobr><br>
+<!-- Field track -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.track" class="hiddenlink" target="rightframe">track</A>
+</nobr><br>
+<!-- Field TRANSLATION_X -->
+<nobr><A HREF="android.view.View.html#android.view.View.TRANSLATION_X" class="hiddenlink" target="rightframe">TRANSLATION_X</A>
+</nobr><br>
+<!-- Field TRANSLATION_Y -->
+<nobr><A HREF="android.view.View.html#android.view.View.TRANSLATION_Y" class="hiddenlink" target="rightframe">TRANSLATION_Y</A>
+</nobr><br>
+<!-- Class TwoStatePreference -->
+<A HREF="pkg_android.preference.html#TwoStatePreference" class="hiddenlink" target="rightframe"><b>TwoStatePreference</b></A><br>
+<!-- Field TYPE_AMBIENT_TEMPERATURE -->
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_AMBIENT_TEMPERATURE" class="hiddenlink" target="rightframe">TYPE_AMBIENT_TEMPERATURE</A>
+</nobr><br>
+<!-- Field TYPE_DIRECTORY -->
+<nobr><A HREF="android.app.backup.BackupAgent.html#android.app.backup.BackupAgent.TYPE_DIRECTORY" class="hiddenlink" target="rightframe">TYPE_DIRECTORY</A>
+</nobr><br>
+<!-- Field TYPE_DUMMY -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.TYPE_DUMMY" class="hiddenlink" target="rightframe">TYPE_DUMMY</A>
+</nobr><br>
+<!-- Field TYPE_FILE -->
+<nobr><A HREF="android.app.backup.BackupAgent.html#android.app.backup.BackupAgent.TYPE_FILE" class="hiddenlink" target="rightframe">TYPE_FILE</A>
+</nobr><br>
+<!-- Field TYPE_RELATIVE_HUMIDITY -->
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_RELATIVE_HUMIDITY" class="hiddenlink" target="rightframe">TYPE_RELATIVE_HUMIDITY</A>
+</nobr><br>
+<!-- Field TYPE_TOUCH_EXPLORATION_GESTURE_END -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.TYPE_TOUCH_EXPLORATION_GESTURE_END" class="hiddenlink" target="rightframe">TYPE_TOUCH_EXPLORATION_GESTURE_END</A>
+</nobr><br>
+<!-- Field TYPE_TOUCH_EXPLORATION_GESTURE_START -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.TYPE_TOUCH_EXPLORATION_GESTURE_START" class="hiddenlink" target="rightframe">TYPE_TOUCH_EXPLORATION_GESTURE_START</A>
+</nobr><br>
+<!-- Field TYPE_VIEW_HOVER_ENTER -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.TYPE_VIEW_HOVER_ENTER" class="hiddenlink" target="rightframe">TYPE_VIEW_HOVER_ENTER</A>
+</nobr><br>
+<!-- Field TYPE_VIEW_HOVER_EXIT -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.TYPE_VIEW_HOVER_EXIT" class="hiddenlink" target="rightframe">TYPE_VIEW_HOVER_EXIT</A>
+</nobr><br>
+<!-- Field TYPE_VIEW_SCROLLED -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.TYPE_VIEW_SCROLLED" class="hiddenlink" target="rightframe">TYPE_VIEW_SCROLLED</A>
+</nobr><br>
+<!-- Field TYPE_VIEW_TEXT_SELECTION_CHANGED -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.TYPE_VIEW_TEXT_SELECTION_CHANGED" class="hiddenlink" target="rightframe">TYPE_VIEW_TEXT_SELECTION_CHANGED</A>
+</nobr><br>
+<!-- Field TYPE_WINDOW_CONTENT_CHANGED -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED" class="hiddenlink" target="rightframe">TYPE_WINDOW_CONTENT_CHANGED</A>
+</nobr><br>
+<!-- Method U16_2 -->
+<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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U16_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U16_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method U16_3 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U16_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U16_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method U16_4 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U16_4_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U16_4</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method U32_2 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U32_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U32_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method U32_3 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U32_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U32_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method U32_4 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U32_4_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U32_4</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method U64_2 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U64_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U64_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method U64_3 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U64_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U64_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method U64_4 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U64_4_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U64_4</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method U8_2 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U8_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U8_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method U8_3 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U8_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U8_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Field UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW -->
+<nobr><A HREF="android.content.pm.ActivityInfo.html#android.content.pm.ActivityInfo.UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW" class="hiddenlink" target="rightframe">UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW</A>
+</nobr><br>
+<!-- Field uiOptions -->
+<i>uiOptions</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.uiOptions" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field uiOptions -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.content.pm.ActivityInfo.html#android.content.pm.ActivityInfo.uiOptions" class="hiddenlink" target="rightframe">android.content.pm.ActivityInfo</A>
+</nobr><br>
+<!-- Field uiOptions -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.uiOptions" class="hiddenlink" target="rightframe">android.content.pm.ApplicationInfo</A>
+</nobr><br>
+<!-- Method unregisterActivityLifecycleCallbacks -->
+<nobr><A HREF="android.app.Application.html#android.app.Application.unregisterActivityLifecycleCallbacks_added(android.app.Application.ActivityLifecycleCallbacks)" class="hiddenlink" target="rightframe"><b>unregisterActivityLifecycleCallbacks</b>
+(<code>ActivityLifecycleCallbacks</code>)</A></nobr><br>
+<!-- Method unregisterComponentCallbacks -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.unregisterComponentCallbacks_added(android.content.ComponentCallbacks)" class="hiddenlink" target="rightframe"><b>unregisterComponentCallbacks</b>
+(<code>ComponentCallbacks</code>)</A></nobr><br>
+<!-- Method unregisterRemoteControlClient -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.unregisterRemoteControlClient_added(android.media.RemoteControlClient)" class="hiddenlink" target="rightframe"><b>unregisterRemoteControlClient</b>
+(<code>RemoteControlClient</code>)</A></nobr><br>
+<!-- Method untagSocket -->
+<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.untagSocket_added(java.net.Socket)" class="hiddenlink" target="rightframe"><b>untagSocket</b>
+(<code>Socket</code>)</A></nobr><br>
+<!-- Field USAGE_GRAPHICS_RENDER_TARGET -->
+<nobr><A HREF="android.renderscript.Allocation.html#android.renderscript.Allocation.USAGE_GRAPHICS_RENDER_TARGET" class="hiddenlink" target="rightframe">USAGE_GRAPHICS_RENDER_TARGET</A>
+</nobr><br>
+<!-- Field useDefaultMargins -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.useDefaultMargins" class="hiddenlink" target="rightframe">useDefaultMargins</A>
+</nobr><br>
+<!-- Field USES_POLICY_DISABLE_CAMERA -->
+<nobr><A HREF="android.app.admin.DeviceAdminInfo.html#android.app.admin.DeviceAdminInfo.USES_POLICY_DISABLE_CAMERA" class="hiddenlink" target="rightframe">USES_POLICY_DISABLE_CAMERA</A>
+</nobr><br>
+<!-- Field VERIFICATION_ALLOW -->
+<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="#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="#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.VERIFICATION_ALLOW" class="hiddenlink" target="rightframe">VERIFICATION_ALLOW</A>
+</nobr><br>
+<!-- Field VERIFICATION_REJECT -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.VERIFICATION_REJECT" class="hiddenlink" target="rightframe">VERIFICATION_REJECT</A>
+</nobr><br>
+<!-- Method verifyPendingInstall -->
+<i>verifyPendingInstall</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.verifyPendingInstall_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+<!-- Method verifyPendingInstall -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.verifyPendingInstall_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</A></nobr><br>
+<!-- Class View.AccessibilityDelegate -->
+<A HREF="pkg_android.view.html#View.AccessibilityDelegate" class="hiddenlink" target="rightframe"><b>View.AccessibilityDelegate</b></A><br>
+<!-- Class View.OnHoverListener -->
+<A HREF="pkg_android.view.html#View.OnHoverListener" class="hiddenlink" target="rightframe"><b><i>View.OnHoverListener</i></b></A><br>
+<!-- Method viewClicked -->
+<i>viewClicked</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.inputmethodservice.InputMethodService.InputMethodSessionImpl.html#android.inputmethodservice.InputMethodService.InputMethodSessionImpl.viewClicked_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.inputmethodservice.InputMethodService.InputMethodSessionImpl
+</A></nobr><br>
+<!-- Method viewClicked -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputMethodManager.html#android.view.inputmethod.InputMethodManager.viewClicked_added(android.view.View)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View</code>)</b>&nbsp;in&nbsp;android.view.inputmethod.InputMethodManager
+</A></nobr><br>
+<!-- Method viewClicked -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputMethodSession.html#android.view.inputmethod.InputMethodSession.viewClicked_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.view.inputmethod.InputMethodSession
+</A></nobr><br>
+<!-- Class VoicemailContract -->
+<A HREF="pkg_android.provider.html#VoicemailContract" class="hiddenlink" target="rightframe"><b>VoicemailContract</b></A><br>
+<!-- Class VoicemailContract.Status -->
+<A HREF="pkg_android.provider.html#VoicemailContract.Status" class="hiddenlink" target="rightframe"><b>VoicemailContract.Status</b></A><br>
+<!-- Class VoicemailContract.Voicemails -->
+<A HREF="pkg_android.provider.html#VoicemailContract.Voicemails" class="hiddenlink" target="rightframe"><b>VoicemailContract.Voicemails</b></A><br>
+<!-- Class VpnService -->
+<A HREF="pkg_android.net.html#VpnService" class="hiddenlink" target="rightframe"><b>VpnService</b></A><br>
+<!-- Class VpnService.Builder -->
+<A HREF="pkg_android.net.html#VpnService.Builder" class="hiddenlink" target="rightframe"><b>VpnService.Builder</b></A><br>
+<!-- Field Widget_DeviceDefault -->
+<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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault" class="hiddenlink" target="rightframe">Widget_DeviceDefault</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ActionBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionBar</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ActionBar_Solid -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionBar_Solid" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionBar_Solid</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ActionBar_TabBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionBar_TabBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionBar_TabBar</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ActionBar_TabText -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionBar_TabText" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionBar_TabText</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ActionBar_TabView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionBar_TabView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionBar_TabView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ActionButton -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionButton" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionButton</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ActionButton_CloseMode -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionButton_CloseMode" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionButton_CloseMode</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ActionButton_Overflow -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionButton_Overflow" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionButton_Overflow</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ActionButton_TextButton -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionButton_TextButton" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionButton_TextButton</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ActionMode -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionMode" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionMode</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_AutoCompleteTextView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_AutoCompleteTextView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_AutoCompleteTextView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Button -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Button" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Button</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Button_Borderless -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Button_Borderless" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Button_Borderless</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Button_Borderless_Small -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Button_Borderless_Small" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Button_Borderless_Small</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Button_Inset -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Button_Inset" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Button_Inset</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Button_Small -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Button_Small" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Button_Small</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Button_Toggle -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Button_Toggle" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Button_Toggle</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_CalendarView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_CalendarView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_CalendarView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_CompoundButton_CheckBox -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_CompoundButton_CheckBox" class="hiddenlink" target="rightframe">Widget_DeviceDefault_CompoundButton_CheckBox</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_CompoundButton_RadioButton -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_CompoundButton_RadioButton" class="hiddenlink" target="rightframe">Widget_DeviceDefault_CompoundButton_RadioButton</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_CompoundButton_Star -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_CompoundButton_Star" class="hiddenlink" target="rightframe">Widget_DeviceDefault_CompoundButton_Star</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_DatePicker -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_DatePicker" class="hiddenlink" target="rightframe">Widget_DeviceDefault_DatePicker</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_DropDownItem -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_DropDownItem" class="hiddenlink" target="rightframe">Widget_DeviceDefault_DropDownItem</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_DropDownItem_Spinner -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_DropDownItem_Spinner" class="hiddenlink" target="rightframe">Widget_DeviceDefault_DropDownItem_Spinner</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_EditText -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_EditText" class="hiddenlink" target="rightframe">Widget_DeviceDefault_EditText</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ExpandableListView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ExpandableListView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ExpandableListView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_GridView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_GridView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_GridView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_HorizontalScrollView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_HorizontalScrollView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_HorizontalScrollView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ImageButton -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ImageButton" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ImageButton</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ActionBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ActionBar_Solid -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar_Solid" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar_Solid</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ActionBar_Solid_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar_Solid_Inverse" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar_Solid_Inverse</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ActionBar_TabBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar_TabBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar_TabBar</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ActionBar_TabBar_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar_TabBar_Inverse" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar_TabBar_Inverse</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ActionBar_TabText -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar_TabText" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar_TabText</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ActionBar_TabText_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar_TabText_Inverse" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar_TabText_Inverse</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ActionBar_TabView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar_TabView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar_TabView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ActionBar_TabView_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar_TabView_Inverse" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar_TabView_Inverse</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ActionButton -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionButton" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionButton</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ActionButton_CloseMode -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionButton_CloseMode" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionButton_CloseMode</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ActionButton_Overflow -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionButton_Overflow" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionButton_Overflow</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ActionMode -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionMode" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionMode</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ActionMode_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionMode_Inverse" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionMode_Inverse</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_AutoCompleteTextView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_AutoCompleteTextView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_AutoCompleteTextView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_Button -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_Button" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_Button</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_Button_Borderless_Small -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_Button_Borderless_Small" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_Button_Borderless_Small</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_Button_Inset -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_Button_Inset" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_Button_Inset</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_Button_Small -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_Button_Small" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_Button_Small</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_Button_Toggle -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_Button_Toggle" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_Button_Toggle</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_CalendarView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_CalendarView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_CalendarView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_CompoundButton_CheckBox -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_CompoundButton_CheckBox" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_CompoundButton_CheckBox</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_CompoundButton_RadioButton -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_CompoundButton_RadioButton" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_CompoundButton_RadioButton</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_CompoundButton_Star -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_CompoundButton_Star" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_CompoundButton_Star</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_DropDownItem -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_DropDownItem" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_DropDownItem</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_DropDownItem_Spinner -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_DropDownItem_Spinner" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_DropDownItem_Spinner</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_EditText -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_EditText" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_EditText</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ExpandableListView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ExpandableListView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ExpandableListView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_GridView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_GridView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_GridView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_HorizontalScrollView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_HorizontalScrollView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_HorizontalScrollView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ImageButton -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ImageButton" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ImageButton</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ListPopupWindow -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ListPopupWindow" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ListPopupWindow</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ListView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ListView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ListView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ListView_DropDown -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ListView_DropDown" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ListView_DropDown</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_PopupMenu -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_PopupMenu" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_PopupMenu</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_PopupWindow -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_PopupWindow" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_PopupWindow</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ProgressBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ProgressBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ProgressBar</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ProgressBar_Horizontal -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ProgressBar_Horizontal" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ProgressBar_Horizontal</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ProgressBar_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ProgressBar_Inverse" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ProgressBar_Inverse</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ProgressBar_Large -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ProgressBar_Large" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ProgressBar_Large</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ProgressBar_Large_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ProgressBar_Large_Inverse" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ProgressBar_Large_Inverse</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ProgressBar_Small -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ProgressBar_Small" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ProgressBar_Small</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ProgressBar_Small_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ProgressBar_Small_Inverse" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ProgressBar_Small_Inverse</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ProgressBar_Small_Title -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ProgressBar_Small_Title" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ProgressBar_Small_Title</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_RatingBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_RatingBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_RatingBar</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_RatingBar_Indicator -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_RatingBar_Indicator" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_RatingBar_Indicator</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_RatingBar_Small -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_RatingBar_Small" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_RatingBar_Small</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ScrollView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ScrollView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ScrollView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_SeekBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_SeekBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_SeekBar</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_Spinner -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_Spinner" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_Spinner</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_Tab -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_Tab" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_Tab</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_TabWidget -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_TabWidget" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_TabWidget</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_TextView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_TextView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_TextView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_TextView_SpinnerItem -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_TextView_SpinnerItem" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_TextView_SpinnerItem</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_WebTextView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_WebTextView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_WebTextView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_WebView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_WebView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_WebView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ListPopupWindow -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ListPopupWindow" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ListPopupWindow</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ListView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ListView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ListView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ListView_DropDown -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ListView_DropDown" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ListView_DropDown</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_PopupMenu -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_PopupMenu" class="hiddenlink" target="rightframe">Widget_DeviceDefault_PopupMenu</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_PopupWindow -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_PopupWindow" class="hiddenlink" target="rightframe">Widget_DeviceDefault_PopupWindow</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ProgressBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ProgressBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ProgressBar</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ProgressBar_Horizontal -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ProgressBar_Horizontal" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ProgressBar_Horizontal</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ProgressBar_Large -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ProgressBar_Large" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ProgressBar_Large</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ProgressBar_Small -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ProgressBar_Small" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ProgressBar_Small</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ProgressBar_Small_Title -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ProgressBar_Small_Title" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ProgressBar_Small_Title</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_RatingBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_RatingBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_RatingBar</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_RatingBar_Indicator -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_RatingBar_Indicator" class="hiddenlink" target="rightframe">Widget_DeviceDefault_RatingBar_Indicator</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_RatingBar_Small -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_RatingBar_Small" class="hiddenlink" target="rightframe">Widget_DeviceDefault_RatingBar_Small</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ScrollView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ScrollView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ScrollView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_SeekBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_SeekBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_SeekBar</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Spinner -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Spinner" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Spinner</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Tab -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Tab" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Tab</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_TabWidget -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_TabWidget" class="hiddenlink" target="rightframe">Widget_DeviceDefault_TabWidget</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_TextView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_TextView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_TextView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_TextView_SpinnerItem -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_TextView_SpinnerItem" class="hiddenlink" target="rightframe">Widget_DeviceDefault_TextView_SpinnerItem</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_WebTextView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_WebTextView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_WebTextView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_WebView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_WebView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_WebView</A>
+</nobr><br>
+<!-- Field Widget_Holo_ActionBar_Solid -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_ActionBar_Solid" class="hiddenlink" target="rightframe">Widget_Holo_ActionBar_Solid</A>
+</nobr><br>
+<!-- Field Widget_Holo_Button_Borderless_Small -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_Button_Borderless_Small" class="hiddenlink" target="rightframe">Widget_Holo_Button_Borderless_Small</A>
+</nobr><br>
+<!-- Field Widget_Holo_Light_ActionBar_Solid -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_Light_ActionBar_Solid" class="hiddenlink" target="rightframe">Widget_Holo_Light_ActionBar_Solid</A>
+</nobr><br>
+<!-- Field Widget_Holo_Light_ActionBar_Solid_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_Light_ActionBar_Solid_Inverse" class="hiddenlink" target="rightframe">Widget_Holo_Light_ActionBar_Solid_Inverse</A>
+</nobr><br>
+<!-- Field Widget_Holo_Light_ActionBar_TabBar_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_Light_ActionBar_TabBar_Inverse" class="hiddenlink" target="rightframe">Widget_Holo_Light_ActionBar_TabBar_Inverse</A>
+</nobr><br>
+<!-- Field Widget_Holo_Light_ActionBar_TabText_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_Light_ActionBar_TabText_Inverse" class="hiddenlink" target="rightframe">Widget_Holo_Light_ActionBar_TabText_Inverse</A>
+</nobr><br>
+<!-- Field Widget_Holo_Light_ActionBar_TabView_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_Light_ActionBar_TabView_Inverse" class="hiddenlink" target="rightframe">Widget_Holo_Light_ActionBar_TabView_Inverse</A>
+</nobr><br>
+<!-- Field Widget_Holo_Light_ActionMode_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_Light_ActionMode_Inverse" class="hiddenlink" target="rightframe">Widget_Holo_Light_ActionMode_Inverse</A>
+</nobr><br>
+<!-- Field Widget_Holo_Light_Button_Borderless_Small -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_Light_Button_Borderless_Small" class="hiddenlink" target="rightframe">Widget_Holo_Light_Button_Borderless_Small</A>
+</nobr><br>
+<!-- Field WIFI_P2P_SERVICE -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.WIFI_P2P_SERVICE" class="hiddenlink" target="rightframe">WIFI_P2P_SERVICE</A>
+</nobr><br>
+<!-- Class WpsInfo -->
+<A HREF="pkg_android.net.wifi.html#WpsInfo" class="hiddenlink" target="rightframe"><b>WpsInfo</b></A><br>
+<!-- Field WRITE_PROFILE -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.WRITE_PROFILE" class="hiddenlink" target="rightframe">WRITE_PROFILE</A>
+</nobr><br>
+<!-- Field X -->
+<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="#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.View.html#android.view.View.X" class="hiddenlink" target="rightframe">X</A>
+</nobr><br>
+<!-- Field Y -->
+<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="#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="#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.Y" class="hiddenlink" target="rightframe">Y</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/14/changes/alldiffs_index_all.html b/docs/html/sdk/api_diff/14/changes/alldiffs_index_all.html
new file mode 100644
index 0000000..b218b52
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/alldiffs_index_all.html
@@ -0,0 +1,4202 @@
+<!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>
+<!-- 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="#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="android.widget.AbsListView.html" class="hiddenlink" target="rightframe">AbsListView</A><br>
+<!-- Class AccessibilityEvent -->
+<A HREF="android.view.accessibility.AccessibilityEvent.html" class="hiddenlink" target="rightframe">AccessibilityEvent</A><br>
+<!-- Field accessibilityEventTypes -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.accessibilityEventTypes" class="hiddenlink" target="rightframe">accessibilityEventTypes</A>
+</nobr><br>
+<!-- Field accessibilityFeedbackType -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.accessibilityFeedbackType" class="hiddenlink" target="rightframe">accessibilityFeedbackType</A>
+</nobr><br>
+<!-- Field accessibilityFlags -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.accessibilityFlags" class="hiddenlink" target="rightframe">accessibilityFlags</A>
+</nobr><br>
+<!-- Class AccessibilityManager -->
+<A HREF="android.view.accessibility.AccessibilityManager.html" class="hiddenlink" target="rightframe">AccessibilityManager</A><br>
+<!-- Class AccessibilityManager.AccessibilityStateChangeListener -->
+<A HREF="pkg_android.view.accessibility.html#AccessibilityManager.AccessibilityStateChangeListener" class="hiddenlink" target="rightframe"><b><i>AccessibilityManager.AccessibilityStateChangeListener</i></b></A><br>
+<!-- Class AccessibilityNodeInfo -->
+<A HREF="pkg_android.view.accessibility.html#AccessibilityNodeInfo" class="hiddenlink" target="rightframe"><b>AccessibilityNodeInfo</b></A><br>
+<!-- Class AccessibilityRecord -->
+<A HREF="pkg_android.view.accessibility.html#AccessibilityRecord" class="hiddenlink" target="rightframe"><b>AccessibilityRecord</b></A><br>
+<!-- Class AccessibilityService -->
+<A HREF="android.accessibilityservice.AccessibilityService.html" class="hiddenlink" target="rightframe">AccessibilityService</A><br>
+<!-- Class AccessibilityServiceInfo -->
+<A HREF="android.accessibilityservice.AccessibilityServiceInfo.html" class="hiddenlink" target="rightframe">AccessibilityServiceInfo</A><br>
+<!-- Class AccessibleObject -->
+<A HREF="java.lang.reflect.AccessibleObject.html" class="hiddenlink" target="rightframe">AccessibleObject</A><br>
+<!-- Class AccountManager -->
+<A HREF="android.accounts.AccountManager.html" class="hiddenlink" target="rightframe">AccountManager</A><br>
+<!-- Field ACTION_APP_ERROR -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_APP_ERROR" class="hiddenlink" target="rightframe">ACTION_APP_ERROR</A>
+</nobr><br>
+<!-- Field ACTION_HOVER_ENTER -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_HOVER_ENTER" class="hiddenlink" target="rightframe">ACTION_HOVER_ENTER</A>
+</nobr><br>
+<!-- Field ACTION_HOVER_EXIT -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_HOVER_EXIT" class="hiddenlink" target="rightframe">ACTION_HOVER_EXIT</A>
+</nobr><br>
+<!-- Field ACTION_INSTALL_PACKAGE -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_INSTALL_PACKAGE" class="hiddenlink" target="rightframe">ACTION_INSTALL_PACKAGE</A>
+</nobr><br>
+<!-- Field ACTION_MANAGE_NETWORK_USAGE -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_MANAGE_NETWORK_USAGE" class="hiddenlink" target="rightframe">ACTION_MANAGE_NETWORK_USAGE</A>
+</nobr><br>
+<!-- Field ACTION_NEW_PICTURE -->
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.ACTION_NEW_PICTURE" class="hiddenlink" target="rightframe">ACTION_NEW_PICTURE</A>
+</nobr><br>
+<!-- Field ACTION_NEW_VIDEO -->
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.ACTION_NEW_VIDEO" class="hiddenlink" target="rightframe">ACTION_NEW_VIDEO</A>
+</nobr><br>
+<!-- Field ACTION_NFCSHARING_SETTINGS -->
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_NFCSHARING_SETTINGS" class="hiddenlink" target="rightframe">ACTION_NFCSHARING_SETTINGS</A>
+</nobr><br>
+<!-- Field ACTION_PACKAGE_FULLY_REMOVED -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_PACKAGE_FULLY_REMOVED" class="hiddenlink" target="rightframe">ACTION_PACKAGE_FULLY_REMOVED</A>
+</nobr><br>
+<!-- Field ACTION_PACKAGE_INSTALL -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_PACKAGE_INSTALL" class="hiddenlink" target="rightframe">ACTION_PACKAGE_INSTALL</A>
+</nobr><br>
+<!-- Field ACTION_PACKAGE_NEEDS_VERIFICATION -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_PACKAGE_NEEDS_VERIFICATION" class="hiddenlink" target="rightframe">ACTION_PACKAGE_NEEDS_VERIFICATION</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_SCO_AUDIO_STATE_UPDATED -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.ACTION_SCO_AUDIO_STATE_UPDATED" class="hiddenlink" target="rightframe">ACTION_SCO_AUDIO_STATE_UPDATED</A>
+</nobr><br>
+<!-- Field ACTION_UMS_CONNECTED -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_UMS_CONNECTED" class="hiddenlink" target="rightframe">ACTION_UMS_CONNECTED</A>
+</nobr><br>
+<!-- Field ACTION_UMS_DISCONNECTED -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_UMS_DISCONNECTED" class="hiddenlink" target="rightframe">ACTION_UMS_DISCONNECTED</A>
+</nobr><br>
+<!-- Field ACTION_UNINSTALL_PACKAGE -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_UNINSTALL_PACKAGE" class="hiddenlink" target="rightframe">ACTION_UNINSTALL_PACKAGE</A>
+</nobr><br>
+<!-- Class ActionBar -->
+<A HREF="android.app.ActionBar.html" class="hiddenlink" target="rightframe">ActionBar</A><br>
+<!-- Class ActionBar.Tab -->
+<A HREF="android.app.ActionBar.Tab.html" class="hiddenlink" target="rightframe">ActionBar.Tab</A><br>
+<!-- Field actionBarDivider -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.actionBarDivider" class="hiddenlink" target="rightframe">actionBarDivider</A>
+</nobr><br>
+<!-- Field actionBarItemBackground -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.actionBarItemBackground" class="hiddenlink" target="rightframe">actionBarItemBackground</A>
+</nobr><br>
+<!-- Field actionBarSplitStyle -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.actionBarSplitStyle" class="hiddenlink" target="rightframe">actionBarSplitStyle</A>
+</nobr><br>
+<!-- Field actionBarWidgetTheme -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.actionBarWidgetTheme" class="hiddenlink" target="rightframe">actionBarWidgetTheme</A>
+</nobr><br>
+<!-- Class ActionMode -->
+<A HREF="android.view.ActionMode.html" class="hiddenlink" target="rightframe">ActionMode</A><br>
+<!-- Field actionModeSelectAllDrawable -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.actionModeSelectAllDrawable" class="hiddenlink" target="rightframe">actionModeSelectAllDrawable</A>
+</nobr><br>
+<!-- Field actionModeSplitBackground -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.actionModeSplitBackground" class="hiddenlink" target="rightframe">actionModeSplitBackground</A>
+</nobr><br>
+<!-- Field actionModeStyle -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.actionModeStyle" class="hiddenlink" target="rightframe">actionModeStyle</A>
+</nobr><br>
+<!-- Class ActionProvider -->
+<A HREF="pkg_android.view.html#ActionProvider" class="hiddenlink" target="rightframe"><b>ActionProvider</b></A><br>
+<!-- Field actionProviderClass -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.actionProviderClass" class="hiddenlink" target="rightframe">actionProviderClass</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 AdapterViewAnimator -->
+<i>AdapterViewAnimator</i><br>
+&nbsp;&nbsp;<A HREF="android.widget.AdapterViewAnimator.html" class="hiddenlink" target="rightframe">android.widget</A><br>
+<!-- Constructor AdapterViewAnimator -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.AdapterViewAnimator.html#android.widget.AdapterViewAnimator.ctor_added(android.content.Context, android.util.AttributeSet, int)" class="hiddenlink" target="rightframe"><b>AdapterViewAnimator</b>
+(<code>Context, AttributeSet, int</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Field ADD_VOICEMAIL -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.ADD_VOICEMAIL" class="hiddenlink" target="rightframe">ADD_VOICEMAIL</A>
+</nobr><br>
+<!-- Method addAccessibilityStateChangeListener -->
+<nobr><A HREF="android.view.accessibility.AccessibilityManager.html#android.view.accessibility.AccessibilityManager.addAccessibilityStateChangeListener_added(android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener)" class="hiddenlink" target="rightframe"><b>addAccessibilityStateChangeListener</b>
+(<code>AccessibilityStateChangeListener</code>)</A></nobr><br>
+<!-- Method addF64 -->
+<i>addF64</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addF64_added(android.renderscript.Double2)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Double2</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+<!-- Method addF64 -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addF64_added(android.renderscript.Double3)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Double3</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+<!-- Method addF64 -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addF64_added(android.renderscript.Double4)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Double4</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+<!-- Method addI64 -->
+<i>addI64</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addI64_added(android.renderscript.Long2)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Long2</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+<!-- Method addI64 -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addI64_added(android.renderscript.Long3)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Long3</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+<!-- Method addI64 -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addI64_added(android.renderscript.Long4)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Long4</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+<!-- Method addU64 -->
+<i>addU64</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addU64_added(android.renderscript.Long2)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Long2</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+<!-- Method addU64 -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addU64_added(android.renderscript.Long3)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Long3</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+<!-- Method addU64 -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addU64_added(android.renderscript.Long4)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Long4</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+<!-- Field ALBUM_ART -->
+<nobr><A HREF="android.provider.MediaStore.Audio.AudioColumns.html#android.provider.MediaStore.Audio.AudioColumns.ALBUM_ART" class="hiddenlink" target="rightframe"><strike>ALBUM_ART</strike></A>
+</nobr><br>
+<!-- Class AlertDialog -->
+<A HREF="android.app.AlertDialog.html" class="hiddenlink" target="rightframe">AlertDialog</A><br>
+<!-- Field alignmentMode -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.alignmentMode" class="hiddenlink" target="rightframe">alignmentMode</A>
+</nobr><br>
+<!-- Class Allocation -->
+<A HREF="android.renderscript.Allocation.html" class="hiddenlink" target="rightframe">Allocation</A><br>
+<!-- Class AllocationAdapter -->
+<A HREF="android.renderscript.AllocationAdapter.html" class="hiddenlink" target="rightframe">AllocationAdapter</A><br>
+<!-- Class AllPermission -->
+<A HREF="java.security.AllPermission.html" class="hiddenlink" target="rightframe">AllPermission</A><br>
+<!-- Field ALPHA -->
+<nobr><A HREF="android.view.View.html#android.view.View.ALPHA" class="hiddenlink" target="rightframe">ALPHA</A>
+</nobr><br>
+<!-- Field ANCHOR_TYPE -->
+<nobr><A HREF="android.webkit.WebView.HitTestResult.html#android.webkit.WebView.HitTestResult.ANCHOR_TYPE" class="hiddenlink" target="rightframe">ANCHOR_TYPE</A>
+</nobr><br>
+<!-- Package android -->
+<A HREF="pkg_android.html" class="hiddenlink" target="rightframe">android</A><br>
+<!-- Package android.accessibilityservice -->
+<A HREF="pkg_android.accessibilityservice.html" class="hiddenlink" target="rightframe">android.accessibilityservice</A><br>
+<!-- Package android.accounts -->
+<A HREF="pkg_android.accounts.html" class="hiddenlink" target="rightframe">android.accounts</A><br>
+<!-- Package android.animation -->
+<A HREF="pkg_android.animation.html" class="hiddenlink" target="rightframe">android.animation</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="pkg_android.app.admin.html" class="hiddenlink" target="rightframe">android.app.admin</A><br>
+<!-- Package android.app.backup -->
+<A HREF="pkg_android.app.backup.html" class="hiddenlink" target="rightframe">android.app.backup</A><br>
+<!-- Package android.appwidget -->
+<A HREF="pkg_android.appwidget.html" class="hiddenlink" target="rightframe">android.appwidget</A><br>
+<!-- Package android.bluetooth -->
+<A HREF="pkg_android.bluetooth.html" class="hiddenlink" target="rightframe">android.bluetooth</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.database.sqlite -->
+<A HREF="pkg_android.database.sqlite.html" class="hiddenlink" target="rightframe">android.database.sqlite</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.inputmethodservice -->
+<A HREF="pkg_android.inputmethodservice.html" class="hiddenlink" target="rightframe">android.inputmethodservice</A><br>
+<!-- Package android.media -->
+<A HREF="pkg_android.media.html" class="hiddenlink" target="rightframe">android.media</A><br>
+<!-- Package android.media.effect -->
+<A HREF="changes-summary.html#android.media.effect" class="hiddenlink" target="rightframe"><b>android.media.effect</b></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.net.wifi -->
+<A HREF="pkg_android.net.wifi.html" class="hiddenlink" target="rightframe">android.net.wifi</A><br>
+<!-- Package android.net.wifi.p2p -->
+<A HREF="changes-summary.html#android.net.wifi.p2p" class="hiddenlink" target="rightframe"><b>android.net.wifi.p2p</b></A><br>
+<!-- Package android.nfc -->
+<A HREF="pkg_android.nfc.html" class="hiddenlink" target="rightframe">android.nfc</A><br>
+<!-- Package android.nfc.tech -->
+<A HREF="pkg_android.nfc.tech.html" class="hiddenlink" target="rightframe">android.nfc.tech</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.preference -->
+<A HREF="pkg_android.preference.html" class="hiddenlink" target="rightframe">android.preference</A><br>
+<!-- Package android.provider -->
+<A HREF="pkg_android.provider.html" class="hiddenlink" target="rightframe">android.provider</A><br>
+<!-- Package android.renderscript -->
+<A HREF="pkg_android.renderscript.html" class="hiddenlink" target="rightframe">android.renderscript</A><br>
+<!-- Package android.security -->
+<A HREF="changes-summary.html#android.security" class="hiddenlink" target="rightframe"><b>android.security</b></A><br>
+<!-- Package android.service.textservice -->
+<A HREF="changes-summary.html#android.service.textservice" class="hiddenlink" target="rightframe"><b>android.service.textservice</b></A><br>
+<!-- Package android.service.wallpaper -->
+<A HREF="pkg_android.service.wallpaper.html" class="hiddenlink" target="rightframe">android.service.wallpaper</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.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.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.accessibility -->
+<A HREF="pkg_android.view.accessibility.html" class="hiddenlink" target="rightframe">android.view.accessibility</A><br>
+<!-- Package android.view.inputmethod -->
+<A HREF="pkg_android.view.inputmethod.html" class="hiddenlink" target="rightframe">android.view.inputmethod</A><br>
+<!-- Package android.view.textservice -->
+<A HREF="changes-summary.html#android.view.textservice" class="hiddenlink" target="rightframe"><b>android.view.textservice</b></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 Animator -->
+<A HREF="android.animation.Animator.html" class="hiddenlink" target="rightframe">Animator</A><br>
+<!-- Method appendRecord -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.appendRecord_added(android.view.accessibility.AccessibilityRecord)" class="hiddenlink" target="rightframe"><b>appendRecord</b>
+(<code>AccessibilityRecord</code>)</A></nobr><br>
+<!-- Class Application -->
+<A HREF="android.app.Application.html" class="hiddenlink" target="rightframe">Application</A><br>
+<!-- Class Application.ActivityLifecycleCallbacks -->
+<A HREF="pkg_android.app.html#Application.ActivityLifecycleCallbacks" class="hiddenlink" target="rightframe"><b><i>Application.ActivityLifecycleCallbacks</i></b></A><br>
+<!-- Class ApplicationErrorReport -->
+<A HREF="pkg_android.app.html#ApplicationErrorReport" class="hiddenlink" target="rightframe"><b>ApplicationErrorReport</b></A><br>
+<!-- Class ApplicationErrorReport.AnrInfo -->
+<A HREF="pkg_android.app.html#ApplicationErrorReport.AnrInfo" class="hiddenlink" target="rightframe"><b>ApplicationErrorReport.AnrInfo</b></A><br>
+<!-- Class ApplicationErrorReport.BatteryInfo -->
+<A HREF="pkg_android.app.html#ApplicationErrorReport.BatteryInfo" class="hiddenlink" target="rightframe"><b>ApplicationErrorReport.BatteryInfo</b></A><br>
+<!-- Class ApplicationErrorReport.CrashInfo -->
+<A HREF="pkg_android.app.html#ApplicationErrorReport.CrashInfo" class="hiddenlink" target="rightframe"><b>ApplicationErrorReport.CrashInfo</b></A><br>
+<!-- Class ApplicationErrorReport.RunningServiceInfo -->
+<A HREF="pkg_android.app.html#ApplicationErrorReport.RunningServiceInfo" class="hiddenlink" target="rightframe"><b>ApplicationErrorReport.RunningServiceInfo</b></A><br>
+<!-- Class ApplicationInfo -->
+<A HREF="android.content.pm.ApplicationInfo.html" class="hiddenlink" target="rightframe">ApplicationInfo</A><br>
+<!-- Class AppWidgetProviderInfo -->
+<A HREF="android.appwidget.AppWidgetProviderInfo.html" class="hiddenlink" target="rightframe">AppWidgetProviderInfo</A><br>
+<!-- Class AudioManager -->
+<A HREF="android.media.AudioManager.html" class="hiddenlink" target="rightframe">AudioManager</A><br>
+<!-- Field AXIS_DISTANCE -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.AXIS_DISTANCE" class="hiddenlink" target="rightframe">AXIS_DISTANCE</A>
+</nobr><br>
+<!-- Field AXIS_TILT -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.AXIS_TILT" class="hiddenlink" target="rightframe">AXIS_TILT</A>
+</nobr><br>
+<!-- Field BACKGROUND_DATA -->
+<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="#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.BACKGROUND_DATA" class="hiddenlink" target="rightframe">BACKGROUND_DATA</A>
+</nobr><br>
+<!-- Field backgroundSplit -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.backgroundSplit" class="hiddenlink" target="rightframe">backgroundSplit</A>
+</nobr><br>
+<!-- Field backgroundStacked -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.backgroundStacked" class="hiddenlink" target="rightframe">backgroundStacked</A>
+</nobr><br>
+<!-- Class BackupAgent -->
+<A HREF="android.app.backup.BackupAgent.html" class="hiddenlink" target="rightframe">BackupAgent</A><br>
+<!-- Class BaseDexClassLoader -->
+<A HREF="pkg_dalvik.system.html#BaseDexClassLoader" class="hiddenlink" target="rightframe"><b>BaseDexClassLoader</b></A><br>
+<!-- Class BaseObj -->
+<A HREF="android.renderscript.BaseObj.html" class="hiddenlink" target="rightframe">BaseObj</A><br>
+<!-- Class BasicPermission -->
+<A HREF="java.security.BasicPermission.html" class="hiddenlink" target="rightframe">BasicPermission</A><br>
+<!-- Field BIND_ABOVE_CLIENT -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.BIND_ABOVE_CLIENT" class="hiddenlink" target="rightframe">BIND_ABOVE_CLIENT</A>
+</nobr><br>
+<!-- Field BIND_ADJUST_WITH_ACTIVITY -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.BIND_ADJUST_WITH_ACTIVITY" class="hiddenlink" target="rightframe">BIND_ADJUST_WITH_ACTIVITY</A>
+</nobr><br>
+<!-- Field BIND_ALLOW_OOM_MANAGEMENT -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.BIND_ALLOW_OOM_MANAGEMENT" class="hiddenlink" target="rightframe">BIND_ALLOW_OOM_MANAGEMENT</A>
+</nobr><br>
+<!-- Field BIND_IMPORTANT -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.BIND_IMPORTANT" class="hiddenlink" target="rightframe">BIND_IMPORTANT</A>
+</nobr><br>
+<!-- Field BIND_TEXT_SERVICE -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_TEXT_SERVICE" class="hiddenlink" target="rightframe">BIND_TEXT_SERVICE</A>
+</nobr><br>
+<!-- Field BIND_VPN_SERVICE -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_VPN_SERVICE" class="hiddenlink" target="rightframe">BIND_VPN_SERVICE</A>
+</nobr><br>
+<!-- Field BIND_WAIVE_PRIORITY -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.BIND_WAIVE_PRIORITY" class="hiddenlink" target="rightframe">BIND_WAIVE_PRIORITY</A>
+</nobr><br>
+<!-- Class BluetoothAdapter -->
+<A HREF="android.bluetooth.BluetoothAdapter.html" class="hiddenlink" target="rightframe">BluetoothAdapter</A><br>
+<!-- Class BluetoothHealth -->
+<A HREF="pkg_android.bluetooth.html#BluetoothHealth" class="hiddenlink" target="rightframe"><b>BluetoothHealth</b></A><br>
+<!-- Class BluetoothHealthAppConfiguration -->
+<A HREF="pkg_android.bluetooth.html#BluetoothHealthAppConfiguration" class="hiddenlink" target="rightframe"><b>BluetoothHealthAppConfiguration</b></A><br>
+<!-- Class BluetoothHealthCallback -->
+<A HREF="pkg_android.bluetooth.html#BluetoothHealthCallback" class="hiddenlink" target="rightframe"><b>BluetoothHealthCallback</b></A><br>
+<!-- Class BluetoothProfile -->
+<A HREF="android.bluetooth.BluetoothProfile.html" class="hiddenlink" target="rightframe"><i>BluetoothProfile</i></A><br>
+<!-- Class BluetoothSocket -->
+<A HREF="android.bluetooth.BluetoothSocket.html" class="hiddenlink" target="rightframe">BluetoothSocket</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>
+<!-- Field BUTTON_BACK -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.BUTTON_BACK" class="hiddenlink" target="rightframe">BUTTON_BACK</A>
+</nobr><br>
+<!-- Field BUTTON_FORWARD -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.BUTTON_FORWARD" class="hiddenlink" target="rightframe">BUTTON_FORWARD</A>
+</nobr><br>
+<!-- Field BUTTON_PRIMARY -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.BUTTON_PRIMARY" class="hiddenlink" target="rightframe">BUTTON_PRIMARY</A>
+</nobr><br>
+<!-- Field BUTTON_SECONDARY -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.BUTTON_SECONDARY" class="hiddenlink" target="rightframe">BUTTON_SECONDARY</A>
+</nobr><br>
+<!-- Field BUTTON_TERTIARY -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.BUTTON_TERTIARY" class="hiddenlink" target="rightframe">BUTTON_TERTIARY</A>
+</nobr><br>
+<!-- Class Byte2 -->
+<i>Byte2</i><br>
+&nbsp;&nbsp;<A HREF="android.renderscript.Byte2.html" class="hiddenlink" target="rightframe">android.renderscript</A><br>
+<!-- Constructor Byte2 -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.Byte2.html#android.renderscript.Byte2.ctor_added(byte, byte)" class="hiddenlink" target="rightframe"><b>Byte2</b>
+(<code>byte, byte</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class Byte3 -->
+<i>Byte3</i><br>
+&nbsp;&nbsp;<A HREF="android.renderscript.Byte3.html" class="hiddenlink" target="rightframe">android.renderscript</A><br>
+<!-- Constructor Byte3 -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.Byte3.html#android.renderscript.Byte3.ctor_added(byte, byte, byte)" class="hiddenlink" target="rightframe"><b>Byte3</b>
+(<code>byte, byte, byte</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class Byte4 -->
+<i>Byte4</i><br>
+&nbsp;&nbsp;<A HREF="android.renderscript.Byte4.html" class="hiddenlink" target="rightframe">android.renderscript</A><br>
+<!-- Constructor Byte4 -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.Byte4.html#android.renderscript.Byte4.ctor_added(byte, byte, byte, byte)" class="hiddenlink" target="rightframe"><b>Byte4</b>
+(<code>byte, byte, byte, byte</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class CalendarContract -->
+<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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.provider.html#CalendarContract" class="hiddenlink" target="rightframe"><b>CalendarContract</b></A><br>
+<!-- Class CalendarContract.Attendees -->
+<A HREF="pkg_android.provider.html#CalendarContract.Attendees" class="hiddenlink" target="rightframe"><b>CalendarContract.Attendees</b></A><br>
+<!-- Class CalendarContract.AttendeesColumns -->
+<A HREF="pkg_android.provider.html#CalendarContract.AttendeesColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.AttendeesColumns</i></b></A><br>
+<!-- Class CalendarContract.CalendarAlerts -->
+<A HREF="pkg_android.provider.html#CalendarContract.CalendarAlerts" class="hiddenlink" target="rightframe"><b>CalendarContract.CalendarAlerts</b></A><br>
+<!-- Class CalendarContract.CalendarAlertsColumns -->
+<A HREF="pkg_android.provider.html#CalendarContract.CalendarAlertsColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.CalendarAlertsColumns</i></b></A><br>
+<!-- Class CalendarContract.CalendarCache -->
+<A HREF="pkg_android.provider.html#CalendarContract.CalendarCache" class="hiddenlink" target="rightframe"><b>CalendarContract.CalendarCache</b></A><br>
+<!-- Class CalendarContract.CalendarCacheColumns -->
+<A HREF="pkg_android.provider.html#CalendarContract.CalendarCacheColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.CalendarCacheColumns</i></b></A><br>
+<!-- Class CalendarContract.CalendarColumns -->
+<A HREF="pkg_android.provider.html#CalendarContract.CalendarColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.CalendarColumns</i></b></A><br>
+<!-- Class CalendarContract.CalendarEntity -->
+<A HREF="pkg_android.provider.html#CalendarContract.CalendarEntity" class="hiddenlink" target="rightframe"><b>CalendarContract.CalendarEntity</b></A><br>
+<!-- Class CalendarContract.Calendars -->
+<A HREF="pkg_android.provider.html#CalendarContract.Calendars" class="hiddenlink" target="rightframe"><b>CalendarContract.Calendars</b></A><br>
+<!-- Class CalendarContract.CalendarSyncColumns -->
+<A HREF="pkg_android.provider.html#CalendarContract.CalendarSyncColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.CalendarSyncColumns</i></b></A><br>
+<!-- Class CalendarContract.EventDays -->
+<A HREF="pkg_android.provider.html#CalendarContract.EventDays" class="hiddenlink" target="rightframe"><b>CalendarContract.EventDays</b></A><br>
+<!-- Class CalendarContract.EventDaysColumns -->
+<A HREF="pkg_android.provider.html#CalendarContract.EventDaysColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.EventDaysColumns</i></b></A><br>
+<!-- Class CalendarContract.Events -->
+<A HREF="pkg_android.provider.html#CalendarContract.Events" class="hiddenlink" target="rightframe"><b>CalendarContract.Events</b></A><br>
+<!-- Class CalendarContract.EventsColumns -->
+<A HREF="pkg_android.provider.html#CalendarContract.EventsColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.EventsColumns</i></b></A><br>
+<!-- Class CalendarContract.EventsEntity -->
+<A HREF="pkg_android.provider.html#CalendarContract.EventsEntity" class="hiddenlink" target="rightframe"><b>CalendarContract.EventsEntity</b></A><br>
+<!-- Class CalendarContract.ExtendedProperties -->
+<A HREF="pkg_android.provider.html#CalendarContract.ExtendedProperties" class="hiddenlink" target="rightframe"><b>CalendarContract.ExtendedProperties</b></A><br>
+<!-- Class CalendarContract.ExtendedPropertiesColumns -->
+<A HREF="pkg_android.provider.html#CalendarContract.ExtendedPropertiesColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.ExtendedPropertiesColumns</i></b></A><br>
+<!-- Class CalendarContract.Instances -->
+<A HREF="pkg_android.provider.html#CalendarContract.Instances" class="hiddenlink" target="rightframe"><b>CalendarContract.Instances</b></A><br>
+<!-- Class CalendarContract.Reminders -->
+<A HREF="pkg_android.provider.html#CalendarContract.Reminders" class="hiddenlink" target="rightframe"><b>CalendarContract.Reminders</b></A><br>
+<!-- Class CalendarContract.RemindersColumns -->
+<A HREF="pkg_android.provider.html#CalendarContract.RemindersColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.RemindersColumns</i></b></A><br>
+<!-- Class CalendarContract.SyncColumns -->
+<A HREF="pkg_android.provider.html#CalendarContract.SyncColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.SyncColumns</i></b></A><br>
+<!-- Class CalendarContract.SyncState -->
+<A HREF="pkg_android.provider.html#CalendarContract.SyncState" class="hiddenlink" target="rightframe"><b>CalendarContract.SyncState</b></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.Area -->
+<A HREF="pkg_android.hardware.html#Camera.Area" class="hiddenlink" target="rightframe"><b>Camera.Area</b></A><br>
+<!-- Class Camera.Face -->
+<A HREF="pkg_android.hardware.html#Camera.Face" class="hiddenlink" target="rightframe"><b>Camera.Face</b></A><br>
+<!-- Class Camera.FaceDetectionListener -->
+<A HREF="pkg_android.hardware.html#Camera.FaceDetectionListener" class="hiddenlink" target="rightframe"><b><i>Camera.FaceDetectionListener</i></b></A><br>
+<!-- Class Camera.Parameters -->
+<A HREF="android.hardware.Camera.Parameters.html" class="hiddenlink" target="rightframe">Camera.Parameters</A><br>
+<!-- Method cancel -->
+<nobr><A HREF="android.view.ViewPropertyAnimator.html#android.view.ViewPropertyAnimator.cancel_added()" class="hiddenlink" target="rightframe"><b>cancel</b>
+()</A></nobr><br>
+<!-- Field canRetrieveWindowContent -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.canRetrieveWindowContent" class="hiddenlink" target="rightframe">canRetrieveWindowContent</A>
+</nobr><br>
+<!-- Method canScrollHorizontally -->
+<nobr><A HREF="android.view.View.html#android.view.View.canScrollHorizontally_added(int)" class="hiddenlink" target="rightframe"><b>canScrollHorizontally</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method canScrollVertically -->
+<nobr><A HREF="android.view.View.html#android.view.View.canScrollVertically_added(int)" class="hiddenlink" target="rightframe"><b>canScrollVertically</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Class Canvas -->
+<A HREF="android.graphics.Canvas.html" class="hiddenlink" target="rightframe">Canvas</A><br>
+<!-- Class CheckBoxPreference -->
+<A HREF="android.preference.CheckBoxPreference.html" class="hiddenlink" target="rightframe">CheckBoxPreference</A><br>
+<!-- Class Class -->
+<A HREF="java.lang.Class.html" class="hiddenlink" target="rightframe">Class</A><br>
+<!-- Method clearThreadStatsTag -->
+<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.clearThreadStatsTag_added()" class="hiddenlink" target="rightframe"><b>clearThreadStatsTag</b>
+()</A></nobr><br>
+<!-- Method clone -->
+<i>clone</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.util.SparseArray.html#android.util.SparseArray.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.util.SparseArray
+</A></nobr><br>
+<!-- Method clone -->
+&nbsp;&nbsp;<nobr><A HREF="android.util.SparseBooleanArray.html#android.util.SparseBooleanArray.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.util.SparseBooleanArray
+</A></nobr><br>
+<!-- Method clone -->
+&nbsp;&nbsp;<nobr><A HREF="android.util.SparseIntArray.html#android.util.SparseIntArray.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.util.SparseIntArray
+</A></nobr><br>
+<!-- Method collapseActionView -->
+<nobr><A HREF="android.view.MenuItem.html#android.view.MenuItem.collapseActionView_added()" class="hiddenlink" target="rightframe"><b>collapseActionView</b>
+()</A></nobr><br>
+<!-- Class CollapsibleActionView -->
+<A HREF="pkg_android.view.html#CollapsibleActionView" class="hiddenlink" target="rightframe"><b><i>CollapsibleActionView</i></b></A><br>
+<!-- Field colorActivatedHighlight -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.colorActivatedHighlight" class="hiddenlink" target="rightframe">colorActivatedHighlight</A>
+</nobr><br>
+<!-- Field colorFocusedHighlight -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.colorFocusedHighlight" class="hiddenlink" target="rightframe">colorFocusedHighlight</A>
+</nobr><br>
+<!-- Field colorLongPressedHighlight -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.colorLongPressedHighlight" class="hiddenlink" target="rightframe">colorLongPressedHighlight</A>
+</nobr><br>
+<!-- Field colorMultiSelectHighlight -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.colorMultiSelectHighlight" class="hiddenlink" target="rightframe">colorMultiSelectHighlight</A>
+</nobr><br>
+<!-- Field colorPressedHighlight -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.colorPressedHighlight" class="hiddenlink" target="rightframe">colorPressedHighlight</A>
+</nobr><br>
+<!-- Field columnCount -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.columnCount" class="hiddenlink" target="rightframe">columnCount</A>
+</nobr><br>
+<!-- Field columnOrderPreserved -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.columnOrderPreserved" class="hiddenlink" target="rightframe">columnOrderPreserved</A>
+</nobr><br>
+<!-- Field COMPONENT_ENABLED_STATE_DISABLED_USER -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER" class="hiddenlink" target="rightframe">COMPONENT_ENABLED_STATE_DISABLED_USER</A>
+</nobr><br>
+<!-- Class ComponentCallbacks2 -->
+<A HREF="pkg_android.content.html#ComponentCallbacks2" class="hiddenlink" target="rightframe"><b><i>ComponentCallbacks2</i></b></A><br>
+<!-- Field CONFIDENCE_SCORES -->
+<nobr><A HREF="android.speech.SpeechRecognizer.html#android.speech.SpeechRecognizer.CONFIDENCE_SCORES" class="hiddenlink" target="rightframe">CONFIDENCE_SCORES</A>
+</nobr><br>
+<!-- Class Config -->
+<A HREF="android.util.Config.html" class="hiddenlink" target="rightframe">Config</A><br>
+<!-- Class ConnectivityManager -->
+<A HREF="android.net.ConnectivityManager.html" class="hiddenlink" target="rightframe">ConnectivityManager</A><br>
+<!-- Class Constructor -->
+<A HREF="java.lang.reflect.Constructor.html" class="hiddenlink" target="rightframe">Constructor</A><br>
+<!-- Class ContactsContract -->
+<A HREF="android.provider.ContactsContract.html" class="hiddenlink" target="rightframe">ContactsContract</A><br>
+<!-- Class ContactsContract.CommonDataKinds.Identity -->
+<A HREF="pkg_android.provider.html#ContactsContract.CommonDataKinds.Identity" class="hiddenlink" target="rightframe"><b>ContactsContract.CommonDataKinds.Identity</b></A><br>
+<!-- Class ContactsContract.CommonDataKinds.Photo -->
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Photo.html" class="hiddenlink" target="rightframe">ContactsContract.CommonDataKinds.Photo</A><br>
+<!-- Class ContactsContract.Contacts -->
+<A HREF="android.provider.ContactsContract.Contacts.html" class="hiddenlink" target="rightframe">ContactsContract.Contacts</A><br>
+<!-- Class ContactsContract.Contacts.Photo -->
+<A HREF="android.provider.ContactsContract.Contacts.Photo.html" class="hiddenlink" target="rightframe">ContactsContract.Contacts.Photo</A><br>
+<!-- Class ContactsContract.ContactsColumns -->
+<A HREF="android.provider.ContactsContract.ContactsColumns.html" class="hiddenlink" target="rightframe"><i>ContactsContract.ContactsColumns</i></A><br>
+<!-- Class ContactsContract.DataUsageFeedback -->
+<A HREF="pkg_android.provider.html#ContactsContract.DataUsageFeedback" class="hiddenlink" target="rightframe"><b>ContactsContract.DataUsageFeedback</b></A><br>
+<!-- Class ContactsContract.DisplayPhoto -->
+<A HREF="pkg_android.provider.html#ContactsContract.DisplayPhoto" class="hiddenlink" target="rightframe"><b>ContactsContract.DisplayPhoto</b></A><br>
+<!-- Class ContactsContract.GroupsColumns -->
+<A HREF="android.provider.ContactsContract.GroupsColumns.html" class="hiddenlink" target="rightframe"><i>ContactsContract.GroupsColumns</i></A><br>
+<!-- Class ContactsContract.Intents -->
+<A HREF="android.provider.ContactsContract.Intents.html" class="hiddenlink" target="rightframe">ContactsContract.Intents</A><br>
+<!-- Class ContactsContract.Profile -->
+<A HREF="pkg_android.provider.html#ContactsContract.Profile" class="hiddenlink" target="rightframe"><b>ContactsContract.Profile</b></A><br>
+<!-- Class ContactsContract.ProfileSyncState -->
+<A HREF="pkg_android.provider.html#ContactsContract.ProfileSyncState" class="hiddenlink" target="rightframe"><b>ContactsContract.ProfileSyncState</b></A><br>
+<!-- Class ContactsContract.RawContacts.DisplayPhoto -->
+<A HREF="pkg_android.provider.html#ContactsContract.RawContacts.DisplayPhoto" class="hiddenlink" target="rightframe"><b>ContactsContract.RawContacts.DisplayPhoto</b></A><br>
+<!-- Class ContactsContract.RawContactsColumns -->
+<A HREF="android.provider.ContactsContract.RawContactsColumns.html" class="hiddenlink" target="rightframe"><i>ContactsContract.RawContactsColumns</i></A><br>
+<!-- Class ContactsContract.RawContactsEntity -->
+<A HREF="android.provider.ContactsContract.RawContactsEntity.html" class="hiddenlink" target="rightframe">ContactsContract.RawContactsEntity</A><br>
+<!-- Class ContactsContract.SettingsColumns -->
+<A HREF="android.provider.ContactsContract.SettingsColumns.html" class="hiddenlink" target="rightframe"><i>ContactsContract.SettingsColumns</i></A><br>
+<!-- Class ContactsContract.StatusUpdates -->
+<A HREF="android.provider.ContactsContract.StatusUpdates.html" class="hiddenlink" target="rightframe">ContactsContract.StatusUpdates</A><br>
+<!-- Class ContentProvider -->
+<A HREF="android.content.ContentProvider.html" class="hiddenlink" target="rightframe">ContentProvider</A><br>
+<!-- Class Context -->
+<A HREF="android.content.Context.html" class="hiddenlink" target="rightframe">Context</A><br>
+<!-- Method copy1DRangeFrom -->
+<nobr><A HREF="android.renderscript.Allocation.html#android.renderscript.Allocation.copy1DRangeFrom_added(int, int, android.renderscript.Allocation, int)" class="hiddenlink" target="rightframe"><b>copy1DRangeFrom</b>
+(<code>int, int, Allocation, int</code>)</A></nobr><br>
+<!-- Method copy2DRangeFrom -->
+<nobr><A HREF="android.renderscript.Allocation.html#android.renderscript.Allocation.copy2DRangeFrom_added(int, int, int, int, android.renderscript.Allocation, int, int)" class="hiddenlink" target="rightframe"><b>copy2DRangeFrom</b>
+(<code>int, int, int, int, Allocation, int, int</code>)</A></nobr><br>
+<!-- Method create1D -->
+<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.create1D_added(android.renderscript.RenderScript, android.renderscript.Allocation)" class="hiddenlink" target="rightframe"><b>create1D</b>
+(<code>RenderScript, Allocation</code>)</A></nobr><br>
+<!-- Method createAccessibilityNodeInfo -->
+<nobr><A HREF="android.view.View.html#android.view.View.createAccessibilityNodeInfo_added()" class="hiddenlink" target="rightframe"><b>createAccessibilityNodeInfo</b>
+()</A></nobr><br>
+<!-- Method createApplicationRecord -->
+<nobr><A HREF="android.nfc.NdefRecord.html#android.nfc.NdefRecord.createApplicationRecord_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>createApplicationRecord</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method createUri -->
+<i>createUri</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.NdefRecord.html#android.nfc.NdefRecord.createUri_added(android.net.Uri)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Uri</code>)</b>&nbsp;in&nbsp;android.nfc.NdefRecord
+</A></nobr><br>
+<!-- Method createUri -->
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.NdefRecord.html#android.nfc.NdefRecord.createUri_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.nfc.NdefRecord
+</A></nobr><br>
+<!-- Package dalvik.annotation -->
+<A NAME="D"></A>
+<A HREF="pkg_dalvik.annotation.html" class="hiddenlink" target="rightframe">dalvik.annotation</A><br>
+<!-- Package dalvik.system -->
+<A HREF="pkg_dalvik.system.html" class="hiddenlink" target="rightframe">dalvik.system</A><br>
+<!-- Field DATA_SET -->
+<i>DATA_SET</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.GroupsColumns.html#android.provider.ContactsContract.GroupsColumns.DATA_SET" class="hiddenlink" target="rightframe">android.provider.ContactsContract.GroupsColumns</A>
+</nobr><br>
+<!-- Field DATA_SET -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.RawContactsColumns.html#android.provider.ContactsContract.RawContactsColumns.DATA_SET" class="hiddenlink" target="rightframe">android.provider.ContactsContract.RawContactsColumns</A>
+</nobr><br>
+<!-- Field DATA_SET -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.SettingsColumns.html#android.provider.ContactsContract.SettingsColumns.DATA_SET" class="hiddenlink" target="rightframe">android.provider.ContactsContract.SettingsColumns</A>
+</nobr><br>
+<!-- Class Debug -->
+<A HREF="android.os.Debug.html" class="hiddenlink" target="rightframe">Debug</A><br>
+<!-- Field DEBUG -->
+<nobr><A HREF="android.util.Config.html#android.util.Config.DEBUG" class="hiddenlink" target="rightframe">DEBUG</A>
+</nobr><br>
+<!-- Class Debug.MemoryInfo -->
+<A HREF="android.os.Debug.MemoryInfo.html" class="hiddenlink" target="rightframe">Debug.MemoryInfo</A><br>
+<!-- Method deferNotifyDataSetChanged -->
+<i>deferNotifyDataSetChanged</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.AbsListView.html#android.widget.AbsListView.deferNotifyDataSetChanged_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.widget.AbsListView
+</A></nobr><br>
+<!-- Method deferNotifyDataSetChanged -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.AdapterViewAnimator.html#android.widget.AdapterViewAnimator.deferNotifyDataSetChanged_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.widget.AdapterViewAnimator
+</A></nobr><br>
+<!-- Class DeviceAdminInfo -->
+<A HREF="android.app.admin.DeviceAdminInfo.html" class="hiddenlink" target="rightframe">DeviceAdminInfo</A><br>
+<!-- Field DeviceDefault_ButtonBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.DeviceDefault_ButtonBar" class="hiddenlink" target="rightframe">DeviceDefault_ButtonBar</A>
+</nobr><br>
+<!-- Field DeviceDefault_ButtonBar_AlertDialog -->
+<nobr><A HREF="android.R.style.html#android.R.style.DeviceDefault_ButtonBar_AlertDialog" class="hiddenlink" target="rightframe">DeviceDefault_ButtonBar_AlertDialog</A>
+</nobr><br>
+<!-- Field DeviceDefault_Light_ButtonBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.DeviceDefault_Light_ButtonBar" class="hiddenlink" target="rightframe">DeviceDefault_Light_ButtonBar</A>
+</nobr><br>
+<!-- Field DeviceDefault_Light_ButtonBar_AlertDialog -->
+<nobr><A HREF="android.R.style.html#android.R.style.DeviceDefault_Light_ButtonBar_AlertDialog" class="hiddenlink" target="rightframe">DeviceDefault_Light_ButtonBar_AlertDialog</A>
+</nobr><br>
+<!-- Field DeviceDefault_Light_SegmentedButton -->
+<nobr><A HREF="android.R.style.html#android.R.style.DeviceDefault_Light_SegmentedButton" class="hiddenlink" target="rightframe">DeviceDefault_Light_SegmentedButton</A>
+</nobr><br>
+<!-- Field DeviceDefault_SegmentedButton -->
+<nobr><A HREF="android.R.style.html#android.R.style.DeviceDefault_SegmentedButton" class="hiddenlink" target="rightframe">DeviceDefault_SegmentedButton</A>
+</nobr><br>
+<!-- Class DevicePolicyManager -->
+<A HREF="android.app.admin.DevicePolicyManager.html" class="hiddenlink" target="rightframe">DevicePolicyManager</A><br>
+<!-- Class DexClassLoader -->
+<A HREF="dalvik.system.DexClassLoader.html" class="hiddenlink" target="rightframe">DexClassLoader</A><br>
+<!-- Field directionDescriptions -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.directionDescriptions" class="hiddenlink" target="rightframe">directionDescriptions</A>
+</nobr><br>
+<!-- Method disableForegroundNdefPush -->
+<nobr><A HREF="android.nfc.NfcAdapter.html#android.nfc.NfcAdapter.disableForegroundNdefPush_changed(android.app.Activity)" class="hiddenlink" target="rightframe">disableForegroundNdefPush
+(<code>Activity</code>)</A></nobr><br>
+<!-- Method dispatchGenericFocusedEvent -->
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchGenericFocusedEvent_added(android.view.MotionEvent)" class="hiddenlink" target="rightframe"><b>dispatchGenericFocusedEvent</b>
+(<code>MotionEvent</code>)</A></nobr><br>
+<!-- Method dispatchGenericPointerEvent -->
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchGenericPointerEvent_added(android.view.MotionEvent)" class="hiddenlink" target="rightframe"><b>dispatchGenericPointerEvent</b>
+(<code>MotionEvent</code>)</A></nobr><br>
+<!-- Method dispatchHoverEvent -->
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchHoverEvent_added(android.view.MotionEvent)" class="hiddenlink" target="rightframe"><b>dispatchHoverEvent</b>
+(<code>MotionEvent</code>)</A></nobr><br>
+<!-- Field DISPLAY_PHOTO -->
+<nobr><A HREF="android.provider.ContactsContract.Contacts.Photo.html#android.provider.ContactsContract.Contacts.Photo.DISPLAY_PHOTO" class="hiddenlink" target="rightframe">DISPLAY_PHOTO</A>
+</nobr><br>
+<!-- Class Double2 -->
+<A HREF="pkg_android.renderscript.html#Double2" class="hiddenlink" target="rightframe"><b>Double2</b></A><br>
+<!-- Class Double3 -->
+<A HREF="pkg_android.renderscript.html#Double3" class="hiddenlink" target="rightframe"><b>Double3</b></A><br>
+<!-- Class Double4 -->
+<A HREF="pkg_android.renderscript.html#Double4" class="hiddenlink" target="rightframe"><b>Double4</b></A><br>
+<!-- Field drawableEnd -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.drawableEnd" class="hiddenlink" target="rightframe">drawableEnd</A>
+</nobr><br>
+<!-- Field drawableStart -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.drawableStart" class="hiddenlink" target="rightframe">drawableStart</A>
+</nobr><br>
+<!-- Method dump -->
+<nobr><A HREF="android.service.wallpaper.WallpaperService.Engine.html#android.service.wallpaper.WallpaperService.Engine.dump_added(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[])" class="hiddenlink" target="rightframe"><b>dump</b>
+(<code>String, FileDescriptor, PrintWriter, String[]</code>)</A></nobr><br>
+<!-- Method dup -->
+<nobr><A HREF="android.os.ParcelFileDescriptor.html#android.os.ParcelFileDescriptor.dup_added()" class="hiddenlink" target="rightframe"><b>dup</b>
+()</A></nobr><br>
+<!-- Class EasyEditSpan -->
+<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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.text.style.html#EasyEditSpan" class="hiddenlink" target="rightframe"><b>EasyEditSpan</b></A><br>
+<!-- Class EdgeEffect -->
+<A HREF="pkg_android.widget.html#EdgeEffect" class="hiddenlink" target="rightframe"><b>EdgeEffect</b></A><br>
+<!-- Class Element -->
+<A HREF="android.renderscript.Element.html" class="hiddenlink" target="rightframe">Element</A><br>
+<!-- Method enableForegroundNdefPush -->
+<nobr><A HREF="android.nfc.NfcAdapter.html#android.nfc.NfcAdapter.enableForegroundNdefPush_changed(android.app.Activity, android.nfc.NdefMessage)" class="hiddenlink" target="rightframe">enableForegroundNdefPush
+(<code>Activity, NdefMessage</code>)</A></nobr><br>
+<!-- Method enableReplaceObject -->
+<nobr><A HREF="java.io.ObjectOutputStream.html#java.io.ObjectOutputStream.enableReplaceObject_changed(boolean)" class="hiddenlink" target="rightframe">enableReplaceObject
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method enableResolveObject -->
+<nobr><A HREF="java.io.ObjectInputStream.html#java.io.ObjectInputStream.enableResolveObject_changed(boolean)" class="hiddenlink" target="rightframe">enableResolveObject
+(<code>boolean</code>)</A></nobr><br>
+<!-- Field END -->
+<nobr><A HREF="android.view.Gravity.html#android.view.Gravity.END" class="hiddenlink" target="rightframe">END</A>
+</nobr><br>
+<!-- Method equals -->
+<i>equals</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.io.FilePermission.html#java.io.FilePermission.equals_changed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Object</code>)&nbsp;in&nbsp;java.io.FilePermission
+</A></nobr><br>
+<!-- Method equals -->
+&nbsp;&nbsp;<nobr><A HREF="java.net.SocketPermission.html#java.net.SocketPermission.equals_changed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Object</code>)&nbsp;in&nbsp;java.net.SocketPermission
+</A></nobr><br>
+<!-- Method equals -->
+&nbsp;&nbsp;<nobr><A HREF="java.security.AllPermission.html#java.security.AllPermission.equals_changed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Object</code>)&nbsp;in&nbsp;java.security.AllPermission
+</A></nobr><br>
+<!-- Method equals -->
+&nbsp;&nbsp;<nobr><A HREF="java.security.BasicPermission.html#java.security.BasicPermission.equals_changed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Object</code>)&nbsp;in&nbsp;java.security.BasicPermission
+</A></nobr><br>
+<!-- Method equals -->
+&nbsp;&nbsp;<nobr><A HREF="java.security.Permission.html#java.security.Permission.equals_changed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Object</code>)&nbsp;in&nbsp;java.security.Permission
+</A></nobr><br>
+<!-- Method equals -->
+&nbsp;&nbsp;<nobr><A HREF="java.security.UnresolvedPermission.html#java.security.UnresolvedPermission.equals_changed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Object</code>)&nbsp;in&nbsp;java.security.UnresolvedPermission
+</A></nobr><br>
+<!-- Method equals -->
+&nbsp;&nbsp;<nobr><A HREF="javax.security.auth.PrivateCredentialPermission.html#javax.security.auth.PrivateCredentialPermission.equals_changed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Object</code>)&nbsp;in&nbsp;javax.security.auth.PrivateCredentialPermission
+</A></nobr><br>
+<!-- Method evaluate -->
+<i>evaluate</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.FloatEvaluator.html#android.animation.FloatEvaluator.evaluate_changed(float, java.lang.Number, java.lang.Number)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>float, Number, Number</code>)&nbsp;in&nbsp;android.animation.FloatEvaluator
+</A></nobr><br>
+<!-- Method evaluate -->
+&nbsp;&nbsp;<nobr><A HREF="android.animation.IntEvaluator.html#android.animation.IntEvaluator.evaluate_changed(float, java.lang.Integer, java.lang.Integer)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>float, Integer, Integer</code>)&nbsp;in&nbsp;android.animation.IntEvaluator
+</A></nobr><br>
+<!-- Method evaluate -->
+&nbsp;&nbsp;<nobr><A HREF="android.animation.TypeEvaluator.html#android.animation.TypeEvaluator.evaluate_changed(float, T, T)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>float, T, T</code>)&nbsp;in&nbsp;android.animation.TypeEvaluator
+</A></nobr><br>
+<!-- Method eventTypeToString -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.eventTypeToString_added(int)" class="hiddenlink" target="rightframe"><b>eventTypeToString</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Class ExpandableListView -->
+<A HREF="android.widget.ExpandableListView.html" class="hiddenlink" target="rightframe">ExpandableListView</A><br>
+<!-- Method expandActionView -->
+<nobr><A HREF="android.view.MenuItem.html#android.view.MenuItem.expandActionView_added()" class="hiddenlink" target="rightframe"><b>expandActionView</b>
+()</A></nobr><br>
+<!-- Method expandGroup -->
+<nobr><A HREF="android.widget.ExpandableListView.html#android.widget.ExpandableListView.expandGroup_added(int, boolean)" class="hiddenlink" target="rightframe"><b>expandGroup</b>
+(<code>int, boolean</code>)</A></nobr><br>
+<!-- Field externalCodeSize -->
+<nobr><A HREF="android.content.pm.PackageStats.html#android.content.pm.PackageStats.externalCodeSize" class="hiddenlink" target="rightframe">externalCodeSize</A>
+</nobr><br>
+<!-- Field EXTRA_ALLOW_REPLACE -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_ALLOW_REPLACE" class="hiddenlink" target="rightframe">EXTRA_ALLOW_REPLACE</A>
+</nobr><br>
+<!-- Field EXTRA_BUG_REPORT -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_BUG_REPORT" class="hiddenlink" target="rightframe">EXTRA_BUG_REPORT</A>
+</nobr><br>
+<!-- Field EXTRA_CONFIDENCE_SCORES -->
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_CONFIDENCE_SCORES" class="hiddenlink" target="rightframe">EXTRA_CONFIDENCE_SCORES</A>
+</nobr><br>
+<!-- Field EXTRA_INSTALLER_PACKAGE_NAME -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_INSTALLER_PACKAGE_NAME" class="hiddenlink" target="rightframe">EXTRA_INSTALLER_PACKAGE_NAME</A>
+</nobr><br>
+<!-- Field EXTRA_NETWORK_INFO -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.EXTRA_NETWORK_INFO" class="hiddenlink" target="rightframe">EXTRA_NETWORK_INFO</A>
+</nobr><br>
+<!-- Field EXTRA_NOT_UNKNOWN_SOURCE -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_NOT_UNKNOWN_SOURCE" class="hiddenlink" target="rightframe">EXTRA_NOT_UNKNOWN_SOURCE</A>
+</nobr><br>
+<!-- Field EXTRA_ORIGIN -->
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_ORIGIN" class="hiddenlink" target="rightframe">EXTRA_ORIGIN</A>
+</nobr><br>
+<!-- Field EXTRA_RETURN_RESULT -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_RETURN_RESULT" class="hiddenlink" target="rightframe">EXTRA_RETURN_RESULT</A>
+</nobr><br>
+<!-- Field EXTRA_SCO_AUDIO_PREVIOUS_STATE -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.EXTRA_SCO_AUDIO_PREVIOUS_STATE" class="hiddenlink" target="rightframe">EXTRA_SCO_AUDIO_PREVIOUS_STATE</A>
+</nobr><br>
+<!-- Field EXTRA_SHOW_FRAGMENT_SHORT_TITLE -->
+<nobr><A HREF="android.preference.PreferenceActivity.html#android.preference.PreferenceActivity.EXTRA_SHOW_FRAGMENT_SHORT_TITLE" class="hiddenlink" target="rightframe">EXTRA_SHOW_FRAGMENT_SHORT_TITLE</A>
+</nobr><br>
+<!-- Field EXTRA_SHOW_FRAGMENT_TITLE -->
+<nobr><A HREF="android.preference.PreferenceActivity.html#android.preference.PreferenceActivity.EXTRA_SHOW_FRAGMENT_TITLE" class="hiddenlink" target="rightframe">EXTRA_SHOW_FRAGMENT_TITLE</A>
+</nobr><br>
+<!-- Field EXTRA_VERIFICATION_ID -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.EXTRA_VERIFICATION_ID" class="hiddenlink" target="rightframe">EXTRA_VERIFICATION_ID</A>
+</nobr><br>
+<!-- Field EXTRA_WEB_SEARCH_PENDINGINTENT -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.EXTRA_WEB_SEARCH_PENDINGINTENT" class="hiddenlink" target="rightframe">EXTRA_WEB_SEARCH_PENDINGINTENT</A>
+</nobr><br>
+<!-- Field EXTRA_WIFI_INFO -->
+<nobr><A HREF="android.net.wifi.WifiManager.html#android.net.wifi.WifiManager.EXTRA_WIFI_INFO" class="hiddenlink" target="rightframe">EXTRA_WIFI_INFO</A>
+</nobr><br>
+<!-- Method F64_2 -->
+<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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.F64_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>F64_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method F64_3 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.F64_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>F64_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method F64_4 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.F64_4_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>F64_4</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Field fadingEdge -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.fadingEdge" class="hiddenlink" target="rightframe">fadingEdge</A>
+</nobr><br>
+<!-- Field FEATURE_WIFI_DIRECT -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_WIFI_DIRECT" class="hiddenlink" target="rightframe">FEATURE_WIFI_DIRECT</A>
+</nobr><br>
+<!-- Field FEEDBACK_ALL_MASK -->
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.FEEDBACK_ALL_MASK" class="hiddenlink" target="rightframe">FEEDBACK_ALL_MASK</A>
+</nobr><br>
+<!-- Method feedbackTypeToString -->
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.feedbackTypeToString_added(int)" class="hiddenlink" target="rightframe"><b>feedbackTypeToString</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Class Field -->
+<A HREF="java.lang.reflect.Field.html" class="hiddenlink" target="rightframe">Field</A><br>
+<!-- Class FieldPacker -->
+<A HREF="android.renderscript.FieldPacker.html" class="hiddenlink" target="rightframe">FieldPacker</A><br>
+<!-- Class FilePermission -->
+<A HREF="java.io.FilePermission.html" class="hiddenlink" target="rightframe">FilePermission</A><br>
+<!-- Field FIND_VIEWS_WITH_CONTENT_DESCRIPTION -->
+<nobr><A HREF="android.view.View.html#android.view.View.FIND_VIEWS_WITH_CONTENT_DESCRIPTION" class="hiddenlink" target="rightframe">FIND_VIEWS_WITH_CONTENT_DESCRIPTION</A>
+</nobr><br>
+<!-- Field FIND_VIEWS_WITH_TEXT -->
+<nobr><A HREF="android.view.View.html#android.view.View.FIND_VIEWS_WITH_TEXT" class="hiddenlink" target="rightframe">FIND_VIEWS_WITH_TEXT</A>
+</nobr><br>
+<!-- Method findLibrary -->
+<nobr><A HREF="dalvik.system.PathClassLoader.html#dalvik.system.PathClassLoader.findLibrary_changed(java.lang.String)" class="hiddenlink" target="rightframe">findLibrary
+(<code>String</code>)</A></nobr><br>
+<!-- Method findViewsWithText -->
+<nobr><A HREF="android.view.View.html#android.view.View.findViewsWithText_added(java.util.ArrayList<android.view.View>, java.lang.CharSequence, int)" class="hiddenlink" target="rightframe"><b>findViewsWithText</b>
+(<code>ArrayList&lt;View&gt;, CharSequence, int</code>)</A></nobr><br>
+<!-- Method fitsSystemWindows -->
+<nobr><A HREF="android.view.View.html#android.view.View.fitsSystemWindows_added()" class="hiddenlink" target="rightframe"><b>fitsSystemWindows</b>
+()</A></nobr><br>
+<!-- Field FLAG_BLUR_BEHIND -->
+<nobr><A HREF="android.view.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.FLAG_BLUR_BEHIND" class="hiddenlink" target="rightframe">FLAG_BLUR_BEHIND</A>
+</nobr><br>
+<!-- Field FLAG_STOP_WITH_TASK -->
+<nobr><A HREF="android.content.pm.ServiceInfo.html#android.content.pm.ServiceInfo.FLAG_STOP_WITH_TASK" class="hiddenlink" target="rightframe">FLAG_STOP_WITH_TASK</A>
+</nobr><br>
+<!-- Field flags -->
+<nobr><A HREF="android.content.pm.ServiceInfo.html#android.content.pm.ServiceInfo.flags" class="hiddenlink" target="rightframe">flags</A>
+</nobr><br>
+<!-- Method flagToString -->
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.flagToString_added(int)" class="hiddenlink" target="rightframe"><b>flagToString</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Class FloatEvaluator -->
+<A HREF="android.animation.FloatEvaluator.html" class="hiddenlink" target="rightframe">FloatEvaluator</A><br>
+<!-- Field FOCUS_MODE_CONTINUOUS_PICTURE -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE" class="hiddenlink" target="rightframe">FOCUS_MODE_CONTINUOUS_PICTURE</A>
+</nobr><br>
+<!-- Method forEach -->
+<nobr><A HREF="android.renderscript.Script.html#android.renderscript.Script.forEach_added(int, android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.FieldPacker)" class="hiddenlink" target="rightframe"><b>forEach</b>
+(<code>int, Allocation, Allocation, FieldPacker</code>)</A></nobr><br>
+<!-- Method forgetLoadedWallpaper -->
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.forgetLoadedWallpaper_added()" class="hiddenlink" target="rightframe"><b>forgetLoadedWallpaper</b>
+()</A></nobr><br>
+<!-- Class Fragment -->
+<A HREF="android.app.Fragment.html" class="hiddenlink" target="rightframe">Fragment</A><br>
+<!-- Class FragmentManager -->
+<A HREF="android.app.FragmentManager.html" class="hiddenlink" target="rightframe">FragmentManager</A><br>
+<!-- Class FragmentManager.BackStackEntry -->
+<A HREF="android.app.FragmentManager.BackStackEntry.html" class="hiddenlink" target="rightframe"><i>FragmentManager.BackStackEntry</i></A><br>
+<!-- Class FrameLayout -->
+<A HREF="android.widget.FrameLayout.html" class="hiddenlink" target="rightframe">FrameLayout</A><br>
+<!-- Method freeze -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.freeze_removed()" class="hiddenlink" target="rightframe"><strike>freeze</strike>
+()</A></nobr><br>
+<!-- Method fromDatagramSocket -->
+<nobr><A HREF="android.os.ParcelFileDescriptor.html#android.os.ParcelFileDescriptor.fromDatagramSocket_added(java.net.DatagramSocket)" class="hiddenlink" target="rightframe"><b>fromDatagramSocket</b>
+(<code>DatagramSocket</code>)</A></nobr><br>
+<!-- Class FullBackupDataOutput -->
+<A HREF="pkg_android.app.backup.html#FullBackupDataOutput" class="hiddenlink" target="rightframe"><b>FullBackupDataOutput</b></A><br>
+<!-- Method fullBackupFile -->
+<nobr><A HREF="android.app.backup.BackupAgent.html#android.app.backup.BackupAgent.fullBackupFile_added(java.io.File, android.app.backup.FullBackupDataOutput)" class="hiddenlink" target="rightframe"><b>fullBackupFile</b>
+(<code>File, FullBackupDataOutput</code>)</A></nobr><br>
+<!-- Field FX_SURFACE_BLUR -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.FX_SURFACE_BLUR" class="hiddenlink" target="rightframe"><strike>FX_SURFACE_BLUR</strike></A>
+</nobr><br>
+<!-- Field FX_SURFACE_DIM -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.FX_SURFACE_DIM" class="hiddenlink" target="rightframe"><strike>FX_SURFACE_DIM</strike></A>
+</nobr><br>
+<!-- Field FX_SURFACE_MASK -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.FX_SURFACE_MASK" class="hiddenlink" target="rightframe"><strike>FX_SURFACE_MASK</strike></A>
+</nobr><br>
+<!-- Field FX_SURFACE_NORMAL -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.FX_SURFACE_NORMAL" class="hiddenlink" target="rightframe"><strike>FX_SURFACE_NORMAL</strike></A>
+</nobr><br>
+<!-- Method getAbsoluteGravity -->
+<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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.Gravity.html#android.view.Gravity.getAbsoluteGravity_added(int, int)" class="hiddenlink" target="rightframe"><b>getAbsoluteGravity</b>
+(<code>int, int</code>)</A></nobr><br>
+<!-- Method getAccessibilityServiceList -->
+<nobr><A HREF="android.view.accessibility.AccessibilityManager.html#android.view.accessibility.AccessibilityManager.getAccessibilityServiceList_changed()" class="hiddenlink" target="rightframe">getAccessibilityServiceList
+()</A></nobr><br>
+<!-- Method getActionProvider -->
+<nobr><A HREF="android.view.MenuItem.html#android.view.MenuItem.getActionProvider_added()" class="hiddenlink" target="rightframe"><b>getActionProvider</b>
+()</A></nobr><br>
+<!-- Method getActiveNetworkQuotaInfo -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.getActiveNetworkQuotaInfo_added()" class="hiddenlink" target="rightframe"><b>getActiveNetworkQuotaInfo</b>
+()</A></nobr><br>
+<!-- Method getAddedCount -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getAddedCount_changed()" class="hiddenlink" target="rightframe">getAddedCount
+()</A></nobr><br>
+<!-- Method getAnnotation -->
+<i>getAnnotation</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.Constructor.html#java.lang.reflect.Constructor.getAnnotation_added(java.lang.Class<A>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;A&gt;</code>)</b>&nbsp;in&nbsp;java.lang.reflect.Constructor
+</A></nobr><br>
+<!-- Method getAnnotation -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.Field.html#java.lang.reflect.Field.getAnnotation_added(java.lang.Class<A>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;A&gt;</code>)</b>&nbsp;in&nbsp;java.lang.reflect.Field
+</A></nobr><br>
+<!-- Method getAnnotation -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.Method.html#java.lang.reflect.Method.getAnnotation_added(java.lang.Class<A>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;A&gt;</code>)</b>&nbsp;in&nbsp;java.lang.reflect.Method
+</A></nobr><br>
+<!-- Method getAuthToken -->
+<i>getAuthToken</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.accounts.AccountManager.html#android.accounts.AccountManager.getAuthToken_added(android.accounts.Account, java.lang.String, android.os.Bundle, boolean, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Account, String, Bundle, boolean, AccountManagerCallback&lt;Bundle&gt;, Handler</code>)</b>&nbsp;in&nbsp;android.accounts.AccountManager
+</A></nobr><br>
+<!-- Method getAuthToken -->
+&nbsp;&nbsp;<nobr><A HREF="android.accounts.AccountManager.html#android.accounts.AccountManager.getAuthToken_changed(android.accounts.Account, java.lang.String, boolean, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Account, String, boolean, AccountManagerCallback&lt;Bundle&gt;, Handler</code>)&nbsp;in&nbsp;android.accounts.AccountManager
+</A></nobr><br>
+<!-- Method getAutoExposureLock -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getAutoExposureLock_added()" class="hiddenlink" target="rightframe"><b>getAutoExposureLock</b>
+()</A></nobr><br>
+<!-- Method getAutoWhiteBalanceLock -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getAutoWhiteBalanceLock_added()" class="hiddenlink" target="rightframe"><b>getAutoWhiteBalanceLock</b>
+()</A></nobr><br>
+<!-- Method getBackgroundDataSetting -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.getBackgroundDataSetting_changed()" class="hiddenlink" target="rightframe">getBackgroundDataSetting
+()</A></nobr><br>
+<!-- Method getBeforeText -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getBeforeText_changed()" class="hiddenlink" target="rightframe">getBeforeText
+()</A></nobr><br>
+<!-- Method getButtonState -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.getButtonState_added()" class="hiddenlink" target="rightframe"><b>getButtonState</b>
+()</A></nobr><br>
+<!-- Method getCameraDisabled -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getCameraDisabled_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getCameraDisabled</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method getCanRetrieveWindowContent -->
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.getCanRetrieveWindowContent_added()" class="hiddenlink" target="rightframe"><b>getCanRetrieveWindowContent</b>
+()</A></nobr><br>
+<!-- Method getClassName -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getClassName_changed()" class="hiddenlink" target="rightframe">getClassName
+()</A></nobr><br>
+<!-- Method getConsiderGoneChildrenWhenMeasuring -->
+<nobr><A HREF="android.widget.FrameLayout.html#android.widget.FrameLayout.getConsiderGoneChildrenWhenMeasuring_changed()" class="hiddenlink" target="rightframe">getConsiderGoneChildrenWhenMeasuring
+()</A></nobr><br>
+<!-- Method getConstructor -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getConstructor_changed(java.lang.Class<?>...)" class="hiddenlink" target="rightframe">getConstructor
+(<code>Class&lt;?&gt;</code>)</A></nobr><br>
+<!-- Method getConstructors -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getConstructors_changed()" class="hiddenlink" target="rightframe">getConstructors
+()</A></nobr><br>
+<!-- Method getContentDescription -->
+<i>getContentDescription</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.ActionBar.Tab.html#android.app.ActionBar.Tab.getContentDescription_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.app.ActionBar.Tab
+</A></nobr><br>
+<!-- Method getContentDescription -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getContentDescription_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.view.accessibility.AccessibilityEvent
+</A></nobr><br>
+<!-- Method getCurrentItemIndex -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getCurrentItemIndex_changed()" class="hiddenlink" target="rightframe">getCurrentItemIndex
+()</A></nobr><br>
+<!-- Method getCurrVelocity -->
+<i>getCurrVelocity</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.OverScroller.html#android.widget.OverScroller.getCurrVelocity_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.widget.OverScroller
+</A></nobr><br>
+<!-- Method getCurrVelocity -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.Scroller.html#android.widget.Scroller.getCurrVelocity_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.widget.Scroller
+</A></nobr><br>
+<!-- Method getDatabaseName -->
+<nobr><A HREF="android.database.sqlite.SQLiteOpenHelper.html#android.database.sqlite.SQLiteOpenHelper.getDatabaseName_added()" class="hiddenlink" target="rightframe"><b>getDatabaseName</b>
+()</A></nobr><br>
+<!-- Method getDeclaredClasses -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredClasses_changed()" class="hiddenlink" target="rightframe">getDeclaredClasses
+()</A></nobr><br>
+<!-- Method getDeclaredConstructor -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredConstructor_changed(java.lang.Class<?>...)" class="hiddenlink" target="rightframe">getDeclaredConstructor
+(<code>Class&lt;?&gt;</code>)</A></nobr><br>
+<!-- Method getDeclaredConstructors -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredConstructors_changed()" class="hiddenlink" target="rightframe">getDeclaredConstructors
+()</A></nobr><br>
+<!-- Method getDeclaredField -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredField_changed(java.lang.String)" class="hiddenlink" target="rightframe">getDeclaredField
+(<code>String</code>)</A></nobr><br>
+<!-- Method getDeclaredFields -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredFields_changed()" class="hiddenlink" target="rightframe">getDeclaredFields
+()</A></nobr><br>
+<!-- Method getDeclaredMethod -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredMethod_changed(java.lang.String, java.lang.Class<?>...)" class="hiddenlink" target="rightframe">getDeclaredMethod
+(<code>String, Class&lt;?&gt;</code>)</A></nobr><br>
+<!-- Method getDeclaredMethods -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredMethods_changed()" class="hiddenlink" target="rightframe">getDeclaredMethods
+()</A></nobr><br>
+<!-- Method getDescription -->
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.getDescription_added()" class="hiddenlink" target="rightframe"><b>getDescription</b>
+()</A></nobr><br>
+<!-- Method getDisableDependentsState -->
+<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.getDisableDependentsState_changed()" class="hiddenlink" target="rightframe">getDisableDependentsState
+()</A></nobr><br>
+<!-- Method getDisplayName -->
+<nobr><A HREF="android.view.inputmethod.InputMethodSubtype.html#android.view.inputmethod.InputMethodSubtype.getDisplayName_added(android.content.Context, java.lang.String, android.content.pm.ApplicationInfo)" class="hiddenlink" target="rightframe"><b>getDisplayName</b>
+(<code>Context, String, ApplicationInfo</code>)</A></nobr><br>
+<!-- Method getDividerPadding -->
+<nobr><A HREF="android.widget.LinearLayout.html#android.widget.LinearLayout.getDividerPadding_added()" class="hiddenlink" target="rightframe"><b>getDividerPadding</b>
+()</A></nobr><br>
+<!-- Method getDuration -->
+<nobr><A HREF="android.view.ViewPropertyAnimator.html#android.view.ViewPropertyAnimator.getDuration_added()" class="hiddenlink" target="rightframe"><b>getDuration</b>
+()</A></nobr><br>
+<!-- Method getEGLErrorString -->
+<nobr><A HREF="android.opengl.GLUtils.html#android.opengl.GLUtils.getEGLErrorString_added(int)" class="hiddenlink" target="rightframe"><b>getEGLErrorString</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getEnabledAccessibilityServiceList -->
+<nobr><A HREF="android.view.accessibility.AccessibilityManager.html#android.view.accessibility.AccessibilityManager.getEnabledAccessibilityServiceList_added(int)" class="hiddenlink" target="rightframe"><b>getEnabledAccessibilityServiceList</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getEngines -->
+<nobr><A HREF="android.speech.tts.TextToSpeech.html#android.speech.tts.TextToSpeech.getEngines_added()" class="hiddenlink" target="rightframe"><b>getEngines</b>
+()</A></nobr><br>
+<!-- Method getField -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getField_changed(java.lang.String)" class="hiddenlink" target="rightframe">getField
+(<code>String</code>)</A></nobr><br>
+<!-- Method getFields -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getFields_changed()" class="hiddenlink" target="rightframe">getFields
+()</A></nobr><br>
+<!-- Method getFocusAreas -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getFocusAreas_added()" class="hiddenlink" target="rightframe"><b>getFocusAreas</b>
+()</A></nobr><br>
+<!-- Method getFromIndex -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getFromIndex_changed()" class="hiddenlink" target="rightframe">getFromIndex
+()</A></nobr><br>
+<!-- Method getHinting -->
+<nobr><A HREF="android.graphics.Paint.html#android.graphics.Paint.getHinting_added()" class="hiddenlink" target="rightframe"><b>getHinting</b>
+()</A></nobr><br>
+<!-- Method getId -->
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.getId_added()" class="hiddenlink" target="rightframe"><b>getId</b>
+()</A></nobr><br>
+<!-- Method getInstalledAccessibilityServiceList -->
+<nobr><A HREF="android.view.accessibility.AccessibilityManager.html#android.view.accessibility.AccessibilityManager.getInstalledAccessibilityServiceList_added()" class="hiddenlink" target="rightframe"><b>getInstalledAccessibilityServiceList</b>
+()</A></nobr><br>
+<!-- Method getItemCount -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getItemCount_changed()" class="hiddenlink" target="rightframe">getItemCount
+()</A></nobr><br>
+<!-- Method getLastInputMethodSubtype -->
+<nobr><A HREF="android.view.inputmethod.InputMethodManager.html#android.view.inputmethod.InputMethodManager.getLastInputMethodSubtype_added()" class="hiddenlink" target="rightframe"><b>getLastInputMethodSubtype</b>
+()</A></nobr><br>
+<!-- Method getMainLooper -->
+<nobr><A HREF="android.os.Looper.html#android.os.Looper.getMainLooper_changed()" class="hiddenlink" target="rightframe">getMainLooper
+()</A></nobr><br>
+<!-- Method getMaximumBitmapHeight -->
+<nobr><A HREF="android.graphics.Canvas.html#android.graphics.Canvas.getMaximumBitmapHeight_added()" class="hiddenlink" target="rightframe"><b>getMaximumBitmapHeight</b>
+()</A></nobr><br>
+<!-- Method getMaximumBitmapWidth -->
+<nobr><A HREF="android.graphics.Canvas.html#android.graphics.Canvas.getMaximumBitmapWidth_added()" class="hiddenlink" target="rightframe"><b>getMaximumBitmapWidth</b>
+()</A></nobr><br>
+<!-- Method getMaxNumDetectedFaces -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getMaxNumDetectedFaces_added()" class="hiddenlink" target="rightframe"><b>getMaxNumDetectedFaces</b>
+()</A></nobr><br>
+<!-- Method getMaxNumFocusAreas -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getMaxNumFocusAreas_added()" class="hiddenlink" target="rightframe"><b>getMaxNumFocusAreas</b>
+()</A></nobr><br>
+<!-- Method getMaxNumMeteringAreas -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getMaxNumMeteringAreas_added()" class="hiddenlink" target="rightframe"><b>getMaxNumMeteringAreas</b>
+()</A></nobr><br>
+<!-- Method getMaxTransceiveLength -->
+<i>getMaxTransceiveLength</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.IsoDep.html#android.nfc.tech.IsoDep.getMaxTransceiveLength_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.IsoDep
+</A></nobr><br>
+<!-- Method getMaxTransceiveLength -->
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.MifareClassic.html#android.nfc.tech.MifareClassic.getMaxTransceiveLength_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.MifareClassic
+</A></nobr><br>
+<!-- Method getMaxTransceiveLength -->
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.MifareUltralight.html#android.nfc.tech.MifareUltralight.getMaxTransceiveLength_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.MifareUltralight
+</A></nobr><br>
+<!-- Method getMaxTransceiveLength -->
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.NfcA.html#android.nfc.tech.NfcA.getMaxTransceiveLength_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.NfcA
+</A></nobr><br>
+<!-- Method getMaxTransceiveLength -->
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.NfcB.html#android.nfc.tech.NfcB.getMaxTransceiveLength_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.NfcB
+</A></nobr><br>
+<!-- Method getMaxTransceiveLength -->
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.NfcF.html#android.nfc.tech.NfcF.getMaxTransceiveLength_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.NfcF
+</A></nobr><br>
+<!-- Method getMaxTransceiveLength -->
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.NfcV.html#android.nfc.tech.NfcV.getMaxTransceiveLength_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.NfcV
+</A></nobr><br>
+<!-- Method getMeasureAllChildren -->
+<nobr><A HREF="android.widget.FrameLayout.html#android.widget.FrameLayout.getMeasureAllChildren_added()" class="hiddenlink" target="rightframe"><b>getMeasureAllChildren</b>
+()</A></nobr><br>
+<!-- Method getMessageName -->
+<nobr><A HREF="android.os.Handler.html#android.os.Handler.getMessageName_added(android.os.Message)" class="hiddenlink" target="rightframe"><b>getMessageName</b>
+(<code>Message</code>)</A></nobr><br>
+<!-- Method getMeteringAreas -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getMeteringAreas_added()" class="hiddenlink" target="rightframe"><b>getMeteringAreas</b>
+()</A></nobr><br>
+<!-- Method getMethod -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getMethod_changed(java.lang.String, java.lang.Class<?>...)" class="hiddenlink" target="rightframe">getMethod
+(<code>String, Class&lt;?&gt;</code>)</A></nobr><br>
+<!-- Method getMethods -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getMethods_changed()" class="hiddenlink" target="rightframe">getMethods
+()</A></nobr><br>
+<!-- Method getName -->
+<i>getName</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.FragmentManager.BackStackEntry.html#android.app.FragmentManager.BackStackEntry.getName_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.app.FragmentManager.BackStackEntry
+</A></nobr><br>
+<!-- Method getName -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.BaseObj.html#android.renderscript.BaseObj.getName_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.renderscript.BaseObj
+</A></nobr><br>
+<!-- Method getOffsetForPosition -->
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.getOffsetForPosition_added(float, float)" class="hiddenlink" target="rightframe"><b>getOffsetForPosition</b>
+(<code>float, float</code>)</A></nobr><br>
+<!-- Method getOtherLabel -->
+<nobr><A HREF="android.os.Debug.MemoryInfo.html#android.os.Debug.MemoryInfo.getOtherLabel_added(int)" class="hiddenlink" target="rightframe"><b>getOtherLabel</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getOtherPrivateDirty -->
+<nobr><A HREF="android.os.Debug.MemoryInfo.html#android.os.Debug.MemoryInfo.getOtherPrivateDirty_added(int)" class="hiddenlink" target="rightframe"><b>getOtherPrivateDirty</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getOtherPss -->
+<nobr><A HREF="android.os.Debug.MemoryInfo.html#android.os.Debug.MemoryInfo.getOtherPss_added(int)" class="hiddenlink" target="rightframe"><b>getOtherPss</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getOtherSharedDirty -->
+<nobr><A HREF="android.os.Debug.MemoryInfo.html#android.os.Debug.MemoryInfo.getOtherSharedDirty_added(int)" class="hiddenlink" target="rightframe"><b>getOtherSharedDirty</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getParcelableData -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getParcelableData_changed()" class="hiddenlink" target="rightframe">getParcelableData
+()</A></nobr><br>
+<!-- Method getPointerProperties -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.getPointerProperties_added(int, android.view.MotionEvent.PointerProperties)" class="hiddenlink" target="rightframe"><b>getPointerProperties</b>
+(<code>int, PointerProperties</code>)</A></nobr><br>
+<!-- Method getProfileConnectionState -->
+<nobr><A HREF="android.bluetooth.BluetoothAdapter.html#android.bluetooth.BluetoothAdapter.getProfileConnectionState_added(int)" class="hiddenlink" target="rightframe"><b>getProfileConnectionState</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getPss -->
+<nobr><A HREF="android.os.Debug.html#android.os.Debug.getPss_added()" class="hiddenlink" target="rightframe"><b>getPss</b>
+()</A></nobr><br>
+<!-- Method getRadioVersion -->
+<nobr><A HREF="android.os.Build.html#android.os.Build.getRadioVersion_added()" class="hiddenlink" target="rightframe"><b>getRadioVersion</b>
+()</A></nobr><br>
+<!-- Method getRecord -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getRecord_added(int)" class="hiddenlink" target="rightframe"><b>getRecord</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getRecordCount -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getRecordCount_added()" class="hiddenlink" target="rightframe"><b>getRecordCount</b>
+()</A></nobr><br>
+<!-- Method getRemovedCount -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getRemovedCount_changed()" class="hiddenlink" target="rightframe">getRemovedCount
+()</A></nobr><br>
+<!-- Method getResolveInfo -->
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.getResolveInfo_added()" class="hiddenlink" target="rightframe"><b>getResolveInfo</b>
+()</A></nobr><br>
+<!-- Method getSettingsActivity -->
+<nobr><A HREF="android.content.SyncAdapterType.html#android.content.SyncAdapterType.getSettingsActivity_added()" class="hiddenlink" target="rightframe"><b>getSettingsActivity</b>
+()</A></nobr><br>
+<!-- Method getSettingsActivityName -->
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.getSettingsActivityName_added()" class="hiddenlink" target="rightframe"><b>getSettingsActivityName</b>
+()</A></nobr><br>
+<!-- Method getStartDelay -->
+<nobr><A HREF="android.view.ViewPropertyAnimator.html#android.view.ViewPropertyAnimator.getStartDelay_added()" class="hiddenlink" target="rightframe"><b>getStartDelay</b>
+()</A></nobr><br>
+<!-- Method getSummaryOff -->
+<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.getSummaryOff_changed()" class="hiddenlink" target="rightframe">getSummaryOff
+()</A></nobr><br>
+<!-- Method getSummaryOn -->
+<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.getSummaryOn_changed()" class="hiddenlink" target="rightframe">getSummaryOn
+()</A></nobr><br>
+<!-- Method getTag -->
+<nobr><A HREF="android.view.ActionMode.html#android.view.ActionMode.getTag_added()" class="hiddenlink" target="rightframe"><b>getTag</b>
+()</A></nobr><br>
+<!-- Method getText -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getText_changed()" class="hiddenlink" target="rightframe">getText
+()</A></nobr><br>
+<!-- Method getTextSize -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getTextSize_changed()" class="hiddenlink" target="rightframe">getTextSize
+()</A></nobr><br>
+<!-- Method getTextZoom -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getTextZoom_added()" class="hiddenlink" target="rightframe"><b>getTextZoom</b>
+()</A></nobr><br>
+<!-- Method getThemedContext -->
+<nobr><A HREF="android.app.ActionBar.html#android.app.ActionBar.getThemedContext_added()" class="hiddenlink" target="rightframe"><b>getThemedContext</b>
+()</A></nobr><br>
+<!-- Method getThreadStatsTag -->
+<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.getThreadStatsTag_added()" class="hiddenlink" target="rightframe"><b>getThreadStatsTag</b>
+()</A></nobr><br>
+<!-- Method getTimeout -->
+<i>getTimeout</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.IsoDep.html#android.nfc.tech.IsoDep.getTimeout_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.IsoDep
+</A></nobr><br>
+<!-- Method getTimeout -->
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.MifareClassic.html#android.nfc.tech.MifareClassic.getTimeout_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.MifareClassic
+</A></nobr><br>
+<!-- Method getTimeout -->
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.MifareUltralight.html#android.nfc.tech.MifareUltralight.getTimeout_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.MifareUltralight
+</A></nobr><br>
+<!-- Method getTimeout -->
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.NfcA.html#android.nfc.tech.NfcA.getTimeout_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.NfcA
+</A></nobr><br>
+<!-- Method getTimeout -->
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.NfcF.html#android.nfc.tech.NfcF.getTimeout_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.NfcF
+</A></nobr><br>
+<!-- Method getTimestamp -->
+<nobr><A HREF="android.graphics.SurfaceTexture.html#android.graphics.SurfaceTexture.getTimestamp_added()" class="hiddenlink" target="rightframe"><b>getTimestamp</b>
+()</A></nobr><br>
+<!-- Method getTitleRes -->
+<nobr><A HREF="android.preference.Preference.html#android.preference.Preference.getTitleRes_added()" class="hiddenlink" target="rightframe"><b>getTitleRes</b>
+()</A></nobr><br>
+<!-- Method getToolType -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.getToolType_added(int)" class="hiddenlink" target="rightframe"><b>getToolType</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getUrl -->
+<nobr><A HREF="android.net.http.SslError.html#android.net.http.SslError.getUrl_added()" class="hiddenlink" target="rightframe"><b>getUrl</b>
+()</A></nobr><br>
+<!-- Class GLUtils -->
+<A HREF="android.opengl.GLUtils.html" class="hiddenlink" target="rightframe">GLUtils</A><br>
+<!-- Field GPU -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.GPU" class="hiddenlink" target="rightframe"><strike>GPU</strike></A>
+</nobr><br>
+<!-- Class Gravity -->
+<A HREF="android.view.Gravity.html" class="hiddenlink" target="rightframe">Gravity</A><br>
+<!-- Class GridLayout -->
+<A HREF="pkg_android.widget.html#GridLayout" class="hiddenlink" target="rightframe"><b>GridLayout</b></A><br>
+<!-- Class GridLayout.Alignment -->
+<A HREF="pkg_android.widget.html#GridLayout.Alignment" class="hiddenlink" target="rightframe"><b>GridLayout.Alignment</b></A><br>
+<!-- Class GridLayout.LayoutParams -->
+<A HREF="pkg_android.widget.html#GridLayout.LayoutParams" class="hiddenlink" target="rightframe"><b>GridLayout.LayoutParams</b></A><br>
+<!-- Class GridLayout.Spec -->
+<A HREF="pkg_android.widget.html#GridLayout.Spec" class="hiddenlink" target="rightframe"><b>GridLayout.Spec</b></A><br>
+<!-- Class Handler -->
+<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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>Handler</i><br>
+&nbsp;&nbsp;<A HREF="android.os.Handler.html" class="hiddenlink" target="rightframe">android.os</A><br>
+<!-- Class Handler -->
+&nbsp;&nbsp;<A HREF="java.util.logging.Handler.html" class="hiddenlink" target="rightframe">java.util.logging</A><br>
+<!-- Field HARDWARE -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.HARDWARE" class="hiddenlink" target="rightframe"><strike>HARDWARE</strike></A>
+</nobr><br>
+<!-- Method hashCode -->
+<i>hashCode</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.io.FilePermission.html#java.io.FilePermission.hashCode_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.io.FilePermission
+</A></nobr><br>
+<!-- Method hashCode -->
+&nbsp;&nbsp;<nobr><A HREF="java.net.SocketPermission.html#java.net.SocketPermission.hashCode_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.net.SocketPermission
+</A></nobr><br>
+<!-- Method hashCode -->
+&nbsp;&nbsp;<nobr><A HREF="java.security.AllPermission.html#java.security.AllPermission.hashCode_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.security.AllPermission
+</A></nobr><br>
+<!-- Method hashCode -->
+&nbsp;&nbsp;<nobr><A HREF="java.security.BasicPermission.html#java.security.BasicPermission.hashCode_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.security.BasicPermission
+</A></nobr><br>
+<!-- Method hashCode -->
+&nbsp;&nbsp;<nobr><A HREF="java.security.Permission.html#java.security.Permission.hashCode_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.security.Permission
+</A></nobr><br>
+<!-- Method hashCode -->
+&nbsp;&nbsp;<nobr><A HREF="java.security.UnresolvedPermission.html#java.security.UnresolvedPermission.hashCode_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.security.UnresolvedPermission
+</A></nobr><br>
+<!-- Method hashCode -->
+&nbsp;&nbsp;<nobr><A HREF="javax.security.auth.PrivateCredentialPermission.html#javax.security.auth.PrivateCredentialPermission.hashCode_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;javax.security.auth.PrivateCredentialPermission
+</A></nobr><br>
+<!-- Method hasPermanentMenuKey -->
+<nobr><A HREF="android.view.ViewConfiguration.html#android.view.ViewConfiguration.hasPermanentMenuKey_added()" class="hiddenlink" target="rightframe"><b>hasPermanentMenuKey</b>
+()</A></nobr><br>
+<!-- Field HEALTH -->
+<nobr><A HREF="android.bluetooth.BluetoothProfile.html#android.bluetooth.BluetoothProfile.HEALTH" class="hiddenlink" target="rightframe">HEALTH</A>
+</nobr><br>
+<!-- Field HIDDEN -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.HIDDEN" class="hiddenlink" target="rightframe"><strike>HIDDEN</strike></A>
+</nobr><br>
+<!-- Method hide -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.hide_removed()" class="hiddenlink" target="rightframe"><strike>hide</strike>
+()</A></nobr><br>
+<!-- Field HINTING_OFF -->
+<nobr><A HREF="android.graphics.Paint.html#android.graphics.Paint.HINTING_OFF" class="hiddenlink" target="rightframe">HINTING_OFF</A>
+</nobr><br>
+<!-- Field HINTING_ON -->
+<nobr><A HREF="android.graphics.Paint.html#android.graphics.Paint.HINTING_ON" class="hiddenlink" target="rightframe">HINTING_ON</A>
+</nobr><br>
+<!-- Field holo_blue_bright -->
+<nobr><A HREF="android.R.color.html#android.R.color.holo_blue_bright" class="hiddenlink" target="rightframe">holo_blue_bright</A>
+</nobr><br>
+<!-- Field holo_blue_dark -->
+<nobr><A HREF="android.R.color.html#android.R.color.holo_blue_dark" class="hiddenlink" target="rightframe">holo_blue_dark</A>
+</nobr><br>
+<!-- Field holo_blue_light -->
+<nobr><A HREF="android.R.color.html#android.R.color.holo_blue_light" class="hiddenlink" target="rightframe">holo_blue_light</A>
+</nobr><br>
+<!-- Field holo_green_dark -->
+<nobr><A HREF="android.R.color.html#android.R.color.holo_green_dark" class="hiddenlink" target="rightframe">holo_green_dark</A>
+</nobr><br>
+<!-- Field holo_green_light -->
+<nobr><A HREF="android.R.color.html#android.R.color.holo_green_light" class="hiddenlink" target="rightframe">holo_green_light</A>
+</nobr><br>
+<!-- Field holo_orange_dark -->
+<nobr><A HREF="android.R.color.html#android.R.color.holo_orange_dark" class="hiddenlink" target="rightframe">holo_orange_dark</A>
+</nobr><br>
+<!-- Field holo_orange_light -->
+<nobr><A HREF="android.R.color.html#android.R.color.holo_orange_light" class="hiddenlink" target="rightframe">holo_orange_light</A>
+</nobr><br>
+<!-- Field holo_purple -->
+<nobr><A HREF="android.R.color.html#android.R.color.holo_purple" class="hiddenlink" target="rightframe">holo_purple</A>
+</nobr><br>
+<!-- Field holo_red_dark -->
+<nobr><A HREF="android.R.color.html#android.R.color.holo_red_dark" class="hiddenlink" target="rightframe">holo_red_dark</A>
+</nobr><br>
+<!-- Field holo_red_light -->
+<nobr><A HREF="android.R.color.html#android.R.color.holo_red_light" class="hiddenlink" target="rightframe">holo_red_light</A>
+</nobr><br>
+<!-- Method I16_2 -->
+<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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I16_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I16_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method I16_3 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I16_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I16_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method I16_4 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I16_4_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I16_4</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method I32_2 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I32_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I32_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method I32_3 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I32_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I32_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method I32_4 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I32_4_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I32_4</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method I64_2 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I64_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I64_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method I64_3 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I64_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I64_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method I64_4 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I64_4_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I64_4</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method I8_2 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I8_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I8_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method I8_3 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I8_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I8_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method I8_4 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I8_4_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I8_4</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Field ICE_CREAM_SANDWICH -->
+<nobr><A HREF="android.os.Build.VERSION_CODES.html#android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH" class="hiddenlink" target="rightframe">ICE_CREAM_SANDWICH</A>
+</nobr><br>
+<!-- Field IMAGE_ANCHOR_TYPE -->
+<nobr><A HREF="android.webkit.WebView.HitTestResult.html#android.webkit.WebView.HitTestResult.IMAGE_ANCHOR_TYPE" class="hiddenlink" target="rightframe">IMAGE_ANCHOR_TYPE</A>
+</nobr><br>
+<!-- Method incrementOperationCount -->
+<i>incrementOperationCount</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.incrementOperationCount_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.net.TrafficStats
+</A></nobr><br>
+<!-- Method incrementOperationCount -->
+&nbsp;&nbsp;<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.incrementOperationCount_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.net.TrafficStats
+</A></nobr><br>
+<!-- Method inflate -->
+<nobr><A HREF="android.widget.PopupMenu.html#android.widget.PopupMenu.inflate_added(int)" class="hiddenlink" target="rightframe"><b>inflate</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Class InputDevice -->
+<A HREF="android.view.InputDevice.html" class="hiddenlink" target="rightframe">InputDevice</A><br>
+<!-- Class InputMethodManager -->
+<A HREF="android.view.inputmethod.InputMethodManager.html" class="hiddenlink" target="rightframe">InputMethodManager</A><br>
+<!-- Class InputMethodService -->
+<A HREF="android.inputmethodservice.InputMethodService.html" class="hiddenlink" target="rightframe">InputMethodService</A><br>
+<!-- Class InputMethodService.InputMethodSessionImpl -->
+<A HREF="android.inputmethodservice.InputMethodService.InputMethodSessionImpl.html" class="hiddenlink" target="rightframe">InputMethodService.InputMethodSessionImpl</A><br>
+<!-- Class InputMethodSession -->
+<A HREF="android.view.inputmethod.InputMethodSession.html" class="hiddenlink" target="rightframe"><i>InputMethodSession</i></A><br>
+<!-- Class InputMethodSubtype -->
+<i>InputMethodSubtype</i><br>
+&nbsp;&nbsp;<A HREF="android.view.inputmethod.InputMethodSubtype.html" class="hiddenlink" target="rightframe">android.view.inputmethod</A><br>
+<!-- Constructor InputMethodSubtype -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputMethodSubtype.html#android.view.inputmethod.InputMethodSubtype.ctor_added(int, int, java.lang.String, java.lang.String, java.lang.String, boolean, boolean)" class="hiddenlink" target="rightframe"><b>InputMethodSubtype</b>
+(<code>int, int, String, String, String, boolean, boolean</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class Int2 -->
+<i>Int2</i><br>
+&nbsp;&nbsp;<A HREF="android.renderscript.Int2.html" class="hiddenlink" target="rightframe">android.renderscript</A><br>
+<!-- Constructor Int2 -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.Int2.html#android.renderscript.Int2.ctor_added(int, int)" class="hiddenlink" target="rightframe"><b>Int2</b>
+(<code>int, int</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class Int3 -->
+<i>Int3</i><br>
+&nbsp;&nbsp;<A HREF="android.renderscript.Int3.html" class="hiddenlink" target="rightframe">android.renderscript</A><br>
+<!-- Constructor Int3 -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.Int3.html#android.renderscript.Int3.ctor_added(int, int, int)" class="hiddenlink" target="rightframe"><b>Int3</b>
+(<code>int, int, int</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class Int4 -->
+<i>Int4</i><br>
+&nbsp;&nbsp;<A HREF="android.renderscript.Int4.html" class="hiddenlink" target="rightframe">android.renderscript</A><br>
+<!-- Constructor Int4 -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.Int4.html#android.renderscript.Int4.ctor_added(int, int, int, int)" class="hiddenlink" target="rightframe"><b>Int4</b>
+(<code>int, int, int, int</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class Intent -->
+<A HREF="android.content.Intent.html" class="hiddenlink" target="rightframe">Intent</A><br>
+<!-- Field INTENT_ACTION_TTS_SERVICE -->
+<nobr><A HREF="android.speech.tts.TextToSpeech.Engine.html#android.speech.tts.TextToSpeech.Engine.INTENT_ACTION_TTS_SERVICE" class="hiddenlink" target="rightframe">INTENT_ACTION_TTS_SERVICE</A>
+</nobr><br>
+<!-- Class IntentSender -->
+<A HREF="android.content.IntentSender.html" class="hiddenlink" target="rightframe">IntentSender</A><br>
+<!-- Class IntEvaluator -->
+<A HREF="android.animation.IntEvaluator.html" class="hiddenlink" target="rightframe">IntEvaluator</A><br>
+<!-- Field INVALID_POINTER_ID -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.INVALID_POINTER_ID" class="hiddenlink" target="rightframe">INVALID_POINTER_ID</A>
+</nobr><br>
+<!-- Method invalidateOptionsMenu -->
+<nobr><A HREF="android.app.FragmentManager.html#android.app.FragmentManager.invalidateOptionsMenu_added()" class="hiddenlink" target="rightframe"><b>invalidateOptionsMenu</b>
+()</A></nobr><br>
+<!-- Field INVITE_CONTACT -->
+<nobr><A HREF="android.provider.ContactsContract.Intents.html#android.provider.ContactsContract.Intents.INVITE_CONTACT" class="hiddenlink" target="rightframe">INVITE_CONTACT</A>
+</nobr><br>
+<!-- Field IS_READ -->
+<nobr><A HREF="android.provider.CallLog.Calls.html#android.provider.CallLog.Calls.IS_READ" class="hiddenlink" target="rightframe">IS_READ</A>
+</nobr><br>
+<!-- Field IS_USER_PROFILE -->
+<nobr><A HREF="android.provider.ContactsContract.ContactsColumns.html#android.provider.ContactsContract.ContactsColumns.IS_USER_PROFILE" class="hiddenlink" target="rightframe">IS_USER_PROFILE</A>
+</nobr><br>
+<!-- Method isActionViewExpanded -->
+<nobr><A HREF="android.view.MenuItem.html#android.view.MenuItem.isActionViewExpanded_added()" class="hiddenlink" target="rightframe"><b>isActionViewExpanded</b>
+()</A></nobr><br>
+<!-- Method isAutoExposureLockSupported -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.isAutoExposureLockSupported_added()" class="hiddenlink" target="rightframe"><b>isAutoExposureLockSupported</b>
+()</A></nobr><br>
+<!-- Method isAutoWhiteBalanceLockSupported -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.isAutoWhiteBalanceLockSupported_added()" class="hiddenlink" target="rightframe"><b>isAutoWhiteBalanceLockSupported</b>
+()</A></nobr><br>
+<!-- Method isAuxiliary -->
+<i>isAuxiliary</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputMethodSubtype.html#android.view.inputmethod.InputMethodSubtype.isAuxiliary_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.inputmethod.InputMethodSubtype
+</A></nobr><br>
+<!-- Field isAuxiliary -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.isAuxiliary" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Method isChecked -->
+<i>isChecked</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.isChecked_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.preference.CheckBoxPreference
+</A></nobr><br>
+<!-- Method isChecked -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.isChecked_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.view.accessibility.AccessibilityEvent
+</A></nobr><br>
+<!-- Method isCompatible -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.isCompatible_added(android.renderscript.Element)" class="hiddenlink" target="rightframe"><b>isCompatible</b>
+(<code>Element</code>)</A></nobr><br>
+<!-- Method isConnected -->
+<nobr><A HREF="android.bluetooth.BluetoothSocket.html#android.bluetooth.BluetoothSocket.isConnected_added()" class="hiddenlink" target="rightframe"><b>isConnected</b>
+()</A></nobr><br>
+<!-- Method isEnabled -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.isEnabled_changed()" class="hiddenlink" target="rightframe">isEnabled
+()</A></nobr><br>
+<!-- Method isFullScreen -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.isFullScreen_changed()" class="hiddenlink" target="rightframe">isFullScreen
+()</A></nobr><br>
+<!-- Method isHovered -->
+<nobr><A HREF="android.view.View.html#android.view.View.isHovered_added()" class="hiddenlink" target="rightframe"><b>isHovered</b>
+()</A></nobr><br>
+<!-- Class IsoDep -->
+<A HREF="android.nfc.tech.IsoDep.html" class="hiddenlink" target="rightframe">IsoDep</A><br>
+<!-- Method isPassword -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.isPassword_changed()" class="hiddenlink" target="rightframe">isPassword
+()</A></nobr><br>
+<!-- Method isProfileId -->
+<nobr><A HREF="android.provider.ContactsContract.html#android.provider.ContactsContract.isProfileId_added(long)" class="hiddenlink" target="rightframe"><b>isProfileId</b>
+(<code>long</code>)</A></nobr><br>
+<!-- Method isRtlCharAt -->
+<nobr><A HREF="android.text.Layout.html#android.text.Layout.isRtlCharAt_added(int)" class="hiddenlink" target="rightframe"><b>isRtlCharAt</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method isStarted -->
+<nobr><A HREF="android.animation.Animator.html#android.animation.Animator.isStarted_added()" class="hiddenlink" target="rightframe"><b>isStarted</b>
+()</A></nobr><br>
+<!-- Method isSuggestionsEnabled -->
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.isSuggestionsEnabled_added()" class="hiddenlink" target="rightframe"><b>isSuggestionsEnabled</b>
+()</A></nobr><br>
+<!-- Method isTouchExplorationEnabled -->
+<nobr><A HREF="android.view.accessibility.AccessibilityManager.html#android.view.accessibility.AccessibilityManager.isTouchExplorationEnabled_added()" class="hiddenlink" target="rightframe"><b>isTouchExplorationEnabled</b>
+()</A></nobr><br>
+<!-- Method isVideoSnapshotSupported -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.isVideoSnapshotSupported_added()" class="hiddenlink" target="rightframe"><b>isVideoSnapshotSupported</b>
+()</A></nobr><br>
+<!-- Method isWiredHeadsetOn -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.isWiredHeadsetOn_changed()" class="hiddenlink" target="rightframe">isWiredHeadsetOn
+()</A></nobr><br>
+<!-- Package java.io -->
+<A NAME="J"></A>
+<A HREF="pkg_java.io.html" class="hiddenlink" target="rightframe">java.io</A><br>
+<!-- Package java.lang -->
+<A HREF="pkg_java.lang.html" class="hiddenlink" target="rightframe">java.lang</A><br>
+<!-- Package java.lang.ref -->
+<A HREF="pkg_java.lang.ref.html" class="hiddenlink" target="rightframe">java.lang.ref</A><br>
+<!-- Package java.lang.reflect -->
+<A HREF="pkg_java.lang.reflect.html" class="hiddenlink" target="rightframe">java.lang.reflect</A><br>
+<!-- Package java.net -->
+<A HREF="pkg_java.net.html" class="hiddenlink" target="rightframe">java.net</A><br>
+<!-- Package java.security -->
+<A HREF="pkg_java.security.html" class="hiddenlink" target="rightframe">java.security</A><br>
+<!-- Package java.util.logging -->
+<A HREF="pkg_java.util.logging.html" class="hiddenlink" target="rightframe">java.util.logging</A><br>
+<!-- Package javax.security.auth -->
+<A HREF="pkg_javax.security.auth.html" class="hiddenlink" target="rightframe">javax.security.auth</A><br>
+<!-- Field KEY_ANDROID_PACKAGE_NAME -->
+<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="#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.KEY_ANDROID_PACKAGE_NAME" class="hiddenlink" target="rightframe">KEY_ANDROID_PACKAGE_NAME</A>
+</nobr><br>
+<!-- Field KEYCODE_3D_MODE -->
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_3D_MODE" class="hiddenlink" target="rightframe">KEYCODE_3D_MODE</A>
+</nobr><br>
+<!-- Field KEYCODE_LANGUAGE_SWITCH -->
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_LANGUAGE_SWITCH" class="hiddenlink" target="rightframe">KEYCODE_LANGUAGE_SWITCH</A>
+</nobr><br>
+<!-- Field KEYCODE_MANNER_MODE -->
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_MANNER_MODE" class="hiddenlink" target="rightframe">KEYCODE_MANNER_MODE</A>
+</nobr><br>
+<!-- Class KeyEvent -->
+<A HREF="android.view.KeyEvent.html" class="hiddenlink" target="rightframe">KeyEvent</A><br>
+<!-- Class Layout -->
+<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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.text.Layout.html" class="hiddenlink" target="rightframe">Layout</A><br>
+<!-- Field layout_columnSpan -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.layout_columnSpan" class="hiddenlink" target="rightframe">layout_columnSpan</A>
+</nobr><br>
+<!-- Field layout_row -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.layout_row" class="hiddenlink" target="rightframe">layout_row</A>
+</nobr><br>
+<!-- Field layout_rowSpan -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.layout_rowSpan" class="hiddenlink" target="rightframe">layout_rowSpan</A>
+</nobr><br>
+<!-- Class LayoutTransition -->
+<A HREF="android.animation.LayoutTransition.html" class="hiddenlink" target="rightframe">LayoutTransition</A><br>
+<!-- Class LinearLayout -->
+<A HREF="android.widget.LinearLayout.html" class="hiddenlink" target="rightframe">LinearLayout</A><br>
+<!-- Field listPreferredItemHeightLarge -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.listPreferredItemHeightLarge" class="hiddenlink" target="rightframe">listPreferredItemHeightLarge</A>
+</nobr><br>
+<!-- Field listPreferredItemHeightSmall -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.listPreferredItemHeightSmall" class="hiddenlink" target="rightframe">listPreferredItemHeightSmall</A>
+</nobr><br>
+<!-- Field listPreferredItemPaddingLeft -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.listPreferredItemPaddingLeft" class="hiddenlink" target="rightframe">listPreferredItemPaddingLeft</A>
+</nobr><br>
+<!-- Field listPreferredItemPaddingRight -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.listPreferredItemPaddingRight" class="hiddenlink" target="rightframe">listPreferredItemPaddingRight</A>
+</nobr><br>
+<!-- Class LiveFolders -->
+<A HREF="android.provider.LiveFolders.html" class="hiddenlink" target="rightframe">LiveFolders</A><br>
+<!-- Class Long2 -->
+<i>Long2</i><br>
+&nbsp;&nbsp;<A HREF="android.renderscript.Long2.html" class="hiddenlink" target="rightframe">android.renderscript</A><br>
+<!-- Constructor Long2 -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.Long2.html#android.renderscript.Long2.ctor_added(long, long)" class="hiddenlink" target="rightframe"><b>Long2</b>
+(<code>long, long</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class Long3 -->
+<i>Long3</i><br>
+&nbsp;&nbsp;<A HREF="android.renderscript.Long3.html" class="hiddenlink" target="rightframe">android.renderscript</A><br>
+<!-- Constructor Long3 -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.Long3.html#android.renderscript.Long3.ctor_added(long, long, long)" class="hiddenlink" target="rightframe"><b>Long3</b>
+(<code>long, long, long</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class Long4 -->
+<i>Long4</i><br>
+&nbsp;&nbsp;<A HREF="android.renderscript.Long4.html" class="hiddenlink" target="rightframe">android.renderscript</A><br>
+<!-- Constructor Long4 -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.Long4.html#android.renderscript.Long4.ctor_added(long, long, long, long)" class="hiddenlink" target="rightframe"><b>Long4</b>
+(<code>long, long, long, long</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Method loop -->
+<nobr><A HREF="android.os.Looper.html#android.os.Looper.loop_changed()" class="hiddenlink" target="rightframe">loop
+()</A></nobr><br>
+<!-- Class Looper -->
+<A HREF="android.os.Looper.html" class="hiddenlink" target="rightframe">Looper</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="#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="#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 Matrix -->
+<A HREF="android.opengl.Matrix.html" class="hiddenlink" target="rightframe">Matrix</A><br>
+<!-- Field MAX_TEXT_LENGTH -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.MAX_TEXT_LENGTH" class="hiddenlink" target="rightframe">MAX_TEXT_LENGTH</A>
+</nobr><br>
+<!-- Class MediaMetadataRetriever -->
+<A HREF="android.media.MediaMetadataRetriever.html" class="hiddenlink" target="rightframe">MediaMetadataRetriever</A><br>
+<!-- Class MediaPlayer -->
+<A HREF="android.media.MediaPlayer.html" class="hiddenlink" target="rightframe">MediaPlayer</A><br>
+<!-- Class MediaRecorder -->
+<A HREF="android.media.MediaRecorder.html" class="hiddenlink" target="rightframe">MediaRecorder</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 MenuItem -->
+<A HREF="android.view.MenuItem.html" class="hiddenlink" target="rightframe"><i>MenuItem</i></A><br>
+<!-- Class MenuItem.OnActionExpandListener -->
+<A HREF="pkg_android.view.html#MenuItem.OnActionExpandListener" class="hiddenlink" target="rightframe"><b><i>MenuItem.OnActionExpandListener</i></b></A><br>
+<!-- Field METADATA_KEY_BITRATE -->
+<nobr><A HREF="android.media.MediaMetadataRetriever.html#android.media.MediaMetadataRetriever.METADATA_KEY_BITRATE" class="hiddenlink" target="rightframe">METADATA_KEY_BITRATE</A>
+</nobr><br>
+<!-- Field METADATA_KEY_HAS_AUDIO -->
+<nobr><A HREF="android.media.MediaMetadataRetriever.html#android.media.MediaMetadataRetriever.METADATA_KEY_HAS_AUDIO" class="hiddenlink" target="rightframe">METADATA_KEY_HAS_AUDIO</A>
+</nobr><br>
+<!-- Field METADATA_KEY_HAS_VIDEO -->
+<nobr><A HREF="android.media.MediaMetadataRetriever.html#android.media.MediaMetadataRetriever.METADATA_KEY_HAS_VIDEO" class="hiddenlink" target="rightframe">METADATA_KEY_HAS_VIDEO</A>
+</nobr><br>
+<!-- Field METADATA_KEY_VIDEO_HEIGHT -->
+<nobr><A HREF="android.media.MediaMetadataRetriever.html#android.media.MediaMetadataRetriever.METADATA_KEY_VIDEO_HEIGHT" class="hiddenlink" target="rightframe">METADATA_KEY_VIDEO_HEIGHT</A>
+</nobr><br>
+<!-- Field METADATA_KEY_VIDEO_WIDTH -->
+<nobr><A HREF="android.media.MediaMetadataRetriever.html#android.media.MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH" class="hiddenlink" target="rightframe">METADATA_KEY_VIDEO_WIDTH</A>
+</nobr><br>
+<!-- Class Method -->
+<A HREF="java.lang.reflect.Method.html" class="hiddenlink" target="rightframe">Method</A><br>
+<!-- Class MifareClassic -->
+<A HREF="android.nfc.tech.MifareClassic.html" class="hiddenlink" target="rightframe">MifareClassic</A><br>
+<!-- Class MifareUltralight -->
+<A HREF="android.nfc.tech.MifareUltralight.html" class="hiddenlink" target="rightframe">MifareUltralight</A><br>
+<!-- Field minResizeHeight -->
+<i>minResizeHeight</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.minResizeHeight" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field minResizeHeight -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.appwidget.AppWidgetProviderInfo.html#android.appwidget.AppWidgetProviderInfo.minResizeHeight" class="hiddenlink" target="rightframe">android.appwidget.AppWidgetProviderInfo</A>
+</nobr><br>
+<!-- Field minResizeWidth -->
+<i>minResizeWidth</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.minResizeWidth" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field minResizeWidth -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.appwidget.AppWidgetProviderInfo.html#android.appwidget.AppWidgetProviderInfo.minResizeWidth" class="hiddenlink" target="rightframe">android.appwidget.AppWidgetProviderInfo</A>
+</nobr><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 MotionEvent.PointerProperties -->
+<A HREF="pkg_android.view.html#MotionEvent.PointerProperties" class="hiddenlink" target="rightframe"><b>MotionEvent.PointerProperties</b></A><br>
+<!-- Method myLooper -->
+<nobr><A HREF="android.os.Looper.html#android.os.Looper.myLooper_changed()" class="hiddenlink" target="rightframe">myLooper
+()</A></nobr><br>
+<!-- Method myQueue -->
+<nobr><A HREF="android.os.Looper.html#android.os.Looper.myQueue_changed()" class="hiddenlink" target="rightframe">myQueue
+()</A></nobr><br>
+<!-- Class NdefRecord -->
+<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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.nfc.NdefRecord.html" class="hiddenlink" target="rightframe">NdefRecord</A><br>
+<!-- Class NetworkQuotaInfo -->
+<A HREF="pkg_android.net.html#NetworkQuotaInfo" class="hiddenlink" target="rightframe"><b>NetworkQuotaInfo</b></A><br>
+<!-- Method newChooseAccountIntent -->
+<nobr><A HREF="android.accounts.AccountManager.html#android.accounts.AccountManager.newChooseAccountIntent_added(android.accounts.Account, java.util.ArrayList<android.accounts.Account>, java.lang.String[], boolean, java.lang.String, java.lang.String, java.lang.String[], android.os.Bundle)" class="hiddenlink" target="rightframe"><b>newChooseAccountIntent</b>
+(<code>Account, ArrayList&lt;Account&gt;, String[], boolean, String, String, String[], Bundle</code>)</A></nobr><br>
+<!-- Class NfcA -->
+<A HREF="android.nfc.tech.NfcA.html" class="hiddenlink" target="rightframe">NfcA</A><br>
+<!-- Class NfcAdapter -->
+<A HREF="android.nfc.NfcAdapter.html" class="hiddenlink" target="rightframe">NfcAdapter</A><br>
+<!-- Class NfcAdapter.CreateNdefMessageCallback -->
+<A HREF="pkg_android.nfc.html#NfcAdapter.CreateNdefMessageCallback" class="hiddenlink" target="rightframe"><b><i>NfcAdapter.CreateNdefMessageCallback</i></b></A><br>
+<!-- Class NfcAdapter.OnNdefPushCompleteCallback -->
+<A HREF="pkg_android.nfc.html#NfcAdapter.OnNdefPushCompleteCallback" class="hiddenlink" target="rightframe"><b><i>NfcAdapter.OnNdefPushCompleteCallback</i></b></A><br>
+<!-- Class NfcB -->
+<A HREF="android.nfc.tech.NfcB.html" class="hiddenlink" target="rightframe">NfcB</A><br>
+<!-- Class NfcEvent -->
+<A HREF="pkg_android.nfc.html#NfcEvent" class="hiddenlink" target="rightframe"><b>NfcEvent</b></A><br>
+<!-- Class NfcF -->
+<A HREF="android.nfc.tech.NfcF.html" class="hiddenlink" target="rightframe">NfcF</A><br>
+<!-- Class NfcV -->
+<A HREF="android.nfc.tech.NfcV.html" class="hiddenlink" target="rightframe">NfcV</A><br>
+<!-- Field NON_PREMULTIPLIED -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.NON_PREMULTIPLIED" class="hiddenlink" target="rightframe"><strike>NON_PREMULTIPLIED</strike></A>
+</nobr><br>
+<!-- Class NoSuchPropertyException -->
+<A HREF="pkg_android.util.html#NoSuchPropertyException" class="hiddenlink" target="rightframe"><b>NoSuchPropertyException</b></A><br>
+<!-- Class Notification.Builder -->
+<A HREF="android.app.Notification.Builder.html" class="hiddenlink" target="rightframe">Notification.Builder</A><br>
+<!-- Field notificationTimeout -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.notificationTimeout" class="hiddenlink" target="rightframe">notificationTimeout</A>
+</nobr><br>
+<!-- Class ObjectAnimator -->
+<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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.animation.ObjectAnimator.html" class="hiddenlink" target="rightframe">ObjectAnimator</A><br>
+<!-- Class ObjectInputStream -->
+<A HREF="java.io.ObjectInputStream.html" class="hiddenlink" target="rightframe">ObjectInputStream</A><br>
+<!-- Class ObjectOutputStream -->
+<A HREF="java.io.ObjectOutputStream.html" class="hiddenlink" target="rightframe">ObjectOutputStream</A><br>
+<!-- Method obtain -->
+<i>obtain</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.obtain_removed(long, long, int, int, int[], android.view.MotionEvent.PointerCoords[], int, float, float, int, int, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>long, long, int, int, int[], PointerCoords[], int, float, float, int, int, int, int</code>)</strike>&nbsp;in&nbsp;android.view.MotionEvent
+</A></nobr><br>
+<!-- Method obtain -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.obtain_added(long, long, int, int, android.view.MotionEvent.PointerProperties[], android.view.MotionEvent.PointerCoords[], int, int, float, float, int, int, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long, int, int, PointerProperties[], PointerCoords[], int, int, float, float, int, int, int, int</code>)</b>&nbsp;in&nbsp;android.view.MotionEvent
+</A></nobr><br>
+<!-- Method obtain -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.obtain_added(long, long, int, int, int[], android.view.MotionEvent.PointerCoords[], int, float, float, int, int, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long, int, int, int[], PointerCoords[], int, float, float, int, int, int, int</code>)</b>&nbsp;in&nbsp;android.view.MotionEvent
+</A></nobr><br>
+<!-- Method obtain -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.obtain_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AccessibilityEvent</code>)</b>&nbsp;in&nbsp;android.view.accessibility.AccessibilityEvent
+</A></nobr><br>
+<!-- Method ofFloat -->
+<i>ofFloat</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.ObjectAnimator.html#android.animation.ObjectAnimator.ofFloat_added(T, android.util.Property<T, java.lang.Float>, float...)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, Property&lt;T, Float&gt;, </code>)</b>&nbsp;in&nbsp;android.animation.ObjectAnimator
+</A></nobr><br>
+<!-- Method ofFloat -->
+&nbsp;&nbsp;<nobr><A HREF="android.animation.PropertyValuesHolder.html#android.animation.PropertyValuesHolder.ofFloat_added(android.util.Property<?, java.lang.Float>, float...)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Property&lt;?, Float&gt;, </code>)</b>&nbsp;in&nbsp;android.animation.PropertyValuesHolder
+</A></nobr><br>
+<!-- Method ofInt -->
+<i>ofInt</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.ObjectAnimator.html#android.animation.ObjectAnimator.ofInt_added(T, android.util.Property<T, java.lang.Integer>, int...)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, Property&lt;T, Integer&gt;, </code>)</b>&nbsp;in&nbsp;android.animation.ObjectAnimator
+</A></nobr><br>
+<!-- Method ofInt -->
+&nbsp;&nbsp;<nobr><A HREF="android.animation.PropertyValuesHolder.html#android.animation.PropertyValuesHolder.ofInt_added(android.util.Property<?, java.lang.Integer>, int...)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Property&lt;?, Integer&gt;, </code>)</b>&nbsp;in&nbsp;android.animation.PropertyValuesHolder
+</A></nobr><br>
+<!-- Method ofKeyframe -->
+<nobr><A HREF="android.animation.PropertyValuesHolder.html#android.animation.PropertyValuesHolder.ofKeyframe_added(android.util.Property, android.animation.Keyframe...)" class="hiddenlink" target="rightframe"><b>ofKeyframe</b>
+(<code>Property, </code>)</A></nobr><br>
+<!-- Method ofObject -->
+<i>ofObject</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.ObjectAnimator.html#android.animation.ObjectAnimator.ofObject_added(T, android.util.Property<T, V>, android.animation.TypeEvaluator<V>, V...)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, Property&lt;T, V&gt;, TypeEvaluator&lt;V&gt;, </code>)</b>&nbsp;in&nbsp;android.animation.ObjectAnimator
+</A></nobr><br>
+<!-- Method ofObject -->
+&nbsp;&nbsp;<nobr><A HREF="android.animation.PropertyValuesHolder.html#android.animation.PropertyValuesHolder.ofObject_added(android.util.Property, android.animation.TypeEvaluator<V>, V...)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Property, TypeEvaluator&lt;V&gt;, </code>)</b>&nbsp;in&nbsp;android.animation.PropertyValuesHolder
+</A></nobr><br>
+<!-- Method onActionViewCollapsed -->
+<nobr><A HREF="android.widget.SearchView.html#android.widget.SearchView.onActionViewCollapsed_added()" class="hiddenlink" target="rightframe"><b>onActionViewCollapsed</b>
+()</A></nobr><br>
+<!-- Method onActionViewExpanded -->
+<nobr><A HREF="android.widget.SearchView.html#android.widget.SearchView.onActionViewExpanded_added()" class="hiddenlink" target="rightframe"><b>onActionViewExpanded</b>
+()</A></nobr><br>
+<!-- Method onBuildStartFragmentIntent -->
+<nobr><A HREF="android.preference.PreferenceActivity.html#android.preference.PreferenceActivity.onBuildStartFragmentIntent_added(java.lang.String, android.os.Bundle, int, int)" class="hiddenlink" target="rightframe"><b>onBuildStartFragmentIntent</b>
+(<code>String, Bundle, int, int</code>)</A></nobr><br>
+<!-- Method onFullBackup -->
+<nobr><A HREF="android.app.backup.BackupAgent.html#android.app.backup.BackupAgent.onFullBackup_added(android.app.backup.FullBackupDataOutput)" class="hiddenlink" target="rightframe"><b>onFullBackup</b>
+(<code>FullBackupDataOutput</code>)</A></nobr><br>
+<!-- Method onHoverChanged -->
+<nobr><A HREF="android.view.View.html#android.view.View.onHoverChanged_added(boolean)" class="hiddenlink" target="rightframe"><b>onHoverChanged</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method onHoverEvent -->
+<nobr><A HREF="android.view.View.html#android.view.View.onHoverEvent_added(android.view.MotionEvent)" class="hiddenlink" target="rightframe"><b>onHoverEvent</b>
+(<code>MotionEvent</code>)</A></nobr><br>
+<!-- Method onInitializeAccessibilityEvent -->
+<nobr><A HREF="android.view.View.html#android.view.View.onInitializeAccessibilityEvent_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe"><b>onInitializeAccessibilityEvent</b>
+(<code>AccessibilityEvent</code>)</A></nobr><br>
+<!-- Method onInitializeAccessibilityNodeInfo -->
+<nobr><A HREF="android.view.View.html#android.view.View.onInitializeAccessibilityNodeInfo_added(android.view.accessibility.AccessibilityNodeInfo)" class="hiddenlink" target="rightframe"><b>onInitializeAccessibilityNodeInfo</b>
+(<code>AccessibilityNodeInfo</code>)</A></nobr><br>
+<!-- Method onInterceptHoverEvent -->
+<nobr><A HREF="android.view.ViewGroup.html#android.view.ViewGroup.onInterceptHoverEvent_added(android.view.MotionEvent)" class="hiddenlink" target="rightframe"><b>onInterceptHoverEvent</b>
+(<code>MotionEvent</code>)</A></nobr><br>
+<!-- Method onPopulateAccessibilityEvent -->
+<nobr><A HREF="android.view.View.html#android.view.View.onPopulateAccessibilityEvent_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe"><b>onPopulateAccessibilityEvent</b>
+(<code>AccessibilityEvent</code>)</A></nobr><br>
+<!-- Method onRequestSendAccessibilityEvent -->
+<nobr><A HREF="android.view.ViewGroup.html#android.view.ViewGroup.onRequestSendAccessibilityEvent_added(android.view.View, android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe"><b>onRequestSendAccessibilityEvent</b>
+(<code>View, AccessibilityEvent</code>)</A></nobr><br>
+<!-- Method onRestoreFile -->
+<nobr><A HREF="android.app.backup.BackupAgent.html#android.app.backup.BackupAgent.onRestoreFile_added(android.os.ParcelFileDescriptor, long, java.io.File, int, long, long)" class="hiddenlink" target="rightframe"><b>onRestoreFile</b>
+(<code>ParcelFileDescriptor, long, File, int, long, long</code>)</A></nobr><br>
+<!-- Method onShowCustomView -->
+<nobr><A HREF="android.webkit.WebChromeClient.html#android.webkit.WebChromeClient.onShowCustomView_added(android.view.View, int, android.webkit.WebChromeClient.CustomViewCallback)" class="hiddenlink" target="rightframe"><b>onShowCustomView</b>
+(<code>View, int, CustomViewCallback</code>)</A></nobr><br>
+<!-- Method onTaskRemoved -->
+<nobr><A HREF="android.app.Service.html#android.app.Service.onTaskRemoved_added(android.content.Intent)" class="hiddenlink" target="rightframe"><b>onTaskRemoved</b>
+(<code>Intent</code>)</A></nobr><br>
+<!-- Method onTrimMemory -->
+<i>onTrimMemory</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Activity.html#android.app.Activity.onTrimMemory_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.Activity
+</A></nobr><br>
+<!-- Method onTrimMemory -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.Application.html#android.app.Application.onTrimMemory_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.Application
+</A></nobr><br>
+<!-- Method onTrimMemory -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.Fragment.html#android.app.Fragment.onTrimMemory_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.Fragment
+</A></nobr><br>
+<!-- Method onTrimMemory -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.Service.html#android.app.Service.onTrimMemory_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.Service
+</A></nobr><br>
+<!-- Method onTrimMemory -->
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContentProvider.html#android.content.ContentProvider.onTrimMemory_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.content.ContentProvider
+</A></nobr><br>
+<!-- Method onViewClicked -->
+<nobr><A HREF="android.inputmethodservice.InputMethodService.html#android.inputmethodservice.InputMethodService.onViewClicked_added(boolean)" class="hiddenlink" target="rightframe"><b>onViewClicked</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method openContactPhotoInputStream -->
+<nobr><A HREF="android.provider.ContactsContract.Contacts.html#android.provider.ContactsContract.Contacts.openContactPhotoInputStream_added(android.content.ContentResolver, android.net.Uri, boolean)" class="hiddenlink" target="rightframe"><b>openContactPhotoInputStream</b>
+(<code>ContentResolver, Uri, boolean</code>)</A></nobr><br>
+<!-- Method overridesImplicitlyEnabledSubtype -->
+<i>overridesImplicitlyEnabledSubtype</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputMethodSubtype.html#android.view.inputmethod.InputMethodSubtype.overridesImplicitlyEnabledSubtype_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.inputmethod.InputMethodSubtype
+</A></nobr><br>
+<!-- Field overridesImplicitlyEnabledSubtype -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.overridesImplicitlyEnabledSubtype" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Class OverScroller -->
+<A HREF="android.widget.OverScroller.html" class="hiddenlink" target="rightframe">OverScroller</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="#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 packageNames -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.packageNames" class="hiddenlink" target="rightframe">packageNames</A>
+</nobr><br>
+<!-- Class PackageStats -->
+<A HREF="android.content.pm.PackageStats.html" class="hiddenlink" target="rightframe">PackageStats</A><br>
+<!-- Class Paint -->
+<A HREF="android.graphics.Paint.html" class="hiddenlink" target="rightframe">Paint</A><br>
+<!-- Class ParcelFileDescriptor -->
+<A HREF="android.os.ParcelFileDescriptor.html" class="hiddenlink" target="rightframe">ParcelFileDescriptor</A><br>
+<!-- Field PASSWORD_QUALITY_BIOMETRIC_WEAK -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_BIOMETRIC_WEAK" class="hiddenlink" target="rightframe">PASSWORD_QUALITY_BIOMETRIC_WEAK</A>
+</nobr><br>
+<!-- Class PathClassLoader -->
+<A HREF="dalvik.system.PathClassLoader.html" class="hiddenlink" target="rightframe">PathClassLoader</A><br>
+<!-- Class Patterns -->
+<A HREF="android.util.Patterns.html" class="hiddenlink" target="rightframe">Patterns</A><br>
+<!-- Class PendingIntent -->
+<A HREF="android.app.PendingIntent.html" class="hiddenlink" target="rightframe">PendingIntent</A><br>
+<!-- Class Permission -->
+<A HREF="java.security.Permission.html" class="hiddenlink" target="rightframe">Permission</A><br>
+<!-- Method perspectiveM -->
+<nobr><A HREF="android.opengl.Matrix.html#android.opengl.Matrix.perspectiveM_added(float[], int, float, float, float, float)" class="hiddenlink" target="rightframe"><b>perspectiveM</b>
+(<code>float[], int, float, float, float, float</code>)</A></nobr><br>
+<!-- Field PHOTO_FILE_ID -->
+<i>PHOTO_FILE_ID</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Photo.html#android.provider.ContactsContract.CommonDataKinds.Photo.PHOTO_FILE_ID" class="hiddenlink" target="rightframe">android.provider.ContactsContract.CommonDataKinds.Photo</A>
+</nobr><br>
+<!-- Field PHOTO_FILE_ID -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.Contacts.Photo.html#android.provider.ContactsContract.Contacts.Photo.PHOTO_FILE_ID" class="hiddenlink" target="rightframe">android.provider.ContactsContract.Contacts.Photo</A>
+</nobr><br>
+<!-- Field PHOTO_FILE_ID -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.ContactsColumns.html#android.provider.ContactsContract.ContactsColumns.PHOTO_FILE_ID" class="hiddenlink" target="rightframe">android.provider.ContactsContract.ContactsColumns</A>
+</nobr><br>
+<!-- Class PopupMenu -->
+<A HREF="android.widget.PopupMenu.html" class="hiddenlink" target="rightframe">PopupMenu</A><br>
+<!-- Class PopupMenu.OnDismissListener -->
+<A HREF="pkg_android.widget.html#PopupMenu.OnDismissListener" class="hiddenlink" target="rightframe"><b><i>PopupMenu.OnDismissListener</i></b></A><br>
+<!-- Class Preference -->
+<A HREF="android.preference.Preference.html" class="hiddenlink" target="rightframe">Preference</A><br>
+<!-- Class PreferenceActivity -->
+<A HREF="android.preference.PreferenceActivity.html" class="hiddenlink" target="rightframe">PreferenceActivity</A><br>
+<!-- Method prepare -->
+<nobr><A HREF="android.os.Looper.html#android.os.Looper.prepare_changed()" class="hiddenlink" target="rightframe">prepare
+()</A></nobr><br>
+<!-- Method prepareMainLooper -->
+<nobr><A HREF="android.os.Looper.html#android.os.Looper.prepareMainLooper_changed()" class="hiddenlink" target="rightframe">prepareMainLooper
+()</A></nobr><br>
+<!-- Field PRIMARY_ACCOUNT_NAME -->
+<nobr><A HREF="android.provider.ContactsContract.html#android.provider.ContactsContract.PRIMARY_ACCOUNT_NAME" class="hiddenlink" target="rightframe">PRIMARY_ACCOUNT_NAME</A>
+</nobr><br>
+<!-- Field PRIMARY_ACCOUNT_TYPE -->
+<nobr><A HREF="android.provider.ContactsContract.html#android.provider.ContactsContract.PRIMARY_ACCOUNT_TYPE" class="hiddenlink" target="rightframe">PRIMARY_ACCOUNT_TYPE</A>
+</nobr><br>
+<!-- Class PrivateCredentialPermission -->
+<A HREF="javax.security.auth.PrivateCredentialPermission.html" class="hiddenlink" target="rightframe">PrivateCredentialPermission</A><br>
+<!-- Class Process -->
+<A HREF="android.os.Process.html" class="hiddenlink" target="rightframe">Process</A><br>
+<!-- Field PROFILE_CONTENT_URI -->
+<i>PROFILE_CONTENT_URI</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.RawContactsEntity.html#android.provider.ContactsContract.RawContactsEntity.PROFILE_CONTENT_URI" class="hiddenlink" target="rightframe">android.provider.ContactsContract.RawContactsEntity</A>
+</nobr><br>
+<!-- Field PROFILE_CONTENT_URI -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusUpdates.html#android.provider.ContactsContract.StatusUpdates.PROFILE_CONTENT_URI" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusUpdates</A>
+</nobr><br>
+<!-- Class Property -->
+<A HREF="pkg_android.util.html#Property" class="hiddenlink" target="rightframe"><b>Property</b></A><br>
+<!-- Class PropertyValuesHolder -->
+<A HREF="android.animation.PropertyValuesHolder.html" class="hiddenlink" target="rightframe">PropertyValuesHolder</A><br>
+<!-- Field publicKey -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.publicKey" class="hiddenlink" target="rightframe">publicKey</A>
+</nobr><br>
+<!-- Field PUSH_BUFFERS -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.PUSH_BUFFERS" class="hiddenlink" target="rightframe"><strike>PUSH_BUFFERS</strike></A>
+</nobr><br>
+<!-- Class R.attr -->
+<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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.R.attr.html" class="hiddenlink" target="rightframe">R.attr</A><br>
+<!-- Class R.color -->
+<A HREF="android.R.color.html" class="hiddenlink" target="rightframe">R.color</A><br>
+<!-- Class R.integer -->
+<A HREF="android.R.integer.html" class="hiddenlink" target="rightframe">R.integer</A><br>
+<!-- Class R.string -->
+<A HREF="android.R.string.html" class="hiddenlink" target="rightframe">R.string</A><br>
+<!-- Class R.style -->
+<A HREF="android.R.style.html" class="hiddenlink" target="rightframe">R.style</A><br>
+<!-- Field RADIO -->
+<nobr><A HREF="android.os.Build.html#android.os.Build.RADIO" class="hiddenlink" target="rightframe">RADIO</A>
+</nobr><br>
+<!-- Field RADIO_NFC -->
+<nobr><A HREF="android.provider.Settings.System.html#android.provider.Settings.System.RADIO_NFC" class="hiddenlink" target="rightframe">RADIO_NFC</A>
+</nobr><br>
+<!-- Field RAW_CONTACT_IS_USER_PROFILE -->
+<nobr><A HREF="android.provider.ContactsContract.RawContactsColumns.html#android.provider.ContactsContract.RawContactsColumns.RAW_CONTACT_IS_USER_PROFILE" class="hiddenlink" target="rightframe">RAW_CONTACT_IS_USER_PROFILE</A>
+</nobr><br>
+<!-- Field READ_PROFILE -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.READ_PROFILE" class="hiddenlink" target="rightframe">READ_PROFILE</A>
+</nobr><br>
+<!-- Method readData -->
+<i>readData</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.readData_removed(float[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>float[]</code>)</strike>&nbsp;in&nbsp;android.renderscript.AllocationAdapter
+</A></nobr><br>
+<!-- Method readData -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.readData_removed(int[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int[]</code>)</strike>&nbsp;in&nbsp;android.renderscript.AllocationAdapter
+</A></nobr><br>
+<!-- Method rebootWipeCache -->
+<nobr><A HREF="android.os.RecoverySystem.html#android.os.RecoverySystem.rebootWipeCache_added(android.content.Context)" class="hiddenlink" target="rightframe"><b>rebootWipeCache</b>
+(<code>Context</code>)</A></nobr><br>
+<!-- Class RecognizerIntent -->
+<A HREF="android.speech.RecognizerIntent.html" class="hiddenlink" target="rightframe">RecognizerIntent</A><br>
+<!-- Class RecoverySystem -->
+<A HREF="android.os.RecoverySystem.html" class="hiddenlink" target="rightframe">RecoverySystem</A><br>
+<!-- Class RectF -->
+<A HREF="android.graphics.RectF.html" class="hiddenlink" target="rightframe">RectF</A><br>
+<!-- Method recycle -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.recycle_changed()" class="hiddenlink" target="rightframe">recycle
+()</A></nobr><br>
+<!-- Class ReferenceQueue -->
+<A HREF="java.lang.ref.ReferenceQueue.html" class="hiddenlink" target="rightframe">ReferenceQueue</A><br>
+<!-- Method registerActivityLifecycleCallbacks -->
+<nobr><A HREF="android.app.Application.html#android.app.Application.registerActivityLifecycleCallbacks_added(android.app.Application.ActivityLifecycleCallbacks)" class="hiddenlink" target="rightframe"><b>registerActivityLifecycleCallbacks</b>
+(<code>ActivityLifecycleCallbacks</code>)</A></nobr><br>
+<!-- Method registerComponentCallbacks -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.registerComponentCallbacks_added(android.content.ComponentCallbacks)" class="hiddenlink" target="rightframe"><b>registerComponentCallbacks</b>
+(<code>ComponentCallbacks</code>)</A></nobr><br>
+<!-- Method registerRemoteControlClient -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.registerRemoteControlClient_added(android.media.RemoteControlClient)" class="hiddenlink" target="rightframe"><b>registerRemoteControlClient</b>
+(<code>RemoteControlClient</code>)</A></nobr><br>
+<!-- Field RELATIVE_HORIZONTAL_GRAVITY_MASK -->
+<nobr><A HREF="android.view.Gravity.html#android.view.Gravity.RELATIVE_HORIZONTAL_GRAVITY_MASK" class="hiddenlink" target="rightframe">RELATIVE_HORIZONTAL_GRAVITY_MASK</A>
+</nobr><br>
+<!-- Field RELATIVE_LAYOUT_DIRECTION -->
+<nobr><A HREF="android.view.Gravity.html#android.view.Gravity.RELATIVE_LAYOUT_DIRECTION" class="hiddenlink" target="rightframe">RELATIVE_LAYOUT_DIRECTION</A>
+</nobr><br>
+<!-- Method release -->
+<i>release</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.SurfaceTexture.html#android.graphics.SurfaceTexture.release_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.graphics.SurfaceTexture
+</A></nobr><br>
+<!-- Method release -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.Surface.html#android.view.Surface.release_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.Surface
+</A></nobr><br>
+<!-- Class RemoteControlClient -->
+<A HREF="pkg_android.media.html#RemoteControlClient" class="hiddenlink" target="rightframe"><b>RemoteControlClient</b></A><br>
+<!-- Class RemoteControlClient.MetadataEditor -->
+<A HREF="pkg_android.media.html#RemoteControlClient.MetadataEditor" class="hiddenlink" target="rightframe"><b>RemoteControlClient.MetadataEditor</b></A><br>
+<!-- Class RemoteViews -->
+<A HREF="android.widget.RemoteViews.html" class="hiddenlink" target="rightframe">RemoteViews</A><br>
+<!-- Method remove -->
+<nobr><A HREF="java.lang.ref.ReferenceQueue.html#java.lang.ref.ReferenceQueue.remove_changed(long)" class="hiddenlink" target="rightframe">remove
+(<code>long</code>)</A></nobr><br>
+<!-- Method removeAccessibilityStateChangeListener -->
+<nobr><A HREF="android.view.accessibility.AccessibilityManager.html#android.view.accessibility.AccessibilityManager.removeAccessibilityStateChangeListener_added(android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener)" class="hiddenlink" target="rightframe"><b>removeAccessibilityStateChangeListener</b>
+(<code>AccessibilityStateChangeListener</code>)</A></nobr><br>
+<!-- Class RenderScriptGL -->
+<A HREF="android.renderscript.RenderScriptGL.html" class="hiddenlink" target="rightframe">RenderScriptGL</A><br>
+<!-- Method requestSendAccessibilityEvent -->
+<i>requestSendAccessibilityEvent</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.ViewGroup.html#android.view.ViewGroup.requestSendAccessibilityEvent_added(android.view.View, android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View, AccessibilityEvent</code>)</b>&nbsp;in&nbsp;android.view.ViewGroup
+</A></nobr><br>
+<!-- Method requestSendAccessibilityEvent -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.ViewParent.html#android.view.ViewParent.requestSendAccessibilityEvent_added(android.view.View, android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View, AccessibilityEvent</code>)</b>&nbsp;in&nbsp;android.view.ViewParent
+</A></nobr><br>
+<!-- Field requiresFadingEdge -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.requiresFadingEdge" class="hiddenlink" target="rightframe">requiresFadingEdge</A>
+</nobr><br>
+<!-- Method resetResolvedDrawables -->
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.resetResolvedDrawables_added()" class="hiddenlink" target="rightframe"><b>resetResolvedDrawables</b>
+()</A></nobr><br>
+<!-- Method resetResolvedLayoutDirection -->
+<i>resetResolvedLayoutDirection</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.ViewGroup.html#android.view.ViewGroup.resetResolvedLayoutDirection_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.ViewGroup
+</A></nobr><br>
+<!-- Method resetResolvedLayoutDirection -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.resetResolvedLayoutDirection_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.widget.TextView
+</A></nobr><br>
+<!-- Method resetResolvedTextDirection -->
+<nobr><A HREF="android.view.ViewGroup.html#android.view.ViewGroup.resetResolvedTextDirection_added()" class="hiddenlink" target="rightframe"><b>resetResolvedTextDirection</b>
+()</A></nobr><br>
+<!-- Method resolveDrawables -->
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.resolveDrawables_added()" class="hiddenlink" target="rightframe"><b>resolveDrawables</b>
+()</A></nobr><br>
+<!-- Method resolveTextDirection -->
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.resolveTextDirection_added()" class="hiddenlink" target="rightframe"><b>resolveTextDirection</b>
+()</A></nobr><br>
+<!-- Field ROTATION -->
+<nobr><A HREF="android.view.View.html#android.view.View.ROTATION" class="hiddenlink" target="rightframe">ROTATION</A>
+</nobr><br>
+<!-- Field ROTATION_X -->
+<nobr><A HREF="android.view.View.html#android.view.View.ROTATION_X" class="hiddenlink" target="rightframe">ROTATION_X</A>
+</nobr><br>
+<!-- Field ROTATION_Y -->
+<nobr><A HREF="android.view.View.html#android.view.View.ROTATION_Y" class="hiddenlink" target="rightframe">ROTATION_Y</A>
+</nobr><br>
+<!-- Field rowCount -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.rowCount" class="hiddenlink" target="rightframe">rowCount</A>
+</nobr><br>
+<!-- Field rowOrderPreserved -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.rowOrderPreserved" class="hiddenlink" target="rightframe">rowOrderPreserved</A>
+</nobr><br>
+<!-- Class RSTextureView -->
+<A HREF="pkg_android.renderscript.html#RSTextureView" class="hiddenlink" target="rightframe"><b>RSTextureView</b></A><br>
+<!-- Field SCALE_X -->
+<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="#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.SCALE_X" class="hiddenlink" target="rightframe">SCALE_X</A>
+</nobr><br>
+<!-- Field SCALE_Y -->
+<nobr><A HREF="android.view.View.html#android.view.View.SCALE_Y" class="hiddenlink" target="rightframe">SCALE_Y</A>
+</nobr><br>
+<!-- Field SCO_AUDIO_STATE_CONNECTING -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.SCO_AUDIO_STATE_CONNECTING" class="hiddenlink" target="rightframe">SCO_AUDIO_STATE_CONNECTING</A>
+</nobr><br>
+<!-- Class Script -->
+<A HREF="android.renderscript.Script.html" class="hiddenlink" target="rightframe">Script</A><br>
+<!-- Class Scroller -->
+<A HREF="android.widget.Scroller.html" class="hiddenlink" target="rightframe">Scroller</A><br>
+<!-- Class SearchManager -->
+<A HREF="android.app.SearchManager.html" class="hiddenlink" target="rightframe">SearchManager</A><br>
+<!-- Class SearchView -->
+<A HREF="android.widget.SearchView.html" class="hiddenlink" target="rightframe">SearchView</A><br>
+<!-- Field SECURE -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.SECURE" class="hiddenlink" target="rightframe"><strike>SECURE</strike></A>
+</nobr><br>
+<!-- Method send -->
+<nobr><A HREF="android.app.PendingIntent.html#android.app.PendingIntent.send_added(android.content.Context, int, android.content.Intent, android.app.PendingIntent.OnFinished, android.os.Handler, java.lang.String)" class="hiddenlink" target="rightframe"><b>send</b>
+(<code>Context, int, Intent, OnFinished, Handler, String</code>)</A></nobr><br>
+<!-- Method sendIntent -->
+<nobr><A HREF="android.content.IntentSender.html#android.content.IntentSender.sendIntent_added(android.content.Context, int, android.content.Intent, android.content.IntentSender.OnFinished, android.os.Handler, java.lang.String)" class="hiddenlink" target="rightframe"><b>sendIntent</b>
+(<code>Context, int, Intent, OnFinished, Handler, String</code>)</A></nobr><br>
+<!-- Class Sensor -->
+<A HREF="android.hardware.Sensor.html" class="hiddenlink" target="rightframe">Sensor</A><br>
+<!-- Class Service -->
+<A HREF="android.app.Service.html" class="hiddenlink" target="rightframe">Service</A><br>
+<!-- Field SERVICE_META_DATA -->
+<i>SERVICE_META_DATA</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.accessibilityservice.AccessibilityService.html#android.accessibilityservice.AccessibilityService.SERVICE_META_DATA" class="hiddenlink" target="rightframe">android.accessibilityservice.AccessibilityService</A>
+</nobr><br>
+<!-- Field SERVICE_META_DATA -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.speech.tts.TextToSpeech.Engine.html#android.speech.tts.TextToSpeech.Engine.SERVICE_META_DATA" class="hiddenlink" target="rightframe">android.speech.tts.TextToSpeech.Engine</A>
+</nobr><br>
+<!-- Class ServiceInfo -->
+<A HREF="android.content.pm.ServiceInfo.html" class="hiddenlink" target="rightframe">ServiceInfo</A><br>
+<!-- Method setAccessibilityDelegate -->
+<nobr><A HREF="android.view.View.html#android.view.View.setAccessibilityDelegate_added(android.view.View.AccessibilityDelegate)" class="hiddenlink" target="rightframe"><b>setAccessibilityDelegate</b>
+(<code>AccessibilityDelegate</code>)</A></nobr><br>
+<!-- Method setAccessible -->
+<i>setAccessible</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AccessibleObject.html#java.lang.reflect.AccessibleObject.setAccessible_changed(java.lang.reflect.AccessibleObject[], boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>AccessibleObject[], boolean</code>)&nbsp;in&nbsp;java.lang.reflect.AccessibleObject
+</A></nobr><br>
+<!-- Method setAccessible -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AccessibleObject.html#java.lang.reflect.AccessibleObject.setAccessible_changed(boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>boolean</code>)&nbsp;in&nbsp;java.lang.reflect.AccessibleObject
+</A></nobr><br>
+<!-- Method setActionProvider -->
+<nobr><A HREF="android.view.MenuItem.html#android.view.MenuItem.setActionProvider_added(android.view.ActionProvider)" class="hiddenlink" target="rightframe"><b>setActionProvider</b>
+(<code>ActionProvider</code>)</A></nobr><br>
+<!-- Method setAddedCount -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setAddedCount_changed(int)" class="hiddenlink" target="rightframe">setAddedCount
+(<code>int</code>)</A></nobr><br>
+<!-- Method setAdditionalInputMethodSubtypes -->
+<nobr><A HREF="android.view.inputmethod.InputMethodManager.html#android.view.inputmethod.InputMethodManager.setAdditionalInputMethodSubtypes_added(java.lang.String, android.view.inputmethod.InputMethodSubtype[])" class="hiddenlink" target="rightframe"><b>setAdditionalInputMethodSubtypes</b>
+(<code>String, InputMethodSubtype[]</code>)</A></nobr><br>
+<!-- Method setAllCaps -->
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.setAllCaps_added(boolean)" class="hiddenlink" target="rightframe"><b>setAllCaps</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setAlpha -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setAlpha_removed(float)" class="hiddenlink" target="rightframe"><strike>setAlpha</strike>
+(<code>float</code>)</A></nobr><br>
+<!-- Method setAnimateParentHierarchy -->
+<nobr><A HREF="android.animation.LayoutTransition.html#android.animation.LayoutTransition.setAnimateParentHierarchy_added(boolean)" class="hiddenlink" target="rightframe"><b>setAnimateParentHierarchy</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setAutoExposureLock -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.setAutoExposureLock_added(boolean)" class="hiddenlink" target="rightframe"><b>setAutoExposureLock</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setAutoWhiteBalanceLock -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.setAutoWhiteBalanceLock_added(boolean)" class="hiddenlink" target="rightframe"><b>setAutoWhiteBalanceLock</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setAuxiliaryOutputFile -->
+<i>setAuxiliaryOutputFile</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.setAuxiliaryOutputFile_changed(java.io.FileDescriptor)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>FileDescriptor</code>)&nbsp;in&nbsp;android.media.MediaRecorder
+</A></nobr><br>
+<!-- Method setAuxiliaryOutputFile -->
+&nbsp;&nbsp;<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.setAuxiliaryOutputFile_changed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String</code>)&nbsp;in&nbsp;android.media.MediaRecorder
+</A></nobr><br>
+<!-- Method setBeforeText -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setBeforeText_changed(java.lang.CharSequence)" class="hiddenlink" target="rightframe">setBeforeText
+(<code>CharSequence</code>)</A></nobr><br>
+<!-- Method setCameraDisabled -->
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setCameraDisabled_added(android.content.ComponentName, boolean)" class="hiddenlink" target="rightframe"><b>setCameraDisabled</b>
+(<code>ComponentName, boolean</code>)</A></nobr><br>
+<!-- Method setChecked -->
+<i>setChecked</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.setChecked_changed(boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>boolean</code>)&nbsp;in&nbsp;android.preference.CheckBoxPreference
+</A></nobr><br>
+<!-- Method setChecked -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setChecked_changed(boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>boolean</code>)&nbsp;in&nbsp;android.view.accessibility.AccessibilityEvent
+</A></nobr><br>
+<!-- Method setClassName -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setClassName_changed(java.lang.CharSequence)" class="hiddenlink" target="rightframe">setClassName
+(<code>CharSequence</code>)</A></nobr><br>
+<!-- Method setContentDescription -->
+<i>setContentDescription</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.ActionBar.Tab.html#android.app.ActionBar.Tab.setContentDescription_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.ActionBar.Tab
+</A></nobr><br>
+<!-- Method setContentDescription -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.ActionBar.Tab.html#android.app.ActionBar.Tab.setContentDescription_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>CharSequence</code>)</b>&nbsp;in&nbsp;android.app.ActionBar.Tab
+</A></nobr><br>
+<!-- Method setContentDescription -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setContentDescription_changed(java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>CharSequence</code>)&nbsp;in&nbsp;android.view.accessibility.AccessibilityEvent
+</A></nobr><br>
+<!-- Method setCurrentItemIndex -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setCurrentItemIndex_changed(int)" class="hiddenlink" target="rightframe">setCurrentItemIndex
+(<code>int</code>)</A></nobr><br>
+<!-- Method setDataSource -->
+<i>setDataSource</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.MediaMetadataRetriever.html#android.media.MediaMetadataRetriever.setDataSource_added(java.lang.String, java.util.Map<java.lang.String, java.lang.String>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, Map&lt;String, String&gt;</code>)</b>&nbsp;in&nbsp;android.media.MediaMetadataRetriever
+</A></nobr><br>
+<!-- Method setDataSource -->
+&nbsp;&nbsp;<nobr><A HREF="android.media.MediaPlayer.html#android.media.MediaPlayer.setDataSource_removed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>String</code>)</strike>&nbsp;in&nbsp;android.media.MediaPlayer
+</A></nobr><br>
+<!-- Method setDataSource -->
+&nbsp;&nbsp;<nobr><A HREF="android.media.MediaPlayer.html#android.media.MediaPlayer.setDataSource_added(android.content.Context, android.net.Uri, java.util.Map<java.lang.String, java.lang.String>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Context, Uri, Map&lt;String, String&gt;</code>)</b>&nbsp;in&nbsp;android.media.MediaPlayer
+</A></nobr><br>
+<!-- Method setDataSource -->
+&nbsp;&nbsp;<nobr><A HREF="android.media.MediaPlayer.html#android.media.MediaPlayer.setDataSource_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.media.MediaPlayer
+</A></nobr><br>
+<!-- Method setDimAmount -->
+<nobr><A HREF="android.view.Window.html#android.view.Window.setDimAmount_added(float)" class="hiddenlink" target="rightframe"><b>setDimAmount</b>
+(<code>float</code>)</A></nobr><br>
+<!-- Method setDisableDependentsState -->
+<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.setDisableDependentsState_changed(boolean)" class="hiddenlink" target="rightframe">setDisableDependentsState
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setDividerPadding -->
+<nobr><A HREF="android.widget.LinearLayout.html#android.widget.LinearLayout.setDividerPadding_added(int)" class="hiddenlink" target="rightframe"><b>setDividerPadding</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setEnabled -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setEnabled_changed(boolean)" class="hiddenlink" target="rightframe">setEnabled
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setEncoding -->
+<nobr><A HREF="java.util.logging.Handler.html#java.util.logging.Handler.setEncoding_changed(java.lang.String)" class="hiddenlink" target="rightframe">setEncoding
+(<code>String</code>)</A></nobr><br>
+<!-- Method setEngineByPackageName -->
+<nobr><A HREF="android.speech.tts.TextToSpeech.html#android.speech.tts.TextToSpeech.setEngineByPackageName_changed(java.lang.String)" class="hiddenlink" target="rightframe">setEngineByPackageName
+(<code>String</code>)</A></nobr><br>
+<!-- Method setFaceDetectionListener -->
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.setFaceDetectionListener_added(android.hardware.Camera.FaceDetectionListener)" class="hiddenlink" target="rightframe"><b>setFaceDetectionListener</b>
+(<code>FaceDetectionListener</code>)</A></nobr><br>
+<!-- Method setFitsSystemWindows -->
+<nobr><A HREF="android.view.View.html#android.view.View.setFitsSystemWindows_added(boolean)" class="hiddenlink" target="rightframe"><b>setFitsSystemWindows</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setFlags -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setFlags_removed(int, int)" class="hiddenlink" target="rightframe"><strike>setFlags</strike>
+(<code>int, int</code>)</A></nobr><br>
+<!-- Method setFocusAreas -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.setFocusAreas_added(java.util.List<android.hardware.Camera.Area>)" class="hiddenlink" target="rightframe"><b>setFocusAreas</b>
+(<code>List&lt;Area&gt;</code>)</A></nobr><br>
+<!-- Method setFreezeTint -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setFreezeTint_removed(int)" class="hiddenlink" target="rightframe"><strike>setFreezeTint</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setFromIndex -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setFromIndex_changed(int)" class="hiddenlink" target="rightframe">setFromIndex
+(<code>int</code>)</A></nobr><br>
+<!-- Method setFullScreen -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setFullScreen_changed(boolean)" class="hiddenlink" target="rightframe">setFullScreen
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setHinting -->
+<nobr><A HREF="android.graphics.Paint.html#android.graphics.Paint.setHinting_added(int)" class="hiddenlink" target="rightframe"><b>setHinting</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setHomeButtonEnabled -->
+<nobr><A HREF="android.app.ActionBar.html#android.app.ActionBar.setHomeButtonEnabled_added(boolean)" class="hiddenlink" target="rightframe"><b>setHomeButtonEnabled</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setHovered -->
+<nobr><A HREF="android.view.View.html#android.view.View.setHovered_added(boolean)" class="hiddenlink" target="rightframe"><b>setHovered</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setIcon -->
+<i>setIcon</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.ActionBar.html#android.app.ActionBar.setIcon_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Drawable</code>)</b>&nbsp;in&nbsp;android.app.ActionBar
+</A></nobr><br>
+<!-- Method setIcon -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.ActionBar.html#android.app.ActionBar.setIcon_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.ActionBar
+</A></nobr><br>
+<!-- Method setImeOptions -->
+<nobr><A HREF="android.widget.SearchView.html#android.widget.SearchView.setImeOptions_added(int)" class="hiddenlink" target="rightframe"><b>setImeOptions</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setInputType -->
+<nobr><A HREF="android.widget.SearchView.html#android.widget.SearchView.setInputType_added(int)" class="hiddenlink" target="rightframe"><b>setInputType</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setItemCount -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setItemCount_changed(int)" class="hiddenlink" target="rightframe">setItemCount
+(<code>int</code>)</A></nobr><br>
+<!-- Method setKeyManagers -->
+<nobr><A HREF="android.net.SSLCertificateSocketFactory.html#android.net.SSLCertificateSocketFactory.setKeyManagers_added(javax.net.ssl.KeyManager[])" class="hiddenlink" target="rightframe"><b>setKeyManagers</b>
+(<code>KeyManager[]</code>)</A></nobr><br>
+<!-- Method setLayer -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setLayer_removed(int)" class="hiddenlink" target="rightframe"><strike>setLayer</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setLocation -->
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.setLocation_added(float, float)" class="hiddenlink" target="rightframe"><b>setLocation</b>
+(<code>float, float</code>)</A></nobr><br>
+<!-- Method setLogo -->
+<i>setLogo</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.ActionBar.html#android.app.ActionBar.setLogo_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Drawable</code>)</b>&nbsp;in&nbsp;android.app.ActionBar
+</A></nobr><br>
+<!-- Method setLogo -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.ActionBar.html#android.app.ActionBar.setLogo_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.ActionBar
+</A></nobr><br>
+<!-- Method setMatrix -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setMatrix_removed(float, float, float, float)" class="hiddenlink" target="rightframe"><strike>setMatrix</strike>
+(<code>float, float, float, float</code>)</A></nobr><br>
+<!-- Method setMenuVisibility -->
+<nobr><A HREF="android.app.Fragment.html#android.app.Fragment.setMenuVisibility_added(boolean)" class="hiddenlink" target="rightframe"><b>setMenuVisibility</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setMeteringAreas -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.setMeteringAreas_added(java.util.List<android.hardware.Camera.Area>)" class="hiddenlink" target="rightframe"><b>setMeteringAreas</b>
+(<code>List&lt;Area&gt;</code>)</A></nobr><br>
+<!-- Method setNdefPushMessage -->
+<nobr><A HREF="android.nfc.NfcAdapter.html#android.nfc.NfcAdapter.setNdefPushMessage_added(android.nfc.NdefMessage, android.app.Activity, android.app.Activity...)" class="hiddenlink" target="rightframe"><b>setNdefPushMessage</b>
+(<code>NdefMessage, Activity, </code>)</A></nobr><br>
+<!-- Method setNdefPushMessageCallback -->
+<nobr><A HREF="android.nfc.NfcAdapter.html#android.nfc.NfcAdapter.setNdefPushMessageCallback_added(android.nfc.NfcAdapter.CreateNdefMessageCallback, android.app.Activity, android.app.Activity...)" class="hiddenlink" target="rightframe"><b>setNdefPushMessageCallback</b>
+(<code>CreateNdefMessageCallback, Activity, </code>)</A></nobr><br>
+<!-- Method setOnActionExpandListener -->
+<nobr><A HREF="android.view.MenuItem.html#android.view.MenuItem.setOnActionExpandListener_added(android.view.MenuItem.OnActionExpandListener)" class="hiddenlink" target="rightframe"><b>setOnActionExpandListener</b>
+(<code>OnActionExpandListener</code>)</A></nobr><br>
+<!-- Method setOnDismissListener -->
+<nobr><A HREF="android.widget.PopupMenu.html#android.widget.PopupMenu.setOnDismissListener_added(android.widget.PopupMenu.OnDismissListener)" class="hiddenlink" target="rightframe"><b>setOnDismissListener</b>
+(<code>OnDismissListener</code>)</A></nobr><br>
+<!-- Method setOnHoverListener -->
+<nobr><A HREF="android.view.View.html#android.view.View.setOnHoverListener_added(android.view.View.OnHoverListener)" class="hiddenlink" target="rightframe"><b>setOnHoverListener</b>
+(<code>OnHoverListener</code>)</A></nobr><br>
+<!-- Method setOnNdefPushCompleteCallback -->
+<nobr><A HREF="android.nfc.NfcAdapter.html#android.nfc.NfcAdapter.setOnNdefPushCompleteCallback_added(android.nfc.NfcAdapter.OnNdefPushCompleteCallback, android.app.Activity, android.app.Activity...)" class="hiddenlink" target="rightframe"><b>setOnNdefPushCompleteCallback</b>
+(<code>OnNdefPushCompleteCallback, Activity, </code>)</A></nobr><br>
+<!-- Method setOrientation -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setOrientation_removed(int, int)" class="hiddenlink" target="rightframe"><strike>setOrientation</strike>
+(<code>int, int</code>)</A></nobr><br>
+<!-- Method setParcelableData -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setParcelableData_changed(android.os.Parcelable)" class="hiddenlink" target="rightframe">setParcelableData
+(<code>Parcelable</code>)</A></nobr><br>
+<!-- Method setPassword -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setPassword_changed(boolean)" class="hiddenlink" target="rightframe">setPassword
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setPosition -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setPosition_removed(int, int)" class="hiddenlink" target="rightframe"><strike>setPosition</strike>
+(<code>int, int</code>)</A></nobr><br>
+<!-- Method setProgress -->
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setProgress_added(int, int, boolean)" class="hiddenlink" target="rightframe"><b>setProgress</b>
+(<code>int, int, boolean</code>)</A></nobr><br>
+<!-- Method setProperty -->
+<i>setProperty</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.ObjectAnimator.html#android.animation.ObjectAnimator.setProperty_added(android.util.Property)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Property</code>)</b>&nbsp;in&nbsp;android.animation.ObjectAnimator
+</A></nobr><br>
+<!-- Method setProperty -->
+&nbsp;&nbsp;<nobr><A HREF="android.animation.PropertyValuesHolder.html#android.animation.PropertyValuesHolder.setProperty_added(android.util.Property)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Property</code>)</b>&nbsp;in&nbsp;android.animation.PropertyValuesHolder
+</A></nobr><br>
+<!-- Method setRecordingHint -->
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.setRecordingHint_added(boolean)" class="hiddenlink" target="rightframe"><b>setRecordingHint</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setRemoteAdapter -->
+<i>setRemoteAdapter</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.RemoteViews.html#android.widget.RemoteViews.setRemoteAdapter_added(int, android.content.Intent)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, Intent</code>)</b>&nbsp;in&nbsp;android.widget.RemoteViews
+</A></nobr><br>
+<!-- Method setRemoteAdapter -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.RemoteViews.html#android.widget.RemoteViews.setRemoteAdapter_changed(int, int, android.content.Intent)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int, int, Intent</code>)&nbsp;in&nbsp;android.widget.RemoteViews
+</A></nobr><br>
+<!-- Method setRemovedCount -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setRemovedCount_changed(int)" class="hiddenlink" target="rightframe">setRemovedCount
+(<code>int</code>)</A></nobr><br>
+<!-- Method setScrollX -->
+<nobr><A HREF="android.view.View.html#android.view.View.setScrollX_added(int)" class="hiddenlink" target="rightframe"><b>setScrollX</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setScrollY -->
+<nobr><A HREF="android.view.View.html#android.view.View.setScrollY_added(int)" class="hiddenlink" target="rightframe"><b>setScrollY</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setShowAsActionFlags -->
+<nobr><A HREF="android.view.MenuItem.html#android.view.MenuItem.setShowAsActionFlags_added(int)" class="hiddenlink" target="rightframe"><b>setShowAsActionFlags</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setSize -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setSize_removed(int, int)" class="hiddenlink" target="rightframe"><strike>setSize</strike>
+(<code>int, int</code>)</A></nobr><br>
+<!-- Method setSplitBackgroundDrawable -->
+<nobr><A HREF="android.app.ActionBar.html#android.app.ActionBar.setSplitBackgroundDrawable_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe"><b>setSplitBackgroundDrawable</b>
+(<code>Drawable</code>)</A></nobr><br>
+<!-- Method setStackedBackgroundDrawable -->
+<nobr><A HREF="android.app.ActionBar.html#android.app.ActionBar.setStackedBackgroundDrawable_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe"><b>setStackedBackgroundDrawable</b>
+(<code>Drawable</code>)</A></nobr><br>
+<!-- Method setStartDelay -->
+<nobr><A HREF="android.view.ViewPropertyAnimator.html#android.view.ViewPropertyAnimator.setStartDelay_added(long)" class="hiddenlink" target="rightframe"><b>setStartDelay</b>
+(<code>long</code>)</A></nobr><br>
+<!-- Method setStrict -->
+<nobr><A HREF="android.database.sqlite.SQLiteQueryBuilder.html#android.database.sqlite.SQLiteQueryBuilder.setStrict_added(boolean)" class="hiddenlink" target="rightframe"><b>setStrict</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setSummaryOff -->
+<i>setSummaryOff</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.setSummaryOff_removed(int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int</code>)</strike>&nbsp;in&nbsp;android.preference.CheckBoxPreference
+</A></nobr><br>
+<!-- Method setSummaryOff -->
+&nbsp;&nbsp;<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.setSummaryOff_removed(java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>CharSequence</code>)</strike>&nbsp;in&nbsp;android.preference.CheckBoxPreference
+</A></nobr><br>
+<!-- Method setSummaryOn -->
+<i>setSummaryOn</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.setSummaryOn_removed(int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int</code>)</strike>&nbsp;in&nbsp;android.preference.CheckBoxPreference
+</A></nobr><br>
+<!-- Method setSummaryOn -->
+&nbsp;&nbsp;<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.setSummaryOn_removed(java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>CharSequence</code>)</strike>&nbsp;in&nbsp;android.preference.CheckBoxPreference
+</A></nobr><br>
+<!-- Method setSurface -->
+<nobr><A HREF="android.media.MediaPlayer.html#android.media.MediaPlayer.setSurface_added(android.view.Surface)" class="hiddenlink" target="rightframe"><b>setSurface</b>
+(<code>Surface</code>)</A></nobr><br>
+<!-- Method setSurfaceTexture -->
+<nobr><A HREF="android.renderscript.RenderScriptGL.html#android.renderscript.RenderScriptGL.setSurfaceTexture_added(android.graphics.SurfaceTexture, int, int)" class="hiddenlink" target="rightframe"><b>setSurfaceTexture</b>
+(<code>SurfaceTexture, int, int</code>)</A></nobr><br>
+<!-- Method setTag -->
+<nobr><A HREF="android.view.ActionMode.html#android.view.ActionMode.setTag_added(java.lang.Object)" class="hiddenlink" target="rightframe"><b>setTag</b>
+(<code>Object</code>)</A></nobr><br>
+<!-- Method setTextSize -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setTextSize_changed(android.webkit.WebSettings.TextSize)" class="hiddenlink" target="rightframe">setTextSize
+(<code>TextSize</code>)</A></nobr><br>
+<!-- Method setTextZoom -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setTextZoom_added(int)" class="hiddenlink" target="rightframe"><b>setTextZoom</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setThreadStatsTag -->
+<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.setThreadStatsTag_added(int)" class="hiddenlink" target="rightframe"><b>setThreadStatsTag</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setTimeout -->
+<i>setTimeout</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.MifareClassic.html#android.nfc.tech.MifareClassic.setTimeout_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.nfc.tech.MifareClassic
+</A></nobr><br>
+<!-- Method setTimeout -->
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.MifareUltralight.html#android.nfc.tech.MifareUltralight.setTimeout_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.nfc.tech.MifareUltralight
+</A></nobr><br>
+<!-- Method setTimeout -->
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.NfcA.html#android.nfc.tech.NfcA.setTimeout_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.nfc.tech.NfcA
+</A></nobr><br>
+<!-- Method setTimeout -->
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.NfcF.html#android.nfc.tech.NfcF.setTimeout_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.nfc.tech.NfcF
+</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 setTransparentRegionHint -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setTransparentRegionHint_removed(android.graphics.Region)" class="hiddenlink" target="rightframe"><strike>setTransparentRegionHint</strike>
+(<code>Region</code>)</A></nobr><br>
+<!-- Method setTrustManagers -->
+<nobr><A HREF="android.net.SSLCertificateSocketFactory.html#android.net.SSLCertificateSocketFactory.setTrustManagers_added(javax.net.ssl.TrustManager[])" class="hiddenlink" target="rightframe"><b>setTrustManagers</b>
+(<code>TrustManager[]</code>)</A></nobr><br>
+<!-- Method setUiOptions -->
+<i>setUiOptions</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.Window.html#android.view.Window.setUiOptions_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.view.Window
+</A></nobr><br>
+<!-- Method setUiOptions -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.Window.html#android.view.Window.setUiOptions_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.view.Window
+</A></nobr><br>
+<!-- Class ShareActionProvider -->
+<A HREF="pkg_android.widget.html#ShareActionProvider" class="hiddenlink" target="rightframe"><b>ShareActionProvider</b></A><br>
+<!-- Class ShareActionProvider.OnShareTargetSelectedListener -->
+<A HREF="pkg_android.widget.html#ShareActionProvider.OnShareTargetSelectedListener" class="hiddenlink" target="rightframe"><b><i>ShareActionProvider.OnShareTargetSelectedListener</i></b></A><br>
+<!-- Class Short2 -->
+<i>Short2</i><br>
+&nbsp;&nbsp;<A HREF="android.renderscript.Short2.html" class="hiddenlink" target="rightframe">android.renderscript</A><br>
+<!-- Constructor Short2 -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.Short2.html#android.renderscript.Short2.ctor_added(short, short)" class="hiddenlink" target="rightframe"><b>Short2</b>
+(<code>short, short</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class Short3 -->
+<i>Short3</i><br>
+&nbsp;&nbsp;<A HREF="android.renderscript.Short3.html" class="hiddenlink" target="rightframe">android.renderscript</A><br>
+<!-- Constructor Short3 -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.Short3.html#android.renderscript.Short3.ctor_added(short, short, short)" class="hiddenlink" target="rightframe"><b>Short3</b>
+(<code>short, short, short</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class Short4 -->
+<i>Short4</i><br>
+&nbsp;&nbsp;<A HREF="android.renderscript.Short4.html" class="hiddenlink" target="rightframe">android.renderscript</A><br>
+<!-- Constructor Short4 -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.Short4.html#android.renderscript.Short4.ctor_added(short, short, short, short)" class="hiddenlink" target="rightframe"><b>Short4</b>
+(<code>short, short, short, short</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Method shouldDelayChildPressedState -->
+<nobr><A HREF="android.view.ViewGroup.html#android.view.ViewGroup.shouldDelayChildPressedState_added()" class="hiddenlink" target="rightframe"><b>shouldDelayChildPressedState</b>
+()</A></nobr><br>
+<!-- Method show -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.show_removed()" class="hiddenlink" target="rightframe"><strike>show</strike>
+()</A></nobr><br>
+<!-- Field SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW -->
+<nobr><A HREF="android.view.MenuItem.html#android.view.MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW" class="hiddenlink" target="rightframe">SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW</A>
+</nobr><br>
+<!-- Class SocketPermission -->
+<A HREF="java.net.SocketPermission.html" class="hiddenlink" target="rightframe">SocketPermission</A><br>
+<!-- Field SOURCE_STYLUS -->
+<nobr><A HREF="android.view.InputDevice.html#android.view.InputDevice.SOURCE_STYLUS" class="hiddenlink" target="rightframe">SOURCE_STYLUS</A>
+</nobr><br>
+<!-- Class Space -->
+<A HREF="pkg_android.widget.html#Space" class="hiddenlink" target="rightframe"><b>Space</b></A><br>
+<!-- Class SparseArray -->
+<A HREF="android.util.SparseArray.html" class="hiddenlink" target="rightframe">SparseArray</A><br>
+<!-- Class SparseBooleanArray -->
+<A HREF="android.util.SparseBooleanArray.html" class="hiddenlink" target="rightframe">SparseBooleanArray</A><br>
+<!-- Class SparseIntArray -->
+<A HREF="android.util.SparseIntArray.html" class="hiddenlink" target="rightframe">SparseIntArray</A><br>
+<!-- Class SpeechRecognizer -->
+<A HREF="android.speech.SpeechRecognizer.html" class="hiddenlink" target="rightframe">SpeechRecognizer</A><br>
+<!-- Class SQLiteOpenHelper -->
+<A HREF="android.database.sqlite.SQLiteOpenHelper.html" class="hiddenlink" target="rightframe">SQLiteOpenHelper</A><br>
+<!-- Class SQLiteQueryBuilder -->
+<A HREF="android.database.sqlite.SQLiteQueryBuilder.html" class="hiddenlink" target="rightframe">SQLiteQueryBuilder</A><br>
+<!-- Field SSL_DATE_INVALID -->
+<nobr><A HREF="android.net.http.SslError.html#android.net.http.SslError.SSL_DATE_INVALID" class="hiddenlink" target="rightframe">SSL_DATE_INVALID</A>
+</nobr><br>
+<!-- Field SSL_INVALID -->
+<nobr><A HREF="android.net.http.SslError.html#android.net.http.SslError.SSL_INVALID" class="hiddenlink" target="rightframe">SSL_INVALID</A>
+</nobr><br>
+<!-- Field SSL_MAX_ERROR -->
+<nobr><A HREF="android.net.http.SslError.html#android.net.http.SslError.SSL_MAX_ERROR" class="hiddenlink" target="rightframe">SSL_MAX_ERROR</A>
+</nobr><br>
+<!-- Class SSLCertificateSocketFactory -->
+<A HREF="android.net.SSLCertificateSocketFactory.html" class="hiddenlink" target="rightframe">SSLCertificateSocketFactory</A><br>
+<!-- Class SslError -->
+<i>SslError</i><br>
+&nbsp;&nbsp;<A HREF="android.net.http.SslError.html" class="hiddenlink" target="rightframe">android.net.http</A><br>
+<!-- Constructor SslError -->
+&nbsp;&nbsp;<nobr><A HREF="android.net.http.SslError.html#android.net.http.SslError.ctor_added(int, android.net.http.SslCertificate, java.lang.String)" class="hiddenlink" target="rightframe"><b>SslError</b>
+(<code>int, SslCertificate, String</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor SslError -->
+&nbsp;&nbsp;<nobr><A HREF="android.net.http.SslError.html#android.net.http.SslError.ctor_added(int, java.security.cert.X509Certificate, java.lang.String)" class="hiddenlink" target="rightframe"><b>SslError</b>
+(<code>int, X509Certificate, String</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor SslError -->
+&nbsp;&nbsp;<nobr><A HREF="android.net.http.SslError.html#android.net.http.SslError.ctor_changed(int, android.net.http.SslCertificate)" class="hiddenlink" target="rightframe">SslError
+(<code>int, SslCertificate</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor SslError -->
+&nbsp;&nbsp;<nobr><A HREF="android.net.http.SslError.html#android.net.http.SslError.ctor_changed(int, java.security.cert.X509Certificate)" class="hiddenlink" target="rightframe">SslError
+(<code>int, X509Certificate</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class StackView -->
+<i>StackView</i><br>
+&nbsp;&nbsp;<A HREF="android.widget.StackView.html" class="hiddenlink" target="rightframe">android.widget</A><br>
+<!-- Constructor StackView -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.StackView.html#android.widget.StackView.ctor_added(android.content.Context, android.util.AttributeSet, int)" class="hiddenlink" target="rightframe"><b>StackView</b>
+(<code>Context, AttributeSet, int</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Method start -->
+<nobr><A HREF="android.view.ViewPropertyAnimator.html#android.view.ViewPropertyAnimator.start_added()" class="hiddenlink" target="rightframe"><b>start</b>
+()</A></nobr><br>
+<!-- Field START -->
+<nobr><A HREF="android.view.Gravity.html#android.view.Gravity.START" class="hiddenlink" target="rightframe">START</A>
+</nobr><br>
+<!-- Method startFaceDetection -->
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.startFaceDetection_added()" class="hiddenlink" target="rightframe"><b>startFaceDetection</b>
+()</A></nobr><br>
+<!-- Method startWithFragment -->
+<nobr><A HREF="android.preference.PreferenceActivity.html#android.preference.PreferenceActivity.startWithFragment_added(java.lang.String, android.os.Bundle, android.app.Fragment, int, int, int)" class="hiddenlink" target="rightframe"><b>startWithFragment</b>
+(<code>String, Bundle, Fragment, int, int, int</code>)</A></nobr><br>
+<!-- Field state_drag_can_accept -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.state_drag_can_accept" class="hiddenlink" target="rightframe">state_drag_can_accept</A>
+</nobr><br>
+<!-- Field state_drag_hovered -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.state_drag_hovered" class="hiddenlink" target="rightframe">state_drag_hovered</A>
+</nobr><br>
+<!-- Field state_hovered -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.state_hovered" class="hiddenlink" target="rightframe">state_hovered</A>
+</nobr><br>
+<!-- Field STATUS_BAR_HIDDEN -->
+<nobr><A HREF="android.view.View.html#android.view.View.STATUS_BAR_HIDDEN" class="hiddenlink" target="rightframe">STATUS_BAR_HIDDEN</A>
+</nobr><br>
+<!-- Field status_bar_notification_info_maxnum -->
+<nobr><A HREF="android.R.integer.html#android.R.integer.status_bar_notification_info_maxnum" class="hiddenlink" target="rightframe">status_bar_notification_info_maxnum</A>
+</nobr><br>
+<!-- Field status_bar_notification_info_overflow -->
+<nobr><A HREF="android.R.string.html#android.R.string.status_bar_notification_info_overflow" class="hiddenlink" target="rightframe">status_bar_notification_info_overflow</A>
+</nobr><br>
+<!-- Field STATUS_BAR_VISIBLE -->
+<nobr><A HREF="android.view.View.html#android.view.View.STATUS_BAR_VISIBLE" class="hiddenlink" target="rightframe">STATUS_BAR_VISIBLE</A>
+</nobr><br>
+<!-- Method stopFaceDetection -->
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.stopFaceDetection_added()" class="hiddenlink" target="rightframe"><b>stopFaceDetection</b>
+()</A></nobr><br>
+<!-- Field stopWithTask -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.stopWithTask" class="hiddenlink" target="rightframe">stopWithTask</A>
+</nobr><br>
+<!-- Method subData -->
+<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.subData_removed(int, android.renderscript.FieldPacker)" class="hiddenlink" target="rightframe"><strike>subData</strike>
+(<code>int, FieldPacker</code>)</A></nobr><br>
+<!-- Method subData1D -->
+<i>subData1D</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.subData1D_removed(int, int, byte[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, int, byte[]</code>)</strike>&nbsp;in&nbsp;android.renderscript.AllocationAdapter
+</A></nobr><br>
+<!-- Method subData1D -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.subData1D_removed(int, int, float[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, int, float[]</code>)</strike>&nbsp;in&nbsp;android.renderscript.AllocationAdapter
+</A></nobr><br>
+<!-- Method subData1D -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.subData1D_removed(int, int, int[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, int, int[]</code>)</strike>&nbsp;in&nbsp;android.renderscript.AllocationAdapter
+</A></nobr><br>
+<!-- Method subData1D -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.subData1D_removed(int, int, short[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, int, short[]</code>)</strike>&nbsp;in&nbsp;android.renderscript.AllocationAdapter
+</A></nobr><br>
+<!-- Method subData2D -->
+<i>subData2D</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.subData2D_removed(int, int, int, int, float[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, int, int, int, float[]</code>)</strike>&nbsp;in&nbsp;android.renderscript.AllocationAdapter
+</A></nobr><br>
+<!-- Method subData2D -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.subData2D_removed(int, int, int, int, int[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, int, int, int, int[]</code>)</strike>&nbsp;in&nbsp;android.renderscript.AllocationAdapter
+</A></nobr><br>
+<!-- Method subElementData -->
+<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.subElementData_removed(int, int, android.renderscript.FieldPacker)" class="hiddenlink" target="rightframe"><strike>subElementData</strike>
+(<code>int, int, FieldPacker</code>)</A></nobr><br>
+<!-- Field subtypeExtraValue -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.subtypeExtraValue" class="hiddenlink" target="rightframe">subtypeExtraValue</A>
+</nobr><br>
+<!-- Field subtypeLocale -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.subtypeLocale" class="hiddenlink" target="rightframe">subtypeLocale</A>
+</nobr><br>
+<!-- Field SUGGEST_COLUMN_LAST_ACCESS_HINT -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.SUGGEST_COLUMN_LAST_ACCESS_HINT" class="hiddenlink" target="rightframe">SUGGEST_COLUMN_LAST_ACCESS_HINT</A>
+</nobr><br>
+<!-- Class SuggestionSpan -->
+<A HREF="pkg_android.text.style.html#SuggestionSpan" class="hiddenlink" target="rightframe"><b>SuggestionSpan</b></A><br>
+<!-- Method supportsProcesses -->
+<nobr><A HREF="android.os.Process.html#android.os.Process.supportsProcesses_changed()" class="hiddenlink" target="rightframe">supportsProcesses
+()</A></nobr><br>
+<!-- Field SURACE_FROZEN -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.SURACE_FROZEN" class="hiddenlink" target="rightframe"><strike>SURACE_FROZEN</strike></A>
+</nobr><br>
+<!-- Class Surface -->
+<i>Surface</i><br>
+&nbsp;&nbsp;<A HREF="android.view.Surface.html" class="hiddenlink" target="rightframe">android.view</A><br>
+<!-- Constructor Surface -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.Surface.html#android.view.Surface.ctor_added(android.graphics.SurfaceTexture)" class="hiddenlink" target="rightframe"><b>Surface</b>
+(<code>SurfaceTexture</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Field SURFACE_BLUR_FREEZE -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.SURFACE_BLUR_FREEZE" class="hiddenlink" target="rightframe"><strike>SURFACE_BLUR_FREEZE</strike></A>
+</nobr><br>
+<!-- Field SURFACE_DITHER -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.SURFACE_DITHER" class="hiddenlink" target="rightframe"><strike>SURFACE_DITHER</strike></A>
+</nobr><br>
+<!-- Field SURFACE_FROZEN -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.SURFACE_FROZEN" class="hiddenlink" target="rightframe"><strike>SURFACE_FROZEN</strike></A>
+</nobr><br>
+<!-- Field SURFACE_HIDDEN -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.SURFACE_HIDDEN" class="hiddenlink" target="rightframe"><strike>SURFACE_HIDDEN</strike></A>
+</nobr><br>
+<!-- Class SurfaceTexture -->
+<A HREF="android.graphics.SurfaceTexture.html" class="hiddenlink" target="rightframe">SurfaceTexture</A><br>
+<!-- Class Switch -->
+<A HREF="pkg_android.widget.html#Switch" class="hiddenlink" target="rightframe"><b>Switch</b></A><br>
+<!-- Field switchMinWidth -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.switchMinWidth" class="hiddenlink" target="rightframe">switchMinWidth</A>
+</nobr><br>
+<!-- Field switchPadding -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.switchPadding" class="hiddenlink" target="rightframe">switchPadding</A>
+</nobr><br>
+<!-- Class SwitchPreference -->
+<A HREF="pkg_android.preference.html#SwitchPreference" class="hiddenlink" target="rightframe"><b>SwitchPreference</b></A><br>
+<!-- Field switchPreferenceStyle -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.switchPreferenceStyle" class="hiddenlink" target="rightframe">switchPreferenceStyle</A>
+</nobr><br>
+<!-- Field switchTextAppearance -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.switchTextAppearance" class="hiddenlink" target="rightframe">switchTextAppearance</A>
+</nobr><br>
+<!-- Field switchTextOff -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.switchTextOff" class="hiddenlink" target="rightframe">switchTextOff</A>
+</nobr><br>
+<!-- Field switchTextOn -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.switchTextOn" class="hiddenlink" target="rightframe">switchTextOn</A>
+</nobr><br>
+<!-- Class SyncAdapterType -->
+<A HREF="android.content.SyncAdapterType.html" class="hiddenlink" target="rightframe">SyncAdapterType</A><br>
+<!-- Class SynthesisCallback -->
+<A HREF="pkg_android.speech.tts.html#SynthesisCallback" class="hiddenlink" target="rightframe"><b><i>SynthesisCallback</i></b></A><br>
+<!-- Class SynthesisRequest -->
+<A HREF="pkg_android.speech.tts.html#SynthesisRequest" class="hiddenlink" target="rightframe"><b>SynthesisRequest</b></A><br>
+<!-- Field SYSTEM_UI_FLAG_HIDE_NAVIGATION -->
+<nobr><A HREF="android.view.View.html#android.view.View.SYSTEM_UI_FLAG_HIDE_NAVIGATION" class="hiddenlink" target="rightframe">SYSTEM_UI_FLAG_HIDE_NAVIGATION</A>
+</nobr><br>
+<!-- Field SYSTEM_UI_FLAG_LOW_PROFILE -->
+<nobr><A HREF="android.view.View.html#android.view.View.SYSTEM_UI_FLAG_LOW_PROFILE" class="hiddenlink" target="rightframe">SYSTEM_UI_FLAG_LOW_PROFILE</A>
+</nobr><br>
+<!-- Field SYSTEM_UI_FLAG_VISIBLE -->
+<nobr><A HREF="android.view.View.html#android.view.View.SYSTEM_UI_FLAG_VISIBLE" class="hiddenlink" target="rightframe">SYSTEM_UI_FLAG_VISIBLE</A>
+</nobr><br>
+<!-- Method tagSocket -->
+<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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.tagSocket_added(java.net.Socket)" class="hiddenlink" target="rightframe"><b>tagSocket</b>
+(<code>Socket</code>)</A></nobr><br>
+<!-- Field targetDescriptions -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.targetDescriptions" class="hiddenlink" target="rightframe">targetDescriptions</A>
+</nobr><br>
+<!-- Class TestTarget -->
+<A HREF="dalvik.annotation.TestTarget.html" class="hiddenlink" target="rightframe">TestTarget</A><br>
+<!-- Class TestTargetClass -->
+<A HREF="dalvik.annotation.TestTargetClass.html" class="hiddenlink" target="rightframe">TestTargetClass</A><br>
+<!-- Field TEXT_SERVICES_MANAGER_SERVICE -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.TEXT_SERVICES_MANAGER_SERVICE" class="hiddenlink" target="rightframe">TEXT_SERVICES_MANAGER_SERVICE</A>
+</nobr><br>
+<!-- Field textAllCaps -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.textAllCaps" class="hiddenlink" target="rightframe">textAllCaps</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_DialogWindowTitle -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_DialogWindowTitle" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_DialogWindowTitle</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Inverse" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Inverse</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Large -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Large" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Large</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Large_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Large_Inverse" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Large_Inverse</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Medium -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Medium" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Medium</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Medium_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Medium_Inverse" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Medium_Inverse</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_SearchResult_Subtitle -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_SearchResult_Subtitle" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_SearchResult_Subtitle</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_SearchResult_Title -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_SearchResult_Title" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_SearchResult_Title</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Small -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Small" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Small</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Small_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Small_Inverse" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Small_Inverse</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_ActionBar_Menu -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionBar_Menu" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionBar_Menu</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle_Inverse" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle_Inverse</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_ActionBar_Title -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionBar_Title" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionBar_Title</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_ActionBar_Title_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionBar_Title_Inverse" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionBar_Title_Inverse</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle_Inverse" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle_Inverse</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_ActionMode_Title -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionMode_Title" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionMode_Title</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_ActionMode_Title_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionMode_Title_Inverse" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionMode_Title_Inverse</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_Button -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_Button" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_Button</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_DropDownHint -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_DropDownHint" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_DropDownHint</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_DropDownItem -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_DropDownItem" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_DropDownItem</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_EditText -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_EditText" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_EditText</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_IconMenu_Item -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_IconMenu_Item" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_IconMenu_Item</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_PopupMenu -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_PopupMenu" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_PopupMenu</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_PopupMenu_Large -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_PopupMenu_Large" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_PopupMenu_Large</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_PopupMenu_Small -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_PopupMenu_Small" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_PopupMenu_Small</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_TabWidget -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_TabWidget" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_TabWidget</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_TextView -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_TextView" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_TextView</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_TextView_PopupMenu -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_TextView_PopupMenu" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_TextView_PopupMenu</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_Widget_TextView_SpinnerItem -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_TextView_SpinnerItem" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_TextView_SpinnerItem</A>
+</nobr><br>
+<!-- Field TextAppearance_DeviceDefault_WindowTitle -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_WindowTitle" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_WindowTitle</A>
+</nobr><br>
+<!-- Field TextAppearance_Holo_Widget_ActionBar_Menu -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Holo_Widget_ActionBar_Menu" class="hiddenlink" target="rightframe">TextAppearance_Holo_Widget_ActionBar_Menu</A>
+</nobr><br>
+<!-- Field TextAppearance_Holo_Widget_ActionBar_Subtitle_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Holo_Widget_ActionBar_Subtitle_Inverse" class="hiddenlink" target="rightframe">TextAppearance_Holo_Widget_ActionBar_Subtitle_Inverse</A>
+</nobr><br>
+<!-- Field TextAppearance_Holo_Widget_ActionBar_Title_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Holo_Widget_ActionBar_Title_Inverse" class="hiddenlink" target="rightframe">TextAppearance_Holo_Widget_ActionBar_Title_Inverse</A>
+</nobr><br>
+<!-- Field TextAppearance_Holo_Widget_ActionMode_Subtitle_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Holo_Widget_ActionMode_Subtitle_Inverse" class="hiddenlink" target="rightframe">TextAppearance_Holo_Widget_ActionMode_Subtitle_Inverse</A>
+</nobr><br>
+<!-- Field TextAppearance_Holo_Widget_ActionMode_Title_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Holo_Widget_ActionMode_Title_Inverse" class="hiddenlink" target="rightframe">TextAppearance_Holo_Widget_ActionMode_Title_Inverse</A>
+</nobr><br>
+<!-- Field TextAppearance_SuggestionHighlight -->
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_SuggestionHighlight" class="hiddenlink" target="rightframe">TextAppearance_SuggestionHighlight</A>
+</nobr><br>
+<!-- Field textAppearanceListItem -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.textAppearanceListItem" class="hiddenlink" target="rightframe">textAppearanceListItem</A>
+</nobr><br>
+<!-- Field textAppearanceListItemSmall -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.textAppearanceListItemSmall" class="hiddenlink" target="rightframe">textAppearanceListItemSmall</A>
+</nobr><br>
+<!-- Field textEditSuggestionItemLayout -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.textEditSuggestionItemLayout" class="hiddenlink" target="rightframe">textEditSuggestionItemLayout</A>
+</nobr><br>
+<!-- Field textSuggestionsWindowStyle -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.textSuggestionsWindowStyle" class="hiddenlink" target="rightframe">textSuggestionsWindowStyle</A>
+</nobr><br>
+<!-- Class TextToSpeech -->
+<i>TextToSpeech</i><br>
+&nbsp;&nbsp;<A HREF="android.speech.tts.TextToSpeech.html" class="hiddenlink" target="rightframe">android.speech.tts</A><br>
+<!-- Constructor TextToSpeech -->
+&nbsp;&nbsp;<nobr><A HREF="android.speech.tts.TextToSpeech.html#android.speech.tts.TextToSpeech.ctor_added(android.content.Context, android.speech.tts.TextToSpeech.OnInitListener, java.lang.String)" class="hiddenlink" target="rightframe"><b>TextToSpeech</b>
+(<code>Context, OnInitListener, String</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class TextToSpeech.Engine -->
+<A HREF="android.speech.tts.TextToSpeech.Engine.html" class="hiddenlink" target="rightframe">TextToSpeech.Engine</A><br>
+<!-- Class TextToSpeech.EngineInfo -->
+<A HREF="pkg_android.speech.tts.html#TextToSpeech.EngineInfo" class="hiddenlink" target="rightframe"><b>TextToSpeech.EngineInfo</b></A><br>
+<!-- Class TextToSpeechService -->
+<A HREF="pkg_android.speech.tts.html#TextToSpeechService" class="hiddenlink" target="rightframe"><b>TextToSpeechService</b></A><br>
+<!-- Class TextureView -->
+<A HREF="pkg_android.view.html#TextureView" class="hiddenlink" target="rightframe"><b>TextureView</b></A><br>
+<!-- Class TextureView.SurfaceTextureListener -->
+<A HREF="pkg_android.view.html#TextureView.SurfaceTextureListener" class="hiddenlink" target="rightframe"><b><i>TextureView.SurfaceTextureListener</i></b></A><br>
+<!-- Class TextView -->
+<A HREF="android.widget.TextView.html" class="hiddenlink" target="rightframe">TextView</A><br>
+<!-- Field THEME_DEVICE_DEFAULT_DARK -->
+<nobr><A HREF="android.app.AlertDialog.html#android.app.AlertDialog.THEME_DEVICE_DEFAULT_DARK" class="hiddenlink" target="rightframe">THEME_DEVICE_DEFAULT_DARK</A>
+</nobr><br>
+<!-- Field THEME_DEVICE_DEFAULT_LIGHT -->
+<nobr><A HREF="android.app.AlertDialog.html#android.app.AlertDialog.THEME_DEVICE_DEFAULT_LIGHT" class="hiddenlink" target="rightframe">THEME_DEVICE_DEFAULT_LIGHT</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault" class="hiddenlink" target="rightframe">Theme_DeviceDefault</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Dialog -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Dialog" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Dialog</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Dialog_MinWidth -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Dialog_MinWidth" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Dialog_MinWidth</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Dialog_NoActionBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Dialog_NoActionBar" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Dialog_NoActionBar</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Dialog_NoActionBar_MinWidth -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Dialog_NoActionBar_MinWidth" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Dialog_NoActionBar_MinWidth</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_DialogWhenLarge -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_DialogWhenLarge" class="hiddenlink" target="rightframe">Theme_DeviceDefault_DialogWhenLarge</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_DialogWhenLarge_NoActionBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_DialogWhenLarge_NoActionBar" class="hiddenlink" target="rightframe">Theme_DeviceDefault_DialogWhenLarge_NoActionBar</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_InputMethod -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_InputMethod" class="hiddenlink" target="rightframe">Theme_DeviceDefault_InputMethod</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Light -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Light_DarkActionBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_DarkActionBar" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_DarkActionBar</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Light_Dialog -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_Dialog" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_Dialog</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Light_Dialog_MinWidth -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_Dialog_MinWidth" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_Dialog_MinWidth</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Light_Dialog_NoActionBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_Dialog_NoActionBar" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_Dialog_NoActionBar</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Light_Dialog_NoActionBar_MinWidth -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_Dialog_NoActionBar_MinWidth" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_Dialog_NoActionBar_MinWidth</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Light_DialogWhenLarge -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_DialogWhenLarge" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_DialogWhenLarge</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Light_DialogWhenLarge_NoActionBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_DialogWhenLarge_NoActionBar" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_DialogWhenLarge_NoActionBar</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Light_NoActionBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_NoActionBar" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_NoActionBar</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Light_NoActionBar_Fullscreen -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_NoActionBar_Fullscreen" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_NoActionBar_Fullscreen</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Light_Panel -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_Panel" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_Panel</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_NoActionBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_NoActionBar" class="hiddenlink" target="rightframe">Theme_DeviceDefault_NoActionBar</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_NoActionBar_Fullscreen -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_NoActionBar_Fullscreen" class="hiddenlink" target="rightframe">Theme_DeviceDefault_NoActionBar_Fullscreen</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Panel -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Panel" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Panel</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Wallpaper -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Wallpaper" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Wallpaper</A>
+</nobr><br>
+<!-- Field Theme_DeviceDefault_Wallpaper_NoTitleBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Wallpaper_NoTitleBar" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Wallpaper_NoTitleBar</A>
+</nobr><br>
+<!-- Field Theme_Holo_Light_DarkActionBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_Holo_Light_DarkActionBar" class="hiddenlink" target="rightframe">Theme_Holo_Light_DarkActionBar</A>
+</nobr><br>
+<!-- Field thumbTextPadding -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.thumbTextPadding" class="hiddenlink" target="rightframe">thumbTextPadding</A>
+</nobr><br>
+<!-- Field TOOL_TYPE_ERASER -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.TOOL_TYPE_ERASER" class="hiddenlink" target="rightframe">TOOL_TYPE_ERASER</A>
+</nobr><br>
+<!-- Field TOOL_TYPE_FINGER -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.TOOL_TYPE_FINGER" class="hiddenlink" target="rightframe">TOOL_TYPE_FINGER</A>
+</nobr><br>
+<!-- Field TOOL_TYPE_MOUSE -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.TOOL_TYPE_MOUSE" class="hiddenlink" target="rightframe">TOOL_TYPE_MOUSE</A>
+</nobr><br>
+<!-- Field TOOL_TYPE_STYLUS -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.TOOL_TYPE_STYLUS" class="hiddenlink" target="rightframe">TOOL_TYPE_STYLUS</A>
+</nobr><br>
+<!-- Field TOOL_TYPE_UNKNOWN -->
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.TOOL_TYPE_UNKNOWN" class="hiddenlink" target="rightframe">TOOL_TYPE_UNKNOWN</A>
+</nobr><br>
+<!-- Field TOP_LEVEL_DOMAIN_STR -->
+<nobr><A HREF="android.util.Patterns.html#android.util.Patterns.TOP_LEVEL_DOMAIN_STR" class="hiddenlink" target="rightframe">TOP_LEVEL_DOMAIN_STR</A>
+</nobr><br>
+<!-- Field TOP_LEVEL_DOMAIN_STR_FOR_WEB_URL -->
+<nobr><A HREF="android.util.Patterns.html#android.util.Patterns.TOP_LEVEL_DOMAIN_STR_FOR_WEB_URL" class="hiddenlink" target="rightframe">TOP_LEVEL_DOMAIN_STR_FOR_WEB_URL</A>
+</nobr><br>
+<!-- Method toShortString -->
+<nobr><A HREF="android.graphics.RectF.html#android.graphics.RectF.toShortString_added()" class="hiddenlink" target="rightframe"><b>toShortString</b>
+()</A></nobr><br>
+<!-- Field TOUCH_EXPLORATION_ENABLED -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.TOUCH_EXPLORATION_ENABLED" class="hiddenlink" target="rightframe">TOUCH_EXPLORATION_ENABLED</A>
+</nobr><br>
+<!-- Field track -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.track" class="hiddenlink" target="rightframe">track</A>
+</nobr><br>
+<!-- Class TrafficStats -->
+<A HREF="android.net.TrafficStats.html" class="hiddenlink" target="rightframe">TrafficStats</A><br>
+<!-- Field TRANSLATION_X -->
+<nobr><A HREF="android.view.View.html#android.view.View.TRANSLATION_X" class="hiddenlink" target="rightframe">TRANSLATION_X</A>
+</nobr><br>
+<!-- Field TRANSLATION_Y -->
+<nobr><A HREF="android.view.View.html#android.view.View.TRANSLATION_Y" class="hiddenlink" target="rightframe">TRANSLATION_Y</A>
+</nobr><br>
+<!-- Field TTS_DEFAULT_COUNTRY -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.TTS_DEFAULT_COUNTRY" class="hiddenlink" target="rightframe">TTS_DEFAULT_COUNTRY</A>
+</nobr><br>
+<!-- Field TTS_DEFAULT_LANG -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.TTS_DEFAULT_LANG" class="hiddenlink" target="rightframe">TTS_DEFAULT_LANG</A>
+</nobr><br>
+<!-- Field TTS_DEFAULT_VARIANT -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.TTS_DEFAULT_VARIANT" class="hiddenlink" target="rightframe">TTS_DEFAULT_VARIANT</A>
+</nobr><br>
+<!-- Field TTS_USE_DEFAULTS -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.TTS_USE_DEFAULTS" class="hiddenlink" target="rightframe">TTS_USE_DEFAULTS</A>
+</nobr><br>
+<!-- Class TwoStatePreference -->
+<A HREF="pkg_android.preference.html#TwoStatePreference" class="hiddenlink" target="rightframe"><b>TwoStatePreference</b></A><br>
+<!-- Field TYPE_AMBIENT_TEMPERATURE -->
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_AMBIENT_TEMPERATURE" class="hiddenlink" target="rightframe">TYPE_AMBIENT_TEMPERATURE</A>
+</nobr><br>
+<!-- Field TYPE_DIRECTORY -->
+<nobr><A HREF="android.app.backup.BackupAgent.html#android.app.backup.BackupAgent.TYPE_DIRECTORY" class="hiddenlink" target="rightframe">TYPE_DIRECTORY</A>
+</nobr><br>
+<!-- Field TYPE_DUMMY -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.TYPE_DUMMY" class="hiddenlink" target="rightframe">TYPE_DUMMY</A>
+</nobr><br>
+<!-- Field TYPE_FILE -->
+<nobr><A HREF="android.app.backup.BackupAgent.html#android.app.backup.BackupAgent.TYPE_FILE" class="hiddenlink" target="rightframe">TYPE_FILE</A>
+</nobr><br>
+<!-- Field TYPE_RELATIVE_HUMIDITY -->
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_RELATIVE_HUMIDITY" class="hiddenlink" target="rightframe">TYPE_RELATIVE_HUMIDITY</A>
+</nobr><br>
+<!-- Field TYPE_TEMPERATURE -->
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_TEMPERATURE" class="hiddenlink" target="rightframe">TYPE_TEMPERATURE</A>
+</nobr><br>
+<!-- Field TYPE_TOUCH_EXPLORATION_GESTURE_END -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.TYPE_TOUCH_EXPLORATION_GESTURE_END" class="hiddenlink" target="rightframe">TYPE_TOUCH_EXPLORATION_GESTURE_END</A>
+</nobr><br>
+<!-- Field TYPE_TOUCH_EXPLORATION_GESTURE_START -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.TYPE_TOUCH_EXPLORATION_GESTURE_START" class="hiddenlink" target="rightframe">TYPE_TOUCH_EXPLORATION_GESTURE_START</A>
+</nobr><br>
+<!-- Field TYPE_VIEW_HOVER_ENTER -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.TYPE_VIEW_HOVER_ENTER" class="hiddenlink" target="rightframe">TYPE_VIEW_HOVER_ENTER</A>
+</nobr><br>
+<!-- Field TYPE_VIEW_HOVER_EXIT -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.TYPE_VIEW_HOVER_EXIT" class="hiddenlink" target="rightframe">TYPE_VIEW_HOVER_EXIT</A>
+</nobr><br>
+<!-- Field TYPE_VIEW_SCROLLED -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.TYPE_VIEW_SCROLLED" class="hiddenlink" target="rightframe">TYPE_VIEW_SCROLLED</A>
+</nobr><br>
+<!-- Field TYPE_VIEW_TEXT_SELECTION_CHANGED -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.TYPE_VIEW_TEXT_SELECTION_CHANGED" class="hiddenlink" target="rightframe">TYPE_VIEW_TEXT_SELECTION_CHANGED</A>
+</nobr><br>
+<!-- Field TYPE_WINDOW_CONTENT_CHANGED -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED" class="hiddenlink" target="rightframe">TYPE_WINDOW_CONTENT_CHANGED</A>
+</nobr><br>
+<!-- Class TypeEvaluator -->
+<A HREF="android.animation.TypeEvaluator.html" class="hiddenlink" target="rightframe"><i>TypeEvaluator</i></A><br>
+<!-- Method U16_2 -->
+<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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U16_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U16_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method U16_3 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U16_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U16_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method U16_4 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U16_4_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U16_4</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method U32_2 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U32_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U32_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method U32_3 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U32_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U32_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method U32_4 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U32_4_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U32_4</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method U64_2 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U64_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U64_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method U64_3 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U64_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U64_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method U64_4 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U64_4_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U64_4</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method U8_2 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U8_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U8_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Method U8_3 -->
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U8_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U8_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<!-- Field UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW -->
+<nobr><A HREF="android.content.pm.ActivityInfo.html#android.content.pm.ActivityInfo.UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW" class="hiddenlink" target="rightframe">UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW</A>
+</nobr><br>
+<!-- Field uiOptions -->
+<i>uiOptions</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.uiOptions" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field uiOptions -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.content.pm.ActivityInfo.html#android.content.pm.ActivityInfo.uiOptions" class="hiddenlink" target="rightframe">android.content.pm.ActivityInfo</A>
+</nobr><br>
+<!-- Field uiOptions -->
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.uiOptions" class="hiddenlink" target="rightframe">android.content.pm.ApplicationInfo</A>
+</nobr><br>
+<!-- Method unfreeze -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.unfreeze_removed()" class="hiddenlink" target="rightframe"><strike>unfreeze</strike>
+()</A></nobr><br>
+<!-- Method unregisterActivityLifecycleCallbacks -->
+<nobr><A HREF="android.app.Application.html#android.app.Application.unregisterActivityLifecycleCallbacks_added(android.app.Application.ActivityLifecycleCallbacks)" class="hiddenlink" target="rightframe"><b>unregisterActivityLifecycleCallbacks</b>
+(<code>ActivityLifecycleCallbacks</code>)</A></nobr><br>
+<!-- Method unregisterComponentCallbacks -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.unregisterComponentCallbacks_added(android.content.ComponentCallbacks)" class="hiddenlink" target="rightframe"><b>unregisterComponentCallbacks</b>
+(<code>ComponentCallbacks</code>)</A></nobr><br>
+<!-- Method unregisterRemoteControlClient -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.unregisterRemoteControlClient_added(android.media.RemoteControlClient)" class="hiddenlink" target="rightframe"><b>unregisterRemoteControlClient</b>
+(<code>RemoteControlClient</code>)</A></nobr><br>
+<!-- Class UnresolvedPermission -->
+<A HREF="java.security.UnresolvedPermission.html" class="hiddenlink" target="rightframe">UnresolvedPermission</A><br>
+<!-- Method untagSocket -->
+<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.untagSocket_added(java.net.Socket)" class="hiddenlink" target="rightframe"><b>untagSocket</b>
+(<code>Socket</code>)</A></nobr><br>
+<!-- Field USAGE_GRAPHICS_RENDER_TARGET -->
+<nobr><A HREF="android.renderscript.Allocation.html#android.renderscript.Allocation.USAGE_GRAPHICS_RENDER_TARGET" class="hiddenlink" target="rightframe">USAGE_GRAPHICS_RENDER_TARGET</A>
+</nobr><br>
+<!-- Field useDefaultMargins -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.useDefaultMargins" class="hiddenlink" target="rightframe">useDefaultMargins</A>
+</nobr><br>
+<!-- Field USES_POLICY_DISABLE_CAMERA -->
+<nobr><A HREF="android.app.admin.DeviceAdminInfo.html#android.app.admin.DeviceAdminInfo.USES_POLICY_DISABLE_CAMERA" class="hiddenlink" target="rightframe">USES_POLICY_DISABLE_CAMERA</A>
+</nobr><br>
+<!-- Field VERIFICATION_ALLOW -->
+<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="#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.VERIFICATION_ALLOW" class="hiddenlink" target="rightframe">VERIFICATION_ALLOW</A>
+</nobr><br>
+<!-- Field VERIFICATION_REJECT -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.VERIFICATION_REJECT" class="hiddenlink" target="rightframe">VERIFICATION_REJECT</A>
+</nobr><br>
+<!-- Method verifyPendingInstall -->
+<i>verifyPendingInstall</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.verifyPendingInstall_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+<!-- Method verifyPendingInstall -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.verifyPendingInstall_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</A></nobr><br>
+<!-- Class View -->
+<A HREF="android.view.View.html" class="hiddenlink" target="rightframe">View</A><br>
+<!-- Class View.AccessibilityDelegate -->
+<A HREF="pkg_android.view.html#View.AccessibilityDelegate" class="hiddenlink" target="rightframe"><b>View.AccessibilityDelegate</b></A><br>
+<!-- Class View.OnHoverListener -->
+<A HREF="pkg_android.view.html#View.OnHoverListener" class="hiddenlink" target="rightframe"><b><i>View.OnHoverListener</i></b></A><br>
+<!-- Method viewClicked -->
+<i>viewClicked</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.inputmethodservice.InputMethodService.InputMethodSessionImpl.html#android.inputmethodservice.InputMethodService.InputMethodSessionImpl.viewClicked_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.inputmethodservice.InputMethodService.InputMethodSessionImpl
+</A></nobr><br>
+<!-- Method viewClicked -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputMethodManager.html#android.view.inputmethod.InputMethodManager.viewClicked_added(android.view.View)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View</code>)</b>&nbsp;in&nbsp;android.view.inputmethod.InputMethodManager
+</A></nobr><br>
+<!-- Method viewClicked -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputMethodSession.html#android.view.inputmethod.InputMethodSession.viewClicked_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.view.inputmethod.InputMethodSession
+</A></nobr><br>
+<!-- Class ViewConfiguration -->
+<A HREF="android.view.ViewConfiguration.html" class="hiddenlink" target="rightframe">ViewConfiguration</A><br>
+<!-- Class ViewGroup -->
+<A HREF="android.view.ViewGroup.html" class="hiddenlink" target="rightframe">ViewGroup</A><br>
+<!-- Class ViewParent -->
+<A HREF="android.view.ViewParent.html" class="hiddenlink" target="rightframe"><i>ViewParent</i></A><br>
+<!-- Class ViewPropertyAnimator -->
+<A HREF="android.view.ViewPropertyAnimator.html" class="hiddenlink" target="rightframe">ViewPropertyAnimator</A><br>
+<!-- Class VoicemailContract -->
+<A HREF="pkg_android.provider.html#VoicemailContract" class="hiddenlink" target="rightframe"><b>VoicemailContract</b></A><br>
+<!-- Class VoicemailContract.Status -->
+<A HREF="pkg_android.provider.html#VoicemailContract.Status" class="hiddenlink" target="rightframe"><b>VoicemailContract.Status</b></A><br>
+<!-- Class VoicemailContract.Voicemails -->
+<A HREF="pkg_android.provider.html#VoicemailContract.Voicemails" class="hiddenlink" target="rightframe"><b>VoicemailContract.Voicemails</b></A><br>
+<!-- Class VpnService -->
+<A HREF="pkg_android.net.html#VpnService" class="hiddenlink" target="rightframe"><b>VpnService</b></A><br>
+<!-- Class VpnService.Builder -->
+<A HREF="pkg_android.net.html#VpnService.Builder" class="hiddenlink" target="rightframe"><b>VpnService.Builder</b></A><br>
+<!-- Class WallpaperManager -->
+<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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.app.WallpaperManager.html" class="hiddenlink" target="rightframe">WallpaperManager</A><br>
+<!-- Class WallpaperService.Engine -->
+<A HREF="android.service.wallpaper.WallpaperService.Engine.html" class="hiddenlink" target="rightframe">WallpaperService.Engine</A><br>
+<!-- Class WebChromeClient -->
+<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.TextSize -->
+<A HREF="android.webkit.WebSettings.TextSize.html" class="hiddenlink" target="rightframe">WebSettings.TextSize</A><br>
+<!-- Class WebView.HitTestResult -->
+<A HREF="android.webkit.WebView.HitTestResult.html" class="hiddenlink" target="rightframe">WebView.HitTestResult</A><br>
+<!-- Field Widget_DeviceDefault -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault" class="hiddenlink" target="rightframe">Widget_DeviceDefault</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ActionBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionBar</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ActionBar_Solid -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionBar_Solid" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionBar_Solid</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ActionBar_TabBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionBar_TabBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionBar_TabBar</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ActionBar_TabText -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionBar_TabText" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionBar_TabText</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ActionBar_TabView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionBar_TabView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionBar_TabView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ActionButton -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionButton" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionButton</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ActionButton_CloseMode -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionButton_CloseMode" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionButton_CloseMode</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ActionButton_Overflow -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionButton_Overflow" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionButton_Overflow</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ActionButton_TextButton -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionButton_TextButton" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionButton_TextButton</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ActionMode -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionMode" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionMode</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_AutoCompleteTextView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_AutoCompleteTextView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_AutoCompleteTextView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Button -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Button" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Button</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Button_Borderless -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Button_Borderless" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Button_Borderless</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Button_Borderless_Small -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Button_Borderless_Small" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Button_Borderless_Small</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Button_Inset -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Button_Inset" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Button_Inset</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Button_Small -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Button_Small" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Button_Small</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Button_Toggle -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Button_Toggle" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Button_Toggle</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_CalendarView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_CalendarView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_CalendarView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_CompoundButton_CheckBox -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_CompoundButton_CheckBox" class="hiddenlink" target="rightframe">Widget_DeviceDefault_CompoundButton_CheckBox</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_CompoundButton_RadioButton -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_CompoundButton_RadioButton" class="hiddenlink" target="rightframe">Widget_DeviceDefault_CompoundButton_RadioButton</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_CompoundButton_Star -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_CompoundButton_Star" class="hiddenlink" target="rightframe">Widget_DeviceDefault_CompoundButton_Star</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_DatePicker -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_DatePicker" class="hiddenlink" target="rightframe">Widget_DeviceDefault_DatePicker</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_DropDownItem -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_DropDownItem" class="hiddenlink" target="rightframe">Widget_DeviceDefault_DropDownItem</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_DropDownItem_Spinner -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_DropDownItem_Spinner" class="hiddenlink" target="rightframe">Widget_DeviceDefault_DropDownItem_Spinner</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_EditText -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_EditText" class="hiddenlink" target="rightframe">Widget_DeviceDefault_EditText</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ExpandableListView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ExpandableListView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ExpandableListView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_GridView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_GridView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_GridView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_HorizontalScrollView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_HorizontalScrollView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_HorizontalScrollView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ImageButton -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ImageButton" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ImageButton</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ActionBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ActionBar_Solid -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar_Solid" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar_Solid</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ActionBar_Solid_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar_Solid_Inverse" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar_Solid_Inverse</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ActionBar_TabBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar_TabBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar_TabBar</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ActionBar_TabBar_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar_TabBar_Inverse" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar_TabBar_Inverse</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ActionBar_TabText -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar_TabText" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar_TabText</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ActionBar_TabText_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar_TabText_Inverse" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar_TabText_Inverse</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ActionBar_TabView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar_TabView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar_TabView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ActionBar_TabView_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar_TabView_Inverse" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar_TabView_Inverse</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ActionButton -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionButton" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionButton</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ActionButton_CloseMode -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionButton_CloseMode" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionButton_CloseMode</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ActionButton_Overflow -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionButton_Overflow" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionButton_Overflow</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ActionMode -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionMode" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionMode</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ActionMode_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionMode_Inverse" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionMode_Inverse</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_AutoCompleteTextView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_AutoCompleteTextView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_AutoCompleteTextView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_Button -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_Button" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_Button</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_Button_Borderless_Small -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_Button_Borderless_Small" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_Button_Borderless_Small</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_Button_Inset -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_Button_Inset" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_Button_Inset</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_Button_Small -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_Button_Small" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_Button_Small</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_Button_Toggle -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_Button_Toggle" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_Button_Toggle</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_CalendarView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_CalendarView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_CalendarView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_CompoundButton_CheckBox -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_CompoundButton_CheckBox" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_CompoundButton_CheckBox</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_CompoundButton_RadioButton -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_CompoundButton_RadioButton" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_CompoundButton_RadioButton</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_CompoundButton_Star -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_CompoundButton_Star" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_CompoundButton_Star</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_DropDownItem -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_DropDownItem" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_DropDownItem</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_DropDownItem_Spinner -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_DropDownItem_Spinner" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_DropDownItem_Spinner</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_EditText -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_EditText" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_EditText</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ExpandableListView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ExpandableListView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ExpandableListView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_GridView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_GridView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_GridView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_HorizontalScrollView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_HorizontalScrollView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_HorizontalScrollView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ImageButton -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ImageButton" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ImageButton</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ListPopupWindow -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ListPopupWindow" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ListPopupWindow</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ListView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ListView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ListView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ListView_DropDown -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ListView_DropDown" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ListView_DropDown</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_PopupMenu -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_PopupMenu" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_PopupMenu</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_PopupWindow -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_PopupWindow" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_PopupWindow</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ProgressBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ProgressBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ProgressBar</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ProgressBar_Horizontal -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ProgressBar_Horizontal" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ProgressBar_Horizontal</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ProgressBar_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ProgressBar_Inverse" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ProgressBar_Inverse</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ProgressBar_Large -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ProgressBar_Large" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ProgressBar_Large</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ProgressBar_Large_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ProgressBar_Large_Inverse" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ProgressBar_Large_Inverse</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ProgressBar_Small -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ProgressBar_Small" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ProgressBar_Small</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ProgressBar_Small_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ProgressBar_Small_Inverse" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ProgressBar_Small_Inverse</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ProgressBar_Small_Title -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ProgressBar_Small_Title" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ProgressBar_Small_Title</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_RatingBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_RatingBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_RatingBar</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_RatingBar_Indicator -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_RatingBar_Indicator" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_RatingBar_Indicator</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_RatingBar_Small -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_RatingBar_Small" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_RatingBar_Small</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_ScrollView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ScrollView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ScrollView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_SeekBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_SeekBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_SeekBar</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_Spinner -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_Spinner" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_Spinner</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_Tab -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_Tab" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_Tab</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_TabWidget -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_TabWidget" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_TabWidget</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_TextView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_TextView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_TextView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_TextView_SpinnerItem -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_TextView_SpinnerItem" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_TextView_SpinnerItem</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_WebTextView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_WebTextView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_WebTextView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Light_WebView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_WebView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_WebView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ListPopupWindow -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ListPopupWindow" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ListPopupWindow</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ListView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ListView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ListView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ListView_DropDown -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ListView_DropDown" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ListView_DropDown</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_PopupMenu -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_PopupMenu" class="hiddenlink" target="rightframe">Widget_DeviceDefault_PopupMenu</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_PopupWindow -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_PopupWindow" class="hiddenlink" target="rightframe">Widget_DeviceDefault_PopupWindow</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ProgressBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ProgressBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ProgressBar</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ProgressBar_Horizontal -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ProgressBar_Horizontal" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ProgressBar_Horizontal</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ProgressBar_Large -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ProgressBar_Large" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ProgressBar_Large</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ProgressBar_Small -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ProgressBar_Small" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ProgressBar_Small</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ProgressBar_Small_Title -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ProgressBar_Small_Title" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ProgressBar_Small_Title</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_RatingBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_RatingBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_RatingBar</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_RatingBar_Indicator -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_RatingBar_Indicator" class="hiddenlink" target="rightframe">Widget_DeviceDefault_RatingBar_Indicator</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_RatingBar_Small -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_RatingBar_Small" class="hiddenlink" target="rightframe">Widget_DeviceDefault_RatingBar_Small</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_ScrollView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ScrollView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ScrollView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_SeekBar -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_SeekBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_SeekBar</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Spinner -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Spinner" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Spinner</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_Tab -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Tab" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Tab</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_TabWidget -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_TabWidget" class="hiddenlink" target="rightframe">Widget_DeviceDefault_TabWidget</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_TextView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_TextView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_TextView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_TextView_SpinnerItem -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_TextView_SpinnerItem" class="hiddenlink" target="rightframe">Widget_DeviceDefault_TextView_SpinnerItem</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_WebTextView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_WebTextView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_WebTextView</A>
+</nobr><br>
+<!-- Field Widget_DeviceDefault_WebView -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_WebView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_WebView</A>
+</nobr><br>
+<!-- Field Widget_Holo_ActionBar_Solid -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_ActionBar_Solid" class="hiddenlink" target="rightframe">Widget_Holo_ActionBar_Solid</A>
+</nobr><br>
+<!-- Field Widget_Holo_Button_Borderless_Small -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_Button_Borderless_Small" class="hiddenlink" target="rightframe">Widget_Holo_Button_Borderless_Small</A>
+</nobr><br>
+<!-- Field Widget_Holo_Light_ActionBar_Solid -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_Light_ActionBar_Solid" class="hiddenlink" target="rightframe">Widget_Holo_Light_ActionBar_Solid</A>
+</nobr><br>
+<!-- Field Widget_Holo_Light_ActionBar_Solid_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_Light_ActionBar_Solid_Inverse" class="hiddenlink" target="rightframe">Widget_Holo_Light_ActionBar_Solid_Inverse</A>
+</nobr><br>
+<!-- Field Widget_Holo_Light_ActionBar_TabBar_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_Light_ActionBar_TabBar_Inverse" class="hiddenlink" target="rightframe">Widget_Holo_Light_ActionBar_TabBar_Inverse</A>
+</nobr><br>
+<!-- Field Widget_Holo_Light_ActionBar_TabText_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_Light_ActionBar_TabText_Inverse" class="hiddenlink" target="rightframe">Widget_Holo_Light_ActionBar_TabText_Inverse</A>
+</nobr><br>
+<!-- Field Widget_Holo_Light_ActionBar_TabView_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_Light_ActionBar_TabView_Inverse" class="hiddenlink" target="rightframe">Widget_Holo_Light_ActionBar_TabView_Inverse</A>
+</nobr><br>
+<!-- Field Widget_Holo_Light_ActionMode_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_Light_ActionMode_Inverse" class="hiddenlink" target="rightframe">Widget_Holo_Light_ActionMode_Inverse</A>
+</nobr><br>
+<!-- Field Widget_Holo_Light_Button_Borderless_Small -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_Light_Button_Borderless_Small" class="hiddenlink" target="rightframe">Widget_Holo_Light_Button_Borderless_Small</A>
+</nobr><br>
+<!-- Field WIFI_P2P_SERVICE -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.WIFI_P2P_SERVICE" class="hiddenlink" target="rightframe">WIFI_P2P_SERVICE</A>
+</nobr><br>
+<!-- Field WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE</A>
+</nobr><br>
+<!-- Field WIFI_WATCHDOG_AP_COUNT -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_AP_COUNT" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_AP_COUNT</A>
+</nobr><br>
+<!-- Field WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS</A>
+</nobr><br>
+<!-- Field WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED</A>
+</nobr><br>
+<!-- Field WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS</A>
+</nobr><br>
+<!-- Field WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT</A>
+</nobr><br>
+<!-- Field WIFI_WATCHDOG_MAX_AP_CHECKS -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_MAX_AP_CHECKS" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_MAX_AP_CHECKS</A>
+</nobr><br>
+<!-- Field WIFI_WATCHDOG_PING_COUNT -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_PING_COUNT" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_PING_COUNT</A>
+</nobr><br>
+<!-- Field WIFI_WATCHDOG_PING_DELAY_MS -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_PING_DELAY_MS" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_PING_DELAY_MS</A>
+</nobr><br>
+<!-- Field WIFI_WATCHDOG_PING_TIMEOUT_MS -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_PING_TIMEOUT_MS" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_PING_TIMEOUT_MS</A>
+</nobr><br>
+<!-- Field WIFI_WATCHDOG_WATCH_LIST -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_WATCH_LIST" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_WATCH_LIST</A>
+</nobr><br>
+<!-- Class WifiManager -->
+<A HREF="android.net.wifi.WifiManager.html" class="hiddenlink" target="rightframe">WifiManager</A><br>
+<!-- Class Window -->
+<A HREF="android.view.Window.html" class="hiddenlink" target="rightframe">Window</A><br>
+<!-- Class WindowManager.LayoutParams -->
+<A HREF="android.view.WindowManager.LayoutParams.html" class="hiddenlink" target="rightframe">WindowManager.LayoutParams</A><br>
+<!-- Class WpsInfo -->
+<A HREF="pkg_android.net.wifi.html#WpsInfo" class="hiddenlink" target="rightframe"><b>WpsInfo</b></A><br>
+<!-- Field WRITE_PROFILE -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.WRITE_PROFILE" class="hiddenlink" target="rightframe">WRITE_PROFILE</A>
+</nobr><br>
+<!-- Field X -->
+<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="#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.X" class="hiddenlink" target="rightframe">X</A>
+</nobr><br>
+<!-- Field Y -->
+<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="#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.Y" class="hiddenlink" target="rightframe">Y</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/14/changes/alldiffs_index_changes.html b/docs/html/sdk/api_diff/14/changes/alldiffs_index_changes.html
new file mode 100644
index 0000000..76ffbac
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/alldiffs_index_changes.html
@@ -0,0 +1,1471 @@
+<!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="#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="android.widget.AbsListView.html" class="hiddenlink" target="rightframe">AbsListView</A><br>
+<!-- Class AccessibilityEvent -->
+<A HREF="android.view.accessibility.AccessibilityEvent.html" class="hiddenlink" target="rightframe">AccessibilityEvent</A><br>
+<!-- Class AccessibilityManager -->
+<A HREF="android.view.accessibility.AccessibilityManager.html" class="hiddenlink" target="rightframe">AccessibilityManager</A><br>
+<!-- Class AccessibilityService -->
+<A HREF="android.accessibilityservice.AccessibilityService.html" class="hiddenlink" target="rightframe">AccessibilityService</A><br>
+<!-- Class AccessibilityServiceInfo -->
+<A HREF="android.accessibilityservice.AccessibilityServiceInfo.html" class="hiddenlink" target="rightframe">AccessibilityServiceInfo</A><br>
+<!-- Class AccessibleObject -->
+<A HREF="java.lang.reflect.AccessibleObject.html" class="hiddenlink" target="rightframe">AccessibleObject</A><br>
+<!-- Class AccountManager -->
+<A HREF="android.accounts.AccountManager.html" class="hiddenlink" target="rightframe">AccountManager</A><br>
+<!-- Field ACTION_PACKAGE_INSTALL -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_PACKAGE_INSTALL" class="hiddenlink" target="rightframe">ACTION_PACKAGE_INSTALL</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_UMS_CONNECTED -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_UMS_CONNECTED" class="hiddenlink" target="rightframe">ACTION_UMS_CONNECTED</A>
+</nobr><br>
+<!-- Field ACTION_UMS_DISCONNECTED -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_UMS_DISCONNECTED" class="hiddenlink" target="rightframe">ACTION_UMS_DISCONNECTED</A>
+</nobr><br>
+<!-- Class ActionBar -->
+<A HREF="android.app.ActionBar.html" class="hiddenlink" target="rightframe">ActionBar</A><br>
+<!-- Class ActionBar.Tab -->
+<A HREF="android.app.ActionBar.Tab.html" class="hiddenlink" target="rightframe">ActionBar.Tab</A><br>
+<!-- Class ActionMode -->
+<A HREF="android.view.ActionMode.html" class="hiddenlink" target="rightframe">ActionMode</A><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 AdapterViewAnimator -->
+<A HREF="android.widget.AdapterViewAnimator.html" class="hiddenlink" target="rightframe">AdapterViewAnimator</A><br>
+<!-- Class AlertDialog -->
+<A HREF="android.app.AlertDialog.html" class="hiddenlink" target="rightframe">AlertDialog</A><br>
+<!-- Class Allocation -->
+<A HREF="android.renderscript.Allocation.html" class="hiddenlink" target="rightframe">Allocation</A><br>
+<!-- Class AllocationAdapter -->
+<A HREF="android.renderscript.AllocationAdapter.html" class="hiddenlink" target="rightframe">AllocationAdapter</A><br>
+<!-- Class AllPermission -->
+<A HREF="java.security.AllPermission.html" class="hiddenlink" target="rightframe">AllPermission</A><br>
+<!-- Field ANCHOR_TYPE -->
+<nobr><A HREF="android.webkit.WebView.HitTestResult.html#android.webkit.WebView.HitTestResult.ANCHOR_TYPE" class="hiddenlink" target="rightframe">ANCHOR_TYPE</A>
+</nobr><br>
+<!-- Package android -->
+<A HREF="pkg_android.html" class="hiddenlink" target="rightframe">android</A><br>
+<!-- Package android.accessibilityservice -->
+<A HREF="pkg_android.accessibilityservice.html" class="hiddenlink" target="rightframe">android.accessibilityservice</A><br>
+<!-- Package android.accounts -->
+<A HREF="pkg_android.accounts.html" class="hiddenlink" target="rightframe">android.accounts</A><br>
+<!-- Package android.animation -->
+<A HREF="pkg_android.animation.html" class="hiddenlink" target="rightframe">android.animation</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="pkg_android.app.admin.html" class="hiddenlink" target="rightframe">android.app.admin</A><br>
+<!-- Package android.app.backup -->
+<A HREF="pkg_android.app.backup.html" class="hiddenlink" target="rightframe">android.app.backup</A><br>
+<!-- Package android.appwidget -->
+<A HREF="pkg_android.appwidget.html" class="hiddenlink" target="rightframe">android.appwidget</A><br>
+<!-- Package android.bluetooth -->
+<A HREF="pkg_android.bluetooth.html" class="hiddenlink" target="rightframe">android.bluetooth</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.database.sqlite -->
+<A HREF="pkg_android.database.sqlite.html" class="hiddenlink" target="rightframe">android.database.sqlite</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.inputmethodservice -->
+<A HREF="pkg_android.inputmethodservice.html" class="hiddenlink" target="rightframe">android.inputmethodservice</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.net.wifi -->
+<A HREF="pkg_android.net.wifi.html" class="hiddenlink" target="rightframe">android.net.wifi</A><br>
+<!-- Package android.nfc -->
+<A HREF="pkg_android.nfc.html" class="hiddenlink" target="rightframe">android.nfc</A><br>
+<!-- Package android.nfc.tech -->
+<A HREF="pkg_android.nfc.tech.html" class="hiddenlink" target="rightframe">android.nfc.tech</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.preference -->
+<A HREF="pkg_android.preference.html" class="hiddenlink" target="rightframe">android.preference</A><br>
+<!-- Package android.provider -->
+<A HREF="pkg_android.provider.html" class="hiddenlink" target="rightframe">android.provider</A><br>
+<!-- Package android.renderscript -->
+<A HREF="pkg_android.renderscript.html" class="hiddenlink" target="rightframe">android.renderscript</A><br>
+<!-- Package android.service.wallpaper -->
+<A HREF="pkg_android.service.wallpaper.html" class="hiddenlink" target="rightframe">android.service.wallpaper</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.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.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.accessibility -->
+<A HREF="pkg_android.view.accessibility.html" class="hiddenlink" target="rightframe">android.view.accessibility</A><br>
+<!-- Package android.view.inputmethod -->
+<A HREF="pkg_android.view.inputmethod.html" class="hiddenlink" target="rightframe">android.view.inputmethod</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 Animator -->
+<A HREF="android.animation.Animator.html" class="hiddenlink" target="rightframe">Animator</A><br>
+<!-- Class Application -->
+<A HREF="android.app.Application.html" class="hiddenlink" target="rightframe">Application</A><br>
+<!-- Class ApplicationInfo -->
+<A HREF="android.content.pm.ApplicationInfo.html" class="hiddenlink" target="rightframe">ApplicationInfo</A><br>
+<!-- Class AppWidgetProviderInfo -->
+<A HREF="android.appwidget.AppWidgetProviderInfo.html" class="hiddenlink" target="rightframe">AppWidgetProviderInfo</A><br>
+<!-- Class AudioManager -->
+<A HREF="android.media.AudioManager.html" class="hiddenlink" target="rightframe">AudioManager</A><br>
+<!-- Field BACKGROUND_DATA -->
+<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="#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.BACKGROUND_DATA" class="hiddenlink" target="rightframe">BACKGROUND_DATA</A>
+</nobr><br>
+<!-- Class BackupAgent -->
+<A HREF="android.app.backup.BackupAgent.html" class="hiddenlink" target="rightframe">BackupAgent</A><br>
+<!-- Class BaseObj -->
+<A HREF="android.renderscript.BaseObj.html" class="hiddenlink" target="rightframe">BaseObj</A><br>
+<!-- Class BasicPermission -->
+<A HREF="java.security.BasicPermission.html" class="hiddenlink" target="rightframe">BasicPermission</A><br>
+<!-- Class BluetoothAdapter -->
+<A HREF="android.bluetooth.BluetoothAdapter.html" class="hiddenlink" target="rightframe">BluetoothAdapter</A><br>
+<!-- Class BluetoothProfile -->
+<A HREF="android.bluetooth.BluetoothProfile.html" class="hiddenlink" target="rightframe"><i>BluetoothProfile</i></A><br>
+<!-- Class BluetoothSocket -->
+<A HREF="android.bluetooth.BluetoothSocket.html" class="hiddenlink" target="rightframe">BluetoothSocket</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 Byte2 -->
+<A HREF="android.renderscript.Byte2.html" class="hiddenlink" target="rightframe">Byte2</A><br>
+<!-- Class Byte3 -->
+<A HREF="android.renderscript.Byte3.html" class="hiddenlink" target="rightframe">Byte3</A><br>
+<!-- Class Byte4 -->
+<A HREF="android.renderscript.Byte4.html" class="hiddenlink" target="rightframe">Byte4</A><br>
+<!-- Class CallLog.Calls -->
+<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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<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 Canvas -->
+<A HREF="android.graphics.Canvas.html" class="hiddenlink" target="rightframe">Canvas</A><br>
+<!-- Class CheckBoxPreference -->
+<A HREF="android.preference.CheckBoxPreference.html" class="hiddenlink" target="rightframe">CheckBoxPreference</A><br>
+<!-- Class Class -->
+<A HREF="java.lang.Class.html" class="hiddenlink" target="rightframe">Class</A><br>
+<!-- Method clone -->
+<i>clone</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.util.SparseArray.html#android.util.SparseArray.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.util.SparseArray
+</A></nobr><br>
+<!-- Method clone -->
+&nbsp;&nbsp;<nobr><A HREF="android.util.SparseBooleanArray.html#android.util.SparseBooleanArray.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.util.SparseBooleanArray
+</A></nobr><br>
+<!-- Method clone -->
+&nbsp;&nbsp;<nobr><A HREF="android.util.SparseIntArray.html#android.util.SparseIntArray.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.util.SparseIntArray
+</A></nobr><br>
+<!-- Class Config -->
+<A HREF="android.util.Config.html" class="hiddenlink" target="rightframe">Config</A><br>
+<!-- Class ConnectivityManager -->
+<A HREF="android.net.ConnectivityManager.html" class="hiddenlink" target="rightframe">ConnectivityManager</A><br>
+<!-- Class Constructor -->
+<A HREF="java.lang.reflect.Constructor.html" class="hiddenlink" target="rightframe">Constructor</A><br>
+<!-- Class ContactsContract -->
+<A HREF="android.provider.ContactsContract.html" class="hiddenlink" target="rightframe">ContactsContract</A><br>
+<!-- Class ContactsContract.CommonDataKinds.Photo -->
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Photo.html" class="hiddenlink" target="rightframe">ContactsContract.CommonDataKinds.Photo</A><br>
+<!-- Class ContactsContract.Contacts -->
+<A HREF="android.provider.ContactsContract.Contacts.html" class="hiddenlink" target="rightframe">ContactsContract.Contacts</A><br>
+<!-- Class ContactsContract.Contacts.Photo -->
+<A HREF="android.provider.ContactsContract.Contacts.Photo.html" class="hiddenlink" target="rightframe">ContactsContract.Contacts.Photo</A><br>
+<!-- Class ContactsContract.ContactsColumns -->
+<A HREF="android.provider.ContactsContract.ContactsColumns.html" class="hiddenlink" target="rightframe"><i>ContactsContract.ContactsColumns</i></A><br>
+<!-- Class ContactsContract.GroupsColumns -->
+<A HREF="android.provider.ContactsContract.GroupsColumns.html" class="hiddenlink" target="rightframe"><i>ContactsContract.GroupsColumns</i></A><br>
+<!-- Class ContactsContract.Intents -->
+<A HREF="android.provider.ContactsContract.Intents.html" class="hiddenlink" target="rightframe">ContactsContract.Intents</A><br>
+<!-- Class ContactsContract.RawContactsColumns -->
+<A HREF="android.provider.ContactsContract.RawContactsColumns.html" class="hiddenlink" target="rightframe"><i>ContactsContract.RawContactsColumns</i></A><br>
+<!-- Class ContactsContract.RawContactsEntity -->
+<A HREF="android.provider.ContactsContract.RawContactsEntity.html" class="hiddenlink" target="rightframe">ContactsContract.RawContactsEntity</A><br>
+<!-- Class ContactsContract.SettingsColumns -->
+<A HREF="android.provider.ContactsContract.SettingsColumns.html" class="hiddenlink" target="rightframe"><i>ContactsContract.SettingsColumns</i></A><br>
+<!-- Class ContactsContract.StatusUpdates -->
+<A HREF="android.provider.ContactsContract.StatusUpdates.html" class="hiddenlink" target="rightframe">ContactsContract.StatusUpdates</A><br>
+<!-- Class ContentProvider -->
+<A HREF="android.content.ContentProvider.html" class="hiddenlink" target="rightframe">ContentProvider</A><br>
+<!-- Class Context -->
+<A HREF="android.content.Context.html" class="hiddenlink" target="rightframe">Context</A><br>
+<!-- Package dalvik.annotation -->
+<A NAME="D"></A>
+<A HREF="pkg_dalvik.annotation.html" class="hiddenlink" target="rightframe">dalvik.annotation</A><br>
+<!-- Package dalvik.system -->
+<A HREF="pkg_dalvik.system.html" class="hiddenlink" target="rightframe">dalvik.system</A><br>
+<!-- Class Debug -->
+<A HREF="android.os.Debug.html" class="hiddenlink" target="rightframe">Debug</A><br>
+<!-- Field DEBUG -->
+<nobr><A HREF="android.util.Config.html#android.util.Config.DEBUG" class="hiddenlink" target="rightframe">DEBUG</A>
+</nobr><br>
+<!-- Class Debug.MemoryInfo -->
+<A HREF="android.os.Debug.MemoryInfo.html" class="hiddenlink" target="rightframe">Debug.MemoryInfo</A><br>
+<!-- Class DeviceAdminInfo -->
+<A HREF="android.app.admin.DeviceAdminInfo.html" class="hiddenlink" target="rightframe">DeviceAdminInfo</A><br>
+<!-- Class DevicePolicyManager -->
+<A HREF="android.app.admin.DevicePolicyManager.html" class="hiddenlink" target="rightframe">DevicePolicyManager</A><br>
+<!-- Class DexClassLoader -->
+<A HREF="dalvik.system.DexClassLoader.html" class="hiddenlink" target="rightframe">DexClassLoader</A><br>
+<!-- Method disableForegroundNdefPush -->
+<nobr><A HREF="android.nfc.NfcAdapter.html#android.nfc.NfcAdapter.disableForegroundNdefPush_changed(android.app.Activity)" class="hiddenlink" target="rightframe">disableForegroundNdefPush
+(<code>Activity</code>)</A></nobr><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="#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="android.renderscript.Element.html" class="hiddenlink" target="rightframe">Element</A><br>
+<!-- Method enableForegroundNdefPush -->
+<nobr><A HREF="android.nfc.NfcAdapter.html#android.nfc.NfcAdapter.enableForegroundNdefPush_changed(android.app.Activity, android.nfc.NdefMessage)" class="hiddenlink" target="rightframe">enableForegroundNdefPush
+(<code>Activity, NdefMessage</code>)</A></nobr><br>
+<!-- Method enableReplaceObject -->
+<nobr><A HREF="java.io.ObjectOutputStream.html#java.io.ObjectOutputStream.enableReplaceObject_changed(boolean)" class="hiddenlink" target="rightframe">enableReplaceObject
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method enableResolveObject -->
+<nobr><A HREF="java.io.ObjectInputStream.html#java.io.ObjectInputStream.enableResolveObject_changed(boolean)" class="hiddenlink" target="rightframe">enableResolveObject
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method equals -->
+<i>equals</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.io.FilePermission.html#java.io.FilePermission.equals_changed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Object</code>)&nbsp;in&nbsp;java.io.FilePermission
+</A></nobr><br>
+<!-- Method equals -->
+&nbsp;&nbsp;<nobr><A HREF="java.net.SocketPermission.html#java.net.SocketPermission.equals_changed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Object</code>)&nbsp;in&nbsp;java.net.SocketPermission
+</A></nobr><br>
+<!-- Method equals -->
+&nbsp;&nbsp;<nobr><A HREF="java.security.AllPermission.html#java.security.AllPermission.equals_changed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Object</code>)&nbsp;in&nbsp;java.security.AllPermission
+</A></nobr><br>
+<!-- Method equals -->
+&nbsp;&nbsp;<nobr><A HREF="java.security.BasicPermission.html#java.security.BasicPermission.equals_changed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Object</code>)&nbsp;in&nbsp;java.security.BasicPermission
+</A></nobr><br>
+<!-- Method equals -->
+&nbsp;&nbsp;<nobr><A HREF="java.security.Permission.html#java.security.Permission.equals_changed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Object</code>)&nbsp;in&nbsp;java.security.Permission
+</A></nobr><br>
+<!-- Method equals -->
+&nbsp;&nbsp;<nobr><A HREF="java.security.UnresolvedPermission.html#java.security.UnresolvedPermission.equals_changed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Object</code>)&nbsp;in&nbsp;java.security.UnresolvedPermission
+</A></nobr><br>
+<!-- Method equals -->
+&nbsp;&nbsp;<nobr><A HREF="javax.security.auth.PrivateCredentialPermission.html#javax.security.auth.PrivateCredentialPermission.equals_changed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Object</code>)&nbsp;in&nbsp;javax.security.auth.PrivateCredentialPermission
+</A></nobr><br>
+<!-- Method evaluate -->
+<i>evaluate</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.FloatEvaluator.html#android.animation.FloatEvaluator.evaluate_changed(float, java.lang.Number, java.lang.Number)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>float, Number, Number</code>)&nbsp;in&nbsp;android.animation.FloatEvaluator
+</A></nobr><br>
+<!-- Method evaluate -->
+&nbsp;&nbsp;<nobr><A HREF="android.animation.IntEvaluator.html#android.animation.IntEvaluator.evaluate_changed(float, java.lang.Integer, java.lang.Integer)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>float, Integer, Integer</code>)&nbsp;in&nbsp;android.animation.IntEvaluator
+</A></nobr><br>
+<!-- Method evaluate -->
+&nbsp;&nbsp;<nobr><A HREF="android.animation.TypeEvaluator.html#android.animation.TypeEvaluator.evaluate_changed(float, T, T)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>float, T, T</code>)&nbsp;in&nbsp;android.animation.TypeEvaluator
+</A></nobr><br>
+<!-- Class ExpandableListView -->
+<A HREF="android.widget.ExpandableListView.html" class="hiddenlink" target="rightframe">ExpandableListView</A><br>
+<!-- Field EXTRA_NETWORK_INFO -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.EXTRA_NETWORK_INFO" class="hiddenlink" target="rightframe">EXTRA_NETWORK_INFO</A>
+</nobr><br>
+<!-- Field fadingEdge -->
+<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="#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.fadingEdge" class="hiddenlink" target="rightframe">fadingEdge</A>
+</nobr><br>
+<!-- Class Field -->
+<A HREF="java.lang.reflect.Field.html" class="hiddenlink" target="rightframe">Field</A><br>
+<!-- Class FieldPacker -->
+<A HREF="android.renderscript.FieldPacker.html" class="hiddenlink" target="rightframe">FieldPacker</A><br>
+<!-- Class FilePermission -->
+<A HREF="java.io.FilePermission.html" class="hiddenlink" target="rightframe">FilePermission</A><br>
+<!-- Method findLibrary -->
+<nobr><A HREF="dalvik.system.PathClassLoader.html#dalvik.system.PathClassLoader.findLibrary_changed(java.lang.String)" class="hiddenlink" target="rightframe">findLibrary
+(<code>String</code>)</A></nobr><br>
+<!-- Field FLAG_BLUR_BEHIND -->
+<nobr><A HREF="android.view.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.FLAG_BLUR_BEHIND" class="hiddenlink" target="rightframe">FLAG_BLUR_BEHIND</A>
+</nobr><br>
+<!-- Class FloatEvaluator -->
+<A HREF="android.animation.FloatEvaluator.html" class="hiddenlink" target="rightframe">FloatEvaluator</A><br>
+<!-- Class Fragment -->
+<A HREF="android.app.Fragment.html" class="hiddenlink" target="rightframe">Fragment</A><br>
+<!-- Class FragmentManager -->
+<A HREF="android.app.FragmentManager.html" class="hiddenlink" target="rightframe">FragmentManager</A><br>
+<!-- Class FragmentManager.BackStackEntry -->
+<A HREF="android.app.FragmentManager.BackStackEntry.html" class="hiddenlink" target="rightframe"><i>FragmentManager.BackStackEntry</i></A><br>
+<!-- Class FrameLayout -->
+<A HREF="android.widget.FrameLayout.html" class="hiddenlink" target="rightframe">FrameLayout</A><br>
+<!-- Method getAccessibilityServiceList -->
+<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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.accessibility.AccessibilityManager.html#android.view.accessibility.AccessibilityManager.getAccessibilityServiceList_changed()" class="hiddenlink" target="rightframe">getAccessibilityServiceList
+()</A></nobr><br>
+<!-- Method getAddedCount -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getAddedCount_changed()" class="hiddenlink" target="rightframe">getAddedCount
+()</A></nobr><br>
+<!-- Method getAuthToken -->
+<nobr><A HREF="android.accounts.AccountManager.html#android.accounts.AccountManager.getAuthToken_changed(android.accounts.Account, java.lang.String, boolean, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler)" class="hiddenlink" target="rightframe">getAuthToken
+(<code>Account, String, boolean, AccountManagerCallback&lt;Bundle&gt;, Handler</code>)</A></nobr><br>
+<!-- Method getBackgroundDataSetting -->
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.getBackgroundDataSetting_changed()" class="hiddenlink" target="rightframe">getBackgroundDataSetting
+()</A></nobr><br>
+<!-- Method getBeforeText -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getBeforeText_changed()" class="hiddenlink" target="rightframe">getBeforeText
+()</A></nobr><br>
+<!-- Method getClassName -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getClassName_changed()" class="hiddenlink" target="rightframe">getClassName
+()</A></nobr><br>
+<!-- Method getConsiderGoneChildrenWhenMeasuring -->
+<nobr><A HREF="android.widget.FrameLayout.html#android.widget.FrameLayout.getConsiderGoneChildrenWhenMeasuring_changed()" class="hiddenlink" target="rightframe">getConsiderGoneChildrenWhenMeasuring
+()</A></nobr><br>
+<!-- Method getConstructor -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getConstructor_changed(java.lang.Class<?>...)" class="hiddenlink" target="rightframe">getConstructor
+(<code>Class&lt;?&gt;</code>)</A></nobr><br>
+<!-- Method getConstructors -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getConstructors_changed()" class="hiddenlink" target="rightframe">getConstructors
+()</A></nobr><br>
+<!-- Method getContentDescription -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getContentDescription_changed()" class="hiddenlink" target="rightframe">getContentDescription
+()</A></nobr><br>
+<!-- Method getCurrentItemIndex -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getCurrentItemIndex_changed()" class="hiddenlink" target="rightframe">getCurrentItemIndex
+()</A></nobr><br>
+<!-- Method getDeclaredClasses -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredClasses_changed()" class="hiddenlink" target="rightframe">getDeclaredClasses
+()</A></nobr><br>
+<!-- Method getDeclaredConstructor -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredConstructor_changed(java.lang.Class<?>...)" class="hiddenlink" target="rightframe">getDeclaredConstructor
+(<code>Class&lt;?&gt;</code>)</A></nobr><br>
+<!-- Method getDeclaredConstructors -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredConstructors_changed()" class="hiddenlink" target="rightframe">getDeclaredConstructors
+()</A></nobr><br>
+<!-- Method getDeclaredField -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredField_changed(java.lang.String)" class="hiddenlink" target="rightframe">getDeclaredField
+(<code>String</code>)</A></nobr><br>
+<!-- Method getDeclaredFields -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredFields_changed()" class="hiddenlink" target="rightframe">getDeclaredFields
+()</A></nobr><br>
+<!-- Method getDeclaredMethod -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredMethod_changed(java.lang.String, java.lang.Class<?>...)" class="hiddenlink" target="rightframe">getDeclaredMethod
+(<code>String, Class&lt;?&gt;</code>)</A></nobr><br>
+<!-- Method getDeclaredMethods -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredMethods_changed()" class="hiddenlink" target="rightframe">getDeclaredMethods
+()</A></nobr><br>
+<!-- Method getDisableDependentsState -->
+<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.getDisableDependentsState_changed()" class="hiddenlink" target="rightframe">getDisableDependentsState
+()</A></nobr><br>
+<!-- Method getField -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getField_changed(java.lang.String)" class="hiddenlink" target="rightframe">getField
+(<code>String</code>)</A></nobr><br>
+<!-- Method getFields -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getFields_changed()" class="hiddenlink" target="rightframe">getFields
+()</A></nobr><br>
+<!-- Method getFromIndex -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getFromIndex_changed()" class="hiddenlink" target="rightframe">getFromIndex
+()</A></nobr><br>
+<!-- Method getItemCount -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getItemCount_changed()" class="hiddenlink" target="rightframe">getItemCount
+()</A></nobr><br>
+<!-- Method getMainLooper -->
+<nobr><A HREF="android.os.Looper.html#android.os.Looper.getMainLooper_changed()" class="hiddenlink" target="rightframe">getMainLooper
+()</A></nobr><br>
+<!-- Method getMethod -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getMethod_changed(java.lang.String, java.lang.Class<?>...)" class="hiddenlink" target="rightframe">getMethod
+(<code>String, Class&lt;?&gt;</code>)</A></nobr><br>
+<!-- Method getMethods -->
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getMethods_changed()" class="hiddenlink" target="rightframe">getMethods
+()</A></nobr><br>
+<!-- Method getParcelableData -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getParcelableData_changed()" class="hiddenlink" target="rightframe">getParcelableData
+()</A></nobr><br>
+<!-- Method getRemovedCount -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getRemovedCount_changed()" class="hiddenlink" target="rightframe">getRemovedCount
+()</A></nobr><br>
+<!-- Method getSummaryOff -->
+<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.getSummaryOff_changed()" class="hiddenlink" target="rightframe">getSummaryOff
+()</A></nobr><br>
+<!-- Method getSummaryOn -->
+<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.getSummaryOn_changed()" class="hiddenlink" target="rightframe">getSummaryOn
+()</A></nobr><br>
+<!-- Method getText -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getText_changed()" class="hiddenlink" target="rightframe">getText
+()</A></nobr><br>
+<!-- Method getTextSize -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getTextSize_changed()" class="hiddenlink" target="rightframe">getTextSize
+()</A></nobr><br>
+<!-- Class GLUtils -->
+<A HREF="android.opengl.GLUtils.html" class="hiddenlink" target="rightframe">GLUtils</A><br>
+<!-- Class Gravity -->
+<A HREF="android.view.Gravity.html" class="hiddenlink" target="rightframe">Gravity</A><br>
+<!-- Class Handler -->
+<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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>Handler</i><br>
+&nbsp;&nbsp;<A HREF="android.os.Handler.html" class="hiddenlink" target="rightframe">android.os</A><br>
+<!-- Class Handler -->
+&nbsp;&nbsp;<A HREF="java.util.logging.Handler.html" class="hiddenlink" target="rightframe">java.util.logging</A><br>
+<!-- Method hashCode -->
+<i>hashCode</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.io.FilePermission.html#java.io.FilePermission.hashCode_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.io.FilePermission
+</A></nobr><br>
+<!-- Method hashCode -->
+&nbsp;&nbsp;<nobr><A HREF="java.net.SocketPermission.html#java.net.SocketPermission.hashCode_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.net.SocketPermission
+</A></nobr><br>
+<!-- Method hashCode -->
+&nbsp;&nbsp;<nobr><A HREF="java.security.AllPermission.html#java.security.AllPermission.hashCode_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.security.AllPermission
+</A></nobr><br>
+<!-- Method hashCode -->
+&nbsp;&nbsp;<nobr><A HREF="java.security.BasicPermission.html#java.security.BasicPermission.hashCode_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.security.BasicPermission
+</A></nobr><br>
+<!-- Method hashCode -->
+&nbsp;&nbsp;<nobr><A HREF="java.security.Permission.html#java.security.Permission.hashCode_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.security.Permission
+</A></nobr><br>
+<!-- Method hashCode -->
+&nbsp;&nbsp;<nobr><A HREF="java.security.UnresolvedPermission.html#java.security.UnresolvedPermission.hashCode_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.security.UnresolvedPermission
+</A></nobr><br>
+<!-- Method hashCode -->
+&nbsp;&nbsp;<nobr><A HREF="javax.security.auth.PrivateCredentialPermission.html#javax.security.auth.PrivateCredentialPermission.hashCode_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;javax.security.auth.PrivateCredentialPermission
+</A></nobr><br>
+<!-- Field IMAGE_ANCHOR_TYPE -->
+<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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.webkit.WebView.HitTestResult.html#android.webkit.WebView.HitTestResult.IMAGE_ANCHOR_TYPE" class="hiddenlink" target="rightframe">IMAGE_ANCHOR_TYPE</A>
+</nobr><br>
+<!-- Class InputDevice -->
+<A HREF="android.view.InputDevice.html" class="hiddenlink" target="rightframe">InputDevice</A><br>
+<!-- Class InputMethodManager -->
+<A HREF="android.view.inputmethod.InputMethodManager.html" class="hiddenlink" target="rightframe">InputMethodManager</A><br>
+<!-- Class InputMethodService -->
+<A HREF="android.inputmethodservice.InputMethodService.html" class="hiddenlink" target="rightframe">InputMethodService</A><br>
+<!-- Class InputMethodService.InputMethodSessionImpl -->
+<A HREF="android.inputmethodservice.InputMethodService.InputMethodSessionImpl.html" class="hiddenlink" target="rightframe">InputMethodService.InputMethodSessionImpl</A><br>
+<!-- Class InputMethodSession -->
+<A HREF="android.view.inputmethod.InputMethodSession.html" class="hiddenlink" target="rightframe"><i>InputMethodSession</i></A><br>
+<!-- Class InputMethodSubtype -->
+<A HREF="android.view.inputmethod.InputMethodSubtype.html" class="hiddenlink" target="rightframe">InputMethodSubtype</A><br>
+<!-- Class Int2 -->
+<A HREF="android.renderscript.Int2.html" class="hiddenlink" target="rightframe">Int2</A><br>
+<!-- Class Int3 -->
+<A HREF="android.renderscript.Int3.html" class="hiddenlink" target="rightframe">Int3</A><br>
+<!-- Class Int4 -->
+<A HREF="android.renderscript.Int4.html" class="hiddenlink" target="rightframe">Int4</A><br>
+<!-- Class Intent -->
+<A HREF="android.content.Intent.html" class="hiddenlink" target="rightframe">Intent</A><br>
+<!-- Class IntentSender -->
+<A HREF="android.content.IntentSender.html" class="hiddenlink" target="rightframe">IntentSender</A><br>
+<!-- Class IntEvaluator -->
+<A HREF="android.animation.IntEvaluator.html" class="hiddenlink" target="rightframe">IntEvaluator</A><br>
+<!-- Method isChecked -->
+<i>isChecked</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.isChecked_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.preference.CheckBoxPreference
+</A></nobr><br>
+<!-- Method isChecked -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.isChecked_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.view.accessibility.AccessibilityEvent
+</A></nobr><br>
+<!-- Method isEnabled -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.isEnabled_changed()" class="hiddenlink" target="rightframe">isEnabled
+()</A></nobr><br>
+<!-- Method isFullScreen -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.isFullScreen_changed()" class="hiddenlink" target="rightframe">isFullScreen
+()</A></nobr><br>
+<!-- Class IsoDep -->
+<A HREF="android.nfc.tech.IsoDep.html" class="hiddenlink" target="rightframe">IsoDep</A><br>
+<!-- Method isPassword -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.isPassword_changed()" class="hiddenlink" target="rightframe">isPassword
+()</A></nobr><br>
+<!-- Method isWiredHeadsetOn -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.isWiredHeadsetOn_changed()" class="hiddenlink" target="rightframe">isWiredHeadsetOn
+()</A></nobr><br>
+<!-- Package java.io -->
+<A NAME="J"></A>
+<A HREF="pkg_java.io.html" class="hiddenlink" target="rightframe">java.io</A><br>
+<!-- Package java.lang -->
+<A HREF="pkg_java.lang.html" class="hiddenlink" target="rightframe">java.lang</A><br>
+<!-- Package java.lang.ref -->
+<A HREF="pkg_java.lang.ref.html" class="hiddenlink" target="rightframe">java.lang.ref</A><br>
+<!-- Package java.lang.reflect -->
+<A HREF="pkg_java.lang.reflect.html" class="hiddenlink" target="rightframe">java.lang.reflect</A><br>
+<!-- Package java.net -->
+<A HREF="pkg_java.net.html" class="hiddenlink" target="rightframe">java.net</A><br>
+<!-- Package java.security -->
+<A HREF="pkg_java.security.html" class="hiddenlink" target="rightframe">java.security</A><br>
+<!-- Package java.util.logging -->
+<A HREF="pkg_java.util.logging.html" class="hiddenlink" target="rightframe">java.util.logging</A><br>
+<!-- Package javax.security.auth -->
+<A HREF="pkg_javax.security.auth.html" class="hiddenlink" target="rightframe">javax.security.auth</A><br>
+<!-- Class KeyEvent -->
+<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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.view.KeyEvent.html" class="hiddenlink" target="rightframe">KeyEvent</A><br>
+<!-- Class Layout -->
+<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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.text.Layout.html" class="hiddenlink" target="rightframe">Layout</A><br>
+<!-- Class LayoutTransition -->
+<A HREF="android.animation.LayoutTransition.html" class="hiddenlink" target="rightframe">LayoutTransition</A><br>
+<!-- Class LinearLayout -->
+<A HREF="android.widget.LinearLayout.html" class="hiddenlink" target="rightframe">LinearLayout</A><br>
+<!-- Class LiveFolders -->
+<A HREF="android.provider.LiveFolders.html" class="hiddenlink" target="rightframe">LiveFolders</A><br>
+<!-- Class Long2 -->
+<A HREF="android.renderscript.Long2.html" class="hiddenlink" target="rightframe">Long2</A><br>
+<!-- Class Long3 -->
+<A HREF="android.renderscript.Long3.html" class="hiddenlink" target="rightframe">Long3</A><br>
+<!-- Class Long4 -->
+<A HREF="android.renderscript.Long4.html" class="hiddenlink" target="rightframe">Long4</A><br>
+<!-- Method loop -->
+<nobr><A HREF="android.os.Looper.html#android.os.Looper.loop_changed()" class="hiddenlink" target="rightframe">loop
+()</A></nobr><br>
+<!-- Class Looper -->
+<A HREF="android.os.Looper.html" class="hiddenlink" target="rightframe">Looper</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="#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">
+<A HREF="android.Manifest.permission.html" class="hiddenlink" target="rightframe">Manifest.permission</A><br>
+<!-- Class Matrix -->
+<A HREF="android.opengl.Matrix.html" class="hiddenlink" target="rightframe">Matrix</A><br>
+<!-- Field MAX_TEXT_LENGTH -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.MAX_TEXT_LENGTH" class="hiddenlink" target="rightframe">MAX_TEXT_LENGTH</A>
+</nobr><br>
+<!-- Class MediaMetadataRetriever -->
+<A HREF="android.media.MediaMetadataRetriever.html" class="hiddenlink" target="rightframe">MediaMetadataRetriever</A><br>
+<!-- Class MediaPlayer -->
+<A HREF="android.media.MediaPlayer.html" class="hiddenlink" target="rightframe">MediaPlayer</A><br>
+<!-- Class MediaRecorder -->
+<A HREF="android.media.MediaRecorder.html" class="hiddenlink" target="rightframe">MediaRecorder</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 MenuItem -->
+<A HREF="android.view.MenuItem.html" class="hiddenlink" target="rightframe"><i>MenuItem</i></A><br>
+<!-- Class Method -->
+<A HREF="java.lang.reflect.Method.html" class="hiddenlink" target="rightframe">Method</A><br>
+<!-- Class MifareClassic -->
+<A HREF="android.nfc.tech.MifareClassic.html" class="hiddenlink" target="rightframe">MifareClassic</A><br>
+<!-- Class MifareUltralight -->
+<A HREF="android.nfc.tech.MifareUltralight.html" class="hiddenlink" target="rightframe">MifareUltralight</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 myLooper -->
+<nobr><A HREF="android.os.Looper.html#android.os.Looper.myLooper_changed()" class="hiddenlink" target="rightframe">myLooper
+()</A></nobr><br>
+<!-- Method myQueue -->
+<nobr><A HREF="android.os.Looper.html#android.os.Looper.myQueue_changed()" class="hiddenlink" target="rightframe">myQueue
+()</A></nobr><br>
+<!-- Class NdefRecord -->
+<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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.nfc.NdefRecord.html" class="hiddenlink" target="rightframe">NdefRecord</A><br>
+<!-- Class NfcA -->
+<A HREF="android.nfc.tech.NfcA.html" class="hiddenlink" target="rightframe">NfcA</A><br>
+<!-- Class NfcAdapter -->
+<A HREF="android.nfc.NfcAdapter.html" class="hiddenlink" target="rightframe">NfcAdapter</A><br>
+<!-- Class NfcB -->
+<A HREF="android.nfc.tech.NfcB.html" class="hiddenlink" target="rightframe">NfcB</A><br>
+<!-- Class NfcF -->
+<A HREF="android.nfc.tech.NfcF.html" class="hiddenlink" target="rightframe">NfcF</A><br>
+<!-- Class NfcV -->
+<A HREF="android.nfc.tech.NfcV.html" class="hiddenlink" target="rightframe">NfcV</A><br>
+<!-- Class Notification.Builder -->
+<A HREF="android.app.Notification.Builder.html" class="hiddenlink" target="rightframe">Notification.Builder</A><br>
+<!-- Class ObjectAnimator -->
+<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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.animation.ObjectAnimator.html" class="hiddenlink" target="rightframe">ObjectAnimator</A><br>
+<!-- Class ObjectInputStream -->
+<A HREF="java.io.ObjectInputStream.html" class="hiddenlink" target="rightframe">ObjectInputStream</A><br>
+<!-- Class ObjectOutputStream -->
+<A HREF="java.io.ObjectOutputStream.html" class="hiddenlink" target="rightframe">ObjectOutputStream</A><br>
+<!-- Class OverScroller -->
+<A HREF="android.widget.OverScroller.html" class="hiddenlink" target="rightframe">OverScroller</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="#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 PackageStats -->
+<A HREF="android.content.pm.PackageStats.html" class="hiddenlink" target="rightframe">PackageStats</A><br>
+<!-- Class Paint -->
+<A HREF="android.graphics.Paint.html" class="hiddenlink" target="rightframe">Paint</A><br>
+<!-- Class ParcelFileDescriptor -->
+<A HREF="android.os.ParcelFileDescriptor.html" class="hiddenlink" target="rightframe">ParcelFileDescriptor</A><br>
+<!-- Class PathClassLoader -->
+<A HREF="dalvik.system.PathClassLoader.html" class="hiddenlink" target="rightframe">PathClassLoader</A><br>
+<!-- Class Patterns -->
+<A HREF="android.util.Patterns.html" class="hiddenlink" target="rightframe">Patterns</A><br>
+<!-- Class PendingIntent -->
+<A HREF="android.app.PendingIntent.html" class="hiddenlink" target="rightframe">PendingIntent</A><br>
+<!-- Class Permission -->
+<A HREF="java.security.Permission.html" class="hiddenlink" target="rightframe">Permission</A><br>
+<!-- Class PopupMenu -->
+<A HREF="android.widget.PopupMenu.html" class="hiddenlink" target="rightframe">PopupMenu</A><br>
+<!-- Class Preference -->
+<A HREF="android.preference.Preference.html" class="hiddenlink" target="rightframe">Preference</A><br>
+<!-- Class PreferenceActivity -->
+<A HREF="android.preference.PreferenceActivity.html" class="hiddenlink" target="rightframe">PreferenceActivity</A><br>
+<!-- Method prepare -->
+<nobr><A HREF="android.os.Looper.html#android.os.Looper.prepare_changed()" class="hiddenlink" target="rightframe">prepare
+()</A></nobr><br>
+<!-- Method prepareMainLooper -->
+<nobr><A HREF="android.os.Looper.html#android.os.Looper.prepareMainLooper_changed()" class="hiddenlink" target="rightframe">prepareMainLooper
+()</A></nobr><br>
+<!-- Class PrivateCredentialPermission -->
+<A HREF="javax.security.auth.PrivateCredentialPermission.html" class="hiddenlink" target="rightframe">PrivateCredentialPermission</A><br>
+<!-- Class Process -->
+<A HREF="android.os.Process.html" class="hiddenlink" target="rightframe">Process</A><br>
+<!-- Class PropertyValuesHolder -->
+<A HREF="android.animation.PropertyValuesHolder.html" class="hiddenlink" target="rightframe">PropertyValuesHolder</A><br>
+<!-- Class R.attr -->
+<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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.R.attr.html" class="hiddenlink" target="rightframe">R.attr</A><br>
+<!-- Class R.color -->
+<A HREF="android.R.color.html" class="hiddenlink" target="rightframe">R.color</A><br>
+<!-- Class R.integer -->
+<A HREF="android.R.integer.html" class="hiddenlink" target="rightframe">R.integer</A><br>
+<!-- Class R.string -->
+<A HREF="android.R.string.html" class="hiddenlink" target="rightframe">R.string</A><br>
+<!-- Class R.style -->
+<A HREF="android.R.style.html" class="hiddenlink" target="rightframe">R.style</A><br>
+<!-- Field RADIO -->
+<nobr><A HREF="android.os.Build.html#android.os.Build.RADIO" class="hiddenlink" target="rightframe">RADIO</A>
+</nobr><br>
+<!-- Class RecognizerIntent -->
+<A HREF="android.speech.RecognizerIntent.html" class="hiddenlink" target="rightframe">RecognizerIntent</A><br>
+<!-- Class RecoverySystem -->
+<A HREF="android.os.RecoverySystem.html" class="hiddenlink" target="rightframe">RecoverySystem</A><br>
+<!-- Class RectF -->
+<A HREF="android.graphics.RectF.html" class="hiddenlink" target="rightframe">RectF</A><br>
+<!-- Method recycle -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.recycle_changed()" class="hiddenlink" target="rightframe">recycle
+()</A></nobr><br>
+<!-- Class ReferenceQueue -->
+<A HREF="java.lang.ref.ReferenceQueue.html" class="hiddenlink" target="rightframe">ReferenceQueue</A><br>
+<!-- Class RemoteViews -->
+<A HREF="android.widget.RemoteViews.html" class="hiddenlink" target="rightframe">RemoteViews</A><br>
+<!-- Method remove -->
+<nobr><A HREF="java.lang.ref.ReferenceQueue.html#java.lang.ref.ReferenceQueue.remove_changed(long)" class="hiddenlink" target="rightframe">remove
+(<code>long</code>)</A></nobr><br>
+<!-- Class RenderScriptGL -->
+<A HREF="android.renderscript.RenderScriptGL.html" class="hiddenlink" target="rightframe">RenderScriptGL</A><br>
+<!-- Class Script -->
+<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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.renderscript.Script.html" class="hiddenlink" target="rightframe">Script</A><br>
+<!-- Class Scroller -->
+<A HREF="android.widget.Scroller.html" class="hiddenlink" target="rightframe">Scroller</A><br>
+<!-- Class SearchManager -->
+<A HREF="android.app.SearchManager.html" class="hiddenlink" target="rightframe">SearchManager</A><br>
+<!-- Class SearchView -->
+<A HREF="android.widget.SearchView.html" class="hiddenlink" target="rightframe">SearchView</A><br>
+<!-- Class Sensor -->
+<A HREF="android.hardware.Sensor.html" class="hiddenlink" target="rightframe">Sensor</A><br>
+<!-- Class Service -->
+<A HREF="android.app.Service.html" class="hiddenlink" target="rightframe">Service</A><br>
+<!-- Class ServiceInfo -->
+<A HREF="android.content.pm.ServiceInfo.html" class="hiddenlink" target="rightframe">ServiceInfo</A><br>
+<!-- Method setAccessible -->
+<i>setAccessible</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AccessibleObject.html#java.lang.reflect.AccessibleObject.setAccessible_changed(java.lang.reflect.AccessibleObject[], boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>AccessibleObject[], boolean</code>)&nbsp;in&nbsp;java.lang.reflect.AccessibleObject
+</A></nobr><br>
+<!-- Method setAccessible -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AccessibleObject.html#java.lang.reflect.AccessibleObject.setAccessible_changed(boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>boolean</code>)&nbsp;in&nbsp;java.lang.reflect.AccessibleObject
+</A></nobr><br>
+<!-- Method setAddedCount -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setAddedCount_changed(int)" class="hiddenlink" target="rightframe">setAddedCount
+(<code>int</code>)</A></nobr><br>
+<!-- Method setAuxiliaryOutputFile -->
+<i>setAuxiliaryOutputFile</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.setAuxiliaryOutputFile_changed(java.io.FileDescriptor)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>FileDescriptor</code>)&nbsp;in&nbsp;android.media.MediaRecorder
+</A></nobr><br>
+<!-- Method setAuxiliaryOutputFile -->
+&nbsp;&nbsp;<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.setAuxiliaryOutputFile_changed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String</code>)&nbsp;in&nbsp;android.media.MediaRecorder
+</A></nobr><br>
+<!-- Method setBeforeText -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setBeforeText_changed(java.lang.CharSequence)" class="hiddenlink" target="rightframe">setBeforeText
+(<code>CharSequence</code>)</A></nobr><br>
+<!-- Method setChecked -->
+<i>setChecked</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.setChecked_changed(boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>boolean</code>)&nbsp;in&nbsp;android.preference.CheckBoxPreference
+</A></nobr><br>
+<!-- Method setChecked -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setChecked_changed(boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>boolean</code>)&nbsp;in&nbsp;android.view.accessibility.AccessibilityEvent
+</A></nobr><br>
+<!-- Method setClassName -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setClassName_changed(java.lang.CharSequence)" class="hiddenlink" target="rightframe">setClassName
+(<code>CharSequence</code>)</A></nobr><br>
+<!-- Method setContentDescription -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setContentDescription_changed(java.lang.CharSequence)" class="hiddenlink" target="rightframe">setContentDescription
+(<code>CharSequence</code>)</A></nobr><br>
+<!-- Method setCurrentItemIndex -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setCurrentItemIndex_changed(int)" class="hiddenlink" target="rightframe">setCurrentItemIndex
+(<code>int</code>)</A></nobr><br>
+<!-- Method setDisableDependentsState -->
+<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.setDisableDependentsState_changed(boolean)" class="hiddenlink" target="rightframe">setDisableDependentsState
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setEnabled -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setEnabled_changed(boolean)" class="hiddenlink" target="rightframe">setEnabled
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setEncoding -->
+<nobr><A HREF="java.util.logging.Handler.html#java.util.logging.Handler.setEncoding_changed(java.lang.String)" class="hiddenlink" target="rightframe">setEncoding
+(<code>String</code>)</A></nobr><br>
+<!-- Method setEngineByPackageName -->
+<nobr><A HREF="android.speech.tts.TextToSpeech.html#android.speech.tts.TextToSpeech.setEngineByPackageName_changed(java.lang.String)" class="hiddenlink" target="rightframe">setEngineByPackageName
+(<code>String</code>)</A></nobr><br>
+<!-- Method setFromIndex -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setFromIndex_changed(int)" class="hiddenlink" target="rightframe">setFromIndex
+(<code>int</code>)</A></nobr><br>
+<!-- Method setFullScreen -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setFullScreen_changed(boolean)" class="hiddenlink" target="rightframe">setFullScreen
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setItemCount -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setItemCount_changed(int)" class="hiddenlink" target="rightframe">setItemCount
+(<code>int</code>)</A></nobr><br>
+<!-- Method setParcelableData -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setParcelableData_changed(android.os.Parcelable)" class="hiddenlink" target="rightframe">setParcelableData
+(<code>Parcelable</code>)</A></nobr><br>
+<!-- Method setPassword -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setPassword_changed(boolean)" class="hiddenlink" target="rightframe">setPassword
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method setRemoteAdapter -->
+<nobr><A HREF="android.widget.RemoteViews.html#android.widget.RemoteViews.setRemoteAdapter_changed(int, int, android.content.Intent)" class="hiddenlink" target="rightframe">setRemoteAdapter
+(<code>int, int, Intent</code>)</A></nobr><br>
+<!-- Method setRemovedCount -->
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setRemovedCount_changed(int)" class="hiddenlink" target="rightframe">setRemovedCount
+(<code>int</code>)</A></nobr><br>
+<!-- Method setTextSize -->
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setTextSize_changed(android.webkit.WebSettings.TextSize)" class="hiddenlink" target="rightframe">setTextSize
+(<code>TextSize</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 Short2 -->
+<A HREF="android.renderscript.Short2.html" class="hiddenlink" target="rightframe">Short2</A><br>
+<!-- Class Short3 -->
+<A HREF="android.renderscript.Short3.html" class="hiddenlink" target="rightframe">Short3</A><br>
+<!-- Class Short4 -->
+<A HREF="android.renderscript.Short4.html" class="hiddenlink" target="rightframe">Short4</A><br>
+<!-- Class SocketPermission -->
+<A HREF="java.net.SocketPermission.html" class="hiddenlink" target="rightframe">SocketPermission</A><br>
+<!-- Class SparseArray -->
+<A HREF="android.util.SparseArray.html" class="hiddenlink" target="rightframe">SparseArray</A><br>
+<!-- Class SparseBooleanArray -->
+<A HREF="android.util.SparseBooleanArray.html" class="hiddenlink" target="rightframe">SparseBooleanArray</A><br>
+<!-- Class SparseIntArray -->
+<A HREF="android.util.SparseIntArray.html" class="hiddenlink" target="rightframe">SparseIntArray</A><br>
+<!-- Class SpeechRecognizer -->
+<A HREF="android.speech.SpeechRecognizer.html" class="hiddenlink" target="rightframe">SpeechRecognizer</A><br>
+<!-- Class SQLiteOpenHelper -->
+<A HREF="android.database.sqlite.SQLiteOpenHelper.html" class="hiddenlink" target="rightframe">SQLiteOpenHelper</A><br>
+<!-- Class SQLiteQueryBuilder -->
+<A HREF="android.database.sqlite.SQLiteQueryBuilder.html" class="hiddenlink" target="rightframe">SQLiteQueryBuilder</A><br>
+<!-- Field SSL_MAX_ERROR -->
+<nobr><A HREF="android.net.http.SslError.html#android.net.http.SslError.SSL_MAX_ERROR" class="hiddenlink" target="rightframe">SSL_MAX_ERROR</A>
+</nobr><br>
+<!-- Class SSLCertificateSocketFactory -->
+<A HREF="android.net.SSLCertificateSocketFactory.html" class="hiddenlink" target="rightframe">SSLCertificateSocketFactory</A><br>
+<!-- Class SslError -->
+<i>SslError</i><br>
+&nbsp;&nbsp;<A HREF="android.net.http.SslError.html" class="hiddenlink" target="rightframe">android.net.http</A><br>
+<!-- Constructor SslError -->
+&nbsp;&nbsp;<nobr><A HREF="android.net.http.SslError.html#android.net.http.SslError.ctor_changed(int, android.net.http.SslCertificate)" class="hiddenlink" target="rightframe">SslError
+(<code>int, SslCertificate</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor SslError -->
+&nbsp;&nbsp;<nobr><A HREF="android.net.http.SslError.html#android.net.http.SslError.ctor_changed(int, java.security.cert.X509Certificate)" class="hiddenlink" target="rightframe">SslError
+(<code>int, X509Certificate</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class StackView -->
+<A HREF="android.widget.StackView.html" class="hiddenlink" target="rightframe">StackView</A><br>
+<!-- Field STATUS_BAR_HIDDEN -->
+<nobr><A HREF="android.view.View.html#android.view.View.STATUS_BAR_HIDDEN" class="hiddenlink" target="rightframe">STATUS_BAR_HIDDEN</A>
+</nobr><br>
+<!-- Field STATUS_BAR_VISIBLE -->
+<nobr><A HREF="android.view.View.html#android.view.View.STATUS_BAR_VISIBLE" class="hiddenlink" target="rightframe">STATUS_BAR_VISIBLE</A>
+</nobr><br>
+<!-- Method supportsProcesses -->
+<nobr><A HREF="android.os.Process.html#android.os.Process.supportsProcesses_changed()" class="hiddenlink" target="rightframe">supportsProcesses
+()</A></nobr><br>
+<!-- Class Surface -->
+<A HREF="android.view.Surface.html" class="hiddenlink" target="rightframe">Surface</A><br>
+<!-- Class SurfaceTexture -->
+<A HREF="android.graphics.SurfaceTexture.html" class="hiddenlink" target="rightframe">SurfaceTexture</A><br>
+<!-- Class SyncAdapterType -->
+<A HREF="android.content.SyncAdapterType.html" class="hiddenlink" target="rightframe">SyncAdapterType</A><br>
+<!-- Class TestTarget -->
+<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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="dalvik.annotation.TestTarget.html" class="hiddenlink" target="rightframe">TestTarget</A><br>
+<!-- Class TestTargetClass -->
+<A HREF="dalvik.annotation.TestTargetClass.html" class="hiddenlink" target="rightframe">TestTargetClass</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 TextView -->
+<A HREF="android.widget.TextView.html" class="hiddenlink" target="rightframe">TextView</A><br>
+<!-- Field TOP_LEVEL_DOMAIN_STR -->
+<nobr><A HREF="android.util.Patterns.html#android.util.Patterns.TOP_LEVEL_DOMAIN_STR" class="hiddenlink" target="rightframe">TOP_LEVEL_DOMAIN_STR</A>
+</nobr><br>
+<!-- Field TOP_LEVEL_DOMAIN_STR_FOR_WEB_URL -->
+<nobr><A HREF="android.util.Patterns.html#android.util.Patterns.TOP_LEVEL_DOMAIN_STR_FOR_WEB_URL" class="hiddenlink" target="rightframe">TOP_LEVEL_DOMAIN_STR_FOR_WEB_URL</A>
+</nobr><br>
+<!-- Class TrafficStats -->
+<A HREF="android.net.TrafficStats.html" class="hiddenlink" target="rightframe">TrafficStats</A><br>
+<!-- Field TTS_DEFAULT_COUNTRY -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.TTS_DEFAULT_COUNTRY" class="hiddenlink" target="rightframe">TTS_DEFAULT_COUNTRY</A>
+</nobr><br>
+<!-- Field TTS_DEFAULT_LANG -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.TTS_DEFAULT_LANG" class="hiddenlink" target="rightframe">TTS_DEFAULT_LANG</A>
+</nobr><br>
+<!-- Field TTS_DEFAULT_VARIANT -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.TTS_DEFAULT_VARIANT" class="hiddenlink" target="rightframe">TTS_DEFAULT_VARIANT</A>
+</nobr><br>
+<!-- Field TTS_USE_DEFAULTS -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.TTS_USE_DEFAULTS" class="hiddenlink" target="rightframe">TTS_USE_DEFAULTS</A>
+</nobr><br>
+<!-- Field TYPE_TEMPERATURE -->
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_TEMPERATURE" class="hiddenlink" target="rightframe">TYPE_TEMPERATURE</A>
+</nobr><br>
+<!-- Class TypeEvaluator -->
+<A HREF="android.animation.TypeEvaluator.html" class="hiddenlink" target="rightframe"><i>TypeEvaluator</i></A><br>
+<!-- Class UnresolvedPermission -->
+<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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="java.security.UnresolvedPermission.html" class="hiddenlink" target="rightframe">UnresolvedPermission</A><br>
+<!-- Class View -->
+<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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<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 -->
+<A HREF="android.view.ViewGroup.html" class="hiddenlink" target="rightframe">ViewGroup</A><br>
+<!-- Class ViewParent -->
+<A HREF="android.view.ViewParent.html" class="hiddenlink" target="rightframe"><i>ViewParent</i></A><br>
+<!-- Class ViewPropertyAnimator -->
+<A HREF="android.view.ViewPropertyAnimator.html" class="hiddenlink" target="rightframe">ViewPropertyAnimator</A><br>
+<!-- Class WallpaperManager -->
+<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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.app.WallpaperManager.html" class="hiddenlink" target="rightframe">WallpaperManager</A><br>
+<!-- Class WallpaperService.Engine -->
+<A HREF="android.service.wallpaper.WallpaperService.Engine.html" class="hiddenlink" target="rightframe">WallpaperService.Engine</A><br>
+<!-- Class WebChromeClient -->
+<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.TextSize -->
+<A HREF="android.webkit.WebSettings.TextSize.html" class="hiddenlink" target="rightframe">WebSettings.TextSize</A><br>
+<!-- Class WebView.HitTestResult -->
+<A HREF="android.webkit.WebView.HitTestResult.html" class="hiddenlink" target="rightframe">WebView.HitTestResult</A><br>
+<!-- Field WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE</A>
+</nobr><br>
+<!-- Field WIFI_WATCHDOG_AP_COUNT -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_AP_COUNT" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_AP_COUNT</A>
+</nobr><br>
+<!-- Field WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS</A>
+</nobr><br>
+<!-- Field WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED</A>
+</nobr><br>
+<!-- Field WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS</A>
+</nobr><br>
+<!-- Field WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT</A>
+</nobr><br>
+<!-- Field WIFI_WATCHDOG_MAX_AP_CHECKS -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_MAX_AP_CHECKS" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_MAX_AP_CHECKS</A>
+</nobr><br>
+<!-- Field WIFI_WATCHDOG_PING_COUNT -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_PING_COUNT" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_PING_COUNT</A>
+</nobr><br>
+<!-- Field WIFI_WATCHDOG_PING_DELAY_MS -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_PING_DELAY_MS" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_PING_DELAY_MS</A>
+</nobr><br>
+<!-- Field WIFI_WATCHDOG_PING_TIMEOUT_MS -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_PING_TIMEOUT_MS" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_PING_TIMEOUT_MS</A>
+</nobr><br>
+<!-- Field WIFI_WATCHDOG_WATCH_LIST -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_WATCH_LIST" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_WATCH_LIST</A>
+</nobr><br>
+<!-- Class WifiManager -->
+<A HREF="android.net.wifi.WifiManager.html" class="hiddenlink" target="rightframe">WifiManager</A><br>
+<!-- Class Window -->
+<A HREF="android.view.Window.html" class="hiddenlink" target="rightframe">Window</A><br>
+<!-- Class WindowManager.LayoutParams -->
+<A HREF="android.view.WindowManager.LayoutParams.html" class="hiddenlink" target="rightframe">WindowManager.LayoutParams</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/14/changes/alldiffs_index_removals.html b/docs/html/sdk/api_diff/14/changes/alldiffs_index_removals.html
new file mode 100644
index 0000000..18bc2b3
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/alldiffs_index_removals.html
@@ -0,0 +1,343 @@
+<!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>
+<!-- Field ALBUM_ART -->
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.provider.MediaStore.Audio.AudioColumns.html#android.provider.MediaStore.Audio.AudioColumns.ALBUM_ART" class="hiddenlink" target="rightframe"><strike>ALBUM_ART</strike></A>
+</nobr><br>
+<!-- Method freeze -->
+<A NAME="F"></A>
+<br><font size="+2">F</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.freeze_removed()" class="hiddenlink" target="rightframe"><strike>freeze</strike>
+()</A></nobr><br>
+<!-- Field FX_SURFACE_BLUR -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.FX_SURFACE_BLUR" class="hiddenlink" target="rightframe"><strike>FX_SURFACE_BLUR</strike></A>
+</nobr><br>
+<!-- Field FX_SURFACE_DIM -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.FX_SURFACE_DIM" class="hiddenlink" target="rightframe"><strike>FX_SURFACE_DIM</strike></A>
+</nobr><br>
+<!-- Field FX_SURFACE_MASK -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.FX_SURFACE_MASK" class="hiddenlink" target="rightframe"><strike>FX_SURFACE_MASK</strike></A>
+</nobr><br>
+<!-- Field FX_SURFACE_NORMAL -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.FX_SURFACE_NORMAL" class="hiddenlink" target="rightframe"><strike>FX_SURFACE_NORMAL</strike></A>
+</nobr><br>
+<!-- Field GPU -->
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#F"><font size="-2">F</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.GPU" class="hiddenlink" target="rightframe"><strike>GPU</strike></A>
+</nobr><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="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.HARDWARE" class="hiddenlink" target="rightframe"><strike>HARDWARE</strike></A>
+</nobr><br>
+<!-- Field HIDDEN -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.HIDDEN" class="hiddenlink" target="rightframe"><strike>HIDDEN</strike></A>
+</nobr><br>
+<!-- Method hide -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.hide_removed()" class="hiddenlink" target="rightframe"><strike>hide</strike>
+()</A></nobr><br>
+<!-- Field NON_PREMULTIPLIED -->
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.NON_PREMULTIPLIED" class="hiddenlink" target="rightframe"><strike>NON_PREMULTIPLIED</strike></A>
+</nobr><br>
+<!-- Method obtain -->
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#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.obtain_removed(long, long, int, int, int[], android.view.MotionEvent.PointerCoords[], int, float, float, int, int, int, int)" class="hiddenlink" target="rightframe"><strike>obtain</strike>
+(<code>long, long, int, int, int[], PointerCoords[], int, float, float, int, int, int, int</code>)</A></nobr><br>
+<!-- Field PUSH_BUFFERS -->
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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">
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.PUSH_BUFFERS" class="hiddenlink" target="rightframe"><strike>PUSH_BUFFERS</strike></A>
+</nobr><br>
+<!-- Method readData -->
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#P"><font size="-2">P</font></a> 
+<a href="#S"><font size="-2">S</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>readData</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.readData_removed(float[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>float[]</code>)</strike>&nbsp;in&nbsp;android.renderscript.AllocationAdapter
+</A></nobr><br>
+<!-- Method readData -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.readData_removed(int[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int[]</code>)</strike>&nbsp;in&nbsp;android.renderscript.AllocationAdapter
+</A></nobr><br>
+<!-- Field SECURE -->
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</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">
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.SECURE" class="hiddenlink" target="rightframe"><strike>SECURE</strike></A>
+</nobr><br>
+<!-- Method setAlpha -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setAlpha_removed(float)" class="hiddenlink" target="rightframe"><strike>setAlpha</strike>
+(<code>float</code>)</A></nobr><br>
+<!-- Method setDataSource -->
+<nobr><A HREF="android.media.MediaPlayer.html#android.media.MediaPlayer.setDataSource_removed(java.lang.String)" class="hiddenlink" target="rightframe"><strike>setDataSource</strike>
+(<code>String</code>)</A></nobr><br>
+<!-- Method setFlags -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setFlags_removed(int, int)" class="hiddenlink" target="rightframe"><strike>setFlags</strike>
+(<code>int, int</code>)</A></nobr><br>
+<!-- Method setFreezeTint -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setFreezeTint_removed(int)" class="hiddenlink" target="rightframe"><strike>setFreezeTint</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setLayer -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setLayer_removed(int)" class="hiddenlink" target="rightframe"><strike>setLayer</strike>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setMatrix -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setMatrix_removed(float, float, float, float)" class="hiddenlink" target="rightframe"><strike>setMatrix</strike>
+(<code>float, float, float, float</code>)</A></nobr><br>
+<!-- Method setOrientation -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setOrientation_removed(int, int)" class="hiddenlink" target="rightframe"><strike>setOrientation</strike>
+(<code>int, int</code>)</A></nobr><br>
+<!-- Method setPosition -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setPosition_removed(int, int)" class="hiddenlink" target="rightframe"><strike>setPosition</strike>
+(<code>int, int</code>)</A></nobr><br>
+<!-- Method setSize -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setSize_removed(int, int)" class="hiddenlink" target="rightframe"><strike>setSize</strike>
+(<code>int, int</code>)</A></nobr><br>
+<!-- Method setSummaryOff -->
+<i>setSummaryOff</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.setSummaryOff_removed(int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int</code>)</strike>&nbsp;in&nbsp;android.preference.CheckBoxPreference
+</A></nobr><br>
+<!-- Method setSummaryOff -->
+&nbsp;&nbsp;<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.setSummaryOff_removed(java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>CharSequence</code>)</strike>&nbsp;in&nbsp;android.preference.CheckBoxPreference
+</A></nobr><br>
+<!-- Method setSummaryOn -->
+<i>setSummaryOn</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.setSummaryOn_removed(int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int</code>)</strike>&nbsp;in&nbsp;android.preference.CheckBoxPreference
+</A></nobr><br>
+<!-- Method setSummaryOn -->
+&nbsp;&nbsp;<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.setSummaryOn_removed(java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>CharSequence</code>)</strike>&nbsp;in&nbsp;android.preference.CheckBoxPreference
+</A></nobr><br>
+<!-- Method setTransparentRegionHint -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setTransparentRegionHint_removed(android.graphics.Region)" class="hiddenlink" target="rightframe"><strike>setTransparentRegionHint</strike>
+(<code>Region</code>)</A></nobr><br>
+<!-- Method show -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.show_removed()" class="hiddenlink" target="rightframe"><strike>show</strike>
+()</A></nobr><br>
+<!-- Method subData -->
+<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.subData_removed(int, android.renderscript.FieldPacker)" class="hiddenlink" target="rightframe"><strike>subData</strike>
+(<code>int, FieldPacker</code>)</A></nobr><br>
+<!-- Method subData1D -->
+<i>subData1D</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.subData1D_removed(int, int, byte[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, int, byte[]</code>)</strike>&nbsp;in&nbsp;android.renderscript.AllocationAdapter
+</A></nobr><br>
+<!-- Method subData1D -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.subData1D_removed(int, int, float[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, int, float[]</code>)</strike>&nbsp;in&nbsp;android.renderscript.AllocationAdapter
+</A></nobr><br>
+<!-- Method subData1D -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.subData1D_removed(int, int, int[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, int, int[]</code>)</strike>&nbsp;in&nbsp;android.renderscript.AllocationAdapter
+</A></nobr><br>
+<!-- Method subData1D -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.subData1D_removed(int, int, short[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, int, short[]</code>)</strike>&nbsp;in&nbsp;android.renderscript.AllocationAdapter
+</A></nobr><br>
+<!-- Method subData2D -->
+<i>subData2D</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.subData2D_removed(int, int, int, int, float[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, int, int, int, float[]</code>)</strike>&nbsp;in&nbsp;android.renderscript.AllocationAdapter
+</A></nobr><br>
+<!-- Method subData2D -->
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.subData2D_removed(int, int, int, int, int[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, int, int, int, int[]</code>)</strike>&nbsp;in&nbsp;android.renderscript.AllocationAdapter
+</A></nobr><br>
+<!-- Method subElementData -->
+<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.subElementData_removed(int, int, android.renderscript.FieldPacker)" class="hiddenlink" target="rightframe"><strike>subElementData</strike>
+(<code>int, int, FieldPacker</code>)</A></nobr><br>
+<!-- Field SURACE_FROZEN -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.SURACE_FROZEN" class="hiddenlink" target="rightframe"><strike>SURACE_FROZEN</strike></A>
+</nobr><br>
+<!-- Field SURFACE_BLUR_FREEZE -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.SURFACE_BLUR_FREEZE" class="hiddenlink" target="rightframe"><strike>SURFACE_BLUR_FREEZE</strike></A>
+</nobr><br>
+<!-- Field SURFACE_DITHER -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.SURFACE_DITHER" class="hiddenlink" target="rightframe"><strike>SURFACE_DITHER</strike></A>
+</nobr><br>
+<!-- Field SURFACE_FROZEN -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.SURFACE_FROZEN" class="hiddenlink" target="rightframe"><strike>SURFACE_FROZEN</strike></A>
+</nobr><br>
+<!-- Field SURFACE_HIDDEN -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.SURFACE_HIDDEN" class="hiddenlink" target="rightframe"><strike>SURFACE_HIDDEN</strike></A>
+</nobr><br>
+<!-- Method unfreeze -->
+<A NAME="U"></A>
+<br><font size="+2">U</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.unfreeze_removed()" class="hiddenlink" target="rightframe"><strike>unfreeze</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/14/changes/android.Manifest.permission.html b/docs/html/sdk/api_diff/14/changes/android.Manifest.permission.html
new file mode 100644
index 0000000..24386cf
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.Manifest.permission.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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.ADD_VOICEMAIL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/Manifest.permission.html#ADD_VOICEMAIL" target="_top"><code>ADD_VOICEMAIL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.Manifest.permission.BIND_TEXT_SERVICE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/Manifest.permission.html#BIND_TEXT_SERVICE" target="_top"><code>BIND_TEXT_SERVICE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.Manifest.permission.BIND_VPN_SERVICE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/Manifest.permission.html#BIND_VPN_SERVICE" target="_top"><code>BIND_VPN_SERVICE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.Manifest.permission.READ_PROFILE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/Manifest.permission.html#READ_PROFILE" target="_top"><code>READ_PROFILE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.Manifest.permission.WRITE_PROFILE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/Manifest.permission.html#WRITE_PROFILE" target="_top"><code>WRITE_PROFILE</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/14/changes/android.R.attr.html b/docs/html/sdk/api_diff/14/changes/android.R.attr.html
new file mode 100644
index 0000000..2944036
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.R.attr.html
@@ -0,0 +1,580 @@
+<!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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.accessibilityEventTypes"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#accessibilityEventTypes" target="_top"><code>accessibilityEventTypes</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.accessibilityFeedbackType"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#accessibilityFeedbackType" target="_top"><code>accessibilityFeedbackType</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.accessibilityFlags"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#accessibilityFlags" target="_top"><code>accessibilityFlags</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.actionBarDivider"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#actionBarDivider" target="_top"><code>actionBarDivider</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.actionBarItemBackground"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#actionBarItemBackground" target="_top"><code>actionBarItemBackground</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.actionBarSplitStyle"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#actionBarSplitStyle" target="_top"><code>actionBarSplitStyle</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.actionBarWidgetTheme"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#actionBarWidgetTheme" target="_top"><code>actionBarWidgetTheme</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.actionModeSelectAllDrawable"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#actionModeSelectAllDrawable" target="_top"><code>actionModeSelectAllDrawable</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.actionModeSplitBackground"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#actionModeSplitBackground" target="_top"><code>actionModeSplitBackground</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.actionModeStyle"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#actionModeStyle" target="_top"><code>actionModeStyle</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.actionProviderClass"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#actionProviderClass" target="_top"><code>actionProviderClass</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.alignmentMode"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#alignmentMode" target="_top"><code>alignmentMode</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.backgroundSplit"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#backgroundSplit" target="_top"><code>backgroundSplit</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.backgroundStacked"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#backgroundStacked" target="_top"><code>backgroundStacked</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.canRetrieveWindowContent"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#canRetrieveWindowContent" target="_top"><code>canRetrieveWindowContent</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.colorActivatedHighlight"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#colorActivatedHighlight" target="_top"><code>colorActivatedHighlight</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.colorFocusedHighlight"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#colorFocusedHighlight" target="_top"><code>colorFocusedHighlight</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.colorLongPressedHighlight"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#colorLongPressedHighlight" target="_top"><code>colorLongPressedHighlight</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.colorMultiSelectHighlight"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#colorMultiSelectHighlight" target="_top"><code>colorMultiSelectHighlight</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.colorPressedHighlight"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#colorPressedHighlight" target="_top"><code>colorPressedHighlight</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.columnCount"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#columnCount" target="_top"><code>columnCount</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.columnOrderPreserved"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#columnOrderPreserved" target="_top"><code>columnOrderPreserved</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.directionDescriptions"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#directionDescriptions" target="_top"><code>directionDescriptions</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.drawableEnd"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#drawableEnd" target="_top"><code>drawableEnd</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.drawableStart"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#drawableStart" target="_top"><code>drawableStart</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.isAuxiliary"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#isAuxiliary" target="_top"><code>isAuxiliary</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.layout_columnSpan"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#layout_columnSpan" target="_top"><code>layout_columnSpan</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.layout_row"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#layout_row" target="_top"><code>layout_row</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.layout_rowSpan"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#layout_rowSpan" target="_top"><code>layout_rowSpan</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.listPreferredItemHeightLarge"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#listPreferredItemHeightLarge" target="_top"><code>listPreferredItemHeightLarge</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.listPreferredItemHeightSmall"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#listPreferredItemHeightSmall" target="_top"><code>listPreferredItemHeightSmall</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.listPreferredItemPaddingLeft"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#listPreferredItemPaddingLeft" target="_top"><code>listPreferredItemPaddingLeft</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.listPreferredItemPaddingRight"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#listPreferredItemPaddingRight" target="_top"><code>listPreferredItemPaddingRight</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.minResizeHeight"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#minResizeHeight" target="_top"><code>minResizeHeight</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.minResizeWidth"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#minResizeWidth" target="_top"><code>minResizeWidth</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.notificationTimeout"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#notificationTimeout" target="_top"><code>notificationTimeout</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.overridesImplicitlyEnabledSubtype"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#overridesImplicitlyEnabledSubtype" target="_top"><code>overridesImplicitlyEnabledSubtype</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.packageNames"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#packageNames" target="_top"><code>packageNames</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.publicKey"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#publicKey" target="_top"><code>publicKey</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.requiresFadingEdge"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#requiresFadingEdge" target="_top"><code>requiresFadingEdge</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.rowCount"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#rowCount" target="_top"><code>rowCount</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.rowOrderPreserved"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#rowOrderPreserved" target="_top"><code>rowOrderPreserved</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.state_drag_can_accept"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#state_drag_can_accept" target="_top"><code>state_drag_can_accept</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.state_drag_hovered"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#state_drag_hovered" target="_top"><code>state_drag_hovered</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.state_hovered"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#state_hovered" target="_top"><code>state_hovered</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.stopWithTask"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#stopWithTask" target="_top"><code>stopWithTask</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.subtypeExtraValue"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#subtypeExtraValue" target="_top"><code>subtypeExtraValue</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.subtypeLocale"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#subtypeLocale" target="_top"><code>subtypeLocale</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.switchMinWidth"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#switchMinWidth" target="_top"><code>switchMinWidth</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.switchPadding"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#switchPadding" target="_top"><code>switchPadding</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.switchPreferenceStyle"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#switchPreferenceStyle" target="_top"><code>switchPreferenceStyle</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.switchTextAppearance"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#switchTextAppearance" target="_top"><code>switchTextAppearance</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.switchTextOff"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#switchTextOff" target="_top"><code>switchTextOff</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.switchTextOn"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#switchTextOn" target="_top"><code>switchTextOn</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.targetDescriptions"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#targetDescriptions" target="_top"><code>targetDescriptions</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.textAllCaps"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#textAllCaps" target="_top"><code>textAllCaps</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.textAppearanceListItem"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#textAppearanceListItem" target="_top"><code>textAppearanceListItem</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.textAppearanceListItemSmall"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#textAppearanceListItemSmall" target="_top"><code>textAppearanceListItemSmall</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.textEditSuggestionItemLayout"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#textEditSuggestionItemLayout" target="_top"><code>textEditSuggestionItemLayout</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.textSuggestionsWindowStyle"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#textSuggestionsWindowStyle" target="_top"><code>textSuggestionsWindowStyle</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.thumbTextPadding"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#thumbTextPadding" target="_top"><code>thumbTextPadding</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.track"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#track" target="_top"><code>track</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.uiOptions"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#uiOptions" target="_top"><code>uiOptions</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.useDefaultMargins"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#useDefaultMargins" target="_top"><code>useDefaultMargins</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.fadingEdge"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#fadingEdge" target="_top"><code>fadingEdge</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/14/changes/android.R.color.html b/docs/html/sdk/api_diff/14/changes/android.R.color.html
new file mode 100644
index 0000000..3c13cc6
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.R.color.html
@@ -0,0 +1,185 @@
+<!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.color
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.color.html" target="_top"><font size="+2"><code>R.color</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.color.holo_blue_bright"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#holo_blue_bright" target="_top"><code>holo_blue_bright</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.holo_blue_dark"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#holo_blue_dark" target="_top"><code>holo_blue_dark</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.holo_blue_light"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#holo_blue_light" target="_top"><code>holo_blue_light</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.holo_green_dark"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#holo_green_dark" target="_top"><code>holo_green_dark</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.holo_green_light"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#holo_green_light" target="_top"><code>holo_green_light</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.holo_orange_dark"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#holo_orange_dark" target="_top"><code>holo_orange_dark</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.holo_orange_light"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#holo_orange_light" target="_top"><code>holo_orange_light</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.holo_purple"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#holo_purple" target="_top"><code>holo_purple</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.holo_red_dark"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#holo_red_dark" target="_top"><code>holo_red_dark</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.holo_red_light"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#holo_red_light" target="_top"><code>holo_red_light</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/14/changes/android.R.integer.html b/docs/html/sdk/api_diff/14/changes/android.R.integer.html
new file mode 100644
index 0000000..9d10a83
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.R.integer.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.integer
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.integer.html" target="_top"><font size="+2"><code>R.integer</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.integer.status_bar_notification_info_maxnum"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.integer.html#status_bar_notification_info_maxnum" target="_top"><code>status_bar_notification_info_maxnum</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/14/changes/android.R.string.html b/docs/html/sdk/api_diff/14/changes/android.R.string.html
new file mode 100644
index 0000000..d9deb00
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.R.string.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.string
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.string.html" target="_top"><font size="+2"><code>R.string</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.string.status_bar_notification_info_overflow"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.string.html#status_bar_notification_info_overflow" target="_top"><code>status_bar_notification_info_overflow</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/14/changes/android.R.style.html b/docs/html/sdk/api_diff/14/changes/android.R.style.html
new file mode 100644
index 0000000..857d9d7
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.R.style.html
@@ -0,0 +1,1438 @@
+<!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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.style.html" target="_top"><font size="+2"><code>R.style</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.style.DeviceDefault_ButtonBar"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#DeviceDefault_ButtonBar" target="_top"><code>DeviceDefault_ButtonBar</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.DeviceDefault_ButtonBar_AlertDialog"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#DeviceDefault_ButtonBar_AlertDialog" target="_top"><code>DeviceDefault_ButtonBar_AlertDialog</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.DeviceDefault_Light_ButtonBar"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#DeviceDefault_Light_ButtonBar" target="_top"><code>DeviceDefault_Light_ButtonBar</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.DeviceDefault_Light_ButtonBar_AlertDialog"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#DeviceDefault_Light_ButtonBar_AlertDialog" target="_top"><code>DeviceDefault_Light_ButtonBar_AlertDialog</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.DeviceDefault_Light_SegmentedButton"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#DeviceDefault_Light_SegmentedButton" target="_top"><code>DeviceDefault_Light_SegmentedButton</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.DeviceDefault_SegmentedButton"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#DeviceDefault_SegmentedButton" target="_top"><code>DeviceDefault_SegmentedButton</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_DeviceDefault"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_DeviceDefault" target="_top"><code>TextAppearance_DeviceDefault</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_DeviceDefault_DialogWindowTitle"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_DeviceDefault_DialogWindowTitle" target="_top"><code>TextAppearance_DeviceDefault_DialogWindowTitle</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_DeviceDefault_Inverse"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_DeviceDefault_Inverse" target="_top"><code>TextAppearance_DeviceDefault_Inverse</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_DeviceDefault_Large"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_DeviceDefault_Large" target="_top"><code>TextAppearance_DeviceDefault_Large</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_DeviceDefault_Large_Inverse"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_DeviceDefault_Large_Inverse" target="_top"><code>TextAppearance_DeviceDefault_Large_Inverse</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_DeviceDefault_Medium"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_DeviceDefault_Medium" target="_top"><code>TextAppearance_DeviceDefault_Medium</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_DeviceDefault_Medium_Inverse"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_DeviceDefault_Medium_Inverse" target="_top"><code>TextAppearance_DeviceDefault_Medium_Inverse</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_DeviceDefault_SearchResult_Subtitle"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_DeviceDefault_SearchResult_Subtitle" target="_top"><code>TextAppearance_DeviceDefault_SearchResult_Subtitle</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_DeviceDefault_SearchResult_Title"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_DeviceDefault_SearchResult_Title" target="_top"><code>TextAppearance_DeviceDefault_SearchResult_Title</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_DeviceDefault_Small"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_DeviceDefault_Small" target="_top"><code>TextAppearance_DeviceDefault_Small</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_DeviceDefault_Small_Inverse"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_DeviceDefault_Small_Inverse" target="_top"><code>TextAppearance_DeviceDefault_Small_Inverse</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_DeviceDefault_Widget"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_DeviceDefault_Widget" target="_top"><code>TextAppearance_DeviceDefault_Widget</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_DeviceDefault_Widget_ActionBar_Menu"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_DeviceDefault_Widget_ActionBar_Menu" target="_top"><code>TextAppearance_DeviceDefault_Widget_ActionBar_Menu</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle" target="_top"><code>TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle_Inverse"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle_Inverse" target="_top"><code>TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle_Inverse</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_DeviceDefault_Widget_ActionBar_Title"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_DeviceDefault_Widget_ActionBar_Title" target="_top"><code>TextAppearance_DeviceDefault_Widget_ActionBar_Title</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_DeviceDefault_Widget_ActionBar_Title_Inverse"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_DeviceDefault_Widget_ActionBar_Title_Inverse" target="_top"><code>TextAppearance_DeviceDefault_Widget_ActionBar_Title_Inverse</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle" target="_top"><code>TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle_Inverse"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle_Inverse" target="_top"><code>TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle_Inverse</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_DeviceDefault_Widget_ActionMode_Title"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_DeviceDefault_Widget_ActionMode_Title" target="_top"><code>TextAppearance_DeviceDefault_Widget_ActionMode_Title</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_DeviceDefault_Widget_ActionMode_Title_Inverse"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_DeviceDefault_Widget_ActionMode_Title_Inverse" target="_top"><code>TextAppearance_DeviceDefault_Widget_ActionMode_Title_Inverse</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_DeviceDefault_Widget_Button"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_DeviceDefault_Widget_Button" target="_top"><code>TextAppearance_DeviceDefault_Widget_Button</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_DeviceDefault_Widget_DropDownHint"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_DeviceDefault_Widget_DropDownHint" target="_top"><code>TextAppearance_DeviceDefault_Widget_DropDownHint</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_DeviceDefault_Widget_DropDownItem"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_DeviceDefault_Widget_DropDownItem" target="_top"><code>TextAppearance_DeviceDefault_Widget_DropDownItem</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_DeviceDefault_Widget_EditText"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_DeviceDefault_Widget_EditText" target="_top"><code>TextAppearance_DeviceDefault_Widget_EditText</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_DeviceDefault_Widget_IconMenu_Item"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_DeviceDefault_Widget_IconMenu_Item" target="_top"><code>TextAppearance_DeviceDefault_Widget_IconMenu_Item</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_DeviceDefault_Widget_PopupMenu"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_DeviceDefault_Widget_PopupMenu" target="_top"><code>TextAppearance_DeviceDefault_Widget_PopupMenu</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_DeviceDefault_Widget_PopupMenu_Large"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_DeviceDefault_Widget_PopupMenu_Large" target="_top"><code>TextAppearance_DeviceDefault_Widget_PopupMenu_Large</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_DeviceDefault_Widget_PopupMenu_Small"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_DeviceDefault_Widget_PopupMenu_Small" target="_top"><code>TextAppearance_DeviceDefault_Widget_PopupMenu_Small</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_DeviceDefault_Widget_TabWidget"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_DeviceDefault_Widget_TabWidget" target="_top"><code>TextAppearance_DeviceDefault_Widget_TabWidget</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_DeviceDefault_Widget_TextView"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_DeviceDefault_Widget_TextView" target="_top"><code>TextAppearance_DeviceDefault_Widget_TextView</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_DeviceDefault_Widget_TextView_PopupMenu"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_DeviceDefault_Widget_TextView_PopupMenu" target="_top"><code>TextAppearance_DeviceDefault_Widget_TextView_PopupMenu</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_DeviceDefault_Widget_TextView_SpinnerItem"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_DeviceDefault_Widget_TextView_SpinnerItem" target="_top"><code>TextAppearance_DeviceDefault_Widget_TextView_SpinnerItem</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_DeviceDefault_WindowTitle"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_DeviceDefault_WindowTitle" target="_top"><code>TextAppearance_DeviceDefault_WindowTitle</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_Holo_Widget_ActionBar_Menu"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_Holo_Widget_ActionBar_Menu" target="_top"><code>TextAppearance_Holo_Widget_ActionBar_Menu</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_Holo_Widget_ActionBar_Subtitle_Inverse"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_Holo_Widget_ActionBar_Subtitle_Inverse" target="_top"><code>TextAppearance_Holo_Widget_ActionBar_Subtitle_Inverse</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_Holo_Widget_ActionBar_Title_Inverse"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_Holo_Widget_ActionBar_Title_Inverse" target="_top"><code>TextAppearance_Holo_Widget_ActionBar_Title_Inverse</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_Holo_Widget_ActionMode_Subtitle_Inverse"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_Holo_Widget_ActionMode_Subtitle_Inverse" target="_top"><code>TextAppearance_Holo_Widget_ActionMode_Subtitle_Inverse</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_Holo_Widget_ActionMode_Title_Inverse"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_Holo_Widget_ActionMode_Title_Inverse" target="_top"><code>TextAppearance_Holo_Widget_ActionMode_Title_Inverse</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.TextAppearance_SuggestionHighlight"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#TextAppearance_SuggestionHighlight" target="_top"><code>TextAppearance_SuggestionHighlight</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Theme_DeviceDefault"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Theme_DeviceDefault" target="_top"><code>Theme_DeviceDefault</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Theme_DeviceDefault_Dialog"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Theme_DeviceDefault_Dialog" target="_top"><code>Theme_DeviceDefault_Dialog</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Theme_DeviceDefault_DialogWhenLarge"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Theme_DeviceDefault_DialogWhenLarge" target="_top"><code>Theme_DeviceDefault_DialogWhenLarge</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Theme_DeviceDefault_DialogWhenLarge_NoActionBar"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Theme_DeviceDefault_DialogWhenLarge_NoActionBar" target="_top"><code>Theme_DeviceDefault_DialogWhenLarge_NoActionBar</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Theme_DeviceDefault_Dialog_MinWidth"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Theme_DeviceDefault_Dialog_MinWidth" target="_top"><code>Theme_DeviceDefault_Dialog_MinWidth</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Theme_DeviceDefault_Dialog_NoActionBar"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Theme_DeviceDefault_Dialog_NoActionBar" target="_top"><code>Theme_DeviceDefault_Dialog_NoActionBar</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Theme_DeviceDefault_Dialog_NoActionBar_MinWidth"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Theme_DeviceDefault_Dialog_NoActionBar_MinWidth" target="_top"><code>Theme_DeviceDefault_Dialog_NoActionBar_MinWidth</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Theme_DeviceDefault_InputMethod"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Theme_DeviceDefault_InputMethod" target="_top"><code>Theme_DeviceDefault_InputMethod</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Theme_DeviceDefault_Light"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Theme_DeviceDefault_Light" target="_top"><code>Theme_DeviceDefault_Light</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Theme_DeviceDefault_Light_DarkActionBar"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Theme_DeviceDefault_Light_DarkActionBar" target="_top"><code>Theme_DeviceDefault_Light_DarkActionBar</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Theme_DeviceDefault_Light_Dialog"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Theme_DeviceDefault_Light_Dialog" target="_top"><code>Theme_DeviceDefault_Light_Dialog</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Theme_DeviceDefault_Light_DialogWhenLarge"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Theme_DeviceDefault_Light_DialogWhenLarge" target="_top"><code>Theme_DeviceDefault_Light_DialogWhenLarge</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Theme_DeviceDefault_Light_DialogWhenLarge_NoActionBar"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Theme_DeviceDefault_Light_DialogWhenLarge_NoActionBar" target="_top"><code>Theme_DeviceDefault_Light_DialogWhenLarge_NoActionBar</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Theme_DeviceDefault_Light_Dialog_MinWidth"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Theme_DeviceDefault_Light_Dialog_MinWidth" target="_top"><code>Theme_DeviceDefault_Light_Dialog_MinWidth</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Theme_DeviceDefault_Light_Dialog_NoActionBar"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Theme_DeviceDefault_Light_Dialog_NoActionBar" target="_top"><code>Theme_DeviceDefault_Light_Dialog_NoActionBar</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Theme_DeviceDefault_Light_Dialog_NoActionBar_MinWidth"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Theme_DeviceDefault_Light_Dialog_NoActionBar_MinWidth" target="_top"><code>Theme_DeviceDefault_Light_Dialog_NoActionBar_MinWidth</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Theme_DeviceDefault_Light_NoActionBar"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Theme_DeviceDefault_Light_NoActionBar" target="_top"><code>Theme_DeviceDefault_Light_NoActionBar</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Theme_DeviceDefault_Light_NoActionBar_Fullscreen"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Theme_DeviceDefault_Light_NoActionBar_Fullscreen" target="_top"><code>Theme_DeviceDefault_Light_NoActionBar_Fullscreen</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Theme_DeviceDefault_Light_Panel"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Theme_DeviceDefault_Light_Panel" target="_top"><code>Theme_DeviceDefault_Light_Panel</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Theme_DeviceDefault_NoActionBar"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Theme_DeviceDefault_NoActionBar" target="_top"><code>Theme_DeviceDefault_NoActionBar</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Theme_DeviceDefault_NoActionBar_Fullscreen"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Theme_DeviceDefault_NoActionBar_Fullscreen" target="_top"><code>Theme_DeviceDefault_NoActionBar_Fullscreen</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Theme_DeviceDefault_Panel"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Theme_DeviceDefault_Panel" target="_top"><code>Theme_DeviceDefault_Panel</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Theme_DeviceDefault_Wallpaper"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Theme_DeviceDefault_Wallpaper" target="_top"><code>Theme_DeviceDefault_Wallpaper</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Theme_DeviceDefault_Wallpaper_NoTitleBar"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Theme_DeviceDefault_Wallpaper_NoTitleBar" target="_top"><code>Theme_DeviceDefault_Wallpaper_NoTitleBar</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Theme_Holo_Light_DarkActionBar"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Theme_Holo_Light_DarkActionBar" target="_top"><code>Theme_Holo_Light_DarkActionBar</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault" target="_top"><code>Widget_DeviceDefault</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_ActionBar"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_ActionBar" target="_top"><code>Widget_DeviceDefault_ActionBar</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_ActionBar_Solid"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_ActionBar_Solid" target="_top"><code>Widget_DeviceDefault_ActionBar_Solid</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_ActionBar_TabBar"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_ActionBar_TabBar" target="_top"><code>Widget_DeviceDefault_ActionBar_TabBar</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_ActionBar_TabText"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_ActionBar_TabText" target="_top"><code>Widget_DeviceDefault_ActionBar_TabText</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_ActionBar_TabView"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_ActionBar_TabView" target="_top"><code>Widget_DeviceDefault_ActionBar_TabView</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_ActionButton"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_ActionButton" target="_top"><code>Widget_DeviceDefault_ActionButton</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_ActionButton_CloseMode"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_ActionButton_CloseMode" target="_top"><code>Widget_DeviceDefault_ActionButton_CloseMode</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_ActionButton_Overflow"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_ActionButton_Overflow" target="_top"><code>Widget_DeviceDefault_ActionButton_Overflow</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_ActionButton_TextButton"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_ActionButton_TextButton" target="_top"><code>Widget_DeviceDefault_ActionButton_TextButton</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_ActionMode"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_ActionMode" target="_top"><code>Widget_DeviceDefault_ActionMode</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_AutoCompleteTextView"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_AutoCompleteTextView" target="_top"><code>Widget_DeviceDefault_AutoCompleteTextView</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Button"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Button" target="_top"><code>Widget_DeviceDefault_Button</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Button_Borderless"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Button_Borderless" target="_top"><code>Widget_DeviceDefault_Button_Borderless</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Button_Borderless_Small"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Button_Borderless_Small" target="_top"><code>Widget_DeviceDefault_Button_Borderless_Small</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Button_Inset"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Button_Inset" target="_top"><code>Widget_DeviceDefault_Button_Inset</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Button_Small"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Button_Small" target="_top"><code>Widget_DeviceDefault_Button_Small</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Button_Toggle"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Button_Toggle" target="_top"><code>Widget_DeviceDefault_Button_Toggle</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_CalendarView"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_CalendarView" target="_top"><code>Widget_DeviceDefault_CalendarView</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_CompoundButton_CheckBox"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_CompoundButton_CheckBox" target="_top"><code>Widget_DeviceDefault_CompoundButton_CheckBox</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_CompoundButton_RadioButton"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_CompoundButton_RadioButton" target="_top"><code>Widget_DeviceDefault_CompoundButton_RadioButton</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_CompoundButton_Star"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_CompoundButton_Star" target="_top"><code>Widget_DeviceDefault_CompoundButton_Star</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_DatePicker"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_DatePicker" target="_top"><code>Widget_DeviceDefault_DatePicker</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_DropDownItem"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_DropDownItem" target="_top"><code>Widget_DeviceDefault_DropDownItem</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_DropDownItem_Spinner"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_DropDownItem_Spinner" target="_top"><code>Widget_DeviceDefault_DropDownItem_Spinner</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_EditText"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_EditText" target="_top"><code>Widget_DeviceDefault_EditText</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_ExpandableListView"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_ExpandableListView" target="_top"><code>Widget_DeviceDefault_ExpandableListView</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_GridView"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_GridView" target="_top"><code>Widget_DeviceDefault_GridView</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_HorizontalScrollView"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_HorizontalScrollView" target="_top"><code>Widget_DeviceDefault_HorizontalScrollView</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_ImageButton"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_ImageButton" target="_top"><code>Widget_DeviceDefault_ImageButton</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light" target="_top"><code>Widget_DeviceDefault_Light</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_ActionBar"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_ActionBar" target="_top"><code>Widget_DeviceDefault_Light_ActionBar</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_ActionBar_Solid"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_ActionBar_Solid" target="_top"><code>Widget_DeviceDefault_Light_ActionBar_Solid</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_ActionBar_Solid_Inverse"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_ActionBar_Solid_Inverse" target="_top"><code>Widget_DeviceDefault_Light_ActionBar_Solid_Inverse</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_ActionBar_TabBar"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_ActionBar_TabBar" target="_top"><code>Widget_DeviceDefault_Light_ActionBar_TabBar</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_ActionBar_TabBar_Inverse"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_ActionBar_TabBar_Inverse" target="_top"><code>Widget_DeviceDefault_Light_ActionBar_TabBar_Inverse</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_ActionBar_TabText"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_ActionBar_TabText" target="_top"><code>Widget_DeviceDefault_Light_ActionBar_TabText</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_ActionBar_TabText_Inverse"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_ActionBar_TabText_Inverse" target="_top"><code>Widget_DeviceDefault_Light_ActionBar_TabText_Inverse</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_ActionBar_TabView"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_ActionBar_TabView" target="_top"><code>Widget_DeviceDefault_Light_ActionBar_TabView</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_ActionBar_TabView_Inverse"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_ActionBar_TabView_Inverse" target="_top"><code>Widget_DeviceDefault_Light_ActionBar_TabView_Inverse</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_ActionButton"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_ActionButton" target="_top"><code>Widget_DeviceDefault_Light_ActionButton</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_ActionButton_CloseMode"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_ActionButton_CloseMode" target="_top"><code>Widget_DeviceDefault_Light_ActionButton_CloseMode</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_ActionButton_Overflow"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_ActionButton_Overflow" target="_top"><code>Widget_DeviceDefault_Light_ActionButton_Overflow</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_ActionMode"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_ActionMode" target="_top"><code>Widget_DeviceDefault_Light_ActionMode</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_ActionMode_Inverse"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_ActionMode_Inverse" target="_top"><code>Widget_DeviceDefault_Light_ActionMode_Inverse</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_AutoCompleteTextView"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_AutoCompleteTextView" target="_top"><code>Widget_DeviceDefault_Light_AutoCompleteTextView</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_Button"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_Button" target="_top"><code>Widget_DeviceDefault_Light_Button</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_Button_Borderless_Small"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_Button_Borderless_Small" target="_top"><code>Widget_DeviceDefault_Light_Button_Borderless_Small</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_Button_Inset"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_Button_Inset" target="_top"><code>Widget_DeviceDefault_Light_Button_Inset</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_Button_Small"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_Button_Small" target="_top"><code>Widget_DeviceDefault_Light_Button_Small</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_Button_Toggle"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_Button_Toggle" target="_top"><code>Widget_DeviceDefault_Light_Button_Toggle</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_CalendarView"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_CalendarView" target="_top"><code>Widget_DeviceDefault_Light_CalendarView</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_CompoundButton_CheckBox"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_CompoundButton_CheckBox" target="_top"><code>Widget_DeviceDefault_Light_CompoundButton_CheckBox</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_CompoundButton_RadioButton"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_CompoundButton_RadioButton" target="_top"><code>Widget_DeviceDefault_Light_CompoundButton_RadioButton</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_CompoundButton_Star"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_CompoundButton_Star" target="_top"><code>Widget_DeviceDefault_Light_CompoundButton_Star</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_DropDownItem"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_DropDownItem" target="_top"><code>Widget_DeviceDefault_Light_DropDownItem</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_DropDownItem_Spinner"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_DropDownItem_Spinner" target="_top"><code>Widget_DeviceDefault_Light_DropDownItem_Spinner</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_EditText"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_EditText" target="_top"><code>Widget_DeviceDefault_Light_EditText</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_ExpandableListView"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_ExpandableListView" target="_top"><code>Widget_DeviceDefault_Light_ExpandableListView</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_GridView"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_GridView" target="_top"><code>Widget_DeviceDefault_Light_GridView</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_HorizontalScrollView"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_HorizontalScrollView" target="_top"><code>Widget_DeviceDefault_Light_HorizontalScrollView</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_ImageButton"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_ImageButton" target="_top"><code>Widget_DeviceDefault_Light_ImageButton</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_ListPopupWindow"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_ListPopupWindow" target="_top"><code>Widget_DeviceDefault_Light_ListPopupWindow</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_ListView"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_ListView" target="_top"><code>Widget_DeviceDefault_Light_ListView</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_ListView_DropDown"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_ListView_DropDown" target="_top"><code>Widget_DeviceDefault_Light_ListView_DropDown</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_PopupMenu"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_PopupMenu" target="_top"><code>Widget_DeviceDefault_Light_PopupMenu</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_PopupWindow"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_PopupWindow" target="_top"><code>Widget_DeviceDefault_Light_PopupWindow</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_ProgressBar"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_ProgressBar" target="_top"><code>Widget_DeviceDefault_Light_ProgressBar</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_ProgressBar_Horizontal"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_ProgressBar_Horizontal" target="_top"><code>Widget_DeviceDefault_Light_ProgressBar_Horizontal</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_ProgressBar_Inverse"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_ProgressBar_Inverse" target="_top"><code>Widget_DeviceDefault_Light_ProgressBar_Inverse</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_ProgressBar_Large"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_ProgressBar_Large" target="_top"><code>Widget_DeviceDefault_Light_ProgressBar_Large</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_ProgressBar_Large_Inverse"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_ProgressBar_Large_Inverse" target="_top"><code>Widget_DeviceDefault_Light_ProgressBar_Large_Inverse</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_ProgressBar_Small"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_ProgressBar_Small" target="_top"><code>Widget_DeviceDefault_Light_ProgressBar_Small</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_ProgressBar_Small_Inverse"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_ProgressBar_Small_Inverse" target="_top"><code>Widget_DeviceDefault_Light_ProgressBar_Small_Inverse</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_ProgressBar_Small_Title"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_ProgressBar_Small_Title" target="_top"><code>Widget_DeviceDefault_Light_ProgressBar_Small_Title</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_RatingBar"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_RatingBar" target="_top"><code>Widget_DeviceDefault_Light_RatingBar</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_RatingBar_Indicator"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_RatingBar_Indicator" target="_top"><code>Widget_DeviceDefault_Light_RatingBar_Indicator</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_RatingBar_Small"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_RatingBar_Small" target="_top"><code>Widget_DeviceDefault_Light_RatingBar_Small</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_ScrollView"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_ScrollView" target="_top"><code>Widget_DeviceDefault_Light_ScrollView</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_SeekBar"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_SeekBar" target="_top"><code>Widget_DeviceDefault_Light_SeekBar</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_Spinner"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_Spinner" target="_top"><code>Widget_DeviceDefault_Light_Spinner</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_Tab"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_Tab" target="_top"><code>Widget_DeviceDefault_Light_Tab</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_TabWidget"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_TabWidget" target="_top"><code>Widget_DeviceDefault_Light_TabWidget</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_TextView"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_TextView" target="_top"><code>Widget_DeviceDefault_Light_TextView</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_TextView_SpinnerItem"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_TextView_SpinnerItem" target="_top"><code>Widget_DeviceDefault_Light_TextView_SpinnerItem</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_WebTextView"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_WebTextView" target="_top"><code>Widget_DeviceDefault_Light_WebTextView</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Light_WebView"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Light_WebView" target="_top"><code>Widget_DeviceDefault_Light_WebView</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_ListPopupWindow"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_ListPopupWindow" target="_top"><code>Widget_DeviceDefault_ListPopupWindow</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_ListView"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_ListView" target="_top"><code>Widget_DeviceDefault_ListView</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_ListView_DropDown"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_ListView_DropDown" target="_top"><code>Widget_DeviceDefault_ListView_DropDown</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_PopupMenu"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_PopupMenu" target="_top"><code>Widget_DeviceDefault_PopupMenu</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_PopupWindow"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_PopupWindow" target="_top"><code>Widget_DeviceDefault_PopupWindow</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_ProgressBar"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_ProgressBar" target="_top"><code>Widget_DeviceDefault_ProgressBar</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_ProgressBar_Horizontal"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_ProgressBar_Horizontal" target="_top"><code>Widget_DeviceDefault_ProgressBar_Horizontal</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_ProgressBar_Large"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_ProgressBar_Large" target="_top"><code>Widget_DeviceDefault_ProgressBar_Large</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_ProgressBar_Small"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_ProgressBar_Small" target="_top"><code>Widget_DeviceDefault_ProgressBar_Small</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_ProgressBar_Small_Title"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_ProgressBar_Small_Title" target="_top"><code>Widget_DeviceDefault_ProgressBar_Small_Title</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_RatingBar"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_RatingBar" target="_top"><code>Widget_DeviceDefault_RatingBar</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_RatingBar_Indicator"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_RatingBar_Indicator" target="_top"><code>Widget_DeviceDefault_RatingBar_Indicator</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_RatingBar_Small"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_RatingBar_Small" target="_top"><code>Widget_DeviceDefault_RatingBar_Small</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_ScrollView"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_ScrollView" target="_top"><code>Widget_DeviceDefault_ScrollView</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_SeekBar"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_SeekBar" target="_top"><code>Widget_DeviceDefault_SeekBar</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Spinner"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Spinner" target="_top"><code>Widget_DeviceDefault_Spinner</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_Tab"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_Tab" target="_top"><code>Widget_DeviceDefault_Tab</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_TabWidget"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_TabWidget" target="_top"><code>Widget_DeviceDefault_TabWidget</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_TextView"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_TextView" target="_top"><code>Widget_DeviceDefault_TextView</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_TextView_SpinnerItem"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_TextView_SpinnerItem" target="_top"><code>Widget_DeviceDefault_TextView_SpinnerItem</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_WebTextView"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_WebTextView" target="_top"><code>Widget_DeviceDefault_WebTextView</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_DeviceDefault_WebView"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_DeviceDefault_WebView" target="_top"><code>Widget_DeviceDefault_WebView</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_Holo_ActionBar_Solid"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_Holo_ActionBar_Solid" target="_top"><code>Widget_Holo_ActionBar_Solid</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_Holo_Button_Borderless_Small"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_Holo_Button_Borderless_Small" target="_top"><code>Widget_Holo_Button_Borderless_Small</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_Holo_Light_ActionBar_Solid"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_Holo_Light_ActionBar_Solid" target="_top"><code>Widget_Holo_Light_ActionBar_Solid</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_Holo_Light_ActionBar_Solid_Inverse"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_Holo_Light_ActionBar_Solid_Inverse" target="_top"><code>Widget_Holo_Light_ActionBar_Solid_Inverse</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_Holo_Light_ActionBar_TabBar_Inverse"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_Holo_Light_ActionBar_TabBar_Inverse" target="_top"><code>Widget_Holo_Light_ActionBar_TabBar_Inverse</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_Holo_Light_ActionBar_TabText_Inverse"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_Holo_Light_ActionBar_TabText_Inverse" target="_top"><code>Widget_Holo_Light_ActionBar_TabText_Inverse</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_Holo_Light_ActionBar_TabView_Inverse"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_Holo_Light_ActionBar_TabView_Inverse" target="_top"><code>Widget_Holo_Light_ActionBar_TabView_Inverse</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_Holo_Light_ActionMode_Inverse"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_Holo_Light_ActionMode_Inverse" target="_top"><code>Widget_Holo_Light_ActionMode_Inverse</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.Widget_Holo_Light_Button_Borderless_Small"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_Holo_Light_Button_Borderless_Small" target="_top"><code>Widget_Holo_Light_Button_Borderless_Small</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/14/changes/android.accessibilityservice.AccessibilityService.html b/docs/html/sdk/api_diff/14/changes/android.accessibilityservice.AccessibilityService.html
new file mode 100644
index 0000000..9428a21
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.accessibilityservice.AccessibilityService.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.accessibilityservice.AccessibilityService
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.accessibilityservice.<A HREF="../../../../reference/android/accessibilityservice/AccessibilityService.html" target="_top"><font size="+2"><code>AccessibilityService</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.accessibilityservice.AccessibilityService.SERVICE_META_DATA"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/accessibilityservice/AccessibilityService.html#SERVICE_META_DATA" target="_top"><code>SERVICE_META_DATA</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/14/changes/android.accessibilityservice.AccessibilityServiceInfo.html b/docs/html/sdk/api_diff/14/changes/android.accessibilityservice.AccessibilityServiceInfo.html
new file mode 100644
index 0000000..e27d5d0
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.accessibilityservice.AccessibilityServiceInfo.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.accessibilityservice.AccessibilityServiceInfo
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.accessibilityservice.<A HREF="../../../../reference/android/accessibilityservice/AccessibilityServiceInfo.html" target="_top"><font size="+2"><code>AccessibilityServiceInfo</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.accessibilityservice.AccessibilityServiceInfo.feedbackTypeToString_added(int)"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/accessibilityservice/AccessibilityServiceInfo.html#feedbackTypeToString(int)" target="_top"><code>feedbackTypeToString</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.accessibilityservice.AccessibilityServiceInfo.flagToString_added(int)"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/accessibilityservice/AccessibilityServiceInfo.html#flagToString(int)" target="_top"><code>flagToString</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.accessibilityservice.AccessibilityServiceInfo.getCanRetrieveWindowContent_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/accessibilityservice/AccessibilityServiceInfo.html#getCanRetrieveWindowContent()" target="_top"><code>getCanRetrieveWindowContent</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.accessibilityservice.AccessibilityServiceInfo.getDescription_added()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/accessibilityservice/AccessibilityServiceInfo.html#getDescription()" target="_top"><code>getDescription</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.accessibilityservice.AccessibilityServiceInfo.getId_added()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/accessibilityservice/AccessibilityServiceInfo.html#getId()" target="_top"><code>getId</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.accessibilityservice.AccessibilityServiceInfo.getResolveInfo_added()"></A>
+  <nobr><code>ResolveInfo</code>&nbsp;<A HREF="../../../../reference/android/accessibilityservice/AccessibilityServiceInfo.html#getResolveInfo()" target="_top"><code>getResolveInfo</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.accessibilityservice.AccessibilityServiceInfo.getSettingsActivityName_added()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/accessibilityservice/AccessibilityServiceInfo.html#getSettingsActivityName()" target="_top"><code>getSettingsActivityName</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.accessibilityservice.AccessibilityServiceInfo.FEEDBACK_ALL_MASK"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/accessibilityservice/AccessibilityServiceInfo.html#FEEDBACK_ALL_MASK" target="_top"><code>FEEDBACK_ALL_MASK</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/14/changes/android.accounts.AccountManager.html b/docs/html/sdk/api_diff/14/changes/android.accounts.AccountManager.html
new file mode 100644
index 0000000..eead88c
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.accounts.AccountManager.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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.getAuthToken_added(android.accounts.Account, java.lang.String, android.os.Bundle, boolean, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler)"></A>
+  <nobr><code>AccountManagerFuture&lt;Bundle&gt;</code>&nbsp;<A HREF="../../../../reference/android/accounts/AccountManager.html#getAuthToken(android.accounts.Account, java.lang.String, android.os.Bundle, boolean, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler)" target="_top"><code>getAuthToken</code></A>(<code>Account,</nobr> String<nobr>,</nobr> Bundle<nobr>,</nobr> boolean<nobr>,</nobr> AccountManagerCallback&lt;Bundle&gt;<nobr>,</nobr> Handler<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.accounts.AccountManager.newChooseAccountIntent_added(android.accounts.Account, java.util.ArrayList<android.accounts.Account>, java.lang.String[], boolean, java.lang.String, java.lang.String, java.lang.String[], android.os.Bundle)"></A>
+  <nobr><code>Intent</code>&nbsp;<A HREF="../../../../reference/android/accounts/AccountManager.html#newChooseAccountIntent(android.accounts.Account, java.util.ArrayList<android.accounts.Account>, java.lang.String[], boolean, java.lang.String, java.lang.String, java.lang.String[], android.os.Bundle)" target="_top"><code>newChooseAccountIntent</code></A>(<code>Account,</nobr> ArrayList&lt;Account&gt;<nobr>,</nobr> String[]<nobr>,</nobr> boolean<nobr>,</nobr> String<nobr>,</nobr> String<nobr>,</nobr> String[]<nobr>,</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.accounts.AccountManager.getAuthToken_changed(android.accounts.Account, java.lang.String, boolean, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler)"></A>
+  <nobr><code>AccountManagerFuture&lt;Bundle&gt;</code>&nbsp;<A HREF="../../../../reference/android/accounts/AccountManager.html#getAuthToken(android.accounts.Account, java.lang.String, boolean, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler)" target="_top"><code>getAuthToken</code></A>(<code>Account,</nobr> String<nobr>,</nobr> boolean<nobr>,</nobr> AccountManagerCallback&lt;Bundle&gt;<nobr>,</nobr> Handler<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="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.accounts.AccountManager.KEY_ANDROID_PACKAGE_NAME"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/accounts/AccountManager.html#KEY_ANDROID_PACKAGE_NAME" target="_top"><code>KEY_ANDROID_PACKAGE_NAME</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/14/changes/android.animation.Animator.html b/docs/html/sdk/api_diff/14/changes/android.animation.Animator.html
new file mode 100644
index 0000000..43836a1
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.animation.Animator.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.animation.Animator
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.animation.<A HREF="../../../../reference/android/animation/Animator.html" target="_top"><font size="+2"><code>Animator</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.animation.Animator.isStarted_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/animation/Animator.html#isStarted()" target="_top"><code>isStarted</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/14/changes/android.animation.FloatEvaluator.html b/docs/html/sdk/api_diff/14/changes/android.animation.FloatEvaluator.html
new file mode 100644
index 0000000..0a62369
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.animation.FloatEvaluator.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.animation.FloatEvaluator
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.animation.<A HREF="../../../../reference/android/animation/FloatEvaluator.html" target="_top"><font size="+2"><code>FloatEvaluator</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.animation.FloatEvaluator.evaluate_changed(float, java.lang.Number, java.lang.Number)"></A>
+  <nobr><code>Float</code>&nbsp;<A HREF="../../../../reference/android/animation/FloatEvaluator.html#evaluate(float, java.lang.Number, java.lang.Number)" target="_top"><code>evaluate</code></A>(<code>float,</nobr> Number<nobr>,</nobr> Number<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in return type from <code>Object</code> to <code>Float</code>.<br>
+ Change in signature from (<code>float, Object, Object</code>) to (<code>float, Number, Number</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/14/changes/android.animation.IntEvaluator.html b/docs/html/sdk/api_diff/14/changes/android.animation.IntEvaluator.html
new file mode 100644
index 0000000..aabb197
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.animation.IntEvaluator.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.animation.IntEvaluator
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.animation.<A HREF="../../../../reference/android/animation/IntEvaluator.html" target="_top"><font size="+2"><code>IntEvaluator</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.animation.IntEvaluator.evaluate_changed(float, java.lang.Integer, java.lang.Integer)"></A>
+  <nobr><code>Integer</code>&nbsp;<A HREF="../../../../reference/android/animation/IntEvaluator.html#evaluate(float, java.lang.Integer, java.lang.Integer)" target="_top"><code>evaluate</code></A>(<code>float,</nobr> Integer<nobr>,</nobr> Integer<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in return type from <code>Object</code> to <code>Integer</code>.<br>
+ Change in signature from (<code>float, Object, Object</code>) to (<code>float, Integer, Integer</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/14/changes/android.animation.LayoutTransition.html b/docs/html/sdk/api_diff/14/changes/android.animation.LayoutTransition.html
new file mode 100644
index 0000000..2bf33a0
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.animation.LayoutTransition.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.animation.LayoutTransition
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.animation.<A HREF="../../../../reference/android/animation/LayoutTransition.html" target="_top"><font size="+2"><code>LayoutTransition</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.animation.LayoutTransition.setAnimateParentHierarchy_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/animation/LayoutTransition.html#setAnimateParentHierarchy(boolean)" target="_top"><code>setAnimateParentHierarchy</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/14/changes/android.animation.ObjectAnimator.html b/docs/html/sdk/api_diff/14/changes/android.animation.ObjectAnimator.html
new file mode 100644
index 0000000..4231d3e
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.animation.ObjectAnimator.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.animation.ObjectAnimator
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.animation.<A HREF="../../../../reference/android/animation/ObjectAnimator.html" target="_top"><font size="+2"><code>ObjectAnimator</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.animation.ObjectAnimator.ofFloat_added(T, android.util.Property<T, java.lang.Float>, float...)"></A>
+  <nobr><code>ObjectAnimator</code>&nbsp;<A HREF="../../../../reference/android/animation/ObjectAnimator.html#ofFloat(T, android.util.Property<T, java.lang.Float>, float...)" target="_top"><code>ofFloat</code></A>(<code>T,</nobr> Property&lt;T<nobr>,</nobr> Float&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.animation.ObjectAnimator.ofInt_added(T, android.util.Property<T, java.lang.Integer>, int...)"></A>
+  <nobr><code>ObjectAnimator</code>&nbsp;<A HREF="../../../../reference/android/animation/ObjectAnimator.html#ofInt(T, android.util.Property<T, java.lang.Integer>, int...)" target="_top"><code>ofInt</code></A>(<code>T,</nobr> Property&lt;T<nobr>,</nobr> Integer&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.animation.ObjectAnimator.ofObject_added(T, android.util.Property<T, V>, android.animation.TypeEvaluator<V>, V...)"></A>
+  <nobr><code>ObjectAnimator</code>&nbsp;<A HREF="../../../../reference/android/animation/ObjectAnimator.html#ofObject(T, android.util.Property<T, V>, android.animation.TypeEvaluator<V>, V...)" target="_top"><code>ofObject</code></A>(<code>T,</nobr> Property&lt;T<nobr>,</nobr> V&gt;<nobr>,</nobr> TypeEvaluator&lt;V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.animation.ObjectAnimator.setProperty_added(android.util.Property)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/animation/ObjectAnimator.html#setProperty(android.util.Property)" target="_top"><code>setProperty</code></A>(<code>Property</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/14/changes/android.animation.PropertyValuesHolder.html b/docs/html/sdk/api_diff/14/changes/android.animation.PropertyValuesHolder.html
new file mode 100644
index 0000000..d054258
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.animation.PropertyValuesHolder.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.animation.PropertyValuesHolder
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.animation.<A HREF="../../../../reference/android/animation/PropertyValuesHolder.html" target="_top"><font size="+2"><code>PropertyValuesHolder</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.animation.PropertyValuesHolder.ofFloat_added(android.util.Property<?, java.lang.Float>, float...)"></A>
+  <nobr><code>PropertyValuesHolder</code>&nbsp;<A HREF="../../../../reference/android/animation/PropertyValuesHolder.html#ofFloat(android.util.Property<?, java.lang.Float>, float...)" target="_top"><code>ofFloat</code></A>(<code>Property&lt;?,</nobr> Float&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.animation.PropertyValuesHolder.ofInt_added(android.util.Property<?, java.lang.Integer>, int...)"></A>
+  <nobr><code>PropertyValuesHolder</code>&nbsp;<A HREF="../../../../reference/android/animation/PropertyValuesHolder.html#ofInt(android.util.Property<?, java.lang.Integer>, int...)" target="_top"><code>ofInt</code></A>(<code>Property&lt;?,</nobr> Integer&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.animation.PropertyValuesHolder.ofKeyframe_added(android.util.Property, android.animation.Keyframe...)"></A>
+  <nobr><code>PropertyValuesHolder</code>&nbsp;<A HREF="../../../../reference/android/animation/PropertyValuesHolder.html#ofKeyframe(android.util.Property, android.animation.Keyframe...)" target="_top"><code>ofKeyframe</code></A>(<code>Property<nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.animation.PropertyValuesHolder.ofObject_added(android.util.Property, android.animation.TypeEvaluator<V>, V...)"></A>
+  <nobr><code>PropertyValuesHolder</code>&nbsp;<A HREF="../../../../reference/android/animation/PropertyValuesHolder.html#ofObject(android.util.Property, android.animation.TypeEvaluator<V>, V...)" target="_top"><code>ofObject</code></A>(<code>Property,</nobr> TypeEvaluator&lt;V&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.animation.PropertyValuesHolder.setProperty_added(android.util.Property)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/animation/PropertyValuesHolder.html#setProperty(android.util.Property)" target="_top"><code>setProperty</code></A>(<code>Property</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/14/changes/android.animation.TypeEvaluator.html b/docs/html/sdk/api_diff/14/changes/android.animation.TypeEvaluator.html
new file mode 100644
index 0000000..aa31f1f
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.animation.TypeEvaluator.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.animation.TypeEvaluator
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.animation.<A HREF="../../../../reference/android/animation/TypeEvaluator.html" target="_top"><font size="+2"><code>TypeEvaluator</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.animation.TypeEvaluator.evaluate_changed(float, T, T)"></A>
+  <nobr><code>T</code>&nbsp;<A HREF="../../../../reference/android/animation/TypeEvaluator.html#evaluate(float, T, T)" target="_top"><code>evaluate</code></A>(<code>float,</nobr> T<nobr>,</nobr> T<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in return type from <code>Object</code> to <code>T</code>.<br>
+ Change in signature from (<code>float, Object, Object</code>) to (<code>float, T, T</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/14/changes/android.app.ActionBar.Tab.html b/docs/html/sdk/api_diff/14/changes/android.app.ActionBar.Tab.html
new file mode 100644
index 0000000..558ef44
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.app.ActionBar.Tab.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.app.ActionBar.Tab
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/ActionBar.Tab.html" target="_top"><font size="+2"><code>ActionBar.Tab</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.ActionBar.Tab.getContentDescription_added()"></A>
+  <nobr><code>CharSequence</code>&nbsp;<A HREF="../../../../reference/android/app/ActionBar.Tab.html#getContentDescription()" target="_top"><code>getContentDescription</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.ActionBar.Tab.setContentDescription_added(int)"></A>
+  <nobr><code>Tab</code>&nbsp;<A HREF="../../../../reference/android/app/ActionBar.Tab.html#setContentDescription(int)" target="_top"><code>setContentDescription</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.ActionBar.Tab.setContentDescription_added(java.lang.CharSequence)"></A>
+  <nobr><code>Tab</code>&nbsp;<A HREF="../../../../reference/android/app/ActionBar.Tab.html#setContentDescription(java.lang.CharSequence)" target="_top"><code>setContentDescription</code></A>(<code>CharSequence</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/14/changes/android.app.ActionBar.html b/docs/html/sdk/api_diff/14/changes/android.app.ActionBar.html
new file mode 100644
index 0000000..a0c8f1f
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.app.ActionBar.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.app.ActionBar
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/ActionBar.html" target="_top"><font size="+2"><code>ActionBar</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.ActionBar.getThemedContext_added()"></A>
+  <nobr><code>Context</code>&nbsp;<A HREF="../../../../reference/android/app/ActionBar.html#getThemedContext()" target="_top"><code>getThemedContext</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.ActionBar.setHomeButtonEnabled_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/ActionBar.html#setHomeButtonEnabled(boolean)" target="_top"><code>setHomeButtonEnabled</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.ActionBar.setIcon_added(android.graphics.drawable.Drawable)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/ActionBar.html#setIcon(android.graphics.drawable.Drawable)" target="_top"><code>setIcon</code></A>(<code>Drawable</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.ActionBar.setIcon_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/ActionBar.html#setIcon(int)" target="_top"><code>setIcon</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.ActionBar.setLogo_added(android.graphics.drawable.Drawable)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/ActionBar.html#setLogo(android.graphics.drawable.Drawable)" target="_top"><code>setLogo</code></A>(<code>Drawable</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.ActionBar.setLogo_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/ActionBar.html#setLogo(int)" target="_top"><code>setLogo</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.ActionBar.setSplitBackgroundDrawable_added(android.graphics.drawable.Drawable)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/ActionBar.html#setSplitBackgroundDrawable(android.graphics.drawable.Drawable)" target="_top"><code>setSplitBackgroundDrawable</code></A>(<code>Drawable</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.ActionBar.setStackedBackgroundDrawable_added(android.graphics.drawable.Drawable)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/ActionBar.html#setStackedBackgroundDrawable(android.graphics.drawable.Drawable)" target="_top"><code>setStackedBackgroundDrawable</code></A>(<code>Drawable</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/14/changes/android.app.Activity.html b/docs/html/sdk/api_diff/14/changes/android.app.Activity.html
new file mode 100644
index 0000000..9e57853
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.app.Activity.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>
+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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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>
+<p><font xsize="+1">Removed interface <code>android.content.ComponentCallbacks</code>.<br> Added interface <code>android.content.ComponentCallbacks2</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.app.Activity.onTrimMemory_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/Activity.html#onTrimMemory(int)" target="_top"><code>onTrimMemory</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/14/changes/android.app.AlertDialog.html b/docs/html/sdk/api_diff/14/changes/android.app.AlertDialog.html
new file mode 100644
index 0000000..e6e692c
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.app.AlertDialog.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.app.AlertDialog
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/AlertDialog.html" target="_top"><font size="+2"><code>AlertDialog</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.AlertDialog.THEME_DEVICE_DEFAULT_DARK"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/AlertDialog.html#THEME_DEVICE_DEFAULT_DARK" target="_top"><code>THEME_DEVICE_DEFAULT_DARK</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.AlertDialog.THEME_DEVICE_DEFAULT_LIGHT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/AlertDialog.html#THEME_DEVICE_DEFAULT_LIGHT" target="_top"><code>THEME_DEVICE_DEFAULT_LIGHT</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/14/changes/android.app.Application.html b/docs/html/sdk/api_diff/14/changes/android.app.Application.html
new file mode 100644
index 0000000..b89ba8a
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.app.Application.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>
+android.app.Application
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/Application.html" target="_top"><font size="+2"><code>Application</code></font></A>
+</H2>
+<p><font xsize="+1">Removed interface <code>android.content.ComponentCallbacks</code>.<br> Added interface <code>android.content.ComponentCallbacks2</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.app.Application.onTrimMemory_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/Application.html#onTrimMemory(int)" target="_top"><code>onTrimMemory</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Application.registerActivityLifecycleCallbacks_added(android.app.Application.ActivityLifecycleCallbacks)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/Application.html#registerActivityLifecycleCallbacks(android.app.Application.ActivityLifecycleCallbacks)" target="_top"><code>registerActivityLifecycleCallbacks</code></A>(<code>ActivityLifecycleCallbacks</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Application.unregisterActivityLifecycleCallbacks_added(android.app.Application.ActivityLifecycleCallbacks)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/Application.html#unregisterActivityLifecycleCallbacks(android.app.Application.ActivityLifecycleCallbacks)" target="_top"><code>unregisterActivityLifecycleCallbacks</code></A>(<code>ActivityLifecycleCallbacks</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/14/changes/android.app.Fragment.html b/docs/html/sdk/api_diff/14/changes/android.app.Fragment.html
new file mode 100644
index 0000000..f6e57b1
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.app.Fragment.html
@@ -0,0 +1,130 @@
+<!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.Fragment
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/Fragment.html" target="_top"><font size="+2"><code>Fragment</code></font></A>
+</H2>
+<p><font xsize="+1">Removed interface <code>android.content.ComponentCallbacks</code>.<br> Added interface <code>android.content.ComponentCallbacks2</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.app.Fragment.onTrimMemory_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/Fragment.html#onTrimMemory(int)" target="_top"><code>onTrimMemory</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Fragment.setMenuVisibility_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/Fragment.html#setMenuVisibility(boolean)" target="_top"><code>setMenuVisibility</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/14/changes/android.app.FragmentManager.BackStackEntry.html b/docs/html/sdk/api_diff/14/changes/android.app.FragmentManager.BackStackEntry.html
new file mode 100644
index 0000000..5f4a0d0
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.app.FragmentManager.BackStackEntry.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.FragmentManager.BackStackEntry
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.app.<A HREF="../../../../reference/android/app/FragmentManager.BackStackEntry.html" target="_top"><font size="+2"><code>FragmentManager.BackStackEntry</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.FragmentManager.BackStackEntry.getName_added()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/FragmentManager.BackStackEntry.html#getName()" target="_top"><code>getName</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/14/changes/android.app.FragmentManager.html b/docs/html/sdk/api_diff/14/changes/android.app.FragmentManager.html
new file mode 100644
index 0000000..95d763c
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.app.FragmentManager.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.FragmentManager
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/FragmentManager.html" target="_top"><font size="+2"><code>FragmentManager</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.FragmentManager.invalidateOptionsMenu_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/FragmentManager.html#invalidateOptionsMenu()" target="_top"><code>invalidateOptionsMenu</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/14/changes/android.app.Notification.Builder.html b/docs/html/sdk/api_diff/14/changes/android.app.Notification.Builder.html
new file mode 100644
index 0000000..5218ca1
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.app.Notification.Builder.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.Notification.Builder
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/Notification.Builder.html" target="_top"><font size="+2"><code>Notification.Builder</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.Notification.Builder.setProgress_added(int, int, boolean)"></A>
+  <nobr><code>Builder</code>&nbsp;<A HREF="../../../../reference/android/app/Notification.Builder.html#setProgress(int, int, boolean)" target="_top"><code>setProgress</code></A>(<code>int,</nobr> int<nobr>,</nobr> boolean<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/14/changes/android.app.PendingIntent.html b/docs/html/sdk/api_diff/14/changes/android.app.PendingIntent.html
new file mode 100644
index 0000000..6660be4
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.app.PendingIntent.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.PendingIntent
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/PendingIntent.html" target="_top"><font size="+2"><code>PendingIntent</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.PendingIntent.send_added(android.content.Context, int, android.content.Intent, android.app.PendingIntent.OnFinished, android.os.Handler, java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/PendingIntent.html#send(android.content.Context, int, android.content.Intent, android.app.PendingIntent.OnFinished, android.os.Handler, java.lang.String)" target="_top"><code>send</code></A>(<code>Context,</nobr> int<nobr>,</nobr> Intent<nobr>,</nobr> OnFinished<nobr>,</nobr> Handler<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/14/changes/android.app.SearchManager.html b/docs/html/sdk/api_diff/14/changes/android.app.SearchManager.html
new file mode 100644
index 0000000..eff008b
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.app.SearchManager.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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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>
+<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.EXTRA_WEB_SEARCH_PENDINGINTENT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/SearchManager.html#EXTRA_WEB_SEARCH_PENDINGINTENT" target="_top"><code>EXTRA_WEB_SEARCH_PENDINGINTENT</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_LAST_ACCESS_HINT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/SearchManager.html#SUGGEST_COLUMN_LAST_ACCESS_HINT" target="_top"><code>SUGGEST_COLUMN_LAST_ACCESS_HINT</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/14/changes/android.app.Service.html b/docs/html/sdk/api_diff/14/changes/android.app.Service.html
new file mode 100644
index 0000000..de90b36
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.app.Service.html
@@ -0,0 +1,130 @@
+<!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.Service
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/Service.html" target="_top"><font size="+2"><code>Service</code></font></A>
+</H2>
+<p><font xsize="+1">Removed interface <code>android.content.ComponentCallbacks</code>.<br> Added interface <code>android.content.ComponentCallbacks2</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.app.Service.onTaskRemoved_added(android.content.Intent)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/Service.html#onTaskRemoved(android.content.Intent)" target="_top"><code>onTaskRemoved</code></A>(<code>Intent</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Service.onTrimMemory_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/Service.html#onTrimMemory(int)" target="_top"><code>onTrimMemory</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/14/changes/android.app.WallpaperManager.html b/docs/html/sdk/api_diff/14/changes/android.app.WallpaperManager.html
new file mode 100644
index 0000000..7cccebe
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.app.WallpaperManager.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.WallpaperManager
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/WallpaperManager.html" target="_top"><font size="+2"><code>WallpaperManager</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.WallpaperManager.forgetLoadedWallpaper_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/WallpaperManager.html#forgetLoadedWallpaper()" target="_top"><code>forgetLoadedWallpaper</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/14/changes/android.app.admin.DeviceAdminInfo.html b/docs/html/sdk/api_diff/14/changes/android.app.admin.DeviceAdminInfo.html
new file mode 100644
index 0000000..6064e1c
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.app.admin.DeviceAdminInfo.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.admin.DeviceAdminInfo
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.admin.<A HREF="../../../../reference/android/app/admin/DeviceAdminInfo.html" target="_top"><font size="+2"><code>DeviceAdminInfo</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.admin.DeviceAdminInfo.USES_POLICY_DISABLE_CAMERA"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DeviceAdminInfo.html#USES_POLICY_DISABLE_CAMERA" target="_top"><code>USES_POLICY_DISABLE_CAMERA</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/14/changes/android.app.admin.DevicePolicyManager.html b/docs/html/sdk/api_diff/14/changes/android.app.admin.DevicePolicyManager.html
new file mode 100644
index 0000000..1dff802
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.app.admin.DevicePolicyManager.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.app.admin.DevicePolicyManager
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.admin.<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html" target="_top"><font size="+2"><code>DevicePolicyManager</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.admin.DevicePolicyManager.getCameraDisabled_added(android.content.ComponentName)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#getCameraDisabled(android.content.ComponentName)" target="_top"><code>getCameraDisabled</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.admin.DevicePolicyManager.setCameraDisabled_added(android.content.ComponentName, boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#setCameraDisabled(android.content.ComponentName, boolean)" target="_top"><code>setCameraDisabled</code></A>(<code>ComponentName,</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.app.admin.DevicePolicyManager.PASSWORD_QUALITY_BIOMETRIC_WEAK"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/admin/DevicePolicyManager.html#PASSWORD_QUALITY_BIOMETRIC_WEAK" target="_top"><code>PASSWORD_QUALITY_BIOMETRIC_WEAK</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/14/changes/android.app.backup.BackupAgent.html b/docs/html/sdk/api_diff/14/changes/android.app.backup.BackupAgent.html
new file mode 100644
index 0000000..f5edb3f
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.app.backup.BackupAgent.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.app.backup.BackupAgent
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.backup.<A HREF="../../../../reference/android/app/backup/BackupAgent.html" target="_top"><font size="+2"><code>BackupAgent</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.backup.BackupAgent.fullBackupFile_added(java.io.File, android.app.backup.FullBackupDataOutput)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/backup/BackupAgent.html#fullBackupFile(java.io.File, android.app.backup.FullBackupDataOutput)" target="_top"><code>fullBackupFile</code></A>(<code>File,</nobr> FullBackupDataOutput<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.backup.BackupAgent.onFullBackup_added(android.app.backup.FullBackupDataOutput)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/backup/BackupAgent.html#onFullBackup(android.app.backup.FullBackupDataOutput)" target="_top"><code>onFullBackup</code></A>(<code>FullBackupDataOutput</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.backup.BackupAgent.onRestoreFile_added(android.os.ParcelFileDescriptor, long, java.io.File, int, long, long)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/backup/BackupAgent.html#onRestoreFile(android.os.ParcelFileDescriptor, long, java.io.File, int, long, long)" target="_top"><code>onRestoreFile</code></A>(<code>ParcelFileDescriptor,</nobr> long<nobr>,</nobr> File<nobr>,</nobr> int<nobr>,</nobr> long<nobr>,</nobr> long<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.app.backup.BackupAgent.TYPE_DIRECTORY"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/backup/BackupAgent.html#TYPE_DIRECTORY" target="_top"><code>TYPE_DIRECTORY</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.backup.BackupAgent.TYPE_FILE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/app/backup/BackupAgent.html#TYPE_FILE" target="_top"><code>TYPE_FILE</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/14/changes/android.appwidget.AppWidgetProviderInfo.html b/docs/html/sdk/api_diff/14/changes/android.appwidget.AppWidgetProviderInfo.html
new file mode 100644
index 0000000..196696a
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.appwidget.AppWidgetProviderInfo.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.appwidget.AppWidgetProviderInfo
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.appwidget.<A HREF="../../../../reference/android/appwidget/AppWidgetProviderInfo.html" target="_top"><font size="+2"><code>AppWidgetProviderInfo</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.appwidget.AppWidgetProviderInfo.minResizeHeight"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/appwidget/AppWidgetProviderInfo.html#minResizeHeight" target="_top"><code>minResizeHeight</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.appwidget.AppWidgetProviderInfo.minResizeWidth"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/appwidget/AppWidgetProviderInfo.html#minResizeWidth" target="_top"><code>minResizeWidth</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/14/changes/android.bluetooth.BluetoothAdapter.html b/docs/html/sdk/api_diff/14/changes/android.bluetooth.BluetoothAdapter.html
new file mode 100644
index 0000000..ddd9b46
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.bluetooth.BluetoothAdapter.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.bluetooth.BluetoothAdapter
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.bluetooth.<A HREF="../../../../reference/android/bluetooth/BluetoothAdapter.html" target="_top"><font size="+2"><code>BluetoothAdapter</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.bluetooth.BluetoothAdapter.getProfileConnectionState_added(int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/bluetooth/BluetoothAdapter.html#getProfileConnectionState(int)" target="_top"><code>getProfileConnectionState</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/14/changes/android.bluetooth.BluetoothProfile.html b/docs/html/sdk/api_diff/14/changes/android.bluetooth.BluetoothProfile.html
new file mode 100644
index 0000000..7bf16cf
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.bluetooth.BluetoothProfile.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.bluetooth.BluetoothProfile
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.bluetooth.<A HREF="../../../../reference/android/bluetooth/BluetoothProfile.html" target="_top"><font size="+2"><code>BluetoothProfile</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.bluetooth.BluetoothProfile.HEALTH"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/bluetooth/BluetoothProfile.html#HEALTH" target="_top"><code>HEALTH</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/14/changes/android.bluetooth.BluetoothSocket.html b/docs/html/sdk/api_diff/14/changes/android.bluetooth.BluetoothSocket.html
new file mode 100644
index 0000000..ce4e0a8
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.bluetooth.BluetoothSocket.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.bluetooth.BluetoothSocket
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.bluetooth.<A HREF="../../../../reference/android/bluetooth/BluetoothSocket.html" target="_top"><font size="+2"><code>BluetoothSocket</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.bluetooth.BluetoothSocket.isConnected_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/bluetooth/BluetoothSocket.html#isConnected()" target="_top"><code>isConnected</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/14/changes/android.content.ContentProvider.html b/docs/html/sdk/api_diff/14/changes/android.content.ContentProvider.html
new file mode 100644
index 0000000..87a24e6
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.content.ContentProvider.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>
+android.content.ContentProvider
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/ContentProvider.html" target="_top"><font size="+2"><code>ContentProvider</code></font></A>
+</H2>
+<p><font xsize="+1">Removed interface <code>android.content.ComponentCallbacks</code>.<br> Added interface <code>android.content.ComponentCallbacks2</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.ContentProvider.onTrimMemory_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/content/ContentProvider.html#onTrimMemory(int)" target="_top"><code>onTrimMemory</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/14/changes/android.content.Context.html b/docs/html/sdk/api_diff/14/changes/android.content.Context.html
new file mode 100644
index 0000000..34c71ca
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.content.Context.html
@@ -0,0 +1,186 @@
+<!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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.registerComponentCallbacks_added(android.content.ComponentCallbacks)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/content/Context.html#registerComponentCallbacks(android.content.ComponentCallbacks)" target="_top"><code>registerComponentCallbacks</code></A>(<code>ComponentCallbacks</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Context.unregisterComponentCallbacks_added(android.content.ComponentCallbacks)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/content/Context.html#unregisterComponentCallbacks(android.content.ComponentCallbacks)" target="_top"><code>unregisterComponentCallbacks</code></A>(<code>ComponentCallbacks</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.Context.BIND_ABOVE_CLIENT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/Context.html#BIND_ABOVE_CLIENT" target="_top"><code>BIND_ABOVE_CLIENT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Context.BIND_ADJUST_WITH_ACTIVITY"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/Context.html#BIND_ADJUST_WITH_ACTIVITY" target="_top"><code>BIND_ADJUST_WITH_ACTIVITY</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Context.BIND_ALLOW_OOM_MANAGEMENT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/Context.html#BIND_ALLOW_OOM_MANAGEMENT" target="_top"><code>BIND_ALLOW_OOM_MANAGEMENT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Context.BIND_IMPORTANT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/Context.html#BIND_IMPORTANT" target="_top"><code>BIND_IMPORTANT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Context.BIND_WAIVE_PRIORITY"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/Context.html#BIND_WAIVE_PRIORITY" target="_top"><code>BIND_WAIVE_PRIORITY</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Context.TEXT_SERVICES_MANAGER_SERVICE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Context.html#TEXT_SERVICES_MANAGER_SERVICE" target="_top"><code>TEXT_SERVICES_MANAGER_SERVICE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Context.WIFI_P2P_SERVICE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Context.html#WIFI_P2P_SERVICE" target="_top"><code>WIFI_P2P_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/14/changes/android.content.Intent.html b/docs/html/sdk/api_diff/14/changes/android.content.Intent.html
new file mode 100644
index 0000000..3115dee
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.content.Intent.html
@@ -0,0 +1,227 @@
+<!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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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>
+<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.Intent.ACTION_APP_ERROR"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#ACTION_APP_ERROR" target="_top"><code>ACTION_APP_ERROR</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.ACTION_INSTALL_PACKAGE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#ACTION_INSTALL_PACKAGE" target="_top"><code>ACTION_INSTALL_PACKAGE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.ACTION_MANAGE_NETWORK_USAGE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#ACTION_MANAGE_NETWORK_USAGE" target="_top"><code>ACTION_MANAGE_NETWORK_USAGE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.ACTION_PACKAGE_FULLY_REMOVED"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#ACTION_PACKAGE_FULLY_REMOVED" target="_top"><code>ACTION_PACKAGE_FULLY_REMOVED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.ACTION_PACKAGE_NEEDS_VERIFICATION"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#ACTION_PACKAGE_NEEDS_VERIFICATION" target="_top"><code>ACTION_PACKAGE_NEEDS_VERIFICATION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.ACTION_UNINSTALL_PACKAGE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#ACTION_UNINSTALL_PACKAGE" target="_top"><code>ACTION_UNINSTALL_PACKAGE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.EXTRA_ALLOW_REPLACE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#EXTRA_ALLOW_REPLACE" target="_top"><code>EXTRA_ALLOW_REPLACE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.EXTRA_BUG_REPORT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#EXTRA_BUG_REPORT" target="_top"><code>EXTRA_BUG_REPORT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.EXTRA_INSTALLER_PACKAGE_NAME"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#EXTRA_INSTALLER_PACKAGE_NAME" target="_top"><code>EXTRA_INSTALLER_PACKAGE_NAME</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.EXTRA_NOT_UNKNOWN_SOURCE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#EXTRA_NOT_UNKNOWN_SOURCE" target="_top"><code>EXTRA_NOT_UNKNOWN_SOURCE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.EXTRA_RETURN_RESULT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#EXTRA_RETURN_RESULT" target="_top"><code>EXTRA_RETURN_RESULT</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.content.Intent.ACTION_PACKAGE_INSTALL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#ACTION_PACKAGE_INSTALL" target="_top"><code>ACTION_PACKAGE_INSTALL</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.content.Intent.ACTION_UMS_CONNECTED"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#ACTION_UMS_CONNECTED" target="_top"><code>ACTION_UMS_CONNECTED</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.content.Intent.ACTION_UMS_DISCONNECTED"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#ACTION_UMS_DISCONNECTED" target="_top"><code>ACTION_UMS_DISCONNECTED</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/14/changes/android.content.IntentSender.html b/docs/html/sdk/api_diff/14/changes/android.content.IntentSender.html
new file mode 100644
index 0000000..a6b51dd
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.content.IntentSender.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.IntentSender
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/IntentSender.html" target="_top"><font size="+2"><code>IntentSender</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.IntentSender.sendIntent_added(android.content.Context, int, android.content.Intent, android.content.IntentSender.OnFinished, android.os.Handler, java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/content/IntentSender.html#sendIntent(android.content.Context, int, android.content.Intent, android.content.IntentSender.OnFinished, android.os.Handler, java.lang.String)" target="_top"><code>sendIntent</code></A>(<code>Context,</nobr> int<nobr>,</nobr> Intent<nobr>,</nobr> OnFinished<nobr>,</nobr> Handler<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/14/changes/android.content.SyncAdapterType.html b/docs/html/sdk/api_diff/14/changes/android.content.SyncAdapterType.html
new file mode 100644
index 0000000..0116101
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.content.SyncAdapterType.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.SyncAdapterType
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/SyncAdapterType.html" target="_top"><font size="+2"><code>SyncAdapterType</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.SyncAdapterType.getSettingsActivity_added()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/SyncAdapterType.html#getSettingsActivity()" target="_top"><code>getSettingsActivity</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/14/changes/android.content.pm.ActivityInfo.html b/docs/html/sdk/api_diff/14/changes/android.content.pm.ActivityInfo.html
new file mode 100644
index 0000000..6bd00a2
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.content.pm.ActivityInfo.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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/ActivityInfo.html#UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW" target="_top"><code>UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.ActivityInfo.uiOptions"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/ActivityInfo.html#uiOptions" target="_top"><code>uiOptions</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/14/changes/android.content.pm.ApplicationInfo.html b/docs/html/sdk/api_diff/14/changes/android.content.pm.ApplicationInfo.html
new file mode 100644
index 0000000..7ca9e93
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.content.pm.ApplicationInfo.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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.uiOptions"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/ApplicationInfo.html#uiOptions" target="_top"><code>uiOptions</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/14/changes/android.content.pm.PackageManager.html b/docs/html/sdk/api_diff/14/changes/android.content.pm.PackageManager.html
new file mode 100644
index 0000000..9a1d983
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.content.pm.PackageManager.html
@@ -0,0 +1,165 @@
+<!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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.verifyPendingInstall_added(int, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#verifyPendingInstall(int, int)" target="_top"><code>verifyPendingInstall</code></A>(<code>int,</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.content.pm.PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#COMPONENT_ENABLED_STATE_DISABLED_USER" target="_top"><code>COMPONENT_ENABLED_STATE_DISABLED_USER</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.EXTRA_VERIFICATION_ID"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#EXTRA_VERIFICATION_ID" target="_top"><code>EXTRA_VERIFICATION_ID</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_DIRECT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#FEATURE_WIFI_DIRECT" target="_top"><code>FEATURE_WIFI_DIRECT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.VERIFICATION_ALLOW"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#VERIFICATION_ALLOW" target="_top"><code>VERIFICATION_ALLOW</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.VERIFICATION_REJECT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#VERIFICATION_REJECT" target="_top"><code>VERIFICATION_REJECT</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/14/changes/android.content.pm.PackageStats.html b/docs/html/sdk/api_diff/14/changes/android.content.pm.PackageStats.html
new file mode 100644
index 0000000..948eb59
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.content.pm.PackageStats.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.PackageStats
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/PackageStats.html" target="_top"><font size="+2"><code>PackageStats</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.PackageStats.externalCodeSize"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageStats.html#externalCodeSize" target="_top"><code>externalCodeSize</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/14/changes/android.content.pm.ServiceInfo.html b/docs/html/sdk/api_diff/14/changes/android.content.pm.ServiceInfo.html
new file mode 100644
index 0000000..34bd7e7
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.content.pm.ServiceInfo.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.pm.ServiceInfo
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/ServiceInfo.html" target="_top"><font size="+2"><code>ServiceInfo</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.ServiceInfo.FLAG_STOP_WITH_TASK"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/ServiceInfo.html#FLAG_STOP_WITH_TASK" target="_top"><code>FLAG_STOP_WITH_TASK</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.ServiceInfo.flags"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/ServiceInfo.html#flags" target="_top"><code>flags</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/14/changes/android.database.sqlite.SQLiteOpenHelper.html b/docs/html/sdk/api_diff/14/changes/android.database.sqlite.SQLiteOpenHelper.html
new file mode 100644
index 0000000..b50e75c
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.database.sqlite.SQLiteOpenHelper.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.database.sqlite.SQLiteOpenHelper
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/SQLiteOpenHelper.html" target="_top"><font size="+2"><code>SQLiteOpenHelper</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.SQLiteOpenHelper.getDatabaseName_added()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/database/sqlite/SQLiteOpenHelper.html#getDatabaseName()" target="_top"><code>getDatabaseName</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/14/changes/android.database.sqlite.SQLiteQueryBuilder.html b/docs/html/sdk/api_diff/14/changes/android.database.sqlite.SQLiteQueryBuilder.html
new file mode 100644
index 0000000..06c12c4e
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.database.sqlite.SQLiteQueryBuilder.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.database.sqlite.SQLiteQueryBuilder
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/SQLiteQueryBuilder.html" target="_top"><font size="+2"><code>SQLiteQueryBuilder</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.SQLiteQueryBuilder.setStrict_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/database/sqlite/SQLiteQueryBuilder.html#setStrict(boolean)" target="_top"><code>setStrict</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/14/changes/android.graphics.Canvas.html b/docs/html/sdk/api_diff/14/changes/android.graphics.Canvas.html
new file mode 100644
index 0000000..a065efe
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.graphics.Canvas.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.graphics.Canvas
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/Canvas.html" target="_top"><font size="+2"><code>Canvas</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.graphics.Canvas.getMaximumBitmapHeight_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/graphics/Canvas.html#getMaximumBitmapHeight()" target="_top"><code>getMaximumBitmapHeight</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.Canvas.getMaximumBitmapWidth_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/graphics/Canvas.html#getMaximumBitmapWidth()" target="_top"><code>getMaximumBitmapWidth</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/14/changes/android.graphics.Paint.html b/docs/html/sdk/api_diff/14/changes/android.graphics.Paint.html
new file mode 100644
index 0000000..dce7e75
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.graphics.Paint.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.Paint
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/Paint.html" target="_top"><font size="+2"><code>Paint</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.graphics.Paint.getHinting_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/graphics/Paint.html#getHinting()" target="_top"><code>getHinting</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.Paint.setHinting_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/graphics/Paint.html#setHinting(int)" target="_top"><code>setHinting</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.graphics.Paint.HINTING_OFF"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/graphics/Paint.html#HINTING_OFF" target="_top"><code>HINTING_OFF</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.Paint.HINTING_ON"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/graphics/Paint.html#HINTING_ON" target="_top"><code>HINTING_ON</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/14/changes/android.graphics.RectF.html b/docs/html/sdk/api_diff/14/changes/android.graphics.RectF.html
new file mode 100644
index 0000000..869b542
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.graphics.RectF.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.graphics.RectF
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/RectF.html" target="_top"><font size="+2"><code>RectF</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.graphics.RectF.toShortString_added()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/graphics/RectF.html#toShortString()" target="_top"><code>toShortString</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/14/changes/android.graphics.SurfaceTexture.html b/docs/html/sdk/api_diff/14/changes/android.graphics.SurfaceTexture.html
new file mode 100644
index 0000000..0c8c3dc
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.graphics.SurfaceTexture.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.graphics.SurfaceTexture
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/SurfaceTexture.html" target="_top"><font size="+2"><code>SurfaceTexture</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.graphics.SurfaceTexture.getTimestamp_added()"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/graphics/SurfaceTexture.html#getTimestamp()" target="_top"><code>getTimestamp</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.SurfaceTexture.release_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/graphics/SurfaceTexture.html#release()" target="_top"><code>release</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/14/changes/android.hardware.Camera.Parameters.html b/docs/html/sdk/api_diff/14/changes/android.hardware.Camera.Parameters.html
new file mode 100644
index 0000000..e14b081
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.hardware.Camera.Parameters.html
@@ -0,0 +1,235 @@
+<!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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.getAutoExposureLock_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.Parameters.html#getAutoExposureLock()" target="_top"><code>getAutoExposureLock</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.Parameters.getAutoWhiteBalanceLock_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.Parameters.html#getAutoWhiteBalanceLock()" target="_top"><code>getAutoWhiteBalanceLock</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.Parameters.getFocusAreas_added()"></A>
+  <nobr><code>List&lt;Area&gt;</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.Parameters.html#getFocusAreas()" target="_top"><code>getFocusAreas</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.Parameters.getMaxNumDetectedFaces_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.Parameters.html#getMaxNumDetectedFaces()" target="_top"><code>getMaxNumDetectedFaces</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.Parameters.getMaxNumFocusAreas_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.Parameters.html#getMaxNumFocusAreas()" target="_top"><code>getMaxNumFocusAreas</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.Parameters.getMaxNumMeteringAreas_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.Parameters.html#getMaxNumMeteringAreas()" target="_top"><code>getMaxNumMeteringAreas</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.Parameters.getMeteringAreas_added()"></A>
+  <nobr><code>List&lt;Area&gt;</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.Parameters.html#getMeteringAreas()" target="_top"><code>getMeteringAreas</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.Parameters.isAutoExposureLockSupported_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.Parameters.html#isAutoExposureLockSupported()" target="_top"><code>isAutoExposureLockSupported</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.Parameters.isAutoWhiteBalanceLockSupported_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.Parameters.html#isAutoWhiteBalanceLockSupported()" target="_top"><code>isAutoWhiteBalanceLockSupported</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.Parameters.isVideoSnapshotSupported_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.Parameters.html#isVideoSnapshotSupported()" target="_top"><code>isVideoSnapshotSupported</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.Parameters.setAutoExposureLock_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.Parameters.html#setAutoExposureLock(boolean)" target="_top"><code>setAutoExposureLock</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.Parameters.setAutoWhiteBalanceLock_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.Parameters.html#setAutoWhiteBalanceLock(boolean)" target="_top"><code>setAutoWhiteBalanceLock</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.Parameters.setFocusAreas_added(java.util.List<android.hardware.Camera.Area>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.Parameters.html#setFocusAreas(java.util.List<android.hardware.Camera.Area>)" target="_top"><code>setFocusAreas</code></A>(<code>List&lt;Area&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.Parameters.setMeteringAreas_added(java.util.List<android.hardware.Camera.Area>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.Parameters.html#setMeteringAreas(java.util.List<android.hardware.Camera.Area>)" target="_top"><code>setMeteringAreas</code></A>(<code>List&lt;Area&gt;</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.Parameters.setRecordingHint_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.Parameters.html#setRecordingHint(boolean)" target="_top"><code>setRecordingHint</code></A>(<code>boolean</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_CONTINUOUS_PICTURE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.Parameters.html#FOCUS_MODE_CONTINUOUS_PICTURE" target="_top"><code>FOCUS_MODE_CONTINUOUS_PICTURE</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/14/changes/android.hardware.Camera.html b/docs/html/sdk/api_diff/14/changes/android.hardware.Camera.html
new file mode 100644
index 0000000..56b8392
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.hardware.Camera.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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.setFaceDetectionListener_added(android.hardware.Camera.FaceDetectionListener)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.html#setFaceDetectionListener(android.hardware.Camera.FaceDetectionListener)" target="_top"><code>setFaceDetectionListener</code></A>(<code>FaceDetectionListener</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.startFaceDetection_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.html#startFaceDetection()" target="_top"><code>startFaceDetection</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.stopFaceDetection_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.html#stopFaceDetection()" target="_top"><code>stopFaceDetection</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.hardware.Camera.ACTION_NEW_PICTURE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.html#ACTION_NEW_PICTURE" target="_top"><code>ACTION_NEW_PICTURE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Camera.ACTION_NEW_VIDEO"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/hardware/Camera.html#ACTION_NEW_VIDEO" target="_top"><code>ACTION_NEW_VIDEO</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/14/changes/android.hardware.Sensor.html b/docs/html/sdk/api_diff/14/changes/android.hardware.Sensor.html
new file mode 100644
index 0000000..0b3e1a9
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.hardware.Sensor.html
@@ -0,0 +1,146 @@
+<!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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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="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.Sensor.TYPE_AMBIENT_TEMPERATURE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/hardware/Sensor.html#TYPE_AMBIENT_TEMPERATURE" target="_top"><code>TYPE_AMBIENT_TEMPERATURE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.Sensor.TYPE_RELATIVE_HUMIDITY"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/hardware/Sensor.html#TYPE_RELATIVE_HUMIDITY" target="_top"><code>TYPE_RELATIVE_HUMIDITY</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.hardware.Sensor.TYPE_TEMPERATURE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/hardware/Sensor.html#TYPE_TEMPERATURE" target="_top"><code>TYPE_TEMPERATURE</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/14/changes/android.inputmethodservice.InputMethodService.InputMethodSessionImpl.html b/docs/html/sdk/api_diff/14/changes/android.inputmethodservice.InputMethodService.InputMethodSessionImpl.html
new file mode 100644
index 0000000..51c2afb
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.inputmethodservice.InputMethodService.InputMethodSessionImpl.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.inputmethodservice.InputMethodService.InputMethodSessionImpl
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.inputmethodservice.<A HREF="../../../../reference/android/inputmethodservice/InputMethodService.InputMethodSessionImpl.html" target="_top"><font size="+2"><code>InputMethodService.InputMethodSessionImpl</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.inputmethodservice.InputMethodService.InputMethodSessionImpl.viewClicked_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/inputmethodservice/InputMethodService.InputMethodSessionImpl.html#viewClicked(boolean)" target="_top"><code>viewClicked</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/14/changes/android.inputmethodservice.InputMethodService.html b/docs/html/sdk/api_diff/14/changes/android.inputmethodservice.InputMethodService.html
new file mode 100644
index 0000000..7d22e59
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.inputmethodservice.InputMethodService.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.inputmethodservice.InputMethodService
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.inputmethodservice.<A HREF="../../../../reference/android/inputmethodservice/InputMethodService.html" target="_top"><font size="+2"><code>InputMethodService</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.inputmethodservice.InputMethodService.onViewClicked_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/inputmethodservice/InputMethodService.html#onViewClicked(boolean)" target="_top"><code>onViewClicked</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/14/changes/android.media.AudioManager.html b/docs/html/sdk/api_diff/14/changes/android.media.AudioManager.html
new file mode 100644
index 0000000..b6131f3
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.media.AudioManager.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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.registerRemoteControlClient_added(android.media.RemoteControlClient)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/AudioManager.html#registerRemoteControlClient(android.media.RemoteControlClient)" target="_top"><code>registerRemoteControlClient</code></A>(<code>RemoteControlClient</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioManager.unregisterRemoteControlClient_added(android.media.RemoteControlClient)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/AudioManager.html#unregisterRemoteControlClient(android.media.RemoteControlClient)" target="_top"><code>unregisterRemoteControlClient</code></A>(<code>RemoteControlClient</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.media.AudioManager.isWiredHeadsetOn_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/media/AudioManager.html#isWiredHeadsetOn()" target="_top"><code>isWiredHeadsetOn</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="android.media.AudioManager.ACTION_SCO_AUDIO_STATE_UPDATED"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/AudioManager.html#ACTION_SCO_AUDIO_STATE_UPDATED" target="_top"><code>ACTION_SCO_AUDIO_STATE_UPDATED</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_PREVIOUS_STATE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/media/AudioManager.html#EXTRA_SCO_AUDIO_PREVIOUS_STATE" target="_top"><code>EXTRA_SCO_AUDIO_PREVIOUS_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_CONNECTING"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/AudioManager.html#SCO_AUDIO_STATE_CONNECTING" target="_top"><code>SCO_AUDIO_STATE_CONNECTING</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.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></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/14/changes/android.media.MediaMetadataRetriever.html b/docs/html/sdk/api_diff/14/changes/android.media.MediaMetadataRetriever.html
new file mode 100644
index 0000000..39147db
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.media.MediaMetadataRetriever.html
@@ -0,0 +1,165 @@
+<!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.MediaMetadataRetriever
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/MediaMetadataRetriever.html" target="_top"><font size="+2"><code>MediaMetadataRetriever</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.MediaMetadataRetriever.setDataSource_added(java.lang.String, java.util.Map<java.lang.String, java.lang.String>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/MediaMetadataRetriever.html#setDataSource(java.lang.String, java.util.Map<java.lang.String, java.lang.String>)" target="_top"><code>setDataSource</code></A>(<code>String,</nobr> Map&lt;String<nobr>,</nobr> String&gt;<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.MediaMetadataRetriever.METADATA_KEY_BITRATE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaMetadataRetriever.html#METADATA_KEY_BITRATE" target="_top"><code>METADATA_KEY_BITRATE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaMetadataRetriever.METADATA_KEY_HAS_AUDIO"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaMetadataRetriever.html#METADATA_KEY_HAS_AUDIO" target="_top"><code>METADATA_KEY_HAS_AUDIO</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaMetadataRetriever.METADATA_KEY_HAS_VIDEO"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaMetadataRetriever.html#METADATA_KEY_HAS_VIDEO" target="_top"><code>METADATA_KEY_HAS_VIDEO</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaMetadataRetriever.METADATA_KEY_VIDEO_HEIGHT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaMetadataRetriever.html#METADATA_KEY_VIDEO_HEIGHT" target="_top"><code>METADATA_KEY_VIDEO_HEIGHT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaMetadataRetriever.html#METADATA_KEY_VIDEO_WIDTH" target="_top"><code>METADATA_KEY_VIDEO_WIDTH</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/14/changes/android.media.MediaPlayer.html b/docs/html/sdk/api_diff/14/changes/android.media.MediaPlayer.html
new file mode 100644
index 0000000..40b9abd
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.media.MediaPlayer.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.media.MediaPlayer
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/MediaPlayer.html" target="_top"><font size="+2"><code>MediaPlayer</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.media.MediaPlayer.setDataSource_removed(java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;setDataSource(<code>String</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.media.MediaPlayer.setDataSource_added(android.content.Context, android.net.Uri, java.util.Map<java.lang.String, java.lang.String>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/MediaPlayer.html#setDataSource(android.content.Context, android.net.Uri, java.util.Map<java.lang.String, java.lang.String>)" target="_top"><code>setDataSource</code></A>(<code>Context,</nobr> Uri<nobr>,</nobr> Map&lt;String<nobr>,</nobr> String&gt;<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaPlayer.setDataSource_added(java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/MediaPlayer.html#setDataSource(java.lang.String)" target="_top"><code>setDataSource</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaPlayer.setSurface_added(android.view.Surface)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/MediaPlayer.html#setSurface(android.view.Surface)" target="_top"><code>setSurface</code></A>(<code>Surface</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/14/changes/android.media.MediaRecorder.html b/docs/html/sdk/api_diff/14/changes/android.media.MediaRecorder.html
new file mode 100644
index 0000000..6f59ec4
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.setLocation_added(float, float)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/MediaRecorder.html#setLocation(float, float)" target="_top"><code>setLocation</code></A>(<code>float,</nobr> float<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.media.MediaRecorder.setAuxiliaryOutputFile_changed(java.io.FileDescriptor)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/MediaRecorder.html#setAuxiliaryOutputFile(java.io.FileDescriptor)" target="_top"><code>setAuxiliaryOutputFile</code></A>(<code>FileDescriptor</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.media.MediaRecorder.setAuxiliaryOutputFile_changed(java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/MediaRecorder.html#setAuxiliaryOutputFile(java.lang.String)" target="_top"><code>setAuxiliaryOutputFile</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/14/changes/android.net.ConnectivityManager.html b/docs/html/sdk/api_diff/14/changes/android.net.ConnectivityManager.html
new file mode 100644
index 0000000..56a89cd1
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.net.ConnectivityManager.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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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>
+<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.ConnectivityManager.getActiveNetworkQuotaInfo_added()"></A>
+  <nobr><code>NetworkQuotaInfo</code>&nbsp;<A HREF="../../../../reference/android/net/ConnectivityManager.html#getActiveNetworkQuotaInfo()" target="_top"><code>getActiveNetworkQuotaInfo</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.ConnectivityManager.getBackgroundDataSetting_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/net/ConnectivityManager.html#getBackgroundDataSetting()" target="_top"><code>getBackgroundDataSetting</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="android.net.ConnectivityManager.TYPE_DUMMY"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/net/ConnectivityManager.html#TYPE_DUMMY" target="_top"><code>TYPE_DUMMY</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.net.ConnectivityManager.EXTRA_NETWORK_INFO"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/net/ConnectivityManager.html#EXTRA_NETWORK_INFO" target="_top"><code>EXTRA_NETWORK_INFO</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/14/changes/android.net.SSLCertificateSocketFactory.html b/docs/html/sdk/api_diff/14/changes/android.net.SSLCertificateSocketFactory.html
new file mode 100644
index 0000000..be155fa
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.net.SSLCertificateSocketFactory.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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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>
+<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.setKeyManagers_added(javax.net.ssl.KeyManager[])"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/net/SSLCertificateSocketFactory.html#setKeyManagers(javax.net.ssl.KeyManager[])" target="_top"><code>setKeyManagers</code></A>(<code>KeyManager[]</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.SSLCertificateSocketFactory.setTrustManagers_added(javax.net.ssl.TrustManager[])"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/net/SSLCertificateSocketFactory.html#setTrustManagers(javax.net.ssl.TrustManager[])" target="_top"><code>setTrustManagers</code></A>(<code>TrustManager[]</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/14/changes/android.net.TrafficStats.html b/docs/html/sdk/api_diff/14/changes/android.net.TrafficStats.html
new file mode 100644
index 0000000..28543ca
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.net.TrafficStats.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.net.TrafficStats
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/TrafficStats.html" target="_top"><font size="+2"><code>TrafficStats</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.net.TrafficStats.clearThreadStatsTag_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/net/TrafficStats.html#clearThreadStatsTag()" target="_top"><code>clearThreadStatsTag</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.TrafficStats.getThreadStatsTag_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/net/TrafficStats.html#getThreadStatsTag()" target="_top"><code>getThreadStatsTag</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.TrafficStats.incrementOperationCount_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/net/TrafficStats.html#incrementOperationCount(int)" target="_top"><code>incrementOperationCount</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.TrafficStats.incrementOperationCount_added(int, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/net/TrafficStats.html#incrementOperationCount(int, int)" target="_top"><code>incrementOperationCount</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.net.TrafficStats.setThreadStatsTag_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/net/TrafficStats.html#setThreadStatsTag(int)" target="_top"><code>setThreadStatsTag</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.TrafficStats.tagSocket_added(java.net.Socket)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/net/TrafficStats.html#tagSocket(java.net.Socket)" target="_top"><code>tagSocket</code></A>(<code>Socket</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.TrafficStats.untagSocket_added(java.net.Socket)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/net/TrafficStats.html#untagSocket(java.net.Socket)" target="_top"><code>untagSocket</code></A>(<code>Socket</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/14/changes/android.net.http.SslError.html b/docs/html/sdk/api_diff/14/changes/android.net.http.SslError.html
new file mode 100644
index 0000000..e6504b9
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.net.http.SslError.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.net.http.SslError
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/SslError.html" target="_top"><font size="+2"><code>SslError</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.SslError.ctor_added(int, android.net.http.SslCertificate, java.lang.String)"></A>
+  <nobr><A HREF="../../../../reference/android/net/http/SslError.html#SslError(int, android.net.http.SslCertificate, java.lang.String)" target="_top"><code>SslError</code></A>(<code>int,</nobr> SslCertificate<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.net.http.SslError.ctor_added(int, java.security.cert.X509Certificate, java.lang.String)"></A>
+  <nobr><A HREF="../../../../reference/android/net/http/SslError.html#SslError(int, java.security.cert.X509Certificate, java.lang.String)" target="_top"><code>SslError</code></A>(<code>int,</nobr> X509Certificate<nobr>,</nobr> String<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.SslError.ctor_changed(int, android.net.http.SslCertificate)"></A>
+  <nobr><A HREF="../../../../reference/android/net/http/SslError.html#SslError(int, android.net.http.SslCertificate)" target="_top"><code>SslError</code></A>(<code>int,</nobr> SslCertificate<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.net.http.SslError.ctor_changed(int, java.security.cert.X509Certificate)"></A>
+  <nobr><A HREF="../../../../reference/android/net/http/SslError.html#SslError(int, java.security.cert.X509Certificate)" target="_top"><code>SslError</code></A>(<code>int,</nobr> X509Certificate<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.SslError.getUrl_added()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/net/http/SslError.html#getUrl()" target="_top"><code>getUrl</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.net.http.SslError.SSL_DATE_INVALID"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/net/http/SslError.html#SSL_DATE_INVALID" target="_top"><code>SSL_DATE_INVALID</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.http.SslError.SSL_INVALID"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/net/http/SslError.html#SSL_INVALID" target="_top"><code>SSL_INVALID</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.net.http.SslError.SSL_MAX_ERROR"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/net/http/SslError.html#SSL_MAX_ERROR" target="_top"><code>SSL_MAX_ERROR</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 4 to 6. <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/14/changes/android.net.wifi.WifiManager.html b/docs/html/sdk/api_diff/14/changes/android.net.wifi.WifiManager.html
new file mode 100644
index 0000000..3d38034
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.net.wifi.WifiManager.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.net.wifi.WifiManager
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.wifi.<A HREF="../../../../reference/android/net/wifi/WifiManager.html" target="_top"><font size="+2"><code>WifiManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<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.wifi.WifiManager.EXTRA_WIFI_INFO"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/net/wifi/WifiManager.html#EXTRA_WIFI_INFO" target="_top"><code>EXTRA_WIFI_INFO</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/14/changes/android.nfc.NdefRecord.html b/docs/html/sdk/api_diff/14/changes/android.nfc.NdefRecord.html
new file mode 100644
index 0000000..55fd1cb
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.nfc.NdefRecord.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.nfc.NdefRecord
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.nfc.<A HREF="../../../../reference/android/nfc/NdefRecord.html" target="_top"><font size="+2"><code>NdefRecord</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.nfc.NdefRecord.createApplicationRecord_added(java.lang.String)"></A>
+  <nobr><code>NdefRecord</code>&nbsp;<A HREF="../../../../reference/android/nfc/NdefRecord.html#createApplicationRecord(java.lang.String)" target="_top"><code>createApplicationRecord</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.nfc.NdefRecord.createUri_added(android.net.Uri)"></A>
+  <nobr><code>NdefRecord</code>&nbsp;<A HREF="../../../../reference/android/nfc/NdefRecord.html#createUri(android.net.Uri)" target="_top"><code>createUri</code></A>(<code>Uri</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.nfc.NdefRecord.createUri_added(java.lang.String)"></A>
+  <nobr><code>NdefRecord</code>&nbsp;<A HREF="../../../../reference/android/nfc/NdefRecord.html#createUri(java.lang.String)" target="_top"><code>createUri</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/14/changes/android.nfc.NfcAdapter.html b/docs/html/sdk/api_diff/14/changes/android.nfc.NfcAdapter.html
new file mode 100644
index 0000000..57f958b
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.nfc.NfcAdapter.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.nfc.NfcAdapter
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.nfc.<A HREF="../../../../reference/android/nfc/NfcAdapter.html" target="_top"><font size="+2"><code>NfcAdapter</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.nfc.NfcAdapter.setNdefPushMessage_added(android.nfc.NdefMessage, android.app.Activity, android.app.Activity...)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/nfc/NfcAdapter.html#setNdefPushMessage(android.nfc.NdefMessage, android.app.Activity, android.app.Activity...)" target="_top"><code>setNdefPushMessage</code></A>(<code>NdefMessage,</nobr> Activity<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.nfc.NfcAdapter.setNdefPushMessageCallback_added(android.nfc.NfcAdapter.CreateNdefMessageCallback, android.app.Activity, android.app.Activity...)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/nfc/NfcAdapter.html#setNdefPushMessageCallback(android.nfc.NfcAdapter.CreateNdefMessageCallback, android.app.Activity, android.app.Activity...)" target="_top"><code>setNdefPushMessageCallback</code></A>(<code>CreateNdefMessageCallback,</nobr> Activity<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.nfc.NfcAdapter.setOnNdefPushCompleteCallback_added(android.nfc.NfcAdapter.OnNdefPushCompleteCallback, android.app.Activity, android.app.Activity...)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/nfc/NfcAdapter.html#setOnNdefPushCompleteCallback(android.nfc.NfcAdapter.OnNdefPushCompleteCallback, android.app.Activity, android.app.Activity...)" target="_top"><code>setOnNdefPushCompleteCallback</code></A>(<code>OnNdefPushCompleteCallback,</nobr> Activity<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.nfc.NfcAdapter.disableForegroundNdefPush_changed(android.app.Activity)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/nfc/NfcAdapter.html#disableForegroundNdefPush(android.app.Activity)" target="_top"><code>disableForegroundNdefPush</code></A>(<code>Activity</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.nfc.NfcAdapter.enableForegroundNdefPush_changed(android.app.Activity, android.nfc.NdefMessage)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/nfc/NfcAdapter.html#enableForegroundNdefPush(android.app.Activity, android.nfc.NdefMessage)" target="_top"><code>enableForegroundNdefPush</code></A>(<code>Activity,</nobr> NdefMessage<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/14/changes/android.nfc.tech.IsoDep.html b/docs/html/sdk/api_diff/14/changes/android.nfc.tech.IsoDep.html
new file mode 100644
index 0000000..8b6cb25
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.nfc.tech.IsoDep.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.nfc.tech.IsoDep
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.nfc.tech.<A HREF="../../../../reference/android/nfc/tech/IsoDep.html" target="_top"><font size="+2"><code>IsoDep</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.nfc.tech.IsoDep.getMaxTransceiveLength_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/nfc/tech/IsoDep.html#getMaxTransceiveLength()" target="_top"><code>getMaxTransceiveLength</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.nfc.tech.IsoDep.getTimeout_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/nfc/tech/IsoDep.html#getTimeout()" target="_top"><code>getTimeout</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/14/changes/android.nfc.tech.MifareClassic.html b/docs/html/sdk/api_diff/14/changes/android.nfc.tech.MifareClassic.html
new file mode 100644
index 0000000..511c63d
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.nfc.tech.MifareClassic.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.nfc.tech.MifareClassic
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.nfc.tech.<A HREF="../../../../reference/android/nfc/tech/MifareClassic.html" target="_top"><font size="+2"><code>MifareClassic</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.nfc.tech.MifareClassic.getMaxTransceiveLength_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/nfc/tech/MifareClassic.html#getMaxTransceiveLength()" target="_top"><code>getMaxTransceiveLength</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.nfc.tech.MifareClassic.getTimeout_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/nfc/tech/MifareClassic.html#getTimeout()" target="_top"><code>getTimeout</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.nfc.tech.MifareClassic.setTimeout_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/nfc/tech/MifareClassic.html#setTimeout(int)" target="_top"><code>setTimeout</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/14/changes/android.nfc.tech.MifareUltralight.html b/docs/html/sdk/api_diff/14/changes/android.nfc.tech.MifareUltralight.html
new file mode 100644
index 0000000..296b9c1
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.nfc.tech.MifareUltralight.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.nfc.tech.MifareUltralight
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.nfc.tech.<A HREF="../../../../reference/android/nfc/tech/MifareUltralight.html" target="_top"><font size="+2"><code>MifareUltralight</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.nfc.tech.MifareUltralight.getMaxTransceiveLength_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/nfc/tech/MifareUltralight.html#getMaxTransceiveLength()" target="_top"><code>getMaxTransceiveLength</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.nfc.tech.MifareUltralight.getTimeout_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/nfc/tech/MifareUltralight.html#getTimeout()" target="_top"><code>getTimeout</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.nfc.tech.MifareUltralight.setTimeout_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/nfc/tech/MifareUltralight.html#setTimeout(int)" target="_top"><code>setTimeout</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/14/changes/android.nfc.tech.NfcA.html b/docs/html/sdk/api_diff/14/changes/android.nfc.tech.NfcA.html
new file mode 100644
index 0000000..e153132
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.nfc.tech.NfcA.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.nfc.tech.NfcA
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.nfc.tech.<A HREF="../../../../reference/android/nfc/tech/NfcA.html" target="_top"><font size="+2"><code>NfcA</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.nfc.tech.NfcA.getMaxTransceiveLength_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/nfc/tech/NfcA.html#getMaxTransceiveLength()" target="_top"><code>getMaxTransceiveLength</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.nfc.tech.NfcA.getTimeout_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/nfc/tech/NfcA.html#getTimeout()" target="_top"><code>getTimeout</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.nfc.tech.NfcA.setTimeout_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/nfc/tech/NfcA.html#setTimeout(int)" target="_top"><code>setTimeout</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/14/changes/android.nfc.tech.NfcB.html b/docs/html/sdk/api_diff/14/changes/android.nfc.tech.NfcB.html
new file mode 100644
index 0000000..5dcc0c2
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.nfc.tech.NfcB.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.nfc.tech.NfcB
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.nfc.tech.<A HREF="../../../../reference/android/nfc/tech/NfcB.html" target="_top"><font size="+2"><code>NfcB</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.nfc.tech.NfcB.getMaxTransceiveLength_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/nfc/tech/NfcB.html#getMaxTransceiveLength()" target="_top"><code>getMaxTransceiveLength</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/14/changes/android.nfc.tech.NfcF.html b/docs/html/sdk/api_diff/14/changes/android.nfc.tech.NfcF.html
new file mode 100644
index 0000000..fd6b045
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.nfc.tech.NfcF.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.nfc.tech.NfcF
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.nfc.tech.<A HREF="../../../../reference/android/nfc/tech/NfcF.html" target="_top"><font size="+2"><code>NfcF</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.nfc.tech.NfcF.getMaxTransceiveLength_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/nfc/tech/NfcF.html#getMaxTransceiveLength()" target="_top"><code>getMaxTransceiveLength</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.nfc.tech.NfcF.getTimeout_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/nfc/tech/NfcF.html#getTimeout()" target="_top"><code>getTimeout</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.nfc.tech.NfcF.setTimeout_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/nfc/tech/NfcF.html#setTimeout(int)" target="_top"><code>setTimeout</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/14/changes/android.nfc.tech.NfcV.html b/docs/html/sdk/api_diff/14/changes/android.nfc.tech.NfcV.html
new file mode 100644
index 0000000..cdbc4c5
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.nfc.tech.NfcV.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.nfc.tech.NfcV
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.nfc.tech.<A HREF="../../../../reference/android/nfc/tech/NfcV.html" target="_top"><font size="+2"><code>NfcV</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.nfc.tech.NfcV.getMaxTransceiveLength_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/nfc/tech/NfcV.html#getMaxTransceiveLength()" target="_top"><code>getMaxTransceiveLength</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/14/changes/android.opengl.GLUtils.html b/docs/html/sdk/api_diff/14/changes/android.opengl.GLUtils.html
new file mode 100644
index 0000000..a9613c9
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.opengl.GLUtils.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.GLUtils
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/GLUtils.html" target="_top"><font size="+2"><code>GLUtils</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.GLUtils.getEGLErrorString_added(int)"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/opengl/GLUtils.html#getEGLErrorString(int)" target="_top"><code>getEGLErrorString</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/14/changes/android.opengl.Matrix.html b/docs/html/sdk/api_diff/14/changes/android.opengl.Matrix.html
new file mode 100644
index 0000000..d112afa
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.perspectiveM_added(float[], int, float, float, float, float)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/opengl/Matrix.html#perspectiveM(float[], int, float, float, float, float)" target="_top"><code>perspectiveM</code></A>(<code>float[],</nobr> int<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/14/changes/android.os.Build.VERSION_CODES.html b/docs/html/sdk/api_diff/14/changes/android.os.Build.VERSION_CODES.html
new file mode 100644
index 0000000..5d3e92b
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.ICE_CREAM_SANDWICH"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/os/Build.VERSION_CODES.html#ICE_CREAM_SANDWICH" target="_top"><code>ICE_CREAM_SANDWICH</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/14/changes/android.os.Build.html b/docs/html/sdk/api_diff/14/changes/android.os.Build.html
new file mode 100644
index 0000000..08a487d
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.os.Build.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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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>
+<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.Build.getRadioVersion_added()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/os/Build.html#getRadioVersion()" target="_top"><code>getRadioVersion</code></A>()</nobr>
+  </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.os.Build.RADIO"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/os/Build.html#RADIO" target="_top"><code>RADIO</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/14/changes/android.os.Debug.MemoryInfo.html b/docs/html/sdk/api_diff/14/changes/android.os.Debug.MemoryInfo.html
new file mode 100644
index 0000000..b429b0c3
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.os.Debug.MemoryInfo.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.Debug.MemoryInfo
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.MemoryInfo.html" target="_top"><font size="+2"><code>Debug.MemoryInfo</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.MemoryInfo.getOtherLabel_added(int)"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/os/Debug.MemoryInfo.html#getOtherLabel(int)" target="_top"><code>getOtherLabel</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Debug.MemoryInfo.getOtherPrivateDirty_added(int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/os/Debug.MemoryInfo.html#getOtherPrivateDirty(int)" target="_top"><code>getOtherPrivateDirty</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Debug.MemoryInfo.getOtherPss_added(int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/os/Debug.MemoryInfo.html#getOtherPss(int)" target="_top"><code>getOtherPss</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Debug.MemoryInfo.getOtherSharedDirty_added(int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/os/Debug.MemoryInfo.html#getOtherSharedDirty(int)" target="_top"><code>getOtherSharedDirty</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/14/changes/android.os.Debug.html b/docs/html/sdk/api_diff/14/changes/android.os.Debug.html
new file mode 100644
index 0000000..b75dee3
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.os.Debug.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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.getPss_added()"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/os/Debug.html#getPss()" target="_top"><code>getPss</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/14/changes/android.os.Handler.html b/docs/html/sdk/api_diff/14/changes/android.os.Handler.html
new file mode 100644
index 0000000..745334b
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.os.Handler.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.Handler
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/Handler.html" target="_top"><font size="+2"><code>Handler</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.Handler.getMessageName_added(android.os.Message)"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/os/Handler.html#getMessageName(android.os.Message)" target="_top"><code>getMessageName</code></A>(<code>Message</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/14/changes/android.os.Looper.html b/docs/html/sdk/api_diff/14/changes/android.os.Looper.html
new file mode 100644
index 0000000..181c541
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.os.Looper.html
@@ -0,0 +1,175 @@
+<!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.Looper
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/Looper.html" target="_top"><font size="+2"><code>Looper</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.os.Looper.getMainLooper_changed()"></A>
+  <nobr><code>Looper</code>&nbsp;<A HREF="../../../../reference/android/os/Looper.html#getMainLooper()" target="_top"><code>getMainLooper</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change from final to non-final.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Looper.loop_changed()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/os/Looper.html#loop()" target="_top"><code>loop</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change from final to non-final.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Looper.myLooper_changed()"></A>
+  <nobr><code>Looper</code>&nbsp;<A HREF="../../../../reference/android/os/Looper.html#myLooper()" target="_top"><code>myLooper</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change from final to non-final.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Looper.myQueue_changed()"></A>
+  <nobr><code>MessageQueue</code>&nbsp;<A HREF="../../../../reference/android/os/Looper.html#myQueue()" target="_top"><code>myQueue</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change from final to non-final.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Looper.prepare_changed()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/os/Looper.html#prepare()" target="_top"><code>prepare</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change from final to non-final.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Looper.prepareMainLooper_changed()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/os/Looper.html#prepareMainLooper()" target="_top"><code>prepareMainLooper</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change from final to non-final.<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/14/changes/android.os.ParcelFileDescriptor.html b/docs/html/sdk/api_diff/14/changes/android.os.ParcelFileDescriptor.html
new file mode 100644
index 0000000..d0556d7
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.os.ParcelFileDescriptor.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.os.ParcelFileDescriptor
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/ParcelFileDescriptor.html" target="_top"><font size="+2"><code>ParcelFileDescriptor</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.ParcelFileDescriptor.dup_added()"></A>
+  <nobr><code>ParcelFileDescriptor</code>&nbsp;<A HREF="../../../../reference/android/os/ParcelFileDescriptor.html#dup()" target="_top"><code>dup</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.ParcelFileDescriptor.fromDatagramSocket_added(java.net.DatagramSocket)"></A>
+  <nobr><code>ParcelFileDescriptor</code>&nbsp;<A HREF="../../../../reference/android/os/ParcelFileDescriptor.html#fromDatagramSocket(java.net.DatagramSocket)" target="_top"><code>fromDatagramSocket</code></A>(<code>DatagramSocket</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/14/changes/android.os.Process.html b/docs/html/sdk/api_diff/14/changes/android.os.Process.html
new file mode 100644
index 0000000..2a6f87c
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.os.Process.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>
+android.os.Process
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/Process.html" target="_top"><font size="+2"><code>Process</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.os.Process.supportsProcesses_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/os/Process.html#supportsProcesses()" target="_top"><code>supportsProcesses</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/14/changes/android.os.RecoverySystem.html b/docs/html/sdk/api_diff/14/changes/android.os.RecoverySystem.html
new file mode 100644
index 0000000..e857ebf
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.os.RecoverySystem.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.RecoverySystem
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/RecoverySystem.html" target="_top"><font size="+2"><code>RecoverySystem</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.RecoverySystem.rebootWipeCache_added(android.content.Context)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/os/RecoverySystem.html#rebootWipeCache(android.content.Context)" target="_top"><code>rebootWipeCache</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/14/changes/android.preference.CheckBoxPreference.html b/docs/html/sdk/api_diff/14/changes/android.preference.CheckBoxPreference.html
new file mode 100644
index 0000000..a213df5
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.preference.CheckBoxPreference.html
@@ -0,0 +1,212 @@
+<!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.preference.CheckBoxPreference
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.preference.<A HREF="../../../../reference/android/preference/CheckBoxPreference.html" target="_top"><font size="+2"><code>CheckBoxPreference</code></font></A>
+</H2>
+<p><font xsize="+1">The superclass changed from <code>android.preference.Preference</code> to <code>android.preference.TwoStatePreference</code>.<br></font>
+<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.preference.CheckBoxPreference.setSummaryOff_removed(int)"></A>
+  <nobr><code>void</code>&nbsp;setSummaryOff(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.preference.CheckBoxPreference.setSummaryOff_removed(java.lang.CharSequence)"></A>
+  <nobr><code>void</code>&nbsp;setSummaryOff(<code>CharSequence</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.preference.CheckBoxPreference.setSummaryOn_removed(int)"></A>
+  <nobr><code>void</code>&nbsp;setSummaryOn(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.preference.CheckBoxPreference.setSummaryOn_removed(java.lang.CharSequence)"></A>
+  <nobr><code>void</code>&nbsp;setSummaryOn(<code>CharSequence</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.preference.CheckBoxPreference.getDisableDependentsState_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/preference/TwoStatePreference.html#getDisableDependentsState()" target="_top"><code>getDisableDependentsState</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/preference/TwoStatePreference.html#getDisableDependentsState()" target="_top"><code>TwoStatePreference</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.preference.CheckBoxPreference.getSummaryOff_changed()"></A>
+  <nobr><code>CharSequence</code>&nbsp;<A HREF="../../../../reference/android/preference/TwoStatePreference.html#getSummaryOff()" target="_top"><code>getSummaryOff</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/preference/TwoStatePreference.html#getSummaryOff()" target="_top"><code>TwoStatePreference</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.preference.CheckBoxPreference.getSummaryOn_changed()"></A>
+  <nobr><code>CharSequence</code>&nbsp;<A HREF="../../../../reference/android/preference/TwoStatePreference.html#getSummaryOn()" target="_top"><code>getSummaryOn</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/preference/TwoStatePreference.html#getSummaryOn()" target="_top"><code>TwoStatePreference</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.preference.CheckBoxPreference.isChecked_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/preference/TwoStatePreference.html#isChecked()" target="_top"><code>isChecked</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/preference/TwoStatePreference.html#isChecked()" target="_top"><code>TwoStatePreference</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.preference.CheckBoxPreference.setChecked_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/preference/TwoStatePreference.html#setChecked(boolean)" target="_top"><code>setChecked</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/preference/TwoStatePreference.html#setChecked(boolean)" target="_top"><code>TwoStatePreference</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.preference.CheckBoxPreference.setDisableDependentsState_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/preference/TwoStatePreference.html#setDisableDependentsState(boolean)" target="_top"><code>setDisableDependentsState</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/preference/TwoStatePreference.html#setDisableDependentsState(boolean)" target="_top"><code>TwoStatePreference</code></a>.
+  </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/14/changes/android.preference.Preference.html b/docs/html/sdk/api_diff/14/changes/android.preference.Preference.html
new file mode 100644
index 0000000..2d2a88a
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.preference.Preference.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.preference.Preference
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.preference.<A HREF="../../../../reference/android/preference/Preference.html" target="_top"><font size="+2"><code>Preference</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.preference.Preference.getTitleRes_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/preference/Preference.html#getTitleRes()" target="_top"><code>getTitleRes</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/14/changes/android.preference.PreferenceActivity.html b/docs/html/sdk/api_diff/14/changes/android.preference.PreferenceActivity.html
new file mode 100644
index 0000000..1bfb447
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.preference.PreferenceActivity.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.preference.PreferenceActivity
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.preference.<A HREF="../../../../reference/android/preference/PreferenceActivity.html" target="_top"><font size="+2"><code>PreferenceActivity</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.preference.PreferenceActivity.onBuildStartFragmentIntent_added(java.lang.String, android.os.Bundle, int, int)"></A>
+  <nobr><code>Intent</code>&nbsp;<A HREF="../../../../reference/android/preference/PreferenceActivity.html#onBuildStartFragmentIntent(java.lang.String, android.os.Bundle, int, int)" target="_top"><code>onBuildStartFragmentIntent</code></A>(<code>String,</nobr> Bundle<nobr>,</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.preference.PreferenceActivity.startWithFragment_added(java.lang.String, android.os.Bundle, android.app.Fragment, int, int, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/preference/PreferenceActivity.html#startWithFragment(java.lang.String, android.os.Bundle, android.app.Fragment, int, int, int)" target="_top"><code>startWithFragment</code></A>(<code>String,</nobr> Bundle<nobr>,</nobr> Fragment<nobr>,</nobr> int<nobr>,</nobr> int<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.preference.PreferenceActivity.EXTRA_SHOW_FRAGMENT_SHORT_TITLE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/preference/PreferenceActivity.html#EXTRA_SHOW_FRAGMENT_SHORT_TITLE" target="_top"><code>EXTRA_SHOW_FRAGMENT_SHORT_TITLE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.preference.PreferenceActivity.EXTRA_SHOW_FRAGMENT_TITLE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/preference/PreferenceActivity.html#EXTRA_SHOW_FRAGMENT_TITLE" target="_top"><code>EXTRA_SHOW_FRAGMENT_TITLE</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/14/changes/android.provider.CallLog.Calls.html b/docs/html/sdk/api_diff/14/changes/android.provider.CallLog.Calls.html
new file mode 100644
index 0000000..a6ff6a7
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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>
+<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.CallLog.Calls.IS_READ"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/CallLog.Calls.html#IS_READ" target="_top"><code>IS_READ</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/14/changes/android.provider.ContactsContract.CommonDataKinds.Photo.html b/docs/html/sdk/api_diff/14/changes/android.provider.ContactsContract.CommonDataKinds.Photo.html
new file mode 100644
index 0000000..bef23cc
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.provider.ContactsContract.CommonDataKinds.Photo.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.CommonDataKinds.Photo
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.CommonDataKinds.Photo.html" target="_top"><font size="+2"><code>ContactsContract.CommonDataKinds.Photo</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.CommonDataKinds.Photo.PHOTO_FILE_ID"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.CommonDataKinds.Photo.html#PHOTO_FILE_ID" target="_top"><code>PHOTO_FILE_ID</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/14/changes/android.provider.ContactsContract.Contacts.Photo.html b/docs/html/sdk/api_diff/14/changes/android.provider.ContactsContract.Contacts.Photo.html
new file mode 100644
index 0000000..25f3b83
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.provider.ContactsContract.Contacts.Photo.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.ContactsContract.Contacts.Photo
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.Contacts.Photo.html" target="_top"><font size="+2"><code>ContactsContract.Contacts.Photo</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.Contacts.Photo.DISPLAY_PHOTO"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.Contacts.Photo.html#DISPLAY_PHOTO" target="_top"><code>DISPLAY_PHOTO</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.Contacts.Photo.PHOTO_FILE_ID"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.Contacts.Photo.html#PHOTO_FILE_ID" target="_top"><code>PHOTO_FILE_ID</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/14/changes/android.provider.ContactsContract.Contacts.html b/docs/html/sdk/api_diff/14/changes/android.provider.ContactsContract.Contacts.html
new file mode 100644
index 0000000..cb84233
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.provider.ContactsContract.Contacts.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.Contacts
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.Contacts.html" target="_top"><font size="+2"><code>ContactsContract.Contacts</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.Contacts.openContactPhotoInputStream_added(android.content.ContentResolver, android.net.Uri, boolean)"></A>
+  <nobr><code>InputStream</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.Contacts.html#openContactPhotoInputStream(android.content.ContentResolver, android.net.Uri, boolean)" target="_top"><code>openContactPhotoInputStream</code></A>(<code>ContentResolver,</nobr> Uri<nobr>,</nobr> boolean<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/14/changes/android.provider.ContactsContract.ContactsColumns.html b/docs/html/sdk/api_diff/14/changes/android.provider.ContactsContract.ContactsColumns.html
new file mode 100644
index 0000000..de60368
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.provider.ContactsContract.ContactsColumns.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.ContactsContract.ContactsColumns
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.ContactsColumns.html" target="_top"><font size="+2"><code>ContactsContract.ContactsColumns</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.ContactsColumns.IS_USER_PROFILE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.ContactsColumns.html#IS_USER_PROFILE" target="_top"><code>IS_USER_PROFILE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.ContactsColumns.PHOTO_FILE_ID"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.ContactsColumns.html#PHOTO_FILE_ID" target="_top"><code>PHOTO_FILE_ID</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/14/changes/android.provider.ContactsContract.GroupsColumns.html b/docs/html/sdk/api_diff/14/changes/android.provider.ContactsContract.GroupsColumns.html
new file mode 100644
index 0000000..ac74e71
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.provider.ContactsContract.GroupsColumns.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.GroupsColumns
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.GroupsColumns.html" target="_top"><font size="+2"><code>ContactsContract.GroupsColumns</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.GroupsColumns.DATA_SET"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.GroupsColumns.html#DATA_SET" target="_top"><code>DATA_SET</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/14/changes/android.provider.ContactsContract.Intents.html b/docs/html/sdk/api_diff/14/changes/android.provider.ContactsContract.Intents.html
new file mode 100644
index 0000000..6ef8d49
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.provider.ContactsContract.Intents.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.Intents
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.Intents.html" target="_top"><font size="+2"><code>ContactsContract.Intents</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.Intents.INVITE_CONTACT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.Intents.html#INVITE_CONTACT" target="_top"><code>INVITE_CONTACT</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/14/changes/android.provider.ContactsContract.RawContactsColumns.html b/docs/html/sdk/api_diff/14/changes/android.provider.ContactsContract.RawContactsColumns.html
new file mode 100644
index 0000000..4ff53b7
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.provider.ContactsContract.RawContactsColumns.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.ContactsContract.RawContactsColumns
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.RawContactsColumns.html" target="_top"><font size="+2"><code>ContactsContract.RawContactsColumns</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.RawContactsColumns.DATA_SET"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.RawContactsColumns.html#DATA_SET" target="_top"><code>DATA_SET</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.RawContactsColumns.RAW_CONTACT_IS_USER_PROFILE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.RawContactsColumns.html#RAW_CONTACT_IS_USER_PROFILE" target="_top"><code>RAW_CONTACT_IS_USER_PROFILE</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/14/changes/android.provider.ContactsContract.RawContactsEntity.html b/docs/html/sdk/api_diff/14/changes/android.provider.ContactsContract.RawContactsEntity.html
new file mode 100644
index 0000000..dcfe079
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.provider.ContactsContract.RawContactsEntity.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.RawContactsEntity
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.RawContactsEntity.html" target="_top"><font size="+2"><code>ContactsContract.RawContactsEntity</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.RawContactsEntity.PROFILE_CONTENT_URI"></A>
+  <nobr><code>Uri</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.RawContactsEntity.html#PROFILE_CONTENT_URI" target="_top"><code>PROFILE_CONTENT_URI</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/14/changes/android.provider.ContactsContract.SettingsColumns.html b/docs/html/sdk/api_diff/14/changes/android.provider.ContactsContract.SettingsColumns.html
new file mode 100644
index 0000000..0b571a0
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.provider.ContactsContract.SettingsColumns.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.SettingsColumns
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.SettingsColumns.html" target="_top"><font size="+2"><code>ContactsContract.SettingsColumns</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.SettingsColumns.DATA_SET"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.SettingsColumns.html#DATA_SET" target="_top"><code>DATA_SET</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/14/changes/android.provider.ContactsContract.StatusUpdates.html b/docs/html/sdk/api_diff/14/changes/android.provider.ContactsContract.StatusUpdates.html
new file mode 100644
index 0000000..84ec049
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.provider.ContactsContract.StatusUpdates.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.StatusUpdates
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.StatusUpdates.html" target="_top"><font size="+2"><code>ContactsContract.StatusUpdates</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.StatusUpdates.PROFILE_CONTENT_URI"></A>
+  <nobr><code>Uri</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.StatusUpdates.html#PROFILE_CONTENT_URI" target="_top"><code>PROFILE_CONTENT_URI</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/14/changes/android.provider.ContactsContract.html b/docs/html/sdk/api_diff/14/changes/android.provider.ContactsContract.html
new file mode 100644
index 0000000..2ae870c
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.provider.ContactsContract.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.provider.ContactsContract
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.html" target="_top"><font size="+2"><code>ContactsContract</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.isProfileId_added(long)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.html#isProfileId(long)" target="_top"><code>isProfileId</code></A>(<code>long</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.ContactsContract.PRIMARY_ACCOUNT_NAME"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.html#PRIMARY_ACCOUNT_NAME" target="_top"><code>PRIMARY_ACCOUNT_NAME</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.ContactsContract.PRIMARY_ACCOUNT_TYPE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/ContactsContract.html#PRIMARY_ACCOUNT_TYPE" target="_top"><code>PRIMARY_ACCOUNT_TYPE</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/14/changes/android.provider.LiveFolders.html b/docs/html/sdk/api_diff/14/changes/android.provider.LiveFolders.html
new file mode 100644
index 0000000..232171d
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.provider.LiveFolders.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.provider.LiveFolders
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/LiveFolders.html" target="_top"><font size="+2"><code>LiveFolders</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/14/changes/android.provider.MediaStore.Audio.AudioColumns.html b/docs/html/sdk/api_diff/14/changes/android.provider.MediaStore.Audio.AudioColumns.html
new file mode 100644
index 0000000..99c3797
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.provider.MediaStore.Audio.AudioColumns.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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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="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.provider.MediaStore.Audio.AudioColumns.ALBUM_ART"></A>
+  <code>String</code>&nbsp;ALBUM_ART
+  </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/14/changes/android.provider.Settings.Secure.html b/docs/html/sdk/api_diff/14/changes/android.provider.Settings.Secure.html
new file mode 100644
index 0000000..529f9e0
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.provider.Settings.Secure.html
@@ -0,0 +1,274 @@
+<!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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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>
+<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.TOUCH_EXPLORATION_ENABLED"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.Secure.html#TOUCH_EXPLORATION_ENABLED" target="_top"><code>TOUCH_EXPLORATION_ENABLED</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.Secure.BACKGROUND_DATA"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.Secure.html#BACKGROUND_DATA" target="_top"><code>BACKGROUND_DATA</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.Secure.TTS_DEFAULT_COUNTRY"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.Secure.html#TTS_DEFAULT_COUNTRY" target="_top"><code>TTS_DEFAULT_COUNTRY</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.Secure.TTS_DEFAULT_LANG"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.Secure.html#TTS_DEFAULT_LANG" target="_top"><code>TTS_DEFAULT_LANG</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.Secure.TTS_DEFAULT_VARIANT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.Secure.html#TTS_DEFAULT_VARIANT" target="_top"><code>TTS_DEFAULT_VARIANT</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.Secure.TTS_USE_DEFAULTS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.Secure.html#TTS_USE_DEFAULTS" target="_top"><code>TTS_USE_DEFAULTS</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.Secure.WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.Secure.html#WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE" target="_top"><code>WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.Secure.WIFI_WATCHDOG_AP_COUNT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.Secure.html#WIFI_WATCHDOG_AP_COUNT" target="_top"><code>WIFI_WATCHDOG_AP_COUNT</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.Secure.WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.Secure.html#WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS" target="_top"><code>WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.Secure.WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.Secure.html#WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED" target="_top"><code>WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.Secure.WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.Secure.html#WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS" target="_top"><code>WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.Secure.WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.Secure.html#WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT" target="_top"><code>WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.Secure.WIFI_WATCHDOG_MAX_AP_CHECKS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.Secure.html#WIFI_WATCHDOG_MAX_AP_CHECKS" target="_top"><code>WIFI_WATCHDOG_MAX_AP_CHECKS</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.Secure.WIFI_WATCHDOG_PING_COUNT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.Secure.html#WIFI_WATCHDOG_PING_COUNT" target="_top"><code>WIFI_WATCHDOG_PING_COUNT</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.Secure.WIFI_WATCHDOG_PING_DELAY_MS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.Secure.html#WIFI_WATCHDOG_PING_DELAY_MS" target="_top"><code>WIFI_WATCHDOG_PING_DELAY_MS</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.Secure.WIFI_WATCHDOG_PING_TIMEOUT_MS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.Secure.html#WIFI_WATCHDOG_PING_TIMEOUT_MS" target="_top"><code>WIFI_WATCHDOG_PING_TIMEOUT_MS</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.Secure.WIFI_WATCHDOG_WATCH_LIST"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.Secure.html#WIFI_WATCHDOG_WATCH_LIST" target="_top"><code>WIFI_WATCHDOG_WATCH_LIST</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/14/changes/android.provider.Settings.System.html b/docs/html/sdk/api_diff/14/changes/android.provider.Settings.System.html
new file mode 100644
index 0000000..72bdb4f
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.provider.Settings.System.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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.RADIO_NFC"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.System.html#RADIO_NFC" target="_top"><code>RADIO_NFC</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/14/changes/android.provider.Settings.html b/docs/html/sdk/api_diff/14/changes/android.provider.Settings.html
new file mode 100644
index 0000000..fb377f4
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.provider.Settings.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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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_NFCSHARING_SETTINGS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.html#ACTION_NFCSHARING_SETTINGS" target="_top"><code>ACTION_NFCSHARING_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/14/changes/android.renderscript.Allocation.html b/docs/html/sdk/api_diff/14/changes/android.renderscript.Allocation.html
new file mode 100644
index 0000000..edff730
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.renderscript.Allocation.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.renderscript.Allocation
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.renderscript.<A HREF="../../../../reference/android/renderscript/Allocation.html" target="_top"><font size="+2"><code>Allocation</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.renderscript.Allocation.copy1DRangeFrom_added(int, int, android.renderscript.Allocation, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Allocation.html#copy1DRangeFrom(int, int, android.renderscript.Allocation, int)" target="_top"><code>copy1DRangeFrom</code></A>(<code>int,</nobr> int<nobr>,</nobr> Allocation<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.renderscript.Allocation.copy2DRangeFrom_added(int, int, int, int, android.renderscript.Allocation, int, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Allocation.html#copy2DRangeFrom(int, int, int, int, android.renderscript.Allocation, int, int)" target="_top"><code>copy2DRangeFrom</code></A>(<code>int,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> Allocation<nobr>,</nobr> int<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.renderscript.Allocation.USAGE_GRAPHICS_RENDER_TARGET"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Allocation.html#USAGE_GRAPHICS_RENDER_TARGET" target="_top"><code>USAGE_GRAPHICS_RENDER_TARGET</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/14/changes/android.renderscript.AllocationAdapter.html b/docs/html/sdk/api_diff/14/changes/android.renderscript.AllocationAdapter.html
new file mode 100644
index 0000000..55f81f1
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.renderscript.AllocationAdapter.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.renderscript.AllocationAdapter
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.renderscript.<A HREF="../../../../reference/android/renderscript/AllocationAdapter.html" target="_top"><font size="+2"><code>AllocationAdapter</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.renderscript.AllocationAdapter.readData_removed(float[])"></A>
+  <nobr><code>void</code>&nbsp;readData(<code>float[]</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.AllocationAdapter.readData_removed(int[])"></A>
+  <nobr><code>void</code>&nbsp;readData(<code>int[]</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.AllocationAdapter.subData_removed(int, android.renderscript.FieldPacker)"></A>
+  <nobr><code>void</code>&nbsp;subData(<code>int,</nobr> FieldPacker<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.AllocationAdapter.subData1D_removed(int, int, byte[])"></A>
+  <nobr><code>void</code>&nbsp;subData1D(<code>int,</nobr> int<nobr>,</nobr> byte[]<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.AllocationAdapter.subData1D_removed(int, int, float[])"></A>
+  <nobr><code>void</code>&nbsp;subData1D(<code>int,</nobr> int<nobr>,</nobr> float[]<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.AllocationAdapter.subData1D_removed(int, int, int[])"></A>
+  <nobr><code>void</code>&nbsp;subData1D(<code>int,</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.renderscript.AllocationAdapter.subData1D_removed(int, int, short[])"></A>
+  <nobr><code>void</code>&nbsp;subData1D(<code>int,</nobr> int<nobr>,</nobr> short[]<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.AllocationAdapter.subData2D_removed(int, int, int, int, float[])"></A>
+  <nobr><code>void</code>&nbsp;subData2D(<code>int,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> float[]<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.AllocationAdapter.subData2D_removed(int, int, int, int, int[])"></A>
+  <nobr><code>void</code>&nbsp;subData2D(<code>int,</nobr> int<nobr>,</nobr> int<nobr>,</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.renderscript.AllocationAdapter.subElementData_removed(int, int, android.renderscript.FieldPacker)"></A>
+  <nobr><code>void</code>&nbsp;subElementData(<code>int,</nobr> int<nobr>,</nobr> FieldPacker<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.renderscript.AllocationAdapter.create1D_added(android.renderscript.RenderScript, android.renderscript.Allocation)"></A>
+  <nobr><code>AllocationAdapter</code>&nbsp;<A HREF="../../../../reference/android/renderscript/AllocationAdapter.html#create1D(android.renderscript.RenderScript, android.renderscript.Allocation)" target="_top"><code>create1D</code></A>(<code>RenderScript,</nobr> Allocation<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/14/changes/android.renderscript.BaseObj.html b/docs/html/sdk/api_diff/14/changes/android.renderscript.BaseObj.html
new file mode 100644
index 0000000..073a080
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.renderscript.BaseObj.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>
+android.renderscript.BaseObj
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.renderscript.<A HREF="../../../../reference/android/renderscript/BaseObj.html" target="_top"><font size="+2"><code>BaseObj</code></font></A>
+</H2>
+<p>Change of visibility from  to public.<br>
+<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.renderscript.BaseObj.getName_added()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/renderscript/BaseObj.html#getName()" target="_top"><code>getName</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/14/changes/android.renderscript.Byte2.html b/docs/html/sdk/api_diff/14/changes/android.renderscript.Byte2.html
new file mode 100644
index 0000000..c5b2fb3
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.renderscript.Byte2.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.renderscript.Byte2
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.renderscript.<A HREF="../../../../reference/android/renderscript/Byte2.html" target="_top"><font size="+2"><code>Byte2</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.renderscript.Byte2.ctor_added(byte, byte)"></A>
+  <nobr><A HREF="../../../../reference/android/renderscript/Byte2.html#Byte2(byte, byte)" target="_top"><code>Byte2</code></A>(<code>byte,</nobr> byte<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/14/changes/android.renderscript.Byte3.html b/docs/html/sdk/api_diff/14/changes/android.renderscript.Byte3.html
new file mode 100644
index 0000000..1821474
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.renderscript.Byte3.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.renderscript.Byte3
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.renderscript.<A HREF="../../../../reference/android/renderscript/Byte3.html" target="_top"><font size="+2"><code>Byte3</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.renderscript.Byte3.ctor_added(byte, byte, byte)"></A>
+  <nobr><A HREF="../../../../reference/android/renderscript/Byte3.html#Byte3(byte, byte, byte)" target="_top"><code>Byte3</code></A>(<code>byte,</nobr> byte<nobr>,</nobr> byte<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/14/changes/android.renderscript.Byte4.html b/docs/html/sdk/api_diff/14/changes/android.renderscript.Byte4.html
new file mode 100644
index 0000000..a218354
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.renderscript.Byte4.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.renderscript.Byte4
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.renderscript.<A HREF="../../../../reference/android/renderscript/Byte4.html" target="_top"><font size="+2"><code>Byte4</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.renderscript.Byte4.ctor_added(byte, byte, byte, byte)"></A>
+  <nobr><A HREF="../../../../reference/android/renderscript/Byte4.html#Byte4(byte, byte, byte, byte)" target="_top"><code>Byte4</code></A>(<code>byte,</nobr> byte<nobr>,</nobr> byte<nobr>,</nobr> byte<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/14/changes/android.renderscript.Element.html b/docs/html/sdk/api_diff/14/changes/android.renderscript.Element.html
new file mode 100644
index 0000000..3d78923
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.renderscript.Element.html
@@ -0,0 +1,304 @@
+<!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.renderscript.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.renderscript.<A HREF="../../../../reference/android/renderscript/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="android.renderscript.Element.F64_2_added(android.renderscript.RenderScript)"></A>
+  <nobr><code>Element</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Element.html#F64_2(android.renderscript.RenderScript)" target="_top"><code>F64_2</code></A>(<code>RenderScript</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.Element.F64_3_added(android.renderscript.RenderScript)"></A>
+  <nobr><code>Element</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Element.html#F64_3(android.renderscript.RenderScript)" target="_top"><code>F64_3</code></A>(<code>RenderScript</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.Element.F64_4_added(android.renderscript.RenderScript)"></A>
+  <nobr><code>Element</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Element.html#F64_4(android.renderscript.RenderScript)" target="_top"><code>F64_4</code></A>(<code>RenderScript</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.Element.I16_2_added(android.renderscript.RenderScript)"></A>
+  <nobr><code>Element</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Element.html#I16_2(android.renderscript.RenderScript)" target="_top"><code>I16_2</code></A>(<code>RenderScript</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.Element.I16_3_added(android.renderscript.RenderScript)"></A>
+  <nobr><code>Element</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Element.html#I16_3(android.renderscript.RenderScript)" target="_top"><code>I16_3</code></A>(<code>RenderScript</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.Element.I16_4_added(android.renderscript.RenderScript)"></A>
+  <nobr><code>Element</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Element.html#I16_4(android.renderscript.RenderScript)" target="_top"><code>I16_4</code></A>(<code>RenderScript</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.Element.I32_2_added(android.renderscript.RenderScript)"></A>
+  <nobr><code>Element</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Element.html#I32_2(android.renderscript.RenderScript)" target="_top"><code>I32_2</code></A>(<code>RenderScript</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.Element.I32_3_added(android.renderscript.RenderScript)"></A>
+  <nobr><code>Element</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Element.html#I32_3(android.renderscript.RenderScript)" target="_top"><code>I32_3</code></A>(<code>RenderScript</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.Element.I32_4_added(android.renderscript.RenderScript)"></A>
+  <nobr><code>Element</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Element.html#I32_4(android.renderscript.RenderScript)" target="_top"><code>I32_4</code></A>(<code>RenderScript</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.Element.I64_2_added(android.renderscript.RenderScript)"></A>
+  <nobr><code>Element</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Element.html#I64_2(android.renderscript.RenderScript)" target="_top"><code>I64_2</code></A>(<code>RenderScript</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.Element.I64_3_added(android.renderscript.RenderScript)"></A>
+  <nobr><code>Element</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Element.html#I64_3(android.renderscript.RenderScript)" target="_top"><code>I64_3</code></A>(<code>RenderScript</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.Element.I64_4_added(android.renderscript.RenderScript)"></A>
+  <nobr><code>Element</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Element.html#I64_4(android.renderscript.RenderScript)" target="_top"><code>I64_4</code></A>(<code>RenderScript</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.Element.I8_2_added(android.renderscript.RenderScript)"></A>
+  <nobr><code>Element</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Element.html#I8_2(android.renderscript.RenderScript)" target="_top"><code>I8_2</code></A>(<code>RenderScript</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.Element.I8_3_added(android.renderscript.RenderScript)"></A>
+  <nobr><code>Element</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Element.html#I8_3(android.renderscript.RenderScript)" target="_top"><code>I8_3</code></A>(<code>RenderScript</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.Element.I8_4_added(android.renderscript.RenderScript)"></A>
+  <nobr><code>Element</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Element.html#I8_4(android.renderscript.RenderScript)" target="_top"><code>I8_4</code></A>(<code>RenderScript</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.Element.U16_2_added(android.renderscript.RenderScript)"></A>
+  <nobr><code>Element</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Element.html#U16_2(android.renderscript.RenderScript)" target="_top"><code>U16_2</code></A>(<code>RenderScript</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.Element.U16_3_added(android.renderscript.RenderScript)"></A>
+  <nobr><code>Element</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Element.html#U16_3(android.renderscript.RenderScript)" target="_top"><code>U16_3</code></A>(<code>RenderScript</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.Element.U16_4_added(android.renderscript.RenderScript)"></A>
+  <nobr><code>Element</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Element.html#U16_4(android.renderscript.RenderScript)" target="_top"><code>U16_4</code></A>(<code>RenderScript</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.Element.U32_2_added(android.renderscript.RenderScript)"></A>
+  <nobr><code>Element</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Element.html#U32_2(android.renderscript.RenderScript)" target="_top"><code>U32_2</code></A>(<code>RenderScript</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.Element.U32_3_added(android.renderscript.RenderScript)"></A>
+  <nobr><code>Element</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Element.html#U32_3(android.renderscript.RenderScript)" target="_top"><code>U32_3</code></A>(<code>RenderScript</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.Element.U32_4_added(android.renderscript.RenderScript)"></A>
+  <nobr><code>Element</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Element.html#U32_4(android.renderscript.RenderScript)" target="_top"><code>U32_4</code></A>(<code>RenderScript</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.Element.U64_2_added(android.renderscript.RenderScript)"></A>
+  <nobr><code>Element</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Element.html#U64_2(android.renderscript.RenderScript)" target="_top"><code>U64_2</code></A>(<code>RenderScript</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.Element.U64_3_added(android.renderscript.RenderScript)"></A>
+  <nobr><code>Element</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Element.html#U64_3(android.renderscript.RenderScript)" target="_top"><code>U64_3</code></A>(<code>RenderScript</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.Element.U64_4_added(android.renderscript.RenderScript)"></A>
+  <nobr><code>Element</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Element.html#U64_4(android.renderscript.RenderScript)" target="_top"><code>U64_4</code></A>(<code>RenderScript</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.Element.U8_2_added(android.renderscript.RenderScript)"></A>
+  <nobr><code>Element</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Element.html#U8_2(android.renderscript.RenderScript)" target="_top"><code>U8_2</code></A>(<code>RenderScript</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.Element.U8_3_added(android.renderscript.RenderScript)"></A>
+  <nobr><code>Element</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Element.html#U8_3(android.renderscript.RenderScript)" target="_top"><code>U8_3</code></A>(<code>RenderScript</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.Element.isCompatible_added(android.renderscript.Element)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Element.html#isCompatible(android.renderscript.Element)" target="_top"><code>isCompatible</code></A>(<code>Element</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/14/changes/android.renderscript.FieldPacker.html b/docs/html/sdk/api_diff/14/changes/android.renderscript.FieldPacker.html
new file mode 100644
index 0000000..fa36797
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.renderscript.FieldPacker.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.renderscript.FieldPacker
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.renderscript.<A HREF="../../../../reference/android/renderscript/FieldPacker.html" target="_top"><font size="+2"><code>FieldPacker</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.renderscript.FieldPacker.addF64_added(android.renderscript.Double2)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/renderscript/FieldPacker.html#addF64(android.renderscript.Double2)" target="_top"><code>addF64</code></A>(<code>Double2</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.FieldPacker.addF64_added(android.renderscript.Double3)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/renderscript/FieldPacker.html#addF64(android.renderscript.Double3)" target="_top"><code>addF64</code></A>(<code>Double3</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.FieldPacker.addF64_added(android.renderscript.Double4)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/renderscript/FieldPacker.html#addF64(android.renderscript.Double4)" target="_top"><code>addF64</code></A>(<code>Double4</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.FieldPacker.addI64_added(android.renderscript.Long2)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/renderscript/FieldPacker.html#addI64(android.renderscript.Long2)" target="_top"><code>addI64</code></A>(<code>Long2</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.FieldPacker.addI64_added(android.renderscript.Long3)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/renderscript/FieldPacker.html#addI64(android.renderscript.Long3)" target="_top"><code>addI64</code></A>(<code>Long3</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.FieldPacker.addI64_added(android.renderscript.Long4)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/renderscript/FieldPacker.html#addI64(android.renderscript.Long4)" target="_top"><code>addI64</code></A>(<code>Long4</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.FieldPacker.addU64_added(android.renderscript.Long2)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/renderscript/FieldPacker.html#addU64(android.renderscript.Long2)" target="_top"><code>addU64</code></A>(<code>Long2</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.FieldPacker.addU64_added(android.renderscript.Long3)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/renderscript/FieldPacker.html#addU64(android.renderscript.Long3)" target="_top"><code>addU64</code></A>(<code>Long3</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.renderscript.FieldPacker.addU64_added(android.renderscript.Long4)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/renderscript/FieldPacker.html#addU64(android.renderscript.Long4)" target="_top"><code>addU64</code></A>(<code>Long4</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/14/changes/android.renderscript.Int2.html b/docs/html/sdk/api_diff/14/changes/android.renderscript.Int2.html
new file mode 100644
index 0000000..e0ec645
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.renderscript.Int2.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.renderscript.Int2
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.renderscript.<A HREF="../../../../reference/android/renderscript/Int2.html" target="_top"><font size="+2"><code>Int2</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.renderscript.Int2.ctor_added(int, int)"></A>
+  <nobr><A HREF="../../../../reference/android/renderscript/Int2.html#Int2(int, int)" target="_top"><code>Int2</code></A>(<code>int,</nobr> int<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/14/changes/android.renderscript.Int3.html b/docs/html/sdk/api_diff/14/changes/android.renderscript.Int3.html
new file mode 100644
index 0000000..dce2940
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.renderscript.Int3.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.renderscript.Int3
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.renderscript.<A HREF="../../../../reference/android/renderscript/Int3.html" target="_top"><font size="+2"><code>Int3</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.renderscript.Int3.ctor_added(int, int, int)"></A>
+  <nobr><A HREF="../../../../reference/android/renderscript/Int3.html#Int3(int, int, int)" target="_top"><code>Int3</code></A>(<code>int,</nobr> int<nobr>,</nobr> int<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/14/changes/android.renderscript.Int4.html b/docs/html/sdk/api_diff/14/changes/android.renderscript.Int4.html
new file mode 100644
index 0000000..8013990
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.renderscript.Int4.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.renderscript.Int4
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.renderscript.<A HREF="../../../../reference/android/renderscript/Int4.html" target="_top"><font size="+2"><code>Int4</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.renderscript.Int4.ctor_added(int, int, int, int)"></A>
+  <nobr><A HREF="../../../../reference/android/renderscript/Int4.html#Int4(int, int, int, int)" target="_top"><code>Int4</code></A>(<code>int,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<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/14/changes/android.renderscript.Long2.html b/docs/html/sdk/api_diff/14/changes/android.renderscript.Long2.html
new file mode 100644
index 0000000..464424d
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.renderscript.Long2.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.renderscript.Long2
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.renderscript.<A HREF="../../../../reference/android/renderscript/Long2.html" target="_top"><font size="+2"><code>Long2</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.renderscript.Long2.ctor_added(long, long)"></A>
+  <nobr><A HREF="../../../../reference/android/renderscript/Long2.html#Long2(long, long)" target="_top"><code>Long2</code></A>(<code>long,</nobr> long<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/14/changes/android.renderscript.Long3.html b/docs/html/sdk/api_diff/14/changes/android.renderscript.Long3.html
new file mode 100644
index 0000000..2bb7027
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.renderscript.Long3.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.renderscript.Long3
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.renderscript.<A HREF="../../../../reference/android/renderscript/Long3.html" target="_top"><font size="+2"><code>Long3</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.renderscript.Long3.ctor_added(long, long, long)"></A>
+  <nobr><A HREF="../../../../reference/android/renderscript/Long3.html#Long3(long, long, long)" target="_top"><code>Long3</code></A>(<code>long,</nobr> long<nobr>,</nobr> long<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/14/changes/android.renderscript.Long4.html b/docs/html/sdk/api_diff/14/changes/android.renderscript.Long4.html
new file mode 100644
index 0000000..4daaaee
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.renderscript.Long4.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.renderscript.Long4
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.renderscript.<A HREF="../../../../reference/android/renderscript/Long4.html" target="_top"><font size="+2"><code>Long4</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.renderscript.Long4.ctor_added(long, long, long, long)"></A>
+  <nobr><A HREF="../../../../reference/android/renderscript/Long4.html#Long4(long, long, long, long)" target="_top"><code>Long4</code></A>(<code>long,</nobr> long<nobr>,</nobr> long<nobr>,</nobr> long<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/14/changes/android.renderscript.RenderScriptGL.html b/docs/html/sdk/api_diff/14/changes/android.renderscript.RenderScriptGL.html
new file mode 100644
index 0000000..b45d036
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.renderscript.RenderScriptGL.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.renderscript.RenderScriptGL
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.renderscript.<A HREF="../../../../reference/android/renderscript/RenderScriptGL.html" target="_top"><font size="+2"><code>RenderScriptGL</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.renderscript.RenderScriptGL.setSurfaceTexture_added(android.graphics.SurfaceTexture, int, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/renderscript/RenderScriptGL.html#setSurfaceTexture(android.graphics.SurfaceTexture, int, int)" target="_top"><code>setSurfaceTexture</code></A>(<code>SurfaceTexture,</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/14/changes/android.renderscript.Script.html b/docs/html/sdk/api_diff/14/changes/android.renderscript.Script.html
new file mode 100644
index 0000000..6543d24
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.renderscript.Script.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.renderscript.Script
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.renderscript.<A HREF="../../../../reference/android/renderscript/Script.html" target="_top"><font size="+2"><code>Script</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.renderscript.Script.forEach_added(int, android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.FieldPacker)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/renderscript/Script.html#forEach(int, android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.FieldPacker)" target="_top"><code>forEach</code></A>(<code>int,</nobr> Allocation<nobr>,</nobr> Allocation<nobr>,</nobr> FieldPacker<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/14/changes/android.renderscript.Short2.html b/docs/html/sdk/api_diff/14/changes/android.renderscript.Short2.html
new file mode 100644
index 0000000..26ce27e
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.renderscript.Short2.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.renderscript.Short2
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.renderscript.<A HREF="../../../../reference/android/renderscript/Short2.html" target="_top"><font size="+2"><code>Short2</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.renderscript.Short2.ctor_added(short, short)"></A>
+  <nobr><A HREF="../../../../reference/android/renderscript/Short2.html#Short2(short, short)" target="_top"><code>Short2</code></A>(<code>short,</nobr> short<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/14/changes/android.renderscript.Short3.html b/docs/html/sdk/api_diff/14/changes/android.renderscript.Short3.html
new file mode 100644
index 0000000..5accbc7
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.renderscript.Short3.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.renderscript.Short3
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.renderscript.<A HREF="../../../../reference/android/renderscript/Short3.html" target="_top"><font size="+2"><code>Short3</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.renderscript.Short3.ctor_added(short, short, short)"></A>
+  <nobr><A HREF="../../../../reference/android/renderscript/Short3.html#Short3(short, short, short)" target="_top"><code>Short3</code></A>(<code>short,</nobr> short<nobr>,</nobr> short<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/14/changes/android.renderscript.Short4.html b/docs/html/sdk/api_diff/14/changes/android.renderscript.Short4.html
new file mode 100644
index 0000000..51caf08
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.renderscript.Short4.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.renderscript.Short4
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.renderscript.<A HREF="../../../../reference/android/renderscript/Short4.html" target="_top"><font size="+2"><code>Short4</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.renderscript.Short4.ctor_added(short, short, short, short)"></A>
+  <nobr><A HREF="../../../../reference/android/renderscript/Short4.html#Short4(short, short, short, short)" target="_top"><code>Short4</code></A>(<code>short,</nobr> short<nobr>,</nobr> short<nobr>,</nobr> short<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/14/changes/android.service.wallpaper.WallpaperService.Engine.html b/docs/html/sdk/api_diff/14/changes/android.service.wallpaper.WallpaperService.Engine.html
new file mode 100644
index 0000000..c510522
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.service.wallpaper.WallpaperService.Engine.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.service.wallpaper.WallpaperService.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.service.wallpaper.<A HREF="../../../../reference/android/service/wallpaper/WallpaperService.Engine.html" target="_top"><font size="+2"><code>WallpaperService.Engine</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.service.wallpaper.WallpaperService.Engine.dump_added(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[])"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/service/wallpaper/WallpaperService.Engine.html#dump(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[])" target="_top"><code>dump</code></A>(<code>String,</nobr> FileDescriptor<nobr>,</nobr> PrintWriter<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/14/changes/android.speech.RecognizerIntent.html b/docs/html/sdk/api_diff/14/changes/android.speech.RecognizerIntent.html
new file mode 100644
index 0000000..ba94bc2
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.speech.RecognizerIntent.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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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>
+<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.EXTRA_CONFIDENCE_SCORES"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/speech/RecognizerIntent.html#EXTRA_CONFIDENCE_SCORES" target="_top"><code>EXTRA_CONFIDENCE_SCORES</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.speech.RecognizerIntent.EXTRA_ORIGIN"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/speech/RecognizerIntent.html#EXTRA_ORIGIN" target="_top"><code>EXTRA_ORIGIN</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/14/changes/android.speech.SpeechRecognizer.html b/docs/html/sdk/api_diff/14/changes/android.speech.SpeechRecognizer.html
new file mode 100644
index 0000000..b609702
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.speech.SpeechRecognizer.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.speech.SpeechRecognizer
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/SpeechRecognizer.html" target="_top"><font size="+2"><code>SpeechRecognizer</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.SpeechRecognizer.CONFIDENCE_SCORES"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/speech/SpeechRecognizer.html#CONFIDENCE_SCORES" target="_top"><code>CONFIDENCE_SCORES</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/14/changes/android.speech.tts.TextToSpeech.Engine.html b/docs/html/sdk/api_diff/14/changes/android.speech.tts.TextToSpeech.Engine.html
new file mode 100644
index 0000000..d348b69
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.speech.tts.TextToSpeech.Engine.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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.INTENT_ACTION_TTS_SERVICE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/speech/tts/TextToSpeech.Engine.html#INTENT_ACTION_TTS_SERVICE" target="_top"><code>INTENT_ACTION_TTS_SERVICE</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.SERVICE_META_DATA"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/speech/tts/TextToSpeech.Engine.html#SERVICE_META_DATA" target="_top"><code>SERVICE_META_DATA</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/14/changes/android.speech.tts.TextToSpeech.html b/docs/html/sdk/api_diff/14/changes/android.speech.tts.TextToSpeech.html
new file mode 100644
index 0000000..66dbe94
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.speech.tts.TextToSpeech.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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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>
+<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.speech.tts.TextToSpeech.ctor_added(android.content.Context, android.speech.tts.TextToSpeech.OnInitListener, java.lang.String)"></A>
+  <nobr><A HREF="../../../../reference/android/speech/tts/TextToSpeech.html#TextToSpeech(android.content.Context, android.speech.tts.TextToSpeech.OnInitListener, java.lang.String)" target="_top"><code>TextToSpeech</code></A>(<code>Context,</nobr> OnInitListener<nobr>,</nobr> String<nobr><nobr></code>)</nobr>
+  </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.speech.tts.TextToSpeech.getEngines_added()"></A>
+  <nobr><code>List&lt;EngineInfo&gt;</code>&nbsp;<A HREF="../../../../reference/android/speech/tts/TextToSpeech.html#getEngines()" target="_top"><code>getEngines</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.speech.tts.TextToSpeech.setEngineByPackageName_changed(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 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/14/changes/android.test.mock.MockPackageManager.html b/docs/html/sdk/api_diff/14/changes/android.test.mock.MockPackageManager.html
new file mode 100644
index 0000000..f09c1fd
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.test.mock.MockPackageManager.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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.verifyPendingInstall_added(int, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/test/mock/MockPackageManager.html#verifyPendingInstall(int, int)" target="_top"><code>verifyPendingInstall</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/14/changes/android.text.Layout.html b/docs/html/sdk/api_diff/14/changes/android.text.Layout.html
new file mode 100644
index 0000000..d4df05b
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.text.Layout.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.Layout
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/Layout.html" target="_top"><font size="+2"><code>Layout</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.Layout.isRtlCharAt_added(int)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/text/Layout.html#isRtlCharAt(int)" target="_top"><code>isRtlCharAt</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/14/changes/android.util.Config.html b/docs/html/sdk/api_diff/14/changes/android.util.Config.html
new file mode 100644
index 0000000..908fb76
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.util.Config.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>
+android.util.Config
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/Config.html" target="_top"><font size="+2"><code>Config</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<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.util.Config.DEBUG"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/util/Config.html#DEBUG" target="_top"><code>DEBUG</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/14/changes/android.util.Patterns.html b/docs/html/sdk/api_diff/14/changes/android.util.Patterns.html
new file mode 100644
index 0000000..0c8824f
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.util.Patterns.html
@@ -0,0 +1,133 @@
+<!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.Patterns
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/Patterns.html" target="_top"><font size="+2"><code>Patterns</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.util.Patterns.TOP_LEVEL_DOMAIN_STR"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/util/Patterns.html#TOP_LEVEL_DOMAIN_STR" target="_top"><code>TOP_LEVEL_DOMAIN_STR</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from "((aero|arpa|asia|a[cdefgilmnoqrstuwxz])|(biz|b[abdefghijmnorstvwyz])|(cat|com|coop|c[acdfghiklmnoruvxyz])|d[ejkmoz]|(edu|e[cegrstu])|f[ijkmor]|(gov|g[abdefghilmnpqrstuwy])|h[kmnrtu]|(info|int|i[delmnoqrst])|(jobs|j[emop])|k[eghimnprwyz]|l[abcikrstuvy]|(mil|mobi|museum|m[acdeghklmnopqrstuvwxyz])|(name|net|n[acefgilopruz])|(org|om)|(pro|p[aefghklmnrstwy])|qa|r[eosuw]|s[abcdeghijklmnortuvyz]|(tel|travel|t[cdfghjklmnoprtvwz])|u[agksyz]|v[aceginu]|w[fs]|(xn\\-\\-0zwm56d|xn\\-\\-11b5bs3a9aj6g|xn\\-\\-80akhbyknj4f|xn\\-\\-9t4b11yi5a|xn\\-\\-deba0ad|xn\\-\\-g6w251d|xn\\-\\-hgbk6aj7f53bba|xn\\-\\-hlcj6aya9esc7a|xn\\-\\-jxalpdlp|xn\\-\\-kgbechtv|xn\\-\\-mgbaam7a8h|xn\\-\\-mgberp4a5d4ar|xn\\-\\-wgbh1c|xn\\-\\-zckzah)|y[et]|z[amw])" to "((aero|arpa|asia|a[cdefgilmnoqrstuwxz])|(biz|b[abdefghijmnorstvwyz])|(cat|com|coop|c[acdfghiklmnoruvxyz])|d[ejkmoz]|(edu|e[cegrstu])|f[ijkmor]|(gov|g[abdefghilmnpqrstuwy])|h[kmnrtu]|(info|int|i[delmnoqrst])|(jobs|j[emop])|k[eghimnprwyz]|l[abcikrstuvy]|(mil|mobi|museum|m[acdeghklmnopqrstuvwxyz])|(name|net|n[acefgilopruz])|(org|om)|(pro|p[aefghklmnrstwy])|qa|r[eosuw]|s[abcdeghijklmnortuvyz]|(tel|travel|t[cdfghjklmnoprtvwz])|u[agksyz]|v[aceginu]|w[fs]|(\u03b4\u03bf\u03ba\u03b9\u03bc\u03ae|\u0438\u0441\u043f\u044b\u0442\u0430\u043d\u0438\u0435|\u0440\u0444|\u0441\u0440\u0431|\u05d8\u05e2\u05e1\u05d8|\u0622\u0632\u0645\u0627\u06cc\u0634\u06cc|\u0625\u062e\u062a\u0628\u0627\u0631|\u0627\u0644\u0627\u0631\u062f\u0646|\u0627\u0644\u062c\u0632\u0627\u0626\u0631|\u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0629|\u0627\u0644\u0645\u063a\u0631\u0628|\u0627\u0645\u0627\u0631\u0627\u062a|\u0628\u06be\u0627\u0631\u062a|\u062a\u0648\u0646\u0633|\u0633\u0648\u0631\u064a\u0629|\u0641\u0644\u0633\u0637\u064a\u0646|\u0642\u0637\u0631|\u0645\u0635\u0631|\u092a\u0930\u0940\u0915\u094d\u0937\u093e|\u092d\u093e\u0930\u0924|\u09ad\u09be\u09b0\u09a4|\u0a2d\u0a3e\u0a30\u0a24|\u0aad\u0abe\u0ab0\u0aa4|\u0b87\u0ba8\u0bcd\u0ba4\u0bbf\u0baf\u0bbe|\u0b87\u0bb2\u0b99\u0bcd\u0b95\u0bc8|\u0b9a\u0bbf\u0b99\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0bc2\u0bb0\u0bcd|\u0baa\u0bb0\u0bbf\u0b9f\u0bcd\u0b9a\u0bc8|\u0c2d\u0c3e\u0c30\u0c24\u0c4d|\u0dbd\u0d82\u0d9a\u0dcf|\u0e44\u0e17\u0e22|\u30c6\u30b9\u30c8|\u4e2d\u56fd|\u4e2d\u570b|\u53f0\u6e7e|\u53f0\u7063|\u65b0\u52a0\u5761|\u6d4b\u8bd5|\u6e2c\u8a66|\u9999\u6e2f|\ud14c\uc2a4\ud2b8|\ud55c\uad6d|xn\\-\\-0zwm56d|xn\\-\\-11b5bs3a9aj6g|xn\\-\\-3e0b707e|xn\\-\\-45brj9c|xn\\-\\-80akhbyknj4f|xn\\-\\-90a3ac|xn\\-\\-9t4b11yi5a|xn\\-\\-clchc0ea0b2g2a9gcd|xn\\-\\-deba0ad|xn\\-\\-fiqs8s|xn\\-\\-fiqz9s|xn\\-\\-fpcrj9c3d|xn\\-\\-fzc2c9e2c|xn\\-\\-g6w251d|xn\\-\\-gecrj9c|xn\\-\\-h2brj9c|xn\\-\\-hgbk6aj7f53bba|xn\\-\\-hlcj6aya9esc7a|xn\\-\\-j6w193g|xn\\-\\-jxalpdlp|xn\\-\\-kgbechtv|xn\\-\\-kprw13d|xn\\-\\-kpry57d|xn\\-\\-lgbbat1ad8j|xn\\-\\-mgbaam7a8h|xn\\-\\-mgbayh7gpa|xn\\-\\-mgbbh1a71e|xn\\-\\-mgbc0a9azcg|xn\\-\\-mgberp4a5d4ar|xn\\-\\-o3cw4h|xn\\-\\-ogbpf8fl|xn\\-\\-p1ai|xn\\-\\-pgbs0dh|xn\\-\\-s9brj9c|xn\\-\\-wgbh1c|xn\\-\\-wgbl6a|xn\\-\\-xkc2al3hye2a|xn\\-\\-xkc2dl3a5ee0h|xn\\-\\-yfro4i67o|xn\\-\\-ygbi2ammx|xn\\-\\-zckzah|xxx)|y[et]|z[amw])".
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.util.Patterns.TOP_LEVEL_DOMAIN_STR_FOR_WEB_URL"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/util/Patterns.html#TOP_LEVEL_DOMAIN_STR_FOR_WEB_URL" target="_top"><code>TOP_LEVEL_DOMAIN_STR_FOR_WEB_URL</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from "(?:(?:aero|arpa|asia|a[cdefgilmnoqrstuwxz])|(?:biz|b[abdefghijmnorstvwyz])|(?:cat|com|coop|c[acdfghiklmnoruvxyz])|d[ejkmoz]|(?:edu|e[cegrstu])|f[ijkmor]|(?:gov|g[abdefghilmnpqrstuwy])|h[kmnrtu]|(?:info|int|i[delmnoqrst])|(?:jobs|j[emop])|k[eghimnprwyz]|l[abcikrstuvy]|(?:mil|mobi|museum|m[acdeghklmnopqrstuvwxyz])|(?:name|net|n[acefgilopruz])|(?:org|om)|(?:pro|p[aefghklmnrstwy])|qa|r[eosuw]|s[abcdeghijklmnortuvyz]|(?:tel|travel|t[cdfghjklmnoprtvwz])|u[agksyz]|v[aceginu]|w[fs]|(?:xn\\-\\-0zwm56d|xn\\-\\-11b5bs3a9aj6g|xn\\-\\-80akhbyknj4f|xn\\-\\-9t4b11yi5a|xn\\-\\-deba0ad|xn\\-\\-g6w251d|xn\\-\\-hgbk6aj7f53bba|xn\\-\\-hlcj6aya9esc7a|xn\\-\\-jxalpdlp|xn\\-\\-kgbechtv|xn\\-\\-mgbaam7a8h|xn\\-\\-mgberp4a5d4ar|xn\\-\\-wgbh1c|xn\\-\\-zckzah)|y[et]|z[amw]))" to "(?:(?:aero|arpa|asia|a[cdefgilmnoqrstuwxz])|(?:biz|b[abdefghijmnorstvwyz])|(?:cat|com|coop|c[acdfghiklmnoruvxyz])|d[ejkmoz]|(?:edu|e[cegrstu])|f[ijkmor]|(?:gov|g[abdefghilmnpqrstuwy])|h[kmnrtu]|(?:info|int|i[delmnoqrst])|(?:jobs|j[emop])|k[eghimnprwyz]|l[abcikrstuvy]|(?:mil|mobi|museum|m[acdeghklmnopqrstuvwxyz])|(?:name|net|n[acefgilopruz])|(?:org|om)|(?:pro|p[aefghklmnrstwy])|qa|r[eosuw]|s[abcdeghijklmnortuvyz]|(?:tel|travel|t[cdfghjklmnoprtvwz])|u[agksyz]|v[aceginu]|w[fs]|(?:\u03b4\u03bf\u03ba\u03b9\u03bc\u03ae|\u0438\u0441\u043f\u044b\u0442\u0430\u043d\u0438\u0435|\u0440\u0444|\u0441\u0440\u0431|\u05d8\u05e2\u05e1\u05d8|\u0622\u0632\u0645\u0627\u06cc\u0634\u06cc|\u0625\u062e\u062a\u0628\u0627\u0631|\u0627\u0644\u0627\u0631\u062f\u0646|\u0627\u0644\u062c\u0632\u0627\u0626\u0631|\u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0629|\u0627\u0644\u0645\u063a\u0631\u0628|\u0627\u0645\u0627\u0631\u0627\u062a|\u0628\u06be\u0627\u0631\u062a|\u062a\u0648\u0646\u0633|\u0633\u0648\u0631\u064a\u0629|\u0641\u0644\u0633\u0637\u064a\u0646|\u0642\u0637\u0631|\u0645\u0635\u0631|\u092a\u0930\u0940\u0915\u094d\u0937\u093e|\u092d\u093e\u0930\u0924|\u09ad\u09be\u09b0\u09a4|\u0a2d\u0a3e\u0a30\u0a24|\u0aad\u0abe\u0ab0\u0aa4|\u0b87\u0ba8\u0bcd\u0ba4\u0bbf\u0baf\u0bbe|\u0b87\u0bb2\u0b99\u0bcd\u0b95\u0bc8|\u0b9a\u0bbf\u0b99\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0bc2\u0bb0\u0bcd|\u0baa\u0bb0\u0bbf\u0b9f\u0bcd\u0b9a\u0bc8|\u0c2d\u0c3e\u0c30\u0c24\u0c4d|\u0dbd\u0d82\u0d9a\u0dcf|\u0e44\u0e17\u0e22|\u30c6\u30b9\u30c8|\u4e2d\u56fd|\u4e2d\u570b|\u53f0\u6e7e|\u53f0\u7063|\u65b0\u52a0\u5761|\u6d4b\u8bd5|\u6e2c\u8a66|\u9999\u6e2f|\ud14c\uc2a4\ud2b8|\ud55c\uad6d|xn\\-\\-0zwm56d|xn\\-\\-11b5bs3a9aj6g|xn\\-\\-3e0b707e|xn\\-\\-45brj9c|xn\\-\\-80akhbyknj4f|xn\\-\\-90a3ac|xn\\-\\-9t4b11yi5a|xn\\-\\-clchc0ea0b2g2a9gcd|xn\\-\\-deba0ad|xn\\-\\-fiqs8s|xn\\-\\-fiqz9s|xn\\-\\-fpcrj9c3d|xn\\-\\-fzc2c9e2c|xn\\-\\-g6w251d|xn\\-\\-gecrj9c|xn\\-\\-h2brj9c|xn\\-\\-hgbk6aj7f53bba|xn\\-\\-hlcj6aya9esc7a|xn\\-\\-j6w193g|xn\\-\\-jxalpdlp|xn\\-\\-kgbechtv|xn\\-\\-kprw13d|xn\\-\\-kpry57d|xn\\-\\-lgbbat1ad8j|xn\\-\\-mgbaam7a8h|xn\\-\\-mgbayh7gpa|xn\\-\\-mgbbh1a71e|xn\\-\\-mgbc0a9azcg|xn\\-\\-mgberp4a5d4ar|xn\\-\\-o3cw4h|xn\\-\\-ogbpf8fl|xn\\-\\-p1ai|xn\\-\\-pgbs0dh|xn\\-\\-s9brj9c|xn\\-\\-wgbh1c|xn\\-\\-wgbl6a|xn\\-\\-xkc2al3hye2a|xn\\-\\-xkc2dl3a5ee0h|xn\\-\\-yfro4i67o|xn\\-\\-ygbi2ammx|xn\\-\\-zckzah|xxx)|y[et]|z[amw]))".
+  </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/14/changes/android.util.SparseArray.html b/docs/html/sdk/api_diff/14/changes/android.util.SparseArray.html
new file mode 100644
index 0000000..66f1b3b
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.util.SparseArray.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.util.SparseArray
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/SparseArray.html" target="_top"><font size="+2"><code>SparseArray</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.util.SparseArray.clone_changed()"></A>
+  <nobr><code>SparseArray&lt;E&gt;</code>&nbsp;<A HREF="../../../../reference/android/util/SparseArray.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>SparseArray&lt;E&gt;</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/14/changes/android.util.SparseBooleanArray.html b/docs/html/sdk/api_diff/14/changes/android.util.SparseBooleanArray.html
new file mode 100644
index 0000000..b440bfc5
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.util.SparseBooleanArray.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.util.SparseBooleanArray
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/SparseBooleanArray.html" target="_top"><font size="+2"><code>SparseBooleanArray</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.util.SparseBooleanArray.clone_changed()"></A>
+  <nobr><code>SparseBooleanArray</code>&nbsp;<A HREF="../../../../reference/android/util/SparseBooleanArray.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>SparseBooleanArray</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/14/changes/android.util.SparseIntArray.html b/docs/html/sdk/api_diff/14/changes/android.util.SparseIntArray.html
new file mode 100644
index 0000000..6c431b2
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.util.SparseIntArray.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.util.SparseIntArray
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/SparseIntArray.html" target="_top"><font size="+2"><code>SparseIntArray</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.util.SparseIntArray.clone_changed()"></A>
+  <nobr><code>SparseIntArray</code>&nbsp;<A HREF="../../../../reference/android/util/SparseIntArray.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>SparseIntArray</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/14/changes/android.view.ActionMode.html b/docs/html/sdk/api_diff/14/changes/android.view.ActionMode.html
new file mode 100644
index 0000000..d93a89b
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.view.ActionMode.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.ActionMode
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/ActionMode.html" target="_top"><font size="+2"><code>ActionMode</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.ActionMode.getTag_added()"></A>
+  <nobr><code>Object</code>&nbsp;<A HREF="../../../../reference/android/view/ActionMode.html#getTag()" target="_top"><code>getTag</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.ActionMode.setTag_added(java.lang.Object)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/ActionMode.html#setTag(java.lang.Object)" target="_top"><code>setTag</code></A>(<code>Object</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/14/changes/android.view.Gravity.html b/docs/html/sdk/api_diff/14/changes/android.view.Gravity.html
new file mode 100644
index 0000000..497302d
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.view.Gravity.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.view.Gravity
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/Gravity.html" target="_top"><font size="+2"><code>Gravity</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.Gravity.getAbsoluteGravity_added(int, int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/Gravity.html#getAbsoluteGravity(int, int)" target="_top"><code>getAbsoluteGravity</code></A>(<code>int,</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.view.Gravity.END"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/Gravity.html#END" target="_top"><code>END</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Gravity.RELATIVE_HORIZONTAL_GRAVITY_MASK"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/Gravity.html#RELATIVE_HORIZONTAL_GRAVITY_MASK" target="_top"><code>RELATIVE_HORIZONTAL_GRAVITY_MASK</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Gravity.RELATIVE_LAYOUT_DIRECTION"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/Gravity.html#RELATIVE_LAYOUT_DIRECTION" target="_top"><code>RELATIVE_LAYOUT_DIRECTION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Gravity.START"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/Gravity.html#START" target="_top"><code>START</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/14/changes/android.view.InputDevice.html b/docs/html/sdk/api_diff/14/changes/android.view.InputDevice.html
new file mode 100644
index 0000000..c53af0ad
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.view.InputDevice.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.InputDevice
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/InputDevice.html" target="_top"><font size="+2"><code>InputDevice</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.InputDevice.SOURCE_STYLUS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/InputDevice.html#SOURCE_STYLUS" target="_top"><code>SOURCE_STYLUS</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/14/changes/android.view.KeyEvent.html b/docs/html/sdk/api_diff/14/changes/android.view.KeyEvent.html
new file mode 100644
index 0000000..1d43fee
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.view.KeyEvent.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.view.KeyEvent
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/KeyEvent.html" target="_top"><font size="+2"><code>KeyEvent</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.KeyEvent.KEYCODE_3D_MODE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/KeyEvent.html#KEYCODE_3D_MODE" target="_top"><code>KEYCODE_3D_MODE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.KeyEvent.KEYCODE_LANGUAGE_SWITCH"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/KeyEvent.html#KEYCODE_LANGUAGE_SWITCH" target="_top"><code>KEYCODE_LANGUAGE_SWITCH</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.KeyEvent.KEYCODE_MANNER_MODE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/KeyEvent.html#KEYCODE_MANNER_MODE" target="_top"><code>KEYCODE_MANNER_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/14/changes/android.view.MenuItem.html b/docs/html/sdk/api_diff/14/changes/android.view.MenuItem.html
new file mode 100644
index 0000000..d87eee3
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.view.MenuItem.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.view.MenuItem
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.view.<A HREF="../../../../reference/android/view/MenuItem.html" target="_top"><font size="+2"><code>MenuItem</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.MenuItem.collapseActionView_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/MenuItem.html#collapseActionView()" target="_top"><code>collapseActionView</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MenuItem.expandActionView_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/MenuItem.html#expandActionView()" target="_top"><code>expandActionView</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MenuItem.getActionProvider_added()"></A>
+  <nobr><code>ActionProvider</code>&nbsp;<A HREF="../../../../reference/android/view/MenuItem.html#getActionProvider()" target="_top"><code>getActionProvider</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MenuItem.isActionViewExpanded_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/MenuItem.html#isActionViewExpanded()" target="_top"><code>isActionViewExpanded</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MenuItem.setActionProvider_added(android.view.ActionProvider)"></A>
+  <nobr><code>MenuItem</code>&nbsp;<A HREF="../../../../reference/android/view/MenuItem.html#setActionProvider(android.view.ActionProvider)" target="_top"><code>setActionProvider</code></A>(<code>ActionProvider</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MenuItem.setOnActionExpandListener_added(android.view.MenuItem.OnActionExpandListener)"></A>
+  <nobr><code>MenuItem</code>&nbsp;<A HREF="../../../../reference/android/view/MenuItem.html#setOnActionExpandListener(android.view.MenuItem.OnActionExpandListener)" target="_top"><code>setOnActionExpandListener</code></A>(<code>OnActionExpandListener</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MenuItem.setShowAsActionFlags_added(int)"></A>
+  <nobr><code>MenuItem</code>&nbsp;<A HREF="../../../../reference/android/view/MenuItem.html#setShowAsActionFlags(int)" target="_top"><code>setShowAsActionFlags</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.view.MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/MenuItem.html#SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW" target="_top"><code>SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW</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/14/changes/android.view.MotionEvent.html b/docs/html/sdk/api_diff/14/changes/android.view.MotionEvent.html
new file mode 100644
index 0000000..4ae540d
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.view.MotionEvent.html
@@ -0,0 +1,278 @@
+<!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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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="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.view.MotionEvent.obtain_removed(long, long, int, int, int[], android.view.MotionEvent.PointerCoords[], int, float, float, int, int, int, int)"></A>
+  <nobr><code>MotionEvent</code>&nbsp;obtain(<code>long,</nobr> long<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int[]<nobr>,</nobr> PointerCoords[]<nobr>,</nobr> int<nobr>,</nobr> float<nobr>,</nobr> float<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<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.view.MotionEvent.getButtonState_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/MotionEvent.html#getButtonState()" target="_top"><code>getButtonState</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MotionEvent.getPointerProperties_added(int, android.view.MotionEvent.PointerProperties)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/MotionEvent.html#getPointerProperties(int, android.view.MotionEvent.PointerProperties)" target="_top"><code>getPointerProperties</code></A>(<code>int,</nobr> PointerProperties<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MotionEvent.getToolType_added(int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/MotionEvent.html#getToolType(int)" target="_top"><code>getToolType</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.MotionEvent.obtain_added(long, long, int, int, android.view.MotionEvent.PointerProperties[], android.view.MotionEvent.PointerCoords[], int, int, float, float, int, int, int, int)"></A>
+  <nobr><code>MotionEvent</code>&nbsp;<A HREF="../../../../reference/android/view/MotionEvent.html#obtain(long, long, int, int, android.view.MotionEvent.PointerProperties[], android.view.MotionEvent.PointerCoords[], int, int, float, float, int, int, int, int)" target="_top"><code>obtain</code></A>(<code>long,</nobr> long<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> PointerProperties[]<nobr>,</nobr> PointerCoords[]<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> float<nobr>,</nobr> float<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</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.view.MotionEvent.obtain_added(long, long, int, int, int[], android.view.MotionEvent.PointerCoords[], int, float, float, int, int, int, int)"></A>
+  <nobr><code>MotionEvent</code>&nbsp;<A HREF="../../../../reference/android/view/MotionEvent.html#obtain(long, long, int, int, int[], android.view.MotionEvent.PointerCoords[], int, float, float, int, int, int, int)" target="_top"><code>obtain</code></A>(<code>long,</nobr> long<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int[]<nobr>,</nobr> PointerCoords[]<nobr>,</nobr> int<nobr>,</nobr> float<nobr>,</nobr> float<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<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.view.MotionEvent.ACTION_HOVER_ENTER"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/MotionEvent.html#ACTION_HOVER_ENTER" target="_top"><code>ACTION_HOVER_ENTER</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MotionEvent.ACTION_HOVER_EXIT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/MotionEvent.html#ACTION_HOVER_EXIT" target="_top"><code>ACTION_HOVER_EXIT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MotionEvent.AXIS_DISTANCE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/MotionEvent.html#AXIS_DISTANCE" target="_top"><code>AXIS_DISTANCE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MotionEvent.AXIS_TILT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/MotionEvent.html#AXIS_TILT" target="_top"><code>AXIS_TILT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MotionEvent.BUTTON_BACK"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/MotionEvent.html#BUTTON_BACK" target="_top"><code>BUTTON_BACK</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MotionEvent.BUTTON_FORWARD"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/MotionEvent.html#BUTTON_FORWARD" target="_top"><code>BUTTON_FORWARD</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MotionEvent.BUTTON_PRIMARY"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/MotionEvent.html#BUTTON_PRIMARY" target="_top"><code>BUTTON_PRIMARY</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MotionEvent.BUTTON_SECONDARY"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/MotionEvent.html#BUTTON_SECONDARY" target="_top"><code>BUTTON_SECONDARY</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MotionEvent.BUTTON_TERTIARY"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/MotionEvent.html#BUTTON_TERTIARY" target="_top"><code>BUTTON_TERTIARY</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MotionEvent.INVALID_POINTER_ID"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/MotionEvent.html#INVALID_POINTER_ID" target="_top"><code>INVALID_POINTER_ID</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MotionEvent.TOOL_TYPE_ERASER"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/MotionEvent.html#TOOL_TYPE_ERASER" target="_top"><code>TOOL_TYPE_ERASER</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MotionEvent.TOOL_TYPE_FINGER"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/MotionEvent.html#TOOL_TYPE_FINGER" target="_top"><code>TOOL_TYPE_FINGER</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MotionEvent.TOOL_TYPE_MOUSE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/MotionEvent.html#TOOL_TYPE_MOUSE" target="_top"><code>TOOL_TYPE_MOUSE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MotionEvent.TOOL_TYPE_STYLUS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/MotionEvent.html#TOOL_TYPE_STYLUS" target="_top"><code>TOOL_TYPE_STYLUS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.MotionEvent.TOOL_TYPE_UNKNOWN"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/MotionEvent.html#TOOL_TYPE_UNKNOWN" target="_top"><code>TOOL_TYPE_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/14/changes/android.view.Surface.html b/docs/html/sdk/api_diff/14/changes/android.view.Surface.html
new file mode 100644
index 0000000..dd671ad
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.view.Surface.html
@@ -0,0 +1,349 @@
+<!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.Surface
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/Surface.html" target="_top"><font size="+2"><code>Surface</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.Surface.ctor_added(android.graphics.SurfaceTexture)"></A>
+  <nobr><A HREF="../../../../reference/android/view/Surface.html#Surface(android.graphics.SurfaceTexture)" target="_top"><code>Surface</code></A>(<code>SurfaceTexture</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<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.view.Surface.freeze_removed()"></A>
+  <nobr><code>void</code>&nbsp;freeze()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Surface.hide_removed()"></A>
+  <nobr><code>void</code>&nbsp;hide()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Surface.setAlpha_removed(float)"></A>
+  <nobr><code>void</code>&nbsp;setAlpha(<code>float</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Surface.setFlags_removed(int, int)"></A>
+  <nobr><code>void</code>&nbsp;setFlags(<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.view.Surface.setFreezeTint_removed(int)"></A>
+  <nobr><code>void</code>&nbsp;setFreezeTint(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Surface.setLayer_removed(int)"></A>
+  <nobr><code>void</code>&nbsp;setLayer(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Surface.setMatrix_removed(float, float, float, float)"></A>
+  <nobr><code>void</code>&nbsp;setMatrix(<code>float,</nobr> float<nobr>,</nobr> float<nobr>,</nobr> float<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Surface.setOrientation_removed(int, int)"></A>
+  <nobr><code>void</code>&nbsp;setOrientation(<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.view.Surface.setPosition_removed(int, int)"></A>
+  <nobr><code>void</code>&nbsp;setPosition(<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.view.Surface.setSize_removed(int, int)"></A>
+  <nobr><code>void</code>&nbsp;setSize(<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.view.Surface.setTransparentRegionHint_removed(android.graphics.Region)"></A>
+  <nobr><code>void</code>&nbsp;setTransparentRegionHint(<code>Region</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Surface.show_removed()"></A>
+  <nobr><code>void</code>&nbsp;show()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Surface.unfreeze_removed()"></A>
+  <nobr><code>void</code>&nbsp;unfreeze()</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.view.Surface.release_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/Surface.html#release()" target="_top"><code>release</code></A>()</nobr>
+  </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.view.Surface.FX_SURFACE_BLUR"></A>
+  <code>int</code>&nbsp;FX_SURFACE_BLUR
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Surface.FX_SURFACE_DIM"></A>
+  <code>int</code>&nbsp;FX_SURFACE_DIM
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Surface.FX_SURFACE_MASK"></A>
+  <code>int</code>&nbsp;FX_SURFACE_MASK
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Surface.FX_SURFACE_NORMAL"></A>
+  <code>int</code>&nbsp;FX_SURFACE_NORMAL
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Surface.GPU"></A>
+  <code>int</code>&nbsp;GPU
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Surface.HARDWARE"></A>
+  <code>int</code>&nbsp;HARDWARE
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Surface.HIDDEN"></A>
+  <code>int</code>&nbsp;HIDDEN
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Surface.NON_PREMULTIPLIED"></A>
+  <code>int</code>&nbsp;NON_PREMULTIPLIED
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Surface.PUSH_BUFFERS"></A>
+  <code>int</code>&nbsp;PUSH_BUFFERS
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Surface.SECURE"></A>
+  <code>int</code>&nbsp;SECURE
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Surface.SURACE_FROZEN"></A>
+  <code>int</code>&nbsp;SURACE_FROZEN
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Surface.SURFACE_BLUR_FREEZE"></A>
+  <code>int</code>&nbsp;SURFACE_BLUR_FREEZE
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Surface.SURFACE_DITHER"></A>
+  <code>int</code>&nbsp;SURFACE_DITHER
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Surface.SURFACE_FROZEN"></A>
+  <code>int</code>&nbsp;SURFACE_FROZEN
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Surface.SURFACE_HIDDEN"></A>
+  <code>int</code>&nbsp;SURFACE_HIDDEN
+  </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/14/changes/android.view.View.html b/docs/html/sdk/api_diff/14/changes/android.view.View.html
new file mode 100644
index 0000000..13d1dbe
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.view.View.html
@@ -0,0 +1,394 @@
+<!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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.canScrollHorizontally_added(int)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#canScrollHorizontally(int)" target="_top"><code>canScrollHorizontally</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.canScrollVertically_added(int)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#canScrollVertically(int)" target="_top"><code>canScrollVertically</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.createAccessibilityNodeInfo_added()"></A>
+  <nobr><code>AccessibilityNodeInfo</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#createAccessibilityNodeInfo()" target="_top"><code>createAccessibilityNodeInfo</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.dispatchGenericFocusedEvent_added(android.view.MotionEvent)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#dispatchGenericFocusedEvent(android.view.MotionEvent)" target="_top"><code>dispatchGenericFocusedEvent</code></A>(<code>MotionEvent</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.dispatchGenericPointerEvent_added(android.view.MotionEvent)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#dispatchGenericPointerEvent(android.view.MotionEvent)" target="_top"><code>dispatchGenericPointerEvent</code></A>(<code>MotionEvent</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.dispatchHoverEvent_added(android.view.MotionEvent)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#dispatchHoverEvent(android.view.MotionEvent)" target="_top"><code>dispatchHoverEvent</code></A>(<code>MotionEvent</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.findViewsWithText_added(java.util.ArrayList<android.view.View>, java.lang.CharSequence, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#findViewsWithText(java.util.ArrayList<android.view.View>, java.lang.CharSequence, int)" target="_top"><code>findViewsWithText</code></A>(<code>ArrayList&lt;View&gt;,</nobr> CharSequence<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.view.View.fitsSystemWindows_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#fitsSystemWindows()" target="_top"><code>fitsSystemWindows</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.isHovered_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#isHovered()" target="_top"><code>isHovered</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.onHoverChanged_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#onHoverChanged(boolean)" target="_top"><code>onHoverChanged</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.onHoverEvent_added(android.view.MotionEvent)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#onHoverEvent(android.view.MotionEvent)" target="_top"><code>onHoverEvent</code></A>(<code>MotionEvent</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.onInitializeAccessibilityEvent_added(android.view.accessibility.AccessibilityEvent)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#onInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent)" target="_top"><code>onInitializeAccessibilityEvent</code></A>(<code>AccessibilityEvent</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.onInitializeAccessibilityNodeInfo_added(android.view.accessibility.AccessibilityNodeInfo)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo)" target="_top"><code>onInitializeAccessibilityNodeInfo</code></A>(<code>AccessibilityNodeInfo</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.onPopulateAccessibilityEvent_added(android.view.accessibility.AccessibilityEvent)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#onPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent)" target="_top"><code>onPopulateAccessibilityEvent</code></A>(<code>AccessibilityEvent</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.setAccessibilityDelegate_added(android.view.View.AccessibilityDelegate)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#setAccessibilityDelegate(android.view.View.AccessibilityDelegate)" target="_top"><code>setAccessibilityDelegate</code></A>(<code>AccessibilityDelegate</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.setFitsSystemWindows_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#setFitsSystemWindows(boolean)" target="_top"><code>setFitsSystemWindows</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.setHovered_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#setHovered(boolean)" target="_top"><code>setHovered</code></A>(<code>boolean</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.setOnHoverListener_added(android.view.View.OnHoverListener)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#setOnHoverListener(android.view.View.OnHoverListener)" target="_top"><code>setOnHoverListener</code></A>(<code>OnHoverListener</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.setScrollX_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#setScrollX(int)" target="_top"><code>setScrollX</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.setScrollY_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#setScrollY(int)" target="_top"><code>setScrollY</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.view.View.ALPHA"></A>
+  <nobr><code>Property</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#ALPHA" target="_top"><code>ALPHA</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.FIND_VIEWS_WITH_CONTENT_DESCRIPTION"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#FIND_VIEWS_WITH_CONTENT_DESCRIPTION" target="_top"><code>FIND_VIEWS_WITH_CONTENT_DESCRIPTION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.FIND_VIEWS_WITH_TEXT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#FIND_VIEWS_WITH_TEXT" target="_top"><code>FIND_VIEWS_WITH_TEXT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.ROTATION"></A>
+  <nobr><code>Property</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#ROTATION" target="_top"><code>ROTATION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.ROTATION_X"></A>
+  <nobr><code>Property</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#ROTATION_X" target="_top"><code>ROTATION_X</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.ROTATION_Y"></A>
+  <nobr><code>Property</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#ROTATION_Y" target="_top"><code>ROTATION_Y</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.SCALE_X"></A>
+  <nobr><code>Property</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#SCALE_X" target="_top"><code>SCALE_X</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.SCALE_Y"></A>
+  <nobr><code>Property</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#SCALE_Y" target="_top"><code>SCALE_Y</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.SYSTEM_UI_FLAG_HIDE_NAVIGATION"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#SYSTEM_UI_FLAG_HIDE_NAVIGATION" target="_top"><code>SYSTEM_UI_FLAG_HIDE_NAVIGATION</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.SYSTEM_UI_FLAG_LOW_PROFILE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#SYSTEM_UI_FLAG_LOW_PROFILE" target="_top"><code>SYSTEM_UI_FLAG_LOW_PROFILE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.SYSTEM_UI_FLAG_VISIBLE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#SYSTEM_UI_FLAG_VISIBLE" target="_top"><code>SYSTEM_UI_FLAG_VISIBLE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.TRANSLATION_X"></A>
+  <nobr><code>Property</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#TRANSLATION_X" target="_top"><code>TRANSLATION_X</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.TRANSLATION_Y"></A>
+  <nobr><code>Property</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#TRANSLATION_Y" target="_top"><code>TRANSLATION_Y</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.X"></A>
+  <nobr><code>Property</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#X" target="_top"><code>X</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.Y"></A>
+  <nobr><code>Property</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#Y" target="_top"><code>Y</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.View.STATUS_BAR_HIDDEN"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#STATUS_BAR_HIDDEN" target="_top"><code>STATUS_BAR_HIDDEN</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.View.STATUS_BAR_VISIBLE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#STATUS_BAR_VISIBLE" target="_top"><code>STATUS_BAR_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/14/changes/android.view.ViewConfiguration.html b/docs/html/sdk/api_diff/14/changes/android.view.ViewConfiguration.html
new file mode 100644
index 0000000..b8e87e5
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.hasPermanentMenuKey_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/ViewConfiguration.html#hasPermanentMenuKey()" target="_top"><code>hasPermanentMenuKey</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/14/changes/android.view.ViewGroup.html b/docs/html/sdk/api_diff/14/changes/android.view.ViewGroup.html
new file mode 100644
index 0000000..4bcf46b
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.view.ViewGroup.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.ViewGroup
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.html" target="_top"><font size="+2"><code>ViewGroup</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.ViewGroup.onInterceptHoverEvent_added(android.view.MotionEvent)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/ViewGroup.html#onInterceptHoverEvent(android.view.MotionEvent)" target="_top"><code>onInterceptHoverEvent</code></A>(<code>MotionEvent</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.ViewGroup.onRequestSendAccessibilityEvent_added(android.view.View, android.view.accessibility.AccessibilityEvent)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/ViewGroup.html#onRequestSendAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent)" target="_top"><code>onRequestSendAccessibilityEvent</code></A>(<code>View,</nobr> AccessibilityEvent<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.ViewGroup.requestSendAccessibilityEvent_added(android.view.View, android.view.accessibility.AccessibilityEvent)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/ViewGroup.html#requestSendAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent)" target="_top"><code>requestSendAccessibilityEvent</code></A>(<code>View,</nobr> AccessibilityEvent<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.ViewGroup.resetResolvedLayoutDirection_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/ViewGroup.html#resetResolvedLayoutDirection()" target="_top"><code>resetResolvedLayoutDirection</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.ViewGroup.resetResolvedTextDirection_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/ViewGroup.html#resetResolvedTextDirection()" target="_top"><code>resetResolvedTextDirection</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.ViewGroup.shouldDelayChildPressedState_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/ViewGroup.html#shouldDelayChildPressedState()" target="_top"><code>shouldDelayChildPressedState</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/14/changes/android.view.ViewParent.html b/docs/html/sdk/api_diff/14/changes/android.view.ViewParent.html
new file mode 100644
index 0000000..63ca614
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.view.ViewParent.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.ViewParent
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.view.<A HREF="../../../../reference/android/view/ViewParent.html" target="_top"><font size="+2"><code>ViewParent</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.ViewParent.requestSendAccessibilityEvent_added(android.view.View, android.view.accessibility.AccessibilityEvent)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/ViewParent.html#requestSendAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent)" target="_top"><code>requestSendAccessibilityEvent</code></A>(<code>View,</nobr> AccessibilityEvent<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/14/changes/android.view.ViewPropertyAnimator.html b/docs/html/sdk/api_diff/14/changes/android.view.ViewPropertyAnimator.html
new file mode 100644
index 0000000..4cd2465
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.view.ViewPropertyAnimator.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.ViewPropertyAnimator
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/ViewPropertyAnimator.html" target="_top"><font size="+2"><code>ViewPropertyAnimator</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.ViewPropertyAnimator.cancel_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/ViewPropertyAnimator.html#cancel()" target="_top"><code>cancel</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.ViewPropertyAnimator.getDuration_added()"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/view/ViewPropertyAnimator.html#getDuration()" target="_top"><code>getDuration</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.ViewPropertyAnimator.getStartDelay_added()"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/view/ViewPropertyAnimator.html#getStartDelay()" target="_top"><code>getStartDelay</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.ViewPropertyAnimator.setStartDelay_added(long)"></A>
+  <nobr><code>ViewPropertyAnimator</code>&nbsp;<A HREF="../../../../reference/android/view/ViewPropertyAnimator.html#setStartDelay(long)" target="_top"><code>setStartDelay</code></A>(<code>long</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.ViewPropertyAnimator.start_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/ViewPropertyAnimator.html#start()" target="_top"><code>start</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/14/changes/android.view.Window.html b/docs/html/sdk/api_diff/14/changes/android.view.Window.html
new file mode 100644
index 0000000..f7b4624
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.view.Window.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.view.Window
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/Window.html" target="_top"><font size="+2"><code>Window</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.Window.setDimAmount_added(float)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/Window.html#setDimAmount(float)" target="_top"><code>setDimAmount</code></A>(<code>float</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.Window.setUiOptions_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/Window.html#setUiOptions(int)" target="_top"><code>setUiOptions</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.Window.setUiOptions_added(int, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/Window.html#setUiOptions(int, int)" target="_top"><code>setUiOptions</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/14/changes/android.view.WindowManager.LayoutParams.html b/docs/html/sdk/api_diff/14/changes/android.view.WindowManager.LayoutParams.html
new file mode 100644
index 0000000..99e8db6
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.view.WindowManager.LayoutParams.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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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="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.WindowManager.LayoutParams.FLAG_BLUR_BEHIND"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/WindowManager.LayoutParams.html#FLAG_BLUR_BEHIND" target="_top"><code>FLAG_BLUR_BEHIND</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/14/changes/android.view.accessibility.AccessibilityEvent.html b/docs/html/sdk/api_diff/14/changes/android.view.accessibility.AccessibilityEvent.html
new file mode 100644
index 0000000..bd5261a
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.view.accessibility.AccessibilityEvent.html
@@ -0,0 +1,513 @@
+<!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.accessibility.AccessibilityEvent
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.accessibility.<A HREF="../../../../reference/android/view/accessibility/AccessibilityEvent.html" target="_top"><font size="+2"><code>AccessibilityEvent</code></font></A>
+</H2>
+<p><font xsize="+1">The superclass changed from <code>java.lang.Object</code> to <code>android.view.accessibility.AccessibilityRecord</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.view.accessibility.AccessibilityEvent.appendRecord_added(android.view.accessibility.AccessibilityRecord)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityEvent.html#appendRecord(android.view.accessibility.AccessibilityRecord)" target="_top"><code>appendRecord</code></A>(<code>AccessibilityRecord</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityEvent.eventTypeToString_added(int)"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityEvent.html#eventTypeToString(int)" target="_top"><code>eventTypeToString</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.accessibility.AccessibilityEvent.getRecord_added(int)"></A>
+  <nobr><code>AccessibilityRecord</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityEvent.html#getRecord(int)" target="_top"><code>getRecord</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.accessibility.AccessibilityEvent.getRecordCount_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityEvent.html#getRecordCount()" target="_top"><code>getRecordCount</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityEvent.obtain_added(android.view.accessibility.AccessibilityEvent)"></A>
+  <nobr><code>AccessibilityEvent</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityEvent.html#obtain(android.view.accessibility.AccessibilityEvent)" target="_top"><code>obtain</code></A>(<code>AccessibilityEvent</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.view.accessibility.AccessibilityEvent.getAddedCount_changed()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityRecord.html#getAddedCount()" target="_top"><code>getAddedCount</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/view/accessibility/AccessibilityRecord.html#getAddedCount()" target="_top"><code>AccessibilityRecord</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityEvent.getBeforeText_changed()"></A>
+  <nobr><code>CharSequence</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityRecord.html#getBeforeText()" target="_top"><code>getBeforeText</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/view/accessibility/AccessibilityRecord.html#getBeforeText()" target="_top"><code>AccessibilityRecord</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityEvent.getClassName_changed()"></A>
+  <nobr><code>CharSequence</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityRecord.html#getClassName()" target="_top"><code>getClassName</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/view/accessibility/AccessibilityRecord.html#getClassName()" target="_top"><code>AccessibilityRecord</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityEvent.getContentDescription_changed()"></A>
+  <nobr><code>CharSequence</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityRecord.html#getContentDescription()" target="_top"><code>getContentDescription</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/view/accessibility/AccessibilityRecord.html#getContentDescription()" target="_top"><code>AccessibilityRecord</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityEvent.getCurrentItemIndex_changed()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityRecord.html#getCurrentItemIndex()" target="_top"><code>getCurrentItemIndex</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/view/accessibility/AccessibilityRecord.html#getCurrentItemIndex()" target="_top"><code>AccessibilityRecord</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityEvent.getFromIndex_changed()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityRecord.html#getFromIndex()" target="_top"><code>getFromIndex</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/view/accessibility/AccessibilityRecord.html#getFromIndex()" target="_top"><code>AccessibilityRecord</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityEvent.getItemCount_changed()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityRecord.html#getItemCount()" target="_top"><code>getItemCount</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/view/accessibility/AccessibilityRecord.html#getItemCount()" target="_top"><code>AccessibilityRecord</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityEvent.getParcelableData_changed()"></A>
+  <nobr><code>Parcelable</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityRecord.html#getParcelableData()" target="_top"><code>getParcelableData</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/view/accessibility/AccessibilityRecord.html#getParcelableData()" target="_top"><code>AccessibilityRecord</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityEvent.getRemovedCount_changed()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityRecord.html#getRemovedCount()" target="_top"><code>getRemovedCount</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/view/accessibility/AccessibilityRecord.html#getRemovedCount()" target="_top"><code>AccessibilityRecord</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityEvent.getText_changed()"></A>
+  <nobr><code>List&lt;CharSequence&gt;</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityRecord.html#getText()" target="_top"><code>getText</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/view/accessibility/AccessibilityRecord.html#getText()" target="_top"><code>AccessibilityRecord</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityEvent.isChecked_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityRecord.html#isChecked()" target="_top"><code>isChecked</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/view/accessibility/AccessibilityRecord.html#isChecked()" target="_top"><code>AccessibilityRecord</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityEvent.isEnabled_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityRecord.html#isEnabled()" target="_top"><code>isEnabled</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/view/accessibility/AccessibilityRecord.html#isEnabled()" target="_top"><code>AccessibilityRecord</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityEvent.isFullScreen_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityRecord.html#isFullScreen()" target="_top"><code>isFullScreen</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/view/accessibility/AccessibilityRecord.html#isFullScreen()" target="_top"><code>AccessibilityRecord</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityEvent.isPassword_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityRecord.html#isPassword()" target="_top"><code>isPassword</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/view/accessibility/AccessibilityRecord.html#isPassword()" target="_top"><code>AccessibilityRecord</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityEvent.recycle_changed()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityRecord.html#recycle()" target="_top"><code>recycle</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/view/accessibility/AccessibilityRecord.html#recycle()" target="_top"><code>AccessibilityRecord</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityEvent.setAddedCount_changed(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityRecord.html#setAddedCount(int)" target="_top"><code>setAddedCount</code></A>(<code>int</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/view/accessibility/AccessibilityRecord.html#setAddedCount(int)" target="_top"><code>AccessibilityRecord</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityEvent.setBeforeText_changed(java.lang.CharSequence)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityRecord.html#setBeforeText(java.lang.CharSequence)" target="_top"><code>setBeforeText</code></A>(<code>CharSequence</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/view/accessibility/AccessibilityRecord.html#setBeforeText(java.lang.CharSequence)" target="_top"><code>AccessibilityRecord</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityEvent.setChecked_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityRecord.html#setChecked(boolean)" target="_top"><code>setChecked</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/view/accessibility/AccessibilityRecord.html#setChecked(boolean)" target="_top"><code>AccessibilityRecord</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityEvent.setClassName_changed(java.lang.CharSequence)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityRecord.html#setClassName(java.lang.CharSequence)" target="_top"><code>setClassName</code></A>(<code>CharSequence</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/view/accessibility/AccessibilityRecord.html#setClassName(java.lang.CharSequence)" target="_top"><code>AccessibilityRecord</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityEvent.setContentDescription_changed(java.lang.CharSequence)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityRecord.html#setContentDescription(java.lang.CharSequence)" target="_top"><code>setContentDescription</code></A>(<code>CharSequence</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/view/accessibility/AccessibilityRecord.html#setContentDescription(java.lang.CharSequence)" target="_top"><code>AccessibilityRecord</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityEvent.setCurrentItemIndex_changed(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityRecord.html#setCurrentItemIndex(int)" target="_top"><code>setCurrentItemIndex</code></A>(<code>int</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/view/accessibility/AccessibilityRecord.html#setCurrentItemIndex(int)" target="_top"><code>AccessibilityRecord</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityEvent.setEnabled_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityRecord.html#setEnabled(boolean)" target="_top"><code>setEnabled</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/view/accessibility/AccessibilityRecord.html#setEnabled(boolean)" target="_top"><code>AccessibilityRecord</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityEvent.setFromIndex_changed(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityRecord.html#setFromIndex(int)" target="_top"><code>setFromIndex</code></A>(<code>int</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/view/accessibility/AccessibilityRecord.html#setFromIndex(int)" target="_top"><code>AccessibilityRecord</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityEvent.setFullScreen_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityRecord.html#setFullScreen(boolean)" target="_top"><code>setFullScreen</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/view/accessibility/AccessibilityRecord.html#setFullScreen(boolean)" target="_top"><code>AccessibilityRecord</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityEvent.setItemCount_changed(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityRecord.html#setItemCount(int)" target="_top"><code>setItemCount</code></A>(<code>int</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/view/accessibility/AccessibilityRecord.html#setItemCount(int)" target="_top"><code>AccessibilityRecord</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityEvent.setParcelableData_changed(android.os.Parcelable)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityRecord.html#setParcelableData(android.os.Parcelable)" target="_top"><code>setParcelableData</code></A>(<code>Parcelable</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/view/accessibility/AccessibilityRecord.html#setParcelableData(android.os.Parcelable)" target="_top"><code>AccessibilityRecord</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityEvent.setPassword_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityRecord.html#setPassword(boolean)" target="_top"><code>setPassword</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/view/accessibility/AccessibilityRecord.html#setPassword(boolean)" target="_top"><code>AccessibilityRecord</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityEvent.setRemovedCount_changed(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityRecord.html#setRemovedCount(int)" target="_top"><code>setRemovedCount</code></A>(<code>int</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/android/view/accessibility/AccessibilityRecord.html#setRemovedCount(int)" target="_top"><code>AccessibilityRecord</code></a>.
+  </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.accessibility.AccessibilityEvent.TYPE_TOUCH_EXPLORATION_GESTURE_END"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityEvent.html#TYPE_TOUCH_EXPLORATION_GESTURE_END" target="_top"><code>TYPE_TOUCH_EXPLORATION_GESTURE_END</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityEvent.TYPE_TOUCH_EXPLORATION_GESTURE_START"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityEvent.html#TYPE_TOUCH_EXPLORATION_GESTURE_START" target="_top"><code>TYPE_TOUCH_EXPLORATION_GESTURE_START</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityEvent.TYPE_VIEW_HOVER_ENTER"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityEvent.html#TYPE_VIEW_HOVER_ENTER" target="_top"><code>TYPE_VIEW_HOVER_ENTER</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityEvent.TYPE_VIEW_HOVER_EXIT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityEvent.html#TYPE_VIEW_HOVER_EXIT" target="_top"><code>TYPE_VIEW_HOVER_EXIT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityEvent.TYPE_VIEW_SCROLLED"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityEvent.html#TYPE_VIEW_SCROLLED" target="_top"><code>TYPE_VIEW_SCROLLED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityEvent.TYPE_VIEW_TEXT_SELECTION_CHANGED"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityEvent.html#TYPE_VIEW_TEXT_SELECTION_CHANGED" target="_top"><code>TYPE_VIEW_TEXT_SELECTION_CHANGED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityEvent.html#TYPE_WINDOW_CONTENT_CHANGED" target="_top"><code>TYPE_WINDOW_CONTENT_CHANGED</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.accessibility.AccessibilityEvent.MAX_TEXT_LENGTH"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityEvent.html#MAX_TEXT_LENGTH" target="_top"><code>MAX_TEXT_LENGTH</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/14/changes/android.view.accessibility.AccessibilityManager.html b/docs/html/sdk/api_diff/14/changes/android.view.accessibility.AccessibilityManager.html
new file mode 100644
index 0000000..f49bd69
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.view.accessibility.AccessibilityManager.html
@@ -0,0 +1,168 @@
+<!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.accessibility.AccessibilityManager
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.accessibility.<A HREF="../../../../reference/android/view/accessibility/AccessibilityManager.html" target="_top"><font size="+2"><code>AccessibilityManager</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.accessibility.AccessibilityManager.addAccessibilityStateChangeListener_added(android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityManager.html#addAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener)" target="_top"><code>addAccessibilityStateChangeListener</code></A>(<code>AccessibilityStateChangeListener</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityManager.getEnabledAccessibilityServiceList_added(int)"></A>
+  <nobr><code>List&lt;AccessibilityServiceInfo&gt;</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityManager.html#getEnabledAccessibilityServiceList(int)" target="_top"><code>getEnabledAccessibilityServiceList</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.accessibility.AccessibilityManager.getInstalledAccessibilityServiceList_added()"></A>
+  <nobr><code>List&lt;AccessibilityServiceInfo&gt;</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityManager.html#getInstalledAccessibilityServiceList()" target="_top"><code>getInstalledAccessibilityServiceList</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityManager.isTouchExplorationEnabled_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityManager.html#isTouchExplorationEnabled()" target="_top"><code>isTouchExplorationEnabled</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.accessibility.AccessibilityManager.removeAccessibilityStateChangeListener_added(android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityManager.html#removeAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener)" target="_top"><code>removeAccessibilityStateChangeListener</code></A>(<code>AccessibilityStateChangeListener</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.view.accessibility.AccessibilityManager.getAccessibilityServiceList_changed()"></A>
+  <nobr><code>List&lt;ServiceInfo&gt;</code>&nbsp;<A HREF="../../../../reference/android/view/accessibility/AccessibilityManager.html#getAccessibilityServiceList()" target="_top"><code>getAccessibilityServiceList</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/14/changes/android.view.inputmethod.InputMethodManager.html b/docs/html/sdk/api_diff/14/changes/android.view.inputmethod.InputMethodManager.html
new file mode 100644
index 0000000..7741ecd
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.view.inputmethod.InputMethodManager.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.view.inputmethod.InputMethodManager
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.inputmethod.<A HREF="../../../../reference/android/view/inputmethod/InputMethodManager.html" target="_top"><font size="+2"><code>InputMethodManager</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.inputmethod.InputMethodManager.getLastInputMethodSubtype_added()"></A>
+  <nobr><code>InputMethodSubtype</code>&nbsp;<A HREF="../../../../reference/android/view/inputmethod/InputMethodManager.html#getLastInputMethodSubtype()" target="_top"><code>getLastInputMethodSubtype</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.inputmethod.InputMethodManager.setAdditionalInputMethodSubtypes_added(java.lang.String, android.view.inputmethod.InputMethodSubtype[])"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/inputmethod/InputMethodManager.html#setAdditionalInputMethodSubtypes(java.lang.String, android.view.inputmethod.InputMethodSubtype[])" target="_top"><code>setAdditionalInputMethodSubtypes</code></A>(<code>String,</nobr> InputMethodSubtype[]<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.inputmethod.InputMethodManager.viewClicked_added(android.view.View)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/inputmethod/InputMethodManager.html#viewClicked(android.view.View)" target="_top"><code>viewClicked</code></A>(<code>View</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/14/changes/android.view.inputmethod.InputMethodSession.html b/docs/html/sdk/api_diff/14/changes/android.view.inputmethod.InputMethodSession.html
new file mode 100644
index 0000000..f497962
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.view.inputmethod.InputMethodSession.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.inputmethod.InputMethodSession
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.view.inputmethod.<A HREF="../../../../reference/android/view/inputmethod/InputMethodSession.html" target="_top"><font size="+2"><code>InputMethodSession</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.inputmethod.InputMethodSession.viewClicked_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/inputmethod/InputMethodSession.html#viewClicked(boolean)" target="_top"><code>viewClicked</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/14/changes/android.view.inputmethod.InputMethodSubtype.html b/docs/html/sdk/api_diff/14/changes/android.view.inputmethod.InputMethodSubtype.html
new file mode 100644
index 0000000..37208cb
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.view.inputmethod.InputMethodSubtype.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.view.inputmethod.InputMethodSubtype
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.inputmethod.<A HREF="../../../../reference/android/view/inputmethod/InputMethodSubtype.html" target="_top"><font size="+2"><code>InputMethodSubtype</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.inputmethod.InputMethodSubtype.ctor_added(int, int, java.lang.String, java.lang.String, java.lang.String, boolean, boolean)"></A>
+  <nobr><A HREF="../../../../reference/android/view/inputmethod/InputMethodSubtype.html#InputMethodSubtype(int, int, java.lang.String, java.lang.String, java.lang.String, boolean, boolean)" target="_top"><code>InputMethodSubtype</code></A>(<code>int,</nobr> int<nobr>,</nobr> String<nobr>,</nobr> String<nobr>,</nobr> String<nobr>,</nobr> boolean<nobr>,</nobr> boolean<nobr><nobr></code>)</nobr>
+  </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.view.inputmethod.InputMethodSubtype.getDisplayName_added(android.content.Context, java.lang.String, android.content.pm.ApplicationInfo)"></A>
+  <nobr><code>CharSequence</code>&nbsp;<A HREF="../../../../reference/android/view/inputmethod/InputMethodSubtype.html#getDisplayName(android.content.Context, java.lang.String, android.content.pm.ApplicationInfo)" target="_top"><code>getDisplayName</code></A>(<code>Context,</nobr> String<nobr>,</nobr> ApplicationInfo<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.inputmethod.InputMethodSubtype.isAuxiliary_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/inputmethod/InputMethodSubtype.html#isAuxiliary()" target="_top"><code>isAuxiliary</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.inputmethod.InputMethodSubtype.overridesImplicitlyEnabledSubtype_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/inputmethod/InputMethodSubtype.html#overridesImplicitlyEnabledSubtype()" target="_top"><code>overridesImplicitlyEnabledSubtype</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/14/changes/android.webkit.WebChromeClient.html b/docs/html/sdk/api_diff/14/changes/android.webkit.WebChromeClient.html
new file mode 100644
index 0000000..e3aafad
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.webkit.WebChromeClient.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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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="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.onShowCustomView_added(android.view.View, int, android.webkit.WebChromeClient.CustomViewCallback)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebChromeClient.html#onShowCustomView(android.view.View, int, android.webkit.WebChromeClient.CustomViewCallback)" target="_top"><code>onShowCustomView</code></A>(<code>View,</nobr> int<nobr>,</nobr> CustomViewCallback<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/14/changes/android.webkit.WebSettings.TextSize.html b/docs/html/sdk/api_diff/14/changes/android.webkit.WebSettings.TextSize.html
new file mode 100644
index 0000000..c587f5c
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.webkit.WebSettings.TextSize.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.webkit.WebSettings.TextSize
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.TextSize.html" target="_top"><font size="+2"><code>WebSettings.TextSize</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/14/changes/android.webkit.WebSettings.html b/docs/html/sdk/api_diff/14/changes/android.webkit.WebSettings.html
new file mode 100644
index 0000000..c092747
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.webkit.WebSettings.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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.getTextZoom_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getTextZoom()" target="_top"><code>getTextZoom</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.webkit.WebSettings.setTextZoom_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setTextZoom(int)" target="_top"><code>setTextZoom</code></A>(<code>int</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.getTextSize_changed()"></A>
+  <nobr><code>TextSize</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#getTextSize()" target="_top"><code>getTextSize</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.setTextSize_changed(android.webkit.WebSettings.TextSize)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebSettings.html#setTextSize(android.webkit.WebSettings.TextSize)" target="_top"><code>setTextSize</code></A>(<code>TextSize</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/14/changes/android.webkit.WebView.HitTestResult.html b/docs/html/sdk/api_diff/14/changes/android.webkit.WebView.HitTestResult.html
new file mode 100644
index 0000000..004b885
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.webkit.WebView.HitTestResult.html
@@ -0,0 +1,133 @@
+<!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.HitTestResult
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.HitTestResult.html" target="_top"><font size="+2"><code>WebView.HitTestResult</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.webkit.WebView.HitTestResult.ANCHOR_TYPE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebView.HitTestResult.html#ANCHOR_TYPE" target="_top"><code>ANCHOR_TYPE</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.webkit.WebView.HitTestResult.IMAGE_ANCHOR_TYPE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/webkit/WebView.HitTestResult.html#IMAGE_ANCHOR_TYPE" target="_top"><code>IMAGE_ANCHOR_TYPE</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/14/changes/android.widget.AbsListView.html b/docs/html/sdk/api_diff/14/changes/android.widget.AbsListView.html
new file mode 100644
index 0000000..b55e613
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.widget.AbsListView.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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.deferNotifyDataSetChanged_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/AbsListView.html#deferNotifyDataSetChanged()" target="_top"><code>deferNotifyDataSetChanged</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/14/changes/android.widget.AdapterViewAnimator.html b/docs/html/sdk/api_diff/14/changes/android.widget.AdapterViewAnimator.html
new file mode 100644
index 0000000..429c0b4
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.widget.AdapterViewAnimator.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>
+android.widget.AdapterViewAnimator
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/AdapterViewAnimator.html" target="_top"><font size="+2"><code>AdapterViewAnimator</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.widget.AdapterViewAnimator.ctor_added(android.content.Context, android.util.AttributeSet, int)"></A>
+  <nobr><A HREF="../../../../reference/android/widget/AdapterViewAnimator.html#AdapterViewAnimator(android.content.Context, android.util.AttributeSet, int)" target="_top"><code>AdapterViewAnimator</code></A>(<code>Context,</nobr> AttributeSet<nobr>,</nobr> int<nobr><nobr></code>)</nobr>
+  </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.widget.AdapterViewAnimator.deferNotifyDataSetChanged_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/AdapterViewAnimator.html#deferNotifyDataSetChanged()" target="_top"><code>deferNotifyDataSetChanged</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/14/changes/android.widget.ExpandableListView.html b/docs/html/sdk/api_diff/14/changes/android.widget.ExpandableListView.html
new file mode 100644
index 0000000..4442c15
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.widget.ExpandableListView.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.ExpandableListView
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/ExpandableListView.html" target="_top"><font size="+2"><code>ExpandableListView</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.ExpandableListView.expandGroup_added(int, boolean)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/widget/ExpandableListView.html#expandGroup(int, boolean)" target="_top"><code>expandGroup</code></A>(<code>int,</nobr> boolean<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/14/changes/android.widget.FrameLayout.html b/docs/html/sdk/api_diff/14/changes/android.widget.FrameLayout.html
new file mode 100644
index 0000000..03df5a7
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.widget.FrameLayout.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.FrameLayout
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/FrameLayout.html" target="_top"><font size="+2"><code>FrameLayout</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.FrameLayout.getMeasureAllChildren_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/widget/FrameLayout.html#getMeasureAllChildren()" target="_top"><code>getMeasureAllChildren</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.FrameLayout.getConsiderGoneChildrenWhenMeasuring_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/widget/FrameLayout.html#getConsiderGoneChildrenWhenMeasuring()" target="_top"><code>getConsiderGoneChildrenWhenMeasuring</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/14/changes/android.widget.LinearLayout.html b/docs/html/sdk/api_diff/14/changes/android.widget.LinearLayout.html
new file mode 100644
index 0000000..4a7e999
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.widget.LinearLayout.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.LinearLayout
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/LinearLayout.html" target="_top"><font size="+2"><code>LinearLayout</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.LinearLayout.getDividerPadding_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/widget/LinearLayout.html#getDividerPadding()" target="_top"><code>getDividerPadding</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.LinearLayout.setDividerPadding_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/LinearLayout.html#setDividerPadding(int)" target="_top"><code>setDividerPadding</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/14/changes/android.widget.OverScroller.html b/docs/html/sdk/api_diff/14/changes/android.widget.OverScroller.html
new file mode 100644
index 0000000..2de63b9
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.widget.OverScroller.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.OverScroller
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/OverScroller.html" target="_top"><font size="+2"><code>OverScroller</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.OverScroller.getCurrVelocity_added()"></A>
+  <nobr><code>float</code>&nbsp;<A HREF="../../../../reference/android/widget/OverScroller.html#getCurrVelocity()" target="_top"><code>getCurrVelocity</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/14/changes/android.widget.PopupMenu.html b/docs/html/sdk/api_diff/14/changes/android.widget.PopupMenu.html
new file mode 100644
index 0000000..c85ca0f
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.widget.PopupMenu.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.PopupMenu
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/PopupMenu.html" target="_top"><font size="+2"><code>PopupMenu</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.PopupMenu.inflate_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/PopupMenu.html#inflate(int)" target="_top"><code>inflate</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.PopupMenu.setOnDismissListener_added(android.widget.PopupMenu.OnDismissListener)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/PopupMenu.html#setOnDismissListener(android.widget.PopupMenu.OnDismissListener)" target="_top"><code>setOnDismissListener</code></A>(<code>OnDismissListener</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/14/changes/android.widget.RemoteViews.html b/docs/html/sdk/api_diff/14/changes/android.widget.RemoteViews.html
new file mode 100644
index 0000000..6d905d1
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.widget.RemoteViews.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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.setRemoteAdapter_added(int, android.content.Intent)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/RemoteViews.html#setRemoteAdapter(int, android.content.Intent)" target="_top"><code>setRemoteAdapter</code></A>(<code>int,</nobr> Intent<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.widget.RemoteViews.setRemoteAdapter_changed(int, int, android.content.Intent)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/RemoteViews.html#setRemoteAdapter(int, int, android.content.Intent)" target="_top"><code>setRemoteAdapter</code></A>(<code>int,</nobr> int<nobr>,</nobr> Intent<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/14/changes/android.widget.Scroller.html b/docs/html/sdk/api_diff/14/changes/android.widget.Scroller.html
new file mode 100644
index 0000000..fc3fb39
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.widget.Scroller.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.Scroller
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/Scroller.html" target="_top"><font size="+2"><code>Scroller</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.Scroller.getCurrVelocity_added()"></A>
+  <nobr><code>float</code>&nbsp;<A HREF="../../../../reference/android/widget/Scroller.html#getCurrVelocity()" target="_top"><code>getCurrVelocity</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/14/changes/android.widget.SearchView.html b/docs/html/sdk/api_diff/14/changes/android.widget.SearchView.html
new file mode 100644
index 0000000..fb49499
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.widget.SearchView.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.SearchView
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/SearchView.html" target="_top"><font size="+2"><code>SearchView</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>android.view.CollapsibleActionView</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.SearchView.onActionViewCollapsed_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/SearchView.html#onActionViewCollapsed()" target="_top"><code>onActionViewCollapsed</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.SearchView.onActionViewExpanded_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/SearchView.html#onActionViewExpanded()" target="_top"><code>onActionViewExpanded</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.SearchView.setImeOptions_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/SearchView.html#setImeOptions(int)" target="_top"><code>setImeOptions</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.SearchView.setInputType_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/SearchView.html#setInputType(int)" target="_top"><code>setInputType</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/14/changes/android.widget.StackView.html b/docs/html/sdk/api_diff/14/changes/android.widget.StackView.html
new file mode 100644
index 0000000..0c524a5
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.widget.StackView.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.StackView
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/StackView.html" target="_top"><font size="+2"><code>StackView</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.widget.StackView.ctor_added(android.content.Context, android.util.AttributeSet, int)"></A>
+  <nobr><A HREF="../../../../reference/android/widget/StackView.html#StackView(android.content.Context, android.util.AttributeSet, int)" target="_top"><code>StackView</code></A>(<code>Context,</nobr> AttributeSet<nobr>,</nobr> int<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/14/changes/android.widget.TextView.html b/docs/html/sdk/api_diff/14/changes/android.widget.TextView.html
new file mode 100644
index 0000000..54eb708
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/android.widget.TextView.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.widget.TextView
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/TextView.html" target="_top"><font size="+2"><code>TextView</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.TextView.getOffsetForPosition_added(float, float)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/widget/TextView.html#getOffsetForPosition(float, float)" target="_top"><code>getOffsetForPosition</code></A>(<code>float,</nobr> float<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.TextView.isSuggestionsEnabled_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/widget/TextView.html#isSuggestionsEnabled()" target="_top"><code>isSuggestionsEnabled</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.TextView.resetResolvedDrawables_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/TextView.html#resetResolvedDrawables()" target="_top"><code>resetResolvedDrawables</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.TextView.resetResolvedLayoutDirection_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/TextView.html#resetResolvedLayoutDirection()" target="_top"><code>resetResolvedLayoutDirection</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.TextView.resolveDrawables_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/TextView.html#resolveDrawables()" target="_top"><code>resolveDrawables</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.TextView.resolveTextDirection_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/TextView.html#resolveTextDirection()" target="_top"><code>resolveTextDirection</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.TextView.setAllCaps_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/TextView.html#setAllCaps(boolean)" target="_top"><code>setAllCaps</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/14/changes/changes-summary.html b/docs/html/sdk/api_diff/14/changes/changes-summary.html
new file mode 100644
index 0000000..57e565e
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/changes-summary.html
@@ -0,0 +1,507 @@
+<!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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.media.effect"></A>
+  <nobr><A HREF="../../../../reference/android/media/effect/package-summary.html" target="_top"><code>android.media.effect</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.wifi.p2p"></A>
+  <nobr><A HREF="../../../../reference/android/net/wifi/p2p/package-summary.html" target="_top"><code>android.net.wifi.p2p</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.security"></A>
+  <nobr><A HREF="../../../../reference/android/security/package-summary.html" target="_top"><code>android.security</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.textservice"></A>
+  <nobr><A HREF="../../../../reference/android/service/textservice/package-summary.html" target="_top"><code>android.service.textservice</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.textservice"></A>
+  <nobr><A HREF="../../../../reference/android/view/textservice/package-summary.html" target="_top"><code>android.view.textservice</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.accessibilityservice"></A>
+  <nobr><A HREF="pkg_android.accessibilityservice.html">android.accessibilityservice</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.animation"></A>
+  <nobr><A HREF="pkg_android.animation.html">android.animation</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.app.admin"></A>
+  <nobr><A HREF="pkg_android.app.admin.html">android.app.admin</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="pkg_android.app.backup.html">android.app.backup</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.appwidget"></A>
+  <nobr><A HREF="pkg_android.appwidget.html">android.appwidget</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.bluetooth"></A>
+  <nobr><A HREF="pkg_android.bluetooth.html">android.bluetooth</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.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.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.inputmethodservice"></A>
+  <nobr><A HREF="pkg_android.inputmethodservice.html">android.inputmethodservice</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.net.wifi"></A>
+  <nobr><A HREF="pkg_android.net.wifi.html">android.net.wifi</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.nfc"></A>
+  <nobr><A HREF="pkg_android.nfc.html">android.nfc</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.nfc.tech"></A>
+  <nobr><A HREF="pkg_android.nfc.tech.html">android.nfc.tech</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.preference"></A>
+  <nobr><A HREF="pkg_android.preference.html">android.preference</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.renderscript"></A>
+  <nobr><A HREF="pkg_android.renderscript.html">android.renderscript</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.service.wallpaper"></A>
+  <nobr><A HREF="pkg_android.service.wallpaper.html">android.service.wallpaper</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.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.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.accessibility"></A>
+  <nobr><A HREF="pkg_android.view.accessibility.html">android.view.accessibility</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.inputmethod"></A>
+  <nobr><A HREF="pkg_android.view.inputmethod.html">android.view.inputmethod</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.annotation"></A>
+  <nobr><A HREF="pkg_dalvik.annotation.html">dalvik.annotation</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.io"></A>
+  <nobr><A HREF="pkg_java.io.html">java.io</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang"></A>
+  <nobr><A HREF="pkg_java.lang.html">java.lang</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.ref"></A>
+  <nobr><A HREF="pkg_java.lang.ref.html">java.lang.ref</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.reflect"></A>
+  <nobr><A HREF="pkg_java.lang.reflect.html">java.lang.reflect</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.security"></A>
+  <nobr><A HREF="pkg_java.security.html">java.security</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.logging"></A>
+  <nobr><A HREF="pkg_java.util.logging.html">java.util.logging</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.security.auth"></A>
+  <nobr><A HREF="pkg_javax.security.auth.html">javax.security.auth</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/14/changes/classes_index_additions.html b/docs/html/sdk/api_diff/14/changes/classes_index_additions.html
new file mode 100644
index 0000000..915fb4d
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/classes_index_additions.html
@@ -0,0 +1,422 @@
+<!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="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.view.accessibility.html#AccessibilityManager.AccessibilityStateChangeListener" class="hiddenlink" target="rightframe"><b><i>AccessibilityManager.AccessibilityStateChangeListener</i></b></A><br>
+<A HREF="pkg_android.view.accessibility.html#AccessibilityNodeInfo" class="hiddenlink" target="rightframe"><b>AccessibilityNodeInfo</b></A><br>
+<A HREF="pkg_android.view.accessibility.html#AccessibilityRecord" class="hiddenlink" target="rightframe"><b>AccessibilityRecord</b></A><br>
+<A HREF="pkg_android.view.html#ActionProvider" class="hiddenlink" target="rightframe"><b>ActionProvider</b></A><br>
+<A HREF="pkg_android.app.html#Application.ActivityLifecycleCallbacks" class="hiddenlink" target="rightframe"><b><i>Application.ActivityLifecycleCallbacks</i></b></A><br>
+<A HREF="pkg_android.app.html#ApplicationErrorReport" class="hiddenlink" target="rightframe"><b>ApplicationErrorReport</b></A><br>
+<A HREF="pkg_android.app.html#ApplicationErrorReport.AnrInfo" class="hiddenlink" target="rightframe"><b>ApplicationErrorReport.AnrInfo</b></A><br>
+<A HREF="pkg_android.app.html#ApplicationErrorReport.BatteryInfo" class="hiddenlink" target="rightframe"><b>ApplicationErrorReport.BatteryInfo</b></A><br>
+<A HREF="pkg_android.app.html#ApplicationErrorReport.CrashInfo" class="hiddenlink" target="rightframe"><b>ApplicationErrorReport.CrashInfo</b></A><br>
+<A HREF="pkg_android.app.html#ApplicationErrorReport.RunningServiceInfo" class="hiddenlink" target="rightframe"><b>ApplicationErrorReport.RunningServiceInfo</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="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_dalvik.system.html#BaseDexClassLoader" class="hiddenlink" target="rightframe"><b>BaseDexClassLoader</b></A><br>
+<A HREF="pkg_android.bluetooth.html#BluetoothHealth" class="hiddenlink" target="rightframe"><b>BluetoothHealth</b></A><br>
+<A HREF="pkg_android.bluetooth.html#BluetoothHealthAppConfiguration" class="hiddenlink" target="rightframe"><b>BluetoothHealthAppConfiguration</b></A><br>
+<A HREF="pkg_android.bluetooth.html#BluetoothHealthCallback" class="hiddenlink" target="rightframe"><b>BluetoothHealthCallback</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="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.provider.html#CalendarContract" class="hiddenlink" target="rightframe"><b>CalendarContract</b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.Attendees" class="hiddenlink" target="rightframe"><b>CalendarContract.Attendees</b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.AttendeesColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.AttendeesColumns</i></b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.CalendarAlerts" class="hiddenlink" target="rightframe"><b>CalendarContract.CalendarAlerts</b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.CalendarAlertsColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.CalendarAlertsColumns</i></b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.CalendarCache" class="hiddenlink" target="rightframe"><b>CalendarContract.CalendarCache</b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.CalendarCacheColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.CalendarCacheColumns</i></b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.CalendarColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.CalendarColumns</i></b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.CalendarEntity" class="hiddenlink" target="rightframe"><b>CalendarContract.CalendarEntity</b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.Calendars" class="hiddenlink" target="rightframe"><b>CalendarContract.Calendars</b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.CalendarSyncColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.CalendarSyncColumns</i></b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.EventDays" class="hiddenlink" target="rightframe"><b>CalendarContract.EventDays</b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.EventDaysColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.EventDaysColumns</i></b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.Events" class="hiddenlink" target="rightframe"><b>CalendarContract.Events</b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.EventsColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.EventsColumns</i></b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.EventsEntity" class="hiddenlink" target="rightframe"><b>CalendarContract.EventsEntity</b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.ExtendedProperties" class="hiddenlink" target="rightframe"><b>CalendarContract.ExtendedProperties</b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.ExtendedPropertiesColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.ExtendedPropertiesColumns</i></b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.Instances" class="hiddenlink" target="rightframe"><b>CalendarContract.Instances</b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.Reminders" class="hiddenlink" target="rightframe"><b>CalendarContract.Reminders</b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.RemindersColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.RemindersColumns</i></b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.SyncColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.SyncColumns</i></b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.SyncState" class="hiddenlink" target="rightframe"><b>CalendarContract.SyncState</b></A><br>
+<A HREF="pkg_android.hardware.html#Camera.Area" class="hiddenlink" target="rightframe"><b>Camera.Area</b></A><br>
+<A HREF="pkg_android.hardware.html#Camera.Face" class="hiddenlink" target="rightframe"><b>Camera.Face</b></A><br>
+<A HREF="pkg_android.hardware.html#Camera.FaceDetectionListener" class="hiddenlink" target="rightframe"><b><i>Camera.FaceDetectionListener</i></b></A><br>
+<A HREF="pkg_android.view.html#CollapsibleActionView" class="hiddenlink" target="rightframe"><b><i>CollapsibleActionView</i></b></A><br>
+<A HREF="pkg_android.content.html#ComponentCallbacks2" class="hiddenlink" target="rightframe"><b><i>ComponentCallbacks2</i></b></A><br>
+<A HREF="pkg_android.provider.html#ContactsContract.CommonDataKinds.Identity" class="hiddenlink" target="rightframe"><b>ContactsContract.CommonDataKinds.Identity</b></A><br>
+<A HREF="pkg_android.provider.html#ContactsContract.DataUsageFeedback" class="hiddenlink" target="rightframe"><b>ContactsContract.DataUsageFeedback</b></A><br>
+<A HREF="pkg_android.provider.html#ContactsContract.DisplayPhoto" class="hiddenlink" target="rightframe"><b>ContactsContract.DisplayPhoto</b></A><br>
+<A HREF="pkg_android.provider.html#ContactsContract.Profile" class="hiddenlink" target="rightframe"><b>ContactsContract.Profile</b></A><br>
+<A HREF="pkg_android.provider.html#ContactsContract.ProfileSyncState" class="hiddenlink" target="rightframe"><b>ContactsContract.ProfileSyncState</b></A><br>
+<A HREF="pkg_android.provider.html#ContactsContract.RawContacts.DisplayPhoto" class="hiddenlink" target="rightframe"><b>ContactsContract.RawContacts.DisplayPhoto</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="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.renderscript.html#Double2" class="hiddenlink" target="rightframe"><b>Double2</b></A><br>
+<A HREF="pkg_android.renderscript.html#Double3" class="hiddenlink" target="rightframe"><b>Double3</b></A><br>
+<A HREF="pkg_android.renderscript.html#Double4" class="hiddenlink" target="rightframe"><b>Double4</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="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.text.style.html#EasyEditSpan" class="hiddenlink" target="rightframe"><b>EasyEditSpan</b></A><br>
+<A HREF="pkg_android.widget.html#EdgeEffect" class="hiddenlink" target="rightframe"><b>EdgeEffect</b></A><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="#G"><font size="-2">G</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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.app.backup.html#FullBackupDataOutput" class="hiddenlink" target="rightframe"><b>FullBackupDataOutput</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="#F"><font size="-2">F</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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.widget.html#GridLayout" class="hiddenlink" target="rightframe"><b>GridLayout</b></A><br>
+<A HREF="pkg_android.widget.html#GridLayout.Alignment" class="hiddenlink" target="rightframe"><b>GridLayout.Alignment</b></A><br>
+<A HREF="pkg_android.widget.html#GridLayout.LayoutParams" class="hiddenlink" target="rightframe"><b>GridLayout.LayoutParams</b></A><br>
+<A HREF="pkg_android.widget.html#GridLayout.Spec" class="hiddenlink" target="rightframe"><b>GridLayout.Spec</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="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.view.html#MenuItem.OnActionExpandListener" class="hiddenlink" target="rightframe"><b><i>MenuItem.OnActionExpandListener</i></b></A><br>
+<A HREF="pkg_android.view.html#MotionEvent.PointerProperties" class="hiddenlink" target="rightframe"><b>MotionEvent.PointerProperties</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="#F"><font size="-2">F</font></a> 
+<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="#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">
+<A HREF="pkg_android.net.html#NetworkQuotaInfo" class="hiddenlink" target="rightframe"><b>NetworkQuotaInfo</b></A><br>
+<A HREF="pkg_android.nfc.html#NfcAdapter.CreateNdefMessageCallback" class="hiddenlink" target="rightframe"><b><i>NfcAdapter.CreateNdefMessageCallback</i></b></A><br>
+<A HREF="pkg_android.nfc.html#NfcAdapter.OnNdefPushCompleteCallback" class="hiddenlink" target="rightframe"><b><i>NfcAdapter.OnNdefPushCompleteCallback</i></b></A><br>
+<A HREF="pkg_android.nfc.html#NfcEvent" class="hiddenlink" target="rightframe"><b>NfcEvent</b></A><br>
+<A HREF="pkg_android.util.html#NoSuchPropertyException" class="hiddenlink" target="rightframe"><b>NoSuchPropertyException</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="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</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="#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.widget.html#PopupMenu.OnDismissListener" class="hiddenlink" target="rightframe"><b><i>PopupMenu.OnDismissListener</i></b></A><br>
+<A HREF="pkg_android.util.html#Property" class="hiddenlink" target="rightframe"><b>Property</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="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</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="#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.media.html#RemoteControlClient" class="hiddenlink" target="rightframe"><b>RemoteControlClient</b></A><br>
+<A HREF="pkg_android.media.html#RemoteControlClient.MetadataEditor" class="hiddenlink" target="rightframe"><b>RemoteControlClient.MetadataEditor</b></A><br>
+<A HREF="pkg_android.renderscript.html#RSTextureView" class="hiddenlink" target="rightframe"><b>RSTextureView</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="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</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="#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.widget.html#ShareActionProvider" class="hiddenlink" target="rightframe"><b>ShareActionProvider</b></A><br>
+<A HREF="pkg_android.widget.html#ShareActionProvider.OnShareTargetSelectedListener" class="hiddenlink" target="rightframe"><b><i>ShareActionProvider.OnShareTargetSelectedListener</i></b></A><br>
+<A HREF="pkg_android.widget.html#Space" class="hiddenlink" target="rightframe"><b>Space</b></A><br>
+<A HREF="pkg_android.text.style.html#SuggestionSpan" class="hiddenlink" target="rightframe"><b>SuggestionSpan</b></A><br>
+<A HREF="pkg_android.widget.html#Switch" class="hiddenlink" target="rightframe"><b>Switch</b></A><br>
+<A HREF="pkg_android.preference.html#SwitchPreference" class="hiddenlink" target="rightframe"><b>SwitchPreference</b></A><br>
+<A HREF="pkg_android.speech.tts.html#SynthesisCallback" class="hiddenlink" target="rightframe"><b><i>SynthesisCallback</i></b></A><br>
+<A HREF="pkg_android.speech.tts.html#SynthesisRequest" class="hiddenlink" target="rightframe"><b>SynthesisRequest</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="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</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="#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.speech.tts.html#TextToSpeech.EngineInfo" class="hiddenlink" target="rightframe"><b>TextToSpeech.EngineInfo</b></A><br>
+<A HREF="pkg_android.speech.tts.html#TextToSpeechService" class="hiddenlink" target="rightframe"><b>TextToSpeechService</b></A><br>
+<A HREF="pkg_android.view.html#TextureView" class="hiddenlink" target="rightframe"><b>TextureView</b></A><br>
+<A HREF="pkg_android.view.html#TextureView.SurfaceTextureListener" class="hiddenlink" target="rightframe"><b><i>TextureView.SurfaceTextureListener</i></b></A><br>
+<A HREF="pkg_android.preference.html#TwoStatePreference" class="hiddenlink" target="rightframe"><b>TwoStatePreference</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="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.view.html#View.AccessibilityDelegate" class="hiddenlink" target="rightframe"><b>View.AccessibilityDelegate</b></A><br>
+<A HREF="pkg_android.view.html#View.OnHoverListener" class="hiddenlink" target="rightframe"><b><i>View.OnHoverListener</i></b></A><br>
+<A HREF="pkg_android.provider.html#VoicemailContract" class="hiddenlink" target="rightframe"><b>VoicemailContract</b></A><br>
+<A HREF="pkg_android.provider.html#VoicemailContract.Status" class="hiddenlink" target="rightframe"><b>VoicemailContract.Status</b></A><br>
+<A HREF="pkg_android.provider.html#VoicemailContract.Voicemails" class="hiddenlink" target="rightframe"><b>VoicemailContract.Voicemails</b></A><br>
+<A HREF="pkg_android.net.html#VpnService" class="hiddenlink" target="rightframe"><b>VpnService</b></A><br>
+<A HREF="pkg_android.net.html#VpnService.Builder" class="hiddenlink" target="rightframe"><b>VpnService.Builder</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="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.net.wifi.html#WpsInfo" class="hiddenlink" target="rightframe"><b>WpsInfo</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/14/changes/classes_index_all.html b/docs/html/sdk/api_diff/14/changes/classes_index_all.html
new file mode 100644
index 0000000..97f0d9d
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/classes_index_all.html
@@ -0,0 +1,849 @@
+<!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="#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="#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="android.widget.AbsListView.html" class="hiddenlink" target="rightframe">AbsListView</A><br>
+<A HREF="android.view.accessibility.AccessibilityEvent.html" class="hiddenlink" target="rightframe">AccessibilityEvent</A><br>
+<A HREF="android.view.accessibility.AccessibilityManager.html" class="hiddenlink" target="rightframe">AccessibilityManager</A><br>
+<A HREF="pkg_android.view.accessibility.html#AccessibilityManager.AccessibilityStateChangeListener" class="hiddenlink" target="rightframe"><b><i>AccessibilityManager.AccessibilityStateChangeListener</i></b></A><br>
+<A HREF="pkg_android.view.accessibility.html#AccessibilityNodeInfo" class="hiddenlink" target="rightframe"><b>AccessibilityNodeInfo</b></A><br>
+<A HREF="pkg_android.view.accessibility.html#AccessibilityRecord" class="hiddenlink" target="rightframe"><b>AccessibilityRecord</b></A><br>
+<A HREF="android.accessibilityservice.AccessibilityService.html" class="hiddenlink" target="rightframe">AccessibilityService</A><br>
+<A HREF="android.accessibilityservice.AccessibilityServiceInfo.html" class="hiddenlink" target="rightframe">AccessibilityServiceInfo</A><br>
+<A HREF="java.lang.reflect.AccessibleObject.html" class="hiddenlink" target="rightframe">AccessibleObject</A><br>
+<A HREF="android.accounts.AccountManager.html" class="hiddenlink" target="rightframe">AccountManager</A><br>
+<A HREF="android.app.ActionBar.html" class="hiddenlink" target="rightframe">ActionBar</A><br>
+<A HREF="android.app.ActionBar.Tab.html" class="hiddenlink" target="rightframe">ActionBar.Tab</A><br>
+<A HREF="android.view.ActionMode.html" class="hiddenlink" target="rightframe">ActionMode</A><br>
+<A HREF="pkg_android.view.html#ActionProvider" class="hiddenlink" target="rightframe"><b>ActionProvider</b></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.widget.AdapterViewAnimator.html" class="hiddenlink" target="rightframe">AdapterViewAnimator</A><br>
+<A HREF="android.app.AlertDialog.html" class="hiddenlink" target="rightframe">AlertDialog</A><br>
+<A HREF="android.renderscript.Allocation.html" class="hiddenlink" target="rightframe">Allocation</A><br>
+<A HREF="android.renderscript.AllocationAdapter.html" class="hiddenlink" target="rightframe">AllocationAdapter</A><br>
+<A HREF="java.security.AllPermission.html" class="hiddenlink" target="rightframe">AllPermission</A><br>
+<A HREF="android.animation.Animator.html" class="hiddenlink" target="rightframe">Animator</A><br>
+<A HREF="android.app.Application.html" class="hiddenlink" target="rightframe">Application</A><br>
+<A HREF="pkg_android.app.html#Application.ActivityLifecycleCallbacks" class="hiddenlink" target="rightframe"><b><i>Application.ActivityLifecycleCallbacks</i></b></A><br>
+<A HREF="pkg_android.app.html#ApplicationErrorReport" class="hiddenlink" target="rightframe"><b>ApplicationErrorReport</b></A><br>
+<A HREF="pkg_android.app.html#ApplicationErrorReport.AnrInfo" class="hiddenlink" target="rightframe"><b>ApplicationErrorReport.AnrInfo</b></A><br>
+<A HREF="pkg_android.app.html#ApplicationErrorReport.BatteryInfo" class="hiddenlink" target="rightframe"><b>ApplicationErrorReport.BatteryInfo</b></A><br>
+<A HREF="pkg_android.app.html#ApplicationErrorReport.CrashInfo" class="hiddenlink" target="rightframe"><b>ApplicationErrorReport.CrashInfo</b></A><br>
+<A HREF="pkg_android.app.html#ApplicationErrorReport.RunningServiceInfo" class="hiddenlink" target="rightframe"><b>ApplicationErrorReport.RunningServiceInfo</b></A><br>
+<A HREF="android.content.pm.ApplicationInfo.html" class="hiddenlink" target="rightframe">ApplicationInfo</A><br>
+<A HREF="android.appwidget.AppWidgetProviderInfo.html" class="hiddenlink" target="rightframe">AppWidgetProviderInfo</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="#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="#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="android.app.backup.BackupAgent.html" class="hiddenlink" target="rightframe">BackupAgent</A><br>
+<A HREF="pkg_dalvik.system.html#BaseDexClassLoader" class="hiddenlink" target="rightframe"><b>BaseDexClassLoader</b></A><br>
+<A HREF="android.renderscript.BaseObj.html" class="hiddenlink" target="rightframe">BaseObj</A><br>
+<A HREF="java.security.BasicPermission.html" class="hiddenlink" target="rightframe">BasicPermission</A><br>
+<A HREF="android.bluetooth.BluetoothAdapter.html" class="hiddenlink" target="rightframe">BluetoothAdapter</A><br>
+<A HREF="pkg_android.bluetooth.html#BluetoothHealth" class="hiddenlink" target="rightframe"><b>BluetoothHealth</b></A><br>
+<A HREF="pkg_android.bluetooth.html#BluetoothHealthAppConfiguration" class="hiddenlink" target="rightframe"><b>BluetoothHealthAppConfiguration</b></A><br>
+<A HREF="pkg_android.bluetooth.html#BluetoothHealthCallback" class="hiddenlink" target="rightframe"><b>BluetoothHealthCallback</b></A><br>
+<A HREF="android.bluetooth.BluetoothProfile.html" class="hiddenlink" target="rightframe"><i>BluetoothProfile</i></A><br>
+<A HREF="android.bluetooth.BluetoothSocket.html" class="hiddenlink" target="rightframe">BluetoothSocket</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.renderscript.Byte2.html" class="hiddenlink" target="rightframe">Byte2</A><br>
+<A HREF="android.renderscript.Byte3.html" class="hiddenlink" target="rightframe">Byte3</A><br>
+<A HREF="android.renderscript.Byte4.html" class="hiddenlink" target="rightframe">Byte4</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="#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="#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.provider.html#CalendarContract" class="hiddenlink" target="rightframe"><b>CalendarContract</b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.Attendees" class="hiddenlink" target="rightframe"><b>CalendarContract.Attendees</b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.AttendeesColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.AttendeesColumns</i></b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.CalendarAlerts" class="hiddenlink" target="rightframe"><b>CalendarContract.CalendarAlerts</b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.CalendarAlertsColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.CalendarAlertsColumns</i></b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.CalendarCache" class="hiddenlink" target="rightframe"><b>CalendarContract.CalendarCache</b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.CalendarCacheColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.CalendarCacheColumns</i></b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.CalendarColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.CalendarColumns</i></b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.CalendarEntity" class="hiddenlink" target="rightframe"><b>CalendarContract.CalendarEntity</b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.Calendars" class="hiddenlink" target="rightframe"><b>CalendarContract.Calendars</b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.CalendarSyncColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.CalendarSyncColumns</i></b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.EventDays" class="hiddenlink" target="rightframe"><b>CalendarContract.EventDays</b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.EventDaysColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.EventDaysColumns</i></b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.Events" class="hiddenlink" target="rightframe"><b>CalendarContract.Events</b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.EventsColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.EventsColumns</i></b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.EventsEntity" class="hiddenlink" target="rightframe"><b>CalendarContract.EventsEntity</b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.ExtendedProperties" class="hiddenlink" target="rightframe"><b>CalendarContract.ExtendedProperties</b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.ExtendedPropertiesColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.ExtendedPropertiesColumns</i></b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.Instances" class="hiddenlink" target="rightframe"><b>CalendarContract.Instances</b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.Reminders" class="hiddenlink" target="rightframe"><b>CalendarContract.Reminders</b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.RemindersColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.RemindersColumns</i></b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.SyncColumns" class="hiddenlink" target="rightframe"><b><i>CalendarContract.SyncColumns</i></b></A><br>
+<A HREF="pkg_android.provider.html#CalendarContract.SyncState" class="hiddenlink" target="rightframe"><b>CalendarContract.SyncState</b></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="pkg_android.hardware.html#Camera.Area" class="hiddenlink" target="rightframe"><b>Camera.Area</b></A><br>
+<A HREF="pkg_android.hardware.html#Camera.Face" class="hiddenlink" target="rightframe"><b>Camera.Face</b></A><br>
+<A HREF="pkg_android.hardware.html#Camera.FaceDetectionListener" class="hiddenlink" target="rightframe"><b><i>Camera.FaceDetectionListener</i></b></A><br>
+<A HREF="android.hardware.Camera.Parameters.html" class="hiddenlink" target="rightframe">Camera.Parameters</A><br>
+<A HREF="android.graphics.Canvas.html" class="hiddenlink" target="rightframe">Canvas</A><br>
+<A HREF="android.preference.CheckBoxPreference.html" class="hiddenlink" target="rightframe">CheckBoxPreference</A><br>
+<A HREF="java.lang.Class.html" class="hiddenlink" target="rightframe">Class</A><br>
+<A HREF="pkg_android.view.html#CollapsibleActionView" class="hiddenlink" target="rightframe"><b><i>CollapsibleActionView</i></b></A><br>
+<A HREF="pkg_android.content.html#ComponentCallbacks2" class="hiddenlink" target="rightframe"><b><i>ComponentCallbacks2</i></b></A><br>
+<A HREF="android.util.Config.html" class="hiddenlink" target="rightframe">Config</A><br>
+<A HREF="android.net.ConnectivityManager.html" class="hiddenlink" target="rightframe">ConnectivityManager</A><br>
+<A HREF="java.lang.reflect.Constructor.html" class="hiddenlink" target="rightframe">Constructor</A><br>
+<A HREF="android.provider.ContactsContract.html" class="hiddenlink" target="rightframe">ContactsContract</A><br>
+<A HREF="pkg_android.provider.html#ContactsContract.CommonDataKinds.Identity" class="hiddenlink" target="rightframe"><b>ContactsContract.CommonDataKinds.Identity</b></A><br>
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Photo.html" class="hiddenlink" target="rightframe">ContactsContract.CommonDataKinds.Photo</A><br>
+<A HREF="android.provider.ContactsContract.Contacts.html" class="hiddenlink" target="rightframe">ContactsContract.Contacts</A><br>
+<A HREF="android.provider.ContactsContract.Contacts.Photo.html" class="hiddenlink" target="rightframe">ContactsContract.Contacts.Photo</A><br>
+<A HREF="android.provider.ContactsContract.ContactsColumns.html" class="hiddenlink" target="rightframe"><i>ContactsContract.ContactsColumns</i></A><br>
+<A HREF="pkg_android.provider.html#ContactsContract.DataUsageFeedback" class="hiddenlink" target="rightframe"><b>ContactsContract.DataUsageFeedback</b></A><br>
+<A HREF="pkg_android.provider.html#ContactsContract.DisplayPhoto" class="hiddenlink" target="rightframe"><b>ContactsContract.DisplayPhoto</b></A><br>
+<A HREF="android.provider.ContactsContract.GroupsColumns.html" class="hiddenlink" target="rightframe"><i>ContactsContract.GroupsColumns</i></A><br>
+<A HREF="android.provider.ContactsContract.Intents.html" class="hiddenlink" target="rightframe">ContactsContract.Intents</A><br>
+<A HREF="pkg_android.provider.html#ContactsContract.Profile" class="hiddenlink" target="rightframe"><b>ContactsContract.Profile</b></A><br>
+<A HREF="pkg_android.provider.html#ContactsContract.ProfileSyncState" class="hiddenlink" target="rightframe"><b>ContactsContract.ProfileSyncState</b></A><br>
+<A HREF="pkg_android.provider.html#ContactsContract.RawContacts.DisplayPhoto" class="hiddenlink" target="rightframe"><b>ContactsContract.RawContacts.DisplayPhoto</b></A><br>
+<A HREF="android.provider.ContactsContract.RawContactsColumns.html" class="hiddenlink" target="rightframe"><i>ContactsContract.RawContactsColumns</i></A><br>
+<A HREF="android.provider.ContactsContract.RawContactsEntity.html" class="hiddenlink" target="rightframe">ContactsContract.RawContactsEntity</A><br>
+<A HREF="android.provider.ContactsContract.SettingsColumns.html" class="hiddenlink" target="rightframe"><i>ContactsContract.SettingsColumns</i></A><br>
+<A HREF="android.provider.ContactsContract.StatusUpdates.html" class="hiddenlink" target="rightframe">ContactsContract.StatusUpdates</A><br>
+<A HREF="android.content.ContentProvider.html" class="hiddenlink" target="rightframe">ContentProvider</A><br>
+<A HREF="android.content.Context.html" class="hiddenlink" target="rightframe">Context</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="#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="#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="android.os.Debug.html" class="hiddenlink" target="rightframe">Debug</A><br>
+<A HREF="android.os.Debug.MemoryInfo.html" class="hiddenlink" target="rightframe">Debug.MemoryInfo</A><br>
+<A HREF="android.app.admin.DeviceAdminInfo.html" class="hiddenlink" target="rightframe">DeviceAdminInfo</A><br>
+<A HREF="android.app.admin.DevicePolicyManager.html" class="hiddenlink" target="rightframe">DevicePolicyManager</A><br>
+<A HREF="dalvik.system.DexClassLoader.html" class="hiddenlink" target="rightframe">DexClassLoader</A><br>
+<A HREF="pkg_android.renderscript.html#Double2" class="hiddenlink" target="rightframe"><b>Double2</b></A><br>
+<A HREF="pkg_android.renderscript.html#Double3" class="hiddenlink" target="rightframe"><b>Double3</b></A><br>
+<A HREF="pkg_android.renderscript.html#Double4" class="hiddenlink" target="rightframe"><b>Double4</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="#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="#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.text.style.html#EasyEditSpan" class="hiddenlink" target="rightframe"><b>EasyEditSpan</b></A><br>
+<A HREF="pkg_android.widget.html#EdgeEffect" class="hiddenlink" target="rightframe"><b>EdgeEffect</b></A><br>
+<A HREF="android.renderscript.Element.html" class="hiddenlink" target="rightframe">Element</A><br>
+<A HREF="android.widget.ExpandableListView.html" class="hiddenlink" target="rightframe">ExpandableListView</A><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="#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="#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="java.lang.reflect.Field.html" class="hiddenlink" target="rightframe">Field</A><br>
+<A HREF="android.renderscript.FieldPacker.html" class="hiddenlink" target="rightframe">FieldPacker</A><br>
+<A HREF="java.io.FilePermission.html" class="hiddenlink" target="rightframe">FilePermission</A><br>
+<A HREF="android.animation.FloatEvaluator.html" class="hiddenlink" target="rightframe">FloatEvaluator</A><br>
+<A HREF="android.app.Fragment.html" class="hiddenlink" target="rightframe">Fragment</A><br>
+<A HREF="android.app.FragmentManager.html" class="hiddenlink" target="rightframe">FragmentManager</A><br>
+<A HREF="android.app.FragmentManager.BackStackEntry.html" class="hiddenlink" target="rightframe"><i>FragmentManager.BackStackEntry</i></A><br>
+<A HREF="android.widget.FrameLayout.html" class="hiddenlink" target="rightframe">FrameLayout</A><br>
+<A HREF="pkg_android.app.backup.html#FullBackupDataOutput" class="hiddenlink" target="rightframe"><b>FullBackupDataOutput</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="#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">
+<A HREF="android.opengl.GLUtils.html" class="hiddenlink" target="rightframe">GLUtils</A><br>
+<A HREF="android.view.Gravity.html" class="hiddenlink" target="rightframe">Gravity</A><br>
+<A HREF="pkg_android.widget.html#GridLayout" class="hiddenlink" target="rightframe"><b>GridLayout</b></A><br>
+<A HREF="pkg_android.widget.html#GridLayout.Alignment" class="hiddenlink" target="rightframe"><b>GridLayout.Alignment</b></A><br>
+<A HREF="pkg_android.widget.html#GridLayout.LayoutParams" class="hiddenlink" target="rightframe"><b>GridLayout.LayoutParams</b></A><br>
+<A HREF="pkg_android.widget.html#GridLayout.Spec" class="hiddenlink" target="rightframe"><b>GridLayout.Spec</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="#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="#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>Handler</i><br>
+&nbsp;&nbsp;<A HREF="android.os.Handler.html" class="hiddenlink" target="rightframe">android.os</A><br>
+&nbsp;&nbsp;<A HREF="java.util.logging.Handler.html" class="hiddenlink" target="rightframe">java.util.logging</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="#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="#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="android.view.InputDevice.html" class="hiddenlink" target="rightframe">InputDevice</A><br>
+<A HREF="android.view.inputmethod.InputMethodManager.html" class="hiddenlink" target="rightframe">InputMethodManager</A><br>
+<A HREF="android.inputmethodservice.InputMethodService.html" class="hiddenlink" target="rightframe">InputMethodService</A><br>
+<A HREF="android.inputmethodservice.InputMethodService.InputMethodSessionImpl.html" class="hiddenlink" target="rightframe">InputMethodService.InputMethodSessionImpl</A><br>
+<A HREF="android.view.inputmethod.InputMethodSession.html" class="hiddenlink" target="rightframe"><i>InputMethodSession</i></A><br>
+<A HREF="android.view.inputmethod.InputMethodSubtype.html" class="hiddenlink" target="rightframe">InputMethodSubtype</A><br>
+<A HREF="android.renderscript.Int2.html" class="hiddenlink" target="rightframe">Int2</A><br>
+<A HREF="android.renderscript.Int3.html" class="hiddenlink" target="rightframe">Int3</A><br>
+<A HREF="android.renderscript.Int4.html" class="hiddenlink" target="rightframe">Int4</A><br>
+<A HREF="android.content.Intent.html" class="hiddenlink" target="rightframe">Intent</A><br>
+<A HREF="android.content.IntentSender.html" class="hiddenlink" target="rightframe">IntentSender</A><br>
+<A HREF="android.animation.IntEvaluator.html" class="hiddenlink" target="rightframe">IntEvaluator</A><br>
+<A HREF="android.nfc.tech.IsoDep.html" class="hiddenlink" target="rightframe">IsoDep</A><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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.view.KeyEvent.html" class="hiddenlink" target="rightframe">KeyEvent</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="#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="#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="android.text.Layout.html" class="hiddenlink" target="rightframe">Layout</A><br>
+<A HREF="android.animation.LayoutTransition.html" class="hiddenlink" target="rightframe">LayoutTransition</A><br>
+<A HREF="android.widget.LinearLayout.html" class="hiddenlink" target="rightframe">LinearLayout</A><br>
+<A HREF="android.provider.LiveFolders.html" class="hiddenlink" target="rightframe">LiveFolders</A><br>
+<A HREF="android.renderscript.Long2.html" class="hiddenlink" target="rightframe">Long2</A><br>
+<A HREF="android.renderscript.Long3.html" class="hiddenlink" target="rightframe">Long3</A><br>
+<A HREF="android.renderscript.Long4.html" class="hiddenlink" target="rightframe">Long4</A><br>
+<A HREF="android.os.Looper.html" class="hiddenlink" target="rightframe">Looper</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="#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="#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="android.Manifest.permission.html" class="hiddenlink" target="rightframe">Manifest.permission</A><br>
+<A HREF="android.opengl.Matrix.html" class="hiddenlink" target="rightframe">Matrix</A><br>
+<A HREF="android.media.MediaMetadataRetriever.html" class="hiddenlink" target="rightframe">MediaMetadataRetriever</A><br>
+<A HREF="android.media.MediaPlayer.html" class="hiddenlink" target="rightframe">MediaPlayer</A><br>
+<A HREF="android.media.MediaRecorder.html" class="hiddenlink" target="rightframe">MediaRecorder</A><br>
+<A HREF="android.provider.MediaStore.Audio.AudioColumns.html" class="hiddenlink" target="rightframe"><i>MediaStore.Audio.AudioColumns</i></A><br>
+<A HREF="android.view.MenuItem.html" class="hiddenlink" target="rightframe"><i>MenuItem</i></A><br>
+<A HREF="pkg_android.view.html#MenuItem.OnActionExpandListener" class="hiddenlink" target="rightframe"><b><i>MenuItem.OnActionExpandListener</i></b></A><br>
+<A HREF="java.lang.reflect.Method.html" class="hiddenlink" target="rightframe">Method</A><br>
+<A HREF="android.nfc.tech.MifareClassic.html" class="hiddenlink" target="rightframe">MifareClassic</A><br>
+<A HREF="android.nfc.tech.MifareUltralight.html" class="hiddenlink" target="rightframe">MifareUltralight</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 HREF="pkg_android.view.html#MotionEvent.PointerProperties" class="hiddenlink" target="rightframe"><b>MotionEvent.PointerProperties</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="#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="#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="android.nfc.NdefRecord.html" class="hiddenlink" target="rightframe">NdefRecord</A><br>
+<A HREF="pkg_android.net.html#NetworkQuotaInfo" class="hiddenlink" target="rightframe"><b>NetworkQuotaInfo</b></A><br>
+<A HREF="android.nfc.tech.NfcA.html" class="hiddenlink" target="rightframe">NfcA</A><br>
+<A HREF="android.nfc.NfcAdapter.html" class="hiddenlink" target="rightframe">NfcAdapter</A><br>
+<A HREF="pkg_android.nfc.html#NfcAdapter.CreateNdefMessageCallback" class="hiddenlink" target="rightframe"><b><i>NfcAdapter.CreateNdefMessageCallback</i></b></A><br>
+<A HREF="pkg_android.nfc.html#NfcAdapter.OnNdefPushCompleteCallback" class="hiddenlink" target="rightframe"><b><i>NfcAdapter.OnNdefPushCompleteCallback</i></b></A><br>
+<A HREF="android.nfc.tech.NfcB.html" class="hiddenlink" target="rightframe">NfcB</A><br>
+<A HREF="pkg_android.nfc.html#NfcEvent" class="hiddenlink" target="rightframe"><b>NfcEvent</b></A><br>
+<A HREF="android.nfc.tech.NfcF.html" class="hiddenlink" target="rightframe">NfcF</A><br>
+<A HREF="android.nfc.tech.NfcV.html" class="hiddenlink" target="rightframe">NfcV</A><br>
+<A HREF="pkg_android.util.html#NoSuchPropertyException" class="hiddenlink" target="rightframe"><b>NoSuchPropertyException</b></A><br>
+<A HREF="android.app.Notification.Builder.html" class="hiddenlink" target="rightframe">Notification.Builder</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="#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="#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="android.animation.ObjectAnimator.html" class="hiddenlink" target="rightframe">ObjectAnimator</A><br>
+<A HREF="java.io.ObjectInputStream.html" class="hiddenlink" target="rightframe">ObjectInputStream</A><br>
+<A HREF="java.io.ObjectOutputStream.html" class="hiddenlink" target="rightframe">ObjectOutputStream</A><br>
+<A HREF="android.widget.OverScroller.html" class="hiddenlink" target="rightframe">OverScroller</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="#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="#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="android.content.pm.PackageManager.html" class="hiddenlink" target="rightframe">PackageManager</A><br>
+<A HREF="android.content.pm.PackageStats.html" class="hiddenlink" target="rightframe">PackageStats</A><br>
+<A HREF="android.graphics.Paint.html" class="hiddenlink" target="rightframe">Paint</A><br>
+<A HREF="android.os.ParcelFileDescriptor.html" class="hiddenlink" target="rightframe">ParcelFileDescriptor</A><br>
+<A HREF="dalvik.system.PathClassLoader.html" class="hiddenlink" target="rightframe">PathClassLoader</A><br>
+<A HREF="android.util.Patterns.html" class="hiddenlink" target="rightframe">Patterns</A><br>
+<A HREF="android.app.PendingIntent.html" class="hiddenlink" target="rightframe">PendingIntent</A><br>
+<A HREF="java.security.Permission.html" class="hiddenlink" target="rightframe">Permission</A><br>
+<A HREF="android.widget.PopupMenu.html" class="hiddenlink" target="rightframe">PopupMenu</A><br>
+<A HREF="pkg_android.widget.html#PopupMenu.OnDismissListener" class="hiddenlink" target="rightframe"><b><i>PopupMenu.OnDismissListener</i></b></A><br>
+<A HREF="android.preference.Preference.html" class="hiddenlink" target="rightframe">Preference</A><br>
+<A HREF="android.preference.PreferenceActivity.html" class="hiddenlink" target="rightframe">PreferenceActivity</A><br>
+<A HREF="javax.security.auth.PrivateCredentialPermission.html" class="hiddenlink" target="rightframe">PrivateCredentialPermission</A><br>
+<A HREF="android.os.Process.html" class="hiddenlink" target="rightframe">Process</A><br>
+<A HREF="pkg_android.util.html#Property" class="hiddenlink" target="rightframe"><b>Property</b></A><br>
+<A HREF="android.animation.PropertyValuesHolder.html" class="hiddenlink" target="rightframe">PropertyValuesHolder</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="#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="#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="android.R.attr.html" class="hiddenlink" target="rightframe">R.attr</A><br>
+<A HREF="android.R.color.html" class="hiddenlink" target="rightframe">R.color</A><br>
+<A HREF="android.R.integer.html" class="hiddenlink" target="rightframe">R.integer</A><br>
+<A HREF="android.R.string.html" class="hiddenlink" target="rightframe">R.string</A><br>
+<A HREF="android.R.style.html" class="hiddenlink" target="rightframe">R.style</A><br>
+<A HREF="android.speech.RecognizerIntent.html" class="hiddenlink" target="rightframe">RecognizerIntent</A><br>
+<A HREF="android.os.RecoverySystem.html" class="hiddenlink" target="rightframe">RecoverySystem</A><br>
+<A HREF="android.graphics.RectF.html" class="hiddenlink" target="rightframe">RectF</A><br>
+<A HREF="java.lang.ref.ReferenceQueue.html" class="hiddenlink" target="rightframe">ReferenceQueue</A><br>
+<A HREF="pkg_android.media.html#RemoteControlClient" class="hiddenlink" target="rightframe"><b>RemoteControlClient</b></A><br>
+<A HREF="pkg_android.media.html#RemoteControlClient.MetadataEditor" class="hiddenlink" target="rightframe"><b>RemoteControlClient.MetadataEditor</b></A><br>
+<A HREF="android.widget.RemoteViews.html" class="hiddenlink" target="rightframe">RemoteViews</A><br>
+<A HREF="android.renderscript.RenderScriptGL.html" class="hiddenlink" target="rightframe">RenderScriptGL</A><br>
+<A HREF="pkg_android.renderscript.html#RSTextureView" class="hiddenlink" target="rightframe"><b>RSTextureView</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="#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="#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="android.renderscript.Script.html" class="hiddenlink" target="rightframe">Script</A><br>
+<A HREF="android.widget.Scroller.html" class="hiddenlink" target="rightframe">Scroller</A><br>
+<A HREF="android.app.SearchManager.html" class="hiddenlink" target="rightframe">SearchManager</A><br>
+<A HREF="android.widget.SearchView.html" class="hiddenlink" target="rightframe">SearchView</A><br>
+<A HREF="android.hardware.Sensor.html" class="hiddenlink" target="rightframe">Sensor</A><br>
+<A HREF="android.app.Service.html" class="hiddenlink" target="rightframe">Service</A><br>
+<A HREF="android.content.pm.ServiceInfo.html" class="hiddenlink" target="rightframe">ServiceInfo</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="pkg_android.widget.html#ShareActionProvider" class="hiddenlink" target="rightframe"><b>ShareActionProvider</b></A><br>
+<A HREF="pkg_android.widget.html#ShareActionProvider.OnShareTargetSelectedListener" class="hiddenlink" target="rightframe"><b><i>ShareActionProvider.OnShareTargetSelectedListener</i></b></A><br>
+<A HREF="android.renderscript.Short2.html" class="hiddenlink" target="rightframe">Short2</A><br>
+<A HREF="android.renderscript.Short3.html" class="hiddenlink" target="rightframe">Short3</A><br>
+<A HREF="android.renderscript.Short4.html" class="hiddenlink" target="rightframe">Short4</A><br>
+<A HREF="java.net.SocketPermission.html" class="hiddenlink" target="rightframe">SocketPermission</A><br>
+<A HREF="pkg_android.widget.html#Space" class="hiddenlink" target="rightframe"><b>Space</b></A><br>
+<A HREF="android.util.SparseArray.html" class="hiddenlink" target="rightframe">SparseArray</A><br>
+<A HREF="android.util.SparseBooleanArray.html" class="hiddenlink" target="rightframe">SparseBooleanArray</A><br>
+<A HREF="android.util.SparseIntArray.html" class="hiddenlink" target="rightframe">SparseIntArray</A><br>
+<A HREF="android.speech.SpeechRecognizer.html" class="hiddenlink" target="rightframe">SpeechRecognizer</A><br>
+<A HREF="android.database.sqlite.SQLiteOpenHelper.html" class="hiddenlink" target="rightframe">SQLiteOpenHelper</A><br>
+<A HREF="android.database.sqlite.SQLiteQueryBuilder.html" class="hiddenlink" target="rightframe">SQLiteQueryBuilder</A><br>
+<A HREF="android.net.SSLCertificateSocketFactory.html" class="hiddenlink" target="rightframe">SSLCertificateSocketFactory</A><br>
+<A HREF="android.net.http.SslError.html" class="hiddenlink" target="rightframe">SslError</A><br>
+<A HREF="android.widget.StackView.html" class="hiddenlink" target="rightframe">StackView</A><br>
+<A HREF="pkg_android.text.style.html#SuggestionSpan" class="hiddenlink" target="rightframe"><b>SuggestionSpan</b></A><br>
+<A HREF="android.view.Surface.html" class="hiddenlink" target="rightframe">Surface</A><br>
+<A HREF="android.graphics.SurfaceTexture.html" class="hiddenlink" target="rightframe">SurfaceTexture</A><br>
+<A HREF="pkg_android.widget.html#Switch" class="hiddenlink" target="rightframe"><b>Switch</b></A><br>
+<A HREF="pkg_android.preference.html#SwitchPreference" class="hiddenlink" target="rightframe"><b>SwitchPreference</b></A><br>
+<A HREF="android.content.SyncAdapterType.html" class="hiddenlink" target="rightframe">SyncAdapterType</A><br>
+<A HREF="pkg_android.speech.tts.html#SynthesisCallback" class="hiddenlink" target="rightframe"><b><i>SynthesisCallback</i></b></A><br>
+<A HREF="pkg_android.speech.tts.html#SynthesisRequest" class="hiddenlink" target="rightframe"><b>SynthesisRequest</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="#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="#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="dalvik.annotation.TestTarget.html" class="hiddenlink" target="rightframe">TestTarget</A><br>
+<A HREF="dalvik.annotation.TestTargetClass.html" class="hiddenlink" target="rightframe">TestTargetClass</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.speech.tts.html#TextToSpeech.EngineInfo" class="hiddenlink" target="rightframe"><b>TextToSpeech.EngineInfo</b></A><br>
+<A HREF="pkg_android.speech.tts.html#TextToSpeechService" class="hiddenlink" target="rightframe"><b>TextToSpeechService</b></A><br>
+<A HREF="pkg_android.view.html#TextureView" class="hiddenlink" target="rightframe"><b>TextureView</b></A><br>
+<A HREF="pkg_android.view.html#TextureView.SurfaceTextureListener" class="hiddenlink" target="rightframe"><b><i>TextureView.SurfaceTextureListener</i></b></A><br>
+<A HREF="android.widget.TextView.html" class="hiddenlink" target="rightframe">TextView</A><br>
+<A HREF="android.net.TrafficStats.html" class="hiddenlink" target="rightframe">TrafficStats</A><br>
+<A HREF="pkg_android.preference.html#TwoStatePreference" class="hiddenlink" target="rightframe"><b>TwoStatePreference</b></A><br>
+<A HREF="android.animation.TypeEvaluator.html" class="hiddenlink" target="rightframe"><i>TypeEvaluator</i></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="#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="#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="java.security.UnresolvedPermission.html" class="hiddenlink" target="rightframe">UnresolvedPermission</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="#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">
+<A HREF="android.view.View.html" class="hiddenlink" target="rightframe">View</A><br>
+<A HREF="pkg_android.view.html#View.AccessibilityDelegate" class="hiddenlink" target="rightframe"><b>View.AccessibilityDelegate</b></A><br>
+<A HREF="pkg_android.view.html#View.OnHoverListener" class="hiddenlink" target="rightframe"><b><i>View.OnHoverListener</i></b></A><br>
+<A HREF="android.view.ViewConfiguration.html" class="hiddenlink" target="rightframe">ViewConfiguration</A><br>
+<A HREF="android.view.ViewGroup.html" class="hiddenlink" target="rightframe">ViewGroup</A><br>
+<A HREF="android.view.ViewParent.html" class="hiddenlink" target="rightframe"><i>ViewParent</i></A><br>
+<A HREF="android.view.ViewPropertyAnimator.html" class="hiddenlink" target="rightframe">ViewPropertyAnimator</A><br>
+<A HREF="pkg_android.provider.html#VoicemailContract" class="hiddenlink" target="rightframe"><b>VoicemailContract</b></A><br>
+<A HREF="pkg_android.provider.html#VoicemailContract.Status" class="hiddenlink" target="rightframe"><b>VoicemailContract.Status</b></A><br>
+<A HREF="pkg_android.provider.html#VoicemailContract.Voicemails" class="hiddenlink" target="rightframe"><b>VoicemailContract.Voicemails</b></A><br>
+<A HREF="pkg_android.net.html#VpnService" class="hiddenlink" target="rightframe"><b>VpnService</b></A><br>
+<A HREF="pkg_android.net.html#VpnService.Builder" class="hiddenlink" target="rightframe"><b>VpnService.Builder</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="#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="#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">
+<A HREF="android.app.WallpaperManager.html" class="hiddenlink" target="rightframe">WallpaperManager</A><br>
+<A HREF="android.service.wallpaper.WallpaperService.Engine.html" class="hiddenlink" target="rightframe">WallpaperService.Engine</A><br>
+<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.WebSettings.TextSize.html" class="hiddenlink" target="rightframe">WebSettings.TextSize</A><br>
+<A HREF="android.webkit.WebView.HitTestResult.html" class="hiddenlink" target="rightframe">WebView.HitTestResult</A><br>
+<A HREF="android.net.wifi.WifiManager.html" class="hiddenlink" target="rightframe">WifiManager</A><br>
+<A HREF="android.view.Window.html" class="hiddenlink" target="rightframe">Window</A><br>
+<A HREF="android.view.WindowManager.LayoutParams.html" class="hiddenlink" target="rightframe">WindowManager.LayoutParams</A><br>
+<A HREF="pkg_android.net.wifi.html#WpsInfo" class="hiddenlink" target="rightframe"><b>WpsInfo</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/14/changes/classes_index_changes.html b/docs/html/sdk/api_diff/14/changes/classes_index_changes.html
new file mode 100644
index 0000000..0710892
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/classes_index_changes.html
@@ -0,0 +1,758 @@
+<!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="#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="#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="android.widget.AbsListView.html" class="hiddenlink" target="rightframe">AbsListView</A><br>
+<A HREF="android.view.accessibility.AccessibilityEvent.html" class="hiddenlink" target="rightframe">AccessibilityEvent</A><br>
+<A HREF="android.view.accessibility.AccessibilityManager.html" class="hiddenlink" target="rightframe">AccessibilityManager</A><br>
+<A HREF="android.accessibilityservice.AccessibilityService.html" class="hiddenlink" target="rightframe">AccessibilityService</A><br>
+<A HREF="android.accessibilityservice.AccessibilityServiceInfo.html" class="hiddenlink" target="rightframe">AccessibilityServiceInfo</A><br>
+<A HREF="java.lang.reflect.AccessibleObject.html" class="hiddenlink" target="rightframe">AccessibleObject</A><br>
+<A HREF="android.accounts.AccountManager.html" class="hiddenlink" target="rightframe">AccountManager</A><br>
+<A HREF="android.app.ActionBar.html" class="hiddenlink" target="rightframe">ActionBar</A><br>
+<A HREF="android.app.ActionBar.Tab.html" class="hiddenlink" target="rightframe">ActionBar.Tab</A><br>
+<A HREF="android.view.ActionMode.html" class="hiddenlink" target="rightframe">ActionMode</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.widget.AdapterViewAnimator.html" class="hiddenlink" target="rightframe">AdapterViewAnimator</A><br>
+<A HREF="android.app.AlertDialog.html" class="hiddenlink" target="rightframe">AlertDialog</A><br>
+<A HREF="android.renderscript.Allocation.html" class="hiddenlink" target="rightframe">Allocation</A><br>
+<A HREF="android.renderscript.AllocationAdapter.html" class="hiddenlink" target="rightframe">AllocationAdapter</A><br>
+<A HREF="java.security.AllPermission.html" class="hiddenlink" target="rightframe">AllPermission</A><br>
+<A HREF="android.animation.Animator.html" class="hiddenlink" target="rightframe">Animator</A><br>
+<A HREF="android.app.Application.html" class="hiddenlink" target="rightframe">Application</A><br>
+<A HREF="android.content.pm.ApplicationInfo.html" class="hiddenlink" target="rightframe">ApplicationInfo</A><br>
+<A HREF="android.appwidget.AppWidgetProviderInfo.html" class="hiddenlink" target="rightframe">AppWidgetProviderInfo</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="#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="#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="android.app.backup.BackupAgent.html" class="hiddenlink" target="rightframe">BackupAgent</A><br>
+<A HREF="android.renderscript.BaseObj.html" class="hiddenlink" target="rightframe">BaseObj</A><br>
+<A HREF="java.security.BasicPermission.html" class="hiddenlink" target="rightframe">BasicPermission</A><br>
+<A HREF="android.bluetooth.BluetoothAdapter.html" class="hiddenlink" target="rightframe">BluetoothAdapter</A><br>
+<A HREF="android.bluetooth.BluetoothProfile.html" class="hiddenlink" target="rightframe"><i>BluetoothProfile</i></A><br>
+<A HREF="android.bluetooth.BluetoothSocket.html" class="hiddenlink" target="rightframe">BluetoothSocket</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.renderscript.Byte2.html" class="hiddenlink" target="rightframe">Byte2</A><br>
+<A HREF="android.renderscript.Byte3.html" class="hiddenlink" target="rightframe">Byte3</A><br>
+<A HREF="android.renderscript.Byte4.html" class="hiddenlink" target="rightframe">Byte4</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="#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="#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="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="android.graphics.Canvas.html" class="hiddenlink" target="rightframe">Canvas</A><br>
+<A HREF="android.preference.CheckBoxPreference.html" class="hiddenlink" target="rightframe">CheckBoxPreference</A><br>
+<A HREF="java.lang.Class.html" class="hiddenlink" target="rightframe">Class</A><br>
+<A HREF="android.util.Config.html" class="hiddenlink" target="rightframe">Config</A><br>
+<A HREF="android.net.ConnectivityManager.html" class="hiddenlink" target="rightframe">ConnectivityManager</A><br>
+<A HREF="java.lang.reflect.Constructor.html" class="hiddenlink" target="rightframe">Constructor</A><br>
+<A HREF="android.provider.ContactsContract.html" class="hiddenlink" target="rightframe">ContactsContract</A><br>
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Photo.html" class="hiddenlink" target="rightframe">ContactsContract.CommonDataKinds.Photo</A><br>
+<A HREF="android.provider.ContactsContract.Contacts.html" class="hiddenlink" target="rightframe">ContactsContract.Contacts</A><br>
+<A HREF="android.provider.ContactsContract.Contacts.Photo.html" class="hiddenlink" target="rightframe">ContactsContract.Contacts.Photo</A><br>
+<A HREF="android.provider.ContactsContract.ContactsColumns.html" class="hiddenlink" target="rightframe"><i>ContactsContract.ContactsColumns</i></A><br>
+<A HREF="android.provider.ContactsContract.GroupsColumns.html" class="hiddenlink" target="rightframe"><i>ContactsContract.GroupsColumns</i></A><br>
+<A HREF="android.provider.ContactsContract.Intents.html" class="hiddenlink" target="rightframe">ContactsContract.Intents</A><br>
+<A HREF="android.provider.ContactsContract.RawContactsColumns.html" class="hiddenlink" target="rightframe"><i>ContactsContract.RawContactsColumns</i></A><br>
+<A HREF="android.provider.ContactsContract.RawContactsEntity.html" class="hiddenlink" target="rightframe">ContactsContract.RawContactsEntity</A><br>
+<A HREF="android.provider.ContactsContract.SettingsColumns.html" class="hiddenlink" target="rightframe"><i>ContactsContract.SettingsColumns</i></A><br>
+<A HREF="android.provider.ContactsContract.StatusUpdates.html" class="hiddenlink" target="rightframe">ContactsContract.StatusUpdates</A><br>
+<A HREF="android.content.ContentProvider.html" class="hiddenlink" target="rightframe">ContentProvider</A><br>
+<A HREF="android.content.Context.html" class="hiddenlink" target="rightframe">Context</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="#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="#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="android.os.Debug.html" class="hiddenlink" target="rightframe">Debug</A><br>
+<A HREF="android.os.Debug.MemoryInfo.html" class="hiddenlink" target="rightframe">Debug.MemoryInfo</A><br>
+<A HREF="android.app.admin.DeviceAdminInfo.html" class="hiddenlink" target="rightframe">DeviceAdminInfo</A><br>
+<A HREF="android.app.admin.DevicePolicyManager.html" class="hiddenlink" target="rightframe">DevicePolicyManager</A><br>
+<A HREF="dalvik.system.DexClassLoader.html" class="hiddenlink" target="rightframe">DexClassLoader</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="#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="#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="android.renderscript.Element.html" class="hiddenlink" target="rightframe">Element</A><br>
+<A HREF="android.widget.ExpandableListView.html" class="hiddenlink" target="rightframe">ExpandableListView</A><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="#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="#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="java.lang.reflect.Field.html" class="hiddenlink" target="rightframe">Field</A><br>
+<A HREF="android.renderscript.FieldPacker.html" class="hiddenlink" target="rightframe">FieldPacker</A><br>
+<A HREF="java.io.FilePermission.html" class="hiddenlink" target="rightframe">FilePermission</A><br>
+<A HREF="android.animation.FloatEvaluator.html" class="hiddenlink" target="rightframe">FloatEvaluator</A><br>
+<A HREF="android.app.Fragment.html" class="hiddenlink" target="rightframe">Fragment</A><br>
+<A HREF="android.app.FragmentManager.html" class="hiddenlink" target="rightframe">FragmentManager</A><br>
+<A HREF="android.app.FragmentManager.BackStackEntry.html" class="hiddenlink" target="rightframe"><i>FragmentManager.BackStackEntry</i></A><br>
+<A HREF="android.widget.FrameLayout.html" class="hiddenlink" target="rightframe">FrameLayout</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="#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">
+<A HREF="android.opengl.GLUtils.html" class="hiddenlink" target="rightframe">GLUtils</A><br>
+<A HREF="android.view.Gravity.html" class="hiddenlink" target="rightframe">Gravity</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="#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="#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>Handler</i><br>
+&nbsp;&nbsp;<A HREF="android.os.Handler.html" class="hiddenlink" target="rightframe">android.os</A><br>
+&nbsp;&nbsp;<A HREF="java.util.logging.Handler.html" class="hiddenlink" target="rightframe">java.util.logging</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="#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="#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="android.view.InputDevice.html" class="hiddenlink" target="rightframe">InputDevice</A><br>
+<A HREF="android.view.inputmethod.InputMethodManager.html" class="hiddenlink" target="rightframe">InputMethodManager</A><br>
+<A HREF="android.inputmethodservice.InputMethodService.html" class="hiddenlink" target="rightframe">InputMethodService</A><br>
+<A HREF="android.inputmethodservice.InputMethodService.InputMethodSessionImpl.html" class="hiddenlink" target="rightframe">InputMethodService.InputMethodSessionImpl</A><br>
+<A HREF="android.view.inputmethod.InputMethodSession.html" class="hiddenlink" target="rightframe"><i>InputMethodSession</i></A><br>
+<A HREF="android.view.inputmethod.InputMethodSubtype.html" class="hiddenlink" target="rightframe">InputMethodSubtype</A><br>
+<A HREF="android.renderscript.Int2.html" class="hiddenlink" target="rightframe">Int2</A><br>
+<A HREF="android.renderscript.Int3.html" class="hiddenlink" target="rightframe">Int3</A><br>
+<A HREF="android.renderscript.Int4.html" class="hiddenlink" target="rightframe">Int4</A><br>
+<A HREF="android.content.Intent.html" class="hiddenlink" target="rightframe">Intent</A><br>
+<A HREF="android.content.IntentSender.html" class="hiddenlink" target="rightframe">IntentSender</A><br>
+<A HREF="android.animation.IntEvaluator.html" class="hiddenlink" target="rightframe">IntEvaluator</A><br>
+<A HREF="android.nfc.tech.IsoDep.html" class="hiddenlink" target="rightframe">IsoDep</A><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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.view.KeyEvent.html" class="hiddenlink" target="rightframe">KeyEvent</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="#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="#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="android.text.Layout.html" class="hiddenlink" target="rightframe">Layout</A><br>
+<A HREF="android.animation.LayoutTransition.html" class="hiddenlink" target="rightframe">LayoutTransition</A><br>
+<A HREF="android.widget.LinearLayout.html" class="hiddenlink" target="rightframe">LinearLayout</A><br>
+<A HREF="android.provider.LiveFolders.html" class="hiddenlink" target="rightframe">LiveFolders</A><br>
+<A HREF="android.renderscript.Long2.html" class="hiddenlink" target="rightframe">Long2</A><br>
+<A HREF="android.renderscript.Long3.html" class="hiddenlink" target="rightframe">Long3</A><br>
+<A HREF="android.renderscript.Long4.html" class="hiddenlink" target="rightframe">Long4</A><br>
+<A HREF="android.os.Looper.html" class="hiddenlink" target="rightframe">Looper</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="#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="#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="android.Manifest.permission.html" class="hiddenlink" target="rightframe">Manifest.permission</A><br>
+<A HREF="android.opengl.Matrix.html" class="hiddenlink" target="rightframe">Matrix</A><br>
+<A HREF="android.media.MediaMetadataRetriever.html" class="hiddenlink" target="rightframe">MediaMetadataRetriever</A><br>
+<A HREF="android.media.MediaPlayer.html" class="hiddenlink" target="rightframe">MediaPlayer</A><br>
+<A HREF="android.media.MediaRecorder.html" class="hiddenlink" target="rightframe">MediaRecorder</A><br>
+<A HREF="android.provider.MediaStore.Audio.AudioColumns.html" class="hiddenlink" target="rightframe"><i>MediaStore.Audio.AudioColumns</i></A><br>
+<A HREF="android.view.MenuItem.html" class="hiddenlink" target="rightframe"><i>MenuItem</i></A><br>
+<A HREF="java.lang.reflect.Method.html" class="hiddenlink" target="rightframe">Method</A><br>
+<A HREF="android.nfc.tech.MifareClassic.html" class="hiddenlink" target="rightframe">MifareClassic</A><br>
+<A HREF="android.nfc.tech.MifareUltralight.html" class="hiddenlink" target="rightframe">MifareUltralight</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="#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="#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="android.nfc.NdefRecord.html" class="hiddenlink" target="rightframe">NdefRecord</A><br>
+<A HREF="android.nfc.tech.NfcA.html" class="hiddenlink" target="rightframe">NfcA</A><br>
+<A HREF="android.nfc.NfcAdapter.html" class="hiddenlink" target="rightframe">NfcAdapter</A><br>
+<A HREF="android.nfc.tech.NfcB.html" class="hiddenlink" target="rightframe">NfcB</A><br>
+<A HREF="android.nfc.tech.NfcF.html" class="hiddenlink" target="rightframe">NfcF</A><br>
+<A HREF="android.nfc.tech.NfcV.html" class="hiddenlink" target="rightframe">NfcV</A><br>
+<A HREF="android.app.Notification.Builder.html" class="hiddenlink" target="rightframe">Notification.Builder</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="#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="#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="android.animation.ObjectAnimator.html" class="hiddenlink" target="rightframe">ObjectAnimator</A><br>
+<A HREF="java.io.ObjectInputStream.html" class="hiddenlink" target="rightframe">ObjectInputStream</A><br>
+<A HREF="java.io.ObjectOutputStream.html" class="hiddenlink" target="rightframe">ObjectOutputStream</A><br>
+<A HREF="android.widget.OverScroller.html" class="hiddenlink" target="rightframe">OverScroller</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="#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="#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="android.content.pm.PackageManager.html" class="hiddenlink" target="rightframe">PackageManager</A><br>
+<A HREF="android.content.pm.PackageStats.html" class="hiddenlink" target="rightframe">PackageStats</A><br>
+<A HREF="android.graphics.Paint.html" class="hiddenlink" target="rightframe">Paint</A><br>
+<A HREF="android.os.ParcelFileDescriptor.html" class="hiddenlink" target="rightframe">ParcelFileDescriptor</A><br>
+<A HREF="dalvik.system.PathClassLoader.html" class="hiddenlink" target="rightframe">PathClassLoader</A><br>
+<A HREF="android.util.Patterns.html" class="hiddenlink" target="rightframe">Patterns</A><br>
+<A HREF="android.app.PendingIntent.html" class="hiddenlink" target="rightframe">PendingIntent</A><br>
+<A HREF="java.security.Permission.html" class="hiddenlink" target="rightframe">Permission</A><br>
+<A HREF="android.widget.PopupMenu.html" class="hiddenlink" target="rightframe">PopupMenu</A><br>
+<A HREF="android.preference.Preference.html" class="hiddenlink" target="rightframe">Preference</A><br>
+<A HREF="android.preference.PreferenceActivity.html" class="hiddenlink" target="rightframe">PreferenceActivity</A><br>
+<A HREF="javax.security.auth.PrivateCredentialPermission.html" class="hiddenlink" target="rightframe">PrivateCredentialPermission</A><br>
+<A HREF="android.os.Process.html" class="hiddenlink" target="rightframe">Process</A><br>
+<A HREF="android.animation.PropertyValuesHolder.html" class="hiddenlink" target="rightframe">PropertyValuesHolder</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="#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="#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="android.R.attr.html" class="hiddenlink" target="rightframe">R.attr</A><br>
+<A HREF="android.R.color.html" class="hiddenlink" target="rightframe">R.color</A><br>
+<A HREF="android.R.integer.html" class="hiddenlink" target="rightframe">R.integer</A><br>
+<A HREF="android.R.string.html" class="hiddenlink" target="rightframe">R.string</A><br>
+<A HREF="android.R.style.html" class="hiddenlink" target="rightframe">R.style</A><br>
+<A HREF="android.speech.RecognizerIntent.html" class="hiddenlink" target="rightframe">RecognizerIntent</A><br>
+<A HREF="android.os.RecoverySystem.html" class="hiddenlink" target="rightframe">RecoverySystem</A><br>
+<A HREF="android.graphics.RectF.html" class="hiddenlink" target="rightframe">RectF</A><br>
+<A HREF="java.lang.ref.ReferenceQueue.html" class="hiddenlink" target="rightframe">ReferenceQueue</A><br>
+<A HREF="android.widget.RemoteViews.html" class="hiddenlink" target="rightframe">RemoteViews</A><br>
+<A HREF="android.renderscript.RenderScriptGL.html" class="hiddenlink" target="rightframe">RenderScriptGL</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="#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="#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="android.renderscript.Script.html" class="hiddenlink" target="rightframe">Script</A><br>
+<A HREF="android.widget.Scroller.html" class="hiddenlink" target="rightframe">Scroller</A><br>
+<A HREF="android.app.SearchManager.html" class="hiddenlink" target="rightframe">SearchManager</A><br>
+<A HREF="android.widget.SearchView.html" class="hiddenlink" target="rightframe">SearchView</A><br>
+<A HREF="android.hardware.Sensor.html" class="hiddenlink" target="rightframe">Sensor</A><br>
+<A HREF="android.app.Service.html" class="hiddenlink" target="rightframe">Service</A><br>
+<A HREF="android.content.pm.ServiceInfo.html" class="hiddenlink" target="rightframe">ServiceInfo</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.renderscript.Short2.html" class="hiddenlink" target="rightframe">Short2</A><br>
+<A HREF="android.renderscript.Short3.html" class="hiddenlink" target="rightframe">Short3</A><br>
+<A HREF="android.renderscript.Short4.html" class="hiddenlink" target="rightframe">Short4</A><br>
+<A HREF="java.net.SocketPermission.html" class="hiddenlink" target="rightframe">SocketPermission</A><br>
+<A HREF="android.util.SparseArray.html" class="hiddenlink" target="rightframe">SparseArray</A><br>
+<A HREF="android.util.SparseBooleanArray.html" class="hiddenlink" target="rightframe">SparseBooleanArray</A><br>
+<A HREF="android.util.SparseIntArray.html" class="hiddenlink" target="rightframe">SparseIntArray</A><br>
+<A HREF="android.speech.SpeechRecognizer.html" class="hiddenlink" target="rightframe">SpeechRecognizer</A><br>
+<A HREF="android.database.sqlite.SQLiteOpenHelper.html" class="hiddenlink" target="rightframe">SQLiteOpenHelper</A><br>
+<A HREF="android.database.sqlite.SQLiteQueryBuilder.html" class="hiddenlink" target="rightframe">SQLiteQueryBuilder</A><br>
+<A HREF="android.net.SSLCertificateSocketFactory.html" class="hiddenlink" target="rightframe">SSLCertificateSocketFactory</A><br>
+<A HREF="android.net.http.SslError.html" class="hiddenlink" target="rightframe">SslError</A><br>
+<A HREF="android.widget.StackView.html" class="hiddenlink" target="rightframe">StackView</A><br>
+<A HREF="android.view.Surface.html" class="hiddenlink" target="rightframe">Surface</A><br>
+<A HREF="android.graphics.SurfaceTexture.html" class="hiddenlink" target="rightframe">SurfaceTexture</A><br>
+<A HREF="android.content.SyncAdapterType.html" class="hiddenlink" target="rightframe">SyncAdapterType</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="#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="#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="dalvik.annotation.TestTarget.html" class="hiddenlink" target="rightframe">TestTarget</A><br>
+<A HREF="dalvik.annotation.TestTargetClass.html" class="hiddenlink" target="rightframe">TestTargetClass</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="android.widget.TextView.html" class="hiddenlink" target="rightframe">TextView</A><br>
+<A HREF="android.net.TrafficStats.html" class="hiddenlink" target="rightframe">TrafficStats</A><br>
+<A HREF="android.animation.TypeEvaluator.html" class="hiddenlink" target="rightframe"><i>TypeEvaluator</i></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="#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="#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="java.security.UnresolvedPermission.html" class="hiddenlink" target="rightframe">UnresolvedPermission</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="#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">
+<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.html" class="hiddenlink" target="rightframe">ViewGroup</A><br>
+<A HREF="android.view.ViewParent.html" class="hiddenlink" target="rightframe"><i>ViewParent</i></A><br>
+<A HREF="android.view.ViewPropertyAnimator.html" class="hiddenlink" target="rightframe">ViewPropertyAnimator</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="#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="#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">
+<A HREF="android.app.WallpaperManager.html" class="hiddenlink" target="rightframe">WallpaperManager</A><br>
+<A HREF="android.service.wallpaper.WallpaperService.Engine.html" class="hiddenlink" target="rightframe">WallpaperService.Engine</A><br>
+<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.WebSettings.TextSize.html" class="hiddenlink" target="rightframe">WebSettings.TextSize</A><br>
+<A HREF="android.webkit.WebView.HitTestResult.html" class="hiddenlink" target="rightframe">WebView.HitTestResult</A><br>
+<A HREF="android.net.wifi.WifiManager.html" class="hiddenlink" target="rightframe">WifiManager</A><br>
+<A HREF="android.view.Window.html" class="hiddenlink" target="rightframe">Window</A><br>
+<A HREF="android.view.WindowManager.LayoutParams.html" class="hiddenlink" target="rightframe">WindowManager.LayoutParams</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/14/changes/classes_index_removals.html b/docs/html/sdk/api_diff/14/changes/classes_index_removals.html
new file mode 100644
index 0000000..e6da73f
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/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/14/changes/constructors_index_additions.html b/docs/html/sdk/api_diff/14/changes/constructors_index_additions.html
new file mode 100644
index 0000000..6d53ade
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/constructors_index_additions.html
@@ -0,0 +1,154 @@
+<!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>
+<font color="#999999">Removals</font>
+  <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="#B"><font size="-2">B</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#S"><font size="-2">S</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.widget.AdapterViewAnimator.html#android.widget.AdapterViewAnimator.ctor_added(android.content.Context, android.util.AttributeSet, int)" class="hiddenlink" target="rightframe"><b>AdapterViewAnimator</b>
+(<code>Context, AttributeSet, int</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="B"></A>
+<br><font size="+2">B</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#S"><font size="-2">S</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.renderscript.Byte2.html#android.renderscript.Byte2.ctor_added(byte, byte)" class="hiddenlink" target="rightframe"><b>Byte2</b>
+(<code>byte, byte</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.renderscript.Byte3.html#android.renderscript.Byte3.ctor_added(byte, byte, byte)" class="hiddenlink" target="rightframe"><b>Byte3</b>
+(<code>byte, byte, byte</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.renderscript.Byte4.html#android.renderscript.Byte4.ctor_added(byte, byte, byte, byte)" class="hiddenlink" target="rightframe"><b>Byte4</b>
+(<code>byte, byte, byte, byte</code>)</A></nobr>&nbsp;constructor<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="#L"><font size="-2">L</font></a> 
+<a href="#S"><font size="-2">S</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.view.inputmethod.InputMethodSubtype.html#android.view.inputmethod.InputMethodSubtype.ctor_added(int, int, java.lang.String, java.lang.String, java.lang.String, boolean, boolean)" class="hiddenlink" target="rightframe"><b>InputMethodSubtype</b>
+(<code>int, int, String, String, String, boolean, boolean</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.renderscript.Int2.html#android.renderscript.Int2.ctor_added(int, int)" class="hiddenlink" target="rightframe"><b>Int2</b>
+(<code>int, int</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.renderscript.Int3.html#android.renderscript.Int3.ctor_added(int, int, int)" class="hiddenlink" target="rightframe"><b>Int3</b>
+(<code>int, int, int</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.renderscript.Int4.html#android.renderscript.Int4.ctor_added(int, int, int, int)" class="hiddenlink" target="rightframe"><b>Int4</b>
+(<code>int, int, int, int</code>)</A></nobr>&nbsp;constructor<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="#I"><font size="-2">I</font></a> 
+<a href="#S"><font size="-2">S</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.renderscript.Long2.html#android.renderscript.Long2.ctor_added(long, long)" class="hiddenlink" target="rightframe"><b>Long2</b>
+(<code>long, long</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.renderscript.Long3.html#android.renderscript.Long3.ctor_added(long, long, long)" class="hiddenlink" target="rightframe"><b>Long3</b>
+(<code>long, long, long</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.renderscript.Long4.html#android.renderscript.Long4.ctor_added(long, long, long, long)" class="hiddenlink" target="rightframe"><b>Long4</b>
+(<code>long, long, long, long</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="#B"><font size="-2">B</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</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.renderscript.Short2.html#android.renderscript.Short2.ctor_added(short, short)" class="hiddenlink" target="rightframe"><b>Short2</b>
+(<code>short, short</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.renderscript.Short3.html#android.renderscript.Short3.ctor_added(short, short, short)" class="hiddenlink" target="rightframe"><b>Short3</b>
+(<code>short, short, short</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.renderscript.Short4.html#android.renderscript.Short4.ctor_added(short, short, short, short)" class="hiddenlink" target="rightframe"><b>Short4</b>
+(<code>short, short, short, short</code>)</A></nobr>&nbsp;constructor<br>
+<i>SslError</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.net.http.SslError.html#android.net.http.SslError.ctor_added(int, android.net.http.SslCertificate, java.lang.String)" class="hiddenlink" target="rightframe"><b>SslError</b>
+(<code>int, SslCertificate, String</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="android.net.http.SslError.html#android.net.http.SslError.ctor_added(int, java.security.cert.X509Certificate, java.lang.String)" class="hiddenlink" target="rightframe"><b>SslError</b>
+(<code>int, X509Certificate, String</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.widget.StackView.html#android.widget.StackView.ctor_added(android.content.Context, android.util.AttributeSet, int)" class="hiddenlink" target="rightframe"><b>StackView</b>
+(<code>Context, AttributeSet, int</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.ctor_added(android.graphics.SurfaceTexture)" class="hiddenlink" target="rightframe"><b>Surface</b>
+(<code>SurfaceTexture</code>)</A></nobr>&nbsp;constructor<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="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</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.speech.tts.TextToSpeech.html#android.speech.tts.TextToSpeech.ctor_added(android.content.Context, android.speech.tts.TextToSpeech.OnInitListener, java.lang.String)" class="hiddenlink" target="rightframe"><b>TextToSpeech</b>
+(<code>Context, OnInitListener, String</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/14/changes/constructors_index_all.html b/docs/html/sdk/api_diff/14/changes/constructors_index_all.html
new file mode 100644
index 0000000..46b1d72
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/constructors_index_all.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>
+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>
+<font color="#999999">Removals</font>
+  <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="#B"><font size="-2">B</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#S"><font size="-2">S</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.widget.AdapterViewAnimator.html#android.widget.AdapterViewAnimator.ctor_added(android.content.Context, android.util.AttributeSet, int)" class="hiddenlink" target="rightframe"><b>AdapterViewAnimator</b>
+(<code>Context, AttributeSet, int</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="B"></A>
+<br><font size="+2">B</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#S"><font size="-2">S</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.renderscript.Byte2.html#android.renderscript.Byte2.ctor_added(byte, byte)" class="hiddenlink" target="rightframe"><b>Byte2</b>
+(<code>byte, byte</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.renderscript.Byte3.html#android.renderscript.Byte3.ctor_added(byte, byte, byte)" class="hiddenlink" target="rightframe"><b>Byte3</b>
+(<code>byte, byte, byte</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.renderscript.Byte4.html#android.renderscript.Byte4.ctor_added(byte, byte, byte, byte)" class="hiddenlink" target="rightframe"><b>Byte4</b>
+(<code>byte, byte, byte, byte</code>)</A></nobr>&nbsp;constructor<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="#L"><font size="-2">L</font></a> 
+<a href="#S"><font size="-2">S</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.view.inputmethod.InputMethodSubtype.html#android.view.inputmethod.InputMethodSubtype.ctor_added(int, int, java.lang.String, java.lang.String, java.lang.String, boolean, boolean)" class="hiddenlink" target="rightframe"><b>InputMethodSubtype</b>
+(<code>int, int, String, String, String, boolean, boolean</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.renderscript.Int2.html#android.renderscript.Int2.ctor_added(int, int)" class="hiddenlink" target="rightframe"><b>Int2</b>
+(<code>int, int</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.renderscript.Int3.html#android.renderscript.Int3.ctor_added(int, int, int)" class="hiddenlink" target="rightframe"><b>Int3</b>
+(<code>int, int, int</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.renderscript.Int4.html#android.renderscript.Int4.ctor_added(int, int, int, int)" class="hiddenlink" target="rightframe"><b>Int4</b>
+(<code>int, int, int, int</code>)</A></nobr>&nbsp;constructor<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="#I"><font size="-2">I</font></a> 
+<a href="#S"><font size="-2">S</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.renderscript.Long2.html#android.renderscript.Long2.ctor_added(long, long)" class="hiddenlink" target="rightframe"><b>Long2</b>
+(<code>long, long</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.renderscript.Long3.html#android.renderscript.Long3.ctor_added(long, long, long)" class="hiddenlink" target="rightframe"><b>Long3</b>
+(<code>long, long, long</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.renderscript.Long4.html#android.renderscript.Long4.ctor_added(long, long, long, long)" class="hiddenlink" target="rightframe"><b>Long4</b>
+(<code>long, long, long, long</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="#B"><font size="-2">B</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</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.renderscript.Short2.html#android.renderscript.Short2.ctor_added(short, short)" class="hiddenlink" target="rightframe"><b>Short2</b>
+(<code>short, short</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.renderscript.Short3.html#android.renderscript.Short3.ctor_added(short, short, short)" class="hiddenlink" target="rightframe"><b>Short3</b>
+(<code>short, short, short</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.renderscript.Short4.html#android.renderscript.Short4.ctor_added(short, short, short, short)" class="hiddenlink" target="rightframe"><b>Short4</b>
+(<code>short, short, short, short</code>)</A></nobr>&nbsp;constructor<br>
+<i>SslError</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.net.http.SslError.html#android.net.http.SslError.ctor_added(int, android.net.http.SslCertificate, java.lang.String)" class="hiddenlink" target="rightframe"><b>SslError</b>
+(<code>int, SslCertificate, String</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="android.net.http.SslError.html#android.net.http.SslError.ctor_added(int, java.security.cert.X509Certificate, java.lang.String)" class="hiddenlink" target="rightframe"><b>SslError</b>
+(<code>int, X509Certificate, String</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="android.net.http.SslError.html#android.net.http.SslError.ctor_changed(int, android.net.http.SslCertificate)" class="hiddenlink" target="rightframe">SslError
+(<code>int, SslCertificate</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="android.net.http.SslError.html#android.net.http.SslError.ctor_changed(int, java.security.cert.X509Certificate)" class="hiddenlink" target="rightframe">SslError
+(<code>int, X509Certificate</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.widget.StackView.html#android.widget.StackView.ctor_added(android.content.Context, android.util.AttributeSet, int)" class="hiddenlink" target="rightframe"><b>StackView</b>
+(<code>Context, AttributeSet, int</code>)</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.ctor_added(android.graphics.SurfaceTexture)" class="hiddenlink" target="rightframe"><b>Surface</b>
+(<code>SurfaceTexture</code>)</A></nobr>&nbsp;constructor<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="#I"><font size="-2">I</font></a> 
+<a href="#L"><font size="-2">L</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.speech.tts.TextToSpeech.html#android.speech.tts.TextToSpeech.ctor_added(android.content.Context, android.speech.tts.TextToSpeech.OnInitListener, java.lang.String)" class="hiddenlink" target="rightframe"><b>TextToSpeech</b>
+(<code>Context, OnInitListener, String</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/14/changes/constructors_index_changes.html b/docs/html/sdk/api_diff/14/changes/constructors_index_changes.html
new file mode 100644
index 0000000..ceb631c
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/constructors_index_changes.html
@@ -0,0 +1,70 @@
+<!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>
+<font color="#999999">Removals</font>
+  <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="S"></A>
+<br><font size="+2">S</font>&nbsp;
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>SslError</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.net.http.SslError.html#android.net.http.SslError.ctor_changed(int, android.net.http.SslCertificate)" class="hiddenlink" target="rightframe">SslError
+(<code>int, SslCertificate</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="android.net.http.SslError.html#android.net.http.SslError.ctor_changed(int, java.security.cert.X509Certificate)" class="hiddenlink" target="rightframe">SslError
+(<code>int, X509Certificate</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/14/changes/constructors_index_removals.html b/docs/html/sdk/api_diff/14/changes/constructors_index_removals.html
new file mode 100644
index 0000000..f1a9952
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/constructors_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>
+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>
+<font color="#999999">Removals</font>
+  <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>
+<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/14/changes/dalvik.annotation.TestTarget.html b/docs/html/sdk/api_diff/14/changes/dalvik.annotation.TestTarget.html
new file mode 100644
index 0000000..7f684b5
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/dalvik.annotation.TestTarget.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>
+dalvik.annotation.TestTarget
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.annotation.<A HREF="../../../../reference/dalvik/annotation/TestTarget.html" target="_top"><font size="+2"><code>TestTarget</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/14/changes/dalvik.annotation.TestTargetClass.html b/docs/html/sdk/api_diff/14/changes/dalvik.annotation.TestTargetClass.html
new file mode 100644
index 0000000..015e9b7
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/dalvik.annotation.TestTargetClass.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>
+dalvik.annotation.TestTargetClass
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.annotation.<A HREF="../../../../reference/dalvik/annotation/TestTargetClass.html" target="_top"><font size="+2"><code>TestTargetClass</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/14/changes/dalvik.system.DexClassLoader.html b/docs/html/sdk/api_diff/14/changes/dalvik.system.DexClassLoader.html
new file mode 100644
index 0000000..fdcf5f9
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/dalvik.system.DexClassLoader.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>
+dalvik.system.DexClassLoader
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/DexClassLoader.html" target="_top"><font size="+2"><code>DexClassLoader</code></font></A>
+</H2>
+<p><font xsize="+1">The superclass changed from <code>java.lang.ClassLoader</code> to <code>dalvik.system.BaseDexClassLoader</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/14/changes/dalvik.system.PathClassLoader.html b/docs/html/sdk/api_diff/14/changes/dalvik.system.PathClassLoader.html
new file mode 100644
index 0000000..770e144
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/dalvik.system.PathClassLoader.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.PathClassLoader
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/PathClassLoader.html" target="_top"><font size="+2"><code>PathClassLoader</code></font></A>
+</H2>
+<p><font xsize="+1">The superclass changed from <code>java.lang.ClassLoader</code> to <code>dalvik.system.BaseDexClassLoader</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="dalvik.system.PathClassLoader.findLibrary_changed(java.lang.String)"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/dalvik/system/BaseDexClassLoader.html#findLibrary(java.lang.String)" target="_top"><code>findLibrary</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/dalvik/system/BaseDexClassLoader.html#findLibrary(java.lang.String)" target="_top"><code>BaseDexClassLoader</code></a>.
+  </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/14/changes/fields_index_additions.html b/docs/html/sdk/api_diff/14/changes/fields_index_additions.html
new file mode 100644
index 0000000..17190f8
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/fields_index_additions.html
@@ -0,0 +1,1445 @@
+<!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="#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">
+<nobr><A HREF="android.R.attr.html#android.R.attr.accessibilityEventTypes" class="hiddenlink" target="rightframe">accessibilityEventTypes</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.accessibilityFeedbackType" class="hiddenlink" target="rightframe">accessibilityFeedbackType</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.accessibilityFlags" class="hiddenlink" target="rightframe">accessibilityFlags</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_APP_ERROR" class="hiddenlink" target="rightframe">ACTION_APP_ERROR</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_HOVER_ENTER" class="hiddenlink" target="rightframe">ACTION_HOVER_ENTER</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_HOVER_EXIT" class="hiddenlink" target="rightframe">ACTION_HOVER_EXIT</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_INSTALL_PACKAGE" class="hiddenlink" target="rightframe">ACTION_INSTALL_PACKAGE</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_MANAGE_NETWORK_USAGE" class="hiddenlink" target="rightframe">ACTION_MANAGE_NETWORK_USAGE</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.ACTION_NEW_PICTURE" class="hiddenlink" target="rightframe">ACTION_NEW_PICTURE</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.ACTION_NEW_VIDEO" class="hiddenlink" target="rightframe">ACTION_NEW_VIDEO</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_NFCSHARING_SETTINGS" class="hiddenlink" target="rightframe">ACTION_NFCSHARING_SETTINGS</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_PACKAGE_FULLY_REMOVED" class="hiddenlink" target="rightframe">ACTION_PACKAGE_FULLY_REMOVED</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_PACKAGE_NEEDS_VERIFICATION" class="hiddenlink" target="rightframe">ACTION_PACKAGE_NEEDS_VERIFICATION</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.ACTION_SCO_AUDIO_STATE_UPDATED" class="hiddenlink" target="rightframe">ACTION_SCO_AUDIO_STATE_UPDATED</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_UNINSTALL_PACKAGE" class="hiddenlink" target="rightframe">ACTION_UNINSTALL_PACKAGE</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.actionBarDivider" class="hiddenlink" target="rightframe">actionBarDivider</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.actionBarItemBackground" class="hiddenlink" target="rightframe">actionBarItemBackground</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.actionBarSplitStyle" class="hiddenlink" target="rightframe">actionBarSplitStyle</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.actionBarWidgetTheme" class="hiddenlink" target="rightframe">actionBarWidgetTheme</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.actionModeSelectAllDrawable" class="hiddenlink" target="rightframe">actionModeSelectAllDrawable</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.actionModeSplitBackground" class="hiddenlink" target="rightframe">actionModeSplitBackground</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.actionModeStyle" class="hiddenlink" target="rightframe">actionModeStyle</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.actionProviderClass" class="hiddenlink" target="rightframe">actionProviderClass</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.ADD_VOICEMAIL" class="hiddenlink" target="rightframe">ADD_VOICEMAIL</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.alignmentMode" class="hiddenlink" target="rightframe">alignmentMode</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.ALPHA" class="hiddenlink" target="rightframe">ALPHA</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.AXIS_DISTANCE" class="hiddenlink" target="rightframe">AXIS_DISTANCE</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.AXIS_TILT" class="hiddenlink" target="rightframe">AXIS_TILT</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="#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">
+<nobr><A HREF="android.R.attr.html#android.R.attr.backgroundSplit" class="hiddenlink" target="rightframe">backgroundSplit</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.backgroundStacked" class="hiddenlink" target="rightframe">backgroundStacked</A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.BIND_ABOVE_CLIENT" class="hiddenlink" target="rightframe">BIND_ABOVE_CLIENT</A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.BIND_ADJUST_WITH_ACTIVITY" class="hiddenlink" target="rightframe">BIND_ADJUST_WITH_ACTIVITY</A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.BIND_ALLOW_OOM_MANAGEMENT" class="hiddenlink" target="rightframe">BIND_ALLOW_OOM_MANAGEMENT</A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.BIND_IMPORTANT" class="hiddenlink" target="rightframe">BIND_IMPORTANT</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_TEXT_SERVICE" class="hiddenlink" target="rightframe">BIND_TEXT_SERVICE</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_VPN_SERVICE" class="hiddenlink" target="rightframe">BIND_VPN_SERVICE</A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.BIND_WAIVE_PRIORITY" class="hiddenlink" target="rightframe">BIND_WAIVE_PRIORITY</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.BUTTON_BACK" class="hiddenlink" target="rightframe">BUTTON_BACK</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.BUTTON_FORWARD" class="hiddenlink" target="rightframe">BUTTON_FORWARD</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.BUTTON_PRIMARY" class="hiddenlink" target="rightframe">BUTTON_PRIMARY</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.BUTTON_SECONDARY" class="hiddenlink" target="rightframe">BUTTON_SECONDARY</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.BUTTON_TERTIARY" class="hiddenlink" target="rightframe">BUTTON_TERTIARY</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="#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">
+<nobr><A HREF="android.R.attr.html#android.R.attr.canRetrieveWindowContent" class="hiddenlink" target="rightframe">canRetrieveWindowContent</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.colorActivatedHighlight" class="hiddenlink" target="rightframe">colorActivatedHighlight</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.colorFocusedHighlight" class="hiddenlink" target="rightframe">colorFocusedHighlight</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.colorLongPressedHighlight" class="hiddenlink" target="rightframe">colorLongPressedHighlight</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.colorMultiSelectHighlight" class="hiddenlink" target="rightframe">colorMultiSelectHighlight</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.colorPressedHighlight" class="hiddenlink" target="rightframe">colorPressedHighlight</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.columnCount" class="hiddenlink" target="rightframe">columnCount</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.columnOrderPreserved" class="hiddenlink" target="rightframe">columnOrderPreserved</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER" class="hiddenlink" target="rightframe">COMPONENT_ENABLED_STATE_DISABLED_USER</A>
+</nobr><br>
+<nobr><A HREF="android.speech.SpeechRecognizer.html#android.speech.SpeechRecognizer.CONFIDENCE_SCORES" class="hiddenlink" target="rightframe">CONFIDENCE_SCORES</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="#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">
+<i>DATA_SET</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.GroupsColumns.html#android.provider.ContactsContract.GroupsColumns.DATA_SET" class="hiddenlink" target="rightframe">android.provider.ContactsContract.GroupsColumns</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.RawContactsColumns.html#android.provider.ContactsContract.RawContactsColumns.DATA_SET" class="hiddenlink" target="rightframe">android.provider.ContactsContract.RawContactsColumns</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.SettingsColumns.html#android.provider.ContactsContract.SettingsColumns.DATA_SET" class="hiddenlink" target="rightframe">android.provider.ContactsContract.SettingsColumns</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.DeviceDefault_ButtonBar" class="hiddenlink" target="rightframe">DeviceDefault_ButtonBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.DeviceDefault_ButtonBar_AlertDialog" class="hiddenlink" target="rightframe">DeviceDefault_ButtonBar_AlertDialog</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.DeviceDefault_Light_ButtonBar" class="hiddenlink" target="rightframe">DeviceDefault_Light_ButtonBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.DeviceDefault_Light_ButtonBar_AlertDialog" class="hiddenlink" target="rightframe">DeviceDefault_Light_ButtonBar_AlertDialog</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.DeviceDefault_Light_SegmentedButton" class="hiddenlink" target="rightframe">DeviceDefault_Light_SegmentedButton</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.DeviceDefault_SegmentedButton" class="hiddenlink" target="rightframe">DeviceDefault_SegmentedButton</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.directionDescriptions" class="hiddenlink" target="rightframe">directionDescriptions</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.Contacts.Photo.html#android.provider.ContactsContract.Contacts.Photo.DISPLAY_PHOTO" class="hiddenlink" target="rightframe">DISPLAY_PHOTO</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.drawableEnd" class="hiddenlink" target="rightframe">drawableEnd</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.drawableStart" class="hiddenlink" target="rightframe">drawableStart</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="#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">
+<nobr><A HREF="android.view.Gravity.html#android.view.Gravity.END" class="hiddenlink" target="rightframe">END</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageStats.html#android.content.pm.PackageStats.externalCodeSize" class="hiddenlink" target="rightframe">externalCodeSize</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_ALLOW_REPLACE" class="hiddenlink" target="rightframe">EXTRA_ALLOW_REPLACE</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_BUG_REPORT" class="hiddenlink" target="rightframe">EXTRA_BUG_REPORT</A>
+</nobr><br>
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_CONFIDENCE_SCORES" class="hiddenlink" target="rightframe">EXTRA_CONFIDENCE_SCORES</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_INSTALLER_PACKAGE_NAME" class="hiddenlink" target="rightframe">EXTRA_INSTALLER_PACKAGE_NAME</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_NOT_UNKNOWN_SOURCE" class="hiddenlink" target="rightframe">EXTRA_NOT_UNKNOWN_SOURCE</A>
+</nobr><br>
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_ORIGIN" class="hiddenlink" target="rightframe">EXTRA_ORIGIN</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_RETURN_RESULT" class="hiddenlink" target="rightframe">EXTRA_RETURN_RESULT</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.EXTRA_SCO_AUDIO_PREVIOUS_STATE" class="hiddenlink" target="rightframe">EXTRA_SCO_AUDIO_PREVIOUS_STATE</A>
+</nobr><br>
+<nobr><A HREF="android.preference.PreferenceActivity.html#android.preference.PreferenceActivity.EXTRA_SHOW_FRAGMENT_SHORT_TITLE" class="hiddenlink" target="rightframe">EXTRA_SHOW_FRAGMENT_SHORT_TITLE</A>
+</nobr><br>
+<nobr><A HREF="android.preference.PreferenceActivity.html#android.preference.PreferenceActivity.EXTRA_SHOW_FRAGMENT_TITLE" class="hiddenlink" target="rightframe">EXTRA_SHOW_FRAGMENT_TITLE</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.EXTRA_VERIFICATION_ID" class="hiddenlink" target="rightframe">EXTRA_VERIFICATION_ID</A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.EXTRA_WEB_SEARCH_PENDINGINTENT" class="hiddenlink" target="rightframe">EXTRA_WEB_SEARCH_PENDINGINTENT</A>
+</nobr><br>
+<nobr><A HREF="android.net.wifi.WifiManager.html#android.net.wifi.WifiManager.EXTRA_WIFI_INFO" class="hiddenlink" target="rightframe">EXTRA_WIFI_INFO</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="#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">
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_WIFI_DIRECT" class="hiddenlink" target="rightframe">FEATURE_WIFI_DIRECT</A>
+</nobr><br>
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.FEEDBACK_ALL_MASK" class="hiddenlink" target="rightframe">FEEDBACK_ALL_MASK</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.FIND_VIEWS_WITH_CONTENT_DESCRIPTION" class="hiddenlink" target="rightframe">FIND_VIEWS_WITH_CONTENT_DESCRIPTION</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.FIND_VIEWS_WITH_TEXT" class="hiddenlink" target="rightframe">FIND_VIEWS_WITH_TEXT</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ServiceInfo.html#android.content.pm.ServiceInfo.FLAG_STOP_WITH_TASK" class="hiddenlink" target="rightframe">FLAG_STOP_WITH_TASK</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ServiceInfo.html#android.content.pm.ServiceInfo.flags" class="hiddenlink" target="rightframe">flags</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE" class="hiddenlink" target="rightframe">FOCUS_MODE_CONTINUOUS_PICTURE</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="#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">
+<nobr><A HREF="android.bluetooth.BluetoothProfile.html#android.bluetooth.BluetoothProfile.HEALTH" class="hiddenlink" target="rightframe">HEALTH</A>
+</nobr><br>
+<nobr><A HREF="android.graphics.Paint.html#android.graphics.Paint.HINTING_OFF" class="hiddenlink" target="rightframe">HINTING_OFF</A>
+</nobr><br>
+<nobr><A HREF="android.graphics.Paint.html#android.graphics.Paint.HINTING_ON" class="hiddenlink" target="rightframe">HINTING_ON</A>
+</nobr><br>
+<nobr><A HREF="android.R.color.html#android.R.color.holo_blue_bright" class="hiddenlink" target="rightframe">holo_blue_bright</A>
+</nobr><br>
+<nobr><A HREF="android.R.color.html#android.R.color.holo_blue_dark" class="hiddenlink" target="rightframe">holo_blue_dark</A>
+</nobr><br>
+<nobr><A HREF="android.R.color.html#android.R.color.holo_blue_light" class="hiddenlink" target="rightframe">holo_blue_light</A>
+</nobr><br>
+<nobr><A HREF="android.R.color.html#android.R.color.holo_green_dark" class="hiddenlink" target="rightframe">holo_green_dark</A>
+</nobr><br>
+<nobr><A HREF="android.R.color.html#android.R.color.holo_green_light" class="hiddenlink" target="rightframe">holo_green_light</A>
+</nobr><br>
+<nobr><A HREF="android.R.color.html#android.R.color.holo_orange_dark" class="hiddenlink" target="rightframe">holo_orange_dark</A>
+</nobr><br>
+<nobr><A HREF="android.R.color.html#android.R.color.holo_orange_light" class="hiddenlink" target="rightframe">holo_orange_light</A>
+</nobr><br>
+<nobr><A HREF="android.R.color.html#android.R.color.holo_purple" class="hiddenlink" target="rightframe">holo_purple</A>
+</nobr><br>
+<nobr><A HREF="android.R.color.html#android.R.color.holo_red_dark" class="hiddenlink" target="rightframe">holo_red_dark</A>
+</nobr><br>
+<nobr><A HREF="android.R.color.html#android.R.color.holo_red_light" class="hiddenlink" target="rightframe">holo_red_light</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="#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">
+<nobr><A HREF="android.os.Build.VERSION_CODES.html#android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH" class="hiddenlink" target="rightframe">ICE_CREAM_SANDWICH</A>
+</nobr><br>
+<nobr><A HREF="android.speech.tts.TextToSpeech.Engine.html#android.speech.tts.TextToSpeech.Engine.INTENT_ACTION_TTS_SERVICE" class="hiddenlink" target="rightframe">INTENT_ACTION_TTS_SERVICE</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.INVALID_POINTER_ID" class="hiddenlink" target="rightframe">INVALID_POINTER_ID</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.Intents.html#android.provider.ContactsContract.Intents.INVITE_CONTACT" class="hiddenlink" target="rightframe">INVITE_CONTACT</A>
+</nobr><br>
+<nobr><A HREF="android.provider.CallLog.Calls.html#android.provider.CallLog.Calls.IS_READ" class="hiddenlink" target="rightframe">IS_READ</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.ContactsColumns.html#android.provider.ContactsContract.ContactsColumns.IS_USER_PROFILE" class="hiddenlink" target="rightframe">IS_USER_PROFILE</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.isAuxiliary" class="hiddenlink" target="rightframe">isAuxiliary</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="#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">
+<nobr><A HREF="android.accounts.AccountManager.html#android.accounts.AccountManager.KEY_ANDROID_PACKAGE_NAME" class="hiddenlink" target="rightframe">KEY_ANDROID_PACKAGE_NAME</A>
+</nobr><br>
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_3D_MODE" class="hiddenlink" target="rightframe">KEYCODE_3D_MODE</A>
+</nobr><br>
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_LANGUAGE_SWITCH" class="hiddenlink" target="rightframe">KEYCODE_LANGUAGE_SWITCH</A>
+</nobr><br>
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_MANNER_MODE" class="hiddenlink" target="rightframe">KEYCODE_MANNER_MODE</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="#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">
+<nobr><A HREF="android.R.attr.html#android.R.attr.layout_columnSpan" class="hiddenlink" target="rightframe">layout_columnSpan</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.layout_row" class="hiddenlink" target="rightframe">layout_row</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.layout_rowSpan" class="hiddenlink" target="rightframe">layout_rowSpan</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.listPreferredItemHeightLarge" class="hiddenlink" target="rightframe">listPreferredItemHeightLarge</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.listPreferredItemHeightSmall" class="hiddenlink" target="rightframe">listPreferredItemHeightSmall</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.listPreferredItemPaddingLeft" class="hiddenlink" target="rightframe">listPreferredItemPaddingLeft</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.listPreferredItemPaddingRight" class="hiddenlink" target="rightframe">listPreferredItemPaddingRight</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="#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">
+<nobr><A HREF="android.media.MediaMetadataRetriever.html#android.media.MediaMetadataRetriever.METADATA_KEY_BITRATE" class="hiddenlink" target="rightframe">METADATA_KEY_BITRATE</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaMetadataRetriever.html#android.media.MediaMetadataRetriever.METADATA_KEY_HAS_AUDIO" class="hiddenlink" target="rightframe">METADATA_KEY_HAS_AUDIO</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaMetadataRetriever.html#android.media.MediaMetadataRetriever.METADATA_KEY_HAS_VIDEO" class="hiddenlink" target="rightframe">METADATA_KEY_HAS_VIDEO</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaMetadataRetriever.html#android.media.MediaMetadataRetriever.METADATA_KEY_VIDEO_HEIGHT" class="hiddenlink" target="rightframe">METADATA_KEY_VIDEO_HEIGHT</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaMetadataRetriever.html#android.media.MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH" class="hiddenlink" target="rightframe">METADATA_KEY_VIDEO_WIDTH</A>
+</nobr><br>
+<i>minResizeHeight</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.minResizeHeight" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.appwidget.AppWidgetProviderInfo.html#android.appwidget.AppWidgetProviderInfo.minResizeHeight" class="hiddenlink" target="rightframe">android.appwidget.AppWidgetProviderInfo</A>
+</nobr><br>
+<i>minResizeWidth</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.minResizeWidth" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.appwidget.AppWidgetProviderInfo.html#android.appwidget.AppWidgetProviderInfo.minResizeWidth" class="hiddenlink" target="rightframe">android.appwidget.AppWidgetProviderInfo</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="#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">
+<nobr><A HREF="android.R.attr.html#android.R.attr.notificationTimeout" class="hiddenlink" target="rightframe">notificationTimeout</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="#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">
+<nobr><A HREF="android.R.attr.html#android.R.attr.overridesImplicitlyEnabledSubtype" class="hiddenlink" target="rightframe">overridesImplicitlyEnabledSubtype</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="#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">
+<nobr><A HREF="android.R.attr.html#android.R.attr.packageNames" class="hiddenlink" target="rightframe">packageNames</A>
+</nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_BIOMETRIC_WEAK" class="hiddenlink" target="rightframe">PASSWORD_QUALITY_BIOMETRIC_WEAK</A>
+</nobr><br>
+<i>PHOTO_FILE_ID</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Photo.html#android.provider.ContactsContract.CommonDataKinds.Photo.PHOTO_FILE_ID" class="hiddenlink" target="rightframe">android.provider.ContactsContract.CommonDataKinds.Photo</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.Contacts.Photo.html#android.provider.ContactsContract.Contacts.Photo.PHOTO_FILE_ID" class="hiddenlink" target="rightframe">android.provider.ContactsContract.Contacts.Photo</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.ContactsColumns.html#android.provider.ContactsContract.ContactsColumns.PHOTO_FILE_ID" class="hiddenlink" target="rightframe">android.provider.ContactsContract.ContactsColumns</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.html#android.provider.ContactsContract.PRIMARY_ACCOUNT_NAME" class="hiddenlink" target="rightframe">PRIMARY_ACCOUNT_NAME</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.html#android.provider.ContactsContract.PRIMARY_ACCOUNT_TYPE" class="hiddenlink" target="rightframe">PRIMARY_ACCOUNT_TYPE</A>
+</nobr><br>
+<i>PROFILE_CONTENT_URI</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.RawContactsEntity.html#android.provider.ContactsContract.RawContactsEntity.PROFILE_CONTENT_URI" class="hiddenlink" target="rightframe">android.provider.ContactsContract.RawContactsEntity</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusUpdates.html#android.provider.ContactsContract.StatusUpdates.PROFILE_CONTENT_URI" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusUpdates</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.publicKey" class="hiddenlink" target="rightframe">publicKey</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="#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">
+<nobr><A HREF="android.provider.Settings.System.html#android.provider.Settings.System.RADIO_NFC" class="hiddenlink" target="rightframe">RADIO_NFC</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.RawContactsColumns.html#android.provider.ContactsContract.RawContactsColumns.RAW_CONTACT_IS_USER_PROFILE" class="hiddenlink" target="rightframe">RAW_CONTACT_IS_USER_PROFILE</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.READ_PROFILE" class="hiddenlink" target="rightframe">READ_PROFILE</A>
+</nobr><br>
+<nobr><A HREF="android.view.Gravity.html#android.view.Gravity.RELATIVE_HORIZONTAL_GRAVITY_MASK" class="hiddenlink" target="rightframe">RELATIVE_HORIZONTAL_GRAVITY_MASK</A>
+</nobr><br>
+<nobr><A HREF="android.view.Gravity.html#android.view.Gravity.RELATIVE_LAYOUT_DIRECTION" class="hiddenlink" target="rightframe">RELATIVE_LAYOUT_DIRECTION</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.requiresFadingEdge" class="hiddenlink" target="rightframe">requiresFadingEdge</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.ROTATION" class="hiddenlink" target="rightframe">ROTATION</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.ROTATION_X" class="hiddenlink" target="rightframe">ROTATION_X</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.ROTATION_Y" class="hiddenlink" target="rightframe">ROTATION_Y</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.rowCount" class="hiddenlink" target="rightframe">rowCount</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.rowOrderPreserved" class="hiddenlink" target="rightframe">rowOrderPreserved</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="#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">
+<nobr><A HREF="android.view.View.html#android.view.View.SCALE_X" class="hiddenlink" target="rightframe">SCALE_X</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.SCALE_Y" class="hiddenlink" target="rightframe">SCALE_Y</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.SCO_AUDIO_STATE_CONNECTING" class="hiddenlink" target="rightframe">SCO_AUDIO_STATE_CONNECTING</A>
+</nobr><br>
+<i>SERVICE_META_DATA</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.accessibilityservice.AccessibilityService.html#android.accessibilityservice.AccessibilityService.SERVICE_META_DATA" class="hiddenlink" target="rightframe">android.accessibilityservice.AccessibilityService</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.speech.tts.TextToSpeech.Engine.html#android.speech.tts.TextToSpeech.Engine.SERVICE_META_DATA" class="hiddenlink" target="rightframe">android.speech.tts.TextToSpeech.Engine</A>
+</nobr><br>
+<nobr><A HREF="android.view.MenuItem.html#android.view.MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW" class="hiddenlink" target="rightframe">SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW</A>
+</nobr><br>
+<nobr><A HREF="android.view.InputDevice.html#android.view.InputDevice.SOURCE_STYLUS" class="hiddenlink" target="rightframe">SOURCE_STYLUS</A>
+</nobr><br>
+<nobr><A HREF="android.net.http.SslError.html#android.net.http.SslError.SSL_DATE_INVALID" class="hiddenlink" target="rightframe">SSL_DATE_INVALID</A>
+</nobr><br>
+<nobr><A HREF="android.net.http.SslError.html#android.net.http.SslError.SSL_INVALID" class="hiddenlink" target="rightframe">SSL_INVALID</A>
+</nobr><br>
+<nobr><A HREF="android.view.Gravity.html#android.view.Gravity.START" class="hiddenlink" target="rightframe">START</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.state_drag_can_accept" class="hiddenlink" target="rightframe">state_drag_can_accept</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.state_drag_hovered" class="hiddenlink" target="rightframe">state_drag_hovered</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.state_hovered" class="hiddenlink" target="rightframe">state_hovered</A>
+</nobr><br>
+<nobr><A HREF="android.R.integer.html#android.R.integer.status_bar_notification_info_maxnum" class="hiddenlink" target="rightframe">status_bar_notification_info_maxnum</A>
+</nobr><br>
+<nobr><A HREF="android.R.string.html#android.R.string.status_bar_notification_info_overflow" class="hiddenlink" target="rightframe">status_bar_notification_info_overflow</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.stopWithTask" class="hiddenlink" target="rightframe">stopWithTask</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.subtypeExtraValue" class="hiddenlink" target="rightframe">subtypeExtraValue</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.subtypeLocale" class="hiddenlink" target="rightframe">subtypeLocale</A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.SUGGEST_COLUMN_LAST_ACCESS_HINT" class="hiddenlink" target="rightframe">SUGGEST_COLUMN_LAST_ACCESS_HINT</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.switchMinWidth" class="hiddenlink" target="rightframe">switchMinWidth</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.switchPadding" class="hiddenlink" target="rightframe">switchPadding</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.switchPreferenceStyle" class="hiddenlink" target="rightframe">switchPreferenceStyle</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.switchTextAppearance" class="hiddenlink" target="rightframe">switchTextAppearance</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.switchTextOff" class="hiddenlink" target="rightframe">switchTextOff</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.switchTextOn" class="hiddenlink" target="rightframe">switchTextOn</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.SYSTEM_UI_FLAG_HIDE_NAVIGATION" class="hiddenlink" target="rightframe">SYSTEM_UI_FLAG_HIDE_NAVIGATION</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.SYSTEM_UI_FLAG_LOW_PROFILE" class="hiddenlink" target="rightframe">SYSTEM_UI_FLAG_LOW_PROFILE</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.SYSTEM_UI_FLAG_VISIBLE" class="hiddenlink" target="rightframe">SYSTEM_UI_FLAG_VISIBLE</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="#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">
+<nobr><A HREF="android.R.attr.html#android.R.attr.targetDescriptions" class="hiddenlink" target="rightframe">targetDescriptions</A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.TEXT_SERVICES_MANAGER_SERVICE" class="hiddenlink" target="rightframe">TEXT_SERVICES_MANAGER_SERVICE</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.textAllCaps" class="hiddenlink" target="rightframe">textAllCaps</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_DialogWindowTitle" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_DialogWindowTitle</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Inverse" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Large" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Large</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Large_Inverse" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Large_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Medium" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Medium</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Medium_Inverse" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Medium_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_SearchResult_Subtitle" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_SearchResult_Subtitle</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_SearchResult_Title" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_SearchResult_Title</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Small" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Small</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Small_Inverse" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Small_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionBar_Menu" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionBar_Menu</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle_Inverse" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionBar_Title" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionBar_Title</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionBar_Title_Inverse" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionBar_Title_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle_Inverse" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionMode_Title" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionMode_Title</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionMode_Title_Inverse" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionMode_Title_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_Button" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_Button</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_DropDownHint" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_DropDownHint</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_DropDownItem" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_DropDownItem</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_EditText" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_EditText</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_IconMenu_Item" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_IconMenu_Item</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_PopupMenu" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_PopupMenu</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_PopupMenu_Large" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_PopupMenu_Large</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_PopupMenu_Small" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_PopupMenu_Small</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_TabWidget" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_TabWidget</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_TextView" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_TextView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_TextView_PopupMenu" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_TextView_PopupMenu</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_TextView_SpinnerItem" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_TextView_SpinnerItem</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_WindowTitle" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_WindowTitle</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Holo_Widget_ActionBar_Menu" class="hiddenlink" target="rightframe">TextAppearance_Holo_Widget_ActionBar_Menu</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Holo_Widget_ActionBar_Subtitle_Inverse" class="hiddenlink" target="rightframe">TextAppearance_Holo_Widget_ActionBar_Subtitle_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Holo_Widget_ActionBar_Title_Inverse" class="hiddenlink" target="rightframe">TextAppearance_Holo_Widget_ActionBar_Title_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Holo_Widget_ActionMode_Subtitle_Inverse" class="hiddenlink" target="rightframe">TextAppearance_Holo_Widget_ActionMode_Subtitle_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Holo_Widget_ActionMode_Title_Inverse" class="hiddenlink" target="rightframe">TextAppearance_Holo_Widget_ActionMode_Title_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_SuggestionHighlight" class="hiddenlink" target="rightframe">TextAppearance_SuggestionHighlight</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.textAppearanceListItem" class="hiddenlink" target="rightframe">textAppearanceListItem</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.textAppearanceListItemSmall" class="hiddenlink" target="rightframe">textAppearanceListItemSmall</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.textEditSuggestionItemLayout" class="hiddenlink" target="rightframe">textEditSuggestionItemLayout</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.textSuggestionsWindowStyle" class="hiddenlink" target="rightframe">textSuggestionsWindowStyle</A>
+</nobr><br>
+<nobr><A HREF="android.app.AlertDialog.html#android.app.AlertDialog.THEME_DEVICE_DEFAULT_DARK" class="hiddenlink" target="rightframe">THEME_DEVICE_DEFAULT_DARK</A>
+</nobr><br>
+<nobr><A HREF="android.app.AlertDialog.html#android.app.AlertDialog.THEME_DEVICE_DEFAULT_LIGHT" class="hiddenlink" target="rightframe">THEME_DEVICE_DEFAULT_LIGHT</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault" class="hiddenlink" target="rightframe">Theme_DeviceDefault</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Dialog" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Dialog</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Dialog_MinWidth" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Dialog_MinWidth</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Dialog_NoActionBar" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Dialog_NoActionBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Dialog_NoActionBar_MinWidth" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Dialog_NoActionBar_MinWidth</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_DialogWhenLarge" class="hiddenlink" target="rightframe">Theme_DeviceDefault_DialogWhenLarge</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_DialogWhenLarge_NoActionBar" class="hiddenlink" target="rightframe">Theme_DeviceDefault_DialogWhenLarge_NoActionBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_InputMethod" class="hiddenlink" target="rightframe">Theme_DeviceDefault_InputMethod</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_DarkActionBar" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_DarkActionBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_Dialog" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_Dialog</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_Dialog_MinWidth" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_Dialog_MinWidth</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_Dialog_NoActionBar" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_Dialog_NoActionBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_Dialog_NoActionBar_MinWidth" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_Dialog_NoActionBar_MinWidth</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_DialogWhenLarge" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_DialogWhenLarge</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_DialogWhenLarge_NoActionBar" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_DialogWhenLarge_NoActionBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_NoActionBar" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_NoActionBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_NoActionBar_Fullscreen" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_NoActionBar_Fullscreen</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_Panel" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_Panel</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_NoActionBar" class="hiddenlink" target="rightframe">Theme_DeviceDefault_NoActionBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_NoActionBar_Fullscreen" class="hiddenlink" target="rightframe">Theme_DeviceDefault_NoActionBar_Fullscreen</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Panel" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Panel</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Wallpaper" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Wallpaper</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Wallpaper_NoTitleBar" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Wallpaper_NoTitleBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_Holo_Light_DarkActionBar" class="hiddenlink" target="rightframe">Theme_Holo_Light_DarkActionBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.thumbTextPadding" class="hiddenlink" target="rightframe">thumbTextPadding</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.TOOL_TYPE_ERASER" class="hiddenlink" target="rightframe">TOOL_TYPE_ERASER</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.TOOL_TYPE_FINGER" class="hiddenlink" target="rightframe">TOOL_TYPE_FINGER</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.TOOL_TYPE_MOUSE" class="hiddenlink" target="rightframe">TOOL_TYPE_MOUSE</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.TOOL_TYPE_STYLUS" class="hiddenlink" target="rightframe">TOOL_TYPE_STYLUS</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.TOOL_TYPE_UNKNOWN" class="hiddenlink" target="rightframe">TOOL_TYPE_UNKNOWN</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.TOUCH_EXPLORATION_ENABLED" class="hiddenlink" target="rightframe">TOUCH_EXPLORATION_ENABLED</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.track" class="hiddenlink" target="rightframe">track</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.TRANSLATION_X" class="hiddenlink" target="rightframe">TRANSLATION_X</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.TRANSLATION_Y" class="hiddenlink" target="rightframe">TRANSLATION_Y</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_AMBIENT_TEMPERATURE" class="hiddenlink" target="rightframe">TYPE_AMBIENT_TEMPERATURE</A>
+</nobr><br>
+<nobr><A HREF="android.app.backup.BackupAgent.html#android.app.backup.BackupAgent.TYPE_DIRECTORY" class="hiddenlink" target="rightframe">TYPE_DIRECTORY</A>
+</nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.TYPE_DUMMY" class="hiddenlink" target="rightframe">TYPE_DUMMY</A>
+</nobr><br>
+<nobr><A HREF="android.app.backup.BackupAgent.html#android.app.backup.BackupAgent.TYPE_FILE" class="hiddenlink" target="rightframe">TYPE_FILE</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_RELATIVE_HUMIDITY" class="hiddenlink" target="rightframe">TYPE_RELATIVE_HUMIDITY</A>
+</nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.TYPE_TOUCH_EXPLORATION_GESTURE_END" class="hiddenlink" target="rightframe">TYPE_TOUCH_EXPLORATION_GESTURE_END</A>
+</nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.TYPE_TOUCH_EXPLORATION_GESTURE_START" class="hiddenlink" target="rightframe">TYPE_TOUCH_EXPLORATION_GESTURE_START</A>
+</nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.TYPE_VIEW_HOVER_ENTER" class="hiddenlink" target="rightframe">TYPE_VIEW_HOVER_ENTER</A>
+</nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.TYPE_VIEW_HOVER_EXIT" class="hiddenlink" target="rightframe">TYPE_VIEW_HOVER_EXIT</A>
+</nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.TYPE_VIEW_SCROLLED" class="hiddenlink" target="rightframe">TYPE_VIEW_SCROLLED</A>
+</nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.TYPE_VIEW_TEXT_SELECTION_CHANGED" class="hiddenlink" target="rightframe">TYPE_VIEW_TEXT_SELECTION_CHANGED</A>
+</nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED" class="hiddenlink" target="rightframe">TYPE_WINDOW_CONTENT_CHANGED</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="#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">
+<nobr><A HREF="android.content.pm.ActivityInfo.html#android.content.pm.ActivityInfo.UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW" class="hiddenlink" target="rightframe">UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW</A>
+</nobr><br>
+<i>uiOptions</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.uiOptions" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.content.pm.ActivityInfo.html#android.content.pm.ActivityInfo.uiOptions" class="hiddenlink" target="rightframe">android.content.pm.ActivityInfo</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.uiOptions" class="hiddenlink" target="rightframe">android.content.pm.ApplicationInfo</A>
+</nobr><br>
+<nobr><A HREF="android.renderscript.Allocation.html#android.renderscript.Allocation.USAGE_GRAPHICS_RENDER_TARGET" class="hiddenlink" target="rightframe">USAGE_GRAPHICS_RENDER_TARGET</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.useDefaultMargins" class="hiddenlink" target="rightframe">useDefaultMargins</A>
+</nobr><br>
+<nobr><A HREF="android.app.admin.DeviceAdminInfo.html#android.app.admin.DeviceAdminInfo.USES_POLICY_DISABLE_CAMERA" class="hiddenlink" target="rightframe">USES_POLICY_DISABLE_CAMERA</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="#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">
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.VERIFICATION_ALLOW" class="hiddenlink" target="rightframe">VERIFICATION_ALLOW</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.VERIFICATION_REJECT" class="hiddenlink" target="rightframe">VERIFICATION_REJECT</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="#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">
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault" class="hiddenlink" target="rightframe">Widget_DeviceDefault</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionBar_Solid" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionBar_Solid</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionBar_TabBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionBar_TabBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionBar_TabText" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionBar_TabText</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionBar_TabView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionBar_TabView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionButton" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionButton</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionButton_CloseMode" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionButton_CloseMode</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionButton_Overflow" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionButton_Overflow</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionButton_TextButton" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionButton_TextButton</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionMode" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionMode</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_AutoCompleteTextView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_AutoCompleteTextView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Button" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Button</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Button_Borderless" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Button_Borderless</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Button_Borderless_Small" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Button_Borderless_Small</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Button_Inset" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Button_Inset</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Button_Small" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Button_Small</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Button_Toggle" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Button_Toggle</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_CalendarView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_CalendarView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_CompoundButton_CheckBox" class="hiddenlink" target="rightframe">Widget_DeviceDefault_CompoundButton_CheckBox</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_CompoundButton_RadioButton" class="hiddenlink" target="rightframe">Widget_DeviceDefault_CompoundButton_RadioButton</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_CompoundButton_Star" class="hiddenlink" target="rightframe">Widget_DeviceDefault_CompoundButton_Star</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_DatePicker" class="hiddenlink" target="rightframe">Widget_DeviceDefault_DatePicker</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_DropDownItem" class="hiddenlink" target="rightframe">Widget_DeviceDefault_DropDownItem</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_DropDownItem_Spinner" class="hiddenlink" target="rightframe">Widget_DeviceDefault_DropDownItem_Spinner</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_EditText" class="hiddenlink" target="rightframe">Widget_DeviceDefault_EditText</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ExpandableListView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ExpandableListView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_GridView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_GridView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_HorizontalScrollView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_HorizontalScrollView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ImageButton" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ImageButton</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar_Solid" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar_Solid</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar_Solid_Inverse" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar_Solid_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar_TabBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar_TabBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar_TabBar_Inverse" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar_TabBar_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar_TabText" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar_TabText</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar_TabText_Inverse" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar_TabText_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar_TabView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar_TabView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar_TabView_Inverse" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar_TabView_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionButton" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionButton</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionButton_CloseMode" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionButton_CloseMode</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionButton_Overflow" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionButton_Overflow</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionMode" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionMode</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionMode_Inverse" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionMode_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_AutoCompleteTextView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_AutoCompleteTextView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_Button" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_Button</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_Button_Borderless_Small" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_Button_Borderless_Small</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_Button_Inset" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_Button_Inset</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_Button_Small" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_Button_Small</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_Button_Toggle" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_Button_Toggle</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_CalendarView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_CalendarView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_CompoundButton_CheckBox" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_CompoundButton_CheckBox</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_CompoundButton_RadioButton" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_CompoundButton_RadioButton</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_CompoundButton_Star" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_CompoundButton_Star</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_DropDownItem" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_DropDownItem</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_DropDownItem_Spinner" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_DropDownItem_Spinner</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_EditText" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_EditText</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ExpandableListView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ExpandableListView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_GridView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_GridView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_HorizontalScrollView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_HorizontalScrollView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ImageButton" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ImageButton</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ListPopupWindow" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ListPopupWindow</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ListView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ListView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ListView_DropDown" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ListView_DropDown</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_PopupMenu" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_PopupMenu</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_PopupWindow" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_PopupWindow</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ProgressBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ProgressBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ProgressBar_Horizontal" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ProgressBar_Horizontal</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ProgressBar_Inverse" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ProgressBar_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ProgressBar_Large" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ProgressBar_Large</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ProgressBar_Large_Inverse" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ProgressBar_Large_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ProgressBar_Small" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ProgressBar_Small</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ProgressBar_Small_Inverse" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ProgressBar_Small_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ProgressBar_Small_Title" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ProgressBar_Small_Title</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_RatingBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_RatingBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_RatingBar_Indicator" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_RatingBar_Indicator</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_RatingBar_Small" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_RatingBar_Small</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ScrollView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ScrollView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_SeekBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_SeekBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_Spinner" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_Spinner</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_Tab" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_Tab</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_TabWidget" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_TabWidget</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_TextView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_TextView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_TextView_SpinnerItem" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_TextView_SpinnerItem</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_WebTextView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_WebTextView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_WebView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_WebView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ListPopupWindow" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ListPopupWindow</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ListView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ListView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ListView_DropDown" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ListView_DropDown</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_PopupMenu" class="hiddenlink" target="rightframe">Widget_DeviceDefault_PopupMenu</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_PopupWindow" class="hiddenlink" target="rightframe">Widget_DeviceDefault_PopupWindow</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ProgressBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ProgressBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ProgressBar_Horizontal" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ProgressBar_Horizontal</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ProgressBar_Large" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ProgressBar_Large</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ProgressBar_Small" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ProgressBar_Small</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ProgressBar_Small_Title" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ProgressBar_Small_Title</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_RatingBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_RatingBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_RatingBar_Indicator" class="hiddenlink" target="rightframe">Widget_DeviceDefault_RatingBar_Indicator</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_RatingBar_Small" class="hiddenlink" target="rightframe">Widget_DeviceDefault_RatingBar_Small</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ScrollView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ScrollView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_SeekBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_SeekBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Spinner" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Spinner</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Tab" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Tab</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_TabWidget" class="hiddenlink" target="rightframe">Widget_DeviceDefault_TabWidget</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_TextView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_TextView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_TextView_SpinnerItem" class="hiddenlink" target="rightframe">Widget_DeviceDefault_TextView_SpinnerItem</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_WebTextView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_WebTextView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_WebView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_WebView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_ActionBar_Solid" class="hiddenlink" target="rightframe">Widget_Holo_ActionBar_Solid</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_Button_Borderless_Small" class="hiddenlink" target="rightframe">Widget_Holo_Button_Borderless_Small</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_Light_ActionBar_Solid" class="hiddenlink" target="rightframe">Widget_Holo_Light_ActionBar_Solid</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_Light_ActionBar_Solid_Inverse" class="hiddenlink" target="rightframe">Widget_Holo_Light_ActionBar_Solid_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_Light_ActionBar_TabBar_Inverse" class="hiddenlink" target="rightframe">Widget_Holo_Light_ActionBar_TabBar_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_Light_ActionBar_TabText_Inverse" class="hiddenlink" target="rightframe">Widget_Holo_Light_ActionBar_TabText_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_Light_ActionBar_TabView_Inverse" class="hiddenlink" target="rightframe">Widget_Holo_Light_ActionBar_TabView_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_Light_ActionMode_Inverse" class="hiddenlink" target="rightframe">Widget_Holo_Light_ActionMode_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_Light_Button_Borderless_Small" class="hiddenlink" target="rightframe">Widget_Holo_Light_Button_Borderless_Small</A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.WIFI_P2P_SERVICE" class="hiddenlink" target="rightframe">WIFI_P2P_SERVICE</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.WRITE_PROFILE" class="hiddenlink" target="rightframe">WRITE_PROFILE</A>
+</nobr><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="#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.view.View.html#android.view.View.X" class="hiddenlink" target="rightframe">X</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="#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="#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.Y" class="hiddenlink" target="rightframe">Y</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/14/changes/fields_index_all.html b/docs/html/sdk/api_diff/14/changes/fields_index_all.html
new file mode 100644
index 0000000..7c9cc67
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/fields_index_all.html
@@ -0,0 +1,1593 @@
+<!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="#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="#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">
+<nobr><A HREF="android.R.attr.html#android.R.attr.accessibilityEventTypes" class="hiddenlink" target="rightframe">accessibilityEventTypes</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.accessibilityFeedbackType" class="hiddenlink" target="rightframe">accessibilityFeedbackType</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.accessibilityFlags" class="hiddenlink" target="rightframe">accessibilityFlags</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_APP_ERROR" class="hiddenlink" target="rightframe">ACTION_APP_ERROR</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_HOVER_ENTER" class="hiddenlink" target="rightframe">ACTION_HOVER_ENTER</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.ACTION_HOVER_EXIT" class="hiddenlink" target="rightframe">ACTION_HOVER_EXIT</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_INSTALL_PACKAGE" class="hiddenlink" target="rightframe">ACTION_INSTALL_PACKAGE</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_MANAGE_NETWORK_USAGE" class="hiddenlink" target="rightframe">ACTION_MANAGE_NETWORK_USAGE</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.ACTION_NEW_PICTURE" class="hiddenlink" target="rightframe">ACTION_NEW_PICTURE</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.ACTION_NEW_VIDEO" class="hiddenlink" target="rightframe">ACTION_NEW_VIDEO</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.html#android.provider.Settings.ACTION_NFCSHARING_SETTINGS" class="hiddenlink" target="rightframe">ACTION_NFCSHARING_SETTINGS</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_PACKAGE_FULLY_REMOVED" class="hiddenlink" target="rightframe">ACTION_PACKAGE_FULLY_REMOVED</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_PACKAGE_INSTALL" class="hiddenlink" target="rightframe">ACTION_PACKAGE_INSTALL</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_PACKAGE_NEEDS_VERIFICATION" class="hiddenlink" target="rightframe">ACTION_PACKAGE_NEEDS_VERIFICATION</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.media.AudioManager.html#android.media.AudioManager.ACTION_SCO_AUDIO_STATE_UPDATED" class="hiddenlink" target="rightframe">ACTION_SCO_AUDIO_STATE_UPDATED</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_UMS_CONNECTED" class="hiddenlink" target="rightframe">ACTION_UMS_CONNECTED</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_UMS_DISCONNECTED" class="hiddenlink" target="rightframe">ACTION_UMS_DISCONNECTED</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_UNINSTALL_PACKAGE" class="hiddenlink" target="rightframe">ACTION_UNINSTALL_PACKAGE</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.actionBarDivider" class="hiddenlink" target="rightframe">actionBarDivider</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.actionBarItemBackground" class="hiddenlink" target="rightframe">actionBarItemBackground</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.actionBarSplitStyle" class="hiddenlink" target="rightframe">actionBarSplitStyle</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.actionBarWidgetTheme" class="hiddenlink" target="rightframe">actionBarWidgetTheme</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.actionModeSelectAllDrawable" class="hiddenlink" target="rightframe">actionModeSelectAllDrawable</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.actionModeSplitBackground" class="hiddenlink" target="rightframe">actionModeSplitBackground</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.actionModeStyle" class="hiddenlink" target="rightframe">actionModeStyle</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.actionProviderClass" class="hiddenlink" target="rightframe">actionProviderClass</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.ADD_VOICEMAIL" class="hiddenlink" target="rightframe">ADD_VOICEMAIL</A>
+</nobr><br>
+<nobr><A HREF="android.provider.MediaStore.Audio.AudioColumns.html#android.provider.MediaStore.Audio.AudioColumns.ALBUM_ART" class="hiddenlink" target="rightframe"><strike>ALBUM_ART</strike></A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.alignmentMode" class="hiddenlink" target="rightframe">alignmentMode</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.ALPHA" class="hiddenlink" target="rightframe">ALPHA</A>
+</nobr><br>
+<nobr><A HREF="android.webkit.WebView.HitTestResult.html#android.webkit.WebView.HitTestResult.ANCHOR_TYPE" class="hiddenlink" target="rightframe">ANCHOR_TYPE</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.AXIS_DISTANCE" class="hiddenlink" target="rightframe">AXIS_DISTANCE</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.AXIS_TILT" class="hiddenlink" target="rightframe">AXIS_TILT</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="#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="#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">
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.BACKGROUND_DATA" class="hiddenlink" target="rightframe">BACKGROUND_DATA</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.backgroundSplit" class="hiddenlink" target="rightframe">backgroundSplit</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.backgroundStacked" class="hiddenlink" target="rightframe">backgroundStacked</A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.BIND_ABOVE_CLIENT" class="hiddenlink" target="rightframe">BIND_ABOVE_CLIENT</A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.BIND_ADJUST_WITH_ACTIVITY" class="hiddenlink" target="rightframe">BIND_ADJUST_WITH_ACTIVITY</A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.BIND_ALLOW_OOM_MANAGEMENT" class="hiddenlink" target="rightframe">BIND_ALLOW_OOM_MANAGEMENT</A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.BIND_IMPORTANT" class="hiddenlink" target="rightframe">BIND_IMPORTANT</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_TEXT_SERVICE" class="hiddenlink" target="rightframe">BIND_TEXT_SERVICE</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.BIND_VPN_SERVICE" class="hiddenlink" target="rightframe">BIND_VPN_SERVICE</A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.BIND_WAIVE_PRIORITY" class="hiddenlink" target="rightframe">BIND_WAIVE_PRIORITY</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.BUTTON_BACK" class="hiddenlink" target="rightframe">BUTTON_BACK</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.BUTTON_FORWARD" class="hiddenlink" target="rightframe">BUTTON_FORWARD</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.BUTTON_PRIMARY" class="hiddenlink" target="rightframe">BUTTON_PRIMARY</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.BUTTON_SECONDARY" class="hiddenlink" target="rightframe">BUTTON_SECONDARY</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.BUTTON_TERTIARY" class="hiddenlink" target="rightframe">BUTTON_TERTIARY</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="#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="#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">
+<nobr><A HREF="android.R.attr.html#android.R.attr.canRetrieveWindowContent" class="hiddenlink" target="rightframe">canRetrieveWindowContent</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.colorActivatedHighlight" class="hiddenlink" target="rightframe">colorActivatedHighlight</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.colorFocusedHighlight" class="hiddenlink" target="rightframe">colorFocusedHighlight</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.colorLongPressedHighlight" class="hiddenlink" target="rightframe">colorLongPressedHighlight</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.colorMultiSelectHighlight" class="hiddenlink" target="rightframe">colorMultiSelectHighlight</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.colorPressedHighlight" class="hiddenlink" target="rightframe">colorPressedHighlight</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.columnCount" class="hiddenlink" target="rightframe">columnCount</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.columnOrderPreserved" class="hiddenlink" target="rightframe">columnOrderPreserved</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER" class="hiddenlink" target="rightframe">COMPONENT_ENABLED_STATE_DISABLED_USER</A>
+</nobr><br>
+<nobr><A HREF="android.speech.SpeechRecognizer.html#android.speech.SpeechRecognizer.CONFIDENCE_SCORES" class="hiddenlink" target="rightframe">CONFIDENCE_SCORES</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="#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="#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">
+<i>DATA_SET</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.GroupsColumns.html#android.provider.ContactsContract.GroupsColumns.DATA_SET" class="hiddenlink" target="rightframe">android.provider.ContactsContract.GroupsColumns</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.RawContactsColumns.html#android.provider.ContactsContract.RawContactsColumns.DATA_SET" class="hiddenlink" target="rightframe">android.provider.ContactsContract.RawContactsColumns</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.SettingsColumns.html#android.provider.ContactsContract.SettingsColumns.DATA_SET" class="hiddenlink" target="rightframe">android.provider.ContactsContract.SettingsColumns</A>
+</nobr><br>
+<nobr><A HREF="android.util.Config.html#android.util.Config.DEBUG" class="hiddenlink" target="rightframe">DEBUG</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.DeviceDefault_ButtonBar" class="hiddenlink" target="rightframe">DeviceDefault_ButtonBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.DeviceDefault_ButtonBar_AlertDialog" class="hiddenlink" target="rightframe">DeviceDefault_ButtonBar_AlertDialog</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.DeviceDefault_Light_ButtonBar" class="hiddenlink" target="rightframe">DeviceDefault_Light_ButtonBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.DeviceDefault_Light_ButtonBar_AlertDialog" class="hiddenlink" target="rightframe">DeviceDefault_Light_ButtonBar_AlertDialog</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.DeviceDefault_Light_SegmentedButton" class="hiddenlink" target="rightframe">DeviceDefault_Light_SegmentedButton</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.DeviceDefault_SegmentedButton" class="hiddenlink" target="rightframe">DeviceDefault_SegmentedButton</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.directionDescriptions" class="hiddenlink" target="rightframe">directionDescriptions</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.Contacts.Photo.html#android.provider.ContactsContract.Contacts.Photo.DISPLAY_PHOTO" class="hiddenlink" target="rightframe">DISPLAY_PHOTO</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.drawableEnd" class="hiddenlink" target="rightframe">drawableEnd</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.drawableStart" class="hiddenlink" target="rightframe">drawableStart</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="#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="#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">
+<nobr><A HREF="android.view.Gravity.html#android.view.Gravity.END" class="hiddenlink" target="rightframe">END</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageStats.html#android.content.pm.PackageStats.externalCodeSize" class="hiddenlink" target="rightframe">externalCodeSize</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_ALLOW_REPLACE" class="hiddenlink" target="rightframe">EXTRA_ALLOW_REPLACE</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_BUG_REPORT" class="hiddenlink" target="rightframe">EXTRA_BUG_REPORT</A>
+</nobr><br>
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_CONFIDENCE_SCORES" class="hiddenlink" target="rightframe">EXTRA_CONFIDENCE_SCORES</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_INSTALLER_PACKAGE_NAME" class="hiddenlink" target="rightframe">EXTRA_INSTALLER_PACKAGE_NAME</A>
+</nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.EXTRA_NETWORK_INFO" class="hiddenlink" target="rightframe">EXTRA_NETWORK_INFO</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_NOT_UNKNOWN_SOURCE" class="hiddenlink" target="rightframe">EXTRA_NOT_UNKNOWN_SOURCE</A>
+</nobr><br>
+<nobr><A HREF="android.speech.RecognizerIntent.html#android.speech.RecognizerIntent.EXTRA_ORIGIN" class="hiddenlink" target="rightframe">EXTRA_ORIGIN</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.EXTRA_RETURN_RESULT" class="hiddenlink" target="rightframe">EXTRA_RETURN_RESULT</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.EXTRA_SCO_AUDIO_PREVIOUS_STATE" class="hiddenlink" target="rightframe">EXTRA_SCO_AUDIO_PREVIOUS_STATE</A>
+</nobr><br>
+<nobr><A HREF="android.preference.PreferenceActivity.html#android.preference.PreferenceActivity.EXTRA_SHOW_FRAGMENT_SHORT_TITLE" class="hiddenlink" target="rightframe">EXTRA_SHOW_FRAGMENT_SHORT_TITLE</A>
+</nobr><br>
+<nobr><A HREF="android.preference.PreferenceActivity.html#android.preference.PreferenceActivity.EXTRA_SHOW_FRAGMENT_TITLE" class="hiddenlink" target="rightframe">EXTRA_SHOW_FRAGMENT_TITLE</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.EXTRA_VERIFICATION_ID" class="hiddenlink" target="rightframe">EXTRA_VERIFICATION_ID</A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.EXTRA_WEB_SEARCH_PENDINGINTENT" class="hiddenlink" target="rightframe">EXTRA_WEB_SEARCH_PENDINGINTENT</A>
+</nobr><br>
+<nobr><A HREF="android.net.wifi.WifiManager.html#android.net.wifi.WifiManager.EXTRA_WIFI_INFO" class="hiddenlink" target="rightframe">EXTRA_WIFI_INFO</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="#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="#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">
+<nobr><A HREF="android.R.attr.html#android.R.attr.fadingEdge" class="hiddenlink" target="rightframe">fadingEdge</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FEATURE_WIFI_DIRECT" class="hiddenlink" target="rightframe">FEATURE_WIFI_DIRECT</A>
+</nobr><br>
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.FEEDBACK_ALL_MASK" class="hiddenlink" target="rightframe">FEEDBACK_ALL_MASK</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.FIND_VIEWS_WITH_CONTENT_DESCRIPTION" class="hiddenlink" target="rightframe">FIND_VIEWS_WITH_CONTENT_DESCRIPTION</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.FIND_VIEWS_WITH_TEXT" class="hiddenlink" target="rightframe">FIND_VIEWS_WITH_TEXT</A>
+</nobr><br>
+<nobr><A HREF="android.view.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.FLAG_BLUR_BEHIND" class="hiddenlink" target="rightframe">FLAG_BLUR_BEHIND</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ServiceInfo.html#android.content.pm.ServiceInfo.FLAG_STOP_WITH_TASK" class="hiddenlink" target="rightframe">FLAG_STOP_WITH_TASK</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ServiceInfo.html#android.content.pm.ServiceInfo.flags" class="hiddenlink" target="rightframe">flags</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE" class="hiddenlink" target="rightframe">FOCUS_MODE_CONTINUOUS_PICTURE</A>
+</nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.FX_SURFACE_BLUR" class="hiddenlink" target="rightframe"><strike>FX_SURFACE_BLUR</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.FX_SURFACE_DIM" class="hiddenlink" target="rightframe"><strike>FX_SURFACE_DIM</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.FX_SURFACE_MASK" class="hiddenlink" target="rightframe"><strike>FX_SURFACE_MASK</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.FX_SURFACE_NORMAL" class="hiddenlink" target="rightframe"><strike>FX_SURFACE_NORMAL</strike></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="#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="#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">
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.GPU" class="hiddenlink" target="rightframe"><strike>GPU</strike></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="#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="#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">
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.HARDWARE" class="hiddenlink" target="rightframe"><strike>HARDWARE</strike></A>
+</nobr><br>
+<nobr><A HREF="android.bluetooth.BluetoothProfile.html#android.bluetooth.BluetoothProfile.HEALTH" class="hiddenlink" target="rightframe">HEALTH</A>
+</nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.HIDDEN" class="hiddenlink" target="rightframe"><strike>HIDDEN</strike></A>
+</nobr><br>
+<nobr><A HREF="android.graphics.Paint.html#android.graphics.Paint.HINTING_OFF" class="hiddenlink" target="rightframe">HINTING_OFF</A>
+</nobr><br>
+<nobr><A HREF="android.graphics.Paint.html#android.graphics.Paint.HINTING_ON" class="hiddenlink" target="rightframe">HINTING_ON</A>
+</nobr><br>
+<nobr><A HREF="android.R.color.html#android.R.color.holo_blue_bright" class="hiddenlink" target="rightframe">holo_blue_bright</A>
+</nobr><br>
+<nobr><A HREF="android.R.color.html#android.R.color.holo_blue_dark" class="hiddenlink" target="rightframe">holo_blue_dark</A>
+</nobr><br>
+<nobr><A HREF="android.R.color.html#android.R.color.holo_blue_light" class="hiddenlink" target="rightframe">holo_blue_light</A>
+</nobr><br>
+<nobr><A HREF="android.R.color.html#android.R.color.holo_green_dark" class="hiddenlink" target="rightframe">holo_green_dark</A>
+</nobr><br>
+<nobr><A HREF="android.R.color.html#android.R.color.holo_green_light" class="hiddenlink" target="rightframe">holo_green_light</A>
+</nobr><br>
+<nobr><A HREF="android.R.color.html#android.R.color.holo_orange_dark" class="hiddenlink" target="rightframe">holo_orange_dark</A>
+</nobr><br>
+<nobr><A HREF="android.R.color.html#android.R.color.holo_orange_light" class="hiddenlink" target="rightframe">holo_orange_light</A>
+</nobr><br>
+<nobr><A HREF="android.R.color.html#android.R.color.holo_purple" class="hiddenlink" target="rightframe">holo_purple</A>
+</nobr><br>
+<nobr><A HREF="android.R.color.html#android.R.color.holo_red_dark" class="hiddenlink" target="rightframe">holo_red_dark</A>
+</nobr><br>
+<nobr><A HREF="android.R.color.html#android.R.color.holo_red_light" class="hiddenlink" target="rightframe">holo_red_light</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="#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="#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">
+<nobr><A HREF="android.os.Build.VERSION_CODES.html#android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH" class="hiddenlink" target="rightframe">ICE_CREAM_SANDWICH</A>
+</nobr><br>
+<nobr><A HREF="android.webkit.WebView.HitTestResult.html#android.webkit.WebView.HitTestResult.IMAGE_ANCHOR_TYPE" class="hiddenlink" target="rightframe">IMAGE_ANCHOR_TYPE</A>
+</nobr><br>
+<nobr><A HREF="android.speech.tts.TextToSpeech.Engine.html#android.speech.tts.TextToSpeech.Engine.INTENT_ACTION_TTS_SERVICE" class="hiddenlink" target="rightframe">INTENT_ACTION_TTS_SERVICE</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.INVALID_POINTER_ID" class="hiddenlink" target="rightframe">INVALID_POINTER_ID</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.Intents.html#android.provider.ContactsContract.Intents.INVITE_CONTACT" class="hiddenlink" target="rightframe">INVITE_CONTACT</A>
+</nobr><br>
+<nobr><A HREF="android.provider.CallLog.Calls.html#android.provider.CallLog.Calls.IS_READ" class="hiddenlink" target="rightframe">IS_READ</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.ContactsColumns.html#android.provider.ContactsContract.ContactsColumns.IS_USER_PROFILE" class="hiddenlink" target="rightframe">IS_USER_PROFILE</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.isAuxiliary" class="hiddenlink" target="rightframe">isAuxiliary</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="#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="#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.KEY_ANDROID_PACKAGE_NAME" class="hiddenlink" target="rightframe">KEY_ANDROID_PACKAGE_NAME</A>
+</nobr><br>
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_3D_MODE" class="hiddenlink" target="rightframe">KEYCODE_3D_MODE</A>
+</nobr><br>
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_LANGUAGE_SWITCH" class="hiddenlink" target="rightframe">KEYCODE_LANGUAGE_SWITCH</A>
+</nobr><br>
+<nobr><A HREF="android.view.KeyEvent.html#android.view.KeyEvent.KEYCODE_MANNER_MODE" class="hiddenlink" target="rightframe">KEYCODE_MANNER_MODE</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="#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="#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">
+<nobr><A HREF="android.R.attr.html#android.R.attr.layout_columnSpan" class="hiddenlink" target="rightframe">layout_columnSpan</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.layout_row" class="hiddenlink" target="rightframe">layout_row</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.layout_rowSpan" class="hiddenlink" target="rightframe">layout_rowSpan</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.listPreferredItemHeightLarge" class="hiddenlink" target="rightframe">listPreferredItemHeightLarge</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.listPreferredItemHeightSmall" class="hiddenlink" target="rightframe">listPreferredItemHeightSmall</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.listPreferredItemPaddingLeft" class="hiddenlink" target="rightframe">listPreferredItemPaddingLeft</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.listPreferredItemPaddingRight" class="hiddenlink" target="rightframe">listPreferredItemPaddingRight</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="#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="#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">
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.MAX_TEXT_LENGTH" class="hiddenlink" target="rightframe">MAX_TEXT_LENGTH</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaMetadataRetriever.html#android.media.MediaMetadataRetriever.METADATA_KEY_BITRATE" class="hiddenlink" target="rightframe">METADATA_KEY_BITRATE</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaMetadataRetriever.html#android.media.MediaMetadataRetriever.METADATA_KEY_HAS_AUDIO" class="hiddenlink" target="rightframe">METADATA_KEY_HAS_AUDIO</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaMetadataRetriever.html#android.media.MediaMetadataRetriever.METADATA_KEY_HAS_VIDEO" class="hiddenlink" target="rightframe">METADATA_KEY_HAS_VIDEO</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaMetadataRetriever.html#android.media.MediaMetadataRetriever.METADATA_KEY_VIDEO_HEIGHT" class="hiddenlink" target="rightframe">METADATA_KEY_VIDEO_HEIGHT</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaMetadataRetriever.html#android.media.MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH" class="hiddenlink" target="rightframe">METADATA_KEY_VIDEO_WIDTH</A>
+</nobr><br>
+<i>minResizeHeight</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.minResizeHeight" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.appwidget.AppWidgetProviderInfo.html#android.appwidget.AppWidgetProviderInfo.minResizeHeight" class="hiddenlink" target="rightframe">android.appwidget.AppWidgetProviderInfo</A>
+</nobr><br>
+<i>minResizeWidth</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.minResizeWidth" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.appwidget.AppWidgetProviderInfo.html#android.appwidget.AppWidgetProviderInfo.minResizeWidth" class="hiddenlink" target="rightframe">android.appwidget.AppWidgetProviderInfo</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="#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="#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">
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.NON_PREMULTIPLIED" class="hiddenlink" target="rightframe"><strike>NON_PREMULTIPLIED</strike></A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.notificationTimeout" class="hiddenlink" target="rightframe">notificationTimeout</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="#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="#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">
+<nobr><A HREF="android.R.attr.html#android.R.attr.overridesImplicitlyEnabledSubtype" class="hiddenlink" target="rightframe">overridesImplicitlyEnabledSubtype</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="#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="#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">
+<nobr><A HREF="android.R.attr.html#android.R.attr.packageNames" class="hiddenlink" target="rightframe">packageNames</A>
+</nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_BIOMETRIC_WEAK" class="hiddenlink" target="rightframe">PASSWORD_QUALITY_BIOMETRIC_WEAK</A>
+</nobr><br>
+<i>PHOTO_FILE_ID</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.CommonDataKinds.Photo.html#android.provider.ContactsContract.CommonDataKinds.Photo.PHOTO_FILE_ID" class="hiddenlink" target="rightframe">android.provider.ContactsContract.CommonDataKinds.Photo</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.Contacts.Photo.html#android.provider.ContactsContract.Contacts.Photo.PHOTO_FILE_ID" class="hiddenlink" target="rightframe">android.provider.ContactsContract.Contacts.Photo</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.ContactsColumns.html#android.provider.ContactsContract.ContactsColumns.PHOTO_FILE_ID" class="hiddenlink" target="rightframe">android.provider.ContactsContract.ContactsColumns</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.html#android.provider.ContactsContract.PRIMARY_ACCOUNT_NAME" class="hiddenlink" target="rightframe">PRIMARY_ACCOUNT_NAME</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.html#android.provider.ContactsContract.PRIMARY_ACCOUNT_TYPE" class="hiddenlink" target="rightframe">PRIMARY_ACCOUNT_TYPE</A>
+</nobr><br>
+<i>PROFILE_CONTENT_URI</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.RawContactsEntity.html#android.provider.ContactsContract.RawContactsEntity.PROFILE_CONTENT_URI" class="hiddenlink" target="rightframe">android.provider.ContactsContract.RawContactsEntity</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.provider.ContactsContract.StatusUpdates.html#android.provider.ContactsContract.StatusUpdates.PROFILE_CONTENT_URI" class="hiddenlink" target="rightframe">android.provider.ContactsContract.StatusUpdates</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.publicKey" class="hiddenlink" target="rightframe">publicKey</A>
+</nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.PUSH_BUFFERS" class="hiddenlink" target="rightframe"><strike>PUSH_BUFFERS</strike></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="#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="#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">
+<nobr><A HREF="android.os.Build.html#android.os.Build.RADIO" class="hiddenlink" target="rightframe">RADIO</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.System.html#android.provider.Settings.System.RADIO_NFC" class="hiddenlink" target="rightframe">RADIO_NFC</A>
+</nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.RawContactsColumns.html#android.provider.ContactsContract.RawContactsColumns.RAW_CONTACT_IS_USER_PROFILE" class="hiddenlink" target="rightframe">RAW_CONTACT_IS_USER_PROFILE</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.READ_PROFILE" class="hiddenlink" target="rightframe">READ_PROFILE</A>
+</nobr><br>
+<nobr><A HREF="android.view.Gravity.html#android.view.Gravity.RELATIVE_HORIZONTAL_GRAVITY_MASK" class="hiddenlink" target="rightframe">RELATIVE_HORIZONTAL_GRAVITY_MASK</A>
+</nobr><br>
+<nobr><A HREF="android.view.Gravity.html#android.view.Gravity.RELATIVE_LAYOUT_DIRECTION" class="hiddenlink" target="rightframe">RELATIVE_LAYOUT_DIRECTION</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.requiresFadingEdge" class="hiddenlink" target="rightframe">requiresFadingEdge</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.ROTATION" class="hiddenlink" target="rightframe">ROTATION</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.ROTATION_X" class="hiddenlink" target="rightframe">ROTATION_X</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.ROTATION_Y" class="hiddenlink" target="rightframe">ROTATION_Y</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.rowCount" class="hiddenlink" target="rightframe">rowCount</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.rowOrderPreserved" class="hiddenlink" target="rightframe">rowOrderPreserved</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="#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="#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">
+<nobr><A HREF="android.view.View.html#android.view.View.SCALE_X" class="hiddenlink" target="rightframe">SCALE_X</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.SCALE_Y" class="hiddenlink" target="rightframe">SCALE_Y</A>
+</nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.SCO_AUDIO_STATE_CONNECTING" class="hiddenlink" target="rightframe">SCO_AUDIO_STATE_CONNECTING</A>
+</nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.SECURE" class="hiddenlink" target="rightframe"><strike>SECURE</strike></A>
+</nobr><br>
+<i>SERVICE_META_DATA</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.accessibilityservice.AccessibilityService.html#android.accessibilityservice.AccessibilityService.SERVICE_META_DATA" class="hiddenlink" target="rightframe">android.accessibilityservice.AccessibilityService</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.speech.tts.TextToSpeech.Engine.html#android.speech.tts.TextToSpeech.Engine.SERVICE_META_DATA" class="hiddenlink" target="rightframe">android.speech.tts.TextToSpeech.Engine</A>
+</nobr><br>
+<nobr><A HREF="android.view.MenuItem.html#android.view.MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW" class="hiddenlink" target="rightframe">SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW</A>
+</nobr><br>
+<nobr><A HREF="android.view.InputDevice.html#android.view.InputDevice.SOURCE_STYLUS" class="hiddenlink" target="rightframe">SOURCE_STYLUS</A>
+</nobr><br>
+<nobr><A HREF="android.net.http.SslError.html#android.net.http.SslError.SSL_DATE_INVALID" class="hiddenlink" target="rightframe">SSL_DATE_INVALID</A>
+</nobr><br>
+<nobr><A HREF="android.net.http.SslError.html#android.net.http.SslError.SSL_INVALID" class="hiddenlink" target="rightframe">SSL_INVALID</A>
+</nobr><br>
+<nobr><A HREF="android.net.http.SslError.html#android.net.http.SslError.SSL_MAX_ERROR" class="hiddenlink" target="rightframe">SSL_MAX_ERROR</A>
+</nobr><br>
+<nobr><A HREF="android.view.Gravity.html#android.view.Gravity.START" class="hiddenlink" target="rightframe">START</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.state_drag_can_accept" class="hiddenlink" target="rightframe">state_drag_can_accept</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.state_drag_hovered" class="hiddenlink" target="rightframe">state_drag_hovered</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.state_hovered" class="hiddenlink" target="rightframe">state_hovered</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.STATUS_BAR_HIDDEN" class="hiddenlink" target="rightframe">STATUS_BAR_HIDDEN</A>
+</nobr><br>
+<nobr><A HREF="android.R.integer.html#android.R.integer.status_bar_notification_info_maxnum" class="hiddenlink" target="rightframe">status_bar_notification_info_maxnum</A>
+</nobr><br>
+<nobr><A HREF="android.R.string.html#android.R.string.status_bar_notification_info_overflow" class="hiddenlink" target="rightframe">status_bar_notification_info_overflow</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.STATUS_BAR_VISIBLE" class="hiddenlink" target="rightframe">STATUS_BAR_VISIBLE</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.stopWithTask" class="hiddenlink" target="rightframe">stopWithTask</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.subtypeExtraValue" class="hiddenlink" target="rightframe">subtypeExtraValue</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.subtypeLocale" class="hiddenlink" target="rightframe">subtypeLocale</A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.SUGGEST_COLUMN_LAST_ACCESS_HINT" class="hiddenlink" target="rightframe">SUGGEST_COLUMN_LAST_ACCESS_HINT</A>
+</nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.SURACE_FROZEN" class="hiddenlink" target="rightframe"><strike>SURACE_FROZEN</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.SURFACE_BLUR_FREEZE" class="hiddenlink" target="rightframe"><strike>SURFACE_BLUR_FREEZE</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.SURFACE_DITHER" class="hiddenlink" target="rightframe"><strike>SURFACE_DITHER</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.SURFACE_FROZEN" class="hiddenlink" target="rightframe"><strike>SURFACE_FROZEN</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.SURFACE_HIDDEN" class="hiddenlink" target="rightframe"><strike>SURFACE_HIDDEN</strike></A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.switchMinWidth" class="hiddenlink" target="rightframe">switchMinWidth</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.switchPadding" class="hiddenlink" target="rightframe">switchPadding</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.switchPreferenceStyle" class="hiddenlink" target="rightframe">switchPreferenceStyle</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.switchTextAppearance" class="hiddenlink" target="rightframe">switchTextAppearance</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.switchTextOff" class="hiddenlink" target="rightframe">switchTextOff</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.switchTextOn" class="hiddenlink" target="rightframe">switchTextOn</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.SYSTEM_UI_FLAG_HIDE_NAVIGATION" class="hiddenlink" target="rightframe">SYSTEM_UI_FLAG_HIDE_NAVIGATION</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.SYSTEM_UI_FLAG_LOW_PROFILE" class="hiddenlink" target="rightframe">SYSTEM_UI_FLAG_LOW_PROFILE</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.SYSTEM_UI_FLAG_VISIBLE" class="hiddenlink" target="rightframe">SYSTEM_UI_FLAG_VISIBLE</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="#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="#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">
+<nobr><A HREF="android.R.attr.html#android.R.attr.targetDescriptions" class="hiddenlink" target="rightframe">targetDescriptions</A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.TEXT_SERVICES_MANAGER_SERVICE" class="hiddenlink" target="rightframe">TEXT_SERVICES_MANAGER_SERVICE</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.textAllCaps" class="hiddenlink" target="rightframe">textAllCaps</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_DialogWindowTitle" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_DialogWindowTitle</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Inverse" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Large" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Large</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Large_Inverse" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Large_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Medium" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Medium</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Medium_Inverse" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Medium_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_SearchResult_Subtitle" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_SearchResult_Subtitle</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_SearchResult_Title" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_SearchResult_Title</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Small" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Small</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Small_Inverse" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Small_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionBar_Menu" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionBar_Menu</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle_Inverse" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionBar_Title" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionBar_Title</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionBar_Title_Inverse" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionBar_Title_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle_Inverse" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionMode_Title" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionMode_Title</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_ActionMode_Title_Inverse" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_ActionMode_Title_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_Button" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_Button</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_DropDownHint" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_DropDownHint</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_DropDownItem" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_DropDownItem</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_EditText" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_EditText</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_IconMenu_Item" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_IconMenu_Item</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_PopupMenu" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_PopupMenu</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_PopupMenu_Large" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_PopupMenu_Large</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_PopupMenu_Small" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_PopupMenu_Small</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_TabWidget" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_TabWidget</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_TextView" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_TextView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_TextView_PopupMenu" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_TextView_PopupMenu</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_Widget_TextView_SpinnerItem" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_Widget_TextView_SpinnerItem</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_DeviceDefault_WindowTitle" class="hiddenlink" target="rightframe">TextAppearance_DeviceDefault_WindowTitle</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Holo_Widget_ActionBar_Menu" class="hiddenlink" target="rightframe">TextAppearance_Holo_Widget_ActionBar_Menu</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Holo_Widget_ActionBar_Subtitle_Inverse" class="hiddenlink" target="rightframe">TextAppearance_Holo_Widget_ActionBar_Subtitle_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Holo_Widget_ActionBar_Title_Inverse" class="hiddenlink" target="rightframe">TextAppearance_Holo_Widget_ActionBar_Title_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Holo_Widget_ActionMode_Subtitle_Inverse" class="hiddenlink" target="rightframe">TextAppearance_Holo_Widget_ActionMode_Subtitle_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_Holo_Widget_ActionMode_Title_Inverse" class="hiddenlink" target="rightframe">TextAppearance_Holo_Widget_ActionMode_Title_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.TextAppearance_SuggestionHighlight" class="hiddenlink" target="rightframe">TextAppearance_SuggestionHighlight</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.textAppearanceListItem" class="hiddenlink" target="rightframe">textAppearanceListItem</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.textAppearanceListItemSmall" class="hiddenlink" target="rightframe">textAppearanceListItemSmall</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.textEditSuggestionItemLayout" class="hiddenlink" target="rightframe">textEditSuggestionItemLayout</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.textSuggestionsWindowStyle" class="hiddenlink" target="rightframe">textSuggestionsWindowStyle</A>
+</nobr><br>
+<nobr><A HREF="android.app.AlertDialog.html#android.app.AlertDialog.THEME_DEVICE_DEFAULT_DARK" class="hiddenlink" target="rightframe">THEME_DEVICE_DEFAULT_DARK</A>
+</nobr><br>
+<nobr><A HREF="android.app.AlertDialog.html#android.app.AlertDialog.THEME_DEVICE_DEFAULT_LIGHT" class="hiddenlink" target="rightframe">THEME_DEVICE_DEFAULT_LIGHT</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault" class="hiddenlink" target="rightframe">Theme_DeviceDefault</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Dialog" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Dialog</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Dialog_MinWidth" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Dialog_MinWidth</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Dialog_NoActionBar" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Dialog_NoActionBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Dialog_NoActionBar_MinWidth" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Dialog_NoActionBar_MinWidth</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_DialogWhenLarge" class="hiddenlink" target="rightframe">Theme_DeviceDefault_DialogWhenLarge</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_DialogWhenLarge_NoActionBar" class="hiddenlink" target="rightframe">Theme_DeviceDefault_DialogWhenLarge_NoActionBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_InputMethod" class="hiddenlink" target="rightframe">Theme_DeviceDefault_InputMethod</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_DarkActionBar" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_DarkActionBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_Dialog" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_Dialog</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_Dialog_MinWidth" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_Dialog_MinWidth</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_Dialog_NoActionBar" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_Dialog_NoActionBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_Dialog_NoActionBar_MinWidth" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_Dialog_NoActionBar_MinWidth</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_DialogWhenLarge" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_DialogWhenLarge</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_DialogWhenLarge_NoActionBar" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_DialogWhenLarge_NoActionBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_NoActionBar" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_NoActionBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_NoActionBar_Fullscreen" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_NoActionBar_Fullscreen</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Light_Panel" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Light_Panel</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_NoActionBar" class="hiddenlink" target="rightframe">Theme_DeviceDefault_NoActionBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_NoActionBar_Fullscreen" class="hiddenlink" target="rightframe">Theme_DeviceDefault_NoActionBar_Fullscreen</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Panel" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Panel</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Wallpaper" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Wallpaper</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_DeviceDefault_Wallpaper_NoTitleBar" class="hiddenlink" target="rightframe">Theme_DeviceDefault_Wallpaper_NoTitleBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Theme_Holo_Light_DarkActionBar" class="hiddenlink" target="rightframe">Theme_Holo_Light_DarkActionBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.thumbTextPadding" class="hiddenlink" target="rightframe">thumbTextPadding</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.TOOL_TYPE_ERASER" class="hiddenlink" target="rightframe">TOOL_TYPE_ERASER</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.TOOL_TYPE_FINGER" class="hiddenlink" target="rightframe">TOOL_TYPE_FINGER</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.TOOL_TYPE_MOUSE" class="hiddenlink" target="rightframe">TOOL_TYPE_MOUSE</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.TOOL_TYPE_STYLUS" class="hiddenlink" target="rightframe">TOOL_TYPE_STYLUS</A>
+</nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.TOOL_TYPE_UNKNOWN" class="hiddenlink" target="rightframe">TOOL_TYPE_UNKNOWN</A>
+</nobr><br>
+<nobr><A HREF="android.util.Patterns.html#android.util.Patterns.TOP_LEVEL_DOMAIN_STR" class="hiddenlink" target="rightframe">TOP_LEVEL_DOMAIN_STR</A>
+</nobr><br>
+<nobr><A HREF="android.util.Patterns.html#android.util.Patterns.TOP_LEVEL_DOMAIN_STR_FOR_WEB_URL" class="hiddenlink" target="rightframe">TOP_LEVEL_DOMAIN_STR_FOR_WEB_URL</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.TOUCH_EXPLORATION_ENABLED" class="hiddenlink" target="rightframe">TOUCH_EXPLORATION_ENABLED</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.track" class="hiddenlink" target="rightframe">track</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.TRANSLATION_X" class="hiddenlink" target="rightframe">TRANSLATION_X</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.TRANSLATION_Y" class="hiddenlink" target="rightframe">TRANSLATION_Y</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.TTS_DEFAULT_COUNTRY" class="hiddenlink" target="rightframe">TTS_DEFAULT_COUNTRY</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.TTS_DEFAULT_LANG" class="hiddenlink" target="rightframe">TTS_DEFAULT_LANG</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.TTS_DEFAULT_VARIANT" class="hiddenlink" target="rightframe">TTS_DEFAULT_VARIANT</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.TTS_USE_DEFAULTS" class="hiddenlink" target="rightframe">TTS_USE_DEFAULTS</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_AMBIENT_TEMPERATURE" class="hiddenlink" target="rightframe">TYPE_AMBIENT_TEMPERATURE</A>
+</nobr><br>
+<nobr><A HREF="android.app.backup.BackupAgent.html#android.app.backup.BackupAgent.TYPE_DIRECTORY" class="hiddenlink" target="rightframe">TYPE_DIRECTORY</A>
+</nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.TYPE_DUMMY" class="hiddenlink" target="rightframe">TYPE_DUMMY</A>
+</nobr><br>
+<nobr><A HREF="android.app.backup.BackupAgent.html#android.app.backup.BackupAgent.TYPE_FILE" class="hiddenlink" target="rightframe">TYPE_FILE</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_RELATIVE_HUMIDITY" class="hiddenlink" target="rightframe">TYPE_RELATIVE_HUMIDITY</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_TEMPERATURE" class="hiddenlink" target="rightframe">TYPE_TEMPERATURE</A>
+</nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.TYPE_TOUCH_EXPLORATION_GESTURE_END" class="hiddenlink" target="rightframe">TYPE_TOUCH_EXPLORATION_GESTURE_END</A>
+</nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.TYPE_TOUCH_EXPLORATION_GESTURE_START" class="hiddenlink" target="rightframe">TYPE_TOUCH_EXPLORATION_GESTURE_START</A>
+</nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.TYPE_VIEW_HOVER_ENTER" class="hiddenlink" target="rightframe">TYPE_VIEW_HOVER_ENTER</A>
+</nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.TYPE_VIEW_HOVER_EXIT" class="hiddenlink" target="rightframe">TYPE_VIEW_HOVER_EXIT</A>
+</nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.TYPE_VIEW_SCROLLED" class="hiddenlink" target="rightframe">TYPE_VIEW_SCROLLED</A>
+</nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.TYPE_VIEW_TEXT_SELECTION_CHANGED" class="hiddenlink" target="rightframe">TYPE_VIEW_TEXT_SELECTION_CHANGED</A>
+</nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED" class="hiddenlink" target="rightframe">TYPE_WINDOW_CONTENT_CHANGED</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="#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="#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">
+<nobr><A HREF="android.content.pm.ActivityInfo.html#android.content.pm.ActivityInfo.UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW" class="hiddenlink" target="rightframe">UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW</A>
+</nobr><br>
+<i>uiOptions</i><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.R.attr.html#android.R.attr.uiOptions" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.content.pm.ActivityInfo.html#android.content.pm.ActivityInfo.uiOptions" class="hiddenlink" target="rightframe">android.content.pm.ActivityInfo</A>
+</nobr><br>
+<nobr>&nbsp;in&nbsp;
+<A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.uiOptions" class="hiddenlink" target="rightframe">android.content.pm.ApplicationInfo</A>
+</nobr><br>
+<nobr><A HREF="android.renderscript.Allocation.html#android.renderscript.Allocation.USAGE_GRAPHICS_RENDER_TARGET" class="hiddenlink" target="rightframe">USAGE_GRAPHICS_RENDER_TARGET</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.useDefaultMargins" class="hiddenlink" target="rightframe">useDefaultMargins</A>
+</nobr><br>
+<nobr><A HREF="android.app.admin.DeviceAdminInfo.html#android.app.admin.DeviceAdminInfo.USES_POLICY_DISABLE_CAMERA" class="hiddenlink" target="rightframe">USES_POLICY_DISABLE_CAMERA</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="#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="#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">
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.VERIFICATION_ALLOW" class="hiddenlink" target="rightframe">VERIFICATION_ALLOW</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.VERIFICATION_REJECT" class="hiddenlink" target="rightframe">VERIFICATION_REJECT</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="#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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault" class="hiddenlink" target="rightframe">Widget_DeviceDefault</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionBar_Solid" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionBar_Solid</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionBar_TabBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionBar_TabBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionBar_TabText" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionBar_TabText</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionBar_TabView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionBar_TabView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionButton" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionButton</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionButton_CloseMode" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionButton_CloseMode</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionButton_Overflow" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionButton_Overflow</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionButton_TextButton" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionButton_TextButton</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ActionMode" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ActionMode</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_AutoCompleteTextView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_AutoCompleteTextView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Button" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Button</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Button_Borderless" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Button_Borderless</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Button_Borderless_Small" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Button_Borderless_Small</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Button_Inset" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Button_Inset</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Button_Small" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Button_Small</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Button_Toggle" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Button_Toggle</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_CalendarView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_CalendarView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_CompoundButton_CheckBox" class="hiddenlink" target="rightframe">Widget_DeviceDefault_CompoundButton_CheckBox</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_CompoundButton_RadioButton" class="hiddenlink" target="rightframe">Widget_DeviceDefault_CompoundButton_RadioButton</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_CompoundButton_Star" class="hiddenlink" target="rightframe">Widget_DeviceDefault_CompoundButton_Star</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_DatePicker" class="hiddenlink" target="rightframe">Widget_DeviceDefault_DatePicker</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_DropDownItem" class="hiddenlink" target="rightframe">Widget_DeviceDefault_DropDownItem</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_DropDownItem_Spinner" class="hiddenlink" target="rightframe">Widget_DeviceDefault_DropDownItem_Spinner</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_EditText" class="hiddenlink" target="rightframe">Widget_DeviceDefault_EditText</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ExpandableListView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ExpandableListView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_GridView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_GridView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_HorizontalScrollView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_HorizontalScrollView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ImageButton" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ImageButton</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar_Solid" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar_Solid</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar_Solid_Inverse" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar_Solid_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar_TabBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar_TabBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar_TabBar_Inverse" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar_TabBar_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar_TabText" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar_TabText</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar_TabText_Inverse" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar_TabText_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar_TabView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar_TabView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionBar_TabView_Inverse" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionBar_TabView_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionButton" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionButton</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionButton_CloseMode" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionButton_CloseMode</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionButton_Overflow" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionButton_Overflow</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionMode" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionMode</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ActionMode_Inverse" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ActionMode_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_AutoCompleteTextView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_AutoCompleteTextView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_Button" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_Button</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_Button_Borderless_Small" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_Button_Borderless_Small</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_Button_Inset" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_Button_Inset</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_Button_Small" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_Button_Small</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_Button_Toggle" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_Button_Toggle</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_CalendarView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_CalendarView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_CompoundButton_CheckBox" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_CompoundButton_CheckBox</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_CompoundButton_RadioButton" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_CompoundButton_RadioButton</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_CompoundButton_Star" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_CompoundButton_Star</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_DropDownItem" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_DropDownItem</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_DropDownItem_Spinner" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_DropDownItem_Spinner</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_EditText" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_EditText</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ExpandableListView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ExpandableListView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_GridView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_GridView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_HorizontalScrollView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_HorizontalScrollView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ImageButton" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ImageButton</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ListPopupWindow" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ListPopupWindow</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ListView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ListView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ListView_DropDown" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ListView_DropDown</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_PopupMenu" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_PopupMenu</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_PopupWindow" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_PopupWindow</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ProgressBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ProgressBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ProgressBar_Horizontal" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ProgressBar_Horizontal</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ProgressBar_Inverse" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ProgressBar_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ProgressBar_Large" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ProgressBar_Large</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ProgressBar_Large_Inverse" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ProgressBar_Large_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ProgressBar_Small" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ProgressBar_Small</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ProgressBar_Small_Inverse" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ProgressBar_Small_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ProgressBar_Small_Title" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ProgressBar_Small_Title</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_RatingBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_RatingBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_RatingBar_Indicator" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_RatingBar_Indicator</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_RatingBar_Small" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_RatingBar_Small</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_ScrollView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_ScrollView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_SeekBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_SeekBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_Spinner" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_Spinner</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_Tab" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_Tab</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_TabWidget" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_TabWidget</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_TextView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_TextView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_TextView_SpinnerItem" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_TextView_SpinnerItem</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_WebTextView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_WebTextView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Light_WebView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Light_WebView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ListPopupWindow" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ListPopupWindow</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ListView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ListView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ListView_DropDown" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ListView_DropDown</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_PopupMenu" class="hiddenlink" target="rightframe">Widget_DeviceDefault_PopupMenu</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_PopupWindow" class="hiddenlink" target="rightframe">Widget_DeviceDefault_PopupWindow</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ProgressBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ProgressBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ProgressBar_Horizontal" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ProgressBar_Horizontal</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ProgressBar_Large" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ProgressBar_Large</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ProgressBar_Small" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ProgressBar_Small</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ProgressBar_Small_Title" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ProgressBar_Small_Title</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_RatingBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_RatingBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_RatingBar_Indicator" class="hiddenlink" target="rightframe">Widget_DeviceDefault_RatingBar_Indicator</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_RatingBar_Small" class="hiddenlink" target="rightframe">Widget_DeviceDefault_RatingBar_Small</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_ScrollView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_ScrollView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_SeekBar" class="hiddenlink" target="rightframe">Widget_DeviceDefault_SeekBar</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Spinner" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Spinner</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_Tab" class="hiddenlink" target="rightframe">Widget_DeviceDefault_Tab</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_TabWidget" class="hiddenlink" target="rightframe">Widget_DeviceDefault_TabWidget</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_TextView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_TextView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_TextView_SpinnerItem" class="hiddenlink" target="rightframe">Widget_DeviceDefault_TextView_SpinnerItem</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_WebTextView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_WebTextView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_DeviceDefault_WebView" class="hiddenlink" target="rightframe">Widget_DeviceDefault_WebView</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_ActionBar_Solid" class="hiddenlink" target="rightframe">Widget_Holo_ActionBar_Solid</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_Button_Borderless_Small" class="hiddenlink" target="rightframe">Widget_Holo_Button_Borderless_Small</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_Light_ActionBar_Solid" class="hiddenlink" target="rightframe">Widget_Holo_Light_ActionBar_Solid</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_Light_ActionBar_Solid_Inverse" class="hiddenlink" target="rightframe">Widget_Holo_Light_ActionBar_Solid_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_Light_ActionBar_TabBar_Inverse" class="hiddenlink" target="rightframe">Widget_Holo_Light_ActionBar_TabBar_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_Light_ActionBar_TabText_Inverse" class="hiddenlink" target="rightframe">Widget_Holo_Light_ActionBar_TabText_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_Light_ActionBar_TabView_Inverse" class="hiddenlink" target="rightframe">Widget_Holo_Light_ActionBar_TabView_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_Light_ActionMode_Inverse" class="hiddenlink" target="rightframe">Widget_Holo_Light_ActionMode_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_Holo_Light_Button_Borderless_Small" class="hiddenlink" target="rightframe">Widget_Holo_Light_Button_Borderless_Small</A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.WIFI_P2P_SERVICE" class="hiddenlink" target="rightframe">WIFI_P2P_SERVICE</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_AP_COUNT" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_AP_COUNT</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_MAX_AP_CHECKS" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_MAX_AP_CHECKS</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_PING_COUNT" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_PING_COUNT</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_PING_DELAY_MS" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_PING_DELAY_MS</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_PING_TIMEOUT_MS" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_PING_TIMEOUT_MS</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_WATCH_LIST" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_WATCH_LIST</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.WRITE_PROFILE" class="hiddenlink" target="rightframe">WRITE_PROFILE</A>
+</nobr><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="#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="#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.View.html#android.view.View.X" class="hiddenlink" target="rightframe">X</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="#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="#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">
+<nobr><A HREF="android.view.View.html#android.view.View.Y" class="hiddenlink" target="rightframe">Y</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/14/changes/fields_index_changes.html b/docs/html/sdk/api_diff/14/changes/fields_index_changes.html
new file mode 100644
index 0000000..6c6aabd
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/fields_index_changes.html
@@ -0,0 +1,283 @@
+<!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="#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="#I"><font size="-2">I</font></a> 
+<a href="#M"><font size="-2">M</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.content.Intent.html#android.content.Intent.ACTION_PACKAGE_INSTALL" class="hiddenlink" target="rightframe">ACTION_PACKAGE_INSTALL</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.content.Intent.html#android.content.Intent.ACTION_UMS_CONNECTED" class="hiddenlink" target="rightframe">ACTION_UMS_CONNECTED</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_UMS_DISCONNECTED" class="hiddenlink" target="rightframe">ACTION_UMS_DISCONNECTED</A>
+</nobr><br>
+<nobr><A HREF="android.webkit.WebView.HitTestResult.html#android.webkit.WebView.HitTestResult.ANCHOR_TYPE" class="hiddenlink" target="rightframe">ANCHOR_TYPE</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="#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="#M"><font size="-2">M</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.provider.Settings.Secure.html#android.provider.Settings.Secure.BACKGROUND_DATA" class="hiddenlink" target="rightframe">BACKGROUND_DATA</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="#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="#M"><font size="-2">M</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.util.Config.html#android.util.Config.DEBUG" class="hiddenlink" target="rightframe">DEBUG</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="#D"><font size="-2">D</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#M"><font size="-2">M</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.net.ConnectivityManager.html#android.net.ConnectivityManager.EXTRA_NETWORK_INFO" class="hiddenlink" target="rightframe">EXTRA_NETWORK_INFO</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="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#M"><font size="-2">M</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.R.attr.html#android.R.attr.fadingEdge" class="hiddenlink" target="rightframe">fadingEdge</A>
+</nobr><br>
+<nobr><A HREF="android.view.WindowManager.LayoutParams.html#android.view.WindowManager.LayoutParams.FLAG_BLUR_BEHIND" class="hiddenlink" target="rightframe">FLAG_BLUR_BEHIND</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="#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="#M"><font size="-2">M</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.webkit.WebView.HitTestResult.html#android.webkit.WebView.HitTestResult.IMAGE_ANCHOR_TYPE" class="hiddenlink" target="rightframe">IMAGE_ANCHOR_TYPE</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="#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="#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.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.MAX_TEXT_LENGTH" class="hiddenlink" target="rightframe">MAX_TEXT_LENGTH</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="#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="#M"><font size="-2">M</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.os.Build.html#android.os.Build.RADIO" class="hiddenlink" target="rightframe">RADIO</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="#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="#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="#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.net.http.SslError.html#android.net.http.SslError.SSL_MAX_ERROR" class="hiddenlink" target="rightframe">SSL_MAX_ERROR</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.STATUS_BAR_HIDDEN" class="hiddenlink" target="rightframe">STATUS_BAR_HIDDEN</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.STATUS_BAR_VISIBLE" class="hiddenlink" target="rightframe">STATUS_BAR_VISIBLE</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="#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="#M"><font size="-2">M</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</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.util.Patterns.html#android.util.Patterns.TOP_LEVEL_DOMAIN_STR" class="hiddenlink" target="rightframe">TOP_LEVEL_DOMAIN_STR</A>
+</nobr><br>
+<nobr><A HREF="android.util.Patterns.html#android.util.Patterns.TOP_LEVEL_DOMAIN_STR_FOR_WEB_URL" class="hiddenlink" target="rightframe">TOP_LEVEL_DOMAIN_STR_FOR_WEB_URL</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.TTS_DEFAULT_COUNTRY" class="hiddenlink" target="rightframe">TTS_DEFAULT_COUNTRY</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.TTS_DEFAULT_LANG" class="hiddenlink" target="rightframe">TTS_DEFAULT_LANG</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.TTS_DEFAULT_VARIANT" class="hiddenlink" target="rightframe">TTS_DEFAULT_VARIANT</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.TTS_USE_DEFAULTS" class="hiddenlink" target="rightframe">TTS_USE_DEFAULTS</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.Sensor.html#android.hardware.Sensor.TYPE_TEMPERATURE" class="hiddenlink" target="rightframe">TYPE_TEMPERATURE</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="#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="#M"><font size="-2">M</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="#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.WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_AP_COUNT" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_AP_COUNT</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_MAX_AP_CHECKS" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_MAX_AP_CHECKS</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_PING_COUNT" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_PING_COUNT</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_PING_DELAY_MS" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_PING_DELAY_MS</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_PING_TIMEOUT_MS" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_PING_TIMEOUT_MS</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.WIFI_WATCHDOG_WATCH_LIST" class="hiddenlink" target="rightframe">WIFI_WATCHDOG_WATCH_LIST</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/14/changes/fields_index_removals.html b/docs/html/sdk/api_diff/14/changes/fields_index_removals.html
new file mode 100644
index 0000000..6bc291f
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/fields_index_removals.html
@@ -0,0 +1,163 @@
+<!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="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<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="#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="android.provider.MediaStore.Audio.AudioColumns.html#android.provider.MediaStore.Audio.AudioColumns.ALBUM_ART" class="hiddenlink" target="rightframe"><strike>ALBUM_ART</strike></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="#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="#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="android.view.Surface.html#android.view.Surface.FX_SURFACE_BLUR" class="hiddenlink" target="rightframe"><strike>FX_SURFACE_BLUR</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.FX_SURFACE_DIM" class="hiddenlink" target="rightframe"><strike>FX_SURFACE_DIM</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.FX_SURFACE_MASK" class="hiddenlink" target="rightframe"><strike>FX_SURFACE_MASK</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.FX_SURFACE_NORMAL" class="hiddenlink" target="rightframe"><strike>FX_SURFACE_NORMAL</strike></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="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.GPU" class="hiddenlink" target="rightframe"><strike>GPU</strike></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="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.HARDWARE" class="hiddenlink" target="rightframe"><strike>HARDWARE</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.HIDDEN" class="hiddenlink" target="rightframe"><strike>HIDDEN</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="#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="#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="android.view.Surface.html#android.view.Surface.NON_PREMULTIPLIED" class="hiddenlink" target="rightframe"><strike>NON_PREMULTIPLIED</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="#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="#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.Surface.html#android.view.Surface.PUSH_BUFFERS" class="hiddenlink" target="rightframe"><strike>PUSH_BUFFERS</strike></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="#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="#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.view.Surface.html#android.view.Surface.SECURE" class="hiddenlink" target="rightframe"><strike>SECURE</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.SURACE_FROZEN" class="hiddenlink" target="rightframe"><strike>SURACE_FROZEN</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.SURFACE_BLUR_FREEZE" class="hiddenlink" target="rightframe"><strike>SURFACE_BLUR_FREEZE</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.SURFACE_DITHER" class="hiddenlink" target="rightframe"><strike>SURFACE_DITHER</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.SURFACE_FROZEN" class="hiddenlink" target="rightframe"><strike>SURFACE_FROZEN</strike></A>
+</nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.SURFACE_HIDDEN" class="hiddenlink" target="rightframe"><strike>SURFACE_HIDDEN</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/14/changes/java.io.FilePermission.html b/docs/html/sdk/api_diff/14/changes/java.io.FilePermission.html
new file mode 100644
index 0000000..6f1f043
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/java.io.FilePermission.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.io.FilePermission
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.io.<A HREF="../../../../reference/java/io/FilePermission.html" target="_top"><font size="+2"><code>FilePermission</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.io.FilePermission.equals_changed(java.lang.Object)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/lang/Object.html#equals(java.lang.Object)" target="_top"><code>equals</code></A>(<code>Object</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/java/lang/Object.html#equals(java.lang.Object)" target="_top"><code>Object</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.io.FilePermission.hashCode_changed()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/Object.html#hashCode()" target="_top"><code>hashCode</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/java/lang/Object.html#hashCode()" target="_top"><code>Object</code></a>.
+  </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/14/changes/java.io.ObjectInputStream.html b/docs/html/sdk/api_diff/14/changes/java.io.ObjectInputStream.html
new file mode 100644
index 0000000..56a49fe
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/java.io.ObjectInputStream.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.io.ObjectInputStream
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.io.<A HREF="../../../../reference/java/io/ObjectInputStream.html" target="_top"><font size="+2"><code>ObjectInputStream</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.io.ObjectInputStream.enableResolveObject_changed(boolean)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/io/ObjectInputStream.html#enableResolveObject(boolean)" target="_top"><code>enableResolveObject</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.lang.SecurityException</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/14/changes/java.io.ObjectOutputStream.html b/docs/html/sdk/api_diff/14/changes/java.io.ObjectOutputStream.html
new file mode 100644
index 0000000..0a320e2
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/java.io.ObjectOutputStream.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.io.ObjectOutputStream
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.io.<A HREF="../../../../reference/java/io/ObjectOutputStream.html" target="_top"><font size="+2"><code>ObjectOutputStream</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.io.ObjectOutputStream.enableReplaceObject_changed(boolean)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/io/ObjectOutputStream.html#enableReplaceObject(boolean)" target="_top"><code>enableReplaceObject</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.lang.SecurityException</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/14/changes/java.lang.Class.html b/docs/html/sdk/api_diff/14/changes/java.lang.Class.html
new file mode 100644
index 0000000..cec7515
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/java.lang.Class.html
@@ -0,0 +1,245 @@
+<!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.lang.Class
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.lang.<A HREF="../../../../reference/java/lang/Class.html" target="_top"><font size="+2"><code>Class</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.lang.Class.getConstructor_changed(java.lang.Class<?>...)"></A>
+  <nobr><code>Constructor&lt;T&gt;</code>&nbsp;<A HREF="../../../../reference/java/lang/Class.html#getConstructor(java.lang.Class<?>...)" target="_top"><code>getConstructor</code></A>(<code>Class&lt;?&gt;</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from (<code>java.lang.NoSuchMethodException, java.lang.SecurityException</code>) to <code>java.lang.NoSuchMethodException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Class.getConstructors_changed()"></A>
+  <nobr><code>Constructor&lt;?&gt;</code>&nbsp;<A HREF="../../../../reference/java/lang/Class.html#getConstructors()" target="_top"><code>getConstructors</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.lang.SecurityException</code> to no exceptions.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Class.getDeclaredClasses_changed()"></A>
+  <nobr><code>Class&lt;?&gt;</code>&nbsp;<A HREF="../../../../reference/java/lang/Class.html#getDeclaredClasses()" target="_top"><code>getDeclaredClasses</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.lang.SecurityException</code> to no exceptions.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Class.getDeclaredConstructor_changed(java.lang.Class<?>...)"></A>
+  <nobr><code>Constructor&lt;T&gt;</code>&nbsp;<A HREF="../../../../reference/java/lang/Class.html#getDeclaredConstructor(java.lang.Class<?>...)" target="_top"><code>getDeclaredConstructor</code></A>(<code>Class&lt;?&gt;</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from (<code>java.lang.NoSuchMethodException, java.lang.SecurityException</code>) to <code>java.lang.NoSuchMethodException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Class.getDeclaredConstructors_changed()"></A>
+  <nobr><code>Constructor&lt;?&gt;</code>&nbsp;<A HREF="../../../../reference/java/lang/Class.html#getDeclaredConstructors()" target="_top"><code>getDeclaredConstructors</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.lang.SecurityException</code> to no exceptions.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Class.getDeclaredField_changed(java.lang.String)"></A>
+  <nobr><code>Field</code>&nbsp;<A HREF="../../../../reference/java/lang/Class.html#getDeclaredField(java.lang.String)" target="_top"><code>getDeclaredField</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from (<code>java.lang.NoSuchFieldException, java.lang.SecurityException</code>) to <code>java.lang.NoSuchFieldException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Class.getDeclaredFields_changed()"></A>
+  <nobr><code>Field[]</code>&nbsp;<A HREF="../../../../reference/java/lang/Class.html#getDeclaredFields()" target="_top"><code>getDeclaredFields</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.lang.SecurityException</code> to no exceptions.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Class.getDeclaredMethod_changed(java.lang.String, java.lang.Class<?>...)"></A>
+  <nobr><code>Method</code>&nbsp;<A HREF="../../../../reference/java/lang/Class.html#getDeclaredMethod(java.lang.String, java.lang.Class<?>...)" target="_top"><code>getDeclaredMethod</code></A>(<code>String,</nobr> Class&lt;?&gt;<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from (<code>java.lang.NoSuchMethodException, java.lang.SecurityException</code>) to <code>java.lang.NoSuchMethodException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Class.getDeclaredMethods_changed()"></A>
+  <nobr><code>Method[]</code>&nbsp;<A HREF="../../../../reference/java/lang/Class.html#getDeclaredMethods()" target="_top"><code>getDeclaredMethods</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.lang.SecurityException</code> to no exceptions.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Class.getField_changed(java.lang.String)"></A>
+  <nobr><code>Field</code>&nbsp;<A HREF="../../../../reference/java/lang/Class.html#getField(java.lang.String)" target="_top"><code>getField</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from (<code>java.lang.NoSuchFieldException, java.lang.SecurityException</code>) to <code>java.lang.NoSuchFieldException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Class.getFields_changed()"></A>
+  <nobr><code>Field[]</code>&nbsp;<A HREF="../../../../reference/java/lang/Class.html#getFields()" target="_top"><code>getFields</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.lang.SecurityException</code> to no exceptions.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Class.getMethod_changed(java.lang.String, java.lang.Class<?>...)"></A>
+  <nobr><code>Method</code>&nbsp;<A HREF="../../../../reference/java/lang/Class.html#getMethod(java.lang.String, java.lang.Class<?>...)" target="_top"><code>getMethod</code></A>(<code>String,</nobr> Class&lt;?&gt;<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from (<code>java.lang.NoSuchMethodException, java.lang.SecurityException</code>) to <code>java.lang.NoSuchMethodException</code>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.Class.getMethods_changed()"></A>
+  <nobr><code>Method[]</code>&nbsp;<A HREF="../../../../reference/java/lang/Class.html#getMethods()" target="_top"><code>getMethods</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.lang.SecurityException</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/14/changes/java.lang.ref.ReferenceQueue.html b/docs/html/sdk/api_diff/14/changes/java.lang.ref.ReferenceQueue.html
new file mode 100644
index 0000000..7127f60
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/java.lang.ref.ReferenceQueue.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.lang.ref.ReferenceQueue
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.lang.ref.<A HREF="../../../../reference/java/lang/ref/ReferenceQueue.html" target="_top"><font size="+2"><code>ReferenceQueue</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.lang.ref.ReferenceQueue.remove_changed(long)"></A>
+  <nobr><code>Reference&lt;? extends T&gt;</code>&nbsp;<A HREF="../../../../reference/java/lang/ref/ReferenceQueue.html#remove(long)" target="_top"><code>remove</code></A>(<code>long</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from (<code>java.lang.IllegalArgumentException, java.lang.InterruptedException</code>) to <code>java.lang.InterruptedException</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/14/changes/java.lang.reflect.AccessibleObject.html b/docs/html/sdk/api_diff/14/changes/java.lang.reflect.AccessibleObject.html
new file mode 100644
index 0000000..8b9ef71
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/java.lang.reflect.AccessibleObject.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.lang.reflect.AccessibleObject
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.lang.reflect.<A HREF="../../../../reference/java/lang/reflect/AccessibleObject.html" target="_top"><font size="+2"><code>AccessibleObject</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.lang.reflect.AccessibleObject.setAccessible_changed(java.lang.reflect.AccessibleObject[], boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/lang/reflect/AccessibleObject.html#setAccessible(java.lang.reflect.AccessibleObject[], boolean)" target="_top"><code>setAccessible</code></A>(<code>AccessibleObject[],</nobr> boolean<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.lang.SecurityException</code> to no exceptions.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.reflect.AccessibleObject.setAccessible_changed(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/lang/reflect/AccessibleObject.html#setAccessible(boolean)" target="_top"><code>setAccessible</code></A>(<code>boolean</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>java.lang.SecurityException</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/14/changes/java.lang.reflect.Constructor.html b/docs/html/sdk/api_diff/14/changes/java.lang.reflect.Constructor.html
new file mode 100644
index 0000000..7aba794
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/java.lang.reflect.Constructor.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>
+java.lang.reflect.Constructor
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.lang.reflect.<A HREF="../../../../reference/java/lang/reflect/Constructor.html" target="_top"><font size="+2"><code>Constructor</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="java.lang.reflect.Constructor.getAnnotation_added(java.lang.Class<A>)"></A>
+  <nobr><code>A</code>&nbsp;<A HREF="../../../../reference/java/lang/reflect/Constructor.html#getAnnotation(java.lang.Class<A>)" target="_top"><code>getAnnotation</code></A>(<code>Class&lt;A&gt;</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/14/changes/java.lang.reflect.Field.html b/docs/html/sdk/api_diff/14/changes/java.lang.reflect.Field.html
new file mode 100644
index 0000000..911b74f
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/java.lang.reflect.Field.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>
+java.lang.reflect.Field
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.lang.reflect.<A HREF="../../../../reference/java/lang/reflect/Field.html" target="_top"><font size="+2"><code>Field</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="java.lang.reflect.Field.getAnnotation_added(java.lang.Class<A>)"></A>
+  <nobr><code>A</code>&nbsp;<A HREF="../../../../reference/java/lang/reflect/Field.html#getAnnotation(java.lang.Class<A>)" target="_top"><code>getAnnotation</code></A>(<code>Class&lt;A&gt;</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/14/changes/java.lang.reflect.Method.html b/docs/html/sdk/api_diff/14/changes/java.lang.reflect.Method.html
new file mode 100644
index 0000000..71b7148
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/java.lang.reflect.Method.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>
+java.lang.reflect.Method
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.lang.reflect.<A HREF="../../../../reference/java/lang/reflect/Method.html" target="_top"><font size="+2"><code>Method</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="java.lang.reflect.Method.getAnnotation_added(java.lang.Class<A>)"></A>
+  <nobr><code>A</code>&nbsp;<A HREF="../../../../reference/java/lang/reflect/Method.html#getAnnotation(java.lang.Class<A>)" target="_top"><code>getAnnotation</code></A>(<code>Class&lt;A&gt;</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/14/changes/java.net.SocketPermission.html b/docs/html/sdk/api_diff/14/changes/java.net.SocketPermission.html
new file mode 100644
index 0000000..e0e97f7
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/java.net.SocketPermission.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.net.SocketPermission
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/SocketPermission.html" target="_top"><font size="+2"><code>SocketPermission</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.net.SocketPermission.equals_changed(java.lang.Object)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/lang/Object.html#equals(java.lang.Object)" target="_top"><code>equals</code></A>(<code>Object</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/java/lang/Object.html#equals(java.lang.Object)" target="_top"><code>Object</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.net.SocketPermission.hashCode_changed()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/Object.html#hashCode()" target="_top"><code>hashCode</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/java/lang/Object.html#hashCode()" target="_top"><code>Object</code></a>.
+  </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/14/changes/java.security.AllPermission.html b/docs/html/sdk/api_diff/14/changes/java.security.AllPermission.html
new file mode 100644
index 0000000..e7b6c69
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/java.security.AllPermission.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.security.AllPermission
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.security.<A HREF="../../../../reference/java/security/AllPermission.html" target="_top"><font size="+2"><code>AllPermission</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.security.AllPermission.equals_changed(java.lang.Object)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/lang/Object.html#equals(java.lang.Object)" target="_top"><code>equals</code></A>(<code>Object</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/java/lang/Object.html#equals(java.lang.Object)" target="_top"><code>Object</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.security.AllPermission.hashCode_changed()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/Object.html#hashCode()" target="_top"><code>hashCode</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/java/lang/Object.html#hashCode()" target="_top"><code>Object</code></a>.
+  </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/14/changes/java.security.BasicPermission.html b/docs/html/sdk/api_diff/14/changes/java.security.BasicPermission.html
new file mode 100644
index 0000000..e1635b2
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/java.security.BasicPermission.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.security.BasicPermission
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.security.<A HREF="../../../../reference/java/security/BasicPermission.html" target="_top"><font size="+2"><code>BasicPermission</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.security.BasicPermission.equals_changed(java.lang.Object)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/lang/Object.html#equals(java.lang.Object)" target="_top"><code>equals</code></A>(<code>Object</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/java/lang/Object.html#equals(java.lang.Object)" target="_top"><code>Object</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.security.BasicPermission.hashCode_changed()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/Object.html#hashCode()" target="_top"><code>hashCode</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/java/lang/Object.html#hashCode()" target="_top"><code>Object</code></a>.
+  </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/14/changes/java.security.Permission.html b/docs/html/sdk/api_diff/14/changes/java.security.Permission.html
new file mode 100644
index 0000000..3d588cd
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/java.security.Permission.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.security.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.security.<A HREF="../../../../reference/java/security/Permission.html" target="_top"><font size="+2"><code>Permission</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.security.Permission.equals_changed(java.lang.Object)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/lang/Object.html#equals(java.lang.Object)" target="_top"><code>equals</code></A>(<code>Object</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/java/lang/Object.html#equals(java.lang.Object)" target="_top"><code>Object</code></a>. Changed from abstract to non-abstract.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.security.Permission.hashCode_changed()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/Object.html#hashCode()" target="_top"><code>hashCode</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/java/lang/Object.html#hashCode()" target="_top"><code>Object</code></a>. Changed from abstract to non-abstract.
+  </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/14/changes/java.security.UnresolvedPermission.html b/docs/html/sdk/api_diff/14/changes/java.security.UnresolvedPermission.html
new file mode 100644
index 0000000..73628f6
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/java.security.UnresolvedPermission.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.security.UnresolvedPermission
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.security.<A HREF="../../../../reference/java/security/UnresolvedPermission.html" target="_top"><font size="+2"><code>UnresolvedPermission</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.security.UnresolvedPermission.equals_changed(java.lang.Object)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/lang/Object.html#equals(java.lang.Object)" target="_top"><code>equals</code></A>(<code>Object</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/java/lang/Object.html#equals(java.lang.Object)" target="_top"><code>Object</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.security.UnresolvedPermission.hashCode_changed()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/Object.html#hashCode()" target="_top"><code>hashCode</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/java/lang/Object.html#hashCode()" target="_top"><code>Object</code></a>.
+  </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/14/changes/java.util.logging.Handler.html b/docs/html/sdk/api_diff/14/changes/java.util.logging.Handler.html
new file mode 100644
index 0000000..1eeee00
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/java.util.logging.Handler.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.logging.Handler
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.logging.<A HREF="../../../../reference/java/util/logging/Handler.html" target="_top"><font size="+2"><code>Handler</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.logging.Handler.setEncoding_changed(java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/java/util/logging/Handler.html#setEncoding(java.lang.String)" target="_top"><code>setEncoding</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from (<code>java.lang.SecurityException, java.io.UnsupportedEncodingException</code>) to <code>java.io.UnsupportedEncodingException</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/14/changes/javax.security.auth.PrivateCredentialPermission.html b/docs/html/sdk/api_diff/14/changes/javax.security.auth.PrivateCredentialPermission.html
new file mode 100644
index 0000000..86774e0
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/javax.security.auth.PrivateCredentialPermission.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>
+javax.security.auth.PrivateCredentialPermission
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.security.auth.<A HREF="../../../../reference/javax/security/auth/PrivateCredentialPermission.html" target="_top"><font size="+2"><code>PrivateCredentialPermission</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="javax.security.auth.PrivateCredentialPermission.equals_changed(java.lang.Object)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/java/lang/Object.html#equals(java.lang.Object)" target="_top"><code>equals</code></A>(<code>Object</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/java/lang/Object.html#equals(java.lang.Object)" target="_top"><code>Object</code></a>.
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="javax.security.auth.PrivateCredentialPermission.hashCode_changed()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/java/lang/Object.html#hashCode()" target="_top"><code>hashCode</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Method was locally defined, but is now inherited from <a href="../../../../reference/java/lang/Object.html#hashCode()" target="_top"><code>Object</code></a>.
+  </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/14/changes/jdiff_help.html b/docs/html/sdk/api_diff/14/changes/jdiff_help.html
new file mode 100644
index 0000000..8220056
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/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>14</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/14/changes/jdiff_statistics.html b/docs/html/sdk/api_diff/14/changes/jdiff_statistics.html
new file mode 100644
index 0000000..038cd2d
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/jdiff_statistics.html
@@ -0,0 +1,1345 @@
+<!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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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 13 and 14 is approximately <span style="color:222;font-weight:bold;">3.96%</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">5</TD>
+  <TD ALIGN="right">48</TD>
+  <TD ALIGN="right">0</TD>
+  <TD ALIGN="right">53</TD>
+</TR>
+<TR>
+  <TD>Classes and <i>Interfaces</i></TD>
+  <TD ALIGN="right">91</TD>
+  <TD ALIGN="right">192</TD>
+  <TD ALIGN="right">0</TD>
+  <TD ALIGN="right">283</TD>
+</TR>
+<TR>
+  <TD>Constructors</TD>
+  <TD ALIGN="right">19</TD>
+  <TD ALIGN="right">2</TD>
+  <TD ALIGN="right">0</TD>
+  <TD ALIGN="right">21</TD>
+</TR>
+<TR>
+  <TD>Methods</TD>
+  <TD ALIGN="right">286</TD>
+  <TD ALIGN="right">94</TD>
+  <TD ALIGN="right">29</TD>
+  <TD ALIGN="right">409</TD>
+</TR>
+<TR>
+  <TD>Fields</TD>
+  <TD ALIGN="right">405</TD>
+  <TD ALIGN="right">34</TD>
+  <TD ALIGN="right">16</TD>
+  <TD ALIGN="right">455</TD>
+</TR>
+<TR>
+  <TD style="background-color:#FAFAFA"><b>Total</b></TD>
+  <TD  style="background-color:#FAFAFA" ALIGN="right"><strong>806</strong></TD>
+  <TD  style="background-color:#FAFAFA" ALIGN="right"><strong>370</strong></TD>
+  <TD  style="background-color:#FAFAFA" ALIGN="right"><strong>45</strong></TD>
+  <TD  style="background-color:#FAFAFA" ALIGN="right"><strong>1221</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">100</TD>
+  <TD><A HREF="pkg_dalvik.annotation.html">dalvik.annotation</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">54</TD>
+  <TD><A HREF="pkg_android.view.accessibility.html">android.view.accessibility</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">34</TD>
+  <TD><A HREF="pkg_android.speech.tts.html">android.speech.tts</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">34</TD>
+  <TD><A HREF="pkg_dalvik.system.html">dalvik.system</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">20</TD>
+  <TD><A HREF="pkg_android.nfc.html">android.nfc</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">13</TD>
+  <TD><A HREF="pkg_android.accessibilityservice.html">android.accessibilityservice</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="pkg_android.provider.html">android.provider</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="pkg_android.bluetooth.html">android.bluetooth</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="pkg_android.nfc.tech.html">android.nfc.tech</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="pkg_android.hardware.html">android.hardware</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="pkg_android.animation.html">android.animation</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="pkg_android.preference.html">android.preference</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="pkg_android.net.html">android.net</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="pkg_android.net.http.html">android.net.http</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="pkg_android.app.backup.html">android.app.backup</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="pkg_android.renderscript.html">android.renderscript</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="pkg_android.view.html">android.view</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="pkg_java.lang.ref.html">java.lang.ref</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="pkg_android.app.html">android.app</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="pkg_android.net.wifi.html">android.net.wifi</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="pkg_android.widget.html">android.widget</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="pkg_android.util.html">android.util</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="pkg_android.media.html">android.media</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="pkg_javax.security.auth.html">javax.security.auth</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="pkg_android.html">android</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</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.app.admin.html">android.app.admin</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="pkg_android.view.inputmethod.html">android.view.inputmethod</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="pkg_java.lang.reflect.html">java.lang.reflect</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="pkg_android.service.wallpaper.html">android.service.wallpaper</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="pkg_android.os.html">android.os</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">1</TD>
+  <TD><A HREF="pkg_android.speech.html">android.speech</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="pkg_android.content.html">android.content</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.appwidget.html">android.appwidget</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.webkit.html">android.webkit</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_java.security.html">java.security</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.inputmethodservice.html">android.inputmethodservice</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.opengl.html">android.opengl</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_java.io.html">java.io</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.graphics.html">android.graphics</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.database.sqlite.html">android.database.sqlite</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_java.util.logging.html">java.util.logging</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_java.lang.html">java.lang</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.test.mock.html">android.test.mock</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.text.html">android.text</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">62</TD>
+  <TD><A HREF="android.preference.CheckBoxPreference.html">
+android.preference.CheckBoxPreference</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">55</TD>
+  <TD><A HREF="android.view.Surface.html">
+android.view.Surface</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">52</TD>
+  <TD><A HREF="android.renderscript.AllocationAdapter.html">
+android.renderscript.AllocationAdapter</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="android.animation.TypeEvaluator.html">
+<i>android.animation.TypeEvaluator</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="dalvik.system.DexClassLoader.html">
+dalvik.system.DexClassLoader</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">48</TD>
+  <TD><A HREF="android.view.accessibility.AccessibilityEvent.html">
+android.view.accessibility.AccessibilityEvent</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">46</TD>
+  <TD><A HREF="android.view.accessibility.AccessibilityManager.html">
+android.view.accessibility.AccessibilityManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">37</TD>
+  <TD><A HREF="android.net.http.SslError.html">
+android.net.http.SslError</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">33</TD>
+  <TD><A HREF="android.app.backup.BackupAgent.html">
+android.app.backup.BackupAgent</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">33</TD>
+  <TD><A HREF="android.provider.ContactsContract.Contacts.Photo.html">
+android.provider.ContactsContract.Contacts.Photo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">30</TD>
+  <TD><A HREF="android.os.Looper.html">
+android.os.Looper</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">27</TD>
+  <TD><A HREF="android.nfc.tech.NfcA.html">
+android.nfc.tech.NfcA</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">27</TD>
+  <TD><A HREF="android.nfc.tech.NfcF.html">
+android.nfc.tech.NfcF</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">26</TD>
+  <TD><A HREF="android.renderscript.Element.html">
+android.renderscript.Element</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="android.R.style.html">
+android.R.style</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="android.animation.FloatEvaluator.html">
+android.animation.FloatEvaluator</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="android.animation.IntEvaluator.html">
+android.animation.IntEvaluator</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="android.webkit.WebSettings.TextSize.html">
+android.webkit.WebSettings.TextSize</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="java.io.FilePermission.html">
+java.io.FilePermission</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="java.lang.ref.ReferenceQueue.html">
+java.lang.ref.ReferenceQueue</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="java.lang.reflect.AccessibleObject.html">
+java.lang.reflect.AccessibleObject</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="java.net.SocketPermission.html">
+java.net.SocketPermission</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">23</TD>
+  <TD><A HREF="android.app.Application.html">
+android.app.Application</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">21</TD>
+  <TD><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html">
+android.accessibilityservice.AccessibilityServiceInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">20</TD>
+  <TD><A HREF="android.R.color.html">
+android.R.color</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">20</TD>
+  <TD><A HREF="android.animation.ObjectAnimator.html">
+android.animation.ObjectAnimator</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">20</TD>
+  <TD><A HREF="android.graphics.SurfaceTexture.html">
+android.graphics.SurfaceTexture</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">20</TD>
+  <TD><A HREF="android.provider.ContactsContract.html">
+android.provider.ContactsContract</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">20</TD>
+  <TD><A HREF="android.provider.ContactsContract.CommonDataKinds.Photo.html">
+android.provider.ContactsContract.CommonDataKinds.Photo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">20</TD>
+  <TD><A HREF="android.provider.ContactsContract.RawContactsColumns.html">
+<i>android.provider.ContactsContract.RawContactsColumns</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">20</TD>
+  <TD><A HREF="android.renderscript.BaseObj.html">
+android.renderscript.BaseObj</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">20</TD>
+  <TD><A HREF="android.widget.StackView.html">
+android.widget.StackView</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">20</TD>
+  <TD><A HREF="dalvik.system.PathClassLoader.html">
+dalvik.system.PathClassLoader</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">20</TD>
+  <TD><A HREF="java.security.AllPermission.html">
+java.security.AllPermission</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">20</TD>
+  <TD><A HREF="java.security.BasicPermission.html">
+java.security.BasicPermission</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">17</TD>
+  <TD><A HREF="android.animation.PropertyValuesHolder.html">
+android.animation.PropertyValuesHolder</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">17</TD>
+  <TD><A HREF="android.nfc.NfcAdapter.html">
+android.nfc.NfcAdapter</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="android.nfc.tech.IsoDep.html">
+android.nfc.tech.IsoDep</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="android.view.inputmethod.InputMethodSubtype.html">
+android.view.inputmethod.InputMethodSubtype</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="javax.security.auth.PrivateCredentialPermission.html">
+javax.security.auth.PrivateCredentialPermission</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">14</TD>
+  <TD><A HREF="android.content.pm.ServiceInfo.html">
+android.content.pm.ServiceInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">14</TD>
+  <TD><A HREF="android.nfc.tech.MifareUltralight.html">
+android.nfc.tech.MifareUltralight</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">14</TD>
+  <TD><A HREF="android.provider.ContactsContract.RawContactsEntity.html">
+android.provider.ContactsContract.RawContactsEntity</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">14</TD>
+  <TD><A HREF="android.renderscript.Byte2.html">
+android.renderscript.Byte2</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">14</TD>
+  <TD><A HREF="android.renderscript.Int2.html">
+android.renderscript.Int2</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">14</TD>
+  <TD><A HREF="android.renderscript.Long2.html">
+android.renderscript.Long2</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">14</TD>
+  <TD><A HREF="android.renderscript.Short2.html">
+android.renderscript.Short2</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">14</TD>
+  <TD><A HREF="android.widget.PopupMenu.html">
+android.widget.PopupMenu</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">14</TD>
+  <TD><A HREF="java.security.Permission.html">
+java.security.Permission</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">13</TD>
+  <TD><A HREF="android.net.TrafficStats.html">
+android.net.TrafficStats</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="android.provider.ContactsContract.ContactsColumns.html">
+<i>android.provider.ContactsContract.ContactsColumns</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="java.security.UnresolvedPermission.html">
+java.security.UnresolvedPermission</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="android.provider.Settings.Secure.html">
+android.provider.Settings.Secure</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="java.lang.Class.html">
+java.lang.Class</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="android.R.integer.html">
+android.R.integer</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="android.nfc.tech.NfcB.html">
+android.nfc.tech.NfcB</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="android.nfc.tech.NfcV.html">
+android.nfc.tech.NfcV</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="android.os.RecoverySystem.html">
+android.os.RecoverySystem</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="android.renderscript.Byte3.html">
+android.renderscript.Byte3</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="android.renderscript.Int3.html">
+android.renderscript.Int3</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="android.renderscript.Long3.html">
+android.renderscript.Long3</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="android.renderscript.Short3.html">
+android.renderscript.Short3</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="android.os.Debug.MemoryInfo.html">
+android.os.Debug.MemoryInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="android.widget.FrameLayout.html">
+android.widget.FrameLayout</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="android.util.Config.html">
+android.util.Config</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="android.view.ViewPropertyAnimator.html">
+android.view.ViewPropertyAnimator</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="android.renderscript.FieldPacker.html">
+android.renderscript.FieldPacker</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="android.view.MenuItem.html">
+<i>android.view.MenuItem</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="android.app.FragmentManager.BackStackEntry.html">
+<i>android.app.FragmentManager.BackStackEntry</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="android.bluetooth.BluetoothSocket.html">
+android.bluetooth.BluetoothSocket</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="android.provider.ContactsContract.StatusUpdates.html">
+android.provider.ContactsContract.StatusUpdates</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="android.renderscript.Byte4.html">
+android.renderscript.Byte4</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="android.renderscript.Int4.html">
+android.renderscript.Int4</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="android.renderscript.Long4.html">
+android.renderscript.Long4</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="android.renderscript.Short4.html">
+android.renderscript.Short4</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="android.util.Patterns.html">
+android.util.Patterns</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="android.media.MediaMetadataRetriever.html">
+android.media.MediaMetadataRetriever</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="android.app.ActionBar.Tab.html">
+android.app.ActionBar.Tab</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="android.webkit.WebView.HitTestResult.html">
+android.webkit.WebView.HitTestResult</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="android.widget.SearchView.html">
+android.widget.SearchView</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="android.hardware.Camera.html">
+android.hardware.Camera</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="android.view.Gravity.html">
+android.view.Gravity</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="android.net.SSLCertificateSocketFactory.html">
+android.net.SSLCertificateSocketFactory</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="android.app.ActionBar.html">
+android.app.ActionBar</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="android.hardware.Sensor.html">
+android.hardware.Sensor</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="android.view.ActionMode.html">
+android.view.ActionMode</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="android.net.ConnectivityManager.html">
+android.net.ConnectivityManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="android.media.MediaRecorder.html">
+android.media.MediaRecorder</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="android.view.MotionEvent.html">
+android.view.MotionEvent</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="android.accessibilityservice.AccessibilityService.html">
+android.accessibilityservice.AccessibilityService</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="android.content.IntentSender.html">
+android.content.IntentSender</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="android.opengl.GLUtils.html">
+android.opengl.GLUtils</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="android.provider.ContactsContract.SettingsColumns.html">
+<i>android.provider.ContactsContract.SettingsColumns</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.hardware.Camera.Parameters.html">
+android.hardware.Camera.Parameters</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.inputmethodservice.InputMethodService.InputMethodSessionImpl.html">
+android.inputmethodservice.InputMethodService.InputMethodSessionImpl</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.nfc.NdefRecord.html">
+android.nfc.NdefRecord</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.preference.PreferenceActivity.html">
+android.preference.PreferenceActivity</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.provider.ContactsContract.Intents.html">
+android.provider.ContactsContract.Intents</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.database.sqlite.SQLiteOpenHelper.html">
+android.database.sqlite.SQLiteOpenHelper</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.view.inputmethod.InputMethodSession.html">
+<i>android.view.inputmethod.InputMethodSession</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.nfc.tech.MifareClassic.html">
+android.nfc.tech.MifareClassic</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.appwidget.AppWidgetProviderInfo.html">
+android.appwidget.AppWidgetProviderInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.speech.tts.TextToSpeech.html">
+android.speech.tts.TextToSpeech</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.speech.tts.TextToSpeech.Engine.html">
+android.speech.tts.TextToSpeech.Engine</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.accounts.AccountManager.html">
+android.accounts.AccountManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.os.Build.html">
+android.os.Build</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.bluetooth.BluetoothProfile.html">
+<i>android.bluetooth.BluetoothProfile</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.provider.ContactsContract.GroupsColumns.html">
+<i>android.provider.ContactsContract.GroupsColumns</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.renderscript.RenderScriptGL.html">
+android.renderscript.RenderScriptGL</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.renderscript.Script.html">
+android.renderscript.Script</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.os.ParcelFileDescriptor.html">
+android.os.ParcelFileDescriptor</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.view.View.html">
+android.view.View</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.app.AlertDialog.html">
+android.app.AlertDialog</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.app.Service.html">
+android.app.Service</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.media.MediaPlayer.html">
+android.media.MediaPlayer</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.provider.LiveFolders.html">
+android.provider.LiveFolders</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.widget.AdapterViewAnimator.html">
+android.widget.AdapterViewAnimator</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.content.SyncAdapterType.html">
+android.content.SyncAdapterType</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.util.SparseBooleanArray.html">
+android.util.SparseBooleanArray</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.widget.LinearLayout.html">
+android.widget.LinearLayout</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="java.lang.reflect.Constructor.html">
+java.lang.reflect.Constructor</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.view.inputmethod.InputMethodManager.html">
+android.view.inputmethod.InputMethodManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.R.attr.html">
+android.R.attr</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.content.pm.PackageStats.html">
+android.content.pm.PackageStats</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.speech.RecognizerIntent.html">
+android.speech.RecognizerIntent</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.util.SparseIntArray.html">
+android.util.SparseIntArray</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.widget.RemoteViews.html">
+android.widget.RemoteViews</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.os.Build.VERSION_CODES.html">
+android.os.Build.VERSION_CODES</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.provider.ContactsContract.Contacts.html">
+android.provider.ContactsContract.Contacts</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.media.AudioManager.html">
+android.media.AudioManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="java.util.logging.Handler.html">
+java.util.logging.Handler</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.util.SparseArray.html">
+android.util.SparseArray</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.database.sqlite.SQLiteQueryBuilder.html">
+android.database.sqlite.SQLiteQueryBuilder</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.provider.MediaStore.Audio.AudioColumns.html">
+<i>android.provider.MediaStore.Audio.AudioColumns</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="java.lang.reflect.Method.html">
+java.lang.reflect.Method</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.renderscript.Allocation.html">
+android.renderscript.Allocation</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.animation.Animator.html">
+android.animation.Animator</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.service.wallpaper.WallpaperService.Engine.html">
+android.service.wallpaper.WallpaperService.Engine</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.speech.SpeechRecognizer.html">
+android.speech.SpeechRecognizer</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.view.ViewGroup.html">
+android.view.ViewGroup</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.app.admin.DevicePolicyManager.html">
+android.app.admin.DevicePolicyManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.view.ViewParent.html">
+<i>android.view.ViewParent</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.app.FragmentManager.html">
+android.app.FragmentManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.app.PendingIntent.html">
+android.app.PendingIntent</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.content.Intent.html">
+android.content.Intent</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.app.WallpaperManager.html">
+android.app.WallpaperManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.app.admin.DeviceAdminInfo.html">
+android.app.admin.DeviceAdminInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.content.pm.PackageManager.html">
+android.content.pm.PackageManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.widget.Scroller.html">
+android.widget.Scroller</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.widget.TextView.html">
+android.widget.TextView</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.app.SearchManager.html">
+android.app.SearchManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.widget.OverScroller.html">
+android.widget.OverScroller</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.graphics.Paint.html">
+android.graphics.Paint</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.R.string.html">
+android.R.string</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.app.Notification.Builder.html">
+android.app.Notification.Builder</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.webkit.WebChromeClient.html">
+android.webkit.WebChromeClient</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.webkit.WebSettings.html">
+android.webkit.WebSettings</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.animation.LayoutTransition.html">
+android.animation.LayoutTransition</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="java.lang.reflect.Field.html">
+java.lang.reflect.Field</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">1</TD>
+  <TD><A HREF="android.content.ContentProvider.html">
+android.content.ContentProvider</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="java.io.ObjectOutputStream.html">
+java.io.ObjectOutputStream</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="java.io.ObjectInputStream.html">
+java.io.ObjectInputStream</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.os.Process.html">
+android.os.Process</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.app.Fragment.html">
+android.app.Fragment</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.os.Handler.html">
+android.os.Handler</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.view.Window.html">
+android.view.Window</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.widget.ExpandableListView.html">
+android.widget.ExpandableListView</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.Settings.html">
+android.provider.Settings</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.graphics.RectF.html">
+android.graphics.RectF</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.view.InputDevice.html">
+android.view.InputDevice</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.graphics.Canvas.html">
+android.graphics.Canvas</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.bluetooth.BluetoothAdapter.html">
+android.bluetooth.BluetoothAdapter</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.content.pm.ApplicationInfo.html">
+android.content.pm.ApplicationInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.net.wifi.WifiManager.html">
+android.net.wifi.WifiManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.text.Layout.html">
+android.text.Layout</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.os.Debug.html">
+android.os.Debug</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.test.mock.MockPackageManager.html">
+android.test.mock.MockPackageManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.inputmethodservice.InputMethodService.html">
+android.inputmethodservice.InputMethodService</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.widget.AbsListView.html">
+android.widget.AbsListView</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.preference.Preference.html">
+android.preference.Preference</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.view.KeyEvent.html">
+android.view.KeyEvent</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.view.WindowManager.LayoutParams.html">
+android.view.WindowManager.LayoutParams</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.provider.Settings.System.html">
+android.provider.Settings.System</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.app.Activity.html">
+android.app.Activity</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="dalvik.annotation.TestTarget.html">
+dalvik.annotation.TestTarget</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="dalvik.annotation.TestTargetClass.html">
+dalvik.annotation.TestTargetClass</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/14/changes/jdiff_topleftframe.html b/docs/html/sdk/api_diff/14/changes/jdiff_topleftframe.html
new file mode 100644
index 0000000..36f9836
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/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/14/changes/methods_index_additions.html b/docs/html/sdk/api_diff/14/changes/methods_index_additions.html
new file mode 100644
index 0000000..1fd9649
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/methods_index_additions.html
@@ -0,0 +1,1041 @@
+<!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="#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="#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.view.accessibility.AccessibilityManager.html#android.view.accessibility.AccessibilityManager.addAccessibilityStateChangeListener_added(android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener)" class="hiddenlink" target="rightframe"><b>addAccessibilityStateChangeListener</b>
+(<code>AccessibilityStateChangeListener</code>)</A></nobr><br>
+<i>addF64</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addF64_added(android.renderscript.Double2)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Double2</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addF64_added(android.renderscript.Double3)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Double3</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addF64_added(android.renderscript.Double4)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Double4</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+<i>addI64</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addI64_added(android.renderscript.Long2)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Long2</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addI64_added(android.renderscript.Long3)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Long3</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addI64_added(android.renderscript.Long4)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Long4</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+<i>addU64</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addU64_added(android.renderscript.Long2)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Long2</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addU64_added(android.renderscript.Long3)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Long3</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addU64_added(android.renderscript.Long4)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Long4</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.appendRecord_added(android.view.accessibility.AccessibilityRecord)" class="hiddenlink" target="rightframe"><b>appendRecord</b>
+(<code>AccessibilityRecord</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="#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="#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.view.ViewPropertyAnimator.html#android.view.ViewPropertyAnimator.cancel_added()" class="hiddenlink" target="rightframe"><b>cancel</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.canScrollHorizontally_added(int)" class="hiddenlink" target="rightframe"><b>canScrollHorizontally</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.canScrollVertically_added(int)" class="hiddenlink" target="rightframe"><b>canScrollVertically</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.clearThreadStatsTag_added()" class="hiddenlink" target="rightframe"><b>clearThreadStatsTag</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.MenuItem.html#android.view.MenuItem.collapseActionView_added()" class="hiddenlink" target="rightframe"><b>collapseActionView</b>
+()</A></nobr><br>
+<nobr><A HREF="android.renderscript.Allocation.html#android.renderscript.Allocation.copy1DRangeFrom_added(int, int, android.renderscript.Allocation, int)" class="hiddenlink" target="rightframe"><b>copy1DRangeFrom</b>
+(<code>int, int, Allocation, int</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Allocation.html#android.renderscript.Allocation.copy2DRangeFrom_added(int, int, int, int, android.renderscript.Allocation, int, int)" class="hiddenlink" target="rightframe"><b>copy2DRangeFrom</b>
+(<code>int, int, int, int, Allocation, int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.create1D_added(android.renderscript.RenderScript, android.renderscript.Allocation)" class="hiddenlink" target="rightframe"><b>create1D</b>
+(<code>RenderScript, Allocation</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.createAccessibilityNodeInfo_added()" class="hiddenlink" target="rightframe"><b>createAccessibilityNodeInfo</b>
+()</A></nobr><br>
+<nobr><A HREF="android.nfc.NdefRecord.html#android.nfc.NdefRecord.createApplicationRecord_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>createApplicationRecord</b>
+(<code>String</code>)</A></nobr><br>
+<i>createUri</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.NdefRecord.html#android.nfc.NdefRecord.createUri_added(android.net.Uri)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Uri</code>)</b>&nbsp;in&nbsp;android.nfc.NdefRecord
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.NdefRecord.html#android.nfc.NdefRecord.createUri_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.nfc.NdefRecord
+</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="#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">
+<i>deferNotifyDataSetChanged</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.AbsListView.html#android.widget.AbsListView.deferNotifyDataSetChanged_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.widget.AbsListView
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.AdapterViewAnimator.html#android.widget.AdapterViewAnimator.deferNotifyDataSetChanged_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.widget.AdapterViewAnimator
+</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchGenericFocusedEvent_added(android.view.MotionEvent)" class="hiddenlink" target="rightframe"><b>dispatchGenericFocusedEvent</b>
+(<code>MotionEvent</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchGenericPointerEvent_added(android.view.MotionEvent)" class="hiddenlink" target="rightframe"><b>dispatchGenericPointerEvent</b>
+(<code>MotionEvent</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchHoverEvent_added(android.view.MotionEvent)" class="hiddenlink" target="rightframe"><b>dispatchHoverEvent</b>
+(<code>MotionEvent</code>)</A></nobr><br>
+<nobr><A HREF="android.service.wallpaper.WallpaperService.Engine.html#android.service.wallpaper.WallpaperService.Engine.dump_added(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[])" class="hiddenlink" target="rightframe"><b>dump</b>
+(<code>String, FileDescriptor, PrintWriter, String[]</code>)</A></nobr><br>
+<nobr><A HREF="android.os.ParcelFileDescriptor.html#android.os.ParcelFileDescriptor.dup_added()" class="hiddenlink" target="rightframe"><b>dup</b>
+()</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="#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.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.eventTypeToString_added(int)" class="hiddenlink" target="rightframe"><b>eventTypeToString</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.MenuItem.html#android.view.MenuItem.expandActionView_added()" class="hiddenlink" target="rightframe"><b>expandActionView</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.ExpandableListView.html#android.widget.ExpandableListView.expandGroup_added(int, boolean)" class="hiddenlink" target="rightframe"><b>expandGroup</b>
+(<code>int, boolean</code>)</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="#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.renderscript.Element.html#android.renderscript.Element.F64_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>F64_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.F64_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>F64_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.F64_4_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>F64_4</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.feedbackTypeToString_added(int)" class="hiddenlink" target="rightframe"><b>feedbackTypeToString</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.findViewsWithText_added(java.util.ArrayList<android.view.View>, java.lang.CharSequence, int)" class="hiddenlink" target="rightframe"><b>findViewsWithText</b>
+(<code>ArrayList&lt;View&gt;, CharSequence, int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.fitsSystemWindows_added()" class="hiddenlink" target="rightframe"><b>fitsSystemWindows</b>
+()</A></nobr><br>
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.flagToString_added(int)" class="hiddenlink" target="rightframe"><b>flagToString</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Script.html#android.renderscript.Script.forEach_added(int, android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.FieldPacker)" class="hiddenlink" target="rightframe"><b>forEach</b>
+(<code>int, Allocation, Allocation, FieldPacker</code>)</A></nobr><br>
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.forgetLoadedWallpaper_added()" class="hiddenlink" target="rightframe"><b>forgetLoadedWallpaper</b>
+()</A></nobr><br>
+<nobr><A HREF="android.os.ParcelFileDescriptor.html#android.os.ParcelFileDescriptor.fromDatagramSocket_added(java.net.DatagramSocket)" class="hiddenlink" target="rightframe"><b>fromDatagramSocket</b>
+(<code>DatagramSocket</code>)</A></nobr><br>
+<nobr><A HREF="android.app.backup.BackupAgent.html#android.app.backup.BackupAgent.fullBackupFile_added(java.io.File, android.app.backup.FullBackupDataOutput)" class="hiddenlink" target="rightframe"><b>fullBackupFile</b>
+(<code>File, FullBackupDataOutput</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="#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.view.Gravity.html#android.view.Gravity.getAbsoluteGravity_added(int, int)" class="hiddenlink" target="rightframe"><b>getAbsoluteGravity</b>
+(<code>int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.MenuItem.html#android.view.MenuItem.getActionProvider_added()" class="hiddenlink" target="rightframe"><b>getActionProvider</b>
+()</A></nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.getActiveNetworkQuotaInfo_added()" class="hiddenlink" target="rightframe"><b>getActiveNetworkQuotaInfo</b>
+()</A></nobr><br>
+<i>getAnnotation</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.Constructor.html#java.lang.reflect.Constructor.getAnnotation_added(java.lang.Class<A>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;A&gt;</code>)</b>&nbsp;in&nbsp;java.lang.reflect.Constructor
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.Field.html#java.lang.reflect.Field.getAnnotation_added(java.lang.Class<A>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;A&gt;</code>)</b>&nbsp;in&nbsp;java.lang.reflect.Field
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.Method.html#java.lang.reflect.Method.getAnnotation_added(java.lang.Class<A>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;A&gt;</code>)</b>&nbsp;in&nbsp;java.lang.reflect.Method
+</A></nobr><br>
+<nobr><A HREF="android.accounts.AccountManager.html#android.accounts.AccountManager.getAuthToken_added(android.accounts.Account, java.lang.String, android.os.Bundle, boolean, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler)" class="hiddenlink" target="rightframe"><b>getAuthToken</b>
+(<code>Account, String, Bundle, boolean, AccountManagerCallback&lt;Bundle&gt;, Handler</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getAutoExposureLock_added()" class="hiddenlink" target="rightframe"><b>getAutoExposureLock</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getAutoWhiteBalanceLock_added()" class="hiddenlink" target="rightframe"><b>getAutoWhiteBalanceLock</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.getButtonState_added()" class="hiddenlink" target="rightframe"><b>getButtonState</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getCameraDisabled_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getCameraDisabled</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.getCanRetrieveWindowContent_added()" class="hiddenlink" target="rightframe"><b>getCanRetrieveWindowContent</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.ActionBar.Tab.html#android.app.ActionBar.Tab.getContentDescription_added()" class="hiddenlink" target="rightframe"><b>getContentDescription</b>
+()</A></nobr><br>
+<i>getCurrVelocity</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.OverScroller.html#android.widget.OverScroller.getCurrVelocity_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.widget.OverScroller
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.Scroller.html#android.widget.Scroller.getCurrVelocity_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.widget.Scroller
+</A></nobr><br>
+<nobr><A HREF="android.database.sqlite.SQLiteOpenHelper.html#android.database.sqlite.SQLiteOpenHelper.getDatabaseName_added()" class="hiddenlink" target="rightframe"><b>getDatabaseName</b>
+()</A></nobr><br>
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.getDescription_added()" class="hiddenlink" target="rightframe"><b>getDescription</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.inputmethod.InputMethodSubtype.html#android.view.inputmethod.InputMethodSubtype.getDisplayName_added(android.content.Context, java.lang.String, android.content.pm.ApplicationInfo)" class="hiddenlink" target="rightframe"><b>getDisplayName</b>
+(<code>Context, String, ApplicationInfo</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.LinearLayout.html#android.widget.LinearLayout.getDividerPadding_added()" class="hiddenlink" target="rightframe"><b>getDividerPadding</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.ViewPropertyAnimator.html#android.view.ViewPropertyAnimator.getDuration_added()" class="hiddenlink" target="rightframe"><b>getDuration</b>
+()</A></nobr><br>
+<nobr><A HREF="android.opengl.GLUtils.html#android.opengl.GLUtils.getEGLErrorString_added(int)" class="hiddenlink" target="rightframe"><b>getEGLErrorString</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityManager.html#android.view.accessibility.AccessibilityManager.getEnabledAccessibilityServiceList_added(int)" class="hiddenlink" target="rightframe"><b>getEnabledAccessibilityServiceList</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.speech.tts.TextToSpeech.html#android.speech.tts.TextToSpeech.getEngines_added()" class="hiddenlink" target="rightframe"><b>getEngines</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getFocusAreas_added()" class="hiddenlink" target="rightframe"><b>getFocusAreas</b>
+()</A></nobr><br>
+<nobr><A HREF="android.graphics.Paint.html#android.graphics.Paint.getHinting_added()" class="hiddenlink" target="rightframe"><b>getHinting</b>
+()</A></nobr><br>
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.getId_added()" class="hiddenlink" target="rightframe"><b>getId</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityManager.html#android.view.accessibility.AccessibilityManager.getInstalledAccessibilityServiceList_added()" class="hiddenlink" target="rightframe"><b>getInstalledAccessibilityServiceList</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.inputmethod.InputMethodManager.html#android.view.inputmethod.InputMethodManager.getLastInputMethodSubtype_added()" class="hiddenlink" target="rightframe"><b>getLastInputMethodSubtype</b>
+()</A></nobr><br>
+<nobr><A HREF="android.graphics.Canvas.html#android.graphics.Canvas.getMaximumBitmapHeight_added()" class="hiddenlink" target="rightframe"><b>getMaximumBitmapHeight</b>
+()</A></nobr><br>
+<nobr><A HREF="android.graphics.Canvas.html#android.graphics.Canvas.getMaximumBitmapWidth_added()" class="hiddenlink" target="rightframe"><b>getMaximumBitmapWidth</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getMaxNumDetectedFaces_added()" class="hiddenlink" target="rightframe"><b>getMaxNumDetectedFaces</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getMaxNumFocusAreas_added()" class="hiddenlink" target="rightframe"><b>getMaxNumFocusAreas</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getMaxNumMeteringAreas_added()" class="hiddenlink" target="rightframe"><b>getMaxNumMeteringAreas</b>
+()</A></nobr><br>
+<i>getMaxTransceiveLength</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.IsoDep.html#android.nfc.tech.IsoDep.getMaxTransceiveLength_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.IsoDep
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.MifareClassic.html#android.nfc.tech.MifareClassic.getMaxTransceiveLength_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.MifareClassic
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.MifareUltralight.html#android.nfc.tech.MifareUltralight.getMaxTransceiveLength_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.MifareUltralight
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.NfcA.html#android.nfc.tech.NfcA.getMaxTransceiveLength_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.NfcA
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.NfcB.html#android.nfc.tech.NfcB.getMaxTransceiveLength_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.NfcB
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.NfcF.html#android.nfc.tech.NfcF.getMaxTransceiveLength_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.NfcF
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.NfcV.html#android.nfc.tech.NfcV.getMaxTransceiveLength_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.NfcV
+</A></nobr><br>
+<nobr><A HREF="android.widget.FrameLayout.html#android.widget.FrameLayout.getMeasureAllChildren_added()" class="hiddenlink" target="rightframe"><b>getMeasureAllChildren</b>
+()</A></nobr><br>
+<nobr><A HREF="android.os.Handler.html#android.os.Handler.getMessageName_added(android.os.Message)" class="hiddenlink" target="rightframe"><b>getMessageName</b>
+(<code>Message</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getMeteringAreas_added()" class="hiddenlink" target="rightframe"><b>getMeteringAreas</b>
+()</A></nobr><br>
+<i>getName</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.FragmentManager.BackStackEntry.html#android.app.FragmentManager.BackStackEntry.getName_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.app.FragmentManager.BackStackEntry
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.BaseObj.html#android.renderscript.BaseObj.getName_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.renderscript.BaseObj
+</A></nobr><br>
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.getOffsetForPosition_added(float, float)" class="hiddenlink" target="rightframe"><b>getOffsetForPosition</b>
+(<code>float, float</code>)</A></nobr><br>
+<nobr><A HREF="android.os.Debug.MemoryInfo.html#android.os.Debug.MemoryInfo.getOtherLabel_added(int)" class="hiddenlink" target="rightframe"><b>getOtherLabel</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.os.Debug.MemoryInfo.html#android.os.Debug.MemoryInfo.getOtherPrivateDirty_added(int)" class="hiddenlink" target="rightframe"><b>getOtherPrivateDirty</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.os.Debug.MemoryInfo.html#android.os.Debug.MemoryInfo.getOtherPss_added(int)" class="hiddenlink" target="rightframe"><b>getOtherPss</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.os.Debug.MemoryInfo.html#android.os.Debug.MemoryInfo.getOtherSharedDirty_added(int)" class="hiddenlink" target="rightframe"><b>getOtherSharedDirty</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.getPointerProperties_added(int, android.view.MotionEvent.PointerProperties)" class="hiddenlink" target="rightframe"><b>getPointerProperties</b>
+(<code>int, PointerProperties</code>)</A></nobr><br>
+<nobr><A HREF="android.bluetooth.BluetoothAdapter.html#android.bluetooth.BluetoothAdapter.getProfileConnectionState_added(int)" class="hiddenlink" target="rightframe"><b>getProfileConnectionState</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.os.Debug.html#android.os.Debug.getPss_added()" class="hiddenlink" target="rightframe"><b>getPss</b>
+()</A></nobr><br>
+<nobr><A HREF="android.os.Build.html#android.os.Build.getRadioVersion_added()" class="hiddenlink" target="rightframe"><b>getRadioVersion</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getRecord_added(int)" class="hiddenlink" target="rightframe"><b>getRecord</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getRecordCount_added()" class="hiddenlink" target="rightframe"><b>getRecordCount</b>
+()</A></nobr><br>
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.getResolveInfo_added()" class="hiddenlink" target="rightframe"><b>getResolveInfo</b>
+()</A></nobr><br>
+<nobr><A HREF="android.content.SyncAdapterType.html#android.content.SyncAdapterType.getSettingsActivity_added()" class="hiddenlink" target="rightframe"><b>getSettingsActivity</b>
+()</A></nobr><br>
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.getSettingsActivityName_added()" class="hiddenlink" target="rightframe"><b>getSettingsActivityName</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.ViewPropertyAnimator.html#android.view.ViewPropertyAnimator.getStartDelay_added()" class="hiddenlink" target="rightframe"><b>getStartDelay</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.ActionMode.html#android.view.ActionMode.getTag_added()" class="hiddenlink" target="rightframe"><b>getTag</b>
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getTextZoom_added()" class="hiddenlink" target="rightframe"><b>getTextZoom</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.ActionBar.html#android.app.ActionBar.getThemedContext_added()" class="hiddenlink" target="rightframe"><b>getThemedContext</b>
+()</A></nobr><br>
+<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.getThreadStatsTag_added()" class="hiddenlink" target="rightframe"><b>getThreadStatsTag</b>
+()</A></nobr><br>
+<i>getTimeout</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.IsoDep.html#android.nfc.tech.IsoDep.getTimeout_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.IsoDep
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.MifareClassic.html#android.nfc.tech.MifareClassic.getTimeout_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.MifareClassic
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.MifareUltralight.html#android.nfc.tech.MifareUltralight.getTimeout_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.MifareUltralight
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.NfcA.html#android.nfc.tech.NfcA.getTimeout_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.NfcA
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.NfcF.html#android.nfc.tech.NfcF.getTimeout_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.NfcF
+</A></nobr><br>
+<nobr><A HREF="android.graphics.SurfaceTexture.html#android.graphics.SurfaceTexture.getTimestamp_added()" class="hiddenlink" target="rightframe"><b>getTimestamp</b>
+()</A></nobr><br>
+<nobr><A HREF="android.preference.Preference.html#android.preference.Preference.getTitleRes_added()" class="hiddenlink" target="rightframe"><b>getTitleRes</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.getToolType_added(int)" class="hiddenlink" target="rightframe"><b>getToolType</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.net.http.SslError.html#android.net.http.SslError.getUrl_added()" class="hiddenlink" target="rightframe"><b>getUrl</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="#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.view.ViewConfiguration.html#android.view.ViewConfiguration.hasPermanentMenuKey_added()" class="hiddenlink" target="rightframe"><b>hasPermanentMenuKey</b>
+()</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="#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.renderscript.Element.html#android.renderscript.Element.I16_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I16_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I16_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I16_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I16_4_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I16_4</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I32_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I32_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I32_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I32_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I32_4_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I32_4</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I64_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I64_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I64_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I64_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I64_4_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I64_4</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I8_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I8_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I8_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I8_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I8_4_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I8_4</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<i>incrementOperationCount</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.incrementOperationCount_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.net.TrafficStats
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.incrementOperationCount_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.net.TrafficStats
+</A></nobr><br>
+<nobr><A HREF="android.widget.PopupMenu.html#android.widget.PopupMenu.inflate_added(int)" class="hiddenlink" target="rightframe"><b>inflate</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.FragmentManager.html#android.app.FragmentManager.invalidateOptionsMenu_added()" class="hiddenlink" target="rightframe"><b>invalidateOptionsMenu</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.MenuItem.html#android.view.MenuItem.isActionViewExpanded_added()" class="hiddenlink" target="rightframe"><b>isActionViewExpanded</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.isAutoExposureLockSupported_added()" class="hiddenlink" target="rightframe"><b>isAutoExposureLockSupported</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.isAutoWhiteBalanceLockSupported_added()" class="hiddenlink" target="rightframe"><b>isAutoWhiteBalanceLockSupported</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.inputmethod.InputMethodSubtype.html#android.view.inputmethod.InputMethodSubtype.isAuxiliary_added()" class="hiddenlink" target="rightframe"><b>isAuxiliary</b>
+()</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.isCompatible_added(android.renderscript.Element)" class="hiddenlink" target="rightframe"><b>isCompatible</b>
+(<code>Element</code>)</A></nobr><br>
+<nobr><A HREF="android.bluetooth.BluetoothSocket.html#android.bluetooth.BluetoothSocket.isConnected_added()" class="hiddenlink" target="rightframe"><b>isConnected</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.isHovered_added()" class="hiddenlink" target="rightframe"><b>isHovered</b>
+()</A></nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.html#android.provider.ContactsContract.isProfileId_added(long)" class="hiddenlink" target="rightframe"><b>isProfileId</b>
+(<code>long</code>)</A></nobr><br>
+<nobr><A HREF="android.text.Layout.html#android.text.Layout.isRtlCharAt_added(int)" class="hiddenlink" target="rightframe"><b>isRtlCharAt</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.animation.Animator.html#android.animation.Animator.isStarted_added()" class="hiddenlink" target="rightframe"><b>isStarted</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.isSuggestionsEnabled_added()" class="hiddenlink" target="rightframe"><b>isSuggestionsEnabled</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityManager.html#android.view.accessibility.AccessibilityManager.isTouchExplorationEnabled_added()" class="hiddenlink" target="rightframe"><b>isTouchExplorationEnabled</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.isVideoSnapshotSupported_added()" class="hiddenlink" target="rightframe"><b>isVideoSnapshotSupported</b>
+()</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="#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.accounts.AccountManager.html#android.accounts.AccountManager.newChooseAccountIntent_added(android.accounts.Account, java.util.ArrayList<android.accounts.Account>, java.lang.String[], boolean, java.lang.String, java.lang.String, java.lang.String[], android.os.Bundle)" class="hiddenlink" target="rightframe"><b>newChooseAccountIntent</b>
+(<code>Account, ArrayList&lt;Account&gt;, String[], boolean, String, String, String[], Bundle</code>)</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>obtain</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.obtain_added(long, long, int, int, android.view.MotionEvent.PointerProperties[], android.view.MotionEvent.PointerCoords[], int, int, float, float, int, int, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long, int, int, PointerProperties[], PointerCoords[], int, int, float, float, int, int, int, int</code>)</b>&nbsp;in&nbsp;android.view.MotionEvent
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.obtain_added(long, long, int, int, int[], android.view.MotionEvent.PointerCoords[], int, float, float, int, int, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long, int, int, int[], PointerCoords[], int, float, float, int, int, int, int</code>)</b>&nbsp;in&nbsp;android.view.MotionEvent
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.obtain_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AccessibilityEvent</code>)</b>&nbsp;in&nbsp;android.view.accessibility.AccessibilityEvent
+</A></nobr><br>
+<i>ofFloat</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.ObjectAnimator.html#android.animation.ObjectAnimator.ofFloat_added(T, android.util.Property<T, java.lang.Float>, float...)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, Property&lt;T, Float&gt;, </code>)</b>&nbsp;in&nbsp;android.animation.ObjectAnimator
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.PropertyValuesHolder.html#android.animation.PropertyValuesHolder.ofFloat_added(android.util.Property<?, java.lang.Float>, float...)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Property&lt;?, Float&gt;, </code>)</b>&nbsp;in&nbsp;android.animation.PropertyValuesHolder
+</A></nobr><br>
+<i>ofInt</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.ObjectAnimator.html#android.animation.ObjectAnimator.ofInt_added(T, android.util.Property<T, java.lang.Integer>, int...)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, Property&lt;T, Integer&gt;, </code>)</b>&nbsp;in&nbsp;android.animation.ObjectAnimator
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.PropertyValuesHolder.html#android.animation.PropertyValuesHolder.ofInt_added(android.util.Property<?, java.lang.Integer>, int...)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Property&lt;?, Integer&gt;, </code>)</b>&nbsp;in&nbsp;android.animation.PropertyValuesHolder
+</A></nobr><br>
+<nobr><A HREF="android.animation.PropertyValuesHolder.html#android.animation.PropertyValuesHolder.ofKeyframe_added(android.util.Property, android.animation.Keyframe...)" class="hiddenlink" target="rightframe"><b>ofKeyframe</b>
+(<code>Property, </code>)</A></nobr><br>
+<i>ofObject</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.ObjectAnimator.html#android.animation.ObjectAnimator.ofObject_added(T, android.util.Property<T, V>, android.animation.TypeEvaluator<V>, V...)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, Property&lt;T, V&gt;, TypeEvaluator&lt;V&gt;, </code>)</b>&nbsp;in&nbsp;android.animation.ObjectAnimator
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.PropertyValuesHolder.html#android.animation.PropertyValuesHolder.ofObject_added(android.util.Property, android.animation.TypeEvaluator<V>, V...)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Property, TypeEvaluator&lt;V&gt;, </code>)</b>&nbsp;in&nbsp;android.animation.PropertyValuesHolder
+</A></nobr><br>
+<nobr><A HREF="android.widget.SearchView.html#android.widget.SearchView.onActionViewCollapsed_added()" class="hiddenlink" target="rightframe"><b>onActionViewCollapsed</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.SearchView.html#android.widget.SearchView.onActionViewExpanded_added()" class="hiddenlink" target="rightframe"><b>onActionViewExpanded</b>
+()</A></nobr><br>
+<nobr><A HREF="android.preference.PreferenceActivity.html#android.preference.PreferenceActivity.onBuildStartFragmentIntent_added(java.lang.String, android.os.Bundle, int, int)" class="hiddenlink" target="rightframe"><b>onBuildStartFragmentIntent</b>
+(<code>String, Bundle, int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.backup.BackupAgent.html#android.app.backup.BackupAgent.onFullBackup_added(android.app.backup.FullBackupDataOutput)" class="hiddenlink" target="rightframe"><b>onFullBackup</b>
+(<code>FullBackupDataOutput</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.onHoverChanged_added(boolean)" class="hiddenlink" target="rightframe"><b>onHoverChanged</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.onHoverEvent_added(android.view.MotionEvent)" class="hiddenlink" target="rightframe"><b>onHoverEvent</b>
+(<code>MotionEvent</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.onInitializeAccessibilityEvent_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe"><b>onInitializeAccessibilityEvent</b>
+(<code>AccessibilityEvent</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.onInitializeAccessibilityNodeInfo_added(android.view.accessibility.AccessibilityNodeInfo)" class="hiddenlink" target="rightframe"><b>onInitializeAccessibilityNodeInfo</b>
+(<code>AccessibilityNodeInfo</code>)</A></nobr><br>
+<nobr><A HREF="android.view.ViewGroup.html#android.view.ViewGroup.onInterceptHoverEvent_added(android.view.MotionEvent)" class="hiddenlink" target="rightframe"><b>onInterceptHoverEvent</b>
+(<code>MotionEvent</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.onPopulateAccessibilityEvent_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe"><b>onPopulateAccessibilityEvent</b>
+(<code>AccessibilityEvent</code>)</A></nobr><br>
+<nobr><A HREF="android.view.ViewGroup.html#android.view.ViewGroup.onRequestSendAccessibilityEvent_added(android.view.View, android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe"><b>onRequestSendAccessibilityEvent</b>
+(<code>View, AccessibilityEvent</code>)</A></nobr><br>
+<nobr><A HREF="android.app.backup.BackupAgent.html#android.app.backup.BackupAgent.onRestoreFile_added(android.os.ParcelFileDescriptor, long, java.io.File, int, long, long)" class="hiddenlink" target="rightframe"><b>onRestoreFile</b>
+(<code>ParcelFileDescriptor, long, File, int, long, long</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebChromeClient.html#android.webkit.WebChromeClient.onShowCustomView_added(android.view.View, int, android.webkit.WebChromeClient.CustomViewCallback)" class="hiddenlink" target="rightframe"><b>onShowCustomView</b>
+(<code>View, int, CustomViewCallback</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Service.html#android.app.Service.onTaskRemoved_added(android.content.Intent)" class="hiddenlink" target="rightframe"><b>onTaskRemoved</b>
+(<code>Intent</code>)</A></nobr><br>
+<i>onTrimMemory</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Activity.html#android.app.Activity.onTrimMemory_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.Activity
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Application.html#android.app.Application.onTrimMemory_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.Application
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Fragment.html#android.app.Fragment.onTrimMemory_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.Fragment
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Service.html#android.app.Service.onTrimMemory_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.Service
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContentProvider.html#android.content.ContentProvider.onTrimMemory_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.content.ContentProvider
+</A></nobr><br>
+<nobr><A HREF="android.inputmethodservice.InputMethodService.html#android.inputmethodservice.InputMethodService.onViewClicked_added(boolean)" class="hiddenlink" target="rightframe"><b>onViewClicked</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.Contacts.html#android.provider.ContactsContract.Contacts.openContactPhotoInputStream_added(android.content.ContentResolver, android.net.Uri, boolean)" class="hiddenlink" target="rightframe"><b>openContactPhotoInputStream</b>
+(<code>ContentResolver, Uri, boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.view.inputmethod.InputMethodSubtype.html#android.view.inputmethod.InputMethodSubtype.overridesImplicitlyEnabledSubtype_added()" class="hiddenlink" target="rightframe"><b>overridesImplicitlyEnabledSubtype</b>
+()</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.opengl.Matrix.html#android.opengl.Matrix.perspectiveM_added(float[], int, float, float, float, float)" class="hiddenlink" target="rightframe"><b>perspectiveM</b>
+(<code>float[], int, float, float, float, float</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.os.RecoverySystem.html#android.os.RecoverySystem.rebootWipeCache_added(android.content.Context)" class="hiddenlink" target="rightframe"><b>rebootWipeCache</b>
+(<code>Context</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Application.html#android.app.Application.registerActivityLifecycleCallbacks_added(android.app.Application.ActivityLifecycleCallbacks)" class="hiddenlink" target="rightframe"><b>registerActivityLifecycleCallbacks</b>
+(<code>ActivityLifecycleCallbacks</code>)</A></nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.registerComponentCallbacks_added(android.content.ComponentCallbacks)" class="hiddenlink" target="rightframe"><b>registerComponentCallbacks</b>
+(<code>ComponentCallbacks</code>)</A></nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.registerRemoteControlClient_added(android.media.RemoteControlClient)" class="hiddenlink" target="rightframe"><b>registerRemoteControlClient</b>
+(<code>RemoteControlClient</code>)</A></nobr><br>
+<i>release</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.SurfaceTexture.html#android.graphics.SurfaceTexture.release_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.graphics.SurfaceTexture
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.Surface.html#android.view.Surface.release_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.Surface
+</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityManager.html#android.view.accessibility.AccessibilityManager.removeAccessibilityStateChangeListener_added(android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener)" class="hiddenlink" target="rightframe"><b>removeAccessibilityStateChangeListener</b>
+(<code>AccessibilityStateChangeListener</code>)</A></nobr><br>
+<i>requestSendAccessibilityEvent</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.ViewGroup.html#android.view.ViewGroup.requestSendAccessibilityEvent_added(android.view.View, android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View, AccessibilityEvent</code>)</b>&nbsp;in&nbsp;android.view.ViewGroup
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.ViewParent.html#android.view.ViewParent.requestSendAccessibilityEvent_added(android.view.View, android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View, AccessibilityEvent</code>)</b>&nbsp;in&nbsp;android.view.ViewParent
+</A></nobr><br>
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.resetResolvedDrawables_added()" class="hiddenlink" target="rightframe"><b>resetResolvedDrawables</b>
+()</A></nobr><br>
+<i>resetResolvedLayoutDirection</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.ViewGroup.html#android.view.ViewGroup.resetResolvedLayoutDirection_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.ViewGroup
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.resetResolvedLayoutDirection_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.widget.TextView
+</A></nobr><br>
+<nobr><A HREF="android.view.ViewGroup.html#android.view.ViewGroup.resetResolvedTextDirection_added()" class="hiddenlink" target="rightframe"><b>resetResolvedTextDirection</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.resolveDrawables_added()" class="hiddenlink" target="rightframe"><b>resolveDrawables</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.resolveTextDirection_added()" class="hiddenlink" target="rightframe"><b>resolveTextDirection</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.PendingIntent.html#android.app.PendingIntent.send_added(android.content.Context, int, android.content.Intent, android.app.PendingIntent.OnFinished, android.os.Handler, java.lang.String)" class="hiddenlink" target="rightframe"><b>send</b>
+(<code>Context, int, Intent, OnFinished, Handler, String</code>)</A></nobr><br>
+<nobr><A HREF="android.content.IntentSender.html#android.content.IntentSender.sendIntent_added(android.content.Context, int, android.content.Intent, android.content.IntentSender.OnFinished, android.os.Handler, java.lang.String)" class="hiddenlink" target="rightframe"><b>sendIntent</b>
+(<code>Context, int, Intent, OnFinished, Handler, String</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.setAccessibilityDelegate_added(android.view.View.AccessibilityDelegate)" class="hiddenlink" target="rightframe"><b>setAccessibilityDelegate</b>
+(<code>AccessibilityDelegate</code>)</A></nobr><br>
+<nobr><A HREF="android.view.MenuItem.html#android.view.MenuItem.setActionProvider_added(android.view.ActionProvider)" class="hiddenlink" target="rightframe"><b>setActionProvider</b>
+(<code>ActionProvider</code>)</A></nobr><br>
+<nobr><A HREF="android.view.inputmethod.InputMethodManager.html#android.view.inputmethod.InputMethodManager.setAdditionalInputMethodSubtypes_added(java.lang.String, android.view.inputmethod.InputMethodSubtype[])" class="hiddenlink" target="rightframe"><b>setAdditionalInputMethodSubtypes</b>
+(<code>String, InputMethodSubtype[]</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.setAllCaps_added(boolean)" class="hiddenlink" target="rightframe"><b>setAllCaps</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.animation.LayoutTransition.html#android.animation.LayoutTransition.setAnimateParentHierarchy_added(boolean)" class="hiddenlink" target="rightframe"><b>setAnimateParentHierarchy</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.setAutoExposureLock_added(boolean)" class="hiddenlink" target="rightframe"><b>setAutoExposureLock</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.setAutoWhiteBalanceLock_added(boolean)" class="hiddenlink" target="rightframe"><b>setAutoWhiteBalanceLock</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setCameraDisabled_added(android.content.ComponentName, boolean)" class="hiddenlink" target="rightframe"><b>setCameraDisabled</b>
+(<code>ComponentName, boolean</code>)</A></nobr><br>
+<i>setContentDescription</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.ActionBar.Tab.html#android.app.ActionBar.Tab.setContentDescription_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.ActionBar.Tab
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.ActionBar.Tab.html#android.app.ActionBar.Tab.setContentDescription_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>CharSequence</code>)</b>&nbsp;in&nbsp;android.app.ActionBar.Tab
+</A></nobr><br>
+<i>setDataSource</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.MediaMetadataRetriever.html#android.media.MediaMetadataRetriever.setDataSource_added(java.lang.String, java.util.Map<java.lang.String, java.lang.String>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, Map&lt;String, String&gt;</code>)</b>&nbsp;in&nbsp;android.media.MediaMetadataRetriever
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.MediaPlayer.html#android.media.MediaPlayer.setDataSource_added(android.content.Context, android.net.Uri, java.util.Map<java.lang.String, java.lang.String>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Context, Uri, Map&lt;String, String&gt;</code>)</b>&nbsp;in&nbsp;android.media.MediaPlayer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.MediaPlayer.html#android.media.MediaPlayer.setDataSource_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.media.MediaPlayer
+</A></nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.setDimAmount_added(float)" class="hiddenlink" target="rightframe"><b>setDimAmount</b>
+(<code>float</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.LinearLayout.html#android.widget.LinearLayout.setDividerPadding_added(int)" class="hiddenlink" target="rightframe"><b>setDividerPadding</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.setFaceDetectionListener_added(android.hardware.Camera.FaceDetectionListener)" class="hiddenlink" target="rightframe"><b>setFaceDetectionListener</b>
+(<code>FaceDetectionListener</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.setFitsSystemWindows_added(boolean)" class="hiddenlink" target="rightframe"><b>setFitsSystemWindows</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.setFocusAreas_added(java.util.List<android.hardware.Camera.Area>)" class="hiddenlink" target="rightframe"><b>setFocusAreas</b>
+(<code>List&lt;Area&gt;</code>)</A></nobr><br>
+<nobr><A HREF="android.graphics.Paint.html#android.graphics.Paint.setHinting_added(int)" class="hiddenlink" target="rightframe"><b>setHinting</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.ActionBar.html#android.app.ActionBar.setHomeButtonEnabled_added(boolean)" class="hiddenlink" target="rightframe"><b>setHomeButtonEnabled</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.setHovered_added(boolean)" class="hiddenlink" target="rightframe"><b>setHovered</b>
+(<code>boolean</code>)</A></nobr><br>
+<i>setIcon</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.ActionBar.html#android.app.ActionBar.setIcon_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Drawable</code>)</b>&nbsp;in&nbsp;android.app.ActionBar
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.ActionBar.html#android.app.ActionBar.setIcon_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.ActionBar
+</A></nobr><br>
+<nobr><A HREF="android.widget.SearchView.html#android.widget.SearchView.setImeOptions_added(int)" class="hiddenlink" target="rightframe"><b>setImeOptions</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.SearchView.html#android.widget.SearchView.setInputType_added(int)" class="hiddenlink" target="rightframe"><b>setInputType</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.net.SSLCertificateSocketFactory.html#android.net.SSLCertificateSocketFactory.setKeyManagers_added(javax.net.ssl.KeyManager[])" class="hiddenlink" target="rightframe"><b>setKeyManagers</b>
+(<code>KeyManager[]</code>)</A></nobr><br>
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.setLocation_added(float, float)" class="hiddenlink" target="rightframe"><b>setLocation</b>
+(<code>float, float</code>)</A></nobr><br>
+<i>setLogo</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.ActionBar.html#android.app.ActionBar.setLogo_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Drawable</code>)</b>&nbsp;in&nbsp;android.app.ActionBar
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.ActionBar.html#android.app.ActionBar.setLogo_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.ActionBar
+</A></nobr><br>
+<nobr><A HREF="android.app.Fragment.html#android.app.Fragment.setMenuVisibility_added(boolean)" class="hiddenlink" target="rightframe"><b>setMenuVisibility</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.setMeteringAreas_added(java.util.List<android.hardware.Camera.Area>)" class="hiddenlink" target="rightframe"><b>setMeteringAreas</b>
+(<code>List&lt;Area&gt;</code>)</A></nobr><br>
+<nobr><A HREF="android.nfc.NfcAdapter.html#android.nfc.NfcAdapter.setNdefPushMessage_added(android.nfc.NdefMessage, android.app.Activity, android.app.Activity...)" class="hiddenlink" target="rightframe"><b>setNdefPushMessage</b>
+(<code>NdefMessage, Activity, </code>)</A></nobr><br>
+<nobr><A HREF="android.nfc.NfcAdapter.html#android.nfc.NfcAdapter.setNdefPushMessageCallback_added(android.nfc.NfcAdapter.CreateNdefMessageCallback, android.app.Activity, android.app.Activity...)" class="hiddenlink" target="rightframe"><b>setNdefPushMessageCallback</b>
+(<code>CreateNdefMessageCallback, Activity, </code>)</A></nobr><br>
+<nobr><A HREF="android.view.MenuItem.html#android.view.MenuItem.setOnActionExpandListener_added(android.view.MenuItem.OnActionExpandListener)" class="hiddenlink" target="rightframe"><b>setOnActionExpandListener</b>
+(<code>OnActionExpandListener</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.PopupMenu.html#android.widget.PopupMenu.setOnDismissListener_added(android.widget.PopupMenu.OnDismissListener)" class="hiddenlink" target="rightframe"><b>setOnDismissListener</b>
+(<code>OnDismissListener</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.setOnHoverListener_added(android.view.View.OnHoverListener)" class="hiddenlink" target="rightframe"><b>setOnHoverListener</b>
+(<code>OnHoverListener</code>)</A></nobr><br>
+<nobr><A HREF="android.nfc.NfcAdapter.html#android.nfc.NfcAdapter.setOnNdefPushCompleteCallback_added(android.nfc.NfcAdapter.OnNdefPushCompleteCallback, android.app.Activity, android.app.Activity...)" class="hiddenlink" target="rightframe"><b>setOnNdefPushCompleteCallback</b>
+(<code>OnNdefPushCompleteCallback, Activity, </code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setProgress_added(int, int, boolean)" class="hiddenlink" target="rightframe"><b>setProgress</b>
+(<code>int, int, boolean</code>)</A></nobr><br>
+<i>setProperty</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.ObjectAnimator.html#android.animation.ObjectAnimator.setProperty_added(android.util.Property)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Property</code>)</b>&nbsp;in&nbsp;android.animation.ObjectAnimator
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.PropertyValuesHolder.html#android.animation.PropertyValuesHolder.setProperty_added(android.util.Property)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Property</code>)</b>&nbsp;in&nbsp;android.animation.PropertyValuesHolder
+</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.setRecordingHint_added(boolean)" class="hiddenlink" target="rightframe"><b>setRecordingHint</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.RemoteViews.html#android.widget.RemoteViews.setRemoteAdapter_added(int, android.content.Intent)" class="hiddenlink" target="rightframe"><b>setRemoteAdapter</b>
+(<code>int, Intent</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.setScrollX_added(int)" class="hiddenlink" target="rightframe"><b>setScrollX</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.setScrollY_added(int)" class="hiddenlink" target="rightframe"><b>setScrollY</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.MenuItem.html#android.view.MenuItem.setShowAsActionFlags_added(int)" class="hiddenlink" target="rightframe"><b>setShowAsActionFlags</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.ActionBar.html#android.app.ActionBar.setSplitBackgroundDrawable_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe"><b>setSplitBackgroundDrawable</b>
+(<code>Drawable</code>)</A></nobr><br>
+<nobr><A HREF="android.app.ActionBar.html#android.app.ActionBar.setStackedBackgroundDrawable_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe"><b>setStackedBackgroundDrawable</b>
+(<code>Drawable</code>)</A></nobr><br>
+<nobr><A HREF="android.view.ViewPropertyAnimator.html#android.view.ViewPropertyAnimator.setStartDelay_added(long)" class="hiddenlink" target="rightframe"><b>setStartDelay</b>
+(<code>long</code>)</A></nobr><br>
+<nobr><A HREF="android.database.sqlite.SQLiteQueryBuilder.html#android.database.sqlite.SQLiteQueryBuilder.setStrict_added(boolean)" class="hiddenlink" target="rightframe"><b>setStrict</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.media.MediaPlayer.html#android.media.MediaPlayer.setSurface_added(android.view.Surface)" class="hiddenlink" target="rightframe"><b>setSurface</b>
+(<code>Surface</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.RenderScriptGL.html#android.renderscript.RenderScriptGL.setSurfaceTexture_added(android.graphics.SurfaceTexture, int, int)" class="hiddenlink" target="rightframe"><b>setSurfaceTexture</b>
+(<code>SurfaceTexture, int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.ActionMode.html#android.view.ActionMode.setTag_added(java.lang.Object)" class="hiddenlink" target="rightframe"><b>setTag</b>
+(<code>Object</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setTextZoom_added(int)" class="hiddenlink" target="rightframe"><b>setTextZoom</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.setThreadStatsTag_added(int)" class="hiddenlink" target="rightframe"><b>setThreadStatsTag</b>
+(<code>int</code>)</A></nobr><br>
+<i>setTimeout</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.MifareClassic.html#android.nfc.tech.MifareClassic.setTimeout_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.nfc.tech.MifareClassic
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.MifareUltralight.html#android.nfc.tech.MifareUltralight.setTimeout_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.nfc.tech.MifareUltralight
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.NfcA.html#android.nfc.tech.NfcA.setTimeout_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.nfc.tech.NfcA
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.NfcF.html#android.nfc.tech.NfcF.setTimeout_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.nfc.tech.NfcF
+</A></nobr><br>
+<nobr><A HREF="android.net.SSLCertificateSocketFactory.html#android.net.SSLCertificateSocketFactory.setTrustManagers_added(javax.net.ssl.TrustManager[])" class="hiddenlink" target="rightframe"><b>setTrustManagers</b>
+(<code>TrustManager[]</code>)</A></nobr><br>
+<i>setUiOptions</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.Window.html#android.view.Window.setUiOptions_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.view.Window
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.Window.html#android.view.Window.setUiOptions_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.view.Window
+</A></nobr><br>
+<nobr><A HREF="android.view.ViewGroup.html#android.view.ViewGroup.shouldDelayChildPressedState_added()" class="hiddenlink" target="rightframe"><b>shouldDelayChildPressedState</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.ViewPropertyAnimator.html#android.view.ViewPropertyAnimator.start_added()" class="hiddenlink" target="rightframe"><b>start</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.startFaceDetection_added()" class="hiddenlink" target="rightframe"><b>startFaceDetection</b>
+()</A></nobr><br>
+<nobr><A HREF="android.preference.PreferenceActivity.html#android.preference.PreferenceActivity.startWithFragment_added(java.lang.String, android.os.Bundle, android.app.Fragment, int, int, int)" class="hiddenlink" target="rightframe"><b>startWithFragment</b>
+(<code>String, Bundle, Fragment, int, int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.stopFaceDetection_added()" class="hiddenlink" target="rightframe"><b>stopFaceDetection</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.tagSocket_added(java.net.Socket)" class="hiddenlink" target="rightframe"><b>tagSocket</b>
+(<code>Socket</code>)</A></nobr><br>
+<nobr><A HREF="android.graphics.RectF.html#android.graphics.RectF.toShortString_added()" class="hiddenlink" target="rightframe"><b>toShortString</b>
+()</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U16_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U16_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U16_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U16_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U16_4_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U16_4</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U32_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U32_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U32_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U32_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U32_4_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U32_4</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U64_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U64_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U64_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U64_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U64_4_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U64_4</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U8_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U8_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U8_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U8_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Application.html#android.app.Application.unregisterActivityLifecycleCallbacks_added(android.app.Application.ActivityLifecycleCallbacks)" class="hiddenlink" target="rightframe"><b>unregisterActivityLifecycleCallbacks</b>
+(<code>ActivityLifecycleCallbacks</code>)</A></nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.unregisterComponentCallbacks_added(android.content.ComponentCallbacks)" class="hiddenlink" target="rightframe"><b>unregisterComponentCallbacks</b>
+(<code>ComponentCallbacks</code>)</A></nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.unregisterRemoteControlClient_added(android.media.RemoteControlClient)" class="hiddenlink" target="rightframe"><b>unregisterRemoteControlClient</b>
+(<code>RemoteControlClient</code>)</A></nobr><br>
+<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.untagSocket_added(java.net.Socket)" class="hiddenlink" target="rightframe"><b>untagSocket</b>
+(<code>Socket</code>)</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="#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="#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>verifyPendingInstall</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.verifyPendingInstall_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</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.verifyPendingInstall_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</A></nobr><br>
+<i>viewClicked</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.inputmethodservice.InputMethodService.InputMethodSessionImpl.html#android.inputmethodservice.InputMethodService.InputMethodSessionImpl.viewClicked_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.inputmethodservice.InputMethodService.InputMethodSessionImpl
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputMethodManager.html#android.view.inputmethod.InputMethodManager.viewClicked_added(android.view.View)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View</code>)</b>&nbsp;in&nbsp;android.view.inputmethod.InputMethodManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputMethodSession.html#android.view.inputmethod.InputMethodSession.viewClicked_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.view.inputmethod.InputMethodSession
+</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/14/changes/methods_index_all.html b/docs/html/sdk/api_diff/14/changes/methods_index_all.html
new file mode 100644
index 0000000..38c2f86
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/methods_index_all.html
@@ -0,0 +1,1426 @@
+<!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="#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.view.accessibility.AccessibilityManager.html#android.view.accessibility.AccessibilityManager.addAccessibilityStateChangeListener_added(android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener)" class="hiddenlink" target="rightframe"><b>addAccessibilityStateChangeListener</b>
+(<code>AccessibilityStateChangeListener</code>)</A></nobr><br>
+<i>addF64</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addF64_added(android.renderscript.Double2)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Double2</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addF64_added(android.renderscript.Double3)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Double3</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addF64_added(android.renderscript.Double4)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Double4</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+<i>addI64</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addI64_added(android.renderscript.Long2)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Long2</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addI64_added(android.renderscript.Long3)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Long3</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addI64_added(android.renderscript.Long4)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Long4</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+<i>addU64</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addU64_added(android.renderscript.Long2)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Long2</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addU64_added(android.renderscript.Long3)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Long3</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.FieldPacker.html#android.renderscript.FieldPacker.addU64_added(android.renderscript.Long4)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Long4</code>)</b>&nbsp;in&nbsp;android.renderscript.FieldPacker
+</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.appendRecord_added(android.view.accessibility.AccessibilityRecord)" class="hiddenlink" target="rightframe"><b>appendRecord</b>
+(<code>AccessibilityRecord</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="#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="#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.view.ViewPropertyAnimator.html#android.view.ViewPropertyAnimator.cancel_added()" class="hiddenlink" target="rightframe"><b>cancel</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.canScrollHorizontally_added(int)" class="hiddenlink" target="rightframe"><b>canScrollHorizontally</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.canScrollVertically_added(int)" class="hiddenlink" target="rightframe"><b>canScrollVertically</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.clearThreadStatsTag_added()" class="hiddenlink" target="rightframe"><b>clearThreadStatsTag</b>
+()</A></nobr><br>
+<i>clone</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.util.SparseArray.html#android.util.SparseArray.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.util.SparseArray
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.util.SparseBooleanArray.html#android.util.SparseBooleanArray.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.util.SparseBooleanArray
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.util.SparseIntArray.html#android.util.SparseIntArray.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.util.SparseIntArray
+</A></nobr><br>
+<nobr><A HREF="android.view.MenuItem.html#android.view.MenuItem.collapseActionView_added()" class="hiddenlink" target="rightframe"><b>collapseActionView</b>
+()</A></nobr><br>
+<nobr><A HREF="android.renderscript.Allocation.html#android.renderscript.Allocation.copy1DRangeFrom_added(int, int, android.renderscript.Allocation, int)" class="hiddenlink" target="rightframe"><b>copy1DRangeFrom</b>
+(<code>int, int, Allocation, int</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Allocation.html#android.renderscript.Allocation.copy2DRangeFrom_added(int, int, int, int, android.renderscript.Allocation, int, int)" class="hiddenlink" target="rightframe"><b>copy2DRangeFrom</b>
+(<code>int, int, int, int, Allocation, int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.create1D_added(android.renderscript.RenderScript, android.renderscript.Allocation)" class="hiddenlink" target="rightframe"><b>create1D</b>
+(<code>RenderScript, Allocation</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.createAccessibilityNodeInfo_added()" class="hiddenlink" target="rightframe"><b>createAccessibilityNodeInfo</b>
+()</A></nobr><br>
+<nobr><A HREF="android.nfc.NdefRecord.html#android.nfc.NdefRecord.createApplicationRecord_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>createApplicationRecord</b>
+(<code>String</code>)</A></nobr><br>
+<i>createUri</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.NdefRecord.html#android.nfc.NdefRecord.createUri_added(android.net.Uri)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Uri</code>)</b>&nbsp;in&nbsp;android.nfc.NdefRecord
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.NdefRecord.html#android.nfc.NdefRecord.createUri_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.nfc.NdefRecord
+</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="#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">
+<i>deferNotifyDataSetChanged</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.AbsListView.html#android.widget.AbsListView.deferNotifyDataSetChanged_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.widget.AbsListView
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.AdapterViewAnimator.html#android.widget.AdapterViewAnimator.deferNotifyDataSetChanged_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.widget.AdapterViewAnimator
+</A></nobr><br>
+<nobr><A HREF="android.nfc.NfcAdapter.html#android.nfc.NfcAdapter.disableForegroundNdefPush_changed(android.app.Activity)" class="hiddenlink" target="rightframe">disableForegroundNdefPush
+(<code>Activity</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchGenericFocusedEvent_added(android.view.MotionEvent)" class="hiddenlink" target="rightframe"><b>dispatchGenericFocusedEvent</b>
+(<code>MotionEvent</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchGenericPointerEvent_added(android.view.MotionEvent)" class="hiddenlink" target="rightframe"><b>dispatchGenericPointerEvent</b>
+(<code>MotionEvent</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.dispatchHoverEvent_added(android.view.MotionEvent)" class="hiddenlink" target="rightframe"><b>dispatchHoverEvent</b>
+(<code>MotionEvent</code>)</A></nobr><br>
+<nobr><A HREF="android.service.wallpaper.WallpaperService.Engine.html#android.service.wallpaper.WallpaperService.Engine.dump_added(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[])" class="hiddenlink" target="rightframe"><b>dump</b>
+(<code>String, FileDescriptor, PrintWriter, String[]</code>)</A></nobr><br>
+<nobr><A HREF="android.os.ParcelFileDescriptor.html#android.os.ParcelFileDescriptor.dup_added()" class="hiddenlink" target="rightframe"><b>dup</b>
+()</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="#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.nfc.NfcAdapter.html#android.nfc.NfcAdapter.enableForegroundNdefPush_changed(android.app.Activity, android.nfc.NdefMessage)" class="hiddenlink" target="rightframe">enableForegroundNdefPush
+(<code>Activity, NdefMessage</code>)</A></nobr><br>
+<nobr><A HREF="java.io.ObjectOutputStream.html#java.io.ObjectOutputStream.enableReplaceObject_changed(boolean)" class="hiddenlink" target="rightframe">enableReplaceObject
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="java.io.ObjectInputStream.html#java.io.ObjectInputStream.enableResolveObject_changed(boolean)" class="hiddenlink" target="rightframe">enableResolveObject
+(<code>boolean</code>)</A></nobr><br>
+<i>equals</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.io.FilePermission.html#java.io.FilePermission.equals_changed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Object</code>)&nbsp;in&nbsp;java.io.FilePermission
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.net.SocketPermission.html#java.net.SocketPermission.equals_changed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Object</code>)&nbsp;in&nbsp;java.net.SocketPermission
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.security.AllPermission.html#java.security.AllPermission.equals_changed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Object</code>)&nbsp;in&nbsp;java.security.AllPermission
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.security.BasicPermission.html#java.security.BasicPermission.equals_changed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Object</code>)&nbsp;in&nbsp;java.security.BasicPermission
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.security.Permission.html#java.security.Permission.equals_changed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Object</code>)&nbsp;in&nbsp;java.security.Permission
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.security.UnresolvedPermission.html#java.security.UnresolvedPermission.equals_changed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Object</code>)&nbsp;in&nbsp;java.security.UnresolvedPermission
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.security.auth.PrivateCredentialPermission.html#javax.security.auth.PrivateCredentialPermission.equals_changed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Object</code>)&nbsp;in&nbsp;javax.security.auth.PrivateCredentialPermission
+</A></nobr><br>
+<i>evaluate</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.FloatEvaluator.html#android.animation.FloatEvaluator.evaluate_changed(float, java.lang.Number, java.lang.Number)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>float, Number, Number</code>)&nbsp;in&nbsp;android.animation.FloatEvaluator
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.IntEvaluator.html#android.animation.IntEvaluator.evaluate_changed(float, java.lang.Integer, java.lang.Integer)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>float, Integer, Integer</code>)&nbsp;in&nbsp;android.animation.IntEvaluator
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.TypeEvaluator.html#android.animation.TypeEvaluator.evaluate_changed(float, T, T)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>float, T, T</code>)&nbsp;in&nbsp;android.animation.TypeEvaluator
+</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.eventTypeToString_added(int)" class="hiddenlink" target="rightframe"><b>eventTypeToString</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.MenuItem.html#android.view.MenuItem.expandActionView_added()" class="hiddenlink" target="rightframe"><b>expandActionView</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.ExpandableListView.html#android.widget.ExpandableListView.expandGroup_added(int, boolean)" class="hiddenlink" target="rightframe"><b>expandGroup</b>
+(<code>int, boolean</code>)</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="#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.renderscript.Element.html#android.renderscript.Element.F64_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>F64_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.F64_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>F64_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.F64_4_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>F64_4</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.feedbackTypeToString_added(int)" class="hiddenlink" target="rightframe"><b>feedbackTypeToString</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="dalvik.system.PathClassLoader.html#dalvik.system.PathClassLoader.findLibrary_changed(java.lang.String)" class="hiddenlink" target="rightframe">findLibrary
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.findViewsWithText_added(java.util.ArrayList<android.view.View>, java.lang.CharSequence, int)" class="hiddenlink" target="rightframe"><b>findViewsWithText</b>
+(<code>ArrayList&lt;View&gt;, CharSequence, int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.fitsSystemWindows_added()" class="hiddenlink" target="rightframe"><b>fitsSystemWindows</b>
+()</A></nobr><br>
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.flagToString_added(int)" class="hiddenlink" target="rightframe"><b>flagToString</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Script.html#android.renderscript.Script.forEach_added(int, android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.FieldPacker)" class="hiddenlink" target="rightframe"><b>forEach</b>
+(<code>int, Allocation, Allocation, FieldPacker</code>)</A></nobr><br>
+<nobr><A HREF="android.app.WallpaperManager.html#android.app.WallpaperManager.forgetLoadedWallpaper_added()" class="hiddenlink" target="rightframe"><b>forgetLoadedWallpaper</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.freeze_removed()" class="hiddenlink" target="rightframe"><strike>freeze</strike>
+()</A></nobr><br>
+<nobr><A HREF="android.os.ParcelFileDescriptor.html#android.os.ParcelFileDescriptor.fromDatagramSocket_added(java.net.DatagramSocket)" class="hiddenlink" target="rightframe"><b>fromDatagramSocket</b>
+(<code>DatagramSocket</code>)</A></nobr><br>
+<nobr><A HREF="android.app.backup.BackupAgent.html#android.app.backup.BackupAgent.fullBackupFile_added(java.io.File, android.app.backup.FullBackupDataOutput)" class="hiddenlink" target="rightframe"><b>fullBackupFile</b>
+(<code>File, FullBackupDataOutput</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="#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.view.Gravity.html#android.view.Gravity.getAbsoluteGravity_added(int, int)" class="hiddenlink" target="rightframe"><b>getAbsoluteGravity</b>
+(<code>int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityManager.html#android.view.accessibility.AccessibilityManager.getAccessibilityServiceList_changed()" class="hiddenlink" target="rightframe">getAccessibilityServiceList
+()</A></nobr><br>
+<nobr><A HREF="android.view.MenuItem.html#android.view.MenuItem.getActionProvider_added()" class="hiddenlink" target="rightframe"><b>getActionProvider</b>
+()</A></nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.getActiveNetworkQuotaInfo_added()" class="hiddenlink" target="rightframe"><b>getActiveNetworkQuotaInfo</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getAddedCount_changed()" class="hiddenlink" target="rightframe">getAddedCount
+()</A></nobr><br>
+<i>getAnnotation</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.Constructor.html#java.lang.reflect.Constructor.getAnnotation_added(java.lang.Class<A>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;A&gt;</code>)</b>&nbsp;in&nbsp;java.lang.reflect.Constructor
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.Field.html#java.lang.reflect.Field.getAnnotation_added(java.lang.Class<A>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;A&gt;</code>)</b>&nbsp;in&nbsp;java.lang.reflect.Field
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.Method.html#java.lang.reflect.Method.getAnnotation_added(java.lang.Class<A>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Class&lt;A&gt;</code>)</b>&nbsp;in&nbsp;java.lang.reflect.Method
+</A></nobr><br>
+<i>getAuthToken</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.accounts.AccountManager.html#android.accounts.AccountManager.getAuthToken_added(android.accounts.Account, java.lang.String, android.os.Bundle, boolean, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Account, String, Bundle, boolean, AccountManagerCallback&lt;Bundle&gt;, Handler</code>)</b>&nbsp;in&nbsp;android.accounts.AccountManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.accounts.AccountManager.html#android.accounts.AccountManager.getAuthToken_changed(android.accounts.Account, java.lang.String, boolean, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Account, String, boolean, AccountManagerCallback&lt;Bundle&gt;, Handler</code>)&nbsp;in&nbsp;android.accounts.AccountManager
+</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getAutoExposureLock_added()" class="hiddenlink" target="rightframe"><b>getAutoExposureLock</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getAutoWhiteBalanceLock_added()" class="hiddenlink" target="rightframe"><b>getAutoWhiteBalanceLock</b>
+()</A></nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.getBackgroundDataSetting_changed()" class="hiddenlink" target="rightframe">getBackgroundDataSetting
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getBeforeText_changed()" class="hiddenlink" target="rightframe">getBeforeText
+()</A></nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.getButtonState_added()" class="hiddenlink" target="rightframe"><b>getButtonState</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.getCameraDisabled_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>getCameraDisabled</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.getCanRetrieveWindowContent_added()" class="hiddenlink" target="rightframe"><b>getCanRetrieveWindowContent</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getClassName_changed()" class="hiddenlink" target="rightframe">getClassName
+()</A></nobr><br>
+<nobr><A HREF="android.widget.FrameLayout.html#android.widget.FrameLayout.getConsiderGoneChildrenWhenMeasuring_changed()" class="hiddenlink" target="rightframe">getConsiderGoneChildrenWhenMeasuring
+()</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getConstructor_changed(java.lang.Class<?>...)" class="hiddenlink" target="rightframe">getConstructor
+(<code>Class&lt;?&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getConstructors_changed()" class="hiddenlink" target="rightframe">getConstructors
+()</A></nobr><br>
+<i>getContentDescription</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.ActionBar.Tab.html#android.app.ActionBar.Tab.getContentDescription_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.app.ActionBar.Tab
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getContentDescription_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.view.accessibility.AccessibilityEvent
+</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getCurrentItemIndex_changed()" class="hiddenlink" target="rightframe">getCurrentItemIndex
+()</A></nobr><br>
+<i>getCurrVelocity</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.OverScroller.html#android.widget.OverScroller.getCurrVelocity_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.widget.OverScroller
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.Scroller.html#android.widget.Scroller.getCurrVelocity_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.widget.Scroller
+</A></nobr><br>
+<nobr><A HREF="android.database.sqlite.SQLiteOpenHelper.html#android.database.sqlite.SQLiteOpenHelper.getDatabaseName_added()" class="hiddenlink" target="rightframe"><b>getDatabaseName</b>
+()</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredClasses_changed()" class="hiddenlink" target="rightframe">getDeclaredClasses
+()</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredConstructor_changed(java.lang.Class<?>...)" class="hiddenlink" target="rightframe">getDeclaredConstructor
+(<code>Class&lt;?&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredConstructors_changed()" class="hiddenlink" target="rightframe">getDeclaredConstructors
+()</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredField_changed(java.lang.String)" class="hiddenlink" target="rightframe">getDeclaredField
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredFields_changed()" class="hiddenlink" target="rightframe">getDeclaredFields
+()</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredMethod_changed(java.lang.String, java.lang.Class<?>...)" class="hiddenlink" target="rightframe">getDeclaredMethod
+(<code>String, Class&lt;?&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredMethods_changed()" class="hiddenlink" target="rightframe">getDeclaredMethods
+()</A></nobr><br>
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.getDescription_added()" class="hiddenlink" target="rightframe"><b>getDescription</b>
+()</A></nobr><br>
+<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.getDisableDependentsState_changed()" class="hiddenlink" target="rightframe">getDisableDependentsState
+()</A></nobr><br>
+<nobr><A HREF="android.view.inputmethod.InputMethodSubtype.html#android.view.inputmethod.InputMethodSubtype.getDisplayName_added(android.content.Context, java.lang.String, android.content.pm.ApplicationInfo)" class="hiddenlink" target="rightframe"><b>getDisplayName</b>
+(<code>Context, String, ApplicationInfo</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.LinearLayout.html#android.widget.LinearLayout.getDividerPadding_added()" class="hiddenlink" target="rightframe"><b>getDividerPadding</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.ViewPropertyAnimator.html#android.view.ViewPropertyAnimator.getDuration_added()" class="hiddenlink" target="rightframe"><b>getDuration</b>
+()</A></nobr><br>
+<nobr><A HREF="android.opengl.GLUtils.html#android.opengl.GLUtils.getEGLErrorString_added(int)" class="hiddenlink" target="rightframe"><b>getEGLErrorString</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityManager.html#android.view.accessibility.AccessibilityManager.getEnabledAccessibilityServiceList_added(int)" class="hiddenlink" target="rightframe"><b>getEnabledAccessibilityServiceList</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.speech.tts.TextToSpeech.html#android.speech.tts.TextToSpeech.getEngines_added()" class="hiddenlink" target="rightframe"><b>getEngines</b>
+()</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getField_changed(java.lang.String)" class="hiddenlink" target="rightframe">getField
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getFields_changed()" class="hiddenlink" target="rightframe">getFields
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getFocusAreas_added()" class="hiddenlink" target="rightframe"><b>getFocusAreas</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getFromIndex_changed()" class="hiddenlink" target="rightframe">getFromIndex
+()</A></nobr><br>
+<nobr><A HREF="android.graphics.Paint.html#android.graphics.Paint.getHinting_added()" class="hiddenlink" target="rightframe"><b>getHinting</b>
+()</A></nobr><br>
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.getId_added()" class="hiddenlink" target="rightframe"><b>getId</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityManager.html#android.view.accessibility.AccessibilityManager.getInstalledAccessibilityServiceList_added()" class="hiddenlink" target="rightframe"><b>getInstalledAccessibilityServiceList</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getItemCount_changed()" class="hiddenlink" target="rightframe">getItemCount
+()</A></nobr><br>
+<nobr><A HREF="android.view.inputmethod.InputMethodManager.html#android.view.inputmethod.InputMethodManager.getLastInputMethodSubtype_added()" class="hiddenlink" target="rightframe"><b>getLastInputMethodSubtype</b>
+()</A></nobr><br>
+<nobr><A HREF="android.os.Looper.html#android.os.Looper.getMainLooper_changed()" class="hiddenlink" target="rightframe">getMainLooper
+()</A></nobr><br>
+<nobr><A HREF="android.graphics.Canvas.html#android.graphics.Canvas.getMaximumBitmapHeight_added()" class="hiddenlink" target="rightframe"><b>getMaximumBitmapHeight</b>
+()</A></nobr><br>
+<nobr><A HREF="android.graphics.Canvas.html#android.graphics.Canvas.getMaximumBitmapWidth_added()" class="hiddenlink" target="rightframe"><b>getMaximumBitmapWidth</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getMaxNumDetectedFaces_added()" class="hiddenlink" target="rightframe"><b>getMaxNumDetectedFaces</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getMaxNumFocusAreas_added()" class="hiddenlink" target="rightframe"><b>getMaxNumFocusAreas</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getMaxNumMeteringAreas_added()" class="hiddenlink" target="rightframe"><b>getMaxNumMeteringAreas</b>
+()</A></nobr><br>
+<i>getMaxTransceiveLength</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.IsoDep.html#android.nfc.tech.IsoDep.getMaxTransceiveLength_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.IsoDep
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.MifareClassic.html#android.nfc.tech.MifareClassic.getMaxTransceiveLength_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.MifareClassic
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.MifareUltralight.html#android.nfc.tech.MifareUltralight.getMaxTransceiveLength_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.MifareUltralight
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.NfcA.html#android.nfc.tech.NfcA.getMaxTransceiveLength_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.NfcA
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.NfcB.html#android.nfc.tech.NfcB.getMaxTransceiveLength_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.NfcB
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.NfcF.html#android.nfc.tech.NfcF.getMaxTransceiveLength_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.NfcF
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.NfcV.html#android.nfc.tech.NfcV.getMaxTransceiveLength_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.NfcV
+</A></nobr><br>
+<nobr><A HREF="android.widget.FrameLayout.html#android.widget.FrameLayout.getMeasureAllChildren_added()" class="hiddenlink" target="rightframe"><b>getMeasureAllChildren</b>
+()</A></nobr><br>
+<nobr><A HREF="android.os.Handler.html#android.os.Handler.getMessageName_added(android.os.Message)" class="hiddenlink" target="rightframe"><b>getMessageName</b>
+(<code>Message</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.getMeteringAreas_added()" class="hiddenlink" target="rightframe"><b>getMeteringAreas</b>
+()</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getMethod_changed(java.lang.String, java.lang.Class<?>...)" class="hiddenlink" target="rightframe">getMethod
+(<code>String, Class&lt;?&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getMethods_changed()" class="hiddenlink" target="rightframe">getMethods
+()</A></nobr><br>
+<i>getName</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.FragmentManager.BackStackEntry.html#android.app.FragmentManager.BackStackEntry.getName_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.app.FragmentManager.BackStackEntry
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.BaseObj.html#android.renderscript.BaseObj.getName_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.renderscript.BaseObj
+</A></nobr><br>
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.getOffsetForPosition_added(float, float)" class="hiddenlink" target="rightframe"><b>getOffsetForPosition</b>
+(<code>float, float</code>)</A></nobr><br>
+<nobr><A HREF="android.os.Debug.MemoryInfo.html#android.os.Debug.MemoryInfo.getOtherLabel_added(int)" class="hiddenlink" target="rightframe"><b>getOtherLabel</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.os.Debug.MemoryInfo.html#android.os.Debug.MemoryInfo.getOtherPrivateDirty_added(int)" class="hiddenlink" target="rightframe"><b>getOtherPrivateDirty</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.os.Debug.MemoryInfo.html#android.os.Debug.MemoryInfo.getOtherPss_added(int)" class="hiddenlink" target="rightframe"><b>getOtherPss</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.os.Debug.MemoryInfo.html#android.os.Debug.MemoryInfo.getOtherSharedDirty_added(int)" class="hiddenlink" target="rightframe"><b>getOtherSharedDirty</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getParcelableData_changed()" class="hiddenlink" target="rightframe">getParcelableData
+()</A></nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.getPointerProperties_added(int, android.view.MotionEvent.PointerProperties)" class="hiddenlink" target="rightframe"><b>getPointerProperties</b>
+(<code>int, PointerProperties</code>)</A></nobr><br>
+<nobr><A HREF="android.bluetooth.BluetoothAdapter.html#android.bluetooth.BluetoothAdapter.getProfileConnectionState_added(int)" class="hiddenlink" target="rightframe"><b>getProfileConnectionState</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.os.Debug.html#android.os.Debug.getPss_added()" class="hiddenlink" target="rightframe"><b>getPss</b>
+()</A></nobr><br>
+<nobr><A HREF="android.os.Build.html#android.os.Build.getRadioVersion_added()" class="hiddenlink" target="rightframe"><b>getRadioVersion</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getRecord_added(int)" class="hiddenlink" target="rightframe"><b>getRecord</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getRecordCount_added()" class="hiddenlink" target="rightframe"><b>getRecordCount</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getRemovedCount_changed()" class="hiddenlink" target="rightframe">getRemovedCount
+()</A></nobr><br>
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.getResolveInfo_added()" class="hiddenlink" target="rightframe"><b>getResolveInfo</b>
+()</A></nobr><br>
+<nobr><A HREF="android.content.SyncAdapterType.html#android.content.SyncAdapterType.getSettingsActivity_added()" class="hiddenlink" target="rightframe"><b>getSettingsActivity</b>
+()</A></nobr><br>
+<nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html#android.accessibilityservice.AccessibilityServiceInfo.getSettingsActivityName_added()" class="hiddenlink" target="rightframe"><b>getSettingsActivityName</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.ViewPropertyAnimator.html#android.view.ViewPropertyAnimator.getStartDelay_added()" class="hiddenlink" target="rightframe"><b>getStartDelay</b>
+()</A></nobr><br>
+<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.getSummaryOff_changed()" class="hiddenlink" target="rightframe">getSummaryOff
+()</A></nobr><br>
+<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.getSummaryOn_changed()" class="hiddenlink" target="rightframe">getSummaryOn
+()</A></nobr><br>
+<nobr><A HREF="android.view.ActionMode.html#android.view.ActionMode.getTag_added()" class="hiddenlink" target="rightframe"><b>getTag</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getText_changed()" class="hiddenlink" target="rightframe">getText
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getTextSize_changed()" class="hiddenlink" target="rightframe">getTextSize
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getTextZoom_added()" class="hiddenlink" target="rightframe"><b>getTextZoom</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.ActionBar.html#android.app.ActionBar.getThemedContext_added()" class="hiddenlink" target="rightframe"><b>getThemedContext</b>
+()</A></nobr><br>
+<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.getThreadStatsTag_added()" class="hiddenlink" target="rightframe"><b>getThreadStatsTag</b>
+()</A></nobr><br>
+<i>getTimeout</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.IsoDep.html#android.nfc.tech.IsoDep.getTimeout_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.IsoDep
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.MifareClassic.html#android.nfc.tech.MifareClassic.getTimeout_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.MifareClassic
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.MifareUltralight.html#android.nfc.tech.MifareUltralight.getTimeout_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.MifareUltralight
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.NfcA.html#android.nfc.tech.NfcA.getTimeout_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.NfcA
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.NfcF.html#android.nfc.tech.NfcF.getTimeout_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.nfc.tech.NfcF
+</A></nobr><br>
+<nobr><A HREF="android.graphics.SurfaceTexture.html#android.graphics.SurfaceTexture.getTimestamp_added()" class="hiddenlink" target="rightframe"><b>getTimestamp</b>
+()</A></nobr><br>
+<nobr><A HREF="android.preference.Preference.html#android.preference.Preference.getTitleRes_added()" class="hiddenlink" target="rightframe"><b>getTitleRes</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.getToolType_added(int)" class="hiddenlink" target="rightframe"><b>getToolType</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.net.http.SslError.html#android.net.http.SslError.getUrl_added()" class="hiddenlink" target="rightframe"><b>getUrl</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="#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">
+<i>hashCode</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.io.FilePermission.html#java.io.FilePermission.hashCode_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.io.FilePermission
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.net.SocketPermission.html#java.net.SocketPermission.hashCode_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.net.SocketPermission
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.security.AllPermission.html#java.security.AllPermission.hashCode_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.security.AllPermission
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.security.BasicPermission.html#java.security.BasicPermission.hashCode_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.security.BasicPermission
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.security.Permission.html#java.security.Permission.hashCode_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.security.Permission
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.security.UnresolvedPermission.html#java.security.UnresolvedPermission.hashCode_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.security.UnresolvedPermission
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.security.auth.PrivateCredentialPermission.html#javax.security.auth.PrivateCredentialPermission.hashCode_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;javax.security.auth.PrivateCredentialPermission
+</A></nobr><br>
+<nobr><A HREF="android.view.ViewConfiguration.html#android.view.ViewConfiguration.hasPermanentMenuKey_added()" class="hiddenlink" target="rightframe"><b>hasPermanentMenuKey</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.hide_removed()" class="hiddenlink" target="rightframe"><strike>hide</strike>
+()</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="#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.renderscript.Element.html#android.renderscript.Element.I16_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I16_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I16_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I16_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I16_4_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I16_4</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I32_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I32_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I32_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I32_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I32_4_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I32_4</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I64_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I64_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I64_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I64_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I64_4_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I64_4</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I8_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I8_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I8_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I8_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.I8_4_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>I8_4</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<i>incrementOperationCount</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.incrementOperationCount_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.net.TrafficStats
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.incrementOperationCount_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.net.TrafficStats
+</A></nobr><br>
+<nobr><A HREF="android.widget.PopupMenu.html#android.widget.PopupMenu.inflate_added(int)" class="hiddenlink" target="rightframe"><b>inflate</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.FragmentManager.html#android.app.FragmentManager.invalidateOptionsMenu_added()" class="hiddenlink" target="rightframe"><b>invalidateOptionsMenu</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.MenuItem.html#android.view.MenuItem.isActionViewExpanded_added()" class="hiddenlink" target="rightframe"><b>isActionViewExpanded</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.isAutoExposureLockSupported_added()" class="hiddenlink" target="rightframe"><b>isAutoExposureLockSupported</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.isAutoWhiteBalanceLockSupported_added()" class="hiddenlink" target="rightframe"><b>isAutoWhiteBalanceLockSupported</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.inputmethod.InputMethodSubtype.html#android.view.inputmethod.InputMethodSubtype.isAuxiliary_added()" class="hiddenlink" target="rightframe"><b>isAuxiliary</b>
+()</A></nobr><br>
+<i>isChecked</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.isChecked_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.preference.CheckBoxPreference
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.isChecked_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.view.accessibility.AccessibilityEvent
+</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.isCompatible_added(android.renderscript.Element)" class="hiddenlink" target="rightframe"><b>isCompatible</b>
+(<code>Element</code>)</A></nobr><br>
+<nobr><A HREF="android.bluetooth.BluetoothSocket.html#android.bluetooth.BluetoothSocket.isConnected_added()" class="hiddenlink" target="rightframe"><b>isConnected</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.isEnabled_changed()" class="hiddenlink" target="rightframe">isEnabled
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.isFullScreen_changed()" class="hiddenlink" target="rightframe">isFullScreen
+()</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.isHovered_added()" class="hiddenlink" target="rightframe"><b>isHovered</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.isPassword_changed()" class="hiddenlink" target="rightframe">isPassword
+()</A></nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.html#android.provider.ContactsContract.isProfileId_added(long)" class="hiddenlink" target="rightframe"><b>isProfileId</b>
+(<code>long</code>)</A></nobr><br>
+<nobr><A HREF="android.text.Layout.html#android.text.Layout.isRtlCharAt_added(int)" class="hiddenlink" target="rightframe"><b>isRtlCharAt</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.animation.Animator.html#android.animation.Animator.isStarted_added()" class="hiddenlink" target="rightframe"><b>isStarted</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.isSuggestionsEnabled_added()" class="hiddenlink" target="rightframe"><b>isSuggestionsEnabled</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityManager.html#android.view.accessibility.AccessibilityManager.isTouchExplorationEnabled_added()" class="hiddenlink" target="rightframe"><b>isTouchExplorationEnabled</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.isVideoSnapshotSupported_added()" class="hiddenlink" target="rightframe"><b>isVideoSnapshotSupported</b>
+()</A></nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.isWiredHeadsetOn_changed()" class="hiddenlink" target="rightframe">isWiredHeadsetOn
+()</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="#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.os.Looper.html#android.os.Looper.loop_changed()" class="hiddenlink" target="rightframe">loop
+()</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.os.Looper.html#android.os.Looper.myLooper_changed()" class="hiddenlink" target="rightframe">myLooper
+()</A></nobr><br>
+<nobr><A HREF="android.os.Looper.html#android.os.Looper.myQueue_changed()" class="hiddenlink" target="rightframe">myQueue
+()</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="#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="#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.newChooseAccountIntent_added(android.accounts.Account, java.util.ArrayList<android.accounts.Account>, java.lang.String[], boolean, java.lang.String, java.lang.String, java.lang.String[], android.os.Bundle)" class="hiddenlink" target="rightframe"><b>newChooseAccountIntent</b>
+(<code>Account, ArrayList&lt;Account&gt;, String[], boolean, String, String, String[], Bundle</code>)</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>obtain</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.obtain_removed(long, long, int, int, int[], android.view.MotionEvent.PointerCoords[], int, float, float, int, int, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>long, long, int, int, int[], PointerCoords[], int, float, float, int, int, int, int</code>)</strike>&nbsp;in&nbsp;android.view.MotionEvent
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.obtain_added(long, long, int, int, android.view.MotionEvent.PointerProperties[], android.view.MotionEvent.PointerCoords[], int, int, float, float, int, int, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long, int, int, PointerProperties[], PointerCoords[], int, int, float, float, int, int, int, int</code>)</b>&nbsp;in&nbsp;android.view.MotionEvent
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.MotionEvent.html#android.view.MotionEvent.obtain_added(long, long, int, int, int[], android.view.MotionEvent.PointerCoords[], int, float, float, int, int, int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>long, long, int, int, int[], PointerCoords[], int, float, float, int, int, int, int</code>)</b>&nbsp;in&nbsp;android.view.MotionEvent
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.obtain_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AccessibilityEvent</code>)</b>&nbsp;in&nbsp;android.view.accessibility.AccessibilityEvent
+</A></nobr><br>
+<i>ofFloat</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.ObjectAnimator.html#android.animation.ObjectAnimator.ofFloat_added(T, android.util.Property<T, java.lang.Float>, float...)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, Property&lt;T, Float&gt;, </code>)</b>&nbsp;in&nbsp;android.animation.ObjectAnimator
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.PropertyValuesHolder.html#android.animation.PropertyValuesHolder.ofFloat_added(android.util.Property<?, java.lang.Float>, float...)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Property&lt;?, Float&gt;, </code>)</b>&nbsp;in&nbsp;android.animation.PropertyValuesHolder
+</A></nobr><br>
+<i>ofInt</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.ObjectAnimator.html#android.animation.ObjectAnimator.ofInt_added(T, android.util.Property<T, java.lang.Integer>, int...)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, Property&lt;T, Integer&gt;, </code>)</b>&nbsp;in&nbsp;android.animation.ObjectAnimator
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.PropertyValuesHolder.html#android.animation.PropertyValuesHolder.ofInt_added(android.util.Property<?, java.lang.Integer>, int...)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Property&lt;?, Integer&gt;, </code>)</b>&nbsp;in&nbsp;android.animation.PropertyValuesHolder
+</A></nobr><br>
+<nobr><A HREF="android.animation.PropertyValuesHolder.html#android.animation.PropertyValuesHolder.ofKeyframe_added(android.util.Property, android.animation.Keyframe...)" class="hiddenlink" target="rightframe"><b>ofKeyframe</b>
+(<code>Property, </code>)</A></nobr><br>
+<i>ofObject</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.ObjectAnimator.html#android.animation.ObjectAnimator.ofObject_added(T, android.util.Property<T, V>, android.animation.TypeEvaluator<V>, V...)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>T, Property&lt;T, V&gt;, TypeEvaluator&lt;V&gt;, </code>)</b>&nbsp;in&nbsp;android.animation.ObjectAnimator
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.PropertyValuesHolder.html#android.animation.PropertyValuesHolder.ofObject_added(android.util.Property, android.animation.TypeEvaluator<V>, V...)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Property, TypeEvaluator&lt;V&gt;, </code>)</b>&nbsp;in&nbsp;android.animation.PropertyValuesHolder
+</A></nobr><br>
+<nobr><A HREF="android.widget.SearchView.html#android.widget.SearchView.onActionViewCollapsed_added()" class="hiddenlink" target="rightframe"><b>onActionViewCollapsed</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.SearchView.html#android.widget.SearchView.onActionViewExpanded_added()" class="hiddenlink" target="rightframe"><b>onActionViewExpanded</b>
+()</A></nobr><br>
+<nobr><A HREF="android.preference.PreferenceActivity.html#android.preference.PreferenceActivity.onBuildStartFragmentIntent_added(java.lang.String, android.os.Bundle, int, int)" class="hiddenlink" target="rightframe"><b>onBuildStartFragmentIntent</b>
+(<code>String, Bundle, int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.backup.BackupAgent.html#android.app.backup.BackupAgent.onFullBackup_added(android.app.backup.FullBackupDataOutput)" class="hiddenlink" target="rightframe"><b>onFullBackup</b>
+(<code>FullBackupDataOutput</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.onHoverChanged_added(boolean)" class="hiddenlink" target="rightframe"><b>onHoverChanged</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.onHoverEvent_added(android.view.MotionEvent)" class="hiddenlink" target="rightframe"><b>onHoverEvent</b>
+(<code>MotionEvent</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.onInitializeAccessibilityEvent_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe"><b>onInitializeAccessibilityEvent</b>
+(<code>AccessibilityEvent</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.onInitializeAccessibilityNodeInfo_added(android.view.accessibility.AccessibilityNodeInfo)" class="hiddenlink" target="rightframe"><b>onInitializeAccessibilityNodeInfo</b>
+(<code>AccessibilityNodeInfo</code>)</A></nobr><br>
+<nobr><A HREF="android.view.ViewGroup.html#android.view.ViewGroup.onInterceptHoverEvent_added(android.view.MotionEvent)" class="hiddenlink" target="rightframe"><b>onInterceptHoverEvent</b>
+(<code>MotionEvent</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.onPopulateAccessibilityEvent_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe"><b>onPopulateAccessibilityEvent</b>
+(<code>AccessibilityEvent</code>)</A></nobr><br>
+<nobr><A HREF="android.view.ViewGroup.html#android.view.ViewGroup.onRequestSendAccessibilityEvent_added(android.view.View, android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe"><b>onRequestSendAccessibilityEvent</b>
+(<code>View, AccessibilityEvent</code>)</A></nobr><br>
+<nobr><A HREF="android.app.backup.BackupAgent.html#android.app.backup.BackupAgent.onRestoreFile_added(android.os.ParcelFileDescriptor, long, java.io.File, int, long, long)" class="hiddenlink" target="rightframe"><b>onRestoreFile</b>
+(<code>ParcelFileDescriptor, long, File, int, long, long</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebChromeClient.html#android.webkit.WebChromeClient.onShowCustomView_added(android.view.View, int, android.webkit.WebChromeClient.CustomViewCallback)" class="hiddenlink" target="rightframe"><b>onShowCustomView</b>
+(<code>View, int, CustomViewCallback</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Service.html#android.app.Service.onTaskRemoved_added(android.content.Intent)" class="hiddenlink" target="rightframe"><b>onTaskRemoved</b>
+(<code>Intent</code>)</A></nobr><br>
+<i>onTrimMemory</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Activity.html#android.app.Activity.onTrimMemory_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.Activity
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Application.html#android.app.Application.onTrimMemory_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.Application
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Fragment.html#android.app.Fragment.onTrimMemory_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.Fragment
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Service.html#android.app.Service.onTrimMemory_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.Service
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContentProvider.html#android.content.ContentProvider.onTrimMemory_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.content.ContentProvider
+</A></nobr><br>
+<nobr><A HREF="android.inputmethodservice.InputMethodService.html#android.inputmethodservice.InputMethodService.onViewClicked_added(boolean)" class="hiddenlink" target="rightframe"><b>onViewClicked</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.provider.ContactsContract.Contacts.html#android.provider.ContactsContract.Contacts.openContactPhotoInputStream_added(android.content.ContentResolver, android.net.Uri, boolean)" class="hiddenlink" target="rightframe"><b>openContactPhotoInputStream</b>
+(<code>ContentResolver, Uri, boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.view.inputmethod.InputMethodSubtype.html#android.view.inputmethod.InputMethodSubtype.overridesImplicitlyEnabledSubtype_added()" class="hiddenlink" target="rightframe"><b>overridesImplicitlyEnabledSubtype</b>
+()</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.opengl.Matrix.html#android.opengl.Matrix.perspectiveM_added(float[], int, float, float, float, float)" class="hiddenlink" target="rightframe"><b>perspectiveM</b>
+(<code>float[], int, float, float, float, float</code>)</A></nobr><br>
+<nobr><A HREF="android.os.Looper.html#android.os.Looper.prepare_changed()" class="hiddenlink" target="rightframe">prepare
+()</A></nobr><br>
+<nobr><A HREF="android.os.Looper.html#android.os.Looper.prepareMainLooper_changed()" class="hiddenlink" target="rightframe">prepareMainLooper
+()</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>readData</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.readData_removed(float[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>float[]</code>)</strike>&nbsp;in&nbsp;android.renderscript.AllocationAdapter
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.readData_removed(int[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int[]</code>)</strike>&nbsp;in&nbsp;android.renderscript.AllocationAdapter
+</A></nobr><br>
+<nobr><A HREF="android.os.RecoverySystem.html#android.os.RecoverySystem.rebootWipeCache_added(android.content.Context)" class="hiddenlink" target="rightframe"><b>rebootWipeCache</b>
+(<code>Context</code>)</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.recycle_changed()" class="hiddenlink" target="rightframe">recycle
+()</A></nobr><br>
+<nobr><A HREF="android.app.Application.html#android.app.Application.registerActivityLifecycleCallbacks_added(android.app.Application.ActivityLifecycleCallbacks)" class="hiddenlink" target="rightframe"><b>registerActivityLifecycleCallbacks</b>
+(<code>ActivityLifecycleCallbacks</code>)</A></nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.registerComponentCallbacks_added(android.content.ComponentCallbacks)" class="hiddenlink" target="rightframe"><b>registerComponentCallbacks</b>
+(<code>ComponentCallbacks</code>)</A></nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.registerRemoteControlClient_added(android.media.RemoteControlClient)" class="hiddenlink" target="rightframe"><b>registerRemoteControlClient</b>
+(<code>RemoteControlClient</code>)</A></nobr><br>
+<i>release</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.SurfaceTexture.html#android.graphics.SurfaceTexture.release_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.graphics.SurfaceTexture
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.Surface.html#android.view.Surface.release_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.Surface
+</A></nobr><br>
+<nobr><A HREF="java.lang.ref.ReferenceQueue.html#java.lang.ref.ReferenceQueue.remove_changed(long)" class="hiddenlink" target="rightframe">remove
+(<code>long</code>)</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityManager.html#android.view.accessibility.AccessibilityManager.removeAccessibilityStateChangeListener_added(android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener)" class="hiddenlink" target="rightframe"><b>removeAccessibilityStateChangeListener</b>
+(<code>AccessibilityStateChangeListener</code>)</A></nobr><br>
+<i>requestSendAccessibilityEvent</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.ViewGroup.html#android.view.ViewGroup.requestSendAccessibilityEvent_added(android.view.View, android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View, AccessibilityEvent</code>)</b>&nbsp;in&nbsp;android.view.ViewGroup
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.ViewParent.html#android.view.ViewParent.requestSendAccessibilityEvent_added(android.view.View, android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View, AccessibilityEvent</code>)</b>&nbsp;in&nbsp;android.view.ViewParent
+</A></nobr><br>
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.resetResolvedDrawables_added()" class="hiddenlink" target="rightframe"><b>resetResolvedDrawables</b>
+()</A></nobr><br>
+<i>resetResolvedLayoutDirection</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.ViewGroup.html#android.view.ViewGroup.resetResolvedLayoutDirection_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.view.ViewGroup
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.resetResolvedLayoutDirection_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.widget.TextView
+</A></nobr><br>
+<nobr><A HREF="android.view.ViewGroup.html#android.view.ViewGroup.resetResolvedTextDirection_added()" class="hiddenlink" target="rightframe"><b>resetResolvedTextDirection</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.resolveDrawables_added()" class="hiddenlink" target="rightframe"><b>resolveDrawables</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.resolveTextDirection_added()" class="hiddenlink" target="rightframe"><b>resolveTextDirection</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.app.PendingIntent.html#android.app.PendingIntent.send_added(android.content.Context, int, android.content.Intent, android.app.PendingIntent.OnFinished, android.os.Handler, java.lang.String)" class="hiddenlink" target="rightframe"><b>send</b>
+(<code>Context, int, Intent, OnFinished, Handler, String</code>)</A></nobr><br>
+<nobr><A HREF="android.content.IntentSender.html#android.content.IntentSender.sendIntent_added(android.content.Context, int, android.content.Intent, android.content.IntentSender.OnFinished, android.os.Handler, java.lang.String)" class="hiddenlink" target="rightframe"><b>sendIntent</b>
+(<code>Context, int, Intent, OnFinished, Handler, String</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.setAccessibilityDelegate_added(android.view.View.AccessibilityDelegate)" class="hiddenlink" target="rightframe"><b>setAccessibilityDelegate</b>
+(<code>AccessibilityDelegate</code>)</A></nobr><br>
+<i>setAccessible</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AccessibleObject.html#java.lang.reflect.AccessibleObject.setAccessible_changed(java.lang.reflect.AccessibleObject[], boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>AccessibleObject[], boolean</code>)&nbsp;in&nbsp;java.lang.reflect.AccessibleObject
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AccessibleObject.html#java.lang.reflect.AccessibleObject.setAccessible_changed(boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>boolean</code>)&nbsp;in&nbsp;java.lang.reflect.AccessibleObject
+</A></nobr><br>
+<nobr><A HREF="android.view.MenuItem.html#android.view.MenuItem.setActionProvider_added(android.view.ActionProvider)" class="hiddenlink" target="rightframe"><b>setActionProvider</b>
+(<code>ActionProvider</code>)</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setAddedCount_changed(int)" class="hiddenlink" target="rightframe">setAddedCount
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.inputmethod.InputMethodManager.html#android.view.inputmethod.InputMethodManager.setAdditionalInputMethodSubtypes_added(java.lang.String, android.view.inputmethod.InputMethodSubtype[])" class="hiddenlink" target="rightframe"><b>setAdditionalInputMethodSubtypes</b>
+(<code>String, InputMethodSubtype[]</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.TextView.html#android.widget.TextView.setAllCaps_added(boolean)" class="hiddenlink" target="rightframe"><b>setAllCaps</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setAlpha_removed(float)" class="hiddenlink" target="rightframe"><strike>setAlpha</strike>
+(<code>float</code>)</A></nobr><br>
+<nobr><A HREF="android.animation.LayoutTransition.html#android.animation.LayoutTransition.setAnimateParentHierarchy_added(boolean)" class="hiddenlink" target="rightframe"><b>setAnimateParentHierarchy</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.setAutoExposureLock_added(boolean)" class="hiddenlink" target="rightframe"><b>setAutoExposureLock</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.setAutoWhiteBalanceLock_added(boolean)" class="hiddenlink" target="rightframe"><b>setAutoWhiteBalanceLock</b>
+(<code>boolean</code>)</A></nobr><br>
+<i>setAuxiliaryOutputFile</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.setAuxiliaryOutputFile_changed(java.io.FileDescriptor)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>FileDescriptor</code>)&nbsp;in&nbsp;android.media.MediaRecorder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.setAuxiliaryOutputFile_changed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String</code>)&nbsp;in&nbsp;android.media.MediaRecorder
+</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setBeforeText_changed(java.lang.CharSequence)" class="hiddenlink" target="rightframe">setBeforeText
+(<code>CharSequence</code>)</A></nobr><br>
+<nobr><A HREF="android.app.admin.DevicePolicyManager.html#android.app.admin.DevicePolicyManager.setCameraDisabled_added(android.content.ComponentName, boolean)" class="hiddenlink" target="rightframe"><b>setCameraDisabled</b>
+(<code>ComponentName, boolean</code>)</A></nobr><br>
+<i>setChecked</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.setChecked_changed(boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>boolean</code>)&nbsp;in&nbsp;android.preference.CheckBoxPreference
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setChecked_changed(boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>boolean</code>)&nbsp;in&nbsp;android.view.accessibility.AccessibilityEvent
+</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setClassName_changed(java.lang.CharSequence)" class="hiddenlink" target="rightframe">setClassName
+(<code>CharSequence</code>)</A></nobr><br>
+<i>setContentDescription</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.ActionBar.Tab.html#android.app.ActionBar.Tab.setContentDescription_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.ActionBar.Tab
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.ActionBar.Tab.html#android.app.ActionBar.Tab.setContentDescription_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>CharSequence</code>)</b>&nbsp;in&nbsp;android.app.ActionBar.Tab
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setContentDescription_changed(java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>CharSequence</code>)&nbsp;in&nbsp;android.view.accessibility.AccessibilityEvent
+</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setCurrentItemIndex_changed(int)" class="hiddenlink" target="rightframe">setCurrentItemIndex
+(<code>int</code>)</A></nobr><br>
+<i>setDataSource</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.MediaMetadataRetriever.html#android.media.MediaMetadataRetriever.setDataSource_added(java.lang.String, java.util.Map<java.lang.String, java.lang.String>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String, Map&lt;String, String&gt;</code>)</b>&nbsp;in&nbsp;android.media.MediaMetadataRetriever
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.MediaPlayer.html#android.media.MediaPlayer.setDataSource_removed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>String</code>)</strike>&nbsp;in&nbsp;android.media.MediaPlayer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.MediaPlayer.html#android.media.MediaPlayer.setDataSource_added(android.content.Context, android.net.Uri, java.util.Map<java.lang.String, java.lang.String>)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Context, Uri, Map&lt;String, String&gt;</code>)</b>&nbsp;in&nbsp;android.media.MediaPlayer
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.MediaPlayer.html#android.media.MediaPlayer.setDataSource_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.media.MediaPlayer
+</A></nobr><br>
+<nobr><A HREF="android.view.Window.html#android.view.Window.setDimAmount_added(float)" class="hiddenlink" target="rightframe"><b>setDimAmount</b>
+(<code>float</code>)</A></nobr><br>
+<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.setDisableDependentsState_changed(boolean)" class="hiddenlink" target="rightframe">setDisableDependentsState
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.LinearLayout.html#android.widget.LinearLayout.setDividerPadding_added(int)" class="hiddenlink" target="rightframe"><b>setDividerPadding</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setEnabled_changed(boolean)" class="hiddenlink" target="rightframe">setEnabled
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="java.util.logging.Handler.html#java.util.logging.Handler.setEncoding_changed(java.lang.String)" class="hiddenlink" target="rightframe">setEncoding
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.speech.tts.TextToSpeech.html#android.speech.tts.TextToSpeech.setEngineByPackageName_changed(java.lang.String)" class="hiddenlink" target="rightframe">setEngineByPackageName
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.setFaceDetectionListener_added(android.hardware.Camera.FaceDetectionListener)" class="hiddenlink" target="rightframe"><b>setFaceDetectionListener</b>
+(<code>FaceDetectionListener</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.setFitsSystemWindows_added(boolean)" class="hiddenlink" target="rightframe"><b>setFitsSystemWindows</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setFlags_removed(int, int)" class="hiddenlink" target="rightframe"><strike>setFlags</strike>
+(<code>int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.setFocusAreas_added(java.util.List<android.hardware.Camera.Area>)" class="hiddenlink" target="rightframe"><b>setFocusAreas</b>
+(<code>List&lt;Area&gt;</code>)</A></nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setFreezeTint_removed(int)" class="hiddenlink" target="rightframe"><strike>setFreezeTint</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setFromIndex_changed(int)" class="hiddenlink" target="rightframe">setFromIndex
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setFullScreen_changed(boolean)" class="hiddenlink" target="rightframe">setFullScreen
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.graphics.Paint.html#android.graphics.Paint.setHinting_added(int)" class="hiddenlink" target="rightframe"><b>setHinting</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.ActionBar.html#android.app.ActionBar.setHomeButtonEnabled_added(boolean)" class="hiddenlink" target="rightframe"><b>setHomeButtonEnabled</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.setHovered_added(boolean)" class="hiddenlink" target="rightframe"><b>setHovered</b>
+(<code>boolean</code>)</A></nobr><br>
+<i>setIcon</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.ActionBar.html#android.app.ActionBar.setIcon_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Drawable</code>)</b>&nbsp;in&nbsp;android.app.ActionBar
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.ActionBar.html#android.app.ActionBar.setIcon_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.ActionBar
+</A></nobr><br>
+<nobr><A HREF="android.widget.SearchView.html#android.widget.SearchView.setImeOptions_added(int)" class="hiddenlink" target="rightframe"><b>setImeOptions</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.SearchView.html#android.widget.SearchView.setInputType_added(int)" class="hiddenlink" target="rightframe"><b>setInputType</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setItemCount_changed(int)" class="hiddenlink" target="rightframe">setItemCount
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.net.SSLCertificateSocketFactory.html#android.net.SSLCertificateSocketFactory.setKeyManagers_added(javax.net.ssl.KeyManager[])" class="hiddenlink" target="rightframe"><b>setKeyManagers</b>
+(<code>KeyManager[]</code>)</A></nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setLayer_removed(int)" class="hiddenlink" target="rightframe"><strike>setLayer</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.setLocation_added(float, float)" class="hiddenlink" target="rightframe"><b>setLocation</b>
+(<code>float, float</code>)</A></nobr><br>
+<i>setLogo</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.ActionBar.html#android.app.ActionBar.setLogo_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Drawable</code>)</b>&nbsp;in&nbsp;android.app.ActionBar
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.ActionBar.html#android.app.ActionBar.setLogo_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.app.ActionBar
+</A></nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setMatrix_removed(float, float, float, float)" class="hiddenlink" target="rightframe"><strike>setMatrix</strike>
+(<code>float, float, float, float</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Fragment.html#android.app.Fragment.setMenuVisibility_added(boolean)" class="hiddenlink" target="rightframe"><b>setMenuVisibility</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.setMeteringAreas_added(java.util.List<android.hardware.Camera.Area>)" class="hiddenlink" target="rightframe"><b>setMeteringAreas</b>
+(<code>List&lt;Area&gt;</code>)</A></nobr><br>
+<nobr><A HREF="android.nfc.NfcAdapter.html#android.nfc.NfcAdapter.setNdefPushMessage_added(android.nfc.NdefMessage, android.app.Activity, android.app.Activity...)" class="hiddenlink" target="rightframe"><b>setNdefPushMessage</b>
+(<code>NdefMessage, Activity, </code>)</A></nobr><br>
+<nobr><A HREF="android.nfc.NfcAdapter.html#android.nfc.NfcAdapter.setNdefPushMessageCallback_added(android.nfc.NfcAdapter.CreateNdefMessageCallback, android.app.Activity, android.app.Activity...)" class="hiddenlink" target="rightframe"><b>setNdefPushMessageCallback</b>
+(<code>CreateNdefMessageCallback, Activity, </code>)</A></nobr><br>
+<nobr><A HREF="android.view.MenuItem.html#android.view.MenuItem.setOnActionExpandListener_added(android.view.MenuItem.OnActionExpandListener)" class="hiddenlink" target="rightframe"><b>setOnActionExpandListener</b>
+(<code>OnActionExpandListener</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.PopupMenu.html#android.widget.PopupMenu.setOnDismissListener_added(android.widget.PopupMenu.OnDismissListener)" class="hiddenlink" target="rightframe"><b>setOnDismissListener</b>
+(<code>OnDismissListener</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.setOnHoverListener_added(android.view.View.OnHoverListener)" class="hiddenlink" target="rightframe"><b>setOnHoverListener</b>
+(<code>OnHoverListener</code>)</A></nobr><br>
+<nobr><A HREF="android.nfc.NfcAdapter.html#android.nfc.NfcAdapter.setOnNdefPushCompleteCallback_added(android.nfc.NfcAdapter.OnNdefPushCompleteCallback, android.app.Activity, android.app.Activity...)" class="hiddenlink" target="rightframe"><b>setOnNdefPushCompleteCallback</b>
+(<code>OnNdefPushCompleteCallback, Activity, </code>)</A></nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setOrientation_removed(int, int)" class="hiddenlink" target="rightframe"><strike>setOrientation</strike>
+(<code>int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setParcelableData_changed(android.os.Parcelable)" class="hiddenlink" target="rightframe">setParcelableData
+(<code>Parcelable</code>)</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setPassword_changed(boolean)" class="hiddenlink" target="rightframe">setPassword
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setPosition_removed(int, int)" class="hiddenlink" target="rightframe"><strike>setPosition</strike>
+(<code>int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.Notification.Builder.html#android.app.Notification.Builder.setProgress_added(int, int, boolean)" class="hiddenlink" target="rightframe"><b>setProgress</b>
+(<code>int, int, boolean</code>)</A></nobr><br>
+<i>setProperty</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.ObjectAnimator.html#android.animation.ObjectAnimator.setProperty_added(android.util.Property)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Property</code>)</b>&nbsp;in&nbsp;android.animation.ObjectAnimator
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.PropertyValuesHolder.html#android.animation.PropertyValuesHolder.setProperty_added(android.util.Property)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Property</code>)</b>&nbsp;in&nbsp;android.animation.PropertyValuesHolder
+</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.Parameters.html#android.hardware.Camera.Parameters.setRecordingHint_added(boolean)" class="hiddenlink" target="rightframe"><b>setRecordingHint</b>
+(<code>boolean</code>)</A></nobr><br>
+<i>setRemoteAdapter</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.RemoteViews.html#android.widget.RemoteViews.setRemoteAdapter_added(int, android.content.Intent)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, Intent</code>)</b>&nbsp;in&nbsp;android.widget.RemoteViews
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.RemoteViews.html#android.widget.RemoteViews.setRemoteAdapter_changed(int, int, android.content.Intent)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>int, int, Intent</code>)&nbsp;in&nbsp;android.widget.RemoteViews
+</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setRemovedCount_changed(int)" class="hiddenlink" target="rightframe">setRemovedCount
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.setScrollX_added(int)" class="hiddenlink" target="rightframe"><b>setScrollX</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.setScrollY_added(int)" class="hiddenlink" target="rightframe"><b>setScrollY</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.MenuItem.html#android.view.MenuItem.setShowAsActionFlags_added(int)" class="hiddenlink" target="rightframe"><b>setShowAsActionFlags</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setSize_removed(int, int)" class="hiddenlink" target="rightframe"><strike>setSize</strike>
+(<code>int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.app.ActionBar.html#android.app.ActionBar.setSplitBackgroundDrawable_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe"><b>setSplitBackgroundDrawable</b>
+(<code>Drawable</code>)</A></nobr><br>
+<nobr><A HREF="android.app.ActionBar.html#android.app.ActionBar.setStackedBackgroundDrawable_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe"><b>setStackedBackgroundDrawable</b>
+(<code>Drawable</code>)</A></nobr><br>
+<nobr><A HREF="android.view.ViewPropertyAnimator.html#android.view.ViewPropertyAnimator.setStartDelay_added(long)" class="hiddenlink" target="rightframe"><b>setStartDelay</b>
+(<code>long</code>)</A></nobr><br>
+<nobr><A HREF="android.database.sqlite.SQLiteQueryBuilder.html#android.database.sqlite.SQLiteQueryBuilder.setStrict_added(boolean)" class="hiddenlink" target="rightframe"><b>setStrict</b>
+(<code>boolean</code>)</A></nobr><br>
+<i>setSummaryOff</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.setSummaryOff_removed(int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int</code>)</strike>&nbsp;in&nbsp;android.preference.CheckBoxPreference
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.setSummaryOff_removed(java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>CharSequence</code>)</strike>&nbsp;in&nbsp;android.preference.CheckBoxPreference
+</A></nobr><br>
+<i>setSummaryOn</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.setSummaryOn_removed(int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int</code>)</strike>&nbsp;in&nbsp;android.preference.CheckBoxPreference
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.setSummaryOn_removed(java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>CharSequence</code>)</strike>&nbsp;in&nbsp;android.preference.CheckBoxPreference
+</A></nobr><br>
+<nobr><A HREF="android.media.MediaPlayer.html#android.media.MediaPlayer.setSurface_added(android.view.Surface)" class="hiddenlink" target="rightframe"><b>setSurface</b>
+(<code>Surface</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.RenderScriptGL.html#android.renderscript.RenderScriptGL.setSurfaceTexture_added(android.graphics.SurfaceTexture, int, int)" class="hiddenlink" target="rightframe"><b>setSurfaceTexture</b>
+(<code>SurfaceTexture, int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.ActionMode.html#android.view.ActionMode.setTag_added(java.lang.Object)" class="hiddenlink" target="rightframe"><b>setTag</b>
+(<code>Object</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setTextSize_changed(android.webkit.WebSettings.TextSize)" class="hiddenlink" target="rightframe">setTextSize
+(<code>TextSize</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setTextZoom_added(int)" class="hiddenlink" target="rightframe"><b>setTextZoom</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.setThreadStatsTag_added(int)" class="hiddenlink" target="rightframe"><b>setThreadStatsTag</b>
+(<code>int</code>)</A></nobr><br>
+<i>setTimeout</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.MifareClassic.html#android.nfc.tech.MifareClassic.setTimeout_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.nfc.tech.MifareClassic
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.MifareUltralight.html#android.nfc.tech.MifareUltralight.setTimeout_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.nfc.tech.MifareUltralight
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.NfcA.html#android.nfc.tech.NfcA.setTimeout_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.nfc.tech.NfcA
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.nfc.tech.NfcF.html#android.nfc.tech.NfcF.setTimeout_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.nfc.tech.NfcF
+</A></nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setTransparentRegionHint_removed(android.graphics.Region)" class="hiddenlink" target="rightframe"><strike>setTransparentRegionHint</strike>
+(<code>Region</code>)</A></nobr><br>
+<nobr><A HREF="android.net.SSLCertificateSocketFactory.html#android.net.SSLCertificateSocketFactory.setTrustManagers_added(javax.net.ssl.TrustManager[])" class="hiddenlink" target="rightframe"><b>setTrustManagers</b>
+(<code>TrustManager[]</code>)</A></nobr><br>
+<i>setUiOptions</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.Window.html#android.view.Window.setUiOptions_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.view.Window
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.Window.html#android.view.Window.setUiOptions_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.view.Window
+</A></nobr><br>
+<nobr><A HREF="android.view.ViewGroup.html#android.view.ViewGroup.shouldDelayChildPressedState_added()" class="hiddenlink" target="rightframe"><b>shouldDelayChildPressedState</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.show_removed()" class="hiddenlink" target="rightframe"><strike>show</strike>
+()</A></nobr><br>
+<nobr><A HREF="android.view.ViewPropertyAnimator.html#android.view.ViewPropertyAnimator.start_added()" class="hiddenlink" target="rightframe"><b>start</b>
+()</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.startFaceDetection_added()" class="hiddenlink" target="rightframe"><b>startFaceDetection</b>
+()</A></nobr><br>
+<nobr><A HREF="android.preference.PreferenceActivity.html#android.preference.PreferenceActivity.startWithFragment_added(java.lang.String, android.os.Bundle, android.app.Fragment, int, int, int)" class="hiddenlink" target="rightframe"><b>startWithFragment</b>
+(<code>String, Bundle, Fragment, int, int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.hardware.Camera.html#android.hardware.Camera.stopFaceDetection_added()" class="hiddenlink" target="rightframe"><b>stopFaceDetection</b>
+()</A></nobr><br>
+<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.subData_removed(int, android.renderscript.FieldPacker)" class="hiddenlink" target="rightframe"><strike>subData</strike>
+(<code>int, FieldPacker</code>)</A></nobr><br>
+<i>subData1D</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.subData1D_removed(int, int, byte[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, int, byte[]</code>)</strike>&nbsp;in&nbsp;android.renderscript.AllocationAdapter
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.subData1D_removed(int, int, float[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, int, float[]</code>)</strike>&nbsp;in&nbsp;android.renderscript.AllocationAdapter
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.subData1D_removed(int, int, int[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, int, int[]</code>)</strike>&nbsp;in&nbsp;android.renderscript.AllocationAdapter
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.subData1D_removed(int, int, short[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, int, short[]</code>)</strike>&nbsp;in&nbsp;android.renderscript.AllocationAdapter
+</A></nobr><br>
+<i>subData2D</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.subData2D_removed(int, int, int, int, float[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, int, int, int, float[]</code>)</strike>&nbsp;in&nbsp;android.renderscript.AllocationAdapter
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.subData2D_removed(int, int, int, int, int[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, int, int, int, int[]</code>)</strike>&nbsp;in&nbsp;android.renderscript.AllocationAdapter
+</A></nobr><br>
+<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.subElementData_removed(int, int, android.renderscript.FieldPacker)" class="hiddenlink" target="rightframe"><strike>subElementData</strike>
+(<code>int, int, FieldPacker</code>)</A></nobr><br>
+<nobr><A HREF="android.os.Process.html#android.os.Process.supportsProcesses_changed()" class="hiddenlink" target="rightframe">supportsProcesses
+()</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.tagSocket_added(java.net.Socket)" class="hiddenlink" target="rightframe"><b>tagSocket</b>
+(<code>Socket</code>)</A></nobr><br>
+<nobr><A HREF="android.graphics.RectF.html#android.graphics.RectF.toShortString_added()" class="hiddenlink" target="rightframe"><b>toShortString</b>
+()</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U16_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U16_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U16_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U16_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U16_4_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U16_4</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U32_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U32_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U32_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U32_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U32_4_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U32_4</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U64_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U64_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U64_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U64_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U64_4_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U64_4</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U8_2_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U8_2</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.renderscript.Element.html#android.renderscript.Element.U8_3_added(android.renderscript.RenderScript)" class="hiddenlink" target="rightframe"><b>U8_3</b>
+(<code>RenderScript</code>)</A></nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.unfreeze_removed()" class="hiddenlink" target="rightframe"><strike>unfreeze</strike>
+()</A></nobr><br>
+<nobr><A HREF="android.app.Application.html#android.app.Application.unregisterActivityLifecycleCallbacks_added(android.app.Application.ActivityLifecycleCallbacks)" class="hiddenlink" target="rightframe"><b>unregisterActivityLifecycleCallbacks</b>
+(<code>ActivityLifecycleCallbacks</code>)</A></nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.unregisterComponentCallbacks_added(android.content.ComponentCallbacks)" class="hiddenlink" target="rightframe"><b>unregisterComponentCallbacks</b>
+(<code>ComponentCallbacks</code>)</A></nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.unregisterRemoteControlClient_added(android.media.RemoteControlClient)" class="hiddenlink" target="rightframe"><b>unregisterRemoteControlClient</b>
+(<code>RemoteControlClient</code>)</A></nobr><br>
+<nobr><A HREF="android.net.TrafficStats.html#android.net.TrafficStats.untagSocket_added(java.net.Socket)" class="hiddenlink" target="rightframe"><b>untagSocket</b>
+(<code>Socket</code>)</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>verifyPendingInstall</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.verifyPendingInstall_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</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.verifyPendingInstall_added(int, int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int, int</code>)</b>&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</A></nobr><br>
+<i>viewClicked</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.inputmethodservice.InputMethodService.InputMethodSessionImpl.html#android.inputmethodservice.InputMethodService.InputMethodSessionImpl.viewClicked_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.inputmethodservice.InputMethodService.InputMethodSessionImpl
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputMethodManager.html#android.view.inputmethod.InputMethodManager.viewClicked_added(android.view.View)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>View</code>)</b>&nbsp;in&nbsp;android.view.inputmethod.InputMethodManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.inputmethod.InputMethodSession.html#android.view.inputmethod.InputMethodSession.viewClicked_added(boolean)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>boolean</code>)</b>&nbsp;in&nbsp;android.view.inputmethod.InputMethodSession
+</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/14/changes/methods_index_changes.html b/docs/html/sdk/api_diff/14/changes/methods_index_changes.html
new file mode 100644
index 0000000..73a7207
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/methods_index_changes.html
@@ -0,0 +1,465 @@
+<!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="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<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="#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="#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.util.SparseArray.html#android.util.SparseArray.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.util.SparseArray
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.util.SparseBooleanArray.html#android.util.SparseBooleanArray.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.util.SparseBooleanArray
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.util.SparseIntArray.html#android.util.SparseIntArray.clone_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.util.SparseIntArray
+</A></nobr><br>
+<A NAME="D"></A>
+<br><font size="+2">D</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.nfc.NfcAdapter.html#android.nfc.NfcAdapter.disableForegroundNdefPush_changed(android.app.Activity)" class="hiddenlink" target="rightframe">disableForegroundNdefPush
+(<code>Activity</code>)</A></nobr><br>
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.nfc.NfcAdapter.html#android.nfc.NfcAdapter.enableForegroundNdefPush_changed(android.app.Activity, android.nfc.NdefMessage)" class="hiddenlink" target="rightframe">enableForegroundNdefPush
+(<code>Activity, NdefMessage</code>)</A></nobr><br>
+<nobr><A HREF="java.io.ObjectOutputStream.html#java.io.ObjectOutputStream.enableReplaceObject_changed(boolean)" class="hiddenlink" target="rightframe">enableReplaceObject
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="java.io.ObjectInputStream.html#java.io.ObjectInputStream.enableResolveObject_changed(boolean)" class="hiddenlink" target="rightframe">enableResolveObject
+(<code>boolean</code>)</A></nobr><br>
+<i>equals</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.io.FilePermission.html#java.io.FilePermission.equals_changed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Object</code>)&nbsp;in&nbsp;java.io.FilePermission
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.net.SocketPermission.html#java.net.SocketPermission.equals_changed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Object</code>)&nbsp;in&nbsp;java.net.SocketPermission
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.security.AllPermission.html#java.security.AllPermission.equals_changed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Object</code>)&nbsp;in&nbsp;java.security.AllPermission
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.security.BasicPermission.html#java.security.BasicPermission.equals_changed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Object</code>)&nbsp;in&nbsp;java.security.BasicPermission
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.security.Permission.html#java.security.Permission.equals_changed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Object</code>)&nbsp;in&nbsp;java.security.Permission
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.security.UnresolvedPermission.html#java.security.UnresolvedPermission.equals_changed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Object</code>)&nbsp;in&nbsp;java.security.UnresolvedPermission
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.security.auth.PrivateCredentialPermission.html#javax.security.auth.PrivateCredentialPermission.equals_changed(java.lang.Object)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>Object</code>)&nbsp;in&nbsp;javax.security.auth.PrivateCredentialPermission
+</A></nobr><br>
+<i>evaluate</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.FloatEvaluator.html#android.animation.FloatEvaluator.evaluate_changed(float, java.lang.Number, java.lang.Number)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>float, Number, Number</code>)&nbsp;in&nbsp;android.animation.FloatEvaluator
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.IntEvaluator.html#android.animation.IntEvaluator.evaluate_changed(float, java.lang.Integer, java.lang.Integer)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>float, Integer, Integer</code>)&nbsp;in&nbsp;android.animation.IntEvaluator
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.animation.TypeEvaluator.html#android.animation.TypeEvaluator.evaluate_changed(float, T, T)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>float, T, T</code>)&nbsp;in&nbsp;android.animation.TypeEvaluator
+</A></nobr><br>
+<A NAME="F"></A>
+<br><font size="+2">F</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="dalvik.system.PathClassLoader.html#dalvik.system.PathClassLoader.findLibrary_changed(java.lang.String)" class="hiddenlink" target="rightframe">findLibrary
+(<code>String</code>)</A></nobr><br>
+<A NAME="G"></A>
+<br><font size="+2">G</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.view.accessibility.AccessibilityManager.html#android.view.accessibility.AccessibilityManager.getAccessibilityServiceList_changed()" class="hiddenlink" target="rightframe">getAccessibilityServiceList
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getAddedCount_changed()" class="hiddenlink" target="rightframe">getAddedCount
+()</A></nobr><br>
+<nobr><A HREF="android.accounts.AccountManager.html#android.accounts.AccountManager.getAuthToken_changed(android.accounts.Account, java.lang.String, boolean, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler)" class="hiddenlink" target="rightframe">getAuthToken
+(<code>Account, String, boolean, AccountManagerCallback&lt;Bundle&gt;, Handler</code>)</A></nobr><br>
+<nobr><A HREF="android.net.ConnectivityManager.html#android.net.ConnectivityManager.getBackgroundDataSetting_changed()" class="hiddenlink" target="rightframe">getBackgroundDataSetting
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getBeforeText_changed()" class="hiddenlink" target="rightframe">getBeforeText
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getClassName_changed()" class="hiddenlink" target="rightframe">getClassName
+()</A></nobr><br>
+<nobr><A HREF="android.widget.FrameLayout.html#android.widget.FrameLayout.getConsiderGoneChildrenWhenMeasuring_changed()" class="hiddenlink" target="rightframe">getConsiderGoneChildrenWhenMeasuring
+()</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getConstructor_changed(java.lang.Class<?>...)" class="hiddenlink" target="rightframe">getConstructor
+(<code>Class&lt;?&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getConstructors_changed()" class="hiddenlink" target="rightframe">getConstructors
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getContentDescription_changed()" class="hiddenlink" target="rightframe">getContentDescription
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getCurrentItemIndex_changed()" class="hiddenlink" target="rightframe">getCurrentItemIndex
+()</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredClasses_changed()" class="hiddenlink" target="rightframe">getDeclaredClasses
+()</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredConstructor_changed(java.lang.Class<?>...)" class="hiddenlink" target="rightframe">getDeclaredConstructor
+(<code>Class&lt;?&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredConstructors_changed()" class="hiddenlink" target="rightframe">getDeclaredConstructors
+()</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredField_changed(java.lang.String)" class="hiddenlink" target="rightframe">getDeclaredField
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredFields_changed()" class="hiddenlink" target="rightframe">getDeclaredFields
+()</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredMethod_changed(java.lang.String, java.lang.Class<?>...)" class="hiddenlink" target="rightframe">getDeclaredMethod
+(<code>String, Class&lt;?&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getDeclaredMethods_changed()" class="hiddenlink" target="rightframe">getDeclaredMethods
+()</A></nobr><br>
+<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.getDisableDependentsState_changed()" class="hiddenlink" target="rightframe">getDisableDependentsState
+()</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getField_changed(java.lang.String)" class="hiddenlink" target="rightframe">getField
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getFields_changed()" class="hiddenlink" target="rightframe">getFields
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getFromIndex_changed()" class="hiddenlink" target="rightframe">getFromIndex
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getItemCount_changed()" class="hiddenlink" target="rightframe">getItemCount
+()</A></nobr><br>
+<nobr><A HREF="android.os.Looper.html#android.os.Looper.getMainLooper_changed()" class="hiddenlink" target="rightframe">getMainLooper
+()</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getMethod_changed(java.lang.String, java.lang.Class<?>...)" class="hiddenlink" target="rightframe">getMethod
+(<code>String, Class&lt;?&gt;</code>)</A></nobr><br>
+<nobr><A HREF="java.lang.Class.html#java.lang.Class.getMethods_changed()" class="hiddenlink" target="rightframe">getMethods
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getParcelableData_changed()" class="hiddenlink" target="rightframe">getParcelableData
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getRemovedCount_changed()" class="hiddenlink" target="rightframe">getRemovedCount
+()</A></nobr><br>
+<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.getSummaryOff_changed()" class="hiddenlink" target="rightframe">getSummaryOff
+()</A></nobr><br>
+<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.getSummaryOn_changed()" class="hiddenlink" target="rightframe">getSummaryOn
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.getText_changed()" class="hiddenlink" target="rightframe">getText
+()</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.getTextSize_changed()" class="hiddenlink" target="rightframe">getTextSize
+()</A></nobr><br>
+<A NAME="H"></A>
+<br><font size="+2">H</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>hashCode</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.io.FilePermission.html#java.io.FilePermission.hashCode_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.io.FilePermission
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.net.SocketPermission.html#java.net.SocketPermission.hashCode_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.net.SocketPermission
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.security.AllPermission.html#java.security.AllPermission.hashCode_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.security.AllPermission
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.security.BasicPermission.html#java.security.BasicPermission.hashCode_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.security.BasicPermission
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.security.Permission.html#java.security.Permission.hashCode_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.security.Permission
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.security.UnresolvedPermission.html#java.security.UnresolvedPermission.hashCode_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;java.security.UnresolvedPermission
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="javax.security.auth.PrivateCredentialPermission.html#javax.security.auth.PrivateCredentialPermission.hashCode_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;javax.security.auth.PrivateCredentialPermission
+</A></nobr><br>
+<A NAME="I"></A>
+<br><font size="+2">I</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>isChecked</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.isChecked_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.preference.CheckBoxPreference
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.isChecked_changed()" class="hiddenlink" target="rightframe">type&nbsp;
+()&nbsp;in&nbsp;android.view.accessibility.AccessibilityEvent
+</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.isEnabled_changed()" class="hiddenlink" target="rightframe">isEnabled
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.isFullScreen_changed()" class="hiddenlink" target="rightframe">isFullScreen
+()</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.isPassword_changed()" class="hiddenlink" target="rightframe">isPassword
+()</A></nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.isWiredHeadsetOn_changed()" class="hiddenlink" target="rightframe">isWiredHeadsetOn
+()</A></nobr><br>
+<A NAME="L"></A>
+<br><font size="+2">L</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.os.Looper.html#android.os.Looper.loop_changed()" class="hiddenlink" target="rightframe">loop
+()</A></nobr><br>
+<A NAME="M"></A>
+<br><font size="+2">M</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="#L"><font size="-2">L</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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.os.Looper.html#android.os.Looper.myLooper_changed()" class="hiddenlink" target="rightframe">myLooper
+()</A></nobr><br>
+<nobr><A HREF="android.os.Looper.html#android.os.Looper.myQueue_changed()" class="hiddenlink" target="rightframe">myQueue
+()</A></nobr><br>
+<A NAME="P"></A>
+<br><font size="+2">P</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="#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="#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.os.Looper.html#android.os.Looper.prepare_changed()" class="hiddenlink" target="rightframe">prepare
+()</A></nobr><br>
+<nobr><A HREF="android.os.Looper.html#android.os.Looper.prepareMainLooper_changed()" class="hiddenlink" target="rightframe">prepareMainLooper
+()</A></nobr><br>
+<A NAME="R"></A>
+<br><font size="+2">R</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="#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="#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.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.recycle_changed()" class="hiddenlink" target="rightframe">recycle
+()</A></nobr><br>
+<nobr><A HREF="java.lang.ref.ReferenceQueue.html#java.lang.ref.ReferenceQueue.remove_changed(long)" class="hiddenlink" target="rightframe">remove
+(<code>long</code>)</A></nobr><br>
+<A NAME="S"></A>
+<br><font size="+2">S</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>setAccessible</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AccessibleObject.html#java.lang.reflect.AccessibleObject.setAccessible_changed(java.lang.reflect.AccessibleObject[], boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>AccessibleObject[], boolean</code>)&nbsp;in&nbsp;java.lang.reflect.AccessibleObject
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.reflect.AccessibleObject.html#java.lang.reflect.AccessibleObject.setAccessible_changed(boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>boolean</code>)&nbsp;in&nbsp;java.lang.reflect.AccessibleObject
+</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setAddedCount_changed(int)" class="hiddenlink" target="rightframe">setAddedCount
+(<code>int</code>)</A></nobr><br>
+<i>setAuxiliaryOutputFile</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.setAuxiliaryOutputFile_changed(java.io.FileDescriptor)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>FileDescriptor</code>)&nbsp;in&nbsp;android.media.MediaRecorder
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.setAuxiliaryOutputFile_changed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String</code>)&nbsp;in&nbsp;android.media.MediaRecorder
+</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setBeforeText_changed(java.lang.CharSequence)" class="hiddenlink" target="rightframe">setBeforeText
+(<code>CharSequence</code>)</A></nobr><br>
+<i>setChecked</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.setChecked_changed(boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>boolean</code>)&nbsp;in&nbsp;android.preference.CheckBoxPreference
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setChecked_changed(boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>boolean</code>)&nbsp;in&nbsp;android.view.accessibility.AccessibilityEvent
+</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setClassName_changed(java.lang.CharSequence)" class="hiddenlink" target="rightframe">setClassName
+(<code>CharSequence</code>)</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setContentDescription_changed(java.lang.CharSequence)" class="hiddenlink" target="rightframe">setContentDescription
+(<code>CharSequence</code>)</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setCurrentItemIndex_changed(int)" class="hiddenlink" target="rightframe">setCurrentItemIndex
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.setDisableDependentsState_changed(boolean)" class="hiddenlink" target="rightframe">setDisableDependentsState
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setEnabled_changed(boolean)" class="hiddenlink" target="rightframe">setEnabled
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="java.util.logging.Handler.html#java.util.logging.Handler.setEncoding_changed(java.lang.String)" class="hiddenlink" target="rightframe">setEncoding
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.speech.tts.TextToSpeech.html#android.speech.tts.TextToSpeech.setEngineByPackageName_changed(java.lang.String)" class="hiddenlink" target="rightframe">setEngineByPackageName
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setFromIndex_changed(int)" class="hiddenlink" target="rightframe">setFromIndex
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setFullScreen_changed(boolean)" class="hiddenlink" target="rightframe">setFullScreen
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setItemCount_changed(int)" class="hiddenlink" target="rightframe">setItemCount
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setParcelableData_changed(android.os.Parcelable)" class="hiddenlink" target="rightframe">setParcelableData
+(<code>Parcelable</code>)</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setPassword_changed(boolean)" class="hiddenlink" target="rightframe">setPassword
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.RemoteViews.html#android.widget.RemoteViews.setRemoteAdapter_changed(int, int, android.content.Intent)" class="hiddenlink" target="rightframe">setRemoteAdapter
+(<code>int, int, Intent</code>)</A></nobr><br>
+<nobr><A HREF="android.view.accessibility.AccessibilityEvent.html#android.view.accessibility.AccessibilityEvent.setRemovedCount_changed(int)" class="hiddenlink" target="rightframe">setRemovedCount
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.webkit.WebSettings.html#android.webkit.WebSettings.setTextSize_changed(android.webkit.WebSettings.TextSize)" class="hiddenlink" target="rightframe">setTextSize
+(<code>TextSize</code>)</A></nobr><br>
+<nobr><A HREF="android.os.Process.html#android.os.Process.supportsProcesses_changed()" class="hiddenlink" target="rightframe">supportsProcesses
+()</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/14/changes/methods_index_removals.html b/docs/html/sdk/api_diff/14/changes/methods_index_removals.html
new file mode 100644
index 0000000..1faf343
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/methods_index_removals.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>
+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="F"></A>
+<br><font size="+2">F</font>&nbsp;
+<a href="#H"><font size="-2">H</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="#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">
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.freeze_removed()" class="hiddenlink" target="rightframe"><strike>freeze</strike>
+()</A></nobr><br>
+<A NAME="H"></A>
+<br><font size="+2">H</font>&nbsp;
+<a href="#F"><font size="-2">F</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="#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">
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.hide_removed()" class="hiddenlink" target="rightframe"><strike>hide</strike>
+()</A></nobr><br>
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</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="#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.obtain_removed(long, long, int, int, int[], android.view.MotionEvent.PointerCoords[], int, float, float, int, int, int, int)" class="hiddenlink" target="rightframe"><strike>obtain</strike>
+(<code>long, long, int, int, int[], PointerCoords[], int, float, float, int, int, int, int</code>)</A></nobr><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#S"><font size="-2">S</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>readData</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.readData_removed(float[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>float[]</code>)</strike>&nbsp;in&nbsp;android.renderscript.AllocationAdapter
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.readData_removed(int[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int[]</code>)</strike>&nbsp;in&nbsp;android.renderscript.AllocationAdapter
+</A></nobr><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</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">
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setAlpha_removed(float)" class="hiddenlink" target="rightframe"><strike>setAlpha</strike>
+(<code>float</code>)</A></nobr><br>
+<nobr><A HREF="android.media.MediaPlayer.html#android.media.MediaPlayer.setDataSource_removed(java.lang.String)" class="hiddenlink" target="rightframe"><strike>setDataSource</strike>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setFlags_removed(int, int)" class="hiddenlink" target="rightframe"><strike>setFlags</strike>
+(<code>int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setFreezeTint_removed(int)" class="hiddenlink" target="rightframe"><strike>setFreezeTint</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setLayer_removed(int)" class="hiddenlink" target="rightframe"><strike>setLayer</strike>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setMatrix_removed(float, float, float, float)" class="hiddenlink" target="rightframe"><strike>setMatrix</strike>
+(<code>float, float, float, float</code>)</A></nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setOrientation_removed(int, int)" class="hiddenlink" target="rightframe"><strike>setOrientation</strike>
+(<code>int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setPosition_removed(int, int)" class="hiddenlink" target="rightframe"><strike>setPosition</strike>
+(<code>int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setSize_removed(int, int)" class="hiddenlink" target="rightframe"><strike>setSize</strike>
+(<code>int, int</code>)</A></nobr><br>
+<i>setSummaryOff</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.setSummaryOff_removed(int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int</code>)</strike>&nbsp;in&nbsp;android.preference.CheckBoxPreference
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.setSummaryOff_removed(java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>CharSequence</code>)</strike>&nbsp;in&nbsp;android.preference.CheckBoxPreference
+</A></nobr><br>
+<i>setSummaryOn</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.setSummaryOn_removed(int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int</code>)</strike>&nbsp;in&nbsp;android.preference.CheckBoxPreference
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.preference.CheckBoxPreference.html#android.preference.CheckBoxPreference.setSummaryOn_removed(java.lang.CharSequence)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>CharSequence</code>)</strike>&nbsp;in&nbsp;android.preference.CheckBoxPreference
+</A></nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.setTransparentRegionHint_removed(android.graphics.Region)" class="hiddenlink" target="rightframe"><strike>setTransparentRegionHint</strike>
+(<code>Region</code>)</A></nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.show_removed()" class="hiddenlink" target="rightframe"><strike>show</strike>
+()</A></nobr><br>
+<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.subData_removed(int, android.renderscript.FieldPacker)" class="hiddenlink" target="rightframe"><strike>subData</strike>
+(<code>int, FieldPacker</code>)</A></nobr><br>
+<i>subData1D</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.subData1D_removed(int, int, byte[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, int, byte[]</code>)</strike>&nbsp;in&nbsp;android.renderscript.AllocationAdapter
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.subData1D_removed(int, int, float[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, int, float[]</code>)</strike>&nbsp;in&nbsp;android.renderscript.AllocationAdapter
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.subData1D_removed(int, int, int[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, int, int[]</code>)</strike>&nbsp;in&nbsp;android.renderscript.AllocationAdapter
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.subData1D_removed(int, int, short[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, int, short[]</code>)</strike>&nbsp;in&nbsp;android.renderscript.AllocationAdapter
+</A></nobr><br>
+<i>subData2D</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.subData2D_removed(int, int, int, int, float[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, int, int, int, float[]</code>)</strike>&nbsp;in&nbsp;android.renderscript.AllocationAdapter
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.subData2D_removed(int, int, int, int, int[])" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>int, int, int, int, int[]</code>)</strike>&nbsp;in&nbsp;android.renderscript.AllocationAdapter
+</A></nobr><br>
+<nobr><A HREF="android.renderscript.AllocationAdapter.html#android.renderscript.AllocationAdapter.subElementData_removed(int, int, android.renderscript.FieldPacker)" class="hiddenlink" target="rightframe"><strike>subElementData</strike>
+(<code>int, int, FieldPacker</code>)</A></nobr><br>
+<A NAME="U"></A>
+<br><font size="+2">U</font>&nbsp;
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#H"><font size="-2">H</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.view.Surface.html#android.view.Surface.unfreeze_removed()" class="hiddenlink" target="rightframe"><strike>unfreeze</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/14/changes/packages_index_additions.html b/docs/html/sdk/api_diff/14/changes/packages_index_additions.html
new file mode 100644
index 0000000..04ac28c
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/packages_index_additions.html
@@ -0,0 +1,69 @@
+<!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.media.effect" class="hiddenlink" target="rightframe"><b>android.media.effect</b></A><br>
+<A HREF="changes-summary.html#android.net.wifi.p2p" class="hiddenlink" target="rightframe"><b>android.net.wifi.p2p</b></A><br>
+<A HREF="changes-summary.html#android.security" class="hiddenlink" target="rightframe"><b>android.security</b></A><br>
+<A HREF="changes-summary.html#android.service.textservice" class="hiddenlink" target="rightframe"><b>android.service.textservice</b></A><br>
+<A HREF="changes-summary.html#android.view.textservice" class="hiddenlink" target="rightframe"><b>android.view.textservice</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/14/changes/packages_index_all.html b/docs/html/sdk/api_diff/14/changes/packages_index_all.html
new file mode 100644
index 0000000..8aa185d
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/packages_index_all.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>
+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.accessibilityservice.html" class="hiddenlink" target="rightframe">android.accessibilityservice</A><br>
+<A HREF="pkg_android.accounts.html" class="hiddenlink" target="rightframe">android.accounts</A><br>
+<A HREF="pkg_android.animation.html" class="hiddenlink" target="rightframe">android.animation</A><br>
+<A HREF="pkg_android.app.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<A HREF="pkg_android.app.admin.html" class="hiddenlink" target="rightframe">android.app.admin</A><br>
+<A HREF="pkg_android.app.backup.html" class="hiddenlink" target="rightframe">android.app.backup</A><br>
+<A HREF="pkg_android.appwidget.html" class="hiddenlink" target="rightframe">android.appwidget</A><br>
+<A HREF="pkg_android.bluetooth.html" class="hiddenlink" target="rightframe">android.bluetooth</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.database.sqlite.html" class="hiddenlink" target="rightframe">android.database.sqlite</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.inputmethodservice.html" class="hiddenlink" target="rightframe">android.inputmethodservice</A><br>
+<A HREF="pkg_android.media.html" class="hiddenlink" target="rightframe">android.media</A><br>
+<A HREF="changes-summary.html#android.media.effect" class="hiddenlink" target="rightframe"><b>android.media.effect</b></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.net.wifi.html" class="hiddenlink" target="rightframe">android.net.wifi</A><br>
+<A HREF="changes-summary.html#android.net.wifi.p2p" class="hiddenlink" target="rightframe"><b>android.net.wifi.p2p</b></A><br>
+<A HREF="pkg_android.nfc.html" class="hiddenlink" target="rightframe">android.nfc</A><br>
+<A HREF="pkg_android.nfc.tech.html" class="hiddenlink" target="rightframe">android.nfc.tech</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.preference.html" class="hiddenlink" target="rightframe">android.preference</A><br>
+<A HREF="pkg_android.provider.html" class="hiddenlink" target="rightframe">android.provider</A><br>
+<A HREF="pkg_android.renderscript.html" class="hiddenlink" target="rightframe">android.renderscript</A><br>
+<A HREF="changes-summary.html#android.security" class="hiddenlink" target="rightframe"><b>android.security</b></A><br>
+<A HREF="changes-summary.html#android.service.textservice" class="hiddenlink" target="rightframe"><b>android.service.textservice</b></A><br>
+<A HREF="pkg_android.service.wallpaper.html" class="hiddenlink" target="rightframe">android.service.wallpaper</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.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.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.accessibility.html" class="hiddenlink" target="rightframe">android.view.accessibility</A><br>
+<A HREF="pkg_android.view.inputmethod.html" class="hiddenlink" target="rightframe">android.view.inputmethod</A><br>
+<A HREF="changes-summary.html#android.view.textservice" class="hiddenlink" target="rightframe"><b>android.view.textservice</b></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.annotation.html" class="hiddenlink" target="rightframe">dalvik.annotation</A><br>
+<A HREF="pkg_dalvik.system.html" class="hiddenlink" target="rightframe">dalvik.system</A><br>
+<A NAME="J"></A>
+<A HREF="pkg_java.io.html" class="hiddenlink" target="rightframe">java.io</A><br>
+<A HREF="pkg_java.lang.html" class="hiddenlink" target="rightframe">java.lang</A><br>
+<A HREF="pkg_java.lang.ref.html" class="hiddenlink" target="rightframe">java.lang.ref</A><br>
+<A HREF="pkg_java.lang.reflect.html" class="hiddenlink" target="rightframe">java.lang.reflect</A><br>
+<A HREF="pkg_java.net.html" class="hiddenlink" target="rightframe">java.net</A><br>
+<A HREF="pkg_java.security.html" class="hiddenlink" target="rightframe">java.security</A><br>
+<A HREF="pkg_java.util.logging.html" class="hiddenlink" target="rightframe">java.util.logging</A><br>
+<A HREF="pkg_javax.security.auth.html" class="hiddenlink" target="rightframe">javax.security.auth</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/14/changes/packages_index_changes.html b/docs/html/sdk/api_diff/14/changes/packages_index_changes.html
new file mode 100644
index 0000000..f0e838c
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/packages_index_changes.html
@@ -0,0 +1,114 @@
+<!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.accessibilityservice.html" class="hiddenlink" target="rightframe">android.accessibilityservice</A><br>
+<A HREF="pkg_android.accounts.html" class="hiddenlink" target="rightframe">android.accounts</A><br>
+<A HREF="pkg_android.animation.html" class="hiddenlink" target="rightframe">android.animation</A><br>
+<A HREF="pkg_android.app.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<A HREF="pkg_android.app.admin.html" class="hiddenlink" target="rightframe">android.app.admin</A><br>
+<A HREF="pkg_android.app.backup.html" class="hiddenlink" target="rightframe">android.app.backup</A><br>
+<A HREF="pkg_android.appwidget.html" class="hiddenlink" target="rightframe">android.appwidget</A><br>
+<A HREF="pkg_android.bluetooth.html" class="hiddenlink" target="rightframe">android.bluetooth</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.database.sqlite.html" class="hiddenlink" target="rightframe">android.database.sqlite</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.inputmethodservice.html" class="hiddenlink" target="rightframe">android.inputmethodservice</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.net.wifi.html" class="hiddenlink" target="rightframe">android.net.wifi</A><br>
+<A HREF="pkg_android.nfc.html" class="hiddenlink" target="rightframe">android.nfc</A><br>
+<A HREF="pkg_android.nfc.tech.html" class="hiddenlink" target="rightframe">android.nfc.tech</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.preference.html" class="hiddenlink" target="rightframe">android.preference</A><br>
+<A HREF="pkg_android.provider.html" class="hiddenlink" target="rightframe">android.provider</A><br>
+<A HREF="pkg_android.renderscript.html" class="hiddenlink" target="rightframe">android.renderscript</A><br>
+<A HREF="pkg_android.service.wallpaper.html" class="hiddenlink" target="rightframe">android.service.wallpaper</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.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.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.accessibility.html" class="hiddenlink" target="rightframe">android.view.accessibility</A><br>
+<A HREF="pkg_android.view.inputmethod.html" class="hiddenlink" target="rightframe">android.view.inputmethod</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.annotation.html" class="hiddenlink" target="rightframe">dalvik.annotation</A><br>
+<A HREF="pkg_dalvik.system.html" class="hiddenlink" target="rightframe">dalvik.system</A><br>
+<A NAME="J"></A>
+<A HREF="pkg_java.io.html" class="hiddenlink" target="rightframe">java.io</A><br>
+<A HREF="pkg_java.lang.html" class="hiddenlink" target="rightframe">java.lang</A><br>
+<A HREF="pkg_java.lang.ref.html" class="hiddenlink" target="rightframe">java.lang.ref</A><br>
+<A HREF="pkg_java.lang.reflect.html" class="hiddenlink" target="rightframe">java.lang.reflect</A><br>
+<A HREF="pkg_java.net.html" class="hiddenlink" target="rightframe">java.net</A><br>
+<A HREF="pkg_java.security.html" class="hiddenlink" target="rightframe">java.security</A><br>
+<A HREF="pkg_java.util.logging.html" class="hiddenlink" target="rightframe">java.util.logging</A><br>
+<A HREF="pkg_javax.security.auth.html" class="hiddenlink" target="rightframe">javax.security.auth</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/14/changes/packages_index_removals.html b/docs/html/sdk/api_diff/14/changes/packages_index_removals.html
new file mode 100644
index 0000000..d0ffabc
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/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/14/changes/pkg_android.accessibilityservice.html b/docs/html/sdk/api_diff/14/changes/pkg_android.accessibilityservice.html
new file mode 100644
index 0000000..30f61f3
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_android.accessibilityservice.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.accessibilityservice
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/accessibilityservice/package-summary.html" target="_top"><font size="+1"><code>android.accessibilityservice</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="AccessibilityService"></A>
+  <nobr><A HREF="android.accessibilityservice.AccessibilityService.html">AccessibilityService</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AccessibilityServiceInfo"></A>
+  <nobr><A HREF="android.accessibilityservice.AccessibilityServiceInfo.html">AccessibilityServiceInfo</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/14/changes/pkg_android.accounts.html b/docs/html/sdk/api_diff/14/changes/pkg_android.accounts.html
new file mode 100644
index 0000000..d424a2c
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/14/changes/pkg_android.animation.html b/docs/html/sdk/api_diff/14/changes/pkg_android.animation.html
new file mode 100644
index 0000000..0e095e9
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_android.animation.html
@@ -0,0 +1,161 @@
+<!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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/animation/package-summary.html" target="_top"><font size="+1"><code>android.animation</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="Animator"></A>
+  <nobr><A HREF="android.animation.Animator.html">Animator</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="FloatEvaluator"></A>
+  <nobr><A HREF="android.animation.FloatEvaluator.html">FloatEvaluator</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="IntEvaluator"></A>
+  <nobr><A HREF="android.animation.IntEvaluator.html">IntEvaluator</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LayoutTransition"></A>
+  <nobr><A HREF="android.animation.LayoutTransition.html">LayoutTransition</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ObjectAnimator"></A>
+  <nobr><A HREF="android.animation.ObjectAnimator.html">ObjectAnimator</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PropertyValuesHolder"></A>
+  <nobr><A HREF="android.animation.PropertyValuesHolder.html">PropertyValuesHolder</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TypeEvaluator"></A>
+  <nobr><A HREF="android.animation.TypeEvaluator.html"><I>TypeEvaluator</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/14/changes/pkg_android.app.admin.html b/docs/html/sdk/api_diff/14/changes/pkg_android.app.admin.html
new file mode 100644
index 0000000..2923068
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_android.app.admin.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.app.admin
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/admin/package-summary.html" target="_top"><font size="+1"><code>android.app.admin</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="DeviceAdminInfo"></A>
+  <nobr><A HREF="android.app.admin.DeviceAdminInfo.html">DeviceAdminInfo</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="DevicePolicyManager"></A>
+  <nobr><A HREF="android.app.admin.DevicePolicyManager.html">DevicePolicyManager</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/14/changes/pkg_android.app.backup.html b/docs/html/sdk/api_diff/14/changes/pkg_android.app.backup.html
new file mode 100644
index 0000000..731eb34
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_android.app.backup.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>
+android.app.backup
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/backup/package-summary.html" target="_top"><font size="+1"><code>android.app.backup</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="FullBackupDataOutput"></A>
+  <nobr><A HREF="../../../../reference/android/app/backup/FullBackupDataOutput.html" target="_top"><code>FullBackupDataOutput</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="BackupAgent"></A>
+  <nobr><A HREF="android.app.backup.BackupAgent.html">BackupAgent</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/14/changes/pkg_android.app.html b/docs/html/sdk/api_diff/14/changes/pkg_android.app.html
new file mode 100644
index 0000000..4713e89
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_android.app.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>
+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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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 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="Application.ActivityLifecycleCallbacks"></A>
+  <nobr><A HREF="../../../../reference/android/app/Application.ActivityLifecycleCallbacks.html" target="_top"><code><I>Application.ActivityLifecycleCallbacks</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ApplicationErrorReport"></A>
+  <nobr><A HREF="../../../../reference/android/app/ApplicationErrorReport.html" target="_top"><code>ApplicationErrorReport</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ApplicationErrorReport.AnrInfo"></A>
+  <nobr><A HREF="../../../../reference/android/app/ApplicationErrorReport.AnrInfo.html" target="_top"><code>ApplicationErrorReport.<br>AnrInfo</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ApplicationErrorReport.BatteryInfo"></A>
+  <nobr><A HREF="../../../../reference/android/app/ApplicationErrorReport.BatteryInfo.html" target="_top"><code>ApplicationErrorReport.<br>BatteryInfo</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ApplicationErrorReport.CrashInfo"></A>
+  <nobr><A HREF="../../../../reference/android/app/ApplicationErrorReport.CrashInfo.html" target="_top"><code>ApplicationErrorReport.<br>CrashInfo</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ApplicationErrorReport.RunningServiceInfo"></A>
+  <nobr><A HREF="../../../../reference/android/app/ApplicationErrorReport.RunningServiceInfo.html" target="_top"><code>ApplicationErrorReport.<br>RunningServiceInfo</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="ActionBar"></A>
+  <nobr><A HREF="android.app.ActionBar.html">ActionBar</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ActionBar.Tab"></A>
+  <nobr><A HREF="android.app.ActionBar.Tab.html">ActionBar.Tab</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<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="AlertDialog"></A>
+  <nobr><A HREF="android.app.AlertDialog.html">AlertDialog</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Application"></A>
+  <nobr><A HREF="android.app.Application.html">Application</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Fragment"></A>
+  <nobr><A HREF="android.app.Fragment.html">Fragment</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="FragmentManager"></A>
+  <nobr><A HREF="android.app.FragmentManager.html">FragmentManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="FragmentManager.BackStackEntry"></A>
+  <nobr><A HREF="android.app.FragmentManager.BackStackEntry.html"><I>FragmentManager.BackStackEntry</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Notification.Builder"></A>
+  <nobr><A HREF="android.app.Notification.Builder.html">Notification.Builder</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PendingIntent"></A>
+  <nobr><A HREF="android.app.PendingIntent.html">PendingIntent</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>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Service"></A>
+  <nobr><A HREF="android.app.Service.html">Service</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="WallpaperManager"></A>
+  <nobr><A HREF="android.app.WallpaperManager.html">WallpaperManager</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/14/changes/pkg_android.appwidget.html b/docs/html/sdk/api_diff/14/changes/pkg_android.appwidget.html
new file mode 100644
index 0000000..c25b084
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_android.appwidget.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.appwidget
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/appwidget/package-summary.html" target="_top"><font size="+1"><code>android.appwidget</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="AppWidgetProviderInfo"></A>
+  <nobr><A HREF="android.appwidget.AppWidgetProviderInfo.html">AppWidgetProviderInfo</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/14/changes/pkg_android.bluetooth.html b/docs/html/sdk/api_diff/14/changes/pkg_android.bluetooth.html
new file mode 100644
index 0000000..3f4a707
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_android.bluetooth.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.bluetooth
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/bluetooth/package-summary.html" target="_top"><font size="+1"><code>android.bluetooth</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="BluetoothHealth"></A>
+  <nobr><A HREF="../../../../reference/android/bluetooth/BluetoothHealth.html" target="_top"><code>BluetoothHealth</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BluetoothHealthAppConfiguration"></A>
+  <nobr><A HREF="../../../../reference/android/bluetooth/BluetoothHealthAppConfiguration.html" target="_top"><code>BluetoothHealthAppConfiguration</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BluetoothHealthCallback"></A>
+  <nobr><A HREF="../../../../reference/android/bluetooth/BluetoothHealthCallback.html" target="_top"><code>BluetoothHealthCallback</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="BluetoothAdapter"></A>
+  <nobr><A HREF="android.bluetooth.BluetoothAdapter.html">BluetoothAdapter</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BluetoothProfile"></A>
+  <nobr><A HREF="android.bluetooth.BluetoothProfile.html"><I>BluetoothProfile</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BluetoothSocket"></A>
+  <nobr><A HREF="android.bluetooth.BluetoothSocket.html">BluetoothSocket</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/14/changes/pkg_android.content.html b/docs/html/sdk/api_diff/14/changes/pkg_android.content.html
new file mode 100644
index 0000000..54804d3
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_android.content.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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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 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="ComponentCallbacks2"></A>
+  <nobr><A HREF="../../../../reference/android/content/ComponentCallbacks2.html" target="_top"><code><I>ComponentCallbacks2</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="ContentProvider"></A>
+  <nobr><A HREF="android.content.ContentProvider.html">ContentProvider</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="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="IntentSender"></A>
+  <nobr><A HREF="android.content.IntentSender.html">IntentSender</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SyncAdapterType"></A>
+  <nobr><A HREF="android.content.SyncAdapterType.html">SyncAdapterType</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/14/changes/pkg_android.content.pm.html b/docs/html/sdk/api_diff/14/changes/pkg_android.content.pm.html
new file mode 100644
index 0000000..2f04eab
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_android.content.pm.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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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="PackageManager"></A>
+  <nobr><A HREF="android.content.pm.PackageManager.html">PackageManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PackageStats"></A>
+  <nobr><A HREF="android.content.pm.PackageStats.html">PackageStats</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ServiceInfo"></A>
+  <nobr><A HREF="android.content.pm.ServiceInfo.html">ServiceInfo</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/14/changes/pkg_android.database.sqlite.html b/docs/html/sdk/api_diff/14/changes/pkg_android.database.sqlite.html
new file mode 100644
index 0000000..3b28f3b
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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="SQLiteOpenHelper"></A>
+  <nobr><A HREF="android.database.sqlite.SQLiteOpenHelper.html">SQLiteOpenHelper</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SQLiteQueryBuilder"></A>
+  <nobr><A HREF="android.database.sqlite.SQLiteQueryBuilder.html">SQLiteQueryBuilder</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/14/changes/pkg_android.graphics.html b/docs/html/sdk/api_diff/14/changes/pkg_android.graphics.html
new file mode 100644
index 0000000..10b7d8f
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_android.graphics.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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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="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="Canvas"></A>
+  <nobr><A HREF="android.graphics.Canvas.html">Canvas</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Paint"></A>
+  <nobr><A HREF="android.graphics.Paint.html">Paint</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RectF"></A>
+  <nobr><A HREF="android.graphics.RectF.html">RectF</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SurfaceTexture"></A>
+  <nobr><A HREF="android.graphics.SurfaceTexture.html">SurfaceTexture</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/14/changes/pkg_android.hardware.html b/docs/html/sdk/api_diff/14/changes/pkg_android.hardware.html
new file mode 100644
index 0000000..93bd316
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_android.hardware.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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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 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="Camera.Area"></A>
+  <nobr><A HREF="../../../../reference/android/hardware/Camera.Area.html" target="_top"><code>Camera.Area</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Camera.Face"></A>
+  <nobr><A HREF="../../../../reference/android/hardware/Camera.Face.html" target="_top"><code>Camera.Face</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Camera.FaceDetectionListener"></A>
+  <nobr><A HREF="../../../../reference/android/hardware/Camera.FaceDetectionListener.html" target="_top"><code><I>Camera.FaceDetectionListener</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/14/changes/pkg_android.html b/docs/html/sdk/api_diff/14/changes/pkg_android.html
new file mode 100644
index 0000000..818391c
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_android.html
@@ -0,0 +1,154 @@
+<!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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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.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.color"></A>
+  <nobr><A HREF="android.R.color.html">R.color</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="R.integer"></A>
+  <nobr><A HREF="android.R.integer.html">R.integer</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="R.string"></A>
+  <nobr><A HREF="android.R.string.html">R.string</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="R.style"></A>
+  <nobr><A HREF="android.R.style.html">R.style</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/14/changes/pkg_android.inputmethodservice.html b/docs/html/sdk/api_diff/14/changes/pkg_android.inputmethodservice.html
new file mode 100644
index 0000000..18503bf
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_android.inputmethodservice.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.inputmethodservice
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/inputmethodservice/package-summary.html" target="_top"><font size="+1"><code>android.inputmethodservice</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="InputMethodService"></A>
+  <nobr><A HREF="android.inputmethodservice.InputMethodService.html">InputMethodService</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="InputMethodService.InputMethodSessionImpl"></A>
+  <nobr><A HREF="android.inputmethodservice.InputMethodService.InputMethodSessionImpl.html">InputMethodService.InputMethodSessionImpl</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/14/changes/pkg_android.media.html b/docs/html/sdk/api_diff/14/changes/pkg_android.media.html
new file mode 100644
index 0000000..d92e8b4
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_android.media.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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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" 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="RemoteControlClient"></A>
+  <nobr><A HREF="../../../../reference/android/media/RemoteControlClient.html" target="_top"><code>RemoteControlClient</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RemoteControlClient.MetadataEditor"></A>
+  <nobr><A HREF="../../../../reference/android/media/RemoteControlClient.MetadataEditor.html" target="_top"><code>RemoteControlClient.MetadataEditor</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="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="MediaMetadataRetriever"></A>
+  <nobr><A HREF="android.media.MediaMetadataRetriever.html">MediaMetadataRetriever</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MediaPlayer"></A>
+  <nobr><A HREF="android.media.MediaPlayer.html">MediaPlayer</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>
+</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/14/changes/pkg_android.net.html b/docs/html/sdk/api_diff/14/changes/pkg_android.net.html
new file mode 100644
index 0000000..9ffb210
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_android.net.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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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="NetworkQuotaInfo"></A>
+  <nobr><A HREF="../../../../reference/android/net/NetworkQuotaInfo.html" target="_top"><code>NetworkQuotaInfo</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="VpnService"></A>
+  <nobr><A HREF="../../../../reference/android/net/VpnService.html" target="_top"><code>VpnService</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="VpnService.Builder"></A>
+  <nobr><A HREF="../../../../reference/android/net/VpnService.Builder.html" target="_top"><code>VpnService.Builder</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>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TrafficStats"></A>
+  <nobr><A HREF="android.net.TrafficStats.html">TrafficStats</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/14/changes/pkg_android.net.http.html b/docs/html/sdk/api_diff/14/changes/pkg_android.net.http.html
new file mode 100644
index 0000000..43c77e3
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_android.net.http.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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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="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="SslError"></A>
+  <nobr><A HREF="android.net.http.SslError.html">SslError</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/14/changes/pkg_android.net.wifi.html b/docs/html/sdk/api_diff/14/changes/pkg_android.net.wifi.html
new file mode 100644
index 0000000..5dcc18b
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_android.net.wifi.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>
+android.net.wifi
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/wifi/package-summary.html" target="_top"><font size="+1"><code>android.net.wifi</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="WpsInfo"></A>
+  <nobr><A HREF="../../../../reference/android/net/wifi/WpsInfo.html" target="_top"><code>WpsInfo</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="WifiManager"></A>
+  <nobr><A HREF="android.net.wifi.WifiManager.html">WifiManager</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/14/changes/pkg_android.nfc.html b/docs/html/sdk/api_diff/14/changes/pkg_android.nfc.html
new file mode 100644
index 0000000..edeb544
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_android.nfc.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.nfc
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/nfc/package-summary.html" target="_top"><font size="+1"><code>android.nfc</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="NfcAdapter.CreateNdefMessageCallback"></A>
+  <nobr><A HREF="../../../../reference/android/nfc/NfcAdapter.CreateNdefMessageCallback.html" target="_top"><code><I>NfcAdapter.CreateNdefMessageCallback</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NfcAdapter.OnNdefPushCompleteCallback"></A>
+  <nobr><A HREF="../../../../reference/android/nfc/NfcAdapter.OnNdefPushCompleteCallback.html" target="_top"><code><I>NfcAdapter.OnNdefPushCompleteCallback</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NfcEvent"></A>
+  <nobr><A HREF="../../../../reference/android/nfc/NfcEvent.html" target="_top"><code>NfcEvent</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="NdefRecord"></A>
+  <nobr><A HREF="android.nfc.NdefRecord.html">NdefRecord</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NfcAdapter"></A>
+  <nobr><A HREF="android.nfc.NfcAdapter.html">NfcAdapter</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/14/changes/pkg_android.nfc.tech.html b/docs/html/sdk/api_diff/14/changes/pkg_android.nfc.tech.html
new file mode 100644
index 0000000..f23ff0a
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_android.nfc.tech.html
@@ -0,0 +1,161 @@
+<!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.nfc.tech
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/nfc/tech/package-summary.html" target="_top"><font size="+1"><code>android.nfc.tech</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="IsoDep"></A>
+  <nobr><A HREF="android.nfc.tech.IsoDep.html">IsoDep</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MifareClassic"></A>
+  <nobr><A HREF="android.nfc.tech.MifareClassic.html">MifareClassic</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MifareUltralight"></A>
+  <nobr><A HREF="android.nfc.tech.MifareUltralight.html">MifareUltralight</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NfcA"></A>
+  <nobr><A HREF="android.nfc.tech.NfcA.html">NfcA</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NfcB"></A>
+  <nobr><A HREF="android.nfc.tech.NfcB.html">NfcB</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NfcF"></A>
+  <nobr><A HREF="android.nfc.tech.NfcF.html">NfcF</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NfcV"></A>
+  <nobr><A HREF="android.nfc.tech.NfcV.html">NfcV</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/14/changes/pkg_android.opengl.html b/docs/html/sdk/api_diff/14/changes/pkg_android.opengl.html
new file mode 100644
index 0000000..eb5a078
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_android.opengl.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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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="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="GLUtils"></A>
+  <nobr><A HREF="android.opengl.GLUtils.html">GLUtils</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/14/changes/pkg_android.os.html b/docs/html/sdk/api_diff/14/changes/pkg_android.os.html
new file mode 100644
index 0000000..527abea
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_android.os.html
@@ -0,0 +1,175 @@
+<!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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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="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="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="Debug.MemoryInfo"></A>
+  <nobr><A HREF="android.os.Debug.MemoryInfo.html">Debug.MemoryInfo</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Handler"></A>
+  <nobr><A HREF="android.os.Handler.html">Handler</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Looper"></A>
+  <nobr><A HREF="android.os.Looper.html">Looper</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ParcelFileDescriptor"></A>
+  <nobr><A HREF="android.os.ParcelFileDescriptor.html">ParcelFileDescriptor</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Process"></A>
+  <nobr><A HREF="android.os.Process.html">Process</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RecoverySystem"></A>
+  <nobr><A HREF="android.os.RecoverySystem.html">RecoverySystem</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/14/changes/pkg_android.preference.html b/docs/html/sdk/api_diff/14/changes/pkg_android.preference.html
new file mode 100644
index 0000000..1a513f0
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_android.preference.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.preference
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/preference/package-summary.html" target="_top"><font size="+1"><code>android.preference</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="SwitchPreference"></A>
+  <nobr><A HREF="../../../../reference/android/preference/SwitchPreference.html" target="_top"><code>SwitchPreference</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TwoStatePreference"></A>
+  <nobr><A HREF="../../../../reference/android/preference/TwoStatePreference.html" target="_top"><code>TwoStatePreference</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="CheckBoxPreference"></A>
+  <nobr><A HREF="android.preference.CheckBoxPreference.html">CheckBoxPreference</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Preference"></A>
+  <nobr><A HREF="android.preference.Preference.html">Preference</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PreferenceActivity"></A>
+  <nobr><A HREF="android.preference.PreferenceActivity.html">PreferenceActivity</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/14/changes/pkg_android.provider.html b/docs/html/sdk/api_diff/14/changes/pkg_android.provider.html
new file mode 100644
index 0000000..02522f1
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_android.provider.html
@@ -0,0 +1,463 @@
+<!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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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="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="CalendarContract"></A>
+  <nobr><A HREF="../../../../reference/android/provider/CalendarContract.html" target="_top"><code>CalendarContract</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CalendarContract.Attendees"></A>
+  <nobr><A HREF="../../../../reference/android/provider/CalendarContract.Attendees.html" target="_top"><code>CalendarContract.Attendees</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CalendarContract.AttendeesColumns"></A>
+  <nobr><A HREF="../../../../reference/android/provider/CalendarContract.AttendeesColumns.html" target="_top"><code><I>CalendarContract.AttendeesColumns</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CalendarContract.CalendarAlerts"></A>
+  <nobr><A HREF="../../../../reference/android/provider/CalendarContract.CalendarAlerts.html" target="_top"><code>CalendarContract.CalendarAlerts</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CalendarContract.CalendarAlertsColumns"></A>
+  <nobr><A HREF="../../../../reference/android/provider/CalendarContract.CalendarAlertsColumns.html" target="_top"><code><I>CalendarContract.CalendarAlertsColumns</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CalendarContract.CalendarCache"></A>
+  <nobr><A HREF="../../../../reference/android/provider/CalendarContract.CalendarCache.html" target="_top"><code>CalendarContract.CalendarCache</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CalendarContract.CalendarCacheColumns"></A>
+  <nobr><A HREF="../../../../reference/android/provider/CalendarContract.CalendarCacheColumns.html" target="_top"><code><I>CalendarContract.CalendarCacheColumns</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CalendarContract.CalendarColumns"></A>
+  <nobr><A HREF="../../../../reference/android/provider/CalendarContract.CalendarColumns.html" target="_top"><code><I>CalendarContract.CalendarColumns</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CalendarContract.CalendarEntity"></A>
+  <nobr><A HREF="../../../../reference/android/provider/CalendarContract.CalendarEntity.html" target="_top"><code>CalendarContract.CalendarEntity</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CalendarContract.CalendarSyncColumns"></A>
+  <nobr><A HREF="../../../../reference/android/provider/CalendarContract.CalendarSyncColumns.html" target="_top"><code><I>CalendarContract.CalendarSyncColumns</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CalendarContract.Calendars"></A>
+  <nobr><A HREF="../../../../reference/android/provider/CalendarContract.Calendars.html" target="_top"><code>CalendarContract.Calendars</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CalendarContract.EventDays"></A>
+  <nobr><A HREF="../../../../reference/android/provider/CalendarContract.EventDays.html" target="_top"><code>CalendarContract.EventDays</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CalendarContract.EventDaysColumns"></A>
+  <nobr><A HREF="../../../../reference/android/provider/CalendarContract.EventDaysColumns.html" target="_top"><code><I>CalendarContract.EventDaysColumns</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CalendarContract.Events"></A>
+  <nobr><A HREF="../../../../reference/android/provider/CalendarContract.Events.html" target="_top"><code>CalendarContract.Events</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CalendarContract.EventsColumns"></A>
+  <nobr><A HREF="../../../../reference/android/provider/CalendarContract.EventsColumns.html" target="_top"><code><I>CalendarContract.EventsColumns</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CalendarContract.EventsEntity"></A>
+  <nobr><A HREF="../../../../reference/android/provider/CalendarContract.EventsEntity.html" target="_top"><code>CalendarContract.EventsEntity</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CalendarContract.ExtendedProperties"></A>
+  <nobr><A HREF="../../../../reference/android/provider/CalendarContract.ExtendedProperties.html" target="_top"><code>CalendarContract.ExtendedProperties</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CalendarContract.ExtendedPropertiesColumns"></A>
+  <nobr><A HREF="../../../../reference/android/provider/CalendarContract.ExtendedPropertiesColumns.html" target="_top"><code><I>CalendarContract.ExtendedPropertiesColumns</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CalendarContract.Instances"></A>
+  <nobr><A HREF="../../../../reference/android/provider/CalendarContract.Instances.html" target="_top"><code>CalendarContract.Instances</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CalendarContract.Reminders"></A>
+  <nobr><A HREF="../../../../reference/android/provider/CalendarContract.Reminders.html" target="_top"><code>CalendarContract.Reminders</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CalendarContract.RemindersColumns"></A>
+  <nobr><A HREF="../../../../reference/android/provider/CalendarContract.RemindersColumns.html" target="_top"><code><I>CalendarContract.RemindersColumns</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CalendarContract.SyncColumns"></A>
+  <nobr><A HREF="../../../../reference/android/provider/CalendarContract.SyncColumns.html" target="_top"><code><I>CalendarContract.SyncColumns</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CalendarContract.SyncState"></A>
+  <nobr><A HREF="../../../../reference/android/provider/CalendarContract.SyncState.html" target="_top"><code>CalendarContract.SyncState</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContactsContract.CommonDataKinds.Identity"></A>
+  <nobr><A HREF="../../../../reference/android/provider/ContactsContract.CommonDataKinds.Identity.html" target="_top"><code>ContactsContract.CommonDataKinds.<br>Identity</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContactsContract.DataUsageFeedback"></A>
+  <nobr><A HREF="../../../../reference/android/provider/ContactsContract.DataUsageFeedback.html" target="_top"><code>ContactsContract.DataUsageFeedback</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContactsContract.DisplayPhoto"></A>
+  <nobr><A HREF="../../../../reference/android/provider/ContactsContract.DisplayPhoto.html" target="_top"><code>ContactsContract.DisplayPhoto</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContactsContract.Profile"></A>
+  <nobr><A HREF="../../../../reference/android/provider/ContactsContract.Profile.html" target="_top"><code>ContactsContract.Profile</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContactsContract.ProfileSyncState"></A>
+  <nobr><A HREF="../../../../reference/android/provider/ContactsContract.ProfileSyncState.html" target="_top"><code>ContactsContract.ProfileSyncState</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContactsContract.RawContacts.DisplayPhoto"></A>
+  <nobr><A HREF="../../../../reference/android/provider/ContactsContract.RawContacts.DisplayPhoto.html" target="_top"><code>ContactsContract.RawContacts.<br>DisplayPhoto</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="VoicemailContract"></A>
+  <nobr><A HREF="../../../../reference/android/provider/VoicemailContract.html" target="_top"><code>VoicemailContract</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="VoicemailContract.Status"></A>
+  <nobr><A HREF="../../../../reference/android/provider/VoicemailContract.Status.html" target="_top"><code>VoicemailContract.Status</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="VoicemailContract.Voicemails"></A>
+  <nobr><A HREF="../../../../reference/android/provider/VoicemailContract.Voicemails.html" target="_top"><code>VoicemailContract.Voicemails</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="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="ContactsContract"></A>
+  <nobr><A HREF="android.provider.ContactsContract.html">ContactsContract</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContactsContract.CommonDataKinds.Photo"></A>
+  <nobr><A HREF="android.provider.ContactsContract.CommonDataKinds.Photo.html">ContactsContract.CommonDataKinds.<br>Photo</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContactsContract.Contacts"></A>
+  <nobr><A HREF="android.provider.ContactsContract.Contacts.html">ContactsContract.Contacts</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContactsContract.Contacts.Photo"></A>
+  <nobr><A HREF="android.provider.ContactsContract.Contacts.Photo.html">ContactsContract.Contacts.<br>Photo</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContactsContract.ContactsColumns"></A>
+  <nobr><A HREF="android.provider.ContactsContract.ContactsColumns.html"><I>ContactsContract.ContactsColumns</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContactsContract.GroupsColumns"></A>
+  <nobr><A HREF="android.provider.ContactsContract.GroupsColumns.html"><I>ContactsContract.GroupsColumns</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContactsContract.Intents"></A>
+  <nobr><A HREF="android.provider.ContactsContract.Intents.html">ContactsContract.Intents</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContactsContract.RawContactsColumns"></A>
+  <nobr><A HREF="android.provider.ContactsContract.RawContactsColumns.html"><I>ContactsContract.RawContactsColumns</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContactsContract.RawContactsEntity"></A>
+  <nobr><A HREF="android.provider.ContactsContract.RawContactsEntity.html">ContactsContract.RawContactsEntity</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContactsContract.SettingsColumns"></A>
+  <nobr><A HREF="android.provider.ContactsContract.SettingsColumns.html"><I>ContactsContract.SettingsColumns</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ContactsContract.StatusUpdates"></A>
+  <nobr><A HREF="android.provider.ContactsContract.StatusUpdates.html">ContactsContract.StatusUpdates</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LiveFolders"></A>
+  <nobr><A HREF="android.provider.LiveFolders.html">LiveFolders</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="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/14/changes/pkg_android.renderscript.html b/docs/html/sdk/api_diff/14/changes/pkg_android.renderscript.html
new file mode 100644
index 0000000..5038418
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_android.renderscript.html
@@ -0,0 +1,281 @@
+<!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.renderscript
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/renderscript/package-summary.html" target="_top"><font size="+1"><code>android.renderscript</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="Double2"></A>
+  <nobr><A HREF="../../../../reference/android/renderscript/Double2.html" target="_top"><code>Double2</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Double3"></A>
+  <nobr><A HREF="../../../../reference/android/renderscript/Double3.html" target="_top"><code>Double3</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Double4"></A>
+  <nobr><A HREF="../../../../reference/android/renderscript/Double4.html" target="_top"><code>Double4</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RSTextureView"></A>
+  <nobr><A HREF="../../../../reference/android/renderscript/RSTextureView.html" target="_top"><code>RSTextureView</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="Allocation"></A>
+  <nobr><A HREF="android.renderscript.Allocation.html">Allocation</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AllocationAdapter"></A>
+  <nobr><A HREF="android.renderscript.AllocationAdapter.html">AllocationAdapter</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BaseObj"></A>
+  <nobr><A HREF="android.renderscript.BaseObj.html">BaseObj</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Byte2"></A>
+  <nobr><A HREF="android.renderscript.Byte2.html">Byte2</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Byte3"></A>
+  <nobr><A HREF="android.renderscript.Byte3.html">Byte3</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Byte4"></A>
+  <nobr><A HREF="android.renderscript.Byte4.html">Byte4</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Element"></A>
+  <nobr><A HREF="android.renderscript.Element.html">Element</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="FieldPacker"></A>
+  <nobr><A HREF="android.renderscript.FieldPacker.html">FieldPacker</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Int2"></A>
+  <nobr><A HREF="android.renderscript.Int2.html">Int2</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Int3"></A>
+  <nobr><A HREF="android.renderscript.Int3.html">Int3</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Int4"></A>
+  <nobr><A HREF="android.renderscript.Int4.html">Int4</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Long2"></A>
+  <nobr><A HREF="android.renderscript.Long2.html">Long2</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Long3"></A>
+  <nobr><A HREF="android.renderscript.Long3.html">Long3</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Long4"></A>
+  <nobr><A HREF="android.renderscript.Long4.html">Long4</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RenderScriptGL"></A>
+  <nobr><A HREF="android.renderscript.RenderScriptGL.html">RenderScriptGL</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Script"></A>
+  <nobr><A HREF="android.renderscript.Script.html">Script</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Short2"></A>
+  <nobr><A HREF="android.renderscript.Short2.html">Short2</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Short3"></A>
+  <nobr><A HREF="android.renderscript.Short3.html">Short3</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Short4"></A>
+  <nobr><A HREF="android.renderscript.Short4.html">Short4</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/14/changes/pkg_android.service.wallpaper.html b/docs/html/sdk/api_diff/14/changes/pkg_android.service.wallpaper.html
new file mode 100644
index 0000000..cb1fcc9
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_android.service.wallpaper.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.service.wallpaper
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/service/wallpaper/package-summary.html" target="_top"><font size="+1"><code>android.service.wallpaper</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="WallpaperService.Engine"></A>
+  <nobr><A HREF="android.service.wallpaper.WallpaperService.Engine.html">WallpaperService.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/14/changes/pkg_android.speech.html b/docs/html/sdk/api_diff/14/changes/pkg_android.speech.html
new file mode 100644
index 0000000..346474e
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_android.speech.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
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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="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>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SpeechRecognizer"></A>
+  <nobr><A HREF="android.speech.SpeechRecognizer.html">SpeechRecognizer</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/14/changes/pkg_android.speech.tts.html b/docs/html/sdk/api_diff/14/changes/pkg_android.speech.tts.html
new file mode 100644
index 0000000..3f35de3
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_android.speech.tts.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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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="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="SynthesisCallback"></A>
+  <nobr><A HREF="../../../../reference/android/speech/tts/SynthesisCallback.html" target="_top"><code><I>SynthesisCallback</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SynthesisRequest"></A>
+  <nobr><A HREF="../../../../reference/android/speech/tts/SynthesisRequest.html" target="_top"><code>SynthesisRequest</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TextToSpeech.EngineInfo"></A>
+  <nobr><A HREF="../../../../reference/android/speech/tts/TextToSpeech.EngineInfo.html" target="_top"><code>TextToSpeech.EngineInfo</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TextToSpeechService"></A>
+  <nobr><A HREF="../../../../reference/android/speech/tts/TextToSpeechService.html" target="_top"><code>TextToSpeechService</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="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/14/changes/pkg_android.test.mock.html b/docs/html/sdk/api_diff/14/changes/pkg_android.test.mock.html
new file mode 100644
index 0000000..161e278
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_android.test.mock.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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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="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="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/14/changes/pkg_android.text.html b/docs/html/sdk/api_diff/14/changes/pkg_android.text.html
new file mode 100644
index 0000000..345d90d
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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="Layout"></A>
+  <nobr><A HREF="android.text.Layout.html">Layout</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/14/changes/pkg_android.text.style.html b/docs/html/sdk/api_diff/14/changes/pkg_android.text.style.html
new file mode 100644
index 0000000..2423fc4
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_android.text.style.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.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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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 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="EasyEditSpan"></A>
+  <nobr><A HREF="../../../../reference/android/text/style/EasyEditSpan.html" target="_top"><code>EasyEditSpan</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SuggestionSpan"></A>
+  <nobr><A HREF="../../../../reference/android/text/style/SuggestionSpan.html" target="_top"><code>SuggestionSpan</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/14/changes/pkg_android.util.html b/docs/html/sdk/api_diff/14/changes/pkg_android.util.html
new file mode 100644
index 0000000..f776a86
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_android.util.html
@@ -0,0 +1,169 @@
+<!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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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="NoSuchPropertyException"></A>
+  <nobr><A HREF="../../../../reference/android/util/NoSuchPropertyException.html" target="_top"><code>NoSuchPropertyException</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Property"></A>
+  <nobr><A HREF="../../../../reference/android/util/Property.html" target="_top"><code>Property</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="Config"></A>
+  <nobr><A HREF="android.util.Config.html">Config</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Patterns"></A>
+  <nobr><A HREF="android.util.Patterns.html">Patterns</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SparseArray"></A>
+  <nobr><A HREF="android.util.SparseArray.html">SparseArray</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SparseBooleanArray"></A>
+  <nobr><A HREF="android.util.SparseBooleanArray.html">SparseBooleanArray</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SparseIntArray"></A>
+  <nobr><A HREF="android.util.SparseIntArray.html">SparseIntArray</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/14/changes/pkg_android.view.accessibility.html b/docs/html/sdk/api_diff/14/changes/pkg_android.view.accessibility.html
new file mode 100644
index 0000000..c731a5e
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_android.view.accessibility.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.view.accessibility
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/accessibility/package-summary.html" target="_top"><font size="+1"><code>android.view.accessibility</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="AccessibilityManager.AccessibilityStateChangeListener"></A>
+  <nobr><A HREF="../../../../reference/android/view/accessibility/AccessibilityManager.AccessibilityStateChangeListener.html" target="_top"><code><I>AccessibilityManager.<br>AccessibilityStateChangeListener</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AccessibilityNodeInfo"></A>
+  <nobr><A HREF="../../../../reference/android/view/accessibility/AccessibilityNodeInfo.html" target="_top"><code>AccessibilityNodeInfo</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AccessibilityRecord"></A>
+  <nobr><A HREF="../../../../reference/android/view/accessibility/AccessibilityRecord.html" target="_top"><code>AccessibilityRecord</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="AccessibilityEvent"></A>
+  <nobr><A HREF="android.view.accessibility.AccessibilityEvent.html">AccessibilityEvent</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AccessibilityManager"></A>
+  <nobr><A HREF="android.view.accessibility.AccessibilityManager.html">AccessibilityManager</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/14/changes/pkg_android.view.html b/docs/html/sdk/api_diff/14/changes/pkg_android.view.html
new file mode 100644
index 0000000..d963b18
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_android.view.html
@@ -0,0 +1,274 @@
+<!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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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="ActionProvider"></A>
+  <nobr><A HREF="../../../../reference/android/view/ActionProvider.html" target="_top"><code>ActionProvider</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CollapsibleActionView"></A>
+  <nobr><A HREF="../../../../reference/android/view/CollapsibleActionView.html" target="_top"><code><I>CollapsibleActionView</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MenuItem.OnActionExpandListener"></A>
+  <nobr><A HREF="../../../../reference/android/view/MenuItem.OnActionExpandListener.html" target="_top"><code><I>MenuItem.OnActionExpandListener</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MotionEvent.PointerProperties"></A>
+  <nobr><A HREF="../../../../reference/android/view/MotionEvent.PointerProperties.html" target="_top"><code>MotionEvent.PointerProperties</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TextureView"></A>
+  <nobr><A HREF="../../../../reference/android/view/TextureView.html" target="_top"><code>TextureView</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TextureView.SurfaceTextureListener"></A>
+  <nobr><A HREF="../../../../reference/android/view/TextureView.SurfaceTextureListener.html" target="_top"><code><I>TextureView.SurfaceTextureListener</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="View.AccessibilityDelegate"></A>
+  <nobr><A HREF="../../../../reference/android/view/View.AccessibilityDelegate.html" target="_top"><code>View.AccessibilityDelegate</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="View.OnHoverListener"></A>
+  <nobr><A HREF="../../../../reference/android/view/View.OnHoverListener.html" target="_top"><code><I>View.OnHoverListener</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="ActionMode"></A>
+  <nobr><A HREF="android.view.ActionMode.html">ActionMode</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Gravity"></A>
+  <nobr><A HREF="android.view.Gravity.html">Gravity</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="InputDevice"></A>
+  <nobr><A HREF="android.view.InputDevice.html">InputDevice</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="KeyEvent"></A>
+  <nobr><A HREF="android.view.KeyEvent.html">KeyEvent</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MenuItem"></A>
+  <nobr><A HREF="android.view.MenuItem.html"><I>MenuItem</I></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="Surface"></A>
+  <nobr><A HREF="android.view.Surface.html">Surface</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"></A>
+  <nobr><A HREF="android.view.ViewGroup.html">ViewGroup</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ViewParent"></A>
+  <nobr><A HREF="android.view.ViewParent.html"><I>ViewParent</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ViewPropertyAnimator"></A>
+  <nobr><A HREF="android.view.ViewPropertyAnimator.html">ViewPropertyAnimator</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Window"></A>
+  <nobr><A HREF="android.view.Window.html">Window</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/14/changes/pkg_android.view.inputmethod.html b/docs/html/sdk/api_diff/14/changes/pkg_android.view.inputmethod.html
new file mode 100644
index 0000000..b04df04
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_android.view.inputmethod.html
@@ -0,0 +1,133 @@
+<!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.inputmethod
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/inputmethod/package-summary.html" target="_top"><font size="+1"><code>android.view.inputmethod</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="InputMethodManager"></A>
+  <nobr><A HREF="android.view.inputmethod.InputMethodManager.html">InputMethodManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="InputMethodSession"></A>
+  <nobr><A HREF="android.view.inputmethod.InputMethodSession.html"><I>InputMethodSession</I></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="InputMethodSubtype"></A>
+  <nobr><A HREF="android.view.inputmethod.InputMethodSubtype.html">InputMethodSubtype</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/14/changes/pkg_android.webkit.html b/docs/html/sdk/api_diff/14/changes/pkg_android.webkit.html
new file mode 100644
index 0000000..4671eea
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_android.webkit.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
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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="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="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="WebSettings.TextSize"></A>
+  <nobr><A HREF="android.webkit.WebSettings.TextSize.html">WebSettings.TextSize</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="WebView.HitTestResult"></A>
+  <nobr><A HREF="android.webkit.WebView.HitTestResult.html">WebView.HitTestResult</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/14/changes/pkg_android.widget.html b/docs/html/sdk/api_diff/14/changes/pkg_android.widget.html
new file mode 100644
index 0000000..bff12a8
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_android.widget.html
@@ -0,0 +1,274 @@
+<!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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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 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="EdgeEffect"></A>
+  <nobr><A HREF="../../../../reference/android/widget/EdgeEffect.html" target="_top"><code>EdgeEffect</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GridLayout"></A>
+  <nobr><A HREF="../../../../reference/android/widget/GridLayout.html" target="_top"><code>GridLayout</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GridLayout.Alignment"></A>
+  <nobr><A HREF="../../../../reference/android/widget/GridLayout.Alignment.html" target="_top"><code>GridLayout.Alignment</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GridLayout.LayoutParams"></A>
+  <nobr><A HREF="../../../../reference/android/widget/GridLayout.LayoutParams.html" target="_top"><code>GridLayout.LayoutParams</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GridLayout.Spec"></A>
+  <nobr><A HREF="../../../../reference/android/widget/GridLayout.Spec.html" target="_top"><code>GridLayout.Spec</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PopupMenu.OnDismissListener"></A>
+  <nobr><A HREF="../../../../reference/android/widget/PopupMenu.OnDismissListener.html" target="_top"><code><I>PopupMenu.OnDismissListener</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ShareActionProvider"></A>
+  <nobr><A HREF="../../../../reference/android/widget/ShareActionProvider.html" target="_top"><code>ShareActionProvider</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ShareActionProvider.OnShareTargetSelectedListener"></A>
+  <nobr><A HREF="../../../../reference/android/widget/ShareActionProvider.OnShareTargetSelectedListener.html" target="_top"><code><I>ShareActionProvider.OnShareTargetSelectedListener</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Space"></A>
+  <nobr><A HREF="../../../../reference/android/widget/Space.html" target="_top"><code>Space</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Switch"></A>
+  <nobr><A HREF="../../../../reference/android/widget/Switch.html" target="_top"><code>Switch</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="AdapterViewAnimator"></A>
+  <nobr><A HREF="android.widget.AdapterViewAnimator.html">AdapterViewAnimator</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ExpandableListView"></A>
+  <nobr><A HREF="android.widget.ExpandableListView.html">ExpandableListView</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="FrameLayout"></A>
+  <nobr><A HREF="android.widget.FrameLayout.html">FrameLayout</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LinearLayout"></A>
+  <nobr><A HREF="android.widget.LinearLayout.html">LinearLayout</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="OverScroller"></A>
+  <nobr><A HREF="android.widget.OverScroller.html">OverScroller</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PopupMenu"></A>
+  <nobr><A HREF="android.widget.PopupMenu.html">PopupMenu</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="Scroller"></A>
+  <nobr><A HREF="android.widget.Scroller.html">Scroller</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SearchView"></A>
+  <nobr><A HREF="android.widget.SearchView.html">SearchView</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="StackView"></A>
+  <nobr><A HREF="android.widget.StackView.html">StackView</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TextView"></A>
+  <nobr><A HREF="android.widget.TextView.html">TextView</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/14/changes/pkg_dalvik.annotation.html b/docs/html/sdk/api_diff/14/changes/pkg_dalvik.annotation.html
new file mode 100644
index 0000000..209eadc
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_dalvik.annotation.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.annotation
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/annotation/package-summary.html" target="_top"><font size="+1"><code>dalvik.annotation</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="TestTarget"></A>
+  <nobr><A HREF="dalvik.annotation.TestTarget.html">TestTarget</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TestTargetClass"></A>
+  <nobr><A HREF="dalvik.annotation.TestTargetClass.html">TestTargetClass</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/14/changes/pkg_dalvik.system.html b/docs/html/sdk/api_diff/14/changes/pkg_dalvik.system.html
new file mode 100644
index 0000000..9b876d4
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_dalvik.system.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>
+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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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="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="BaseDexClassLoader"></A>
+  <nobr><A HREF="../../../../reference/dalvik/system/BaseDexClassLoader.html" target="_top"><code>BaseDexClassLoader</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="DexClassLoader"></A>
+  <nobr><A HREF="dalvik.system.DexClassLoader.html">DexClassLoader</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PathClassLoader"></A>
+  <nobr><A HREF="dalvik.system.PathClassLoader.html">PathClassLoader</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/14/changes/pkg_java.io.html b/docs/html/sdk/api_diff/14/changes/pkg_java.io.html
new file mode 100644
index 0000000..9c4ca29
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_java.io.html
@@ -0,0 +1,133 @@
+<!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.io
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/io/package-summary.html" target="_top"><font size="+1"><code>java.io</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="FilePermission"></A>
+  <nobr><A HREF="java.io.FilePermission.html">FilePermission</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ObjectInputStream"></A>
+  <nobr><A HREF="java.io.ObjectInputStream.html">ObjectInputStream</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ObjectOutputStream"></A>
+  <nobr><A HREF="java.io.ObjectOutputStream.html">ObjectOutputStream</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/14/changes/pkg_java.lang.html b/docs/html/sdk/api_diff/14/changes/pkg_java.lang.html
new file mode 100644
index 0000000..91c9c1c
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_java.lang.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.lang
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/lang/package-summary.html" target="_top"><font size="+1"><code>java.lang</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="Class"></A>
+  <nobr><A HREF="java.lang.Class.html">Class</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/14/changes/pkg_java.lang.ref.html b/docs/html/sdk/api_diff/14/changes/pkg_java.lang.ref.html
new file mode 100644
index 0000000..73fbd22
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_java.lang.ref.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.lang.ref
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/lang/ref/package-summary.html" target="_top"><font size="+1"><code>java.lang.ref</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="ReferenceQueue"></A>
+  <nobr><A HREF="java.lang.ref.ReferenceQueue.html">ReferenceQueue</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/14/changes/pkg_java.lang.reflect.html b/docs/html/sdk/api_diff/14/changes/pkg_java.lang.reflect.html
new file mode 100644
index 0000000..81a73a7
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_java.lang.reflect.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>
+java.lang.reflect
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/lang/reflect/package-summary.html" target="_top"><font size="+1"><code>java.lang.reflect</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="AccessibleObject"></A>
+  <nobr><A HREF="java.lang.reflect.AccessibleObject.html">AccessibleObject</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Constructor"></A>
+  <nobr><A HREF="java.lang.reflect.Constructor.html">Constructor</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Field"></A>
+  <nobr><A HREF="java.lang.reflect.Field.html">Field</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Method"></A>
+  <nobr><A HREF="java.lang.reflect.Method.html">Method</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/14/changes/pkg_java.net.html b/docs/html/sdk/api_diff/14/changes/pkg_java.net.html
new file mode 100644
index 0000000..6d16c39
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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="SocketPermission"></A>
+  <nobr><A HREF="java.net.SocketPermission.html">SocketPermission</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/14/changes/pkg_java.security.html b/docs/html/sdk/api_diff/14/changes/pkg_java.security.html
new file mode 100644
index 0000000..8173cfc
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_java.security.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>
+java.security
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/security/package-summary.html" target="_top"><font size="+1"><code>java.security</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="AllPermission"></A>
+  <nobr><A HREF="java.security.AllPermission.html">AllPermission</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BasicPermission"></A>
+  <nobr><A HREF="java.security.BasicPermission.html">BasicPermission</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Permission"></A>
+  <nobr><A HREF="java.security.Permission.html">Permission</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="UnresolvedPermission"></A>
+  <nobr><A HREF="java.security.UnresolvedPermission.html">UnresolvedPermission</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/14/changes/pkg_java.util.logging.html b/docs/html/sdk/api_diff/14/changes/pkg_java.util.logging.html
new file mode 100644
index 0000000..2944111
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_java.util.logging.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.util.logging
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/logging/package-summary.html" target="_top"><font size="+1"><code>java.util.logging</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="Handler"></A>
+  <nobr><A HREF="java.util.logging.Handler.html">Handler</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/14/changes/pkg_javax.security.auth.html b/docs/html/sdk/api_diff/14/changes/pkg_javax.security.auth.html
new file mode 100644
index 0000000..d321d86
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/changes/pkg_javax.security.auth.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.security.auth
+</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">14</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">13</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2011.10.04 17:12</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/security/auth/package-summary.html" target="_top"><font size="+1"><code>javax.security.auth</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="PrivateCredentialPermission"></A>
+  <nobr><A HREF="javax.security.auth.PrivateCredentialPermission.html">PrivateCredentialPermission</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/14/stylesheet-jdiff.css b/docs/html/sdk/api_diff/14/stylesheet-jdiff.css
new file mode 100644
index 0000000..edafaa3
--- /dev/null
+++ b/docs/html/sdk/api_diff/14/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/index.jd b/docs/html/sdk/index.jd
index 5cf37c1..105c868 100644
--- a/docs/html/sdk/index.jd
+++ b/docs/html/sdk/index.jd
@@ -1,21 +1,21 @@
 page.title=Android SDK
 sdk.redirect=0
 
-sdk.win_installer=installer_r12-windows.exe
-sdk.win_installer_bytes=36531492
-sdk.win_installer_checksum=367f0ed4ecd70aefc290d1f7dcb578ab
+sdk.win_installer=installer_r13-windows.exe
+sdk.win_installer_bytes=36533357
+sdk.win_installer_checksum=cd3a76fe2b8ed62b2d03cf1851692e2d
 
-sdk.win_download=android-sdk_r12-windows.zip
-sdk.win_bytes=36486190
-sdk.win_checksum=8d6c104a34cd2577c5506c55d981aebf
+sdk.win_download=android-sdk_r13-windows.zip
+sdk.win_bytes=36487911
+sdk.win_checksum=de8a039891e5e65b7742f188f07b992d
 
-sdk.mac_download=android-sdk_r12-mac_x86.zip
-sdk.mac_bytes=30231118
-sdk.mac_checksum=341544e4572b4b1afab123ab817086e7
+sdk.mac_download=android-sdk_r13-mac_x86.zip
+sdk.mac_bytes=30233944
+sdk.mac_checksum=f4002a0344b48856c09dec796acecd4d
 
-sdk.linux_download=android-sdk_r12-linux_x86.tgz
-sdk.linux_bytes=30034243
-sdk.linux_checksum=f8485275a8dee3d1929936ed538ee99a
+sdk.linux_download=android-sdk_r13-linux_x86.tgz
+sdk.linux_bytes=30034328
+sdk.linux_checksum=d80d7530a46c665644ae76084a9a0dc4
 
 @jd:body
 
diff --git a/docs/html/sdk/sdk_toc.cs b/docs/html/sdk/sdk_toc.cs
index a00ca12..8a57312 100644
--- a/docs/html/sdk/sdk_toc.cs
+++ b/docs/html/sdk/sdk_toc.cs
@@ -77,7 +77,7 @@
     <ul>
       <li class="toggle-list">
         <div><a href="<?cs var:toroot ?>sdk/android-3.2.html">
-        <span class="en">Android 3.2 Platform</span></a> <span class="new">new!</span></div>
+        <span class="en">Android 3.2 Platform</span></a></div>
         <ul>
           <!-- <li><a href="<?cs var:toroot ?>sdk/android-3.2-highlights.html">Platform Highlights</a></li> -->
           <li><a href="<?cs var:toroot ?>sdk/api_diff/13/changes.html">API Differences Report &raquo;</a></li>
@@ -142,11 +142,11 @@
       </li>
     </ul>
     <ul>
-      <li><a href="<?cs var:toroot ?>sdk/tools-notes.html">SDK Tools, r12</a> <span
+      <li><a href="<?cs var:toroot ?>sdk/tools-notes.html">SDK Tools, r13</a> <span
 class="new">new!</span></li>
       <li><a href="<?cs var:toroot ?>sdk/win-usb.html">Google USB Driver, r4</a></li>
       <li><a href="<?cs var:toroot ?>sdk/compatibility-library.html">Compatibility Package,
-r3</a> <span class="new">new!</span></li>
+r3</a></li>
     </ul>
   </li>
   <li>
@@ -169,7 +169,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>
+      </li>
     </ul>
   </li>
   <li>
@@ -183,8 +183,7 @@
       <span style="display:none" class="zh-TW"></span>
     </h2>
     <ul>
-      <li><a href="<?cs var:toroot ?>sdk/ndk/index.html">Android NDK, r6b</a> 
-        <span class="new">new!</span>
+      <li><a href="<?cs var:toroot ?>sdk/ndk/index.html">Android NDK, r6b</a>
         </li>
       <li><a href="<?cs var:toroot ?>sdk/ndk/overview.html">What is the NDK?</a></li>
     </ul>
diff --git a/docs/html/sdk/tools-notes.jd b/docs/html/sdk/tools-notes.jd
index 8c4d037..2179cec 100644
--- a/docs/html/sdk/tools-notes.jd
+++ b/docs/html/sdk/tools-notes.jd
@@ -4,7 +4,7 @@
 <p>SDK Tools is a downloadable component for the Android SDK. It includes the
 complete set of development and debugging tools for the Android SDK. </p>
 
-<p>If you are new to the Android SDK, the <a 
+<p>If you are new to the Android SDK, the <a
 href="{@docRoot}sdk/index.html">SDK starter package</a> installs the
 latest revision of the SDK Tools in the <code>&lt;sdk&gt;/tools</code> directory.</p>
 
@@ -66,6 +66,35 @@
 <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 13</a> <em>(September 2011)</em>
+  <div class="toggleme">
+  <dl>
+<dt>Dependencies:</dt>
+<dd>
+<p>If you are developing in Eclipse with ADT, note that the SDK Tools r13 is designed for use with
+ADT 12.0.0 and later. If you haven't already, we highly recommend updating your <a
+href="{@docRoot}sdk/eclipse-adt.html">ADT Plugin</a> to 12.0.0.</p>
+
+<p>If you are developing outside Eclipse, you must have <a href="http://ant.apache.org/">Apache
+Ant</a> 1.8 or later.</p>
+
+<dt>General notes:</dt>
+<dd>
+  <ul>
+    <li>Fix compilation issue in Ant (<code>dex</code> step) when paths have spaces.</li>
+    <li>Fix issue in emulator installation when paths have spaces.</li>
+    <li>Fix issue when AVD paths have spaces.</li>
+    <li>Fix rendering issue when using emulator scaling (<a href="http://code.google.com/p/android/issues/detail?id=18299">see more</a>).</li>
+  </ul>
+</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" />
 SDK Tools, Revision 12</a> <em>(July 2011)</em>
   <div class="toggleme">
   <dl>
@@ -396,7 +425,7 @@
 <dt>General notes:</dt>
 <dd>
 <ul>
-<li>Launcher script now forces GDK_NATIVE_WINDOW=true (linux only), to fix a 
+<li>Launcher script now forces GDK_NATIVE_WINDOW=true (linux only), to fix a
 compatibility issue between GTK and SWT.</li>
 </ul>
 </dd>
@@ -405,7 +434,7 @@
 <dd>
 <ul>
 <li>AVD Launch dialog now shows scale value.</li>
-<li>Fixes potential NPE in SDK Manager on AVD launch, for older AVD with no 
+<li>Fixes potential NPE in SDK Manager on AVD launch, for older AVD with no
 skin name specified.</li>
 <li>Fixes XML validation issue in on older Java versions.</li>
 <li>No longer forces the use of Java 1.5 on Mac OS X.</li>
@@ -470,7 +499,7 @@
 <dd>
 <ul>
 <li>Provides a new UI that lets you set options for controlling
-the emulator skin, screen size/density, and scale factor used when launching 
+the emulator skin, screen size/density, and scale factor used when launching
 an AVD.</li>
 <li>Provides improved AVD creation UI, which lets you customize the hardware
 properties of your AVDs.</li>
@@ -481,11 +510,11 @@
 
 <dt>Layoutopt, a new tool for optimizing layouts:</dt>
 
-<dd><p>The SDK Tools r3 package includes <code>layoutopt</code>, a new command-line 
-tool that helps you optimize your layout hierarchies. When run against your 
-layout files, the tool analyzes their hierarchies and notifies you of 
-inefficiencies and other potential issues. The tool also provides simple 
-solutions for the issues it finds. For usage, see <a 
+<dd><p>The SDK Tools r3 package includes <code>layoutopt</code>, a new command-line
+tool that helps you optimize your layout hierarchies. When run against your
+layout files, the tool analyzes their hierarchies and notifies you of
+inefficiencies and other potential issues. The tool also provides simple
+solutions for the issues it finds. For usage, see <a
 href="/guide/developing/tools/layoutopt.html">layoutopt</a>.</p>
 </dd>
 </dl>
diff --git a/docs/html/search.jd b/docs/html/search.jd
index 339ce2d..407bc86 100644
--- a/docs/html/search.jd
+++ b/docs/html/search.jd
@@ -64,11 +64,14 @@
 

         // upon ajax search, refresh the url and search title

         searchControl.setSearchStartingCallback(this, function(control, searcher, query) {

+            $("#searchTitle").html("search results for <em>" + escapeHTML(query) + "</em>");

+

             // save the tab index from the hash

             tabIndex = location.hash.split("&t=")[1];

-

-            $("#searchTitle").html("search results for <em>" + escapeHTML(query) + "</em>");

             $.history.add('q=' + query + '&t=' + tabIndex);

+        });

+

+        searchControl.setSearchCompleteCallback(this, function(control, searcher) {

             openTab();

         });

 

diff --git a/docs/html/shareables/app_widget_templates-v4.0.zip b/docs/html/shareables/app_widget_templates-v4.0.zip
new file mode 100644
index 0000000..b16ef12
--- /dev/null
+++ b/docs/html/shareables/app_widget_templates-v4.0.zip
Binary files differ
diff --git a/drm/drmserver/DrmManager.cpp b/drm/drmserver/DrmManager.cpp
index 3e4fe8c..b2fa053 100644
--- a/drm/drmserver/DrmManager.cpp
+++ b/drm/drmserver/DrmManager.cpp
@@ -98,21 +98,27 @@
 }
 
 status_t DrmManager::loadPlugIns() {
+
+    String8 vendorPluginDirPath("/vendor/lib/drm");
+    loadPlugIns(vendorPluginDirPath);
+
     String8 pluginDirPath("/system/lib/drm");
-    return loadPlugIns(pluginDirPath);
+    loadPlugIns(pluginDirPath);
+    return DRM_NO_ERROR;
+
 }
 
 status_t DrmManager::loadPlugIns(const String8& plugInDirPath) {
-    if (mSupportInfoToPlugInIdMap.isEmpty()) {
-        mPlugInManager.loadPlugIns(plugInDirPath);
-        Vector<String8> plugInPathList = mPlugInManager.getPlugInIdList();
-        for (unsigned int i = 0; i < plugInPathList.size(); ++i) {
-            String8 plugInPath = plugInPathList[i];
-            DrmSupportInfo* info = mPlugInManager.getPlugIn(plugInPath).getSupportInfo(0);
-            if (NULL != info) {
+    mPlugInManager.loadPlugIns(plugInDirPath);
+    Vector<String8> plugInPathList = mPlugInManager.getPlugInIdList();
+    for (unsigned int i = 0; i < plugInPathList.size(); ++i) {
+        String8 plugInPath = plugInPathList[i];
+        DrmSupportInfo* info = mPlugInManager.getPlugIn(plugInPath).getSupportInfo(0);
+        if (NULL != info) {
+            if (mSupportInfoToPlugInIdMap.indexOfKey(*info) < 0) {
                 mSupportInfoToPlugInIdMap.add(*info, plugInPath);
-                delete info;
             }
+            delete info;
         }
     }
     return DRM_NO_ERROR;
diff --git a/graphics/java/android/renderscript/ProgramRaster.java b/graphics/java/android/renderscript/ProgramRaster.java
index bc0d928..60d9698 100644
--- a/graphics/java/android/renderscript/ProgramRaster.java
+++ b/graphics/java/android/renderscript/ProgramRaster.java
@@ -84,14 +84,10 @@
     public static class Builder {
         RenderScript mRS;
         boolean mPointSprite;
-        boolean mPointSmooth;
-        boolean mLineSmooth;
         CullMode mCullMode;
 
         public Builder(RenderScript rs) {
             mRS = rs;
-            mPointSmooth = false;
-            mLineSmooth = false;
             mPointSprite = false;
             mCullMode = CullMode.BACK;
         }
@@ -108,8 +104,7 @@
 
         public ProgramRaster create() {
             mRS.validate();
-            int id = mRS.nProgramRasterCreate(mPointSmooth, mLineSmooth, mPointSprite,
-                                             1.f, mCullMode.mID);
+            int id = mRS.nProgramRasterCreate(mPointSprite, mCullMode.mID);
             return new ProgramRaster(id, mRS);
         }
     }
diff --git a/graphics/java/android/renderscript/RenderScript.java b/graphics/java/android/renderscript/RenderScript.java
index 571b895..e2950d5e 100644
--- a/graphics/java/android/renderscript/RenderScript.java
+++ b/graphics/java/android/renderscript/RenderScript.java
@@ -522,13 +522,10 @@
                                      dstMode, depthFunc);
     }
 
-    native int  rsnProgramRasterCreate(int con, boolean pointSmooth, boolean lineSmooth,
-                                       boolean pointSprite, float lineWidth, int cullMode);
-    synchronized int nProgramRasterCreate(boolean pointSmooth, boolean lineSmooth,
-                                          boolean pointSprite, float lineWidth, int cullMode) {
+    native int  rsnProgramRasterCreate(int con, boolean pointSprite, int cullMode);
+    synchronized int nProgramRasterCreate(boolean pointSprite, int cullMode) {
         validate();
-        return rsnProgramRasterCreate(mContext, pointSmooth, lineSmooth, pointSprite, lineWidth,
-                                      cullMode);
+        return rsnProgramRasterCreate(mContext, pointSprite, cullMode);
     }
 
     native void rsnProgramBindConstants(int con, int pv, int slot, int mID);
diff --git a/graphics/jni/android_renderscript_RenderScript.cpp b/graphics/jni/android_renderscript_RenderScript.cpp
index d7ac5d8..ec1f8de 100644
--- a/graphics/jni/android_renderscript_RenderScript.cpp
+++ b/graphics/jni/android_renderscript_RenderScript.cpp
@@ -1053,12 +1053,10 @@
 // ---------------------------------------------------------------------------
 
 static jint
-nProgramRasterCreate(JNIEnv *_env, jobject _this, RsContext con, jboolean pointSmooth,
-                     jboolean lineSmooth, jboolean pointSprite, jfloat lineWidth, jint cull)
+nProgramRasterCreate(JNIEnv *_env, jobject _this, RsContext con, jboolean pointSprite, jint cull)
 {
-    LOG_API("nProgramRasterCreate, con(%p), pointSmooth(%i), lineSmooth(%i), pointSprite(%i)",
-            con, pointSmooth, lineSmooth, pointSprite);
-    return (jint)rsProgramRasterCreate(con, pointSmooth, lineSmooth, pointSprite, lineWidth, (RsCullMode)cull);
+    LOG_API("nProgramRasterCreate, con(%p), pointSprite(%i), cull(%i)", con, pointSprite, cull);
+    return (jint)rsProgramRasterCreate(con, pointSprite, (RsCullMode)cull);
 }
 
 
@@ -1295,7 +1293,7 @@
 {"rsnProgramBindSampler",            "(IIII)V",                               (void*)nProgramBindSampler },
 
 {"rsnProgramFragmentCreate",         "(ILjava/lang/String;[I)I",              (void*)nProgramFragmentCreate },
-{"rsnProgramRasterCreate",           "(IZZZFI)I",                             (void*)nProgramRasterCreate },
+{"rsnProgramRasterCreate",           "(IZI)I",                                (void*)nProgramRasterCreate },
 {"rsnProgramVertexCreate",           "(ILjava/lang/String;[I)I",              (void*)nProgramVertexCreate },
 
 {"rsnContextBindRootScript",         "(II)V",                                 (void*)nContextBindRootScript },
diff --git a/include/binder/Parcel.h b/include/binder/Parcel.h
index bfe13f0..3fa2acb 100644
--- a/include/binder/Parcel.h
+++ b/include/binder/Parcel.h
@@ -38,6 +38,9 @@
 class Parcel
 {
 public:
+    class ReadableBlob;
+    class WritableBlob;
+
                         Parcel();
                         ~Parcel();
     
@@ -46,7 +49,7 @@
     size_t              dataAvail() const;
     size_t              dataPosition() const;
     size_t              dataCapacity() const;
-    
+
     status_t            setDataSize(size_t size);
     void                setDataPosition(size_t pos) const;
     status_t            setDataCapacity(size_t size);
@@ -56,6 +59,9 @@
     status_t            appendFrom(const Parcel *parcel,
                                    size_t start, size_t len);
 
+    bool                pushAllowFds(bool allowFds);
+    void                restoreAllowFds(bool lastValue);
+
     bool                hasFileDescriptors() const;
 
     // Writes the RPC header.
@@ -109,7 +115,13 @@
     // Place a file descriptor into the parcel.  A dup of the fd is made, which
     // will be closed once the parcel is destroyed.
     status_t            writeDupFileDescriptor(int fd);
-    
+
+    // Writes a blob to the parcel.
+    // If the blob is small, then it is stored in-place, otherwise it is
+    // transferred by way of an anonymous shared memory region.
+    // The caller should call release() on the blob after writing its contents.
+    status_t            writeBlob(size_t len, WritableBlob* outBlob);
+
     status_t            writeObject(const flat_binder_object& val, bool nullMetaData);
 
     // Like Parcel.java's writeNoException().  Just writes a zero int32.
@@ -157,7 +169,11 @@
     // Retrieve a file descriptor from the parcel.  This returns the raw fd
     // in the parcel, which you do not own -- use dup() to get your own copy.
     int                 readFileDescriptor() const;
-    
+
+    // Reads a blob from the parcel.
+    // The caller should call release() on the blob after reading its contents.
+    status_t            readBlob(size_t len, ReadableBlob* outBlob) const;
+
     const flat_binder_object* readObject(bool nullMetaData) const;
 
     // Explicitly close all file descriptors in the parcel.
@@ -177,7 +193,7 @@
                                             release_func relFunc, void* relCookie);
     
     void                print(TextOutput& to, uint32_t flags = 0) const;
-        
+
 private:
                         Parcel(const Parcel& o);
     Parcel&             operator=(const Parcel& o);
@@ -212,9 +228,40 @@
 
     mutable bool        mFdsKnown;
     mutable bool        mHasFds;
+    bool                mAllowFds;
     
     release_func        mOwner;
     void*               mOwnerCookie;
+
+    class Blob {
+    public:
+        Blob();
+        ~Blob();
+
+        void release();
+        inline size_t size() const { return mSize; }
+
+    protected:
+        void init(bool mapped, void* data, size_t size);
+        void clear();
+
+        bool mMapped;
+        void* mData;
+        size_t mSize;
+    };
+
+public:
+    class ReadableBlob : public Blob {
+        friend class Parcel;
+    public:
+        inline const void* data() const { return mData; }
+    };
+
+    class WritableBlob : public Blob {
+        friend class Parcel;
+    public:
+        inline void* data() { return mData; }
+    };
 };
 
 // ---------------------------------------------------------------------------
diff --git a/include/gui/SurfaceTexture.h b/include/gui/SurfaceTexture.h
index 493993d..e2d6179 100644
--- a/include/gui/SurfaceTexture.h
+++ b/include/gui/SurfaceTexture.h
@@ -20,13 +20,15 @@
 #include <EGL/egl.h>
 #include <EGL/eglext.h>
 #include <GLES2/gl2.h>
+#include <GLES2/gl2ext.h>
 
 #include <gui/ISurfaceTexture.h>
 
 #include <ui/GraphicBuffer.h>
 
-#include <utils/threads.h>
+#include <utils/String8.h>
 #include <utils/Vector.h>
+#include <utils/threads.h>
 
 #define ANDROID_GRAPHICS_SURFACETEXTURE_JNI_ID "mSurfaceTexture"
 
@@ -60,7 +62,8 @@
 
     // tex indicates the name OpenGL texture to which images are to be streamed.
     // This texture name cannot be changed once the SurfaceTexture is created.
-    SurfaceTexture(GLuint tex, bool allowSynchronousMode = true);
+    SurfaceTexture(GLuint tex, bool allowSynchronousMode = true,
+            GLenum texTarget = GL_TEXTURE_EXTERNAL_OES);
 
     virtual ~SurfaceTexture();
 
@@ -202,6 +205,10 @@
     // by OpenGL ES as a texture) then those buffer will remain allocated.
     void abandon();
 
+    // set the name of the SurfaceTexture that will be used to identify it in
+    // log messages.
+    void setName(const String8& name);
+
     // dump our state in a String
     void dump(String8& result) const;
     void dump(String8& result, const char* prefix, char* buffer, size_t SIZE) const;
@@ -444,11 +451,23 @@
     // all ISurfaceTexture methods capable of returning an error.
     bool mAbandoned;
 
+    // mName is a string used to identify the SurfaceTexture in log messages.
+    // It is set by the setName method.
+    String8 mName;
+
     // mMutex is the mutex used to prevent concurrent access to the member
     // variables of SurfaceTexture objects. It must be locked whenever the
     // member variables are accessed.
     mutable Mutex mMutex;
 
+    // mTexTarget is the GL texture target with which the GL texture object is
+    // associated.  It is set in the constructor and never changed.  It is
+    // almost always GL_TEXTURE_EXTERNAL_OES except for one use case in Android
+    // Browser.  In that case it is set to GL_TEXTURE_2D to allow
+    // glCopyTexSubImage to read from the texture.  This is a hack to work
+    // around a GL driver limitation on the number of FBO attachments, which the
+    // browser's tile cache exceeds.
+    const GLenum mTexTarget;
 };
 
 // ----------------------------------------------------------------------------
diff --git a/include/media/stagefright/ACodec.h b/include/media/stagefright/ACodec.h
index b7286e5..5822877 100644
--- a/include/media/stagefright/ACodec.h
+++ b/include/media/stagefright/ACodec.h
@@ -113,6 +113,7 @@
 
     Vector<BufferInfo> mBuffers[2];
     bool mPortEOS[2];
+    status_t mInputEOSResult;
 
     List<sp<AMessage> > mDeferredQueue;
 
@@ -150,6 +151,12 @@
             OMX_VIDEO_CODINGTYPE compressionFormat);
 
     status_t setupAACDecoder(int32_t numChannels, int32_t sampleRate);
+    status_t setupAMRDecoder(bool isWAMR);
+    status_t setupG711Decoder(int32_t numChannels);
+
+    status_t setupRawAudioFormat(
+            OMX_U32 portIndex, int32_t sampleRate, int32_t numChannels);
+
     status_t setMinBufferSize(OMX_U32 portIndex, size_t size);
 
     status_t initNativeWindow();
diff --git a/include/media/stagefright/OMXCodec.h b/include/media/stagefright/OMXCodec.h
index 8baf5ec..0d5a726 100644
--- a/include/media/stagefright/OMXCodec.h
+++ b/include/media/stagefright/OMXCodec.h
@@ -228,7 +228,7 @@
     void setComponentRole();
 
     void setAMRFormat(bool isWAMR, int32_t bitRate);
-    void setAACFormat(int32_t numChannels, int32_t sampleRate, int32_t bitRate);
+    status_t setAACFormat(int32_t numChannels, int32_t sampleRate, int32_t bitRate);
     void setG711Format(int32_t numChannels);
 
     status_t setVideoPortFormatType(
@@ -319,6 +319,8 @@
     void initOutputFormat(const sp<MetaData> &inputFormat);
     status_t initNativeWindow();
 
+    void initNativeWindowCrop();
+
     void dumpPortStatus(OMX_U32 portIndex);
 
     status_t configureCodec(const sp<MetaData> &meta);
diff --git a/include/surfaceflinger/ISurfaceComposer.h b/include/surfaceflinger/ISurfaceComposer.h
index 6b31ca4..e0f4cf9 100644
--- a/include/surfaceflinger/ISurfaceComposer.h
+++ b/include/surfaceflinger/ISurfaceComposer.h
@@ -88,11 +88,6 @@
         eElectronBeamAnimationOff = 0x10
     };
 
-    // flags for setOrientation
-    enum {
-        eOrientationAnimationDisable = 0x00000001
-    };
-
     /* create connection with surface flinger, requires
      * ACCESS_SURFACE_FLINGER permission
      */
@@ -112,7 +107,8 @@
     virtual status_t freezeDisplay(DisplayID dpy, uint32_t flags) = 0;
     virtual status_t unfreezeDisplay(DisplayID dpy, uint32_t flags) = 0;
 
-    /* Set display orientation. requires ACCESS_SURFACE_FLINGER permission */
+    /* Set display orientation. requires ACCESS_SURFACE_FLINGER permission
+     * No flags are currently defined.  Set flags to 0. */
     virtual int setOrientation(DisplayID dpy, int orientation, uint32_t flags) = 0;
 
     /* signal that we're done booting.
diff --git a/include/ui/Rect.h b/include/ui/Rect.h
index 4e65a2d..9e98bc5 100644
--- a/include/ui/Rect.h
+++ b/include/ui/Rect.h
@@ -27,7 +27,7 @@
 class Rect : public ARect
 {
 public:
-    typedef int32_t value_type;
+    typedef ARect::value_type value_type;
 
     // we don't provide copy-ctor and operator= on purpose
     // because we want the compiler generated versions
diff --git a/include/utils/Errors.h b/include/utils/Errors.h
index 81f818b..0b75b19 100644
--- a/include/utils/Errors.h
+++ b/include/utils/Errors.h
@@ -72,6 +72,7 @@
     TIMED_OUT           = 0x80000005,
     UNKNOWN_TRANSACTION = 0x80000006,
 #endif    
+    FDS_NOT_ALLOWED     = 0x80000007,
 };
 
 // Restore define; enumeration is in "android" namespace, so the value defined
diff --git a/include/utils/threads.h b/include/utils/threads.h
index c685625..ab3e8cd 100644
--- a/include/utils/threads.h
+++ b/include/utils/threads.h
@@ -143,6 +143,10 @@
 // in either case errno is set.  Thread ID zero means current thread.
 extern int androidSetThreadPriority(pid_t tid, int prio);
 
+// Get the current priority of a particular thread. Returns one of the
+// ANDROID_PRIORITY constants or a negative result in case of error.
+extern int androidGetThreadPriority(pid_t tid);
+
 // Get the current scheduling group of a particular thread. Normally returns
 // one of the ANDROID_TGROUP constants other than ANDROID_TGROUP_DEFAULT.
 // Returns ANDROID_TGROUP_DEFAULT if no pthread support (e.g. on host) or if
diff --git a/libs/binder/Parcel.cpp b/libs/binder/Parcel.cpp
index a0fc4d0..608877e 100644
--- a/libs/binder/Parcel.cpp
+++ b/libs/binder/Parcel.cpp
@@ -30,12 +30,14 @@
 #include <utils/TextOutput.h>
 #include <utils/misc.h>
 #include <utils/Flattenable.h>
+#include <cutils/ashmem.h>
 
 #include <private/binder/binder_module.h>
 
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
+#include <sys/mman.h>
 
 #ifndef INT32_MAX
 #define INT32_MAX ((int32_t)(2147483647))
@@ -54,6 +56,9 @@
 // Note: must be kept in sync with android/os/Parcel.java's EX_HAS_REPLY_HEADER
 #define EX_HAS_REPLY_HEADER -128
 
+// Maximum size of a blob to transfer in-place.
+static const size_t IN_PLACE_BLOB_LIMIT = 40 * 1024;
+
 // XXX This can be made public if we want to provide
 // support for typed data.
 struct small_flat_data
@@ -399,6 +404,8 @@
     mDataPos += len;
     mDataSize += len;
 
+    err = NO_ERROR;
+
     if (numObjects > 0) {
         // grow objects
         if (mObjectsCapacity < mObjectsSize + numObjects) {
@@ -430,11 +437,28 @@
                 flat->handle = dup(flat->handle);
                 flat->cookie = (void*)1;
                 mHasFds = mFdsKnown = true;
+                if (!mAllowFds) {
+                    err = FDS_NOT_ALLOWED;
+                }
             }
         }
     }
 
-    return NO_ERROR;
+    return err;
+}
+
+bool Parcel::pushAllowFds(bool allowFds)
+{
+    const bool origValue = mAllowFds;
+    if (!allowFds) {
+        mAllowFds = false;
+    }
+    return origValue;
+}
+
+void Parcel::restoreAllowFds(bool lastValue)
+{
+    mAllowFds = lastValue;
 }
 
 bool Parcel::hasFileDescriptors() const
@@ -706,6 +730,54 @@
     return writeObject(obj, true);
 }
 
+status_t Parcel::writeBlob(size_t len, WritableBlob* outBlob)
+{
+    status_t status;
+
+    if (!mAllowFds || len <= IN_PLACE_BLOB_LIMIT) {
+        LOGV("writeBlob: write in place");
+        status = writeInt32(0);
+        if (status) return status;
+
+        void* ptr = writeInplace(len);
+        if (!ptr) return NO_MEMORY;
+
+        outBlob->init(false /*mapped*/, ptr, len);
+        return NO_ERROR;
+    }
+
+    LOGV("writeBlob: write to ashmem");
+    int fd = ashmem_create_region("Parcel Blob", len);
+    if (fd < 0) return NO_MEMORY;
+
+    int result = ashmem_set_prot_region(fd, PROT_READ | PROT_WRITE);
+    if (result < 0) {
+        status = -result;
+    } else {
+        void* ptr = ::mmap(NULL, len, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
+        if (ptr == MAP_FAILED) {
+            status = -errno;
+        } else {
+            result = ashmem_set_prot_region(fd, PROT_READ);
+            if (result < 0) {
+                status = -result;
+            } else {
+                status = writeInt32(1);
+                if (!status) {
+                    status = writeFileDescriptor(fd);
+                    if (!status) {
+                        outBlob->init(true /*mapped*/, ptr, len);
+                        return NO_ERROR;
+                    }
+                }
+            }
+        }
+        ::munmap(ptr, len);
+    }
+    ::close(fd);
+    return status;
+}
+
 status_t Parcel::write(const Flattenable& val)
 {
     status_t err;
@@ -759,6 +831,9 @@
         
         // remember if it's a file descriptor
         if (val.type == BINDER_TYPE_FD) {
+            if (!mAllowFds) {
+                return FDS_NOT_ALLOWED;
+            }
             mHasFds = mFdsKnown = true;
         }
 
@@ -1025,6 +1100,32 @@
     return BAD_TYPE;
 }
 
+status_t Parcel::readBlob(size_t len, ReadableBlob* outBlob) const
+{
+    int32_t useAshmem;
+    status_t status = readInt32(&useAshmem);
+    if (status) return status;
+
+    if (!useAshmem) {
+        LOGV("readBlob: read in place");
+        const void* ptr = readInplace(len);
+        if (!ptr) return BAD_VALUE;
+
+        outBlob->init(false /*mapped*/, const_cast<void*>(ptr), len);
+        return NO_ERROR;
+    }
+
+    LOGV("readBlob: read from ashmem");
+    int fd = readFileDescriptor();
+    if (fd == int(BAD_TYPE)) return BAD_VALUE;
+
+    void* ptr = ::mmap(NULL, len, PROT_READ, MAP_SHARED, fd, 0);
+    if (!ptr) return NO_MEMORY;
+
+    outBlob->init(true /*mapped*/, ptr, len);
+    return NO_ERROR;
+}
+
 status_t Parcel::read(Flattenable& val) const
 {
     // size
@@ -1283,6 +1384,7 @@
     mNextObjectHint = 0;
     mHasFds = false;
     mFdsKnown = true;
+    mAllowFds = true;
     
     return NO_ERROR;
 }
@@ -1434,6 +1536,7 @@
     mNextObjectHint = 0;
     mHasFds = false;
     mFdsKnown = true;
+    mAllowFds = true;
     mOwner = NULL;
 }
 
@@ -1452,4 +1555,33 @@
     mFdsKnown = true;
 }
 
+// --- Parcel::Blob ---
+
+Parcel::Blob::Blob() :
+        mMapped(false), mData(NULL), mSize(0) {
+}
+
+Parcel::Blob::~Blob() {
+    release();
+}
+
+void Parcel::Blob::release() {
+    if (mMapped && mData) {
+        ::munmap(mData, mSize);
+    }
+    clear();
+}
+
+void Parcel::Blob::init(bool mapped, void* data, size_t size) {
+    mMapped = mapped;
+    mData = data;
+    mSize = size;
+}
+
+void Parcel::Blob::clear() {
+    mMapped = false;
+    mData = NULL;
+    mSize = 0;
+}
+
 }; // namespace android
diff --git a/libs/gui/SurfaceTexture.cpp b/libs/gui/SurfaceTexture.cpp
index 79a01a3..c72a45b 100644
--- a/libs/gui/SurfaceTexture.cpp
+++ b/libs/gui/SurfaceTexture.cpp
@@ -39,6 +39,12 @@
 
 #define ALLOW_DEQUEUE_CURRENT_BUFFER    false
 
+// Macros for including the SurfaceTexture name in log messages
+#define ST_LOGV(x, ...) LOGV("[%s] "x, mName.string(), ##__VA_ARGS__)
+#define ST_LOGD(x, ...) LOGD("[%s] "x, mName.string(), ##__VA_ARGS__)
+#define ST_LOGI(x, ...) LOGI("[%s] "x, mName.string(), ##__VA_ARGS__)
+#define ST_LOGW(x, ...) LOGW("[%s] "x, mName.string(), ##__VA_ARGS__)
+#define ST_LOGE(x, ...) LOGE("[%s] "x, mName.string(), ##__VA_ARGS__)
 
 namespace android {
 
@@ -82,7 +88,14 @@
 
 static void mtxMul(float out[16], const float a[16], const float b[16]);
 
-SurfaceTexture::SurfaceTexture(GLuint tex, bool allowSynchronousMode) :
+// Get an ID that's unique within this process.
+static int32_t createProcessUniqueId() {
+    static volatile int32_t globalCounter = 0;
+    return android_atomic_inc(&globalCounter);
+}
+
+SurfaceTexture::SurfaceTexture(GLuint tex, bool allowSynchronousMode,
+        GLenum texTarget) :
     mDefaultWidth(1),
     mDefaultHeight(1),
     mPixelFormat(PIXEL_FORMAT_RGBA_8888),
@@ -98,16 +111,21 @@
     mSynchronousMode(false),
     mAllowSynchronousMode(allowSynchronousMode),
     mConnectedApi(NO_CONNECTED_API),
-    mAbandoned(false) {
-    LOGV("SurfaceTexture::SurfaceTexture");
+    mAbandoned(false),
+    mTexTarget(texTarget) {
+    // Choose a name using the PID and a process-unique ID.
+    mName = String8::format("unnamed-%d-%d", getpid(), createProcessUniqueId());
+
+    ST_LOGV("SurfaceTexture::SurfaceTexture");
     sp<ISurfaceComposer> composer(ComposerService::getComposerService());
     mGraphicBufferAlloc = composer->createGraphicBufferAlloc();
     mNextCrop.makeInvalid();
-    memcpy(mCurrentTransformMatrix, mtxIdentity, sizeof(mCurrentTransformMatrix));
+    memcpy(mCurrentTransformMatrix, mtxIdentity,
+            sizeof(mCurrentTransformMatrix));
 }
 
 SurfaceTexture::~SurfaceTexture() {
-    LOGV("SurfaceTexture::~SurfaceTexture");
+    ST_LOGV("SurfaceTexture::~SurfaceTexture");
     freeAllBuffersLocked();
 }
 
@@ -151,22 +169,22 @@
 }
 
 status_t SurfaceTexture::setBufferCount(int bufferCount) {
-    LOGV("SurfaceTexture::setBufferCount");
+    ST_LOGV("SurfaceTexture::setBufferCount");
     Mutex::Autolock lock(mMutex);
 
     if (mAbandoned) {
-        LOGE("setBufferCount: SurfaceTexture has been abandoned!");
+        ST_LOGE("setBufferCount: SurfaceTexture has been abandoned!");
         return NO_INIT;
     }
     if (bufferCount > NUM_BUFFER_SLOTS) {
-        LOGE("setBufferCount: bufferCount larger than slots available");
+        ST_LOGE("setBufferCount: bufferCount larger than slots available");
         return BAD_VALUE;
     }
 
     // Error out if the user has dequeued buffers
     for (int i=0 ; i<mBufferCount ; i++) {
         if (mSlots[i].mBufferState == BufferSlot::DEQUEUED) {
-            LOGE("setBufferCount: client owns some buffers");
+            ST_LOGE("setBufferCount: client owns some buffers");
             return -EINVAL;
         }
     }
@@ -181,7 +199,7 @@
     }
 
     if (bufferCount < minBufferSlots) {
-        LOGE("setBufferCount: requested buffer count (%d) is less than "
+        ST_LOGE("setBufferCount: requested buffer count (%d) is less than "
                 "minimum (%d)", bufferCount, minBufferSlots);
         return BAD_VALUE;
     }
@@ -200,7 +218,8 @@
 status_t SurfaceTexture::setDefaultBufferSize(uint32_t w, uint32_t h)
 {
     if (!w || !h) {
-        LOGE("setDefaultBufferSize: dimensions cannot be 0 (w=%d, h=%d)", w, h);
+        ST_LOGE("setDefaultBufferSize: dimensions cannot be 0 (w=%d, h=%d)",
+                w, h);
         return BAD_VALUE;
     }
 
@@ -211,14 +230,14 @@
 }
 
 status_t SurfaceTexture::requestBuffer(int slot, sp<GraphicBuffer>* buf) {
-    LOGV("SurfaceTexture::requestBuffer");
+    ST_LOGV("SurfaceTexture::requestBuffer");
     Mutex::Autolock lock(mMutex);
     if (mAbandoned) {
-        LOGE("requestBuffer: SurfaceTexture has been abandoned!");
+        ST_LOGE("requestBuffer: SurfaceTexture has been abandoned!");
         return NO_INIT;
     }
     if (slot < 0 || mBufferCount <= slot) {
-        LOGE("requestBuffer: slot index out of range [0, %d]: %d",
+        ST_LOGE("requestBuffer: slot index out of range [0, %d]: %d",
                 mBufferCount, slot);
         return BAD_VALUE;
     }
@@ -229,10 +248,10 @@
 
 status_t SurfaceTexture::dequeueBuffer(int *outBuf, uint32_t w, uint32_t h,
         uint32_t format, uint32_t usage) {
-    LOGV("SurfaceTexture::dequeueBuffer");
+    ST_LOGV("SurfaceTexture::dequeueBuffer");
 
     if ((w && !h) || (!w && h)) {
-        LOGE("dequeueBuffer: invalid size: w=%u, h=%u", w, h);
+        ST_LOGE("dequeueBuffer: invalid size: w=%u, h=%u", w, h);
         return BAD_VALUE;
     }
 
@@ -245,7 +264,7 @@
     bool tryAgain = true;
     while (tryAgain) {
         if (mAbandoned) {
-            LOGE("dequeueBuffer: SurfaceTexture has been abandoned!");
+            ST_LOGE("dequeueBuffer: SurfaceTexture has been abandoned!");
             return NO_INIT;
         }
 
@@ -334,7 +353,8 @@
             // than allowed.
             const int avail = mBufferCount - (dequeuedCount+1);
             if (avail < (MIN_UNDEQUEUED_BUFFERS-int(mSynchronousMode))) {
-                LOGE("dequeueBuffer: MIN_UNDEQUEUED_BUFFERS=%d exceeded (dequeued=%d)",
+                ST_LOGE("dequeueBuffer: MIN_UNDEQUEUED_BUFFERS=%d exceeded "
+                        "(dequeued=%d)",
                         MIN_UNDEQUEUED_BUFFERS-int(mSynchronousMode),
                         dequeuedCount);
                 return -EBUSY;
@@ -391,7 +411,8 @@
                 mGraphicBufferAlloc->createGraphicBuffer(
                         w, h, format, usage, &error));
         if (graphicBuffer == 0) {
-            LOGE("dequeueBuffer: SurfaceComposer::createGraphicBuffer failed");
+            ST_LOGE("dequeueBuffer: SurfaceComposer::createGraphicBuffer "
+                    "failed");
             return error;
         }
         if (updateFormat) {
@@ -413,7 +434,7 @@
     Mutex::Autolock lock(mMutex);
 
     if (mAbandoned) {
-        LOGE("setSynchronousMode: SurfaceTexture has been abandoned!");
+        ST_LOGE("setSynchronousMode: SurfaceTexture has been abandoned!");
         return NO_INIT;
     }
 
@@ -441,29 +462,29 @@
 
 status_t SurfaceTexture::queueBuffer(int buf, int64_t timestamp,
         uint32_t* outWidth, uint32_t* outHeight, uint32_t* outTransform) {
-    LOGV("SurfaceTexture::queueBuffer");
+    ST_LOGV("SurfaceTexture::queueBuffer");
 
     sp<FrameAvailableListener> listener;
 
     { // scope for the lock
         Mutex::Autolock lock(mMutex);
         if (mAbandoned) {
-            LOGE("queueBuffer: SurfaceTexture has been abandoned!");
+            ST_LOGE("queueBuffer: SurfaceTexture has been abandoned!");
             return NO_INIT;
         }
         if (buf < 0 || buf >= mBufferCount) {
-            LOGE("queueBuffer: slot index out of range [0, %d]: %d",
+            ST_LOGE("queueBuffer: slot index out of range [0, %d]: %d",
                     mBufferCount, buf);
             return -EINVAL;
         } else if (mSlots[buf].mBufferState != BufferSlot::DEQUEUED) {
-            LOGE("queueBuffer: slot %d is not owned by the client (state=%d)",
-                    buf, mSlots[buf].mBufferState);
+            ST_LOGE("queueBuffer: slot %d is not owned by the client "
+                    "(state=%d)", buf, mSlots[buf].mBufferState);
             return -EINVAL;
         } else if (buf == mCurrentTexture) {
-            LOGE("queueBuffer: slot %d is current!", buf);
+            ST_LOGE("queueBuffer: slot %d is current!", buf);
             return -EINVAL;
         } else if (!mSlots[buf].mRequestBufferCalled) {
-            LOGE("queueBuffer: slot %d was enqueued without requesting a "
+            ST_LOGE("queueBuffer: slot %d was enqueued without requesting a "
                     "buffer", buf);
             return -EINVAL;
         }
@@ -513,20 +534,20 @@
 }
 
 void SurfaceTexture::cancelBuffer(int buf) {
-    LOGV("SurfaceTexture::cancelBuffer");
+    ST_LOGV("SurfaceTexture::cancelBuffer");
     Mutex::Autolock lock(mMutex);
 
     if (mAbandoned) {
-        LOGW("cancelBuffer: SurfaceTexture has been abandoned!");
+        ST_LOGW("cancelBuffer: SurfaceTexture has been abandoned!");
         return;
     }
 
     if (buf < 0 || buf >= mBufferCount) {
-        LOGE("cancelBuffer: slot index out of range [0, %d]: %d",
+        ST_LOGE("cancelBuffer: slot index out of range [0, %d]: %d",
                 mBufferCount, buf);
         return;
     } else if (mSlots[buf].mBufferState != BufferSlot::DEQUEUED) {
-        LOGE("cancelBuffer: slot %d is not owned by the client (state=%d)",
+        ST_LOGE("cancelBuffer: slot %d is not owned by the client (state=%d)",
                 buf, mSlots[buf].mBufferState);
         return;
     }
@@ -535,10 +556,10 @@
 }
 
 status_t SurfaceTexture::setCrop(const Rect& crop) {
-    LOGV("SurfaceTexture::setCrop");
+    ST_LOGV("SurfaceTexture::setCrop");
     Mutex::Autolock lock(mMutex);
     if (mAbandoned) {
-        LOGE("setCrop: SurfaceTexture has been abandoned!");
+        ST_LOGE("setCrop: SurfaceTexture has been abandoned!");
         return NO_INIT;
     }
     mNextCrop = crop;
@@ -546,10 +567,10 @@
 }
 
 status_t SurfaceTexture::setTransform(uint32_t transform) {
-    LOGV("SurfaceTexture::setTransform");
+    ST_LOGV("SurfaceTexture::setTransform");
     Mutex::Autolock lock(mMutex);
     if (mAbandoned) {
-        LOGE("setTransform: SurfaceTexture has been abandoned!");
+        ST_LOGE("setTransform: SurfaceTexture has been abandoned!");
         return NO_INIT;
     }
     mNextTransform = transform;
@@ -558,11 +579,11 @@
 
 status_t SurfaceTexture::connect(int api,
         uint32_t* outWidth, uint32_t* outHeight, uint32_t* outTransform) {
-    LOGV("SurfaceTexture::connect(this=%p, %d)", this, api);
+    ST_LOGV("SurfaceTexture::connect(this=%p, %d)", this, api);
     Mutex::Autolock lock(mMutex);
 
     if (mAbandoned) {
-        LOGE("connect: SurfaceTexture has been abandoned!");
+        ST_LOGE("connect: SurfaceTexture has been abandoned!");
         return NO_INIT;
     }
 
@@ -573,7 +594,7 @@
         case NATIVE_WINDOW_API_MEDIA:
         case NATIVE_WINDOW_API_CAMERA:
             if (mConnectedApi != NO_CONNECTED_API) {
-                LOGE("connect: already connected (cur=%d, req=%d)",
+                ST_LOGE("connect: already connected (cur=%d, req=%d)",
                         mConnectedApi, api);
                 err = -EINVAL;
             } else {
@@ -591,11 +612,11 @@
 }
 
 status_t SurfaceTexture::disconnect(int api) {
-    LOGV("SurfaceTexture::disconnect(this=%p, %d)", this, api);
+    ST_LOGV("SurfaceTexture::disconnect(this=%p, %d)", this, api);
     Mutex::Autolock lock(mMutex);
 
     if (mAbandoned) {
-        LOGE("connect: SurfaceTexture has been abandoned!");
+        ST_LOGE("disconnect: SurfaceTexture has been abandoned!");
         return NO_INIT;
     }
 
@@ -613,7 +634,7 @@
                 mNextTransform = 0;
                 mDequeueCondition.signal();
             } else {
-                LOGE("disconnect: connected to another api (cur=%d, req=%d)",
+                ST_LOGE("disconnect: connected to another api (cur=%d, req=%d)",
                         mConnectedApi, api);
                 err = -EINVAL;
             }
@@ -626,7 +647,7 @@
 }
 
 status_t SurfaceTexture::setScalingMode(int mode) {
-    LOGV("SurfaceTexture::setScalingMode(%d)", mode);
+    ST_LOGV("SurfaceTexture::setScalingMode(%d)", mode);
 
     switch (mode) {
         case NATIVE_WINDOW_SCALING_MODE_FREEZE:
@@ -642,11 +663,11 @@
 }
 
 status_t SurfaceTexture::updateTexImage() {
-    LOGV("SurfaceTexture::updateTexImage");
+    ST_LOGV("SurfaceTexture::updateTexImage");
     Mutex::Autolock lock(mMutex);
 
     if (mAbandoned) {
-        LOGE("calling updateTexImage() on an abandoned SurfaceTexture");
+        ST_LOGE("calling updateTexImage() on an abandoned SurfaceTexture");
         return NO_INIT;
     }
 
@@ -661,7 +682,7 @@
         if (image == EGL_NO_IMAGE_KHR) {
             EGLDisplay dpy = eglGetCurrentDisplay();
             if (mSlots[buf].mGraphicBuffer == 0) {
-                LOGE("buffer at slot %d is null", buf);
+                ST_LOGE("buffer at slot %d is null", buf);
                 return BAD_VALUE;
             }
             image = createImage(dpy, mSlots[buf].mGraphicBuffer);
@@ -676,15 +697,15 @@
 
         GLint error;
         while ((error = glGetError()) != GL_NO_ERROR) {
-            LOGW("updateTexImage: clearing GL error: %#04x", error);
+            ST_LOGW("updateTexImage: clearing GL error: %#04x", error);
         }
 
-        glBindTexture(GL_TEXTURE_EXTERNAL_OES, mTexName);
-        glEGLImageTargetTexture2DOES(GL_TEXTURE_EXTERNAL_OES, (GLeglImageOES)image);
+        glBindTexture(mTexTarget, mTexName);
+        glEGLImageTargetTexture2DOES(mTexTarget, (GLeglImageOES)image);
 
         bool failed = false;
         while ((error = glGetError()) != GL_NO_ERROR) {
-            LOGE("error binding external texture image %p (slot %d): %#04x",
+            ST_LOGE("error binding external texture image %p (slot %d): %#04x",
                     image, buf, error);
             failed = true;
         }
@@ -715,7 +736,7 @@
         mDequeueCondition.signal();
     } else {
         // We always bind the texture even if we don't update its contents.
-        glBindTexture(GL_TEXTURE_EXTERNAL_OES, mTexName);
+        glBindTexture(mTexTarget, mTexName);
     }
 
     return OK;
@@ -741,7 +762,7 @@
 }
 
 GLenum SurfaceTexture::getCurrentTextureTarget() const {
-    return GL_TEXTURE_EXTERNAL_OES;
+    return mTexTarget;
 }
 
 void SurfaceTexture::getTransformMatrix(float mtx[16]) {
@@ -750,7 +771,7 @@
 }
 
 void SurfaceTexture::computeCurrentTransformMatrix() {
-    LOGV("SurfaceTexture::computeCurrentTransformMatrix");
+    ST_LOGV("SurfaceTexture::computeCurrentTransformMatrix");
 
     float xform[16];
     for (int i = 0; i < 16; i++) {
@@ -841,14 +862,14 @@
 }
 
 nsecs_t SurfaceTexture::getTimestamp() {
-    LOGV("SurfaceTexture::getTimestamp");
+    ST_LOGV("SurfaceTexture::getTimestamp");
     Mutex::Autolock lock(mMutex);
     return mCurrentTimestamp;
 }
 
 void SurfaceTexture::setFrameAvailableListener(
         const sp<FrameAvailableListener>& listener) {
-    LOGV("SurfaceTexture::setFrameAvailableListener");
+    ST_LOGV("SurfaceTexture::setFrameAvailableListener");
     Mutex::Autolock lock(mMutex);
     mFrameAvailableListener = listener;
 }
@@ -892,11 +913,11 @@
     while (mSynchronousMode && !mQueue.isEmpty()) {
         mDequeueCondition.wait(mMutex);
         if (mAbandoned) {
-            LOGE("drainQueueLocked: SurfaceTexture has been abandoned!");
+            ST_LOGE("drainQueueLocked: SurfaceTexture has been abandoned!");
             return NO_INIT;
         }
         if (mConnectedApi == NO_CONNECTED_API) {
-            LOGE("drainQueueLocked: SurfaceTexture is not connected!");
+            ST_LOGE("drainQueueLocked: SurfaceTexture is not connected!");
             return NO_INIT;
         }
     }
@@ -926,7 +947,7 @@
             EGL_NATIVE_BUFFER_ANDROID, cbuf, attrs);
     if (image == EGL_NO_IMAGE_KHR) {
         EGLint error = eglGetError();
-        LOGE("error creating EGLImage: %#x", error);
+        ST_LOGE("error creating EGLImage: %#x", error);
     }
     return image;
 }
@@ -956,7 +977,7 @@
     Mutex::Autolock lock(mMutex);
 
     if (mAbandoned) {
-        LOGE("query: SurfaceTexture has been abandoned!");
+        ST_LOGE("query: SurfaceTexture has been abandoned!");
         return NO_INIT;
     }
 
@@ -991,6 +1012,10 @@
     mDequeueCondition.signal();
 }
 
+void SurfaceTexture::setName(const String8& name) {
+    mName = name;
+}
+
 void SurfaceTexture::dump(String8& result) const
 {
     char buffer[1024];
@@ -1004,8 +1029,8 @@
     snprintf(buffer, SIZE,
             "%smBufferCount=%d, mSynchronousMode=%d, default-size=[%dx%d], "
             "mPixelFormat=%d, mTexName=%d\n",
-            prefix, mBufferCount, mSynchronousMode, mDefaultWidth, mDefaultHeight,
-            mPixelFormat, mTexName);
+            prefix, mBufferCount, mSynchronousMode, mDefaultWidth,
+            mDefaultHeight, mPixelFormat, mTexName);
     result.append(buffer);
 
     String8 fifo;
@@ -1024,8 +1049,8 @@
             prefix, mCurrentCrop.left,
             mCurrentCrop.top, mCurrentCrop.right, mCurrentCrop.bottom,
             mCurrentTransform, mCurrentTexture,
-            prefix, mNextCrop.left, mNextCrop.top, mNextCrop.right, mNextCrop.bottom,
-            mNextTransform, fifoSize, fifo.string()
+            prefix, mNextCrop.left, mNextCrop.top, mNextCrop.right,
+            mNextCrop.bottom, mNextTransform, fifoSize, fifo.string()
     );
     result.append(buffer);
 
@@ -1048,8 +1073,8 @@
                 "transform=0x%02x, timestamp=%lld",
                 prefix, (i==mCurrentTexture)?">":" ", i,
                 stateName(slot.mBufferState),
-                slot.mCrop.left, slot.mCrop.top, slot.mCrop.right, slot.mCrop.bottom,
-                slot.mTransform, slot.mTimestamp
+                slot.mCrop.left, slot.mCrop.top, slot.mCrop.right,
+                slot.mCrop.bottom, slot.mTransform, slot.mTimestamp
         );
         result.append(buffer);
 
@@ -1057,7 +1082,8 @@
         if (buf != NULL) {
             snprintf(buffer, SIZE,
                     ", %p [%4ux%4u:%4u,%3X]",
-                    buf->handle, buf->width, buf->height, buf->stride, buf->format);
+                    buf->handle, buf->width, buf->height, buf->stride,
+                    buf->format);
             result.append(buffer);
         }
         result.append("\n");
diff --git a/libs/hwui/LayerRenderer.cpp b/libs/hwui/LayerRenderer.cpp
index a398673..349b9e3 100644
--- a/libs/hwui/LayerRenderer.cpp
+++ b/libs/hwui/LayerRenderer.cpp
@@ -31,20 +31,16 @@
 // Rendering
 ///////////////////////////////////////////////////////////////////////////////
 
-Rect* gHackDontCorruptRegisters;
-
 void LayerRenderer::prepareDirty(float left, float top, float right, float bottom, bool opaque) {
     LAYER_RENDERER_LOGD("Rendering into layer, fbo = %d", mLayer->getFbo());
 
-    Rect dirty(left, top, right, bottom);
-    gHackDontCorruptRegisters = &dirty;
-
     glBindFramebuffer(GL_FRAMEBUFFER, mLayer->getFbo());
 
     const float width = mLayer->layer.getWidth();
     const float height = mLayer->layer.getHeight();
 
 #if RENDER_LAYERS_AS_REGIONS
+    Rect dirty(left, top, right, bottom);
     if (dirty.isEmpty() || (dirty.left <= 0 && dirty.top <= 0 &&
             dirty.right >= width && dirty.bottom >= height)) {
         mLayer->region.clear();
diff --git a/libs/hwui/Rect.h b/libs/hwui/Rect.h
index 71951b7..edc90e1 100644
--- a/libs/hwui/Rect.h
+++ b/libs/hwui/Rect.h
@@ -28,7 +28,19 @@
 // Structs
 ///////////////////////////////////////////////////////////////////////////////
 
-struct Rect {
+class Rect {
+    static inline float min(float a, float b) { return (a<b) ? a : b; }
+    static inline float max(float a, float b) { return (a>b) ? a : b; }
+    Rect intersectWith(float l, float t, float r, float b) const {
+        Rect tmp;
+        tmp.left    = max(left, l);
+        tmp.top     = max(top, t);
+        tmp.right   = min(right, r);
+        tmp.bottom  = min(bottom, b);
+        return tmp;
+    }
+
+public:
     float left;
     float top;
     float right;
@@ -37,6 +49,9 @@
     // Used by Region
     typedef float value_type;
 
+    // we don't provide copy-ctor and operator= on purpose
+    // because we want the compiler generated versions
+
     inline Rect():
             left(0),
             top(0),
@@ -58,24 +73,6 @@
             bottom(height) {
     }
 
-    inline Rect(const Rect& r) {
-        set(r);
-    }
-
-    inline Rect(Rect& r) {
-        set(r);
-    }
-
-    Rect& operator=(const Rect& r) {
-        set(r);
-        return *this;
-    }
-
-    Rect& operator=(Rect& r) {
-        set(r);
-        return *this;
-    }
-
     friend int operator==(const Rect& a, const Rect& b) {
         return !memcmp(&a, &b, sizeof(a));
     }
@@ -89,7 +86,9 @@
     }
 
     inline bool isEmpty() const {
-        return left >= right || top >= bottom;
+        // this is written in such way this it'll handle NANs to return
+        // true (empty)
+        return !((left < right) && (top < bottom));
     }
 
     inline void setEmpty() {
@@ -115,27 +114,18 @@
         return bottom - top;
     }
 
-    bool intersects(float left, float top, float right, float bottom) const {
-        return left < right && top < bottom &&
-                this->left < this->right && this->top < this->bottom &&
-                this->left < right && left < this->right &&
-                this->top < bottom && top < this->bottom;
+    bool intersects(float l, float t, float r, float b) const {
+        return !intersectWith(l,t,r,b).isEmpty();
     }
 
     bool intersects(const Rect& r) const {
         return intersects(r.left, r.top, r.right, r.bottom);
     }
 
-    bool intersect(float left, float top, float right, float bottom) {
-        if (left < right && top < bottom && !this->isEmpty() &&
-                this->left < right && left < this->right &&
-                this->top < bottom && top < this->bottom) {
-
-            if (this->left < left) this->left = left;
-            if (this->top < top) this->top = top;
-            if (this->right > right) this->right = right;
-            if (this->bottom > bottom) this->bottom = bottom;
-
+    bool intersect(float l, float t, float r, float b) {
+        Rect tmp(intersectWith(l,t,r,b));
+        if (!tmp.isEmpty()) {
+            set(tmp);
             return true;
         }
         return false;
@@ -182,7 +172,7 @@
         LOGD("Rect[l=%f t=%f r=%f b=%f]", left, top, right, bottom);
     }
 
-}; // struct Rect
+}; // class Rect
 
 }; // namespace uirenderer
 }; // namespace android
diff --git a/libs/hwui/Snapshot.h b/libs/hwui/Snapshot.h
index bd70319..d51154d 100644
--- a/libs/hwui/Snapshot.h
+++ b/libs/hwui/Snapshot.h
@@ -70,13 +70,6 @@
             clipRect = s->clipRect;
         }
 
-        if ((s->flags & Snapshot::kFlagClipSet) &&
-                !(s->flags & Snapshot::kFlagDirtyLocalClip)) {
-            mLocalClip.set(s->mLocalClip);
-        } else {
-            flags |= Snapshot::kFlagDirtyLocalClip;
-        }
-
         if (s->flags & Snapshot::kFlagFboTarget) {
             flags |= Snapshot::kFlagFboTarget;
             region = s->region;
@@ -106,18 +99,14 @@
          */
         kFlagIsFboLayer = 0x4,
         /**
-         * Indicates that the local clip should be recomputed.
-         */
-        kFlagDirtyLocalClip = 0x8,
-        /**
          * Indicates that this snapshot has changed the ortho matrix.
          */
-        kFlagDirtyOrtho = 0x10,
+        kFlagDirtyOrtho = 0x8,
         /**
          * Indicates that this snapshot or an ancestor snapshot is
          * an FBO layer.
          */
-        kFlagFboTarget = 0x20
+        kFlagFboTarget = 0x10
     };
 
     /**
@@ -169,7 +158,7 @@
         }
 
         if (clipped) {
-            flags |= Snapshot::kFlagClipSet | Snapshot::kFlagDirtyLocalClip;
+            flags |= Snapshot::kFlagClipSet;
         }
 
         return clipped;
@@ -180,19 +169,16 @@
      */
     void setClip(float left, float top, float right, float bottom) {
         clipRect->set(left, top, right, bottom);
-        flags |= Snapshot::kFlagClipSet | Snapshot::kFlagDirtyLocalClip;
+        flags |= Snapshot::kFlagClipSet;
     }
 
     const Rect& getLocalClip() {
-        if (flags & Snapshot::kFlagDirtyLocalClip) {
-            mat4 inverse;
-            inverse.loadInverse(*transform);
+        mat4 inverse;
+        inverse.loadInverse(*transform);
 
-            mLocalClip.set(*clipRect);
-            inverse.mapRect(mLocalClip);
+        mLocalClip.set(*clipRect);
+        inverse.mapRect(mLocalClip);
 
-            flags &= ~Snapshot::kFlagDirtyLocalClip;
-        }
         return mLocalClip;
     }
 
@@ -204,7 +190,7 @@
     void resetClip(float left, float top, float right, float bottom) {
         clipRect = &mClipRectRoot;
         clipRect->set(left, top, right, bottom);
-        flags |= Snapshot::kFlagClipSet | Snapshot::kFlagDirtyLocalClip;
+        flags |= Snapshot::kFlagClipSet;
     }
 
     bool isIgnored() const {
diff --git a/libs/hwui/TextDropShadowCache.h b/libs/hwui/TextDropShadowCache.h
index 28dba13..e2bdde1 100644
--- a/libs/hwui/TextDropShadowCache.h
+++ b/libs/hwui/TextDropShadowCache.h
@@ -81,7 +81,7 @@
                         LTE_INT(flags) {
                             LTE_INT(italicStyle) {
                                 LTE_INT(scaleX) {
-                                    return strncmp16(text, rhs.text, len >> 1) < 0;
+                                    return memcmp(text, rhs.text, len) < 0;
                                 }
                             }
                         }
diff --git a/libs/rs/driver/rsdBcc.cpp b/libs/rs/driver/rsdBcc.cpp
index 0755fb7..5fd5c35 100644
--- a/libs/rs/driver/rsdBcc.cpp
+++ b/libs/rs/driver/rsdBcc.cpp
@@ -302,7 +302,10 @@
     DrvScript *drv = (DrvScript *)s->mHal.drv;
     // We only support slot 0 (root) at this point in time.
     rsAssert(slot == 0);
-    mtls.sig = drv->mExportForEachSignatureList[slot];
+    mtls.sig = 0x1f;  // temp fix for old apps, full table in slang_rs_export_foreach.cpp
+    if (drv->mExportForEachSignatureList) {
+        mtls.sig = drv->mExportForEachSignatureList[slot];
+    }
     if (ain) {
         mtls.dimX = ain->getType()->getDimX();
         mtls.dimY = ain->getType()->getDimY();
diff --git a/libs/rs/driver/rsdCore.cpp b/libs/rs/driver/rsdCore.cpp
index a38fff77..f8107d9 100644
--- a/libs/rs/driver/rsdCore.cpp
+++ b/libs/rs/driver/rsdCore.cpp
@@ -219,7 +219,7 @@
 
 
     int cpu = sysconf(_SC_NPROCESSORS_ONLN);
-    LOGV("RS Launching thread(s), reported CPU count %i", cpu);
+    LOGV("%p Launching thread(s), CPUs %i", rsc, cpu);
     if (cpu < 2) cpu = 0;
 
     dc->mWorkers.mCount = (uint32_t)cpu;
diff --git a/libs/rs/driver/rsdGL.cpp b/libs/rs/driver/rsdGL.cpp
index c5b81db..98d9486 100644
--- a/libs/rs/driver/rsdGL.cpp
+++ b/libs/rs/driver/rsdGL.cpp
@@ -129,11 +129,8 @@
 
     dc->gl.shaderCache->cleanupAll();
     delete dc->gl.shaderCache;
-
     delete dc->gl.vertexArrayState;
 
-    LOGV("%p, deinitEGL", rsc);
-
     if (dc->gl.egl.context != EGL_NO_CONTEXT) {
         RSD_CALL_GL(eglMakeCurrent, dc->gl.egl.display,
                     EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
@@ -363,7 +360,7 @@
     dc->gl.vertexArrayState->init(dc->gl.gl.maxVertexAttribs);
     dc->gl.currentFrameBuffer = NULL;
 
-    LOGV("initGLThread end %p", rsc);
+    LOGV("%p initGLThread end", rsc);
     rsc->setWatchdogGL(NULL, 0, NULL);
     return true;
 }
diff --git a/libs/rs/rs.spec b/libs/rs/rs.spec
index f277582..20b1f52 100644
--- a/libs/rs/rs.spec
+++ b/libs/rs/rs.spec
@@ -329,10 +329,7 @@
 
 ProgramRasterCreate {
 	direct
-	param bool pointSmooth
-	param bool lineSmooth
 	param bool pointSprite
-	param float lineWidth
 	param RsCullMode cull
 	ret RsProgramRaster
 }
diff --git a/libs/rs/rsContext.cpp b/libs/rs/rsContext.cpp
index 948d51c..53d4970 100644
--- a/libs/rs/rsContext.cpp
+++ b/libs/rs/rsContext.cpp
@@ -37,11 +37,10 @@
 
 bool Context::initGLThread() {
     pthread_mutex_lock(&gInitMutex);
-    LOGV("initGLThread start %p", this);
 
     if (!mHal.funcs.initGraphics(this)) {
         pthread_mutex_unlock(&gInitMutex);
-        LOGE("%p, initGraphics failed", this);
+        LOGE("%p initGraphics failed", this);
         return false;
     }
 
@@ -50,7 +49,6 @@
 }
 
 void Context::deinitEGL() {
-    LOGV("%p, deinitEGL", this);
     mHal.funcs.shutdownGraphics(this);
 }
 
@@ -284,7 +282,7 @@
         }
     }
 
-    LOGV("%p, RS Thread exiting", rsc);
+    LOGV("%p RS Thread exiting", rsc);
 
     if (rsc->mIsGraphicsContext) {
         pthread_mutex_lock(&gInitMutex);
@@ -292,7 +290,7 @@
         pthread_mutex_unlock(&gInitMutex);
     }
 
-    LOGV("%p, RS Thread exited", rsc);
+    LOGV("%p RS Thread exited", rsc);
     return NULL;
 }
 
@@ -426,7 +424,7 @@
 }
 
 Context::~Context() {
-    LOGV("Context::~Context");
+    LOGV("%p Context::~Context", this);
 
     if (!mIsContextLite) {
         mIO.coreFlush();
@@ -450,7 +448,7 @@
         }
         pthread_mutex_unlock(&gInitMutex);
     }
-    LOGV("Context::~Context done");
+    LOGV("%p Context::~Context done", this);
 }
 
 void Context::setSurface(uint32_t w, uint32_t h, RsNativeWindow sur) {
@@ -667,10 +665,10 @@
 }
 
 void rsi_ContextDestroy(Context *rsc) {
-    LOGV("rsContextDestroy %p", rsc);
+    LOGV("%p rsContextDestroy", rsc);
     rsContextDestroyWorker(rsc);
     delete rsc;
-    LOGV("rsContextDestroy 2 %p", rsc);
+    LOGV("%p rsContextDestroy done", rsc);
 }
 
 
@@ -701,7 +699,7 @@
 
 RsContext rsContextCreate(RsDevice vdev, uint32_t version,
                           uint32_t sdkVersion) {
-    LOGV("rsContextCreate %p", vdev);
+    LOGV("rsContextCreate dev=%p", vdev);
     Device * dev = static_cast<Device *>(vdev);
     Context *rsc = Context::createContext(dev, NULL);
     if (rsc) {
@@ -713,14 +711,14 @@
 RsContext rsContextCreateGL(RsDevice vdev, uint32_t version,
                             uint32_t sdkVersion, RsSurfaceConfig sc,
                             uint32_t dpi) {
-    LOGV("rsContextCreateGL %p", vdev);
+    LOGV("rsContextCreateGL dev=%p", vdev);
     Device * dev = static_cast<Device *>(vdev);
     Context *rsc = Context::createContext(dev, &sc);
     if (rsc) {
         rsc->setTargetSdkVersion(sdkVersion);
         rsc->setDPI(dpi);
     }
-    LOGV("rsContextCreateGL ret %p ", rsc);
+    LOGV("%p rsContextCreateGL ret", rsc);
     return rsc;
 }
 
diff --git a/libs/rs/rsProgramRaster.cpp b/libs/rs/rsProgramRaster.cpp
index 945b5ec..94bfe42 100644
--- a/libs/rs/rsProgramRaster.cpp
+++ b/libs/rs/rsProgramRaster.cpp
@@ -21,19 +21,12 @@
 using namespace android::renderscript;
 
 
-ProgramRaster::ProgramRaster(Context *rsc, bool pointSmooth,
-                             bool lineSmooth, bool pointSprite,
-                             float lineWidth, RsCullMode cull)
+ProgramRaster::ProgramRaster(Context *rsc, bool pointSprite, RsCullMode cull)
     : ProgramBase(rsc) {
 
     memset(&mHal, 0, sizeof(mHal));
-
-    mHal.state.pointSmooth = pointSmooth;
-    mHal.state.lineSmooth = lineSmooth;
     mHal.state.pointSprite = pointSprite;
-    mHal.state.lineWidth = lineWidth;
     mHal.state.cull = cull;
-
     rsc->mHal.funcs.raster.init(rsc, this);
 }
 
@@ -74,8 +67,7 @@
 }
 
 void ProgramRasterState::init(Context *rsc) {
-    mDefault.set(ProgramRaster::getProgramRaster(rsc, false, false,
-                                                 false, 1.f, RS_CULL_BACK).get());
+    mDefault.set(ProgramRaster::getProgramRaster(rsc, false, RS_CULL_BACK).get());
 }
 
 void ProgramRasterState::deinit(Context *rsc) {
@@ -84,19 +76,13 @@
 }
 
 ObjectBaseRef<ProgramRaster> ProgramRaster::getProgramRaster(Context *rsc,
-                                                             bool pointSmooth,
-                                                             bool lineSmooth,
                                                              bool pointSprite,
-                                                             float lineWidth,
                                                              RsCullMode cull) {
     ObjectBaseRef<ProgramRaster> returnRef;
     ObjectBase::asyncLock();
     for (uint32_t ct = 0; ct < rsc->mStateRaster.mRasterPrograms.size(); ct++) {
         ProgramRaster *existing = rsc->mStateRaster.mRasterPrograms[ct];
-        if (existing->mHal.state.pointSmooth != pointSmooth) continue;
-        if (existing->mHal.state.lineSmooth != lineSmooth) continue;
         if (existing->mHal.state.pointSprite != pointSprite) continue;
-        if (existing->mHal.state.lineWidth != lineWidth) continue;
         if (existing->mHal.state.cull != cull) continue;
         returnRef.set(existing);
         ObjectBase::asyncUnlock();
@@ -104,8 +90,7 @@
     }
     ObjectBase::asyncUnlock();
 
-    ProgramRaster *pr = new ProgramRaster(rsc, pointSmooth,
-                                          lineSmooth, pointSprite, lineWidth, cull);
+    ProgramRaster *pr = new ProgramRaster(rsc, pointSprite, cull);
     returnRef.set(pr);
 
     ObjectBase::asyncLock();
@@ -118,10 +103,8 @@
 namespace android {
 namespace renderscript {
 
-RsProgramRaster rsi_ProgramRasterCreate(Context * rsc, bool pointSmooth, bool lineSmooth,
-                                        bool pointSprite, float lineWidth, RsCullMode cull) {
-    ObjectBaseRef<ProgramRaster> pr = ProgramRaster::getProgramRaster(rsc, pointSmooth, lineSmooth,
-                                                                      pointSprite, lineWidth, cull);
+RsProgramRaster rsi_ProgramRasterCreate(Context * rsc, bool pointSprite, RsCullMode cull) {
+    ObjectBaseRef<ProgramRaster> pr = ProgramRaster::getProgramRaster(rsc, pointSprite, cull);
     pr->incUserRef();
     return pr.get();
 }
diff --git a/libs/rs/rsProgramRaster.h b/libs/rs/rsProgramRaster.h
index 09d7d54..20af30a 100644
--- a/libs/rs/rsProgramRaster.h
+++ b/libs/rs/rsProgramRaster.h
@@ -33,19 +33,13 @@
     static ProgramRaster *createFromStream(Context *rsc, IStream *stream);
 
     static ObjectBaseRef<ProgramRaster> getProgramRaster(Context *rsc,
-                                                         bool pointSmooth,
-                                                         bool lineSmooth,
                                                          bool pointSprite,
-                                                         float lineWidth,
                                                          RsCullMode cull);
     struct Hal {
         mutable void *drv;
 
         struct State {
-            bool pointSmooth;
-            bool lineSmooth;
             bool pointSprite;
-            float lineWidth;
             RsCullMode cull;
         };
         State state;
@@ -58,10 +52,7 @@
 
 private:
     ProgramRaster(Context *rsc,
-                  bool pointSmooth,
-                  bool lineSmooth,
                   bool pointSprite,
-                  float lineWidth,
                   RsCullMode cull);
 
 };
diff --git a/libs/rs/scriptc/rs_allocation.rsh b/libs/rs/scriptc/rs_allocation.rsh
index 1e755cd..154a099 100644
--- a/libs/rs/scriptc/rs_allocation.rsh
+++ b/libs/rs/scriptc/rs_allocation.rsh
@@ -71,6 +71,8 @@
 extern uint32_t __attribute__((overloadable))
     rsAllocationGetDimFaces(rs_allocation);
 
+#if (defined(RS_VERSION) && (RS_VERSION >= 14))
+
 /**
  * Copy part of an allocation from another allocation.
  *
@@ -123,6 +125,7 @@
                             uint32_t srcMip,
                             rs_allocation_cubemap_face srcFace);
 
+#endif //defined(RS_VERSION) && (RS_VERSION >= 14)
 
 /**
  * Extract a single element from an allocation.
diff --git a/libs/rs/scriptc/rs_atomic.rsh b/libs/rs/scriptc/rs_atomic.rsh
index 95513ad..87c6c02 100644
--- a/libs/rs/scriptc/rs_atomic.rsh
+++ b/libs/rs/scriptc/rs_atomic.rsh
@@ -23,6 +23,7 @@
 #ifndef __RS_ATOMIC_RSH__
 #define __RS_ATOMIC_RSH__
 
+#if (defined(RS_VERSION) && (RS_VERSION >= 14))
 
 /**
  * Atomic add one to the value at addr.
@@ -243,6 +244,7 @@
 extern uint32_t __attribute__((overloadable))
     rsAtomicCas(volatile uint32_t* addr, int32_t compareValue, int32_t newValue);
 
+#endif //defined(RS_VERSION) && (RS_VERSION >= 14)
 
 #endif
 
diff --git a/libs/rs/scriptc/rs_graphics.rsh b/libs/rs/scriptc/rs_graphics.rsh
index 00fd1b1..3e9339e 100644
--- a/libs/rs/scriptc/rs_graphics.rsh
+++ b/libs/rs/scriptc/rs_graphics.rsh
@@ -23,6 +23,7 @@
 #ifndef __RS_GRAPHICS_RSH__
 #define __RS_GRAPHICS_RSH__
 
+#if (defined(RS_VERSION) && (RS_VERSION >= 14))
 /**
  * Set the color target used for all subsequent rendering calls
  * @param colorTarget
@@ -64,6 +65,8 @@
 extern uint __attribute__((overloadable))
     rsgFinish(void);
 
+#endif //defined(RS_VERSION) && (RS_VERSION >= 14)
+
 /**
  * Bind a new ProgramFragment to the rendering context.
  *
@@ -187,6 +190,8 @@
 extern void __attribute__((overloadable))
     rsgAllocationSyncAll(rs_allocation alloc);
 
+#if (defined(RS_VERSION) && (RS_VERSION >= 14))
+
 /**
  * Sync the contents of an allocation from memory space
  * specified by source.
@@ -198,6 +203,8 @@
     rsgAllocationSyncAll(rs_allocation alloc,
                          rs_allocation_usage_type source);
 
+#endif //defined(RS_VERSION) && (RS_VERSION >= 14)
+
 /**
  * Low performance utility function for drawing a simple rectangle.  Not
  * intended for drawing large quantities of geometry.
diff --git a/libs/rs/scriptc/rs_matrix.rsh b/libs/rs/scriptc/rs_matrix.rsh
index ab3cd3b..ebff7f4 100644
--- a/libs/rs/scriptc/rs_matrix.rsh
+++ b/libs/rs/scriptc/rs_matrix.rsh
@@ -308,7 +308,7 @@
 #else
 /**
  * Multiply a vector by a matrix and return the result vector.
- * API version 10-13
+ * API version 14+
  */
 _RS_RUNTIME float4 __attribute__((overloadable))
 rsMatrixMultiply(const rs_matrix4x4 *m, float4 in);
diff --git a/libs/rs/scriptc/rs_types.rsh b/libs/rs/scriptc/rs_types.rsh
index 5d5df60..e9c3c5e 100644
--- a/libs/rs/scriptc/rs_types.rsh
+++ b/libs/rs/scriptc/rs_types.rsh
@@ -366,6 +366,7 @@
 #define RS_PACKED __attribute__((packed, aligned(4)))
 #define NULL ((const void *)0)
 
+#if (defined(RS_VERSION) && (RS_VERSION >= 14))
 
 /**
  * \brief Enum for selecting cube map faces
@@ -393,4 +394,6 @@
     RS_ALLOCATION_USAGE_GRAPHICS_RENDER_TARGET = 0x0010
 } rs_allocation_usage_type;
 
+#endif //defined(RS_VERSION) && (RS_VERSION >= 14)
+
 #endif
diff --git a/libs/utils/Android.mk b/libs/utils/Android.mk
index e4eadbd..638f72f 100644
--- a/libs/utils/Android.mk
+++ b/libs/utils/Android.mk
@@ -100,12 +100,8 @@
 LOCAL_SHARED_LIBRARIES := \
 	libz \
 	liblog \
-	libcutils
-
-ifeq ($(TARGET_OS)-$(TARGET_ARCH),linux-x86)
-# This is needed on x86 to bring in dl_iterate_phdr for CallStack.cpp
-LOCAL_SHARED_LIBRARIES += libdl
-endif # linux-x86
+	libcutils \
+	libdl
 
 LOCAL_MODULE:= libutils
 include $(BUILD_SHARED_LIBRARY)
diff --git a/libs/utils/Threads.cpp b/libs/utils/Threads.cpp
index 02c380b..5dbcb75 100644
--- a/libs/utils/Threads.cpp
+++ b/libs/utils/Threads.cpp
@@ -368,6 +368,14 @@
     return rc;
 }
 
+int androidGetThreadPriority(pid_t tid) {
+#if defined(HAVE_PTHREADS)
+    return getpriority(PRIO_PROCESS, tid);
+#else
+    return ANDROID_PRIORITY_NORMAL;
+#endif
+}
+
 int androidGetThreadSchedulingGroup(pid_t tid)
 {
     int ret = ANDROID_TGROUP_DEFAULT;
diff --git a/media/java/android/media/AudioService.java b/media/java/android/media/AudioService.java
index 8895c9e..4f4f929 100644
--- a/media/java/android/media/AudioService.java
+++ b/media/java/android/media/AudioService.java
@@ -2958,7 +2958,7 @@
             Log.w(TAG, "  RemoteControlClient died");
             // remote control client died, make sure the displays don't use it anymore
             //  by setting its remote control client to null
-            registerRemoteControlClient(mMediaIntent, null, null/*ignored*/);
+            registerRemoteControlClient(mMediaIntent, null/*rcClient*/, null/*ignored*/);
         }
 
         public IBinder getBinder() {
@@ -3366,7 +3366,12 @@
         }
     }
 
-    /** see AudioManager.registerRemoteControlClient(ComponentName eventReceiver, ...) */
+    /**
+     * see AudioManager.registerRemoteControlClient(ComponentName eventReceiver, ...)
+     * Note: using this method with rcClient == null is a way to "disable" the IRemoteControlClient
+     *     without modifying the RC stack, but while still causing the display to refresh (will
+     *     become blank as a result of this)
+     */
     public void registerRemoteControlClient(PendingIntent mediaIntent,
             IRemoteControlClient rcClient, String callingPackageName) {
         if (DEBUG_RC) Log.i(TAG, "Register remote control client rcClient="+rcClient);
@@ -3384,6 +3389,15 @@
                         }
                         // save the new remote control client
                         rcse.mRcClient = rcClient;
+                        rcse.mCallingPackageName = callingPackageName;
+                        rcse.mCallingUid = Binder.getCallingUid();
+                        if (rcClient == null) {
+                            rcse.mRcClientDeathHandler = null;
+                            break;
+                        }
+
+                        // there is a new (non-null) client:
+                        // 1/ give the new client the current display (if any)
                         if (mRcDisplay != null) {
                             try {
                                 rcse.mRcClient.plugRemoteControlDisplay(mRcDisplay);
@@ -3392,14 +3406,8 @@
                                 e.printStackTrace();
                             }
                         }
-                        rcse.mCallingPackageName = callingPackageName;
-                        rcse.mCallingUid = Binder.getCallingUid();
-                        if (rcClient == null) {
-                            rcse.mRcClientDeathHandler = null;
-                            break;
-                        }
-                        // monitor the new client's death
-                        IBinder b = rcClient.asBinder();
+                        // 2/ monitor the new client's death
+                        IBinder b = rcse.mRcClient.asBinder();
                         RcClientDeathHandler rcdh =
                                 new RcClientDeathHandler(b, rcse.mMediaIntent);
                         try {
diff --git a/media/java/android/media/MediaScanner.java b/media/java/android/media/MediaScanner.java
index 65818a1..2d927ad 100644
--- a/media/java/android/media/MediaScanner.java
+++ b/media/java/android/media/MediaScanner.java
@@ -314,14 +314,14 @@
 
     // WARNING: Bulk inserts sounded like a great idea and gave us a good performance improvement,
     // but unfortunately it also introduced a number of bugs.  Many of those bugs were fixed,
-    // but (at least) two problems are still outstanding:
+    // but (at least) one problem is still outstanding:
     //
-    // 1) Bulk inserts broke the code that sets the default ringtones on first boot
-    // 2) Bulk inserts broke file based playlists in the case where the playlist is processed
-    //    at the same time the files in the playlist are inserted in the database
+    // - Bulk inserts broke the code that sets the default ringtones, notifications, and alarms
+    //   on first boot
     //
-    // These problems might be solvable by moving the logic to the media provider instead,
-    // but for now we are disabling bulk inserts until we have solid fixes for these problems.
+    // This problem might be solvable by moving the logic to the media provider or disabling bulk
+    // inserts only for those cases. For now, we are disabling bulk inserts until we have a solid
+    // fix for this problem.
     private static final boolean ENABLE_BULK_INSERTS = false;
 
     // used when scanning the image database so we know whether we have to prune
@@ -470,6 +470,8 @@
         private int mCompilation;
         private boolean mIsDrm;
         private boolean mNoMedia;   // flag to suppress file from appearing in media tables
+        private int mWidth;
+        private int mHeight;
 
         public FileCacheEntry beginFile(String path, String mimeType, long lastModified,
                 long fileSize, boolean isDirectory, boolean noMedia) {
@@ -545,6 +547,8 @@
             mWriter = null;
             mCompilation = 0;
             mIsDrm = false;
+            mWidth = 0;
+            mHeight = 0;
 
             return entry;
         }
@@ -583,6 +587,10 @@
                             processFile(path, mimeType, this);
                         }
 
+                        if (MediaFile.isImageFileType(mFileType)) {
+                            processImageFile(path);
+                        }
+
                         result = endFile(entry, ringtones, notifications, alarms, music, podcasts);
                     }
                 }
@@ -697,6 +705,18 @@
             return genreTagValue;
         }
 
+        private void processImageFile(String path) {
+            try {
+                mBitmapOptions.outWidth = 0;
+                mBitmapOptions.outHeight = 0;
+                BitmapFactory.decodeFile(path, mBitmapOptions);
+                mWidth = mBitmapOptions.outWidth;
+                mHeight = mBitmapOptions.outHeight;
+            } catch (Throwable th) {
+                // ignore;
+            }
+        }
+
         public void setMimeType(String mimeType) {
             if ("audio/mp4".equals(mMimeType) &&
                     mimeType.startsWith("video")) {
@@ -725,6 +745,11 @@
             map.put(MediaStore.MediaColumns.MIME_TYPE, mMimeType);
             map.put(MediaStore.MediaColumns.IS_DRM, mIsDrm);
 
+            if (mWidth > 0 && mHeight > 0) {
+                map.put(MediaStore.MediaColumns.WIDTH, mWidth);
+                map.put(MediaStore.MediaColumns.HEIGHT, mHeight);
+            }
+
             if (!mNoMedia) {
                 if (MediaFile.isVideoFileType(mFileType)) {
                     map.put(Video.Media.ARTIST, (mArtist != null && mArtist.length() > 0
@@ -1439,7 +1464,22 @@
         }
 
         try {
-        // OK, now we need to add this to the database
+            // check rowid is set. Rowid may be missing if it is inserted by bulkInsert().
+            if (bestMatch.mRowId == 0) {
+                Cursor c = mMediaProvider.query(mAudioUri, ID_PROJECTION,
+                        MediaStore.Files.FileColumns.DATA + "=?",
+                        new String[] { bestMatch.mPath }, null);
+                if (c != null) {
+                    if (c.moveToNext()) {
+                        bestMatch.mRowId = c.getLong(0);
+                    }
+                    c.close();
+                }
+                if (bestMatch.mRowId == 0) {
+                    return false;
+                }
+            }
+            // OK, now we are ready to add this to the database
             values.clear();
             values.put(MediaStore.Audio.Playlists.Members.PLAY_ORDER, Integer.valueOf(index));
             values.put(MediaStore.Audio.Playlists.Members.AUDIO_ID, Long.valueOf(bestMatch.mRowId));
diff --git a/media/java/android/media/Ringtone.java b/media/java/android/media/Ringtone.java
index 0ce3526..f16ba36 100644
--- a/media/java/android/media/Ringtone.java
+++ b/media/java/android/media/Ringtone.java
@@ -166,6 +166,9 @@
     }
     
     private void openMediaPlayer() throws IOException {
+        if (mAudio != null) {
+            mAudio.release();
+        }
         mAudio = new MediaPlayer();
         if (mUri != null) {
             mAudio.setDataSource(mContext, mUri);
@@ -203,7 +206,7 @@
         mUri = uri;
         openMediaPlayer();
     }
-    
+
     /**
      * Plays the ringtone.
      */
diff --git a/media/jni/android_media_MediaPlayer.cpp b/media/jni/android_media_MediaPlayer.cpp
index c270f21..f3174fe 100644
--- a/media/jni/android_media_MediaPlayer.cpp
+++ b/media/jni/android_media_MediaPlayer.cpp
@@ -651,6 +651,10 @@
 android_media_MediaPlayer_native_finalize(JNIEnv *env, jobject thiz)
 {
     LOGV("native_finalize");
+    sp<MediaPlayer> mp = getMediaPlayer(env, thiz);
+    if (mp != NULL) {
+        LOGW("MediaPlayer finalized without being released");
+    }
     android_media_MediaPlayer_release(env, thiz);
 }
 
diff --git a/media/libmediaplayerservice/MediaPlayerService.cpp b/media/libmediaplayerservice/MediaPlayerService.cpp
index 0386d4b..b5eef94 100644
--- a/media/libmediaplayerservice/MediaPlayerService.cpp
+++ b/media/libmediaplayerservice/MediaPlayerService.cpp
@@ -52,6 +52,7 @@
 #include <media/Metadata.h>
 #include <media/AudioTrack.h>
 #include <media/MemoryLeakTrackUtil.h>
+#include <media/stagefright/MediaErrors.h>
 
 #include <system/audio.h>
 
@@ -1132,7 +1133,11 @@
     player->start();
 
     LOGV("wait for playback complete");
-    if (cache->wait() != NO_ERROR) goto Exit;
+    cache->wait();
+    // in case of error, return what was successfully decoded.
+    if (cache->size() == 0) {
+        goto Exit;
+    }
 
     mem = new MemoryBase(cache->getHeap(), 0, cache->size());
     *pSampleRate = cache->sampleRate();
@@ -1175,7 +1180,11 @@
     player->start();
 
     LOGV("wait for playback complete");
-    if (cache->wait() != NO_ERROR) goto Exit;
+    cache->wait();
+    // in case of error, return what was successfully decoded.
+    if (cache->size() == 0) {
+        goto Exit;
+    }
 
     mem = new MemoryBase(cache->getHeap(), 0, cache->size());
     *pSampleRate = cache->sampleRate();
diff --git a/media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp b/media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp
index 605d056..079f6fa 100644
--- a/media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp
+++ b/media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp
@@ -41,7 +41,7 @@
       mUIDValid(uidValid),
       mUID(uid),
       mFlags(0),
-      mEOS(false),
+      mFinalResult(OK),
       mOffset(0) {
     if (headers) {
         mExtraHeaders = *headers;
@@ -95,9 +95,9 @@
     return source->getFormat();
 }
 
-bool NuPlayer::HTTPLiveSource::feedMoreTSData() {
-    if (mEOS) {
-        return false;
+status_t NuPlayer::HTTPLiveSource::feedMoreTSData() {
+    if (mFinalResult != OK) {
+        return mFinalResult;
     }
 
     sp<LiveDataSource> source =
@@ -110,9 +110,13 @@
         if (n == -EWOULDBLOCK) {
             break;
         } else if (n < 0) {
-            LOGI("input data EOS reached.");
+            if (n != ERROR_END_OF_STREAM) {
+                LOGI("input data EOS reached, error %ld", n);
+            } else {
+                LOGI("input data EOS reached.");
+            }
             mTSParser->signalEOS(n);
-            mEOS = true;
+            mFinalResult = n;
             break;
         } else {
             if (buffer[0] == 0x00) {
@@ -129,7 +133,7 @@
                 if (err != OK) {
                     LOGE("TS Parser returned error %d", err);
                     mTSParser->signalEOS(err);
-                    mEOS = true;
+                    mFinalResult = err;
                     break;
                 }
             }
@@ -138,7 +142,7 @@
         }
     }
 
-    return true;
+    return OK;
 }
 
 status_t NuPlayer::HTTPLiveSource::dequeueAccessUnit(
@@ -168,7 +172,7 @@
 status_t NuPlayer::HTTPLiveSource::seekTo(int64_t seekTimeUs) {
     // We need to make sure we're not seeking until we have seen the very first
     // PTS timestamp in the whole stream (from the beginning of the stream).
-    while (!mTSParser->PTSTimeDeltaEstablished() && feedMoreTSData()) {
+    while (!mTSParser->PTSTimeDeltaEstablished() && feedMoreTSData() == OK) {
         usleep(100000);
     }
 
diff --git a/media/libmediaplayerservice/nuplayer/HTTPLiveSource.h b/media/libmediaplayerservice/nuplayer/HTTPLiveSource.h
index 36c67c5..f22af5b 100644
--- a/media/libmediaplayerservice/nuplayer/HTTPLiveSource.h
+++ b/media/libmediaplayerservice/nuplayer/HTTPLiveSource.h
@@ -35,8 +35,7 @@
 
     virtual void start();
 
-    // Returns true iff more data was available, false on EOS.
-    virtual bool feedMoreTSData();
+    virtual status_t feedMoreTSData();
 
     virtual sp<MetaData> getFormat(bool audio);
     virtual status_t dequeueAccessUnit(bool audio, sp<ABuffer> *accessUnit);
@@ -59,7 +58,7 @@
     bool mUIDValid;
     uid_t mUID;
     uint32_t mFlags;
-    bool mEOS;
+    status_t mFinalResult;
     off64_t mOffset;
     sp<ALooper> mLiveLooper;
     sp<LiveSession> mLiveSession;
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
index ee77f47..6b40528 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
@@ -34,17 +34,21 @@
 #include <media/stagefright/foundation/ADebug.h>
 #include <media/stagefright/foundation/AMessage.h>
 #include <media/stagefright/ACodec.h>
+#include <media/stagefright/MediaDefs.h>
 #include <media/stagefright/MediaErrors.h>
 #include <media/stagefright/MetaData.h>
 #include <surfaceflinger/Surface.h>
 #include <gui/ISurfaceTexture.h>
 
+#include "avc_utils.h"
+
 namespace android {
 
 ////////////////////////////////////////////////////////////////////////////////
 
 NuPlayer::NuPlayer()
     : mUIDValid(false),
+      mVideoIsAVC(false),
       mAudioEOS(false),
       mVideoEOS(false),
       mScanSourcesPending(false),
@@ -52,7 +56,12 @@
       mFlushingAudio(NONE),
       mFlushingVideo(NONE),
       mResetInProgress(false),
-      mResetPostponed(false) {
+      mResetPostponed(false),
+      mSkipRenderingAudioUntilMediaTimeUs(-1ll),
+      mSkipRenderingVideoUntilMediaTimeUs(-1ll),
+      mVideoLateByUs(0ll),
+      mNumFramesTotal(0ll),
+      mNumFramesDropped(0ll) {
 }
 
 NuPlayer::~NuPlayer() {
@@ -185,10 +194,14 @@
         {
             LOGV("kWhatStart");
 
+            mVideoIsAVC = false;
             mAudioEOS = false;
             mVideoEOS = false;
             mSkipRenderingAudioUntilMediaTimeUs = -1;
             mSkipRenderingVideoUntilMediaTimeUs = -1;
+            mVideoLateByUs = 0;
+            mNumFramesTotal = 0;
+            mNumFramesDropped = 0;
 
             mSource->start();
 
@@ -222,11 +235,17 @@
                 instantiateDecoder(true, &mAudioDecoder);
             }
 
-            if (!mSource->feedMoreTSData()) {
+            status_t err;
+            if ((err = mSource->feedMoreTSData()) != OK) {
                 if (mAudioDecoder == NULL && mVideoDecoder == NULL) {
                     // We're not currently decoding anything (no audio or
                     // video tracks found) and we just ran out of input data.
-                    notifyListener(MEDIA_PLAYBACK_COMPLETE, 0, 0);
+
+                    if (err == ERROR_END_OF_STREAM) {
+                        notifyListener(MEDIA_PLAYBACK_COMPLETE, 0, 0);
+                    } else {
+                        notifyListener(MEDIA_ERROR, MEDIA_ERROR_UNKNOWN, err);
+                    }
                 }
                 break;
             }
@@ -254,12 +273,23 @@
                         audio, codecRequest);
 
                 if (err == -EWOULDBLOCK) {
-                    if (mSource->feedMoreTSData()) {
+                    if (mSource->feedMoreTSData() == OK) {
                         msg->post();
                     }
                 }
             } else if (what == ACodec::kWhatEOS) {
-                mRenderer->queueEOS(audio, ERROR_END_OF_STREAM);
+                int32_t err;
+                CHECK(codecRequest->findInt32("err", &err));
+
+                if (err == ERROR_END_OF_STREAM) {
+                    LOGV("got %s decoder EOS", audio ? "audio" : "video");
+                } else {
+                    LOGV("got %s decoder EOS w/ error %d",
+                         audio ? "audio" : "video",
+                         err);
+                }
+
+                mRenderer->queueEOS(audio, err);
             } else if (what == ACodec::kWhatFlushCompleted) {
                 bool needShutdown;
 
@@ -269,6 +299,8 @@
                 } else {
                     CHECK(IsFlushingState(mFlushingVideo, &needShutdown));
                     mFlushingVideo = FLUSHED;
+
+                    mVideoLateByUs = 0;
                 }
 
                 LOGV("decoder %s flush completed", audio ? "audio" : "video");
@@ -299,7 +331,12 @@
                          sampleRate, numChannels);
 
                     mAudioSink->close();
-                    CHECK_EQ(mAudioSink->open(sampleRate, numChannels), (status_t)OK);
+                    CHECK_EQ(mAudioSink->open(
+                                sampleRate,
+                                numChannels,
+                                AUDIO_FORMAT_PCM_16_BIT,
+                                8 /* bufferCount */),
+                             (status_t)OK);
                     mAudioSink->start();
 
                     mRenderer->signalAudioSinkChanged();
@@ -377,7 +414,7 @@
                 if (finalResult == ERROR_END_OF_STREAM) {
                     LOGV("reached %s EOS", audio ? "audio" : "video");
                 } else {
-                    LOGE("%s track encountered an error (0x%08x)",
+                    LOGE("%s track encountered an error (%d)",
                          audio ? "audio" : "video", finalResult);
 
                     notifyListener(
@@ -392,13 +429,18 @@
                 int64_t positionUs;
                 CHECK(msg->findInt64("positionUs", &positionUs));
 
+                CHECK(msg->findInt64("videoLateByUs", &mVideoLateByUs));
+
                 if (mDriver != NULL) {
                     sp<NuPlayerDriver> driver = mDriver.promote();
                     if (driver != NULL) {
                         driver->notifyPosition(positionUs);
+
+                        driver->notifyFrameStats(
+                                mNumFramesTotal, mNumFramesDropped);
                     }
                 }
-            } else {
+            } else if (what == Renderer::kWhatFlushComplete) {
                 CHECK_EQ(what, (int32_t)Renderer::kWhatFlushComplete);
 
                 int32_t audio;
@@ -560,6 +602,12 @@
         return -EWOULDBLOCK;
     }
 
+    if (!audio) {
+        const char *mime;
+        CHECK(meta->findCString(kKeyMIMEType, &mime));
+        mVideoIsAVC = !strcasecmp(MEDIA_MIMETYPE_VIDEO_AVC, mime);
+    }
+
     sp<AMessage> notify =
         new AMessage(audio ? kWhatAudioNotify : kWhatVideoNotify,
                      id());
@@ -593,53 +641,70 @@
     }
 
     sp<ABuffer> accessUnit;
-    status_t err = mSource->dequeueAccessUnit(audio, &accessUnit);
 
-    if (err == -EWOULDBLOCK) {
-        return err;
-    } else if (err != OK) {
-        if (err == INFO_DISCONTINUITY) {
-            int32_t type;
-            CHECK(accessUnit->meta()->findInt32("discontinuity", &type));
+    bool dropAccessUnit;
+    do {
+        status_t err = mSource->dequeueAccessUnit(audio, &accessUnit);
 
-            bool formatChange =
-                type == ATSParser::DISCONTINUITY_FORMATCHANGE;
+        if (err == -EWOULDBLOCK) {
+            return err;
+        } else if (err != OK) {
+            if (err == INFO_DISCONTINUITY) {
+                int32_t type;
+                CHECK(accessUnit->meta()->findInt32("discontinuity", &type));
 
-            LOGV("%s discontinuity (formatChange=%d)",
-                 audio ? "audio" : "video", formatChange);
+                bool formatChange =
+                    type == ATSParser::DISCONTINUITY_FORMATCHANGE;
 
-            if (audio) {
-                mSkipRenderingAudioUntilMediaTimeUs = -1;
-            } else {
-                mSkipRenderingVideoUntilMediaTimeUs = -1;
-            }
+                LOGV("%s discontinuity (formatChange=%d)",
+                     audio ? "audio" : "video", formatChange);
 
-            sp<AMessage> extra;
-            if (accessUnit->meta()->findMessage("extra", &extra)
-                    && extra != NULL) {
-                int64_t resumeAtMediaTimeUs;
-                if (extra->findInt64(
-                            "resume-at-mediatimeUs", &resumeAtMediaTimeUs)) {
-                    LOGI("suppressing rendering of %s until %lld us",
-                            audio ? "audio" : "video", resumeAtMediaTimeUs);
+                if (audio) {
+                    mSkipRenderingAudioUntilMediaTimeUs = -1;
+                } else {
+                    mSkipRenderingVideoUntilMediaTimeUs = -1;
+                }
 
-                    if (audio) {
-                        mSkipRenderingAudioUntilMediaTimeUs =
-                            resumeAtMediaTimeUs;
-                    } else {
-                        mSkipRenderingVideoUntilMediaTimeUs =
-                            resumeAtMediaTimeUs;
+                sp<AMessage> extra;
+                if (accessUnit->meta()->findMessage("extra", &extra)
+                        && extra != NULL) {
+                    int64_t resumeAtMediaTimeUs;
+                    if (extra->findInt64(
+                                "resume-at-mediatimeUs", &resumeAtMediaTimeUs)) {
+                        LOGI("suppressing rendering of %s until %lld us",
+                                audio ? "audio" : "video", resumeAtMediaTimeUs);
+
+                        if (audio) {
+                            mSkipRenderingAudioUntilMediaTimeUs =
+                                resumeAtMediaTimeUs;
+                        } else {
+                            mSkipRenderingVideoUntilMediaTimeUs =
+                                resumeAtMediaTimeUs;
+                        }
                     }
                 }
+
+                flushDecoder(audio, formatChange);
             }
 
-            flushDecoder(audio, formatChange);
+            reply->setInt32("err", err);
+            reply->post();
+            return OK;
         }
 
-        reply->setInt32("err", err);
-        reply->post();
-        return OK;
-    }
+        if (!audio) {
+            ++mNumFramesTotal;
+        }
+
+        dropAccessUnit = false;
+        if (!audio
+                && mVideoLateByUs > 100000ll
+                && mVideoIsAVC
+                && !IsAVCReferenceFrame(accessUnit)) {
+            dropAccessUnit = true;
+            ++mNumFramesDropped;
+        }
+    } while (dropAccessUnit);
 
     // LOGV("returned a valid buffer of %s data", audio ? "audio" : "video");
 
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayer.h b/media/libmediaplayerservice/nuplayer/NuPlayer.h
index cf9185b..a5382b4 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayer.h
+++ b/media/libmediaplayerservice/nuplayer/NuPlayer.h
@@ -70,19 +70,19 @@
     struct StreamingSource;
 
     enum {
-        kWhatSetDataSource,
-        kWhatSetVideoNativeWindow,
-        kWhatSetAudioSink,
-        kWhatMoreDataQueued,
-        kWhatStart,
-        kWhatScanSources,
-        kWhatVideoNotify,
-        kWhatAudioNotify,
-        kWhatRendererNotify,
-        kWhatReset,
-        kWhatSeek,
-        kWhatPause,
-        kWhatResume,
+        kWhatSetDataSource              = '=DaS',
+        kWhatSetVideoNativeWindow       = '=NaW',
+        kWhatSetAudioSink               = '=AuS',
+        kWhatMoreDataQueued             = 'more',
+        kWhatStart                      = 'strt',
+        kWhatScanSources                = 'scan',
+        kWhatVideoNotify                = 'vidN',
+        kWhatAudioNotify                = 'audN',
+        kWhatRendererNotify             = 'renN',
+        kWhatReset                      = 'rset',
+        kWhatSeek                       = 'seek',
+        kWhatPause                      = 'paus',
+        kWhatResume                     = 'rsme',
     };
 
     wp<NuPlayerDriver> mDriver;
@@ -92,6 +92,7 @@
     sp<NativeWindowWrapper> mNativeWindow;
     sp<MediaPlayerBase::AudioSink> mAudioSink;
     sp<Decoder> mVideoDecoder;
+    bool mVideoIsAVC;
     sp<Decoder> mAudioDecoder;
     sp<Renderer> mRenderer;
 
@@ -119,6 +120,9 @@
     int64_t mSkipRenderingAudioUntilMediaTimeUs;
     int64_t mSkipRenderingVideoUntilMediaTimeUs;
 
+    int64_t mVideoLateByUs;
+    int64_t mNumFramesTotal, mNumFramesDropped;
+
     status_t instantiateDecoder(bool audio, sp<Decoder> *decoder);
 
     status_t feedDecoderInputData(bool audio, const sp<AMessage> &msg);
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp
index 81b41ef..56c2773 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp
@@ -59,8 +59,21 @@
         format->setObject("native-window", mNativeWindow);
     }
 
+    // Current video decoders do not return from OMX_FillThisBuffer
+    // quickly, violating the OpenMAX specs, until that is remedied
+    // we need to invest in an extra looper to free the main event
+    // queue.
+    bool needDedicatedLooper = !strncasecmp(mime, "video/", 6);
+
     mCodec = new ACodec;
-    looper()->registerHandler(mCodec);
+
+    if (needDedicatedLooper && mCodecLooper == NULL) {
+        mCodecLooper = new ALooper;
+        mCodecLooper->setName("NuPlayerDecoder");
+        mCodecLooper->start(false, false, ANDROID_PRIORITY_AUDIO);
+    }
+
+    (needDedicatedLooper ? mCodecLooper : looper())->registerHandler(mCodec);
 
     mCodec->setNotificationMessage(notifyMsg);
     mCodec->initiateSetup(format);
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h
index fabc606..3ab1fcf 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h
@@ -43,13 +43,14 @@
 
 private:
     enum {
-        kWhatCodecNotify,
+        kWhatCodecNotify        = 'cdcN',
     };
 
     sp<AMessage> mNotify;
     sp<NativeWindowWrapper> mNativeWindow;
 
     sp<ACodec> mCodec;
+    sp<ALooper> mCodecLooper;
 
     Vector<sp<ABuffer> > mCSD;
     size_t mCSDIndex;
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp
index c6fca2c..b1e917d 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp
@@ -31,6 +31,8 @@
     : mResetInProgress(false),
       mDurationUs(-1),
       mPositionUs(-1),
+      mNumFramesTotal(0),
+      mNumFramesDropped(0),
       mLooper(new ALooper),
       mState(UNINITIALIZED),
       mStartupSeekTimeUs(-1) {
@@ -292,4 +294,30 @@
     sendEvent(MEDIA_SEEK_COMPLETE);
 }
 
+void NuPlayerDriver::notifyFrameStats(
+        int64_t numFramesTotal, int64_t numFramesDropped) {
+    Mutex::Autolock autoLock(mLock);
+    mNumFramesTotal = numFramesTotal;
+    mNumFramesDropped = numFramesDropped;
+}
+
+status_t NuPlayerDriver::dump(int fd, const Vector<String16> &args) const {
+    Mutex::Autolock autoLock(mLock);
+
+    FILE *out = fdopen(dup(fd), "w");
+
+    fprintf(out, " NuPlayer\n");
+    fprintf(out, "  numFramesTotal(%lld), numFramesDropped(%lld), "
+                 "percentageDropped(%.2f)\n",
+                 mNumFramesTotal,
+                 mNumFramesDropped,
+                 mNumFramesTotal == 0
+                    ? 0.0 : (double)mNumFramesDropped / mNumFramesTotal);
+
+    fclose(out);
+    out = NULL;
+
+    return OK;
+}
+
 }  // namespace android
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDriver.h b/media/libmediaplayerservice/nuplayer/NuPlayerDriver.h
index 1bb7ca2..181c37d 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerDriver.h
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerDriver.h
@@ -60,16 +60,19 @@
     virtual status_t getMetadata(
             const media::Metadata::Filter& ids, Parcel *records);
 
+    virtual status_t dump(int fd, const Vector<String16> &args) const;
+
     void notifyResetComplete();
     void notifyDuration(int64_t durationUs);
     void notifyPosition(int64_t positionUs);
     void notifySeekComplete();
+    void notifyFrameStats(int64_t numFramesTotal, int64_t numFramesDropped);
 
 protected:
     virtual ~NuPlayerDriver();
 
 private:
-    Mutex mLock;
+    mutable Mutex mLock;
     Condition mCondition;
 
     // The following are protected through "mLock"
@@ -77,6 +80,8 @@
     bool mResetInProgress;
     int64_t mDurationUs;
     int64_t mPositionUs;
+    int64_t mNumFramesTotal;
+    int64_t mNumFramesDropped;
     // <<<
 
     sp<ALooper> mLooper;
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
index bf83849..07e347e 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
@@ -47,7 +47,8 @@
       mHasVideo(false),
       mSyncQueues(false),
       mPaused(false),
-      mLastPositionUpdateUs(-1ll) {
+      mLastPositionUpdateUs(-1ll),
+      mVideoLateByUs(0ll) {
 }
 
 NuPlayer::Renderer::~Renderer() {
@@ -118,9 +119,24 @@
 
             mDrainAudioQueuePending = false;
 
-            onDrainAudioQueue();
+            if (onDrainAudioQueue()) {
+                uint32_t numFramesPlayed;
+                CHECK_EQ(mAudioSink->getPosition(&numFramesPlayed),
+                         (status_t)OK);
 
-            postDrainAudioQueue();
+                uint32_t numFramesPendingPlayout =
+                    mNumFramesWritten - numFramesPlayed;
+
+                // This is how long the audio sink will have data to
+                // play back.
+                int64_t delayUs =
+                    mAudioSink->msecsPerFrame()
+                        * numFramesPendingPlayout * 1000ll;
+
+                // Let's give it more data after about half that time
+                // has elapsed.
+                postDrainAudioQueue(delayUs / 2);
+            }
             break;
         }
 
@@ -182,7 +198,7 @@
     }
 }
 
-void NuPlayer::Renderer::postDrainAudioQueue() {
+void NuPlayer::Renderer::postDrainAudioQueue(int64_t delayUs) {
     if (mDrainAudioQueuePending || mSyncQueues || mPaused) {
         return;
     }
@@ -194,19 +210,33 @@
     mDrainAudioQueuePending = true;
     sp<AMessage> msg = new AMessage(kWhatDrainAudioQueue, id());
     msg->setInt32("generation", mAudioQueueGeneration);
-    msg->post();
+    msg->post(delayUs);
 }
 
 void NuPlayer::Renderer::signalAudioSinkChanged() {
     (new AMessage(kWhatAudioSinkChanged, id()))->post();
 }
 
-void NuPlayer::Renderer::onDrainAudioQueue() {
-    for (;;) {
-        if (mAudioQueue.empty()) {
-            break;
-        }
+bool NuPlayer::Renderer::onDrainAudioQueue() {
+    uint32_t numFramesPlayed;
+    CHECK_EQ(mAudioSink->getPosition(&numFramesPlayed), (status_t)OK);
 
+    ssize_t numFramesAvailableToWrite =
+        mAudioSink->frameCount() - (mNumFramesWritten - numFramesPlayed);
+
+#if 0
+    if (numFramesAvailableToWrite == mAudioSink->frameCount()) {
+        LOGI("audio sink underrun");
+    } else {
+        LOGV("audio queue has %d frames left to play",
+             mAudioSink->frameCount() - numFramesAvailableToWrite);
+    }
+#endif
+
+    size_t numBytesAvailableToWrite =
+        numFramesAvailableToWrite * mAudioSink->frameSize();
+
+    while (numBytesAvailableToWrite > 0 && !mAudioQueue.empty()) {
         QueueEntry *entry = &*mAudioQueue.begin();
 
         if (entry->mBuffer == NULL) {
@@ -216,20 +246,7 @@
 
             mAudioQueue.erase(mAudioQueue.begin());
             entry = NULL;
-            return;
-        }
-
-        uint32_t numFramesPlayed;
-        CHECK_EQ(mAudioSink->getPosition(&numFramesPlayed), (status_t)OK);
-
-        ssize_t numFramesAvailableToWrite =
-            mAudioSink->frameCount() - (mNumFramesWritten - numFramesPlayed);
-
-        size_t numBytesAvailableToWrite =
-            numFramesAvailableToWrite * mAudioSink->frameSize();
-
-        if (numBytesAvailableToWrite == 0) {
-            break;
+            return false;
         }
 
         if (entry->mOffset == 0) {
@@ -274,10 +291,14 @@
             entry = NULL;
         }
 
-        mNumFramesWritten += copy / mAudioSink->frameSize();
+        numBytesAvailableToWrite -= copy;
+        size_t copiedFrames = copy / mAudioSink->frameSize();
+        mNumFramesWritten += copiedFrames;
     }
 
     notifyPosition();
+
+    return !mAudioQueue.empty();
 }
 
 void NuPlayer::Renderer::postDrainVideoQueue() {
@@ -337,15 +358,26 @@
 
         mVideoQueue.erase(mVideoQueue.begin());
         entry = NULL;
+
+        mVideoLateByUs = 0ll;
+
+        notifyPosition();
         return;
     }
 
-#if 0
     int64_t mediaTimeUs;
     CHECK(entry->mBuffer->meta()->findInt64("timeUs", &mediaTimeUs));
 
-    LOGI("rendering video at media time %.2f secs", mediaTimeUs / 1E6);
-#endif
+    int64_t realTimeUs = mediaTimeUs - mAnchorTimeMediaUs + mAnchorTimeRealUs;
+    mVideoLateByUs = ALooper::GetNowUs() - realTimeUs;
+
+    bool tooLate = (mVideoLateByUs > 40000);
+
+    if (tooLate) {
+        LOGV("video late by %lld us (%.2f secs)", lateByUs, lateByUs / 1E6);
+    } else {
+        LOGV("rendering video at media time %.2f secs", mediaTimeUs / 1E6);
+    }
 
     entry->mNotifyConsumed->setInt32("render", true);
     entry->mNotifyConsumed->post();
@@ -577,6 +609,7 @@
     sp<AMessage> notify = mNotify->dup();
     notify->setInt32("what", kWhatPosition);
     notify->setInt64("positionUs", positionUs);
+    notify->setInt64("videoLateByUs", mVideoLateByUs);
     notify->post();
 }
 
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.h b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.h
index 3a641a2..268628b 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.h
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.h
@@ -45,9 +45,9 @@
     void resume();
 
     enum {
-        kWhatEOS,
-        kWhatFlushComplete,
-        kWhatPosition,
+        kWhatEOS                = 'eos ',
+        kWhatFlushComplete      = 'fluC',
+        kWhatPosition           = 'posi',
     };
 
 protected:
@@ -57,14 +57,14 @@
 
 private:
     enum {
-        kWhatDrainAudioQueue,
-        kWhatDrainVideoQueue,
-        kWhatQueueBuffer,
-        kWhatQueueEOS,
-        kWhatFlush,
-        kWhatAudioSinkChanged,
-        kWhatPause,
-        kWhatResume,
+        kWhatDrainAudioQueue    = 'draA',
+        kWhatDrainVideoQueue    = 'draV',
+        kWhatQueueBuffer        = 'queB',
+        kWhatQueueEOS           = 'qEOS',
+        kWhatFlush              = 'flus',
+        kWhatAudioSinkChanged   = 'auSC',
+        kWhatPause              = 'paus',
+        kWhatResume             = 'resm',
     };
 
     struct QueueEntry {
@@ -101,9 +101,10 @@
     bool mPaused;
 
     int64_t mLastPositionUpdateUs;
+    int64_t mVideoLateByUs;
 
-    void onDrainAudioQueue();
-    void postDrainAudioQueue();
+    bool onDrainAudioQueue();
+    void postDrainAudioQueue(int64_t delayUs = 0);
 
     void onDrainVideoQueue();
     void postDrainVideoQueue();
@@ -118,6 +119,7 @@
     void notifyEOS(bool audio, status_t finalResult);
     void notifyFlushComplete(bool audio);
     void notifyPosition();
+    void notifyVideoLateBy(int64_t lateByUs);
 
     void flushQueue(List<QueueEntry> *queue);
     bool dropBufferWhileFlushing(bool audio, const sp<AMessage> &msg);
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerSource.h b/media/libmediaplayerservice/nuplayer/NuPlayerSource.h
index 5e55487..8a7eece 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerSource.h
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerSource.h
@@ -29,8 +29,9 @@
 
     virtual void start() = 0;
 
-    // Returns true iff more data was available, false on EOS.
-    virtual bool feedMoreTSData() = 0;
+    // Returns OK iff more data was available,
+    // an error or ERROR_END_OF_STREAM if not.
+    virtual status_t feedMoreTSData() = 0;
 
     virtual sp<MetaData> getFormat(bool audio) = 0;
 
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerStreamListener.h b/media/libmediaplayerservice/nuplayer/NuPlayerStreamListener.h
index df0935d..1874d80 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerStreamListener.h
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerStreamListener.h
@@ -41,8 +41,8 @@
 
 private:
     enum {
-        kNumBuffers = 16,
-        kBufferSize = 188 * 20
+        kNumBuffers = 8,
+        kBufferSize = 188 * 10
     };
 
     struct QueueEntry {
diff --git a/media/libmediaplayerservice/nuplayer/StreamingSource.cpp b/media/libmediaplayerservice/nuplayer/StreamingSource.cpp
index a741987..f795654 100644
--- a/media/libmediaplayerservice/nuplayer/StreamingSource.cpp
+++ b/media/libmediaplayerservice/nuplayer/StreamingSource.cpp
@@ -34,7 +34,7 @@
 
 NuPlayer::StreamingSource::StreamingSource(const sp<IStreamSource> &source)
     : mSource(source),
-      mEOS(false) {
+      mFinalResult(OK) {
 }
 
 NuPlayer::StreamingSource::~StreamingSource() {
@@ -47,12 +47,12 @@
     mStreamListener->start();
 }
 
-bool NuPlayer::StreamingSource::feedMoreTSData() {
-    if (mEOS) {
-        return false;
+status_t NuPlayer::StreamingSource::feedMoreTSData() {
+    if (mFinalResult != OK) {
+        return mFinalResult;
     }
 
-    for (int32_t i = 0; i < 10; ++i) {
+    for (int32_t i = 0; i < 50; ++i) {
         char buffer[188];
         sp<AMessage> extra;
         ssize_t n = mStreamListener->read(buffer, sizeof(buffer), &extra);
@@ -60,7 +60,7 @@
         if (n == 0) {
             LOGI("input data EOS reached.");
             mTSParser->signalEOS(ERROR_END_OF_STREAM);
-            mEOS = true;
+            mFinalResult = ERROR_END_OF_STREAM;
             break;
         } else if (n == INFO_DISCONTINUITY) {
             ATSParser::DiscontinuityType type = ATSParser::DISCONTINUITY_SEEK;
@@ -92,14 +92,14 @@
                     LOGE("TS Parser returned error %d", err);
 
                     mTSParser->signalEOS(err);
-                    mEOS = true;
+                    mFinalResult = err;
                     break;
                 }
             }
         }
     }
 
-    return true;
+    return OK;
 }
 
 sp<MetaData> NuPlayer::StreamingSource::getFormat(bool audio) {
diff --git a/media/libmediaplayerservice/nuplayer/StreamingSource.h b/media/libmediaplayerservice/nuplayer/StreamingSource.h
index 7abce84..ca00ef9 100644
--- a/media/libmediaplayerservice/nuplayer/StreamingSource.h
+++ b/media/libmediaplayerservice/nuplayer/StreamingSource.h
@@ -31,8 +31,7 @@
 
     virtual void start();
 
-    // Returns true iff more data was available, false on EOS.
-    virtual bool feedMoreTSData();
+    virtual status_t feedMoreTSData();
 
     virtual sp<MetaData> getFormat(bool audio);
     virtual status_t dequeueAccessUnit(bool audio, sp<ABuffer> *accessUnit);
@@ -42,7 +41,7 @@
 
 private:
     sp<IStreamSource> mSource;
-    bool mEOS;
+    status_t mFinalResult;
     sp<NuPlayerStreamListener> mStreamListener;
     sp<ATSParser> mTSParser;
 
diff --git a/media/libstagefright/ACodec.cpp b/media/libstagefright/ACodec.cpp
index 2ba2273..9cb18de 100644
--- a/media/libstagefright/ACodec.cpp
+++ b/media/libstagefright/ACodec.cpp
@@ -323,6 +323,7 @@
     mFlushingState = new FlushingState(this);
 
     mPortEOS[kPortIndexInput] = mPortEOS[kPortIndexOutput] = false;
+    mInputEOSResult = OK;
 
     changeState(mUninitializedState);
 }
@@ -686,6 +687,8 @@
             "audio_decoder.amrwb", "audio_encoder.amrwb" },
         { MEDIA_MIMETYPE_AUDIO_AAC,
             "audio_decoder.aac", "audio_encoder.aac" },
+        { MEDIA_MIMETYPE_AUDIO_VORBIS,
+            "audio_decoder.vorbis", "audio_encoder.vorbis" },
         { MEDIA_MIMETYPE_VIDEO_AVC,
             "video_decoder.avc", "video_encoder.avc" },
         { MEDIA_MIMETYPE_VIDEO_MPEG4,
@@ -749,9 +752,19 @@
         CHECK(msg->findInt32("sample-rate", &sampleRate));
 
         CHECK_EQ(setupAACDecoder(numChannels, sampleRate), (status_t)OK);
-    } else if (!strcasecmp(mime, MEDIA_MIMETYPE_AUDIO_MPEG)) {
-    } else {
-        TRESPASS();
+    } else if (!strcasecmp(mime, MEDIA_MIMETYPE_AUDIO_AMR_NB)) {
+        CHECK_EQ(setupAMRDecoder(false /* isWAMR */), (status_t)OK);
+    } else if (!strcasecmp(mime, MEDIA_MIMETYPE_AUDIO_AMR_WB)) {
+        CHECK_EQ(setupAMRDecoder(true /* isWAMR */), (status_t)OK);
+    } else if (!strcasecmp(mime, MEDIA_MIMETYPE_AUDIO_G711_ALAW)
+            || !strcasecmp(mime, MEDIA_MIMETYPE_AUDIO_G711_MLAW)) {
+        // These are PCM-like formats with a fixed sample rate but
+        // a variable number of channels.
+
+        int32_t numChannels;
+        CHECK(msg->findInt32("channel-count", &numChannels));
+
+        CHECK_EQ(setupG711Decoder(numChannels), (status_t)OK);
     }
 
     int32_t maxInputSize;
@@ -823,6 +836,84 @@
     return err;
 }
 
+status_t ACodec::setupAMRDecoder(bool isWAMR) {
+    OMX_AUDIO_PARAM_AMRTYPE def;
+    InitOMXParams(&def);
+    def.nPortIndex = kPortIndexInput;
+
+    status_t err =
+        mOMX->getParameter(mNode, OMX_IndexParamAudioAmr, &def, sizeof(def));
+
+    if (err != OK) {
+        return err;
+    }
+
+    def.eAMRFrameFormat = OMX_AUDIO_AMRFrameFormatFSF;
+
+    def.eAMRBandMode =
+        isWAMR ? OMX_AUDIO_AMRBandModeWB0 : OMX_AUDIO_AMRBandModeNB0;
+
+    return mOMX->setParameter(mNode, OMX_IndexParamAudioAmr, &def, sizeof(def));
+}
+
+status_t ACodec::setupG711Decoder(int32_t numChannels) {
+    return setupRawAudioFormat(
+            kPortIndexInput, 8000 /* sampleRate */, numChannels);
+}
+
+status_t ACodec::setupRawAudioFormat(
+        OMX_U32 portIndex, int32_t sampleRate, int32_t numChannels) {
+    OMX_PARAM_PORTDEFINITIONTYPE def;
+    InitOMXParams(&def);
+    def.nPortIndex = portIndex;
+
+    status_t err = mOMX->getParameter(
+            mNode, OMX_IndexParamPortDefinition, &def, sizeof(def));
+
+    if (err != OK) {
+        return err;
+    }
+
+    def.format.audio.eEncoding = OMX_AUDIO_CodingPCM;
+
+    err = mOMX->setParameter(
+            mNode, OMX_IndexParamPortDefinition, &def, sizeof(def));
+
+    if (err != OK) {
+        return err;
+    }
+
+    OMX_AUDIO_PARAM_PCMMODETYPE pcmParams;
+    InitOMXParams(&pcmParams);
+    pcmParams.nPortIndex = portIndex;
+
+    err = mOMX->getParameter(
+            mNode, OMX_IndexParamAudioPcm, &pcmParams, sizeof(pcmParams));
+
+    if (err != OK) {
+        return err;
+    }
+
+    pcmParams.nChannels = numChannels;
+    pcmParams.eNumData = OMX_NumericalDataSigned;
+    pcmParams.bInterleaved = OMX_TRUE;
+    pcmParams.nBitPerSample = 16;
+    pcmParams.nSamplingRate = sampleRate;
+    pcmParams.ePCMMode = OMX_AUDIO_PCMModeLinear;
+
+    if (numChannels == 1) {
+        pcmParams.eChannelMapping[0] = OMX_AUDIO_ChannelCF;
+    } else {
+        CHECK_EQ(numChannels, 2);
+
+        pcmParams.eChannelMapping[0] = OMX_AUDIO_ChannelLF;
+        pcmParams.eChannelMapping[1] = OMX_AUDIO_ChannelRF;
+    }
+
+    return mOMX->setParameter(
+            mNode, OMX_IndexParamAudioPcm, &pcmParams, sizeof(pcmParams));
+}
+
 status_t ACodec::setVideoPortFormatType(
         OMX_U32 portIndex,
         OMX_VIDEO_CODINGTYPE compressionFormat,
@@ -1347,7 +1438,10 @@
         case KEEP_BUFFERS:
         {
             if (buffer == NULL) {
-                mCodec->mPortEOS[kPortIndexInput] = true;
+                if (!mCodec->mPortEOS[kPortIndexInput]) {
+                    mCodec->mPortEOS[kPortIndexInput] = true;
+                    mCodec->mInputEOSResult = err;
+                }
             }
             break;
         }
@@ -1377,8 +1471,13 @@
                     memcpy(info->mData->data(), buffer->data(), buffer->size());
                 }
 
-                LOGV("[%s] calling emptyBuffer %p",
-                     mCodec->mComponentName.c_str(), bufferID);
+                if (flags & OMX_BUFFERFLAG_CODECCONFIG) {
+                    LOGV("[%s] calling emptyBuffer %p w/ codec specific data",
+                         mCodec->mComponentName.c_str(), bufferID);
+                } else {
+                    LOGV("[%s] calling emptyBuffer %p w/ time %lld us",
+                         mCodec->mComponentName.c_str(), bufferID, timeUs);
+                }
 
                 CHECK_EQ(mCodec->mOMX->emptyBuffer(
                             mCodec->mNode,
@@ -1393,10 +1492,16 @@
 
                 getMoreInputDataIfPossible();
             } else if (!mCodec->mPortEOS[kPortIndexInput]) {
-                LOGV("[%s] Signalling EOS on the input port",
-                     mCodec->mComponentName.c_str());
+                if (err != ERROR_END_OF_STREAM) {
+                    LOGV("[%s] Signalling EOS on the input port "
+                         "due to error %d",
+                         mCodec->mComponentName.c_str(), err);
+                } else {
+                    LOGV("[%s] Signalling EOS on the input port",
+                         mCodec->mComponentName.c_str());
+                }
 
-                LOGV("[%s] calling emptyBuffer %p",
+                LOGV("[%s] calling emptyBuffer %p signalling EOS",
                      mCodec->mComponentName.c_str(), bufferID);
 
                 CHECK_EQ(mCodec->mOMX->emptyBuffer(
@@ -1411,6 +1516,7 @@
                 info->mStatus = BufferInfo::OWNED_BY_COMPONENT;
 
                 mCodec->mPortEOS[kPortIndexInput] = true;
+                mCodec->mInputEOSResult = err;
             }
             break;
 
@@ -1457,8 +1563,8 @@
         int64_t timeUs,
         void *platformPrivate,
         void *dataPtr) {
-    LOGV("[%s] onOMXFillBufferDone %p",
-         mCodec->mComponentName.c_str(), bufferID);
+    LOGV("[%s] onOMXFillBufferDone %p time %lld us",
+         mCodec->mComponentName.c_str(), bufferID, timeUs);
 
     ssize_t index;
     BufferInfo *info =
@@ -1518,6 +1624,7 @@
             if (flags & OMX_BUFFERFLAG_EOS) {
                 sp<AMessage> notify = mCodec->mNotify->dup();
                 notify->setInt32("what", ACodec::kWhatEOS);
+                notify->setInt32("err", mCodec->mInputEOSResult);
                 notify->post();
 
                 mCodec->mPortEOS[kPortIndexOutput] = true;
@@ -1686,7 +1793,11 @@
             ++matchIndex) {
         componentName = matchingCodecs.itemAt(matchIndex).string();
 
+        pid_t tid = androidGetTid();
+        int prevPriority = androidGetThreadPriority(tid);
+        androidSetThreadPriority(tid, ANDROID_PRIORITY_FOREGROUND);
         status_t err = omx->allocateNode(componentName.c_str(), observer, &node);
+        androidSetThreadPriority(tid, prevPriority);
 
         if (err == OK) {
             break;
@@ -1712,6 +1823,8 @@
     mCodec->mPortEOS[kPortIndexInput] =
         mCodec->mPortEOS[kPortIndexOutput] = false;
 
+    mCodec->mInputEOSResult = OK;
+
     mCodec->configureCodec(mime.c_str(), msg);
 
     sp<RefBase> obj;
@@ -2362,6 +2475,8 @@
         mCodec->mPortEOS[kPortIndexInput] =
             mCodec->mPortEOS[kPortIndexOutput] = false;
 
+        mCodec->mInputEOSResult = OK;
+
         mCodec->changeState(mCodec->mExecutingState);
     }
 }
diff --git a/media/libstagefright/AVIExtractor.cpp b/media/libstagefright/AVIExtractor.cpp
index 4e46414..0be2ca4 100644
--- a/media/libstagefright/AVIExtractor.cpp
+++ b/media/libstagefright/AVIExtractor.cpp
@@ -18,6 +18,7 @@
 #define LOG_TAG "AVIExtractor"
 #include <utils/Log.h>
 
+#include "include/avc_utils.h"
 #include "include/AVIExtractor.h"
 
 #include <binder/ProcessState.h>
@@ -55,11 +56,36 @@
     MediaBufferGroup *mBufferGroup;
     size_t mSampleIndex;
 
+    sp<MP3Splitter> mSplitter;
+
     DISALLOW_EVIL_CONSTRUCTORS(AVISource);
 };
 
 ////////////////////////////////////////////////////////////////////////////////
 
+struct AVIExtractor::MP3Splitter : public RefBase {
+    MP3Splitter();
+
+    void clear();
+    void append(MediaBuffer *buffer);
+    status_t read(MediaBuffer **buffer);
+
+protected:
+    virtual ~MP3Splitter();
+
+private:
+    bool mFindSync;
+    int64_t mBaseTimeUs;
+    int64_t mNumSamplesRead;
+    sp<ABuffer> mBuffer;
+
+    bool resync();
+
+    DISALLOW_EVIL_CONSTRUCTORS(MP3Splitter);
+};
+
+////////////////////////////////////////////////////////////////////////////////
+
 AVIExtractor::AVISource::AVISource(
         const sp<AVIExtractor> &extractor, size_t trackIndex)
     : mExtractor(extractor),
@@ -83,6 +109,15 @@
     mBufferGroup->add_buffer(new MediaBuffer(mTrack.mMaxSampleSize));
     mSampleIndex = 0;
 
+    const char *mime;
+    CHECK(mTrack.mMeta->findCString(kKeyMIMEType, &mime));
+
+    if (!strcasecmp(mime, MEDIA_MIMETYPE_AUDIO_MPEG)) {
+        mSplitter = new MP3Splitter;
+    } else {
+        mSplitter.clear();
+    }
+
     return OK;
 }
 
@@ -92,6 +127,8 @@
     delete mBufferGroup;
     mBufferGroup = NULL;
 
+    mSplitter.clear();
+
     return OK;
 }
 
@@ -115,39 +152,213 @@
         if (err != OK) {
             return ERROR_END_OF_STREAM;
         }
+
+        if (mSplitter != NULL) {
+            mSplitter->clear();
+        }
     }
 
-    off64_t offset;
-    size_t size;
-    bool isKey;
-    int64_t timeUs;
-    status_t err = mExtractor->getSampleInfo(
-            mTrackIndex, mSampleIndex, &offset, &size, &isKey, &timeUs);
+    for (;;) {
+        if (mSplitter != NULL) {
+            status_t err = mSplitter->read(buffer);
 
-    ++mSampleIndex;
+            if (err == OK) {
+                break;
+            } else if (err != -EAGAIN) {
+                return err;
+            }
+        }
 
-    if (err != OK) {
-        return ERROR_END_OF_STREAM;
+        off64_t offset;
+        size_t size;
+        bool isKey;
+        int64_t timeUs;
+        status_t err = mExtractor->getSampleInfo(
+                mTrackIndex, mSampleIndex, &offset, &size, &isKey, &timeUs);
+
+        ++mSampleIndex;
+
+        if (err != OK) {
+            return ERROR_END_OF_STREAM;
+        }
+
+        MediaBuffer *out;
+        CHECK_EQ(mBufferGroup->acquire_buffer(&out), (status_t)OK);
+
+        ssize_t n = mExtractor->mDataSource->readAt(offset, out->data(), size);
+
+        if (n < (ssize_t)size) {
+            return n < 0 ? (status_t)n : (status_t)ERROR_MALFORMED;
+        }
+
+        out->set_range(0, size);
+
+        out->meta_data()->setInt64(kKeyTime, timeUs);
+
+        if (isKey) {
+            out->meta_data()->setInt32(kKeyIsSyncFrame, 1);
+        }
+
+        if (mSplitter == NULL) {
+            *buffer = out;
+            break;
+        }
+
+        mSplitter->append(out);
+        out->release();
+        out = NULL;
     }
 
-    MediaBuffer *out;
-    CHECK_EQ(mBufferGroup->acquire_buffer(&out), (status_t)OK);
+    return OK;
+}
 
-    ssize_t n = mExtractor->mDataSource->readAt(offset, out->data(), size);
+////////////////////////////////////////////////////////////////////////////////
 
-    if (n < (ssize_t)size) {
-        return n < 0 ? (status_t)n : (status_t)ERROR_MALFORMED;
+AVIExtractor::MP3Splitter::MP3Splitter()
+    : mFindSync(true),
+      mBaseTimeUs(-1ll),
+      mNumSamplesRead(0) {
+}
+
+AVIExtractor::MP3Splitter::~MP3Splitter() {
+}
+
+void AVIExtractor::MP3Splitter::clear() {
+    mFindSync = true;
+    mBaseTimeUs = -1ll;
+    mNumSamplesRead = 0;
+
+    if (mBuffer != NULL) {
+        mBuffer->setRange(0, 0);
+    }
+}
+
+void AVIExtractor::MP3Splitter::append(MediaBuffer *buffer) {
+    size_t prevCapacity = (mBuffer != NULL) ? mBuffer->capacity() : 0;
+
+    if (mBaseTimeUs < 0) {
+        CHECK(mBuffer == NULL || mBuffer->size() == 0);
+        CHECK(buffer->meta_data()->findInt64(kKeyTime, &mBaseTimeUs));
+        mNumSamplesRead = 0;
     }
 
-    out->set_range(0, size);
-
-    out->meta_data()->setInt64(kKeyTime, timeUs);
-
-    if (isKey) {
-        out->meta_data()->setInt32(kKeyIsSyncFrame, 1);
+    if (mBuffer != NULL && mBuffer->offset() > 0) {
+        memmove(mBuffer->base(), mBuffer->data(), mBuffer->size());
+        mBuffer->setRange(0, mBuffer->size());
     }
 
-    *buffer = out;
+    if (mBuffer == NULL
+            || mBuffer->size() + buffer->range_length() > prevCapacity) {
+        size_t newCapacity =
+            (prevCapacity + buffer->range_length() + 1023) & ~1023;
+
+        sp<ABuffer> newBuffer = new ABuffer(newCapacity);
+        if (mBuffer != NULL) {
+            memcpy(newBuffer->data(), mBuffer->data(), mBuffer->size());
+            newBuffer->setRange(0, mBuffer->size());
+        } else {
+            newBuffer->setRange(0, 0);
+        }
+        mBuffer = newBuffer;
+    }
+
+    memcpy(mBuffer->data() + mBuffer->size(),
+           (const uint8_t *)buffer->data() + buffer->range_offset(),
+           buffer->range_length());
+
+    mBuffer->setRange(0, mBuffer->size() + buffer->range_length());
+}
+
+bool AVIExtractor::MP3Splitter::resync() {
+    if (mBuffer == NULL) {
+        return false;
+    }
+
+    bool foundSync = false;
+    for (size_t offset = 0; offset + 3 < mBuffer->size(); ++offset) {
+        uint32_t firstHeader = U32_AT(mBuffer->data() + offset);
+
+        size_t frameSize;
+        if (!GetMPEGAudioFrameSize(firstHeader, &frameSize)) {
+            continue;
+        }
+
+        size_t subsequentOffset = offset + frameSize;
+        size_t i = 3;
+        while (i > 0) {
+            if (subsequentOffset + 3 >= mBuffer->size()) {
+                break;
+            }
+
+            static const uint32_t kMask = 0xfffe0c00;
+
+            uint32_t header = U32_AT(mBuffer->data() + subsequentOffset);
+            if ((header & kMask) != (firstHeader & kMask)) {
+                break;
+            }
+
+            if (!GetMPEGAudioFrameSize(header, &frameSize)) {
+                break;
+            }
+
+            subsequentOffset += frameSize;
+            --i;
+        }
+
+        if (i == 0) {
+            foundSync = true;
+            memmove(mBuffer->data(),
+                    mBuffer->data() + offset,
+                    mBuffer->size() - offset);
+
+            mBuffer->setRange(0, mBuffer->size() - offset);
+            break;
+        }
+    }
+
+    return foundSync;
+}
+
+status_t AVIExtractor::MP3Splitter::read(MediaBuffer **out) {
+    *out = NULL;
+
+    if (mFindSync) {
+        if (!resync()) {
+            return -EAGAIN;
+        }
+
+        mFindSync = false;
+    }
+
+    if (mBuffer->size() < 4) {
+        return -EAGAIN;
+    }
+
+    uint32_t header = U32_AT(mBuffer->data());
+    size_t frameSize;
+    int sampleRate;
+    int numSamples;
+    if (!GetMPEGAudioFrameSize(
+                header, &frameSize, &sampleRate, NULL, NULL, &numSamples)) {
+        return ERROR_MALFORMED;
+    }
+
+    if (mBuffer->size() < frameSize) {
+        return -EAGAIN;
+    }
+
+    MediaBuffer *mbuf = new MediaBuffer(frameSize);
+    memcpy(mbuf->data(), mBuffer->data(), frameSize);
+
+    int64_t timeUs = mBaseTimeUs + (mNumSamplesRead * 1000000ll) / sampleRate;
+    mNumSamplesRead += numSamples;
+
+    mbuf->meta_data()->setInt64(kKeyTime, timeUs);
+
+    mBuffer->setRange(
+            mBuffer->offset() + frameSize, mBuffer->size() - frameSize);
+
+    *out = mbuf;
 
     return OK;
 }
@@ -362,6 +573,13 @@
         case FOURCC('X', 'V', 'I', 'X'):
             return MEDIA_MIMETYPE_VIDEO_MPEG4;
 
+        // from http://wiki.multimedia.cx/index.php?title=H264
+        case FOURCC('a', 'v', 'c', '1'):
+        case FOURCC('d', 'a', 'v', 'c'):
+        case FOURCC('x', '2', '6', '4'):
+        case FOURCC('v', 's', 's', 'h'):
+            return MEDIA_MIMETYPE_VIDEO_AVC;
+
         default:
             return NULL;
     }
@@ -406,6 +624,14 @@
             return ERROR_MALFORMED;
         }
 
+        if (mime == NULL) {
+            LOGW("Unsupported video format '%c%c%c%c'",
+                 (char)(handler >> 24),
+                 (char)((handler >> 16) & 0xff),
+                 (char)((handler >> 8) & 0xff),
+                 (char)(handler & 0xff));
+        }
+
         kind = Track::VIDEO;
     } else if (type == FOURCC('a', 'u', 'd', 's')) {
         if (mime && strncasecmp(mime, "audio/", 6)) {
@@ -433,6 +659,8 @@
     track->mThumbnailSampleSize = 0;
     track->mThumbnailSampleIndex = -1;
     track->mMaxSampleSize = 0;
+    track->mAvgChunkSize = 1.0;
+    track->mFirstChunkSize = 0;
 
     return OK;
 }
@@ -451,8 +679,8 @@
 
     bool isVideo = (track->mKind == Track::VIDEO);
 
-    if ((isVideo && size < 40) || (!isVideo && size < 18)) {
-        // Expected a BITMAPINFO or WAVEFORMATEX structure, respectively.
+    if ((isVideo && size < 40) || (!isVideo && size < 16)) {
+        // Expected a BITMAPINFO or WAVEFORMAT(EX) structure, respectively.
         return ERROR_MALFORMED;
     }
 
@@ -473,8 +701,11 @@
         track->mMeta->setInt32(kKeyHeight, height);
     } else {
         uint32_t format = U16LE_AT(data);
+
         if (format == 0x55) {
             track->mMeta->setCString(kKeyMIMEType, MEDIA_MIMETYPE_AUDIO_MPEG);
+        } else {
+            LOGW("Unsupported audio format = 0x%04x", format);
         }
 
         uint32_t numChannels = U16LE_AT(&data[2]);
@@ -632,6 +863,47 @@
     for (size_t i = 0; i < mTracks.size(); ++i) {
         Track *track = &mTracks.editItemAt(i);
 
+        if (track->mBytesPerSample > 0) {
+            // Assume all chunks are roughly the same size for now.
+
+            // Compute the avg. size of the first 128 chunks (if there are
+            // that many), but exclude the size of the first one, since
+            // it may be an outlier.
+            size_t numSamplesToAverage = track->mSamples.size();
+            if (numSamplesToAverage > 256) {
+                numSamplesToAverage = 256;
+            }
+
+            double avgChunkSize = 0;
+            size_t j;
+            for (j = 0; j <= numSamplesToAverage; ++j) {
+                off64_t offset;
+                size_t size;
+                bool isKey;
+                int64_t dummy;
+
+                status_t err =
+                    getSampleInfo(
+                            i, j,
+                            &offset, &size, &isKey, &dummy);
+
+                if (err != OK) {
+                    return err;
+                }
+
+                if (j == 0) {
+                    track->mFirstChunkSize = size;
+                    continue;
+                }
+
+                avgChunkSize += size;
+            }
+
+            avgChunkSize /= numSamplesToAverage;
+
+            track->mAvgChunkSize = avgChunkSize;
+        }
+
         int64_t durationUs;
         CHECK_EQ((status_t)OK,
                  getSampleTime(i, track->mSamples.size() - 1, &durationUs));
@@ -646,37 +918,27 @@
 
         AString mime = tmp;
 
-        if (!strncasecmp("video/", mime.c_str(), 6)
-                && track->mThumbnailSampleIndex >= 0) {
-            int64_t thumbnailTimeUs;
-            CHECK_EQ((status_t)OK,
-                     getSampleTime(i, track->mThumbnailSampleIndex,
-                                   &thumbnailTimeUs));
+        if (!strncasecmp("video/", mime.c_str(), 6)) {
+            if (track->mThumbnailSampleIndex >= 0) {
+                int64_t thumbnailTimeUs;
+                CHECK_EQ((status_t)OK,
+                         getSampleTime(i, track->mThumbnailSampleIndex,
+                                       &thumbnailTimeUs));
 
-            track->mMeta->setInt64(kKeyThumbnailTime, thumbnailTimeUs);
+                track->mMeta->setInt64(kKeyThumbnailTime, thumbnailTimeUs);
+            }
+
+            status_t err = OK;
 
             if (!strcasecmp(mime.c_str(), MEDIA_MIMETYPE_VIDEO_MPEG4)) {
-                status_t err = addMPEG4CodecSpecificData(i);
-
-                if (err != OK) {
-                    return err;
-                }
+                err = addMPEG4CodecSpecificData(i);
+            } else if (!strcasecmp(mime.c_str(), MEDIA_MIMETYPE_VIDEO_AVC)) {
+                err = addH264CodecSpecificData(i);
             }
-        }
 
-        if (track->mBytesPerSample != 0) {
-            // Assume all chunks are the same size for now.
-
-            off64_t offset;
-            size_t size;
-            bool isKey;
-            int64_t sampleTimeUs;
-            CHECK_EQ((status_t)OK,
-                     getSampleInfo(
-                         i, 0,
-                         &offset, &size, &isKey, &sampleTimeUs));
-
-            track->mRate *= size / track->mBytesPerSample;
+            if (err != OK) {
+                return err;
+            }
         }
     }
 
@@ -781,6 +1043,63 @@
     return OK;
 }
 
+status_t AVIExtractor::addH264CodecSpecificData(size_t trackIndex) {
+    Track *track = &mTracks.editItemAt(trackIndex);
+
+    off64_t offset;
+    size_t size;
+    bool isKey;
+    int64_t timeUs;
+
+    // Extract codec specific data from the first non-empty sample.
+
+    size_t sampleIndex = 0;
+    for (;;) {
+        status_t err =
+            getSampleInfo(
+                    trackIndex, sampleIndex, &offset, &size, &isKey, &timeUs);
+
+        if (err != OK) {
+            return err;
+        }
+
+        if (size > 0) {
+            break;
+        }
+
+        ++sampleIndex;
+    }
+
+    sp<ABuffer> buffer = new ABuffer(size);
+    ssize_t n = mDataSource->readAt(offset, buffer->data(), buffer->size());
+
+    if (n < (ssize_t)size) {
+        return n < 0 ? (status_t)n : ERROR_MALFORMED;
+    }
+
+    sp<MetaData> meta = MakeAVCCodecSpecificData(buffer);
+
+    if (meta == NULL) {
+        LOGE("Unable to extract AVC codec specific data");
+        return ERROR_MALFORMED;
+    }
+
+    int32_t width, height;
+    CHECK(meta->findInt32(kKeyWidth, &width));
+    CHECK(meta->findInt32(kKeyHeight, &height));
+
+    uint32_t type;
+    const void *csd;
+    size_t csdSize;
+    CHECK(meta->findData(kKeyAVCC, &type, &csd, &csdSize));
+
+    track->mMeta->setInt32(kKeyWidth, width);
+    track->mMeta->setInt32(kKeyHeight, width);
+    track->mMeta->setData(kKeyAVCC, type, csd, csdSize);
+
+    return OK;
+}
+
 status_t AVIExtractor::getSampleInfo(
         size_t trackIndex, size_t sampleIndex,
         off64_t *offset, size_t *size, bool *isKey,
@@ -823,6 +1142,18 @@
 
     *isKey = info.mIsKey;
 
+    if (track.mBytesPerSample > 0) {
+        size_t sampleStartInBytes;
+        if (sampleIndex == 0) {
+            sampleStartInBytes = 0;
+        } else {
+            sampleStartInBytes =
+                track.mFirstChunkSize + track.mAvgChunkSize * (sampleIndex - 1);
+        }
+
+        sampleIndex = sampleStartInBytes / track.mBytesPerSample;
+    }
+
     *sampleTimeUs = (sampleIndex * 1000000ll * track.mRate) / track.mScale;
 
     return OK;
@@ -847,8 +1178,24 @@
 
     const Track &track = mTracks.itemAt(trackIndex);
 
-    ssize_t closestSampleIndex =
-        timeUs / track.mRate * track.mScale / 1000000ll;
+    ssize_t closestSampleIndex;
+
+    if (track.mBytesPerSample > 0) {
+        size_t closestByteOffset =
+            (timeUs * track.mBytesPerSample)
+                / track.mRate * track.mScale / 1000000ll;
+
+        if (closestByteOffset <= track.mFirstChunkSize) {
+            closestSampleIndex = 0;
+        } else {
+            closestSampleIndex =
+                (closestByteOffset - track.mFirstChunkSize)
+                    / track.mAvgChunkSize;
+        }
+    } else {
+        // Each chunk contains a single sample.
+        closestSampleIndex = timeUs / track.mRate * track.mScale / 1000000ll;
+    }
 
     ssize_t numSamples = track.mSamples.size();
 
diff --git a/media/libstagefright/AudioPlayer.cpp b/media/libstagefright/AudioPlayer.cpp
index ba076f5..2581a62 100644
--- a/media/libstagefright/AudioPlayer.cpp
+++ b/media/libstagefright/AudioPlayer.cpp
@@ -508,6 +508,9 @@
     mReachedEOS = false;
     mSeekTimeUs = time_us;
 
+    // Flush resets the number of played frames
+    mNumFramesPlayed = 0;
+
     if (mAudioSink != NULL) {
         mAudioSink->flush();
     } else {
diff --git a/media/libstagefright/AwesomePlayer.cpp b/media/libstagefright/AwesomePlayer.cpp
index 07a46bd..fa9417a 100644
--- a/media/libstagefright/AwesomePlayer.cpp
+++ b/media/libstagefright/AwesomePlayer.cpp
@@ -249,7 +249,7 @@
 }
 
 void AwesomePlayer::setUID(uid_t uid) {
-    LOGI("AwesomePlayer running on behalf of uid %d", uid);
+    LOGV("AwesomePlayer running on behalf of uid %d", uid);
 
     mUID = uid;
     mUIDValid = true;
@@ -362,7 +362,7 @@
         if (!meta->findInt32(kKeyBitRate, &bitrate)) {
             const char *mime;
             CHECK(meta->findCString(kKeyMIMEType, &mime));
-            LOGW("track of type '%s' does not publish bitrate", mime);
+            LOGV("track of type '%s' does not publish bitrate", mime);
 
             totalBitRate = -1;
             break;
@@ -1192,7 +1192,7 @@
         usleep(1000);
     }
     IPCThreadState::self()->flushCommands();
-    LOGI("video decoder shutdown completed");
+    LOGV("video decoder shutdown completed");
 }
 
 status_t AwesomePlayer::setNativeWindow_l(const sp<ANativeWindow> &native) {
@@ -1202,7 +1202,7 @@
         return OK;
     }
 
-    LOGI("attempting to reconfigure to use new surface");
+    LOGV("attempting to reconfigure to use new surface");
 
     bool wasPlaying = (mFlags & PLAYING) != 0;
 
diff --git a/media/libstagefright/MPEG4Extractor.cpp b/media/libstagefright/MPEG4Extractor.cpp
index 3b79f06..1e24599 100644
--- a/media/libstagefright/MPEG4Extractor.cpp
+++ b/media/libstagefright/MPEG4Extractor.cpp
@@ -1972,6 +1972,12 @@
                     sampleIndex, &syncSampleIndex, findFlags);
         }
 
+        uint32_t sampleTime;
+        if (err == OK) {
+            err = mSampleTable->getMetaDataForSample(
+                    sampleIndex, NULL, NULL, &sampleTime);
+        }
+
         if (err != OK) {
             if (err == ERROR_OUT_OF_RANGE) {
                 // An attempt to seek past the end of the stream would
@@ -1984,10 +1990,6 @@
             return err;
         }
 
-        uint32_t sampleTime;
-        CHECK_EQ((status_t)OK, mSampleTable->getMetaDataForSample(
-                    sampleIndex, NULL, NULL, &sampleTime));
-
         if (mode == ReadOptions::SEEK_CLOSEST) {
             targetSampleTimeUs = (sampleTime * 1000000ll) / mTimescale;
         }
diff --git a/media/libstagefright/OMXCodec.cpp b/media/libstagefright/OMXCodec.cpp
index 6280f51..7c34257 100755
--- a/media/libstagefright/OMXCodec.cpp
+++ b/media/libstagefright/OMXCodec.cpp
@@ -625,7 +625,11 @@
         CHECK(meta->findInt32(kKeyChannelCount, &numChannels));
         CHECK(meta->findInt32(kKeySampleRate, &sampleRate));
 
-        setAACFormat(numChannels, sampleRate, bitRate);
+        status_t err = setAACFormat(numChannels, sampleRate, bitRate);
+        if (err != OK) {
+            CODEC_LOGE("setAACFormat() failed (err = %d)", err);
+            return err;
+        }
     } else if (!strcasecmp(MEDIA_MIMETYPE_AUDIO_G711_ALAW, mMIME)
             || !strcasecmp(MEDIA_MIMETYPE_AUDIO_G711_MLAW, mMIME)) {
         // These are PCM-like formats with a fixed sample rate but
@@ -1485,6 +1489,8 @@
             "audio_decoder.amrwb", "audio_encoder.amrwb" },
         { MEDIA_MIMETYPE_AUDIO_AAC,
             "audio_decoder.aac", "audio_encoder.aac" },
+        { MEDIA_MIMETYPE_AUDIO_VORBIS,
+            "audio_decoder.vorbis", "audio_encoder.vorbis" },
         { MEDIA_MIMETYPE_VIDEO_AVC,
             "video_decoder.avc", "video_encoder.avc" },
         { MEDIA_MIMETYPE_VIDEO_MPEG4,
@@ -1635,7 +1641,7 @@
         return err;
     }
 
-    CODEC_LOGI("allocating %lu buffers of size %lu on %s port",
+    CODEC_LOGV("allocating %lu buffers of size %lu on %s port",
             def.nBufferCountActual, def.nBufferSize,
             portIndex == kPortIndexInput ? "input" : "output");
 
@@ -1876,7 +1882,7 @@
         return err;
     }
 
-    CODEC_LOGI("allocating %lu buffers from a native window of size %lu on "
+    CODEC_LOGV("allocating %lu buffers from a native window of size %lu on "
             "output port", def.nBufferCountActual, def.nBufferSize);
 
     // Dequeue buffers and send them to OMX
@@ -2345,22 +2351,6 @@
                     formatHasNotablyChanged(oldOutputFormat, mOutputFormat)) {
                     mOutputPortSettingsHaveChanged = true;
 
-                    if (mNativeWindow != NULL) {
-                        int32_t left, top, right, bottom;
-                        CHECK(mOutputFormat->findRect(
-                                    kKeyCropRect,
-                                    &left, &top, &right, &bottom));
-
-                        android_native_rect_t crop;
-                        crop.left = left;
-                        crop.top = top;
-                        crop.right = right + 1;
-                        crop.bottom = bottom + 1;
-
-                        // We'll ignore any errors here, if the surface is
-                        // already invalid, we'll know soon enough.
-                        native_window_set_crop(mNativeWindow.get(), &crop);
-                    }
                 } else if (data2 == OMX_IndexConfigCommonScale) {
                     OMX_CONFIG_SCALEFACTORTYPE scale;
                     InitOMXParams(&scale);
@@ -3356,8 +3346,10 @@
     }
 }
 
-void OMXCodec::setAACFormat(int32_t numChannels, int32_t sampleRate, int32_t bitRate) {
-    CHECK(numChannels == 1 || numChannels == 2);
+status_t OMXCodec::setAACFormat(int32_t numChannels, int32_t sampleRate, int32_t bitRate) {
+    if (numChannels > 2)
+        LOGW("Number of channels: (%d) \n", numChannels);
+
     if (mIsEncoder) {
         //////////////// input port ////////////////////
         setRawAudioFormat(kPortIndexInput, sampleRate, numChannels);
@@ -3408,9 +3400,13 @@
         profile.nAACERtools = OMX_AUDIO_AACERNone;
         profile.eAACProfile = OMX_AUDIO_AACObjectLC;
         profile.eAACStreamFormat = OMX_AUDIO_AACStreamFormatMP4FF;
-        CHECK_EQ(mOMX->setParameter(mNode, OMX_IndexParamAudioAac,
-                &profile, sizeof(profile)), (status_t)OK);
+        err = mOMX->setParameter(mNode, OMX_IndexParamAudioAac,
+                &profile, sizeof(profile));
 
+        if (err != OK) {
+            CODEC_LOGE("setParameter('OMX_IndexParamAudioAac') failed (err = %d)", err);
+            return err;
+        }
     } else {
         OMX_AUDIO_PARAM_AACPROFILETYPE profile;
         InitOMXParams(&profile);
@@ -3426,8 +3422,14 @@
 
         err = mOMX->setParameter(
                 mNode, OMX_IndexParamAudioAac, &profile, sizeof(profile));
-        CHECK_EQ(err, (status_t)OK);
+
+        if (err != OK) {
+            CODEC_LOGE("setParameter('OMX_IndexParamAudioAac') failed (err = %d)", err);
+            return err;
+        }
     }
+
+    return OK;
 }
 
 void OMXCodec::setG711Format(int32_t numChannels) {
@@ -3654,7 +3656,7 @@
 
     mSource->stop();
 
-    CODEC_LOGI("stopped in state %d", mState);
+    CODEC_LOGV("stopped in state %d", mState);
 
     return OK;
 }
@@ -4165,6 +4167,24 @@
     return OK;
 }
 
+void OMXCodec::initNativeWindowCrop() {
+    int32_t left, top, right, bottom;
+
+    CHECK(mOutputFormat->findRect(
+                        kKeyCropRect,
+                        &left, &top, &right, &bottom));
+
+    android_native_rect_t crop;
+    crop.left = left;
+    crop.top = top;
+    crop.right = right + 1;
+    crop.bottom = bottom + 1;
+
+    // We'll ignore any errors here, if the surface is
+    // already invalid, we'll know soon enough.
+    native_window_set_crop(mNativeWindow.get(), &crop);
+}
+
 void OMXCodec::initOutputFormat(const sp<MetaData> &inputFormat) {
     mOutputFormat = new MetaData;
     mOutputFormat->setCString(kKeyDecoderComponent, mComponentName);
@@ -4219,14 +4239,14 @@
                 inputFormat->findInt32(kKeySampleRate, &sampleRate);
 
                 if ((OMX_U32)numChannels != params.nChannels) {
-                    LOGW("Codec outputs a different number of channels than "
+                    LOGV("Codec outputs a different number of channels than "
                          "the input stream contains (contains %d channels, "
                          "codec outputs %ld channels).",
                          numChannels, params.nChannels);
                 }
 
                 if (sampleRate != (int32_t)params.nSamplingRate) {
-                    LOGW("Codec outputs at different sampling rate than "
+                    LOGV("Codec outputs at different sampling rate than "
                          "what the input stream contains (contains data at "
                          "%d Hz, codec outputs %lu Hz)",
                          sampleRate, params.nSamplingRate);
@@ -4348,6 +4368,10 @@
                             video_def->nFrameWidth - 1,
                             video_def->nFrameHeight - 1);
                 }
+
+                if (mNativeWindow != NULL) {
+                     initNativeWindowCrop();
+                }
             }
             break;
         }
diff --git a/media/libstagefright/SampleTable.cpp b/media/libstagefright/SampleTable.cpp
index 2b9d99b..ebad321 100644
--- a/media/libstagefright/SampleTable.cpp
+++ b/media/libstagefright/SampleTable.cpp
@@ -23,8 +23,8 @@
 
 #include <arpa/inet.h>
 
+#include <media/stagefright/foundation/ADebug.h>
 #include <media/stagefright/DataSource.h>
-#include <media/stagefright/MediaDebug.h>
 #include <media/stagefright/Utils.h>
 
 namespace android {
@@ -40,6 +40,71 @@
 
 ////////////////////////////////////////////////////////////////////////////////
 
+struct SampleTable::CompositionDeltaLookup {
+    CompositionDeltaLookup();
+
+    void setEntries(
+            const uint32_t *deltaEntries, size_t numDeltaEntries);
+
+    uint32_t getCompositionTimeOffset(uint32_t sampleIndex);
+
+private:
+    Mutex mLock;
+
+    const uint32_t *mDeltaEntries;
+    size_t mNumDeltaEntries;
+
+    size_t mCurrentDeltaEntry;
+    size_t mCurrentEntrySampleIndex;
+
+    DISALLOW_EVIL_CONSTRUCTORS(CompositionDeltaLookup);
+};
+
+SampleTable::CompositionDeltaLookup::CompositionDeltaLookup()
+    : mDeltaEntries(NULL),
+      mNumDeltaEntries(0),
+      mCurrentDeltaEntry(0),
+      mCurrentEntrySampleIndex(0) {
+}
+
+void SampleTable::CompositionDeltaLookup::setEntries(
+        const uint32_t *deltaEntries, size_t numDeltaEntries) {
+    Mutex::Autolock autolock(mLock);
+
+    mDeltaEntries = deltaEntries;
+    mNumDeltaEntries = numDeltaEntries;
+    mCurrentDeltaEntry = 0;
+    mCurrentEntrySampleIndex = 0;
+}
+
+uint32_t SampleTable::CompositionDeltaLookup::getCompositionTimeOffset(
+        uint32_t sampleIndex) {
+    Mutex::Autolock autolock(mLock);
+
+    if (mDeltaEntries == NULL) {
+        return 0;
+    }
+
+    if (sampleIndex < mCurrentEntrySampleIndex) {
+        mCurrentDeltaEntry = 0;
+        mCurrentEntrySampleIndex = 0;
+    }
+
+    while (mCurrentDeltaEntry < mNumDeltaEntries) {
+        uint32_t sampleCount = mDeltaEntries[2 * mCurrentDeltaEntry];
+        if (sampleIndex < mCurrentEntrySampleIndex + sampleCount) {
+            return mDeltaEntries[2 * mCurrentDeltaEntry + 1];
+        }
+
+        mCurrentEntrySampleIndex += sampleCount;
+        ++mCurrentDeltaEntry;
+    }
+
+    return 0;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+
 SampleTable::SampleTable(const sp<DataSource> &source)
     : mDataSource(source),
       mChunkOffsetOffset(-1),
@@ -56,6 +121,7 @@
       mSampleTimeEntries(NULL),
       mCompositionTimeDeltaEntries(NULL),
       mNumCompositionTimeDeltaEntries(0),
+      mCompositionDeltaLookup(new CompositionDeltaLookup),
       mSyncSampleOffset(-1),
       mNumSyncSamples(0),
       mSyncSamples(NULL),
@@ -71,6 +137,9 @@
     delete[] mSyncSamples;
     mSyncSamples = NULL;
 
+    delete mCompositionDeltaLookup;
+    mCompositionDeltaLookup = NULL;
+
     delete[] mCompositionTimeDeltaEntries;
     mCompositionTimeDeltaEntries = NULL;
 
@@ -318,6 +387,9 @@
         mCompositionTimeDeltaEntries[i] = ntohl(mCompositionTimeDeltaEntries[i]);
     }
 
+    mCompositionDeltaLookup->setEntries(
+            mCompositionTimeDeltaEntries, mNumCompositionTimeDeltaEntries);
+
     return OK;
 }
 
@@ -430,8 +502,12 @@
 
                 mSampleTimeEntries[sampleIndex].mSampleIndex = sampleIndex;
 
+                uint32_t compTimeDelta =
+                    mCompositionDeltaLookup->getCompositionTimeOffset(
+                            sampleIndex);
+
                 mSampleTimeEntries[sampleIndex].mCompositionTime =
-                    sampleTime + getCompositionTimeOffset(sampleIndex);
+                    sampleTime + compTimeDelta;
             }
 
             ++sampleIndex;
@@ -739,25 +815,8 @@
     return OK;
 }
 
-uint32_t SampleTable::getCompositionTimeOffset(uint32_t sampleIndex) const {
-    if (mCompositionTimeDeltaEntries == NULL) {
-        return 0;
-    }
-
-    uint32_t curSample = 0;
-    for (size_t i = 0; i < mNumCompositionTimeDeltaEntries; ++i) {
-        uint32_t sampleCount = mCompositionTimeDeltaEntries[2 * i];
-
-        if (sampleIndex < curSample + sampleCount) {
-            uint32_t sampleDelta = mCompositionTimeDeltaEntries[2 * i + 1];
-
-            return sampleDelta;
-        }
-
-        curSample += sampleCount;
-    }
-
-    return 0;
+uint32_t SampleTable::getCompositionTimeOffset(uint32_t sampleIndex) {
+    return mCompositionDeltaLookup->getCompositionTimeOffset(sampleIndex);
 }
 
 }  // namespace android
diff --git a/media/libstagefright/avc_utils.cpp b/media/libstagefright/avc_utils.cpp
index 8a42e8b..153ee33 100644
--- a/media/libstagefright/avc_utils.cpp
+++ b/media/libstagefright/avc_utils.cpp
@@ -297,7 +297,7 @@
     sp<MetaData> meta = new MetaData;
     meta->setCString(kKeyMIMEType, MEDIA_MIMETYPE_VIDEO_AVC);
 
-    meta->setData(kKeyAVCC, 0, csd->data(), csd->size());
+    meta->setData(kKeyAVCC, kTypeAVCC, csd->data(), csd->size());
     meta->setInt32(kKeyWidth, width);
     meta->setInt32(kKeyHeight, height);
 
@@ -329,6 +329,28 @@
     return foundIDR;
 }
 
+bool IsAVCReferenceFrame(const sp<ABuffer> &accessUnit) {
+    const uint8_t *data = accessUnit->data();
+    size_t size = accessUnit->size();
+
+    const uint8_t *nalStart;
+    size_t nalSize;
+    while (getNextNALUnit(&data, &size, &nalStart, &nalSize, true) == OK) {
+        CHECK_GT(nalSize, 0u);
+
+        unsigned nalType = nalStart[0] & 0x1f;
+
+        if (nalType == 5) {
+            return true;
+        } else if (nalType == 1) {
+            unsigned nal_ref_idc = (nalStart[0] >> 5) & 3;
+            return nal_ref_idc != 0;
+        }
+    }
+
+    return true;
+}
+
 sp<MetaData> MakeAACCodecSpecificData(
         unsigned profile, unsigned sampling_freq_index,
         unsigned channel_configuration) {
diff --git a/media/libstagefright/chromium_http/support.cpp b/media/libstagefright/chromium_http/support.cpp
index de936c4..f15014e 100644
--- a/media/libstagefright/chromium_http/support.cpp
+++ b/media/libstagefright/chromium_http/support.cpp
@@ -74,10 +74,32 @@
     return false;
 }
 
+struct AutoPrioritySaver {
+    AutoPrioritySaver()
+        : mTID(androidGetTid()),
+          mPrevPriority(androidGetThreadPriority(mTID)) {
+        androidSetThreadPriority(mTID, ANDROID_PRIORITY_NORMAL);
+    }
+
+    ~AutoPrioritySaver() {
+        androidSetThreadPriority(mTID, mPrevPriority);
+    }
+
+private:
+    pid_t mTID;
+    int mPrevPriority;
+
+    DISALLOW_EVIL_CONSTRUCTORS(AutoPrioritySaver);
+};
 
 static void InitializeNetworkThreadIfNecessary() {
     Mutex::Autolock autoLock(gNetworkThreadLock);
+
     if (gNetworkThread == NULL) {
+        // Make sure any threads spawned by the chromium framework are
+        // running at normal priority instead of inheriting this thread's.
+        AutoPrioritySaver saver;
+
         gNetworkThread = new base::Thread("network");
         base::Thread::Options options;
         options.message_loop_type = MessageLoop::TYPE_IO;
diff --git a/media/libstagefright/foundation/AMessage.cpp b/media/libstagefright/foundation/AMessage.cpp
index 582bdba..f039bc1 100644
--- a/media/libstagefright/foundation/AMessage.cpp
+++ b/media/libstagefright/foundation/AMessage.cpp
@@ -385,6 +385,15 @@
                             item.u.refValue)->debugString(
                                 indent + strlen(item.mName) + 14).c_str());
                 break;
+            case kTypeRect:
+                tmp = StringPrintf(
+                        "Rect %s(%d, %d, %d, %d)",
+                        item.mName,
+                        item.u.rectValue.mLeft,
+                        item.u.rectValue.mTop,
+                        item.u.rectValue.mRight,
+                        item.u.rectValue.mBottom);
+                break;
             default:
                 TRESPASS();
         }
diff --git a/media/libstagefright/include/AVIExtractor.h b/media/libstagefright/include/AVIExtractor.h
index b575347..ff5dcb5 100644
--- a/media/libstagefright/include/AVIExtractor.h
+++ b/media/libstagefright/include/AVIExtractor.h
@@ -42,6 +42,7 @@
 
 private:
     struct AVISource;
+    struct MP3Splitter;
 
     struct SampleInfo {
         uint32_t mOffset;
@@ -70,6 +71,10 @@
         size_t mThumbnailSampleSize;
         ssize_t mThumbnailSampleIndex;
         size_t mMaxSampleSize;
+
+        // If mBytesPerSample > 0:
+        double mAvgChunkSize;
+        size_t mFirstChunkSize;
     };
 
     sp<DataSource> mDataSource;
@@ -101,6 +106,7 @@
             size_t *sampleIndex) const;
 
     status_t addMPEG4CodecSpecificData(size_t trackIndex);
+    status_t addH264CodecSpecificData(size_t trackIndex);
 
     static bool IsCorrectChunkType(
         ssize_t trackIndex, Track::Kind kind, uint32_t chunkType);
diff --git a/media/libstagefright/include/SampleTable.h b/media/libstagefright/include/SampleTable.h
index a6a6524..847dff7 100644
--- a/media/libstagefright/include/SampleTable.h
+++ b/media/libstagefright/include/SampleTable.h
@@ -86,6 +86,8 @@
     ~SampleTable();
 
 private:
+    struct CompositionDeltaLookup;
+
     static const uint32_t kChunkOffsetType32;
     static const uint32_t kChunkOffsetType64;
     static const uint32_t kSampleSizeType32;
@@ -117,6 +119,7 @@
 
     uint32_t *mCompositionTimeDeltaEntries;
     size_t mNumCompositionTimeDeltaEntries;
+    CompositionDeltaLookup *mCompositionDeltaLookup;
 
     off64_t mSyncSampleOffset;
     uint32_t mNumSyncSamples;
@@ -135,8 +138,7 @@
     friend struct SampleIterator;
 
     status_t getSampleSize_l(uint32_t sample_index, size_t *sample_size);
-
-    uint32_t getCompositionTimeOffset(uint32_t sampleIndex) const;
+    uint32_t getCompositionTimeOffset(uint32_t sampleIndex);
 
     static int CompareIncreasingTime(const void *, const void *);
 
diff --git a/media/libstagefright/include/avc_utils.h b/media/libstagefright/include/avc_utils.h
index 15cd4d4..e418822 100644
--- a/media/libstagefright/include/avc_utils.h
+++ b/media/libstagefright/include/avc_utils.h
@@ -50,6 +50,7 @@
 sp<MetaData> MakeAVCCodecSpecificData(const sp<ABuffer> &accessUnit);
 
 bool IsIDR(const sp<ABuffer> &accessUnit);
+bool IsAVCReferenceFrame(const sp<ABuffer> &accessUnit);
 
 const char *AVCProfileToString(uint8_t profile);
 
diff --git a/media/libstagefright/matroska/MatroskaExtractor.cpp b/media/libstagefright/matroska/MatroskaExtractor.cpp
index ffa3356..20a25d7 100644
--- a/media/libstagefright/matroska/MatroskaExtractor.cpp
+++ b/media/libstagefright/matroska/MatroskaExtractor.cpp
@@ -423,75 +423,89 @@
     MediaBuffer *frame = *mPendingFrames.begin();
     mPendingFrames.erase(mPendingFrames.begin());
 
-    size_t size = frame->range_length();
-
     if (mType != AVC) {
         *out = frame;
 
         return OK;
     }
 
-    if (size < mNALSizeLen) {
-        frame->release();
-        frame = NULL;
+    // Each input frame contains one or more NAL fragments, each fragment
+    // is prefixed by mNALSizeLen bytes giving the fragment length,
+    // followed by a corresponding number of bytes containing the fragment.
+    // We output all these fragments into a single large buffer separated
+    // by startcodes (0x00 0x00 0x00 0x01).
 
-        return ERROR_MALFORMED;
+    const uint8_t *srcPtr =
+        (const uint8_t *)frame->data() + frame->range_offset();
+
+    size_t srcSize = frame->range_length();
+
+    size_t dstSize = 0;
+    MediaBuffer *buffer = NULL;
+    uint8_t *dstPtr = NULL;
+
+    for (int32_t pass = 0; pass < 2; ++pass) {
+        size_t srcOffset = 0;
+        size_t dstOffset = 0;
+        while (srcOffset + mNALSizeLen <= srcSize) {
+            size_t NALsize;
+            switch (mNALSizeLen) {
+                case 1: NALsize = srcPtr[srcOffset]; break;
+                case 2: NALsize = U16_AT(srcPtr + srcOffset); break;
+                case 3: NALsize = U24_AT(srcPtr + srcOffset); break;
+                case 4: NALsize = U32_AT(srcPtr + srcOffset); break;
+                default:
+                    TRESPASS();
+            }
+
+            if (srcOffset + mNALSizeLen + NALsize > srcSize) {
+                break;
+            }
+
+            if (pass == 1) {
+                memcpy(&dstPtr[dstOffset], "\x00\x00\x00\x01", 4);
+
+                memcpy(&dstPtr[dstOffset + 4],
+                       &srcPtr[srcOffset + mNALSizeLen],
+                       NALsize);
+            }
+
+            dstOffset += 4;  // 0x00 00 00 01
+            dstOffset += NALsize;
+
+            srcOffset += mNALSizeLen + NALsize;
+        }
+
+        if (srcOffset < srcSize) {
+            // There were trailing bytes or not enough data to complete
+            // a fragment.
+
+            frame->release();
+            frame = NULL;
+
+            return ERROR_MALFORMED;
+        }
+
+        if (pass == 0) {
+            dstSize = dstOffset;
+
+            buffer = new MediaBuffer(dstSize);
+
+            int64_t timeUs;
+            CHECK(frame->meta_data()->findInt64(kKeyTime, &timeUs));
+            int32_t isSync;
+            CHECK(frame->meta_data()->findInt32(kKeyIsSyncFrame, &isSync));
+
+            buffer->meta_data()->setInt64(kKeyTime, timeUs);
+            buffer->meta_data()->setInt32(kKeyIsSyncFrame, isSync);
+
+            dstPtr = (uint8_t *)buffer->data();
+        }
     }
 
-    // In the case of AVC content, each NAL unit is prefixed by
-    // mNALSizeLen bytes of length. We want to prefix the data with
-    // a four-byte 0x00000001 startcode instead of the length prefix.
-    // mNALSizeLen ranges from 1 through 4 bytes, so add an extra
-    // 3 bytes of padding to the buffer start.
-    static const size_t kPadding = 3;
-
-    MediaBuffer *buffer = new MediaBuffer(size + kPadding);
-
-    int64_t timeUs;
-    CHECK(frame->meta_data()->findInt64(kKeyTime, &timeUs));
-    int32_t isSync;
-    CHECK(frame->meta_data()->findInt32(kKeyIsSyncFrame, &isSync));
-
-    buffer->meta_data()->setInt64(kKeyTime, timeUs);
-    buffer->meta_data()->setInt32(kKeyIsSyncFrame, isSync);
-
-    memcpy((uint8_t *)buffer->data() + kPadding,
-           (const uint8_t *)frame->data() + frame->range_offset(),
-           size);
-
-    buffer->set_range(kPadding, size);
-
     frame->release();
     frame = NULL;
 
-    uint8_t *data = (uint8_t *)buffer->data();
-
-    size_t NALsize;
-    switch (mNALSizeLen) {
-        case 1: NALsize = data[kPadding]; break;
-        case 2: NALsize = U16_AT(&data[kPadding]); break;
-        case 3: NALsize = U24_AT(&data[kPadding]); break;
-        case 4: NALsize = U32_AT(&data[kPadding]); break;
-        default:
-            TRESPASS();
-    }
-
-    if (size < NALsize + mNALSizeLen) {
-        buffer->release();
-        buffer = NULL;
-
-        return ERROR_MALFORMED;
-    }
-
-    if (size > NALsize + mNALSizeLen) {
-        LOGW("discarding %d bytes of data.", size - NALsize - mNALSizeLen);
-    }
-
-    // actual data starts at &data[kPadding + mNALSizeLen]
-
-    memcpy(&data[mNALSizeLen - 1], "\x00\x00\x00\x01", 4);
-    buffer->set_range(mNALSizeLen - 1, NALsize + 4);
-
     *out = buffer;
 
     return OK;
diff --git a/media/libstagefright/omx/OMX.cpp b/media/libstagefright/omx/OMX.cpp
index bc24dbb..33d3f30 100644
--- a/media/libstagefright/omx/OMX.cpp
+++ b/media/libstagefright/omx/OMX.cpp
@@ -85,7 +85,7 @@
     : mOwner(owner),
       mDone(false) {
     mThread = new CallbackDispatcherThread(this);
-    mThread->run("OMXCallbackDisp", ANDROID_PRIORITY_AUDIO);
+    mThread->run("OMXCallbackDisp", ANDROID_PRIORITY_FOREGROUND);
 }
 
 OMX::CallbackDispatcher::~CallbackDispatcher() {
diff --git a/media/libstagefright/omx/SimpleSoftOMXComponent.cpp b/media/libstagefright/omx/SimpleSoftOMXComponent.cpp
index f7330f3..b705d00 100644
--- a/media/libstagefright/omx/SimpleSoftOMXComponent.cpp
+++ b/media/libstagefright/omx/SimpleSoftOMXComponent.cpp
@@ -42,7 +42,7 @@
     mLooper->start(
             false, // runOnCallingThread
             false, // canCallJava
-            PRIORITY_AUDIO);
+            ANDROID_PRIORITY_FOREGROUND);
 }
 
 void SimpleSoftOMXComponent::prepareForDestruction() {
diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/audio/MediaBassBoostTest.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/audio/MediaBassBoostTest.java
index 6dbc8f2..e3aa8cf 100644
--- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/audio/MediaBassBoostTest.java
+++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/audio/MediaBassBoostTest.java
@@ -47,6 +47,10 @@
     private final static int MIN_ENERGY_RATIO_2 = 3;
     private final static short TEST_STRENGTH = 500;
     private final static int TEST_VOLUME = 4;
+    // Implementor UUID for volume controller effect defined in
+    // frameworks/base/media/libeffects/lvm/wrapper/Bundle/EffectBundle.cpp
+    private final static UUID VOLUME_EFFECT_UUID =
+        UUID.fromString("119341a0-8469-11df-81f9-0002a5d5c51b");
 
     private BassBoost mBassBoost = null;
     private int mSession = -1;
@@ -202,14 +206,15 @@
             // creating a volume controller on output mix ensures that ro.audio.silent mutes
             // audio after the effects and not before
             vc = new AudioEffect(
-                    AudioEffect.EFFECT_TYPE_NULL,
-                    UUID.fromString("119341a0-8469-11df-81f9-0002a5d5c51b"),
-                      0,
-                      0);
+                                AudioEffect.EFFECT_TYPE_NULL,
+                                VOLUME_EFFECT_UUID,
+                                0,
+                                0);
             vc.setEnabled(true);
 
             mp = new MediaPlayer();
             mp.setDataSource(MediaNames.SINE_200_1000);
+            mp.setLooping(true);
             mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
             getBassBoost(mp.getAudioSessionId());
             mp.prepare();
@@ -220,7 +225,7 @@
             int refEnergy1000 = probe.capture(1000);
             mBassBoost.setStrength((short)1000);
             mBassBoost.setEnabled(true);
-            Thread.sleep(500);
+            Thread.sleep(4000);
             // measure energy around 1kHz with band level at min
             int energy200 = probe.capture(200);
             int energy1000 = probe.capture(1000);
diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/audio/MediaEnvReverbTest.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/audio/MediaEnvReverbTest.java
index 2c0124f..3c8d05a 100644
--- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/audio/MediaEnvReverbTest.java
+++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/audio/MediaEnvReverbTest.java
@@ -50,6 +50,14 @@
     private final static float DELAY_TOLERANCE = 1.05f;
     // allow +/- 5% tolerance between set and get ratios
     private final static float RATIO_TOLERANCE = 1.05f;
+    // Implementor UUID for volume controller effect defined in
+    // frameworks/base/media/libeffects/lvm/wrapper/Bundle/EffectBundle.cpp
+    private final static UUID VOLUME_EFFECT_UUID =
+        UUID.fromString("119341a0-8469-11df-81f9-0002a5d5c51b");
+    // Implementor UUID for environmental reverb effect defined in
+    // frameworks/base/media/libeffects/lvm/wrapper/Bundle/EffectBundle.cpp
+    private final static UUID ENV_REVERB_EFFECT_UUID =
+        UUID.fromString("c7a511a0-a3bb-11df-860e-0002a5d5c51b");
 
     private EnvironmentalReverb mReverb = null;
     private int mSession = -1;
@@ -355,10 +363,10 @@
             // creating a volume controller on output mix ensures that ro.audio.silent mutes
             // audio after the effects and not before
             vc = new AudioEffect(
-                    AudioEffect.EFFECT_TYPE_NULL,
-                    UUID.fromString("119341a0-8469-11df-81f9-0002a5d5c51b"),
-                      0,
-                      0);
+                                AudioEffect.EFFECT_TYPE_NULL,
+                                VOLUME_EFFECT_UUID,
+                                0,
+                                0);
             vc.setEnabled(true);
 
             mp = new MediaPlayer();
@@ -425,10 +433,10 @@
             // creating a volume controller on output mix ensures that ro.audio.silent mutes
             // audio after the effects and not before
             vc = new AudioEffect(
-                    AudioEffect.EFFECT_TYPE_NULL,
-                    UUID.fromString("119341a0-8469-11df-81f9-0002a5d5c51b"),
-                      0,
-                      0);
+                                AudioEffect.EFFECT_TYPE_NULL,
+                                VOLUME_EFFECT_UUID,
+                                0,
+                                0);
             vc.setEnabled(true);
 
             mp = new MediaPlayer();
@@ -439,7 +447,7 @@
             // auxiliary reverb will be chosen by the effect framework as we are on session 0
             rvb = new AudioEffect(
                         AudioEffect.EFFECT_TYPE_NULL,
-                        UUID.fromString("c7a511a0-a3bb-11df-860e-0002a5d5c51b"),
+                        ENV_REVERB_EFFECT_UUID,
                         0,
                         0);
 
diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/audio/MediaEqualizerTest.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/audio/MediaEqualizerTest.java
index 1acc611..ee91bbb 100644
--- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/audio/MediaEqualizerTest.java
+++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/audio/MediaEqualizerTest.java
@@ -50,6 +50,11 @@
     private final static int TEST_FREQUENCY_MILLIHERTZ = 1000000;
     private final static int MIN_NUMBER_OF_PRESETS = 4;
     private final static int TEST_VOLUME = 4;
+    // Implementor UUID for volume controller effect defined in
+    // frameworks/base/media/libeffects/lvm/wrapper/Bundle/EffectBundle.cpp
+    private final static UUID VOLUME_EFFECT_UUID =
+        UUID.fromString("119341a0-8469-11df-81f9-0002a5d5c51b");
+
     private Equalizer mEqualizer = null;
     private int mSession = -1;
 
@@ -268,10 +273,10 @@
             // creating a volume controller on output mix ensures that ro.audio.silent mutes
             // audio after the effects and not before
             vc = new AudioEffect(
-                    AudioEffect.EFFECT_TYPE_NULL,
-                    UUID.fromString("119341a0-8469-11df-81f9-0002a5d5c51b"),
-                      0,
-                      0);
+                                AudioEffect.EFFECT_TYPE_NULL,
+                                VOLUME_EFFECT_UUID,
+                                0,
+                                0);
             vc.setEnabled(true);
 
             mp = new MediaPlayer();
diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/audio/MediaPresetReverbTest.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/audio/MediaPresetReverbTest.java
index cac0904..757bbc5 100644
--- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/audio/MediaPresetReverbTest.java
+++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/audio/MediaPresetReverbTest.java
@@ -44,6 +44,14 @@
  */
 public class MediaPresetReverbTest extends ActivityInstrumentationTestCase2<MediaFrameworkTest> {
     private String TAG = "MediaPresetReverbTest";
+    // Implementor UUID for volume controller effect defined in
+    // frameworks/base/media/libeffects/lvm/wrapper/Bundle/EffectBundle.cpp
+    private final static UUID VOLUME_EFFECT_UUID =
+        UUID.fromString("119341a0-8469-11df-81f9-0002a5d5c51b");
+    // Implementor UUID for preset reverb effect defined in
+    // frameworks/base/media/libeffects/lvm/wrapper/Bundle/EffectBundle.cpp
+    private final static UUID PRESET_REVERB_EFFECT_UUID =
+        UUID.fromString("172cdf00-a3bc-11df-a72f-0002a5d5c51b");
 
     private PresetReverb mReverb = null;
     private int mSession = -1;
@@ -200,10 +208,10 @@
             // creating a volume controller on output mix ensures that ro.audio.silent mutes
             // audio after the effects and not before
             vc = new AudioEffect(
-                    AudioEffect.EFFECT_TYPE_NULL,
-                    UUID.fromString("119341a0-8469-11df-81f9-0002a5d5c51b"),
-                      0,
-                      0);
+                                AudioEffect.EFFECT_TYPE_NULL,
+                                VOLUME_EFFECT_UUID,
+                                0,
+                                0);
             vc.setEnabled(true);
 
             mp = new MediaPlayer();
@@ -268,24 +276,21 @@
             // creating a volume controller on output mix ensures that ro.audio.silent mutes
             // audio after the effects and not before
             vc = new AudioEffect(
-                    AudioEffect.EFFECT_TYPE_NULL,
-                    UUID.fromString("119341a0-8469-11df-81f9-0002a5d5c51b"),
-                      0,
-                      0);
+                                AudioEffect.EFFECT_TYPE_NULL,
+                                VOLUME_EFFECT_UUID,
+                                0,
+                                0);
             vc.setEnabled(true);
 
             mp = new MediaPlayer();
             mp.setDataSource(MediaNames.SINE_200_1000);
             mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
-            getReverb(mp.getAudioSessionId());
-            mReverb.setPreset((short)PresetReverb.PRESET_PLATE);
-            mReverb.setEnabled(true);
 
             // create reverb with UUID instead of PresetReverb constructor otherwise an auxiliary
             // reverb will be chosen by the effect framework as we are on session 0
             rvb = new AudioEffect(
                         AudioEffect.EFFECT_TYPE_NULL,
-                        UUID.fromString("172cdf00-a3bc-11df-a72f-0002a5d5c51b"),
+                        PRESET_REVERB_EFFECT_UUID,
                         0,
                         0);
 
@@ -318,7 +323,6 @@
             loge(msg, "sleep() interrupted");
         }
         finally {
-            releaseReverb();
             if (mp != null) {
                 mp.release();
             }
diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/audio/MediaVirtualizerTest.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/audio/MediaVirtualizerTest.java
index d47f08f..b74e525 100644
--- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/audio/MediaVirtualizerTest.java
+++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/audio/MediaVirtualizerTest.java
@@ -44,9 +44,13 @@
  */
 public class MediaVirtualizerTest extends ActivityInstrumentationTestCase2<MediaFrameworkTest> {
     private String TAG = "MediaVirtualizerTest";
-    private final static int MIN_ENERGY_RATIO_2 = 3;
+    private final static int MIN_ENERGY_RATIO_2 = 2;
     private final static short TEST_STRENGTH = 500;
     private final static int TEST_VOLUME = 4;
+    // Implementor UUID for volume controller effect defined in
+    // frameworks/base/media/libeffects/lvm/wrapper/Bundle/EffectBundle.cpp
+    private final static UUID VOLUME_EFFECT_UUID =
+        UUID.fromString("119341a0-8469-11df-81f9-0002a5d5c51b");
 
     private Virtualizer mVirtualizer = null;
     private int mSession = -1;
@@ -203,14 +207,15 @@
             // creating a volume controller on output mix ensures that ro.audio.silent mutes
             // audio after the effects and not before
             vc = new AudioEffect(
-                    AudioEffect.EFFECT_TYPE_NULL,
-                    UUID.fromString("119341a0-8469-11df-81f9-0002a5d5c51b"),
-                      0,
-                      0);
+                                AudioEffect.EFFECT_TYPE_NULL,
+                                VOLUME_EFFECT_UUID,
+                                0,
+                                0);
             vc.setEnabled(true);
 
             mp = new MediaPlayer();
             mp.setDataSource(MediaNames.SINE_200_1000);
+            mp.setLooping(true);
             mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
             getVirtualizer(mp.getAudioSessionId());
             mp.prepare();
@@ -221,7 +226,7 @@
             int refEnergy1000 = probe.capture(1000);
             mVirtualizer.setStrength((short)1000);
             mVirtualizer.setEnabled(true);
-            Thread.sleep(500);
+            Thread.sleep(4000);
             // measure energy around 1kHz with band level at min
             int energy200 = probe.capture(200);
             int energy1000 = probe.capture(1000);
@@ -231,7 +236,7 @@
             // audio file but is not the primary effect of the virtualizer. A better way would
             // be to have a stereo PCM capture and check that a strongly paned input is centered
             // when output. However, we cannot capture stereo with the visualizer.
-            assertTrue(msg + ": virtiualizer has no effect",
+            assertTrue(msg + ": virtualizer has no effect",
                     ((float)energy200/(float)energy1000) >
                     (MIN_ENERGY_RATIO_2 * ((float)refEnergy200/(float)refEnergy1000)));
             result = true;
diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/audio/MediaVisualizerTest.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/audio/MediaVisualizerTest.java
index f264afa..e0cf51d 100644
--- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/audio/MediaVisualizerTest.java
+++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/functional/audio/MediaVisualizerTest.java
@@ -47,6 +47,10 @@
     private final static int MAX_SAMPLING_RATE = 48000000;
     private final static int MIN_CAPTURE_SIZE_MAX = 1024;
     private final static int MAX_CAPTURE_SIZE_MIN = 128;
+    // Implementor UUID for volume controller effect defined in
+    // frameworks/base/media/libeffects/lvm/wrapper/Bundle/EffectBundle.cpp
+    private final static UUID VOLUME_EFFECT_UUID =
+        UUID.fromString("119341a0-8469-11df-81f9-0002a5d5c51b");
 
     private Visualizer mVisualizer = null;
     private int mSession = -1;
@@ -205,10 +209,10 @@
             // creating a volume controller on output mix ensures that ro.audio.silent mutes
             // audio after the effects and not before
             vc = new AudioEffect(
-                    AudioEffect.EFFECT_TYPE_NULL,
-                    UUID.fromString("119341a0-8469-11df-81f9-0002a5d5c51b"),
-                      0,
-                      0);
+                                AudioEffect.EFFECT_TYPE_NULL,
+                                VOLUME_EFFECT_UUID,
+                                0,
+                                0);
             vc.setEnabled(true);
 
             mp = new MediaPlayer();
@@ -281,10 +285,10 @@
             // creating a volume controller on output mix ensures that ro.audio.silent mutes
             // audio after the effects and not before
             vc = new AudioEffect(
-                    AudioEffect.EFFECT_TYPE_NULL,
-                    UUID.fromString("119341a0-8469-11df-81f9-0002a5d5c51b"),
-                      0,
-                      0);
+                                AudioEffect.EFFECT_TYPE_NULL,
+                                VOLUME_EFFECT_UUID,
+                                0,
+                                0);
             vc.setEnabled(true);
 
             mp = new MediaPlayer();
diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/unit/MediaRecorderStopStateUnitTest.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/unit/MediaRecorderStopStateUnitTest.java
index 8737595..91100ae 100644
--- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/unit/MediaRecorderStopStateUnitTest.java
+++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/unit/MediaRecorderStopStateUnitTest.java
@@ -20,6 +20,7 @@
 import android.test.AndroidTestCase;
 import android.test.suitebuilder.annotation.MediumTest;
 import android.test.suitebuilder.annotation.Suppress;
+import android.util.Log;
 
 /**
  * Unit test class to test the set of valid and invalid states that
@@ -27,6 +28,8 @@
  */          
 public class MediaRecorderStopStateUnitTest extends AndroidTestCase implements MediaRecorderMethodUnderTest {
     private MediaRecorderStateUnitTestTemplate mTestTemplate = new MediaRecorderStateUnitTestTemplate();
+    private static final String TAG = "MediaRecorderStopStateUnitTest";
+    private static final int SLEEP_TIME_BEFORE_STOP = 1000;
 
     /**
      * 1. It is valid to call stop() in the following states:
@@ -51,6 +54,15 @@
     }
 
     public void invokeMethodUnderTest(MediaRecorder recorder) {
+        // Wait for some time before stopping the media recorder.
+        // This will fix the assertion caused by stopping it immediatedly
+        // after it is started
+        try {
+            Thread.sleep(SLEEP_TIME_BEFORE_STOP);
+        } catch(Exception e) {
+            Log.v(TAG, "sleep was interrupted and terminated prematurely");
+        }
+
         recorder.stop();
     }
 
diff --git a/native/include/android/rect.h b/native/include/android/rect.h
index 3e81f53..64d487d 100644
--- a/native/include/android/rect.h
+++ b/native/include/android/rect.h
@@ -23,6 +23,9 @@
 #endif
 
 typedef struct ARect {
+#ifdef __cplusplus
+    typedef int32_t value_type;
+#endif
     int32_t left;
     int32_t top;
     int32_t right;
diff --git a/opengl/java/android/opengl/Matrix.java b/opengl/java/android/opengl/Matrix.java
index 6d80bc6..7c72ae4 100644
--- a/opengl/java/android/opengl/Matrix.java
+++ b/opengl/java/android/opengl/Matrix.java
@@ -39,6 +39,10 @@
  *
  */
 public class Matrix {
+
+    /** Temporary memory for operations that need temporary matrix data. */
+    private final static float[] sTemp = new float[32];
+
     /**
      * Multiply two 4x4 matrices together and store the result in a third 4x4
      * matrix. In matrix notation: result = lhs x rhs. Due to the way
@@ -125,95 +129,120 @@
             int mOffset) {
         // Invert a 4 x 4 matrix using Cramer's Rule
 
-        // array of transpose source matrix
-        float[] src = new float[16];
-
         // transpose matrix
-        transposeM(src, 0, m, mOffset);
+        final float src0  = m[mOffset +  0];
+        final float src4  = m[mOffset +  1];
+        final float src8  = m[mOffset +  2];
+        final float src12 = m[mOffset +  3];
 
-        // temp array for pairs
-        float[] tmp = new float[12];
+        final float src1  = m[mOffset +  4];
+        final float src5  = m[mOffset +  5];
+        final float src9  = m[mOffset +  6];
+        final float src13 = m[mOffset +  7];
+
+        final float src2  = m[mOffset +  8];
+        final float src6  = m[mOffset +  9];
+        final float src10 = m[mOffset + 10];
+        final float src14 = m[mOffset + 11];
+
+        final float src3  = m[mOffset + 12];
+        final float src7  = m[mOffset + 13];
+        final float src11 = m[mOffset + 14];
+        final float src15 = m[mOffset + 15];
 
         // calculate pairs for first 8 elements (cofactors)
-        tmp[0] = src[10] * src[15];
-        tmp[1] = src[11] * src[14];
-        tmp[2] = src[9] * src[15];
-        tmp[3] = src[11] * src[13];
-        tmp[4] = src[9] * src[14];
-        tmp[5] = src[10] * src[13];
-        tmp[6] = src[8] * src[15];
-        tmp[7] = src[11] * src[12];
-        tmp[8] = src[8] * src[14];
-        tmp[9] = src[10] * src[12];
-        tmp[10] = src[8] * src[13];
-        tmp[11] = src[9] * src[12];
-
-        // Holds the destination matrix while we're building it up.
-        float[] dst = new float[16];
+        final float atmp0  = src10 * src15;
+        final float atmp1  = src11 * src14;
+        final float atmp2  = src9  * src15;
+        final float atmp3  = src11 * src13;
+        final float atmp4  = src9  * src14;
+        final float atmp5  = src10 * src13;
+        final float atmp6  = src8  * src15;
+        final float atmp7  = src11 * src12;
+        final float atmp8  = src8  * src14;
+        final float atmp9  = src10 * src12;
+        final float atmp10 = src8  * src13;
+        final float atmp11 = src9  * src12;
 
         // calculate first 8 elements (cofactors)
-        dst[0] = tmp[0] * src[5] + tmp[3] * src[6] + tmp[4] * src[7];
-        dst[0] -= tmp[1] * src[5] + tmp[2] * src[6] + tmp[5] * src[7];
-        dst[1] = tmp[1] * src[4] + tmp[6] * src[6] + tmp[9] * src[7];
-        dst[1] -= tmp[0] * src[4] + tmp[7] * src[6] + tmp[8] * src[7];
-        dst[2] = tmp[2] * src[4] + tmp[7] * src[5] + tmp[10] * src[7];
-        dst[2] -= tmp[3] * src[4] + tmp[6] * src[5] + tmp[11] * src[7];
-        dst[3] = tmp[5] * src[4] + tmp[8] * src[5] + tmp[11] * src[6];
-        dst[3] -= tmp[4] * src[4] + tmp[9] * src[5] + tmp[10] * src[6];
-        dst[4] = tmp[1] * src[1] + tmp[2] * src[2] + tmp[5] * src[3];
-        dst[4] -= tmp[0] * src[1] + tmp[3] * src[2] + tmp[4] * src[3];
-        dst[5] = tmp[0] * src[0] + tmp[7] * src[2] + tmp[8] * src[3];
-        dst[5] -= tmp[1] * src[0] + tmp[6] * src[2] + tmp[9] * src[3];
-        dst[6] = tmp[3] * src[0] + tmp[6] * src[1] + tmp[11] * src[3];
-        dst[6] -= tmp[2] * src[0] + tmp[7] * src[1] + tmp[10] * src[3];
-        dst[7] = tmp[4] * src[0] + tmp[9] * src[1] + tmp[10] * src[2];
-        dst[7] -= tmp[5] * src[0] + tmp[8] * src[1] + tmp[11] * src[2];
+        final float dst0  = (atmp0 * src5 + atmp3 * src6 + atmp4  * src7)
+                          - (atmp1 * src5 + atmp2 * src6 + atmp5  * src7);
+        final float dst1  = (atmp1 * src4 + atmp6 * src6 + atmp9  * src7)
+                          - (atmp0 * src4 + atmp7 * src6 + atmp8  * src7);
+        final float dst2  = (atmp2 * src4 + atmp7 * src5 + atmp10 * src7)
+                          - (atmp3 * src4 + atmp6 * src5 + atmp11 * src7);
+        final float dst3  = (atmp5 * src4 + atmp8 * src5 + atmp11 * src6)
+                          - (atmp4 * src4 + atmp9 * src5 + atmp10 * src6);
+        final float dst4  = (atmp1 * src1 + atmp2 * src2 + atmp5  * src3)
+                          - (atmp0 * src1 + atmp3 * src2 + atmp4  * src3);
+        final float dst5  = (atmp0 * src0 + atmp7 * src2 + atmp8  * src3)
+                          - (atmp1 * src0 + atmp6 * src2 + atmp9  * src3);
+        final float dst6  = (atmp3 * src0 + atmp6 * src1 + atmp11 * src3)
+                          - (atmp2 * src0 + atmp7 * src1 + atmp10 * src3);
+        final float dst7  = (atmp4 * src0 + atmp9 * src1 + atmp10 * src2)
+                          - (atmp5 * src0 + atmp8 * src1 + atmp11 * src2);
 
         // calculate pairs for second 8 elements (cofactors)
-        tmp[0] = src[2] * src[7];
-        tmp[1] = src[3] * src[6];
-        tmp[2] = src[1] * src[7];
-        tmp[3] = src[3] * src[5];
-        tmp[4] = src[1] * src[6];
-        tmp[5] = src[2] * src[5];
-        tmp[6] = src[0] * src[7];
-        tmp[7] = src[3] * src[4];
-        tmp[8] = src[0] * src[6];
-        tmp[9] = src[2] * src[4];
-        tmp[10] = src[0] * src[5];
-        tmp[11] = src[1] * src[4];
+        final float btmp0  = src2 * src7;
+        final float btmp1  = src3 * src6;
+        final float btmp2  = src1 * src7;
+        final float btmp3  = src3 * src5;
+        final float btmp4  = src1 * src6;
+        final float btmp5  = src2 * src5;
+        final float btmp6  = src0 * src7;
+        final float btmp7  = src3 * src4;
+        final float btmp8  = src0 * src6;
+        final float btmp9  = src2 * src4;
+        final float btmp10 = src0 * src5;
+        final float btmp11 = src1 * src4;
 
         // calculate second 8 elements (cofactors)
-        dst[8] = tmp[0] * src[13] + tmp[3] * src[14] + tmp[4] * src[15];
-        dst[8] -= tmp[1] * src[13] + tmp[2] * src[14] + tmp[5] * src[15];
-        dst[9] = tmp[1] * src[12] + tmp[6] * src[14] + tmp[9] * src[15];
-        dst[9] -= tmp[0] * src[12] + tmp[7] * src[14] + tmp[8] * src[15];
-        dst[10] = tmp[2] * src[12] + tmp[7] * src[13] + tmp[10] * src[15];
-        dst[10] -= tmp[3] * src[12] + tmp[6] * src[13] + tmp[11] * src[15];
-        dst[11] = tmp[5] * src[12] + tmp[8] * src[13] + tmp[11] * src[14];
-        dst[11] -= tmp[4] * src[12] + tmp[9] * src[13] + tmp[10] * src[14];
-        dst[12] = tmp[2] * src[10] + tmp[5] * src[11] + tmp[1] * src[9];
-        dst[12] -= tmp[4] * src[11] + tmp[0] * src[9] + tmp[3] * src[10];
-        dst[13] = tmp[8] * src[11] + tmp[0] * src[8] + tmp[7] * src[10];
-        dst[13] -= tmp[6] * src[10] + tmp[9] * src[11] + tmp[1] * src[8];
-        dst[14] = tmp[6] * src[9] + tmp[11] * src[11] + tmp[3] * src[8];
-        dst[14] -= tmp[10] * src[11] + tmp[2] * src[8] + tmp[7] * src[9];
-        dst[15] = tmp[10] * src[10] + tmp[4] * src[8] + tmp[9] * src[9];
-        dst[15] -= tmp[8] * src[9] + tmp[11] * src[10] + tmp[5] * src[8];
+        final float dst8  = (btmp0  * src13 + btmp3  * src14 + btmp4  * src15)
+                          - (btmp1  * src13 + btmp2  * src14 + btmp5  * src15);
+        final float dst9  = (btmp1  * src12 + btmp6  * src14 + btmp9  * src15)
+                          - (btmp0  * src12 + btmp7  * src14 + btmp8  * src15);
+        final float dst10 = (btmp2  * src12 + btmp7  * src13 + btmp10 * src15)
+                          - (btmp3  * src12 + btmp6  * src13 + btmp11 * src15);
+        final float dst11 = (btmp5  * src12 + btmp8  * src13 + btmp11 * src14)
+                          - (btmp4  * src12 + btmp9  * src13 + btmp10 * src14);
+        final float dst12 = (btmp2  * src10 + btmp5  * src11 + btmp1  * src9 )
+                          - (btmp4  * src11 + btmp0  * src9  + btmp3  * src10);
+        final float dst13 = (btmp8  * src11 + btmp0  * src8  + btmp7  * src10)
+                          - (btmp6  * src10 + btmp9  * src11 + btmp1  * src8 );
+        final float dst14 = (btmp6  * src9  + btmp11 * src11 + btmp3  * src8 )
+                          - (btmp10 * src11 + btmp2  * src8  + btmp7  * src9 );
+        final float dst15 = (btmp10 * src10 + btmp4  * src8  + btmp9  * src9 )
+                          - (btmp8  * src9  + btmp11 * src10 + btmp5  * src8 );
 
         // calculate determinant
-        float det =
-                src[0] * dst[0] + src[1] * dst[1] + src[2] * dst[2] + src[3]
-                        * dst[3];
+        final float det =
+                src0 * dst0 + src1 * dst1 + src2 * dst2 + src3 * dst3;
 
         if (det == 0.0f) {
-
+            return false;
         }
 
         // calculate matrix inverse
-        det = 1 / det;
-        for (int j = 0; j < 16; j++)
-            mInv[j + mInvOffset] = dst[j] * det;
+        final float invdet = 1.0f / det;
+        mInv[     mInvOffset] = dst0  * invdet;
+        mInv[ 1 + mInvOffset] = dst1  * invdet;
+        mInv[ 2 + mInvOffset] = dst2  * invdet;
+        mInv[ 3 + mInvOffset] = dst3  * invdet;
+
+        mInv[ 4 + mInvOffset] = dst4  * invdet;
+        mInv[ 5 + mInvOffset] = dst5  * invdet;
+        mInv[ 6 + mInvOffset] = dst6  * invdet;
+        mInv[ 7 + mInvOffset] = dst7  * invdet;
+
+        mInv[ 8 + mInvOffset] = dst8  * invdet;
+        mInv[ 9 + mInvOffset] = dst9  * invdet;
+        mInv[10 + mInvOffset] = dst10 * invdet;
+        mInv[11 + mInvOffset] = dst11 * invdet;
+
+        mInv[12 + mInvOffset] = dst12 * invdet;
+        mInv[13 + mInvOffset] = dst13 * invdet;
+        mInv[14 + mInvOffset] = dst14 * invdet;
+        mInv[15 + mInvOffset] = dst15 * invdet;
 
         return true;
     }
@@ -488,9 +517,10 @@
     public static void rotateM(float[] rm, int rmOffset,
             float[] m, int mOffset,
             float a, float x, float y, float z) {
-        float[] r = new float[16];
-        setRotateM(r, 0, a, x, y, z);
-        multiplyMM(rm, rmOffset, m, mOffset, r, 0);
+        synchronized(sTemp) {
+            setRotateM(sTemp, 0, a, x, y, z);
+            multiplyMM(rm, rmOffset, m, mOffset, sTemp, 0);
+        }
     }
 
     /**
@@ -505,10 +535,11 @@
      */
     public static void rotateM(float[] m, int mOffset,
             float a, float x, float y, float z) {
-        float[] temp = new float[32];
-        setRotateM(temp, 0, a, x, y, z);
-        multiplyMM(temp, 16, m, mOffset, temp, 0);
-        System.arraycopy(temp, 16, m, mOffset, 16);
+        synchronized(sTemp) {
+            setRotateM(sTemp, 0, a, x, y, z);
+            multiplyMM(sTemp, 16, m, mOffset, sTemp, 0);
+            System.arraycopy(sTemp, 16, m, mOffset, 16);
+        }
     }
 
     /**
diff --git a/opengl/libs/EGL/egl_object.h b/opengl/libs/EGL/egl_object.h
index d2b7378..46f7139 100644
--- a/opengl/libs/EGL/egl_object.h
+++ b/opengl/libs/EGL/egl_object.h
@@ -130,7 +130,7 @@
         if (window != NULL) {
             native_window_set_buffers_format(window, 0);
             if (native_window_api_disconnect(window, NATIVE_WINDOW_API_EGL)) {
-                LOGE("EGLNativeWindowType %p disconnected failed", window);
+                LOGW("EGLNativeWindowType %p disconnect failed", window);
             }
         }
     }
diff --git a/opengl/libs/GLES2_dbg/Android.mk b/opengl/libs/GLES2_dbg/Android.mk
index c2b1142..70853d8 100644
--- a/opengl/libs/GLES2_dbg/Android.mk
+++ b/opengl/libs/GLES2_dbg/Android.mk
@@ -31,6 +31,9 @@
     LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER
 endif
 
+LOCAL_CFLAGS += -DLOG_TAG=\"libGLES2_dbg\"
+
+
 # we need to access the private Bionic header <bionic_tls.h>
 # on ARM platforms, we need to mirror the ARCH_ARM_HAVE_TLS_REGISTER
 # behavior from the bionic Android.mk file
diff --git a/opengl/libs/GLES2_dbg/src/dbgcontext.cpp b/opengl/libs/GLES2_dbg/src/dbgcontext.cpp
index 9e77665..41061e1 100644
--- a/opengl/libs/GLES2_dbg/src/dbgcontext.cpp
+++ b/opengl/libs/GLES2_dbg/src/dbgcontext.cpp
@@ -30,13 +30,11 @@
 }
 
 DbgContext::DbgContext(const unsigned version, const gl_hooks_t * const hooks,
-                       const unsigned MAX_VERTEX_ATTRIBS, const GLenum readFormat,
-                       const GLenum readType)
+                       const unsigned MAX_VERTEX_ATTRIBS)
         : lzf_buf(NULL), lzf_readIndex(0), lzf_refSize(0), lzf_refBufSize(0)
         , version(version), hooks(hooks)
         , MAX_VERTEX_ATTRIBS(MAX_VERTEX_ATTRIBS)
-        , readFormat(readFormat), readType(readType)
-        , readBytesPerPixel(GetBytesPerPixel(readFormat, readType))
+        , readBytesPerPixel(4)
         , captureSwap(0), captureDraw(0)
         , vertexAttribs(new VertexAttrib[MAX_VERTEX_ATTRIBS])
         , hasNonVBOAttribs(false), indexBuffers(NULL), indexBuffer(NULL)
@@ -67,11 +65,7 @@
     assert(GL_NO_ERROR == hooks->gl.glGetError());
     GLint MAX_VERTEX_ATTRIBS = 0;
     hooks->gl.glGetIntegerv(GL_MAX_VERTEX_ATTRIBS, &MAX_VERTEX_ATTRIBS);
-    GLint readFormat, readType;
-    hooks->gl.glGetIntegerv(GL_IMPLEMENTATION_COLOR_READ_FORMAT, &readFormat);
-    hooks->gl.glGetIntegerv(GL_IMPLEMENTATION_COLOR_READ_TYPE, &readType);
-    DbgContext* dbg = new DbgContext(version, hooks, MAX_VERTEX_ATTRIBS, readFormat, readType);
-
+    DbgContext* dbg = new DbgContext(version, hooks, MAX_VERTEX_ATTRIBS);
     glesv2debugger::Message msg, cmd;
     msg.set_context_id(reinterpret_cast<int>(dbg));
     msg.set_expect_response(false);
@@ -100,33 +94,31 @@
 {
     switch (type) {
     case GL_UNSIGNED_SHORT_5_6_5:
-        return 2;
     case GL_UNSIGNED_SHORT_4_4_4_4:
-        return 2;
     case GL_UNSIGNED_SHORT_5_5_5_1:
         return 2;
     case GL_UNSIGNED_BYTE:
         break;
     default:
-        assert(0);
+        LOGE("GetBytesPerPixel: unknown type %x", type);
     }
 
     switch (format) {
     case GL_ALPHA:
-        return 1;
     case GL_LUMINANCE:
         return 1;
-        break;
     case GL_LUMINANCE_ALPHA:
         return 2;
     case GL_RGB:
         return 3;
     case GL_RGBA:
+    case 0x80E1:   // GL_BGRA_EXT
         return 4;
     default:
-        assert(0);
-        return 0;
+        LOGE("GetBytesPerPixel: unknown format %x", format);
     }
+
+    return 1; // in doubt...
 }
 
 void DbgContext::Fetch(const unsigned index, std::string * const data) const
diff --git a/opengl/libs/GLES2_dbg/src/egl.cpp b/opengl/libs/GLES2_dbg/src/egl.cpp
index eb28d06..bbea3bd 100644
--- a/opengl/libs/GLES2_dbg/src/egl.cpp
+++ b/opengl/libs/GLES2_dbg/src/egl.cpp
@@ -41,11 +41,11 @@
         void * pixels = dbg->GetReadPixelsBuffer(viewport[2] * viewport[3] *
                         dbg->readBytesPerPixel);
         dbg->hooks->gl.glReadPixels(viewport[0], viewport[1], viewport[2],
-                                    viewport[3], dbg->readFormat, dbg->readType, pixels);
+                                    viewport[3], GL_RGBA, GL_UNSIGNED_BYTE, pixels);
         dbg->CompressReadPixelBuffer(msg.mutable_data());
         msg.set_data_type(msg.ReferencedImage);
-        msg.set_pixel_format(dbg->readFormat);
-        msg.set_pixel_type(dbg->readType);
+        msg.set_pixel_format(GL_RGBA);
+        msg.set_pixel_type(GL_UNSIGNED_BYTE);
         msg.set_image_width(viewport[2]);
         msg.set_image_height(viewport[3]);
     }
diff --git a/opengl/libs/GLES2_dbg/src/header.h b/opengl/libs/GLES2_dbg/src/header.h
index f2b1fa6..49f3847 100644
--- a/opengl/libs/GLES2_dbg/src/header.h
+++ b/opengl/libs/GLES2_dbg/src/header.h
@@ -87,7 +87,6 @@
     const unsigned int version; // 0 is GLES1, 1 is GLES2
     const gl_hooks_t * const hooks;
     const unsigned int MAX_VERTEX_ATTRIBS;
-    const GLenum readFormat, readType; // implementation supported glReadPixels
     const unsigned int readBytesPerPixel;
 
     unsigned int captureSwap; // number of eglSwapBuffers to glReadPixels
@@ -124,8 +123,7 @@
     unsigned maxAttrib; // number of slots used by program
 
     DbgContext(const unsigned version, const gl_hooks_t * const hooks,
-               const unsigned MAX_VERTEX_ATTRIBS, const GLenum readFormat,
-               const GLenum readType);
+               const unsigned MAX_VERTEX_ATTRIBS);
     ~DbgContext();
 
     void Fetch(const unsigned index, std::string * const data) const;
diff --git a/opengl/libs/GLES2_dbg/src/vertex.cpp b/opengl/libs/GLES2_dbg/src/vertex.cpp
index 029ee3b..28a24206 100644
--- a/opengl/libs/GLES2_dbg/src/vertex.cpp
+++ b/opengl/libs/GLES2_dbg/src/vertex.cpp
@@ -77,7 +77,7 @@
                 pixels = dbg->GetReadPixelsBuffer(viewport[2] * viewport[3] *
                                                   dbg->readBytesPerPixel);
                 Debug_glReadPixels(viewport[0], viewport[1], viewport[2], viewport[3],
-                                   dbg->readFormat, dbg->readType, pixels);
+                        GL_RGBA, GL_UNSIGNED_BYTE, pixels);
             }
             break;
         case glesv2debugger::Message_Function_SKIP:
@@ -134,19 +134,22 @@
     msg.set_arg7(dbg->maxAttrib); // indicate capturing vertex data
     std::string * const data = msg.mutable_data();
     if (GL_UNSIGNED_BYTE == type) {
-        if (dbg->indexBuffer)
+        if (dbg->indexBuffer) {
             FetchIndexed(count, (unsigned char *)dbg->indexBuffer->data +
                          (unsigned long)indices, data, dbg);
-        else
+        } else {
             FetchIndexed(count, (unsigned char *)indices, data, dbg);
+        }
     } else if (GL_UNSIGNED_SHORT == type) {
-        if (dbg->indexBuffer)
+        if (dbg->indexBuffer) {
             FetchIndexed(count, (unsigned short *)((char *)dbg->indexBuffer->data +
                                                    (unsigned long)indices), data, dbg);
-        else
+        } else {
             FetchIndexed(count, (unsigned short *)indices, data, dbg);
-    } else
+        }
+    } else {
         assert(0);
+    }
 
     void * pixels = NULL;
     int viewport[4] = {};
@@ -174,7 +177,7 @@
             Send(msg, cmd);
             expectResponse = cmd.expect_response();
             // TODO: pack glReadPixels data with vertex data instead of
-            //  relying on sperate call for transport, this would allow
+            //  relying on separate call for transport, this would allow
             //  auto generated message loop using EXTEND_Debug macro
             if (dbg->captureDraw > 0) {
                 dbg->captureDraw--;
@@ -182,7 +185,7 @@
                 pixels = dbg->GetReadPixelsBuffer(viewport[2] * viewport[3] *
                                                   dbg->readBytesPerPixel);
                 Debug_glReadPixels(viewport[0], viewport[1], viewport[2], viewport[3],
-                                   dbg->readFormat, dbg->readType, pixels);
+                        GL_RGBA, GL_UNSIGNED_BYTE, pixels);
             }
             break;
         case glesv2debugger::Message_Function_SKIP:
diff --git a/opengl/libs/GLES2_dbg/test/test_main.cpp b/opengl/libs/GLES2_dbg/test/test_main.cpp
index 058bea4..183bf8e 100644
--- a/opengl/libs/GLES2_dbg/test/test_main.cpp
+++ b/opengl/libs/GLES2_dbg/test/test_main.cpp
@@ -29,7 +29,7 @@
     gl_hooks_t hooks;
 
     DbgContextTest()
-            : dbg(1, &hooks, 32, GL_RGBA, GL_UNSIGNED_BYTE) {
+            : dbg(1, &hooks, 32) {
         // You can do set-up work for each test here.
         hooks.gl.glGetError = GetError;
     }
diff --git a/opengl/libs/GLES2_dbg/test/test_server.cpp b/opengl/libs/GLES2_dbg/test/test_server.cpp
index bbbe913..0ab87b0 100644
--- a/opengl/libs/GLES2_dbg/test/test_server.cpp
+++ b/opengl/libs/GLES2_dbg/test/test_server.cpp
@@ -151,7 +151,7 @@
     virtual void SetUp() {
         ServerFileTest::SetUp();
 
-        dbg = new DbgContext(1, &hooks, 32, GL_RGBA, GL_UNSIGNED_BYTE);
+        dbg = new DbgContext(1, &hooks, 32);
         ASSERT_NE((void *)NULL, dbg);
         for (unsigned int i = 0; i < sizeof(hooks) / sizeof(void *); i++)
             ((void **)&hooks)[i] = reinterpret_cast<void *>(glNoop);
diff --git a/opengl/libs/GLES2_dbg/test/test_socket.cpp b/opengl/libs/GLES2_dbg/test/test_socket.cpp
index b2148ac..9f815e2 100644
--- a/opengl/libs/GLES2_dbg/test/test_socket.cpp
+++ b/opengl/libs/GLES2_dbg/test/test_socket.cpp
@@ -44,7 +44,7 @@
     }
 
     virtual void SetUp() {
-        dbg = new DbgContext(1, &hooks, 32, GL_RGBA, GL_UNSIGNED_BYTE);
+        dbg = new DbgContext(1, &hooks, 32);
         ASSERT_TRUE(dbg != NULL);
         for (unsigned int i = 0; i < sizeof(hooks) / sizeof(void *); i++)
             ((void **)&hooks)[i] = (void *)glNoop;
diff --git a/packages/BackupRestoreConfirmation/res/values-ar/strings.xml b/packages/BackupRestoreConfirmation/res/values-ar/strings.xml
index 0d4cf97..ceabaaf 100644
--- a/packages/BackupRestoreConfirmation/res/values-ar/strings.xml
+++ b/packages/BackupRestoreConfirmation/res/values-ar/strings.xml
@@ -31,6 +31,6 @@
     <string name="toast_backup_started" msgid="550354281452756121">"جارٍ بدء النسخ الاحتياطي..."</string>
     <string name="toast_backup_ended" msgid="3818080769548726424">"انتهت عملية النسخ الاحتياطي"</string>
     <string name="toast_restore_started" msgid="7881679218971277385">"جارٍ بدء الاستعادة..."</string>
-    <string name="toast_restore_ended" msgid="1764041639199696132">"انتهت عملية استعادة"</string>
+    <string name="toast_restore_ended" msgid="1764041639199696132">"انتهت عملية الاستعادة"</string>
     <string name="toast_timeout" msgid="5276598587087626877">"انتهت مهلة العملية"</string>
 </resources>
diff --git a/packages/BackupRestoreConfirmation/res/values-cs/strings.xml b/packages/BackupRestoreConfirmation/res/values-cs/strings.xml
index cdccf59..89085f3 100644
--- a/packages/BackupRestoreConfirmation/res/values-cs/strings.xml
+++ b/packages/BackupRestoreConfirmation/res/values-cs/strings.xml
@@ -31,6 +31,6 @@
     <string name="toast_backup_started" msgid="550354281452756121">"Spouští se zálohování..."</string>
     <string name="toast_backup_ended" msgid="3818080769548726424">"Zálohování bylo dokončeno"</string>
     <string name="toast_restore_started" msgid="7881679218971277385">"Spouští se obnovení..."</string>
-    <string name="toast_restore_ended" msgid="1764041639199696132">"Obnovení bylo dokončeno"</string>
+    <string name="toast_restore_ended" msgid="1764041639199696132">"Obnovení skončilo"</string>
     <string name="toast_timeout" msgid="5276598587087626877">"Časový limit operace vypršel"</string>
 </resources>
diff --git a/packages/BackupRestoreConfirmation/res/values-el/strings.xml b/packages/BackupRestoreConfirmation/res/values-el/strings.xml
index 9eb4555..8571860 100644
--- a/packages/BackupRestoreConfirmation/res/values-el/strings.xml
+++ b/packages/BackupRestoreConfirmation/res/values-el/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="backup_confirm_title" msgid="827563724209303345">"Πλήρες αντίγραφο ασφαλείας"</string>
+    <string name="backup_confirm_title" msgid="827563724209303345">"Πλήρης δημιουργία αντιγράφων ασφαλείας"</string>
     <string name="restore_confirm_title" msgid="5469365809567486602">"Πλήρης επαναφορά"</string>
     <string name="backup_confirm_text" msgid="1878021282758896593">"Έχει ζητηθεί ένα πλήρες αντίγραφο ασφαλείας όλων των δεδομένων σε έναν συνδεδεμένο επιτραπέζιο υπολογιστή. Θέλετε να επιτραπεί αυτή η ενέργεια;"\n\n"Αν δεν έχετε ζητήσει οι ίδιοι αυτό το αντίγραφο ασφαλείας, μην επιτρέψετε την ενέργεια."</string>
     <string name="allow_backup_button_label" msgid="4217228747769644068">"Δημιουργία αντιγράφων ασφαλείας για τα δεδομένα μου"</string>
@@ -30,7 +30,7 @@
     <string name="restore_enc_password_text" msgid="6140898525580710823">"Εάν η επαναφορά των δεδομένων είναι κρυπτογραφημένη, εισάγετε τον κωδικό πρόσβασης παρακάτω:"</string>
     <string name="toast_backup_started" msgid="550354281452756121">"Έναρξη διαδικασίας δημιουργίας αντιγράφου ασφαλείας..."</string>
     <string name="toast_backup_ended" msgid="3818080769548726424">"Ολοκληρώθηκε η διαδικασία δημιουργίας αντιγράφου ασφαλείας"</string>
-    <string name="toast_restore_started" msgid="7881679218971277385">"Έναρξη διαδικασίας επαναφοράς..."</string>
-    <string name="toast_restore_ended" msgid="1764041639199696132">"Έληξε η διαδικασία επαναφοράς"</string>
+    <string name="toast_restore_started" msgid="7881679218971277385">"Έναρξη επαναφοράς..."</string>
+    <string name="toast_restore_ended" msgid="1764041639199696132">"Η επαναφορά έληξε"</string>
     <string name="toast_timeout" msgid="5276598587087626877">"Λήξη χρονικού ορίου λειτουργίας"</string>
 </resources>
diff --git a/packages/BackupRestoreConfirmation/res/values-es-rUS/strings.xml b/packages/BackupRestoreConfirmation/res/values-es-rUS/strings.xml
index 79f5a9a..264f3fc 100644
--- a/packages/BackupRestoreConfirmation/res/values-es-rUS/strings.xml
+++ b/packages/BackupRestoreConfirmation/res/values-es-rUS/strings.xml
@@ -32,5 +32,5 @@
     <string name="toast_backup_ended" msgid="3818080769548726424">"La realización de la copia de seguridad finalizó."</string>
     <string name="toast_restore_started" msgid="7881679218971277385">"Restaurando..."</string>
     <string name="toast_restore_ended" msgid="1764041639199696132">"La restauración finalizó."</string>
-    <string name="toast_timeout" msgid="5276598587087626877">"Se agotó el tiempo de espera para la operación."</string>
+    <string name="toast_timeout" msgid="5276598587087626877">"La operación caducó."</string>
 </resources>
diff --git a/packages/BackupRestoreConfirmation/res/values-fr/strings.xml b/packages/BackupRestoreConfirmation/res/values-fr/strings.xml
index 31d1532..0f0a9df 100644
--- a/packages/BackupRestoreConfirmation/res/values-fr/strings.xml
+++ b/packages/BackupRestoreConfirmation/res/values-fr/strings.xml
@@ -28,9 +28,9 @@
     <string name="backup_enc_password_text" msgid="4981585714795233099">"Veuillez saisir un mot de passe à utiliser pour chiffrer les données de sauvegarde complète. Si ce champ n\'est pas renseigné, votre mot de passe de sauvegarde actuel sera utilisé :"</string>
     <string name="backup_enc_password_optional" msgid="1350137345907579306">"Si vous souhaitez chiffrer l\'ensemble des données de sauvegarde, veuillez saisir un mot de passe ci-dessous :"</string>
     <string name="restore_enc_password_text" msgid="6140898525580710823">"Si les données de restauration sont chiffrées, veuillez saisir le mot de passe ci-dessous :"</string>
-    <string name="toast_backup_started" msgid="550354281452756121">"Démarrage de la sauvegarde..."</string>
-    <string name="toast_backup_ended" msgid="3818080769548726424">"Sauvegarde terminée"</string>
-    <string name="toast_restore_started" msgid="7881679218971277385">"Démarrage de la restauration..."</string>
-    <string name="toast_restore_ended" msgid="1764041639199696132">"Restauration terminée"</string>
+    <string name="toast_backup_started" msgid="550354281452756121">"Démarrage de la sauvegarde…"</string>
+    <string name="toast_backup_ended" msgid="3818080769548726424">"Sauvegarde terminée."</string>
+    <string name="toast_restore_started" msgid="7881679218971277385">"Démarrage de la restauration…"</string>
+    <string name="toast_restore_ended" msgid="1764041639199696132">"Restauration terminée."</string>
     <string name="toast_timeout" msgid="5276598587087626877">"L\'opération a expiré."</string>
 </resources>
diff --git a/packages/BackupRestoreConfirmation/res/values-ms/strings.xml b/packages/BackupRestoreConfirmation/res/values-ms/strings.xml
index 04643f7..f0b6b62 100644
--- a/packages/BackupRestoreConfirmation/res/values-ms/strings.xml
+++ b/packages/BackupRestoreConfirmation/res/values-ms/strings.xml
@@ -16,10 +16,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <!-- no translation found for backup_confirm_title (827563724209303345) -->
-    <skip />
-    <!-- no translation found for restore_confirm_title (5469365809567486602) -->
-    <skip />
+    <string name="backup_confirm_title" msgid="827563724209303345">"Sandaran penuh"</string>
+    <string name="restore_confirm_title" msgid="5469365809567486602">"Pemulihan penuh"</string>
     <string name="backup_confirm_text" msgid="1878021282758896593">"Sandaran lengkap bagi semua data ke komputer meja yang bersambung telah diminta. Adakah anda mahu membenarkan ini berlaku?"\n\n"Jika anda tidak meminta sandaran ini sendiri, jangan benarkan operasi diteruskan."</string>
     <string name="allow_backup_button_label" msgid="4217228747769644068">"Sandarkan data saya"</string>
     <string name="deny_backup_button_label" msgid="6009119115581097708">"Jangan buat sandaran"</string>
@@ -30,14 +28,9 @@
     <string name="backup_enc_password_text" msgid="4981585714795233099">"Sila masukkan kata laluan yang hendak digunakan untuk menyulitkan data sandaran lengkap. Jika dibiarkan kosong, kata laluan sandaran semasa anda akan digunakan:"</string>
     <string name="backup_enc_password_optional" msgid="1350137345907579306">"Jika anda ingin menyulitkan data sandaran lengkap, masukkan kata laluan di bawah:"</string>
     <string name="restore_enc_password_text" msgid="6140898525580710823">"Jika pemulihan data disulitkan, sila masukkan kata laluan di bawah:"</string>
-    <!-- no translation found for toast_backup_started (550354281452756121) -->
-    <skip />
-    <!-- no translation found for toast_backup_ended (3818080769548726424) -->
-    <skip />
-    <!-- no translation found for toast_restore_started (7881679218971277385) -->
-    <skip />
-    <!-- no translation found for toast_restore_ended (1764041639199696132) -->
-    <skip />
-    <!-- no translation found for toast_timeout (5276598587087626877) -->
-    <skip />
+    <string name="toast_backup_started" msgid="550354281452756121">"Sandaran bermula..."</string>
+    <string name="toast_backup_ended" msgid="3818080769548726424">"Sandaran selesai"</string>
+    <string name="toast_restore_started" msgid="7881679218971277385">"Pemulihan bermula..."</string>
+    <string name="toast_restore_ended" msgid="1764041639199696132">"Pemulihan berakhir"</string>
+    <string name="toast_timeout" msgid="5276598587087626877">"Operasi tamat masa"</string>
 </resources>
diff --git a/packages/BackupRestoreConfirmation/res/values-ro/strings.xml b/packages/BackupRestoreConfirmation/res/values-ro/strings.xml
index 715f312..b36680f 100644
--- a/packages/BackupRestoreConfirmation/res/values-ro/strings.xml
+++ b/packages/BackupRestoreConfirmation/res/values-ro/strings.xml
@@ -16,8 +16,8 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="backup_confirm_title" msgid="827563724209303345">"Copie de rezervă completă"</string>
-    <string name="restore_confirm_title" msgid="5469365809567486602">"Restaurare completă"</string>
+    <string name="backup_confirm_title" msgid="827563724209303345">"Copiere de rezervă completă"</string>
+    <string name="restore_confirm_title" msgid="5469365809567486602">"Restabilire completă"</string>
     <string name="backup_confirm_text" msgid="1878021282758896593">"S-a solicitat crearea unei copii de rezervă complete a tuturor datelor pe un computer desktop conectat. Doriţi să permiteţi acest lucru?"\n\n"Dacă nu aţi solicitat dvs. copierea de rezervă, nu permiteţi ca operaţiunea să continue."</string>
     <string name="allow_backup_button_label" msgid="4217228747769644068">"Creaţi copii de rezervă pentru datele dvs."</string>
     <string name="deny_backup_button_label" msgid="6009119115581097708">"Nu creaţi copii de rezervă"</string>
@@ -28,9 +28,9 @@
     <string name="backup_enc_password_text" msgid="4981585714795233099">"Introduceţi o parolă pentru a o utiliza la criptarea datelor copiei de rezervă complete. Dacă acest câmp rămâne necompletat, pentru copierea de rezervă se va utiliza parola dvs. actuală."</string>
     <string name="backup_enc_password_optional" msgid="1350137345907579306">"Dacă doriţi să criptaţi datele copiei de rezervă complete, introduceţi o parolă mai jos:"</string>
     <string name="restore_enc_password_text" msgid="6140898525580710823">"Dacă datele pentru restabilire sunt criptate, introduceţi parola mai jos:"</string>
-    <string name="toast_backup_started" msgid="550354281452756121">"Se începe crearea copiei de rezervă..."</string>
-    <string name="toast_backup_ended" msgid="3818080769548726424">"Copia de rezervă a fost finalizată"</string>
-    <string name="toast_restore_started" msgid="7881679218971277385">"Se porneşte restaurarea..."</string>
-    <string name="toast_restore_ended" msgid="1764041639199696132">"Restaurarea s-a încheiat"</string>
+    <string name="toast_backup_started" msgid="550354281452756121">"Se începe copierea de rezervă..."</string>
+    <string name="toast_backup_ended" msgid="3818080769548726424">"Copierea de rezervă a fost finalizată"</string>
+    <string name="toast_restore_started" msgid="7881679218971277385">"Se porneşte restabilirea..."</string>
+    <string name="toast_restore_ended" msgid="1764041639199696132">"Restabilirea s-a încheiat"</string>
     <string name="toast_timeout" msgid="5276598587087626877">"Operaţia a expirat"</string>
 </resources>
diff --git a/packages/BackupRestoreConfirmation/res/values-sl/strings.xml b/packages/BackupRestoreConfirmation/res/values-sl/strings.xml
index 50a5d50..1ca2e53 100644
--- a/packages/BackupRestoreConfirmation/res/values-sl/strings.xml
+++ b/packages/BackupRestoreConfirmation/res/values-sl/strings.xml
@@ -29,8 +29,8 @@
     <string name="backup_enc_password_optional" msgid="1350137345907579306">"Če želite šifrirati vse varnostno kopirane podatke, spodaj vnesite geslo:"</string>
     <string name="restore_enc_password_text" msgid="6140898525580710823">"Če so podatki za obnovitev šifrirani, spodaj vnesite geslo:"</string>
     <string name="toast_backup_started" msgid="550354281452756121">"Varnostno kopiranje se začenja ..."</string>
-    <string name="toast_backup_ended" msgid="3818080769548726424">"Varnostno kopiranje je končano"</string>
+    <string name="toast_backup_ended" msgid="3818080769548726424">"Varnostno kopiranje končano"</string>
     <string name="toast_restore_started" msgid="7881679218971277385">"Obnova se začenja ..."</string>
-    <string name="toast_restore_ended" msgid="1764041639199696132">"Obnova je končana"</string>
+    <string name="toast_restore_ended" msgid="1764041639199696132">"Obnovitev je končana"</string>
     <string name="toast_timeout" msgid="5276598587087626877">"Časovna omejitev postopka je potekla"</string>
 </resources>
diff --git a/packages/BackupRestoreConfirmation/res/values-sr/strings.xml b/packages/BackupRestoreConfirmation/res/values-sr/strings.xml
index 1573dc7..5b3b250 100644
--- a/packages/BackupRestoreConfirmation/res/values-sr/strings.xml
+++ b/packages/BackupRestoreConfirmation/res/values-sr/strings.xml
@@ -32,5 +32,5 @@
     <string name="toast_backup_ended" msgid="3818080769548726424">"Прављење резервне копије је завршено"</string>
     <string name="toast_restore_started" msgid="7881679218971277385">"Покретање враћања..."</string>
     <string name="toast_restore_ended" msgid="1764041639199696132">"Враћање је завршено"</string>
-    <string name="toast_timeout" msgid="5276598587087626877">"Време за операцију је истекло"</string>
+    <string name="toast_timeout" msgid="5276598587087626877">"Време за радњу је истекло"</string>
 </resources>
diff --git a/packages/BackupRestoreConfirmation/res/values-th/strings.xml b/packages/BackupRestoreConfirmation/res/values-th/strings.xml
index 68af3b8..dc76577 100644
--- a/packages/BackupRestoreConfirmation/res/values-th/strings.xml
+++ b/packages/BackupRestoreConfirmation/res/values-th/strings.xml
@@ -16,7 +16,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="backup_confirm_title" msgid="827563724209303345">"การสำรองข้อมูลแบบเต็ม"</string>
+    <string name="backup_confirm_title" msgid="827563724209303345">"การสำรองข้อมูลทั้งหมด"</string>
     <string name="restore_confirm_title" msgid="5469365809567486602">"การคืนค่าทั้งหมด"</string>
     <string name="backup_confirm_text" msgid="1878021282758896593">"เราได้รับการขอให้ทำการสำรองข้อมูลทั้งหมดลงในคอมพิวเตอร์เดสก์ท็อปที่เชื่อมต่ออยู่ คุณต้องการอนุญาตให้ดำเนินการตามนี้หรือไม่"\n\n" หากคุณไม่ได้เป็นผู้ขอให้ทำการสำรองข้อมูลดังกล่าว โปรดอย่าอนุญาตให้ดำเนินการ"</string>
     <string name="allow_backup_button_label" msgid="4217228747769644068">"สำรองข้อมูลของฉัน"</string>
diff --git a/packages/BackupRestoreConfirmation/res/values-tl/strings.xml b/packages/BackupRestoreConfirmation/res/values-tl/strings.xml
index 272b406..99f2e48 100644
--- a/packages/BackupRestoreConfirmation/res/values-tl/strings.xml
+++ b/packages/BackupRestoreConfirmation/res/values-tl/strings.xml
@@ -32,5 +32,5 @@
     <string name="toast_backup_ended" msgid="3818080769548726424">"Tapos na ang pag-backup"</string>
     <string name="toast_restore_started" msgid="7881679218971277385">"Sinisimulan ang pagpapanumbalik..."</string>
     <string name="toast_restore_ended" msgid="1764041639199696132">"Natapos na ang pagpapanumbalik"</string>
-    <string name="toast_timeout" msgid="5276598587087626877">"Naubusan ng oras ang pagpapatakbo"</string>
+    <string name="toast_timeout" msgid="5276598587087626877">"Nag-time out ang pagpapatakbo"</string>
 </resources>
diff --git a/packages/BackupRestoreConfirmation/res/values-uk/strings.xml b/packages/BackupRestoreConfirmation/res/values-uk/strings.xml
index a1c6f2c..9b2df90 100644
--- a/packages/BackupRestoreConfirmation/res/values-uk/strings.xml
+++ b/packages/BackupRestoreConfirmation/res/values-uk/strings.xml
@@ -32,5 +32,5 @@
     <string name="toast_backup_ended" msgid="3818080769548726424">"Резервне копіювання закінчено"</string>
     <string name="toast_restore_started" msgid="7881679218971277385">"Початок відновлення..."</string>
     <string name="toast_restore_ended" msgid="1764041639199696132">"Відновлення закінчено"</string>
-    <string name="toast_timeout" msgid="5276598587087626877">"Час виконання операції минув"</string>
+    <string name="toast_timeout" msgid="5276598587087626877">"Час очікування для операції минув"</string>
 </resources>
diff --git a/packages/BackupRestoreConfirmation/res/values-zh-rCN/strings.xml b/packages/BackupRestoreConfirmation/res/values-zh-rCN/strings.xml
index dcaebd2..40a1d1f 100644
--- a/packages/BackupRestoreConfirmation/res/values-zh-rCN/strings.xml
+++ b/packages/BackupRestoreConfirmation/res/values-zh-rCN/strings.xml
@@ -31,6 +31,6 @@
     <string name="toast_backup_started" msgid="550354281452756121">"开始备份..."</string>
     <string name="toast_backup_ended" msgid="3818080769548726424">"备份已完成"</string>
     <string name="toast_restore_started" msgid="7881679218971277385">"开始还原..."</string>
-    <string name="toast_restore_ended" msgid="1764041639199696132">"还原已结束"</string>
+    <string name="toast_restore_ended" msgid="1764041639199696132">"恢复已结束"</string>
     <string name="toast_timeout" msgid="5276598587087626877">"操作超时"</string>
 </resources>
diff --git a/packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java b/packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java
index 6e5f856..113f0f7 100644
--- a/packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java
+++ b/packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java
@@ -156,6 +156,7 @@
             }
             ret.packageName = pkg.packageName;
             ret.installLocation = pkg.installLocation;
+            ret.verifiers = pkg.verifiers;
 
             ret.recommendedInstallLocation = recommendAppInstallLocation(pkg.installLocation,
                     archiveFilePath, flags, threshold);
diff --git a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_home.png b/packages/SystemUI/res/drawable-hdpi/ic_sysbar_home.png
index 3137e7e..908056f 100644
--- a/packages/SystemUI/res/drawable-hdpi/ic_sysbar_home.png
+++ b/packages/SystemUI/res/drawable-hdpi/ic_sysbar_home.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/status_bar_close_on.9.png b/packages/SystemUI/res/drawable-hdpi/status_bar_close_on.9.png
index b429222..69f3543 100644
--- a/packages/SystemUI/res/drawable-hdpi/status_bar_close_on.9.png
+++ b/packages/SystemUI/res/drawable-hdpi/status_bar_close_on.9.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_home.png b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_home.png
index 5c98614..9820a79 100644
--- a/packages/SystemUI/res/drawable-mdpi/ic_sysbar_home.png
+++ b/packages/SystemUI/res/drawable-mdpi/ic_sysbar_home.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/status_bar_close_on.9.png b/packages/SystemUI/res/drawable-mdpi/status_bar_close_on.9.png
index f5f2f70..fb30982 100644
--- a/packages/SystemUI/res/drawable-mdpi/status_bar_close_on.9.png
+++ b/packages/SystemUI/res/drawable-mdpi/status_bar_close_on.9.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_home.png b/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_home.png
index 7c6b8e5..0b41317 100644
--- a/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_home.png
+++ b/packages/SystemUI/res/drawable-xhdpi/ic_sysbar_home.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable/notification_row_bg.xml b/packages/SystemUI/res/drawable/notification_row_bg.xml
new file mode 100644
index 0000000..dc626d1
--- /dev/null
+++ b/packages/SystemUI/res/drawable/notification_row_bg.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:exitFadeDuration="@android:integer/config_mediumAnimTime">
+
+    <item android:state_pressed="true"  android:drawable="@android:color/holo_blue_light" />
+    <item android:state_pressed="false" android:drawable="@drawable/notification_item_background_color" />
+</selector>
diff --git a/packages/SystemUI/res/layout-land/status_bar_recent_item.xml b/packages/SystemUI/res/layout-land/status_bar_recent_item.xml
index 167d362..58355bd 100644
--- a/packages/SystemUI/res/layout-land/status_bar_recent_item.xml
+++ b/packages/SystemUI/res/layout-land/status_bar_recent_item.xml
@@ -40,25 +40,23 @@
             android:background="@drawable/recents_thumbnail_bg"
             android:foreground="@drawable/recents_thumbnail_fg">
             <ImageView android:id="@+id/app_thumbnail_image"
+                android:layout_width="@dimen/status_bar_recents_thumbnail_width"
+                android:layout_height="@dimen/status_bar_recents_thumbnail_height"
+                android:visibility="invisible"
+            />
+
+            <ImageView android:id="@+id/app_icon"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/status_bar_recents_app_icon_top_margin"
+                android:layout_marginLeft="@dimen/status_bar_recents_app_icon_left_margin"
+                android:maxWidth="@dimen/status_bar_recents_app_icon_max_width"
+                android:maxHeight="@dimen/status_bar_recents_app_icon_max_height"
+                android:adjustViewBounds="true"
                 android:visibility="invisible"
             />
         </FrameLayout>
 
-        <ImageView android:id="@+id/app_icon"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_alignLeft="@id/app_thumbnail"
-            android:layout_alignTop="@id/app_thumbnail"
-            android:layout_marginTop="@dimen/status_bar_recents_app_icon_top_margin"
-            android:layout_marginLeft="@dimen/status_bar_recents_app_icon_left_margin"
-            android:maxWidth="@dimen/status_bar_recents_app_icon_max_width"
-            android:maxHeight="@dimen/status_bar_recents_app_icon_max_height"
-            android:adjustViewBounds="true"
-            android:visibility="invisible"
-        />
-
         <TextView android:id="@+id/app_label"
             android:layout_width="@dimen/status_bar_recents_app_label_width"
             android:layout_height="wrap_content"
diff --git a/packages/SystemUI/res/layout-land/status_bar_recent_panel.xml b/packages/SystemUI/res/layout-land/status_bar_recent_panel.xml
index 2fe22ff..3ee9e77 100644
--- a/packages/SystemUI/res/layout-land/status_bar_recent_panel.xml
+++ b/packages/SystemUI/res/layout-land/status_bar_recent_panel.xml
@@ -75,13 +75,4 @@
         android:layout_height="match_parent"
         android:visibility="invisible" />
 
-    <View android:id="@+id/recents_dismiss_button"
-        android:layout_width="80px"
-        android:layout_height="@*android:dimen/status_bar_height"
-        android:layout_alignParentBottom="true"
-        android:layout_alignParentLeft="true"
-        android:background="@drawable/ic_sysbar_back_ime"
-        android:visibility="gone"
-    />
-
 </com.android.systemui.recent.RecentsPanelView>
diff --git a/packages/SystemUI/res/layout-port/status_bar_recent_item.xml b/packages/SystemUI/res/layout-port/status_bar_recent_item.xml
index de80a51..8c82eb1 100644
--- a/packages/SystemUI/res/layout-port/status_bar_recent_item.xml
+++ b/packages/SystemUI/res/layout-port/status_bar_recent_item.xml
@@ -38,24 +38,20 @@
             android:background="@drawable/recents_thumbnail_bg"
             android:foreground="@drawable/recents_thumbnail_fg">
             <ImageView android:id="@+id/app_thumbnail_image"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
+                android:layout_width="@dimen/status_bar_recents_thumbnail_width"
+                android:layout_height="@dimen/status_bar_recents_thumbnail_height"
                 android:visibility="invisible"
             />
+            <ImageView android:id="@+id/app_icon"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/status_bar_recents_app_icon_left_margin"
+                android:layout_marginTop="@dimen/status_bar_recents_app_icon_top_margin"
+                android:maxWidth="@dimen/status_bar_recents_app_icon_max_width"
+                android:maxHeight="@dimen/status_bar_recents_app_icon_max_height"
+                android:adjustViewBounds="true"
+            />
         </FrameLayout>
-
-        <ImageView android:id="@+id/app_icon"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_alignLeft="@id/app_thumbnail"
-            android:layout_alignTop="@id/app_thumbnail"
-            android:layout_marginLeft="@dimen/status_bar_recents_app_icon_left_margin"
-            android:layout_marginTop="@dimen/status_bar_recents_app_icon_top_margin"
-            android:maxWidth="@dimen/status_bar_recents_app_icon_max_width"
-            android:maxHeight="@dimen/status_bar_recents_app_icon_max_height"
-            android:adjustViewBounds="true"
-        />
-
         <TextView android:id="@+id/app_label"
             android:layout_width="@dimen/status_bar_recents_app_label_width"
             android:layout_height="wrap_content"
diff --git a/packages/SystemUI/res/layout-port/status_bar_recent_panel.xml b/packages/SystemUI/res/layout-port/status_bar_recent_panel.xml
index 4d49077..d040544 100644
--- a/packages/SystemUI/res/layout-port/status_bar_recent_panel.xml
+++ b/packages/SystemUI/res/layout-port/status_bar_recent_panel.xml
@@ -73,13 +73,4 @@
         android:layout_height="match_parent"
         android:visibility="invisible" />
 
-    <View android:id="@+id/recents_dismiss_button"
-        android:layout_width="80px"
-        android:layout_height="@*android:dimen/status_bar_height"
-        android:layout_alignParentBottom="true"
-        android:layout_alignParentLeft="true"
-        android:background="@drawable/ic_sysbar_back_ime"
-        android:visibility="gone"
-    />
-
 </com.android.systemui.recent.RecentsPanelView>
diff --git a/packages/SystemUI/res/layout-sw600dp/status_bar.xml b/packages/SystemUI/res/layout-sw600dp/status_bar.xml
index 125c87e..b96c357 100644
--- a/packages/SystemUI/res/layout-sw600dp/status_bar.xml
+++ b/packages/SystemUI/res/layout-sw600dp/status_bar.xml
@@ -73,7 +73,7 @@
                     android:layout_width="80dip"
                     android:layout_height="match_parent"
                     android:src="@drawable/ic_sysbar_recent"
-                    android:contentDescription="@string/accessibility_menu"
+                    android:contentDescription="@string/accessibility_recent"
                     systemui:glowBackground="@drawable/ic_sysbar_highlight"
                     />
                 <com.android.systemui.statusbar.policy.KeyButtonView android:id="@+id/menu"
diff --git a/packages/SystemUI/res/layout-sw600dp/status_bar_notification_panel.xml b/packages/SystemUI/res/layout-sw600dp/status_bar_notification_panel.xml
index 1641c70..2947bfb 100644
--- a/packages/SystemUI/res/layout-sw600dp/status_bar_notification_panel.xml
+++ b/packages/SystemUI/res/layout-sw600dp/status_bar_notification_panel.xml
@@ -34,6 +34,7 @@
         android:paddingRight="15dp"
         android:src="@drawable/ic_notify_clear"
         android:visibility="invisible"
+        android:contentDescription="@string/accessibility_clear_all"
         />
 
     <RelativeLayout
diff --git a/packages/SystemUI/res/layout-sw600dp/status_bar_recent_item.xml b/packages/SystemUI/res/layout-sw600dp/status_bar_recent_item.xml
index 07088d5..e6336718 100644
--- a/packages/SystemUI/res/layout-sw600dp/status_bar_recent_item.xml
+++ b/packages/SystemUI/res/layout-sw600dp/status_bar_recent_item.xml
@@ -33,24 +33,21 @@
         android:background="@drawable/recents_thumbnail_bg"
         android:foreground="@drawable/recents_thumbnail_fg">
         <ImageView android:id="@+id/app_thumbnail_image"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
+            android:layout_width="@dimen/status_bar_recents_thumbnail_width"
+            android:layout_height="@dimen/status_bar_recents_thumbnail_height"
             android:visibility="invisible"
         />
+        <ImageView android:id="@+id/app_icon"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="@dimen/status_bar_recents_app_icon_left_margin"
+            android:layout_marginTop="@dimen/status_bar_recents_app_icon_top_margin"
+            android:maxWidth="@dimen/status_bar_recents_app_icon_max_width"
+            android:maxHeight="@dimen/status_bar_recents_app_icon_max_height"
+            android:adjustViewBounds="true"
+        />
     </FrameLayout>
 
-    <ImageView android:id="@+id/app_icon"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_alignLeft="@id/app_thumbnail"
-        android:layout_alignTop="@id/app_thumbnail"
-        android:layout_marginLeft="@dimen/status_bar_recents_app_icon_left_margin"
-        android:layout_marginTop="@dimen/status_bar_recents_app_icon_top_margin"
-        android:maxWidth="@dimen/status_bar_recents_app_icon_max_width"
-        android:maxHeight="@dimen/status_bar_recents_app_icon_max_height"
-        android:adjustViewBounds="true"
-    />
-
     <TextView android:id="@+id/app_label"
         android:layout_width="@dimen/status_bar_recents_app_label_width"
         android:layout_height="wrap_content"
diff --git a/packages/SystemUI/res/layout-sw600dp/status_bar_recent_panel.xml b/packages/SystemUI/res/layout-sw600dp/status_bar_recent_panel.xml
index 4ef602e..5dd101e 100644
--- a/packages/SystemUI/res/layout-sw600dp/status_bar_recent_panel.xml
+++ b/packages/SystemUI/res/layout-sw600dp/status_bar_recent_panel.xml
@@ -79,6 +79,7 @@
         android:layout_alignParentBottom="true"
         android:layout_alignParentLeft="true"
         android:background="@drawable/ic_sysbar_back_ime"
+        android:contentDescription="@string/status_bar_accessibility_dismiss_recents"
     />
 
 </com.android.systemui.recent.RecentsPanelView>
diff --git a/packages/SystemUI/res/layout/signal_cluster_view.xml b/packages/SystemUI/res/layout/signal_cluster_view.xml
index 41a30c7..eb644b3 100644
--- a/packages/SystemUI/res/layout/signal_cluster_view.xml
+++ b/packages/SystemUI/res/layout/signal_cluster_view.xml
@@ -45,6 +45,12 @@
             android:layout_gravity="center|bottom"
             />
     </FrameLayout>
+    <View
+        android:layout_height="6dp"
+        android:layout_width="6dp"
+        android:visibility="gone"
+        android:id="@+id/spacer"
+        />
     <FrameLayout
         android:layout_height="wrap_content"
         android:layout_width="wrap_content"
diff --git a/packages/SystemUI/res/layout/status_bar_expanded.xml b/packages/SystemUI/res/layout/status_bar_expanded.xml
index 38ac8a7..3e2def5 100644
--- a/packages/SystemUI/res/layout/status_bar_expanded.xml
+++ b/packages/SystemUI/res/layout/status_bar_expanded.xml
@@ -65,6 +65,7 @@
             android:paddingLeft="8dp"
             android:paddingRight="8dp"
             android:src="@drawable/ic_notify_quicksettings"
+            android:contentDescription="@string/accessibility_settings_button"
             />
 
         <ImageView android:id="@+id/clear_all_button"
@@ -74,6 +75,7 @@
             android:paddingLeft="8dp"
             android:paddingRight="8dp"
             android:src="@drawable/ic_notify_clear"
+            android:contentDescription="@string/accessibility_clear_all"
             />            
     </RelativeLayout>
 
diff --git a/packages/SystemUI/res/layout/status_bar_notification_row.xml b/packages/SystemUI/res/layout/status_bar_notification_row.xml
index ff86878..3220e62 100644
--- a/packages/SystemUI/res/layout/status_bar_notification_row.xml
+++ b/packages/SystemUI/res/layout/status_bar_notification_row.xml
@@ -23,6 +23,7 @@
         android:layout_alignParentLeft="true"
         android:scaleType="center"
         android:clickable="true"
+        android:background="@*android:drawable/notify_panel_notification_icon_bg_tile"
         />
 
     <com.android.systemui.statusbar.LatestItemView android:id="@+id/content"
@@ -33,14 +34,14 @@
         android:layout_alignParentRight="true"
         android:focusable="true"
         android:clickable="true"
-        android:background="@drawable/notification_item_background_color"
+        android:background="@drawable/notification_row_bg"
         />
 
     <View
         android:layout_width="match_parent"
         android:layout_height="@dimen/notification_divider_height"
         android:layout_alignParentBottom="true"
-        android:background="@drawable/status_bar_notification_row_background_color"
+        android:background="@drawable/notification_item_background_color"
         />
 
 </RelativeLayout>
diff --git a/packages/SystemUI/res/layout/status_bar_tracking.xml b/packages/SystemUI/res/layout/status_bar_tracking.xml
index 25c0237..c1b0066 100644
--- a/packages/SystemUI/res/layout/status_bar_tracking.xml
+++ b/packages/SystemUI/res/layout/status_bar_tracking.xml
@@ -26,12 +26,21 @@
     android:paddingRight="0px"
     >
 
-    <View
-         android:layout_width="match_parent"
-         android:layout_height="wrap_content"
-         android:layout_weight="1"
-         android:background="@drawable/notification_tracking_bg"
-         />
+    <FrameLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_weight="1"
+        android:background="@drawable/notification_tracking_bg"
+        >
+        <com.android.systemui.statusbar.phone.CarrierLabel
+            android:textAppearance="@style/TextAppearance.StatusBar.Clock"
+            android:layout_height="wrap_content"
+            android:layout_width="match_parent"
+            android:layout_gravity="bottom"
+            android:gravity="center"
+            android:paddingBottom="20dp"
+            />
+    </FrameLayout>
 
     <com.android.systemui.statusbar.phone.CloseDragHandle android:id="@+id/close"
         android:layout_width="match_parent"
diff --git a/packages/SystemUI/res/values/colors.xml b/packages/SystemUI/res/values/colors.xml
index e780ae6..5ba1908 100644
--- a/packages/SystemUI/res/values/colors.xml
+++ b/packages/SystemUI/res/values/colors.xml
@@ -25,7 +25,7 @@
     <drawable name="status_bar_recents_app_thumbnail_background">#88000000</drawable>
     <color name="status_bar_recents_app_label_color">#ffffffff</color>
     <drawable name="status_bar_notification_row_background_color">#ff090909</drawable>
-    <drawable name="notification_header_bg">#FF000000</drawable>
+    <drawable name="notification_header_bg">#d8000000</drawable>
     <drawable name="notification_tracking_bg">#d8000000</drawable>
     <color name="notification_list_shadow_top">#80000000</color>
 </resources>
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index d0ece6c..830506c 100644
--- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml
@@ -30,7 +30,7 @@
 
     <!-- Size of application thumbnail -->
     <dimen name="status_bar_recents_thumbnail_width">164dp</dimen>
-    <dimen name="status_bar_recents_thumbnail_height">164dp</dimen>
+    <dimen name="status_bar_recents_thumbnail_height">145dp</dimen>
 
     <!-- Size of application label text -->
     <dimen name="status_bar_recents_app_label_text_size">16dip</dimen>
diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml
index b9e6d78..e971896 100644
--- a/packages/SystemUI/res/values/strings.xml
+++ b/packages/SystemUI/res/values/strings.xml
@@ -42,9 +42,19 @@
     <string name="status_bar_recent_inspect_item_title">App info</string>
 
     <!-- Message shown in the middle of the screen after clicking on the recent apps button
-         when there are no recent apps to show [CHAR LIMIT=45]-->
+         when there are no recent apps to show. Also used for accessibility. [CHAR LIMIT=45]-->
     <string name="status_bar_no_recent_apps">No recent apps</string>
 
+    <!-- Content description for the button to dismiss Recent Apps (only present on large
+         devices) -->
+    <string name="status_bar_accessibility_dismiss_recents">Dismiss recent apps</string>
+
+    <!-- Message that is read when you enter recent apps in TalkBack -->
+    <plurals name="status_bar_accessibility_recent_apps">
+        <item quantity="one">1 recent app</item>
+        <item quantity="other">%d recent apps</item>
+    </plurals>
+
     <!-- The label in the bar at the top of the status bar when there are no notifications
          showing.  [CHAR LIMIT=40]-->
     <string name="status_bar_no_notifications_title">No notifications</string>
@@ -109,14 +119,6 @@
     <!-- Separator for PLMN and SPN in network name. -->
     <string name="status_bar_network_name_separator" translatable="false">"\n"</string>
 
-    <!-- Recent Tasks dialog: title [CHAR LIMIT=30] -->
-    <string name="recent_tasks_title">Recent</string>
-    <!-- Recent Tasks dialog: message when there are no recent applications [CHAR LIMIT=NONE]-->
-    <string name="recent_tasks_empty">No recent applications.</string>
-
-    <!-- Recent apps label. Shown as title on recent apps panel -->
-    <string name="recent_tasks_app_label">Apps</string>
-
     <!-- Network connection string for Bluetooth Reverse Tethering -->
     <string name="bluetooth_tethered">Bluetooth tethered</string>
     <!-- Title of a button to open the settings for input methods [CHAR LIMIT=30] -->
@@ -187,7 +189,7 @@
     <!-- Content description of the menu button for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
     <string name="accessibility_menu">Menu</string>
     <!-- Content description of the recents button for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
-    <string name="accessibility_recent">Recent applications</string>
+    <string name="accessibility_recent">Recent apps</string>
 
     <!-- Content description of the switch input method button for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
     <string name="accessibility_ime_switch_button">Switch input method button.</string>
@@ -280,13 +282,13 @@
     <string name="accessibility_battery_level">Battery <xliff:g id="number">%d</xliff:g> percent.</string>
 
     <!-- Content description of the button for showing a settings panel in the notification panel for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
-    <string name="accessibility_settings_button">Settings button.</string>
+    <string name="accessibility_settings_button">System settings.</string>
 
     <!-- Content description of the button for showing a notifications panel in the notification panel for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
-    <string name="accessibility_notifications_button">Notifications button.</string>
+    <string name="accessibility_notifications_button">Notifications.</string>
 
     <!-- Content description of the button for removing a notification in the notification panel for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
-    <string name="accessibility_remove_notification">Remove notification.</string>
+    <string name="accessibility_remove_notification">Clear notification.</string>
 
     <!-- Content description of the enabled GPS icon in the notification panel for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
     <string name="accessibility_gps_enabled">GPS enabled.</string>
@@ -334,4 +336,6 @@
     <!-- Notification text: when GPS has found a fix [CHAR LIMIT=50] -->
     <string name="gps_notification_found_text">Location set by GPS</string>
 
+    <!-- Content description of the clear button in the notification panel for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
+    <string name="accessibility_clear_all">Clear all notifications.</string>
 </resources>
diff --git a/packages/SystemUI/src/com/android/systemui/recent/RecentsHorizontalScrollView.java b/packages/SystemUI/src/com/android/systemui/recent/RecentsHorizontalScrollView.java
index 1c9d80d..58af255 100644
--- a/packages/SystemUI/src/com/android/systemui/recent/RecentsHorizontalScrollView.java
+++ b/packages/SystemUI/src/com/android/systemui/recent/RecentsHorizontalScrollView.java
@@ -26,6 +26,7 @@
 import android.view.MotionEvent;
 import android.view.View;
 import android.view.ViewConfiguration;
+import android.view.View.OnTouchListener;
 import android.widget.HorizontalScrollView;
 import android.widget.LinearLayout;
 
@@ -65,6 +66,13 @@
                 mPerformanceHelper.addViewCallback(view);
             }
 
+            OnTouchListener noOpListener = new OnTouchListener() {
+                @Override
+                public boolean onTouch(View v, MotionEvent event) {
+                    return true;
+                }
+            };
+
             view.setOnClickListener(new OnClickListener() {
                 public void onClick(View v) {
                     mCallback.dismiss();
@@ -78,22 +86,25 @@
                     mCallback.handleOnClick(view);
                 }
             };
+
+            final View thumbnailView = view.findViewById(R.id.app_thumbnail);
             OnLongClickListener longClickListener = new OnLongClickListener() {
                 public boolean onLongClick(View v) {
                     final View anchorView = view.findViewById(R.id.app_description);
-                    final View thumbnailView = view.findViewById(R.id.app_thumbnail);
                     mCallback.handleLongPress(view, anchorView, thumbnailView);
                     return true;
                 }
             };
-            final View thumbnail = view.findViewById(R.id.app_thumbnail);
-            thumbnail.setClickable(true);
-            thumbnail.setOnClickListener(launchAppListener);
-            thumbnail.setOnLongClickListener(longClickListener);
+            thumbnailView.setClickable(true);
+            thumbnailView.setOnClickListener(launchAppListener);
+            thumbnailView.setOnLongClickListener(longClickListener);
+
+            // We don't want to dismiss recents if a user clicks on the app title
+            // (we also don't want to launch the app either, though, because the
+            // app title is a small target and doesn't have great click feedback)
             final View appTitle = view.findViewById(R.id.app_label);
-            appTitle.setClickable(true);
-            appTitle.setOnClickListener(launchAppListener);
-            appTitle.setOnLongClickListener(longClickListener);
+            appTitle.setContentDescription(" ");
+            appTitle.setOnTouchListener(noOpListener);
             mLinearLayout.addView(view);
         }
         // Scroll to end after layout.
diff --git a/packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java b/packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java
index ee97af2..e3f5cdb 100644
--- a/packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java
+++ b/packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java
@@ -32,12 +32,9 @@
 import android.graphics.Bitmap;
 import android.graphics.Canvas;
 import android.graphics.Matrix;
-import android.graphics.Paint;
-import android.graphics.RectF;
 import android.graphics.Shader.TileMode;
 import android.graphics.drawable.BitmapDrawable;
 import android.graphics.drawable.Drawable;
-import android.graphics.drawable.StateListDrawable;
 import android.net.Uri;
 import android.os.AsyncTask;
 import android.os.Handler;
@@ -56,7 +53,6 @@
 import android.view.animation.AnimationUtils;
 import android.widget.AdapterView;
 import android.widget.BaseAdapter;
-import android.widget.FrameLayout;
 import android.widget.HorizontalScrollView;
 import android.widget.ImageView;
 import android.widget.PopupMenu;
@@ -64,6 +60,7 @@
 import android.widget.ScrollView;
 import android.widget.TextView;
 import android.widget.AdapterView.OnItemClickListener;
+import android.widget.ImageView.ScaleType;
 
 import com.android.systemui.R;
 import com.android.systemui.statusbar.StatusBar;
@@ -129,7 +126,7 @@
         }
 
         public void setThumbnail(Bitmap thumbnail) {
-            mThumbnail = compositeBitmap(mDefaultThumbnailBackground, thumbnail);
+            mThumbnail = thumbnail;
         }
 
         public Bitmap getThumbnail() {
@@ -202,6 +199,7 @@
             holder.descriptionView.setText(activityDescription.recentTaskInfo.description);
             holder.thumbnailView.setTag(activityDescription);
             holder.thumbnailView.setOnLongClickListener(new OnLongClickDelegate(convertView));
+            holder.thumbnailView.setContentDescription(activityDescription.getLabel());
             holder.activityDescription = activityDescription;
 
             return convertView;
@@ -228,6 +226,23 @@
     }
 
     public void show(boolean show, boolean animate) {
+        if (show) {
+            // Need to update list of recent apps before we set visibility so this view's
+            // content description is updated before it gets focus for TalkBack mode
+            refreshApplicationList();
+
+            // if there are no apps, either bring up a "No recent apps" message, or just
+            // quit early
+            boolean noApps = (mActivityDescriptions.size() == 0);
+            if (mRecentsNoApps != null) { // doesn't exist on large devices
+                mRecentsNoApps.setVisibility(noApps ? View.VISIBLE : View.INVISIBLE);
+            } else {
+                if (noApps) {
+                    if (DEBUG) Log.v(TAG, "Nothing to show");
+                    return;
+                }
+            }
+        }
         if (animate) {
             if (mShowing != show) {
                 mShowing = show;
@@ -378,11 +393,13 @@
         mRecentsNoApps = findViewById(R.id.recents_no_apps);
         mChoreo = new Choreographer(this, mRecentsScrim, mRecentsGlowView, mRecentsNoApps, this);
         mRecentsDismissButton = findViewById(R.id.recents_dismiss_button);
-        mRecentsDismissButton.setOnClickListener(new OnClickListener() {
-            public void onClick(View v) {
-                hide(true);
-            }
-        });
+        if (mRecentsDismissButton != null) {
+            mRecentsDismissButton.setOnClickListener(new OnClickListener() {
+                public void onClick(View v) {
+                    hide(true);
+                }
+            });
+        }
 
         // In order to save space, we make the background texture repeat in the Y direction
         if (mRecentsScrim != null && mRecentsScrim.getBackground() instanceof BitmapDrawable) {
@@ -400,9 +417,6 @@
     protected void onVisibilityChanged(View changedView, int visibility) {
         super.onVisibilityChanged(changedView, visibility);
         if (DEBUG) Log.v(TAG, "onVisibilityChanged(" + changedView + ", " + visibility + ")");
-        if (visibility == View.VISIBLE && changedView == this) {
-            refreshApplicationList();
-        }
 
         if (mRecentsContainer instanceof RecentsHorizontalScrollView) {
             ((RecentsHorizontalScrollView) mRecentsContainer).onRecentsVisibilityChanged();
@@ -480,13 +494,10 @@
             if (resolveInfo != null) {
                 final ActivityInfo info = resolveInfo.activityInfo;
                 final String title = info.loadLabel(pm).toString();
-                // Drawable icon = info.loadIcon(pm);
                 Drawable icon = getFullResIcon(resolveInfo, pm);
                 if (title != null && title.length() > 0 && icon != null) {
                     if (DEBUG) Log.v(TAG, "creating activity desc for id="
                             + recentInfo.id + ", label=" + title);
-                    ActivityManager.TaskThumbnails thumbs = am.getTaskThumbnails(
-                            recentInfo.persistentId);
                     ActivityDescription item = new ActivityDescription(recentInfo,
                             resolveInfo, intent, index, info.packageName);
                     activityDescriptions.add(item);
@@ -525,7 +536,9 @@
         synchronized (ad) {
             ad.mLabel = label;
             ad.mIcon = icon;
-            ad.setThumbnail(thumbs != null ? thumbs.mainThumbnail : mDefaultThumbnailBackground);
+            if (thumbs != null && thumbs.mainThumbnail != null) {
+                ad.setThumbnail(thumbs.mainThumbnail);
+            }
         }
     }
 
@@ -544,7 +557,7 @@
                     if (v.getTag() instanceof ViewHolder) {
                         ViewHolder h = (ViewHolder)v.getTag();
                         if (h.activityDescription == ad) {
-                            if (DEBUG) Log.v(TAG, "Updatating thumbnail #" + index + " in "
+                            if (DEBUG) Log.v(TAG, "Updating thumbnail #" + index + " in "
                                     + h.activityDescription
                                     + ": " + ad.getThumbnail());
                             h.iconView.setImageDrawable(ad.getIcon());
@@ -554,6 +567,7 @@
                             }
                             h.iconView.setVisibility(View.VISIBLE);
                             h.labelView.setText(ad.getLabel());
+                            h.thumbnailView.setContentDescription(ad.getLabel());
                             if (anim) {
                                 h.labelView.setAnimation(AnimationUtils.loadAnimation(
                                         mContext, R.anim.recent_appear));
@@ -565,6 +579,15 @@
                                 // that this now covers, to improve scrolling speed.
                                 // That can't be done until the anim is complete though.
                                 h.thumbnailViewImage.setImageBitmap(thumbnail);
+
+                                // scale to fill up the full width
+                                Matrix scaleMatrix = new Matrix();
+                                float thumbnailViewWidth = h.thumbnailViewImage.getWidth();
+                                float scale = thumbnailViewWidth / thumbnail.getWidth();
+                                scaleMatrix.setScale(scale, scale);
+                                h.thumbnailViewImage.setScaleType(ScaleType.MATRIX);
+                                h.thumbnailViewImage.setImageMatrix(scaleMatrix);
+
                                 if (anim) {
                                     h.thumbnailViewImage.setAnimation(AnimationUtils.loadAnimation(
                                             mContext, R.anim.recent_appear));
@@ -583,10 +606,18 @@
             mThumbnailLoader.cancel(false);
             mThumbnailLoader = null;
         }
-        if (mRecentsNoApps != null) { // doesn't exist on large devices
-            mRecentsNoApps.setVisibility(View.INVISIBLE);
-        }
+
         mActivityDescriptions = getRecentTasks();
+        int numRecentApps = mActivityDescriptions.size();
+        String recentAppsAccessibilityDescription;
+        if (numRecentApps == 0) {
+            recentAppsAccessibilityDescription =
+                getResources().getString(R.string.status_bar_no_recent_apps);
+        } else {
+            recentAppsAccessibilityDescription = getResources().getQuantityString(
+                R.plurals.status_bar_accessibility_recent_apps, numRecentApps, numRecentApps);
+        }
+        setContentDescription(recentAppsAccessibilityDescription);
         for (ActivityDescription ad : mActivityDescriptions) {
             ad.setThumbnail(mDefaultThumbnailBackground);
         }
@@ -650,32 +681,9 @@
                 };
                 mThumbnailLoader.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
             }
-        } else {
-            // Immediately hide this panel
-            if (DEBUG) Log.v(TAG, "Nothing to show");
-            if (mRecentsNoApps != null) { // doesn't exist on large devices
-                mRecentsNoApps.setVisibility(View.VISIBLE);
-            } else {
-                hide(false);
-            }
         }
     }
 
-    private Bitmap compositeBitmap(Bitmap background, Bitmap thumbnail) {
-        Bitmap outBitmap = background.copy(background.getConfig(), true);
-        if (thumbnail != null) {
-            Canvas canvas = new Canvas(outBitmap);
-            Paint paint = new Paint();
-            paint.setAntiAlias(true);
-            paint.setFilterBitmap(true);
-            paint.setAlpha(255);
-            canvas.drawBitmap(thumbnail, null,
-                    new RectF(0, 0, outBitmap.getWidth(), outBitmap.getHeight()), paint);
-            canvas.setBitmap(null);
-        }
-        return outBitmap;
-    }
-
     private void updateUiElements(Configuration config) {
         final int items = mActivityDescriptions.size();
 
diff --git a/packages/SystemUI/src/com/android/systemui/recent/RecentsVerticalScrollView.java b/packages/SystemUI/src/com/android/systemui/recent/RecentsVerticalScrollView.java
index 213803c..7853402 100644
--- a/packages/SystemUI/src/com/android/systemui/recent/RecentsVerticalScrollView.java
+++ b/packages/SystemUI/src/com/android/systemui/recent/RecentsVerticalScrollView.java
@@ -74,6 +74,13 @@
             }
 
             if (old == null) {
+                OnTouchListener noOpListener = new OnTouchListener() {
+                    @Override
+                    public boolean onTouch(View v, MotionEvent event) {
+                        return true;
+                    }
+                };
+
                 view.setOnClickListener(new OnClickListener() {
                     public void onClick(View v) {
                         mCallback.dismiss();
@@ -87,26 +94,27 @@
                         mCallback.handleOnClick(view);
                     }
                 };
+
+                final View thumbnailView = view.findViewById(R.id.app_thumbnail);
                 OnLongClickListener longClickListener = new OnLongClickListener() {
                     public boolean onLongClick(View v) {
                         final View anchorView = view.findViewById(R.id.app_description);
-                        final View thumbnailView = view.findViewById(R.id.app_thumbnail);
                         mCallback.handleLongPress(view, anchorView, thumbnailView);
                         return true;
                     }
                 };
-                final View thumbnail = view.findViewById(R.id.app_thumbnail);
-                thumbnail.setClickable(true);
-                thumbnail.setOnClickListener(launchAppListener);
-                thumbnail.setOnLongClickListener(longClickListener);
+                thumbnailView.setClickable(true);
+                thumbnailView.setOnClickListener(launchAppListener);
+                thumbnailView.setOnLongClickListener(longClickListener);
+
+                // We don't want to dismiss recents if a user clicks on the app title
+                // (we also don't want to launch the app either, though, because the
+                // app title is a small target and doesn't have great click feedback)
                 final View appTitle = view.findViewById(R.id.app_label);
-                appTitle.setClickable(true);
-                appTitle.setOnClickListener(launchAppListener);
-                appTitle.setOnLongClickListener(longClickListener);
+                appTitle.setContentDescription(" ");
+                appTitle.setOnTouchListener(noOpListener);
                 final View calloutLine = view.findViewById(R.id.recents_callout_line);
-                calloutLine.setClickable(true);
-                calloutLine.setOnClickListener(launchAppListener);
-                calloutLine.setOnLongClickListener(longClickListener);
+                calloutLine.setOnTouchListener(noOpListener);
                 mLinearLayout.addView(view);
             }
         }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java b/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java
index 65b022a..744a46b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java
@@ -29,6 +29,7 @@
 
 import com.android.systemui.R;
 
+// Intimately tied to the design of res/layout/signal_cluster_view.xml
 public class SignalClusterView
         extends LinearLayout 
         implements NetworkController.SignalCluster {
@@ -42,9 +43,12 @@
     private int mWifiStrengthId = 0, mWifiActivityId = 0;
     private boolean mMobileVisible = false;
     private int mMobileStrengthId = 0, mMobileActivityId = 0, mMobileTypeId = 0;
+    private boolean mIsAirplaneMode = false;
+    private String mWifiDescription, mMobileDescription, mMobileTypeDescription;
 
     ViewGroup mWifiGroup, mMobileGroup;
     ImageView mWifi, mMobile, mWifiActivity, mMobileActivity, mMobileType;
+    View mSpacer;
 
     public SignalClusterView(Context context) {
         this(context, null);
@@ -74,6 +78,7 @@
         mMobile         = (ImageView) findViewById(R.id.mobile_signal);
         mMobileActivity = (ImageView) findViewById(R.id.mobile_inout);
         mMobileType     = (ImageView) findViewById(R.id.mobile_type);
+        mSpacer         =             findViewById(R.id.spacer);
 
         apply();
     }
@@ -91,24 +96,32 @@
         super.onDetachedFromWindow();
     }
 
-    public void setWifiIndicators(boolean visible, int strengthIcon, int activityIcon) {
+    public void setWifiIndicators(boolean visible, int strengthIcon, int activityIcon,
+            String contentDescription) {
         mWifiVisible = visible;
         mWifiStrengthId = strengthIcon;
         mWifiActivityId = activityIcon;
+        mWifiDescription = contentDescription;
 
         apply();
     }
 
     public void setMobileDataIndicators(boolean visible, int strengthIcon, int activityIcon,
-            int typeIcon) {
+            int typeIcon, String contentDescription, String typeContentDescription) {
         mMobileVisible = visible;
         mMobileStrengthId = strengthIcon;
         mMobileActivityId = activityIcon;
         mMobileTypeId = typeIcon;
+        mMobileDescription = contentDescription;
+        mMobileTypeDescription = typeContentDescription;
 
         apply();
     }
 
+    public void setIsAirplaneMode(boolean is) {
+        mIsAirplaneMode = is;
+    }
+
     // Run after each indicator change.
     private void apply() {
         if (mWifiGroup == null) return;
@@ -117,6 +130,7 @@
             mWifiGroup.setVisibility(View.VISIBLE);
             mWifi.setImageResource(mWifiStrengthId);
             mWifiActivity.setImageResource(mWifiActivityId);
+            mWifiGroup.setContentDescription(mWifiDescription);
         } else {
             mWifiGroup.setVisibility(View.GONE);
         }
@@ -131,10 +145,17 @@
             mMobile.setImageResource(mMobileStrengthId);
             mMobileActivity.setImageResource(mMobileActivityId);
             mMobileType.setImageResource(mMobileTypeId);
+            mMobileGroup.setContentDescription(mMobileTypeDescription + " " + mMobileDescription);
         } else {
             mMobileGroup.setVisibility(View.GONE);
         }
 
+        if (mMobileVisible && mWifiVisible && mIsAirplaneMode) {
+            mSpacer.setVisibility(View.INVISIBLE);
+        } else {
+            mSpacer.setVisibility(View.GONE);
+        }
+
         if (DEBUG) Slog.d(TAG,
                 String.format("mobile: %s sig=%d act=%d typ=%d",
                     (mMobileVisible ? "VISIBLE" : "GONE"),
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
index c4e87d8..79abfed 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
@@ -192,7 +192,7 @@
     private View mTickerView;
     private boolean mTicking;
 
-    // Recent applications
+    // Recent apps
     private RecentsPanelView mRecentsPanel;
 
     // Tracking finger for opening/closing.
@@ -417,9 +417,6 @@
         WindowManagerImpl.getDefault().addView(mRecentsPanel, lp);
         mRecentsPanel.setBar(this);
         if (visible) {
-            // need to set visibility to View.GONE earlier since that
-            // triggers refreshing application list
-            mRecentsPanel.setVisibility(View.VISIBLE);
             mRecentsPanel.show(true, false);
         }
 
@@ -891,14 +888,6 @@
         }
     }
 
-    void workAroundBadLayerDrawableOpacity(View v) {
-        LayerDrawable d = (LayerDrawable)v.getBackground();
-        if (d == null) return;
-        v.setBackgroundDrawable(null);
-        d.setOpacity(PixelFormat.TRANSLUCENT);
-        v.setBackgroundDrawable(d);
-    }
-
     private boolean inflateViews(NotificationData.Entry entry, ViewGroup parent) {
         StatusBarNotification sbn = entry.notification;
         RemoteViews remoteViews = sbn.notification.contentView;
@@ -910,7 +899,6 @@
         LayoutInflater inflater = (LayoutInflater)mContext.getSystemService(
                 Context.LAYOUT_INFLATER_SERVICE);
         View row = inflater.inflate(R.layout.status_bar_notification_row, parent, false);
-        workAroundBadLayerDrawableOpacity(row);
         View vetoButton = row.findViewById(R.id.veto);
         if (entry.notification.isClearable()) {
             final String _pkg = sbn.pkg;
@@ -1135,7 +1123,6 @@
                 case MSG_OPEN_RECENTS_PANEL:
                     if (DEBUG) Slog.d(TAG, "opening recents panel");
                     if (mRecentsPanel != null) {
-                        mRecentsPanel.setVisibility(View.VISIBLE);
                         mRecentsPanel.show(true, true);
                     }
                     break;
@@ -1603,6 +1590,9 @@
                 // the user switches to home.  We know it is safe to do at this
                 // point, so make sure new activity switches are now allowed.
                 ActivityManagerNative.getDefault().resumeAppSwitches();
+                // Also, notifications can be launched from the lock screen,
+                // so dismiss the lock screen when the activity starts.
+                ActivityManagerNative.getDefault().dismissKeyguardOnNextActivity();
             } catch (RemoteException e) {
             }
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/AutoRotateController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/AutoRotateController.java
index 5ac5ad0..a31e2a4 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/AutoRotateController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/AutoRotateController.java
@@ -22,6 +22,7 @@
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.provider.Settings;
+import android.util.Log;
 import android.util.Slog;
 import android.view.IWindowManager;
 import android.widget.CompoundButton;
@@ -63,13 +64,13 @@
                     try {
                         IWindowManager wm = IWindowManager.Stub.asInterface(
                                 ServiceManager.getService(Context.WINDOW_SERVICE));
-                        ContentResolver cr = mContext.getContentResolver();
                         if (autorotate) {
                             wm.thawRotation();
                         } else {
-                            wm.freezeRotation();
+                            wm.freezeRotation(-1);
                         }
                     } catch (RemoteException exc) {
+                        Log.w(TAG, "Unable to save auto-rotate setting");
                     }
                 }
             });
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java
index fb9a4a2..8d964e3 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java
@@ -139,9 +139,11 @@
     IBatteryStats mBatteryStats;
 
     public interface SignalCluster {
-        void setWifiIndicators(boolean visible, int strengthIcon, int activityIcon);
+        void setWifiIndicators(boolean visible, int strengthIcon, int activityIcon, 
+                String contentDescription);
         void setMobileDataIndicators(boolean visible, int strengthIcon, int activityIcon,
-                int typeIcon);
+                int typeIcon, String contentDescription, String typeContentDescription);
+        void setIsAirplaneMode(boolean is);
     }
 
     /**
@@ -234,12 +236,16 @@
         cluster.setWifiIndicators(
                 mWifiConnected, // only show wifi in the cluster if connected
                 mWifiIconId,
-                mWifiActivityIconId);
+                mWifiActivityIconId,
+                mContentDescriptionWifi);
         cluster.setMobileDataIndicators(
                 mHasMobileDataFeature,
                 mPhoneSignalIconId,
                 mMobileActivityIconId,
-                mDataTypeIconId);
+                mDataTypeIconId,
+                mContentDescriptionPhoneSignal,
+                mContentDescriptionDataType);
+
     }
 
     public void setStackedMode(boolean stacked) {
@@ -806,8 +812,8 @@
                 (mServiceState == null || (!hasService() && !mServiceState.isEmergencyOnly()))) {
             // Only display the flight-mode icon if not in "emergency calls only" mode.
             label = context.getString(R.string.status_bar_settings_signal_meter_disconnected);
-            mContentDescriptionCombinedSignal = mContext.getString(
-                    R.string.accessibility_airplane_mode);
+            mContentDescriptionCombinedSignal = mContentDescriptionPhoneSignal
+                = mContext.getString(R.string.accessibility_airplane_mode);
             
             // look again; your radios are now airplanes
             mPhoneSignalIconId = mDataSignalIconId = R.drawable.stat_sys_signal_flightmode;
@@ -862,12 +868,16 @@
                 cluster.setWifiIndicators(
                         mWifiConnected, // only show wifi in the cluster if connected
                         mWifiIconId,
-                        mWifiActivityIconId);
+                        mWifiActivityIconId,
+                        mContentDescriptionWifi);
                 cluster.setMobileDataIndicators(
                         mHasMobileDataFeature,
                         mPhoneSignalIconId,
                         mMobileActivityIconId,
-                        mDataTypeIconId);
+                        mDataTypeIconId,
+                        mContentDescriptionPhoneSignal,
+                        mContentDescriptionDataType);
+                cluster.setIsAirplaneMode(mAirplaneMode);
             }
         }
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java
index c2f07d6..54b45a9 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java
@@ -714,7 +714,6 @@
                 case MSG_OPEN_RECENTS_PANEL:
                     if (DEBUG) Slog.d(TAG, "opening recents panel");
                     if (mRecentsPanel != null) {
-                        mRecentsPanel.setVisibility(View.VISIBLE);
                         mRecentsPanel.show(true, true);
                     }
                     break;
@@ -1308,6 +1307,9 @@
                 // the user switches to home.  We know it is safe to do at this
                 // point, so make sure new activity switches are now allowed.
                 ActivityManagerNative.getDefault().resumeAppSwitches();
+                // Also, notifications can be launched from the lock screen,
+                // so dismiss the lock screen when the activity starts.
+                ActivityManagerNative.getDefault().dismissKeyguardOnNextActivity();
             } catch (RemoteException e) {
             }
 
diff --git a/packages/VpnDialogs/res/layout/confirm.xml b/packages/VpnDialogs/res/layout/confirm.xml
index 11a247a..fef00c2 100644
--- a/packages/VpnDialogs/res/layout/confirm.xml
+++ b/packages/VpnDialogs/res/layout/confirm.xml
@@ -15,46 +15,43 @@
      limitations under the License.
 -->
 
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:padding="3mm">
-
-    <ImageView android:id="@+id/icon"
-            android:layout_width="@android:dimen/app_icon_size"
-            android:layout_height="@android:dimen/app_icon_size"
-            android:layout_alignParentTop="true"
-            android:layout_alignParentLeft="true"
-            android:layout_marginRight="1mm"/>
-
-    <TextView android:id="@+id/warning"
-            android:layout_width="fill_parent"
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content">
+    <LinearLayout android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_alignParentLeft="true"
-            android:layout_alignParentRight="true"
-            android:layout_below="@id/icon"
-            android:padding="3mm"
-            android:text="@string/warning"
-            android:textSize="18sp"/>
+            android:orientation="vertical"
+            android:padding="3mm">
 
-    <TextView android:id="@+id/prompt"
-            android:layout_width="fill_parent"
-            android:layout_height="wrap_content"
-            android:layout_alignParentTop="true"
-            android:layout_alignParentRight="true"
-            android:layout_toRightOf="@id/icon"
-            android:layout_above="@id/warning"
-            android:gravity="center_vertical"
-            android:textSize="20sp"/>
+        <LinearLayout android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="horizontal"
+                android:gravity="center_vertical">
 
-    <CheckBox android:id="@+id/check"
-            android:layout_width="fill_parent"
-            android:layout_height="wrap_content"
-            android:layout_alignParentLeft="true"
-            android:layout_alignParentRight="true"
-            android:layout_below="@id/warning"
-            android:text="@string/accept"
-            android:textSize="20sp"
-            android:checked="false"/>
+            <ImageView android:id="@+id/icon"
+                    android:layout_width="@android:dimen/app_icon_size"
+                    android:layout_height="@android:dimen/app_icon_size"
+                    android:paddingRight="1mm"/>
 
-</RelativeLayout>
+            <TextView android:id="@+id/prompt"
+                    android:layout_width="fill_parent"
+                    android:layout_height="wrap_content"
+                    android:textSize="18sp"/>
+        </LinearLayout>
+
+        <TextView android:id="@+id/warning"
+                android:layout_width="fill_parent"
+                android:layout_height="wrap_content"
+                android:paddingTop="1mm"
+                android:paddingBottom="1mm"
+                android:text="@string/warning"
+                android:textSize="18sp"/>
+
+        <CheckBox android:id="@+id/check"
+                android:layout_width="fill_parent"
+                android:layout_height="wrap_content"
+                android:text="@string/accept"
+                android:textSize="20sp"
+                android:checked="false"/>
+    </LinearLayout>
+</ScrollView>
diff --git a/packages/VpnDialogs/res/values-ar/strings.xml b/packages/VpnDialogs/res/values-ar/strings.xml
index cae60a8..337b2ce 100644
--- a/packages/VpnDialogs/res/values-ar/strings.xml
+++ b/packages/VpnDialogs/res/values-ar/strings.xml
@@ -24,8 +24,8 @@
     <string name="disconnect" msgid="971412338304200056">"قطع الاتصال"</string>
     <string name="session" msgid="6470628549473641030">"الجلسة"</string>
     <string name="duration" msgid="3584782459928719435">"المدة:"</string>
-    <string name="data_transmitted" msgid="7988167672982199061">"تم الإرسال:"</string>
-    <string name="data_received" msgid="4062776929376067820">"مستلم:"</string>
+    <string name="data_transmitted" msgid="7988167672982199061">"مرسل:"</string>
+    <string name="data_received" msgid="4062776929376067820">"تم الاستلام:"</string>
     <string name="blank_value" msgid="6278484582661984635">"--"</string>
     <string name="data_value_format" msgid="2192466557826897580">"<xliff:g id="NUMBER_0">%1$s</xliff:g> بايت / <xliff:g id="NUMBER_1">%2$s</xliff:g> من الحزم"</string>
 </resources>
diff --git a/packages/VpnDialogs/res/values-de/strings.xml b/packages/VpnDialogs/res/values-de/strings.xml
index ff5f3f2..0d2ee85 100644
--- a/packages/VpnDialogs/res/values-de/strings.xml
+++ b/packages/VpnDialogs/res/values-de/strings.xml
@@ -25,7 +25,7 @@
     <string name="session" msgid="6470628549473641030">"Sitzung:"</string>
     <string name="duration" msgid="3584782459928719435">"Dauer:"</string>
     <string name="data_transmitted" msgid="7988167672982199061">"Gesendet:"</string>
-    <string name="data_received" msgid="4062776929376067820">"Erhalten:"</string>
+    <string name="data_received" msgid="4062776929376067820">"Empfangen:"</string>
     <string name="blank_value" msgid="6278484582661984635">"-"</string>
     <string name="data_value_format" msgid="2192466557826897580">"<xliff:g id="NUMBER_0">%1$s</xliff:g> Byte/<xliff:g id="NUMBER_1">%2$s</xliff:g> Pakete"</string>
 </resources>
diff --git a/packages/VpnDialogs/res/values-el/strings.xml b/packages/VpnDialogs/res/values-el/strings.xml
index 04a2bb3..b82272a 100644
--- a/packages/VpnDialogs/res/values-el/strings.xml
+++ b/packages/VpnDialogs/res/values-el/strings.xml
@@ -25,7 +25,7 @@
     <string name="session" msgid="6470628549473641030">"Περίοδος σύνδεσης"</string>
     <string name="duration" msgid="3584782459928719435">"Διάρκεια:"</string>
     <string name="data_transmitted" msgid="7988167672982199061">"Στάλθηκε:"</string>
-    <string name="data_received" msgid="4062776929376067820">"Έγινε λήψη:"</string>
+    <string name="data_received" msgid="4062776929376067820">"Λήφθηκε:"</string>
     <string name="blank_value" msgid="6278484582661984635">"--"</string>
     <string name="data_value_format" msgid="2192466557826897580">"<xliff:g id="NUMBER_0">%1$s</xliff:g> byte / <xliff:g id="NUMBER_1">%2$s</xliff:g> πακέτα"</string>
 </resources>
diff --git a/packages/VpnDialogs/res/values-fa/strings.xml b/packages/VpnDialogs/res/values-fa/strings.xml
index 8dba401..9a76594 100644
--- a/packages/VpnDialogs/res/values-fa/strings.xml
+++ b/packages/VpnDialogs/res/values-fa/strings.xml
@@ -24,8 +24,8 @@
     <string name="disconnect" msgid="971412338304200056">"قطع اتصال"</string>
     <string name="session" msgid="6470628549473641030">"جلسه:"</string>
     <string name="duration" msgid="3584782459928719435">"مدت زمان:"</string>
-    <string name="data_transmitted" msgid="7988167672982199061">"ارسال شد:"</string>
-    <string name="data_received" msgid="4062776929376067820">"دریافت شد:"</string>
+    <string name="data_transmitted" msgid="7988167672982199061">"ارسال شده:"</string>
+    <string name="data_received" msgid="4062776929376067820">"دریافتی:"</string>
     <string name="blank_value" msgid="6278484582661984635">"--"</string>
     <string name="data_value_format" msgid="2192466557826897580">"<xliff:g id="NUMBER_0">%1$s</xliff:g> بایت / <xliff:g id="NUMBER_1">%2$s</xliff:g> بسته"</string>
 </resources>
diff --git a/packages/VpnDialogs/res/values-ms/strings.xml b/packages/VpnDialogs/res/values-ms/strings.xml
index 63d0da3..f17d851 100644
--- a/packages/VpnDialogs/res/values-ms/strings.xml
+++ b/packages/VpnDialogs/res/values-ms/strings.xml
@@ -24,8 +24,8 @@
     <string name="disconnect" msgid="971412338304200056">"Putuskan sambungan"</string>
     <string name="session" msgid="6470628549473641030">"Sesi:"</string>
     <string name="duration" msgid="3584782459928719435">"Tempoh:"</string>
-    <!-- outdated translation 8239988320199846094 -->     <string name="data_transmitted" msgid="7988167672982199061">"Data yang Dihantarkan:"</string>
-    <!-- outdated translation 7431729884377019935 -->     <string name="data_received" msgid="4062776929376067820">"Data yang Diterima:"</string>
+    <string name="data_transmitted" msgid="7988167672982199061">"Dihantar:"</string>
+    <string name="data_received" msgid="4062776929376067820">"Diterima:"</string>
     <string name="blank_value" msgid="6278484582661984635">"--"</string>
     <string name="data_value_format" msgid="2192466557826897580">"<xliff:g id="NUMBER_0">%1$s</xliff:g> bait / <xliff:g id="NUMBER_1">%2$s</xliff:g> bingkisan"</string>
 </resources>
diff --git a/packages/VpnDialogs/res/values-pt-rPT/strings.xml b/packages/VpnDialogs/res/values-pt-rPT/strings.xml
index c57525d..e25ef66 100644
--- a/packages/VpnDialogs/res/values-pt-rPT/strings.xml
+++ b/packages/VpnDialogs/res/values-pt-rPT/strings.xml
@@ -24,8 +24,8 @@
     <string name="disconnect" msgid="971412338304200056">"Desligar"</string>
     <string name="session" msgid="6470628549473641030">"Sessão"</string>
     <string name="duration" msgid="3584782459928719435">"Duração:"</string>
-    <string name="data_transmitted" msgid="7988167672982199061">"Enviado:"</string>
-    <string name="data_received" msgid="4062776929376067820">"Recebido:"</string>
+    <string name="data_transmitted" msgid="7988167672982199061">"Enviados:"</string>
+    <string name="data_received" msgid="4062776929376067820">"Recebidos:"</string>
     <string name="blank_value" msgid="6278484582661984635">"-"</string>
     <string name="data_value_format" msgid="2192466557826897580">"<xliff:g id="NUMBER_0">%1$s</xliff:g> bytes / <xliff:g id="NUMBER_1">%2$s</xliff:g> pacotes"</string>
 </resources>
diff --git a/packages/VpnDialogs/res/values-ro/strings.xml b/packages/VpnDialogs/res/values-ro/strings.xml
index 2791f73..5b71cfa 100644
--- a/packages/VpnDialogs/res/values-ro/strings.xml
+++ b/packages/VpnDialogs/res/values-ro/strings.xml
@@ -24,8 +24,8 @@
     <string name="disconnect" msgid="971412338304200056">"Deconectaţi"</string>
     <string name="session" msgid="6470628549473641030">"Sesiune:"</string>
     <string name="duration" msgid="3584782459928719435">"Durată:"</string>
-    <string name="data_transmitted" msgid="7988167672982199061">"Trimis:"</string>
-    <string name="data_received" msgid="4062776929376067820">"Primit:"</string>
+    <string name="data_transmitted" msgid="7988167672982199061">"Trimise:"</string>
+    <string name="data_received" msgid="4062776929376067820">"Primite:"</string>
     <string name="blank_value" msgid="6278484582661984635">"-"</string>
     <string name="data_value_format" msgid="2192466557826897580">"<xliff:g id="NUMBER_0">%1$s</xliff:g> (de) octeţi/<xliff:g id="NUMBER_1">%2$s</xliff:g> (de) pachete"</string>
 </resources>
diff --git a/packages/VpnDialogs/res/values-ru/strings.xml b/packages/VpnDialogs/res/values-ru/strings.xml
index 411c51a..4313bfd 100644
--- a/packages/VpnDialogs/res/values-ru/strings.xml
+++ b/packages/VpnDialogs/res/values-ru/strings.xml
@@ -25,7 +25,7 @@
     <string name="session" msgid="6470628549473641030">"Сеанс:"</string>
     <string name="duration" msgid="3584782459928719435">"Продолжительность:"</string>
     <string name="data_transmitted" msgid="7988167672982199061">"Отправлено:"</string>
-    <string name="data_received" msgid="4062776929376067820">"Получено:"</string>
+    <string name="data_received" msgid="4062776929376067820">"Полученные:"</string>
     <string name="blank_value" msgid="6278484582661984635">"–"</string>
     <string name="data_value_format" msgid="2192466557826897580">"<xliff:g id="NUMBER_0">%1$s</xliff:g> Б; пакетов: <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string>
 </resources>
diff --git a/packages/VpnDialogs/res/values-th/strings.xml b/packages/VpnDialogs/res/values-th/strings.xml
index 9865382..2e9f6f9 100644
--- a/packages/VpnDialogs/res/values-th/strings.xml
+++ b/packages/VpnDialogs/res/values-th/strings.xml
@@ -25,7 +25,7 @@
     <string name="session" msgid="6470628549473641030">"เซสชัน"</string>
     <string name="duration" msgid="3584782459928719435">"ระยะเวลา:"</string>
     <string name="data_transmitted" msgid="7988167672982199061">"ส่งแล้ว:"</string>
-    <string name="data_received" msgid="4062776929376067820">"ได้รับ:"</string>
+    <string name="data_received" msgid="4062776929376067820">"รับแล้ว:"</string>
     <string name="blank_value" msgid="6278484582661984635">"--"</string>
     <string name="data_value_format" msgid="2192466557826897580">"<xliff:g id="NUMBER_0">%1$s</xliff:g> ไบต์/<xliff:g id="NUMBER_1">%2$s</xliff:g> แพ็คเก็ต"</string>
 </resources>
diff --git a/packages/VpnDialogs/res/values-tr/strings.xml b/packages/VpnDialogs/res/values-tr/strings.xml
index 8433378..f4fd967 100644
--- a/packages/VpnDialogs/res/values-tr/strings.xml
+++ b/packages/VpnDialogs/res/values-tr/strings.xml
@@ -24,8 +24,8 @@
     <string name="disconnect" msgid="971412338304200056">"Bağlantıyı kes"</string>
     <string name="session" msgid="6470628549473641030">"Oturum:"</string>
     <string name="duration" msgid="3584782459928719435">"Süre:"</string>
-    <string name="data_transmitted" msgid="7988167672982199061">"Gönderildi:"</string>
-    <string name="data_received" msgid="4062776929376067820">"Alındı:"</string>
+    <string name="data_transmitted" msgid="7988167672982199061">"Gönderilen:"</string>
+    <string name="data_received" msgid="4062776929376067820">"Alınan:"</string>
     <string name="blank_value" msgid="6278484582661984635">"--"</string>
     <string name="data_value_format" msgid="2192466557826897580">"<xliff:g id="NUMBER_0">%1$s</xliff:g> bayt / <xliff:g id="NUMBER_1">%2$s</xliff:g> paket"</string>
 </resources>
diff --git a/packages/VpnDialogs/res/values-zh-rTW/strings.xml b/packages/VpnDialogs/res/values-zh-rTW/strings.xml
index 79e6887..1d00e7d 100644
--- a/packages/VpnDialogs/res/values-zh-rTW/strings.xml
+++ b/packages/VpnDialogs/res/values-zh-rTW/strings.xml
@@ -25,7 +25,7 @@
     <string name="session" msgid="6470628549473641030">"工作階段:"</string>
     <string name="duration" msgid="3584782459928719435">"持續時間:"</string>
     <string name="data_transmitted" msgid="7988167672982199061">"已傳送的資料:"</string>
-    <string name="data_received" msgid="4062776929376067820">"已接收的資料:"</string>
+    <string name="data_received" msgid="4062776929376067820">"已收到:"</string>
     <string name="blank_value" msgid="6278484582661984635">"--"</string>
     <string name="data_value_format" msgid="2192466557826897580">"<xliff:g id="NUMBER_0">%1$s</xliff:g> 位元組 / <xliff:g id="NUMBER_1">%2$s</xliff:g> 個封包"</string>
 </resources>
diff --git a/packages/VpnDialogs/src/com/android/vpndialogs/ManageDialog.java b/packages/VpnDialogs/src/com/android/vpndialogs/ManageDialog.java
index d668e98..7fb1417 100644
--- a/packages/VpnDialogs/src/com/android/vpndialogs/ManageDialog.java
+++ b/packages/VpnDialogs/src/com/android/vpndialogs/ManageDialog.java
@@ -181,8 +181,10 @@
                 String line = in.readLine().trim();
                 if (line.startsWith(prefix)) {
                     String[] numbers = line.substring(prefix.length()).split(" +");
-                    if (numbers.length == 17) {
-                        return numbers;
+                    for (int i = 1; i < 17; ++i) {
+                        if (!numbers[i].equals("0")) {
+                            return numbers;
+                        }
                     }
                     break;
                 }
diff --git a/policy/src/com/android/internal/policy/impl/AccountUnlockScreen.java b/policy/src/com/android/internal/policy/impl/AccountUnlockScreen.java
index f7d936c..a4baeed 100644
--- a/policy/src/com/android/internal/policy/impl/AccountUnlockScreen.java
+++ b/policy/src/com/android/internal/policy/impl/AccountUnlockScreen.java
@@ -54,7 +54,7 @@
 public class AccountUnlockScreen extends RelativeLayout implements KeyguardScreen,
         View.OnClickListener, TextWatcher {
     private static final String LOCK_PATTERN_PACKAGE = "com.android.settings";
-    private static final String LOCK_PATTERN_CLASS = LOCK_PATTERN_PACKAGE + ".ChooseLockPattern";
+    private static final String LOCK_PATTERN_CLASS = LOCK_PATTERN_PACKAGE + ".ChooseLockGeneric";
 
     /**
      * The amount of millis to stay awake once this screen detects activity
diff --git a/policy/src/com/android/internal/policy/impl/KeyguardUpdateMonitor.java b/policy/src/com/android/internal/policy/impl/KeyguardUpdateMonitor.java
index ec24f97..10cf3aa 100644
--- a/policy/src/com/android/internal/policy/impl/KeyguardUpdateMonitor.java
+++ b/policy/src/com/android/internal/policy/impl/KeyguardUpdateMonitor.java
@@ -593,4 +593,7 @@
         return mClockVisible;
     }
 
+    public int getPhoneState() {
+        return mPhoneState;
+    }
 }
diff --git a/policy/src/com/android/internal/policy/impl/KeyguardViewBase.java b/policy/src/com/android/internal/policy/impl/KeyguardViewBase.java
index 2fcf1dc3..59b546d 100644
--- a/policy/src/com/android/internal/policy/impl/KeyguardViewBase.java
+++ b/policy/src/com/android/internal/policy/impl/KeyguardViewBase.java
@@ -99,6 +99,11 @@
     abstract public void onScreenTurnedOn();
 
     /**
+     * Called when the view needs to be shown.
+     */
+    abstract public void show();
+
+    /**
      * Called when a key has woken the device to give us a chance to adjust our
      * state according the the key.  We are responsible for waking the device
      * (by poking the wake lock) once we are ready.
@@ -127,15 +132,6 @@
      */
     abstract public void cleanUp();
 
-    /**
-     * These were added to support FaceLock because the KeyguardViewManager needs to tell the 
-     * LockPatternKeyguardView when to bind and and unbind with FaceLock service.  Although
-     * implemented in LockPatternKeyguardView, these are not implemented in anything else
-     * derived from KeyguardViewBase
-     */
-    abstract public void bindToFaceLock();
-    abstract public void stopAndUnbindFromFaceLock();
-
     @Override
     public boolean dispatchKeyEvent(KeyEvent event) {
         if (shouldEventKeepScreenOnWhileKeyguardShowing(event)) {
diff --git a/policy/src/com/android/internal/policy/impl/KeyguardViewManager.java b/policy/src/com/android/internal/policy/impl/KeyguardViewManager.java
index 91f1527..90972da 100644
--- a/policy/src/com/android/internal/policy/impl/KeyguardViewManager.java
+++ b/policy/src/com/android/internal/policy/impl/KeyguardViewManager.java
@@ -167,7 +167,7 @@
             mKeyguardHost.addView(mKeyguardView, lp);
 
             if (mScreenOn) {
-                mKeyguardView.onScreenTurnedOn();
+                mKeyguardView.show();
             }
         }
 
@@ -205,9 +205,6 @@
         mScreenOn = false;
         if (mKeyguardView != null) {
             mKeyguardView.onScreenTurnedOff();
-
-            // When screen is turned off, need to unbind from FaceLock service if using FaceLock
-            mKeyguardView.stopAndUnbindFromFaceLock();
         }
     }
 
@@ -218,9 +215,6 @@
         if (mKeyguardView != null) {
             mKeyguardView.onScreenTurnedOn();
 
-            // When screen is turned on, need to bind to FaceLock service if we are using FaceLock
-            mKeyguardView.bindToFaceLock();
-
             // Caller should wait for this window to be shown before turning
             // on the screen.
             if (mKeyguardHost.getVisibility() == View.VISIBLE) {
@@ -277,12 +271,6 @@
     public synchronized void hide() {
         if (DEBUG) Log.d(TAG, "hide()");
 
-        if (mKeyguardView != null) {
-            // When view is hidden, need to unbind from FaceLock service if we are using FaceLock
-            // e.g., when device becomes unlocked
-            mKeyguardView.stopAndUnbindFromFaceLock();
-        }
-
         if (mKeyguardHost != null) {
             mKeyguardHost.setVisibility(View.GONE);
             // Don't do this right away, so we can let the view continue to animate
diff --git a/policy/src/com/android/internal/policy/impl/KeyguardViewMediator.java b/policy/src/com/android/internal/policy/impl/KeyguardViewMediator.java
index 6a48fc3..c25e3ca 100644
--- a/policy/src/com/android/internal/policy/impl/KeyguardViewMediator.java
+++ b/policy/src/com/android/internal/policy/impl/KeyguardViewMediator.java
@@ -31,9 +31,7 @@
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.media.AudioManager;
-import android.media.Ringtone;
-import android.media.RingtoneManager;
-import android.net.Uri;
+import android.media.SoundPool;
 import android.os.Handler;
 import android.os.LocalPowerManager;
 import android.os.Message;
@@ -149,8 +147,16 @@
      */
     private static final boolean ENABLE_INSECURE_STATUS_BAR_EXPAND = true;
 
+    /** The stream type that the lock sounds are tied to. */
+    private static final int MASTER_STREAM_TYPE = AudioManager.STREAM_RING;
+    /** Minimum volume for lock sounds, as a ratio of max MASTER_STREAM_TYPE */
+    final float MIN_LOCK_VOLUME = 0.05f;
+    /** Maximum volume for lock sounds, as a ratio of max MASTER_STREAM_TYPE */
+    final float MAX_LOCK_VOLUME = 0.4f;
+
     private Context mContext;
     private AlarmManager mAlarmManager;
+    private AudioManager mAudioManager;
     private StatusBarManager mStatusBarManager;
     private boolean mShowLockIcon;
     private boolean mShowingLockIcon;
@@ -253,6 +259,12 @@
     private boolean mWaitingUntilKeyguardVisible = false;
     private LockPatternUtils mLockPatternUtils;
 
+    private SoundPool mLockSounds;
+    private int mLockSoundId;
+    private int mUnlockSoundId;
+    private int mLockSoundStreamId;
+    private int mMasterStreamMaxVolume;
+
     public KeyguardViewMediator(Context context, PhoneWindowManager callback,
             LocalPowerManager powerManager) {
         mContext = context;
@@ -298,6 +310,22 @@
 
         final ContentResolver cr = mContext.getContentResolver();
         mShowLockIcon = (Settings.System.getInt(cr, "show_status_bar_lock", 0) == 1);
+
+        mLockSounds = new SoundPool(1, AudioManager.STREAM_SYSTEM, 0);
+        String soundPath = Settings.System.getString(cr, Settings.System.LOCK_SOUND);
+        if (soundPath != null) {
+            mLockSoundId = mLockSounds.load(soundPath, 1);
+        }
+        if (soundPath == null || mLockSoundId == 0) {
+            if (DEBUG) Log.d(TAG, "failed to load sound from " + soundPath);
+        }
+        soundPath = Settings.System.getString(cr, Settings.System.UNLOCK_SOUND);
+        if (soundPath != null) {
+            mUnlockSoundId = mLockSounds.load(soundPath, 1);
+        }
+        if (soundPath == null || mUnlockSoundId == 0) {
+            if (DEBUG) Log.d(TAG, "failed to load sound from " + soundPath);
+        }
     }
 
     /**
@@ -1042,30 +1070,33 @@
         }
 
         final ContentResolver cr = mContext.getContentResolver();
-        if (Settings.System.getInt(cr, Settings.System.LOCKSCREEN_SOUNDS_ENABLED, 1) == 1)
-        {
-            final String whichSound = locked
-                ? Settings.System.LOCK_SOUND
-                : Settings.System.UNLOCK_SOUND;
-            final String soundPath = Settings.System.getString(cr, whichSound);
-            if (soundPath != null) {
-                final Uri soundUri = Uri.parse("file://" + soundPath);
-                if (soundUri != null) {
-                    final Ringtone sfx = RingtoneManager.getRingtone(mContext, soundUri);
-                    if (sfx != null) {
-                        sfx.setStreamType(AudioManager.STREAM_SYSTEM);
-                        sfx.play();
-                    } else {
-                        if (DEBUG) Log.d(TAG, "playSounds: failed to load ringtone from uri: "
-                                + soundUri);
-                    }
-                } else {
-                    if (DEBUG) Log.d(TAG, "playSounds: could not parse Uri: " + soundPath);
-                }
-            } else {
-                if (DEBUG) Log.d(TAG, "playSounds: whichSound = " + whichSound
-                        + "; soundPath was null");
+        if (Settings.System.getInt(cr, Settings.System.LOCKSCREEN_SOUNDS_ENABLED, 1) == 1) {
+            final int whichSound = locked
+                ? mLockSoundId
+                : mUnlockSoundId;
+            mLockSounds.stop(mLockSoundStreamId);
+            // Init mAudioManager
+            if (mAudioManager == null) {
+                mAudioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
+                if (mAudioManager == null) return;
+                mMasterStreamMaxVolume = mAudioManager.getStreamMaxVolume(MASTER_STREAM_TYPE);
             }
+            // If the stream is muted, don't play the sound
+            if (mAudioManager.isStreamMute(MASTER_STREAM_TYPE)) return;
+
+            // Adjust the lock sound volume from a minimum of MIN_LOCK_VOLUME to a maximum
+            // of MAX_LOCK_VOLUME, relative to the maximum level of the MASTER_STREAM_TYPE volume.
+            float lockSoundVolume;
+            int masterStreamVolume = mAudioManager.getStreamVolume(MASTER_STREAM_TYPE);
+            if (masterStreamVolume == 0) {
+                return;
+            } else {
+                lockSoundVolume = MIN_LOCK_VOLUME + (MAX_LOCK_VOLUME - MIN_LOCK_VOLUME)
+                        * ((float) masterStreamVolume / mMasterStreamMaxVolume);
+            }
+
+            mLockSoundStreamId = mLockSounds.play(whichSound, lockSoundVolume, lockSoundVolume, 1,
+                    0, 1.0f);
         }
     }
 
diff --git a/policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java b/policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java
index e2a1149..4049c73 100644
--- a/policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java
+++ b/policy/src/com/android/internal/policy/impl/LockPatternKeyguardView.java
@@ -46,6 +46,8 @@
 import android.graphics.PixelFormat;
 import android.graphics.drawable.Drawable;
 import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
 import android.os.IBinder;
 import android.os.RemoteException;
 import android.os.SystemClock;
@@ -74,7 +76,8 @@
  * {@link com.android.internal.policy.impl.KeyguardViewManager}
  * via its {@link com.android.internal.policy.impl.KeyguardViewCallback}, as appropriate.
  */
-public class LockPatternKeyguardView extends KeyguardViewBase {
+public class LockPatternKeyguardView extends KeyguardViewBase implements Handler.Callback,
+        KeyguardUpdateMonitor.InfoCallback {
 
     private static final int TRANSPORT_USERACTIVITY_TIMEOUT = 10000;
 
@@ -103,9 +106,19 @@
     // The following were added to support FaceLock
     private IFaceLockInterface mFaceLockService;
     private boolean mBoundToFaceLockService = false;
-    private boolean mFaceLockServiceRunning = false;
     private View mFaceLockAreaView;
 
+    private boolean mFaceLockServiceRunning = false;
+    private final Object mFaceLockServiceRunningLock = new Object();
+
+    private Handler mHandler;
+    private final int MSG_SHOW_FACELOCK_AREA_VIEW = 0;
+    private final int MSG_HIDE_FACELOCK_AREA_VIEW = 1;
+
+    // Long enough to stay black while dialer comes up
+    // Short enough to not be black if the user goes back immediately
+    private final int FACELOCK_VIEW_AREA_EMERGENCY_HIDE_TIMEOUT = 1000;
+
     /**
      * The current {@link KeyguardScreen} will use this to communicate back to us.
      */
@@ -219,6 +232,8 @@
         }
     };
 
+    private TransportControlView mTransportControlView;
+
     /**
      * @return Whether we are stuck on the lock screen because the sim is
      *   missing.
@@ -244,6 +259,7 @@
             KeyguardWindowController controller) {
         super(context);
 
+        mHandler = new Handler(this);
         mConfiguration = context.getResources().getConfiguration();
         mEnableFallback = false;
         mRequiresSim = TextUtils.isEmpty(SystemProperties.get("keyguard.no_require_sim"));
@@ -251,6 +267,8 @@
         mLockPatternUtils = lockPatternUtils;
         mWindowController = controller;
 
+        mUpdateMonitor.registerInfoCallback(this);
+
         mKeyguardScreenCallback = new KeyguardScreenCallback() {
 
             public void goToLockScreen() {
@@ -302,6 +320,13 @@
             }
 
             public void takeEmergencyCallAction() {
+                // FaceLock must be stopped if it is running when emergency call is pressed
+                stopAndUnbindFromFaceLock();
+
+                // Delay hiding FaceLock area so unlock doesn't display while dialer is coming up
+                mHandler.sendEmptyMessageDelayed(MSG_HIDE_FACELOCK_AREA_VIEW,
+                        FACELOCK_VIEW_AREA_EMERGENCY_HIDE_TIMEOUT);
+
                 pokeWakelock(EMERGENCY_CALL_TIMEOUT);
                 if (TelephonyManager.getDefault().getCallState()
                         == TelephonyManager.CALL_STATE_OFFHOOK) {
@@ -484,16 +509,42 @@
         } else {
             ((KeyguardScreen) mUnlockScreen).onPause();
         }
+
+        // When screen is turned off, need to unbind from FaceLock service if using FaceLock
+        stopAndUnbindFromFaceLock();
     }
 
     @Override
     public void onScreenTurnedOn() {
         mScreenOn = true;
+        show();
+
+        // When screen is turned on, need to bind to FaceLock service if we are using FaceLock
+        // But only if not dealing with a call
+        final boolean transportInvisible = mTransportControlView == null ? true :
+                mTransportControlView.getVisibility() != View.VISIBLE;
+        if (mUpdateMonitor.getPhoneState() == TelephonyManager.CALL_STATE_IDLE
+                && transportInvisible) {
+            bindToFaceLock();
+        } else {
+            mHandler.sendEmptyMessage(MSG_HIDE_FACELOCK_AREA_VIEW);
+        }
+    }
+
+    @Override
+    public void show() {
         if (mMode == Mode.LockScreen) {
             ((KeyguardScreen) mLockScreen).onResume();
         } else {
             ((KeyguardScreen) mUnlockScreen).onResume();
         }
+
+        if (mLockPatternUtils.usingBiometricWeak() &&
+                mLockPatternUtils.isBiometricWeakInstalled()) {
+            mHandler.sendEmptyMessage(MSG_SHOW_FACELOCK_AREA_VIEW);
+        } else {
+            mHandler.sendEmptyMessage(MSG_HIDE_FACELOCK_AREA_VIEW);
+        }
     }
 
     private void recreateLockScreen() {
@@ -523,6 +574,11 @@
     @Override
     protected void onDetachedFromWindow() {
         removeCallbacks(mRecreateRunnable);
+
+        // When view is hidden, need to unbind from FaceLock service if we are using FaceLock
+        // e.g., when device becomes unlocked
+        stopAndUnbindFromFaceLock();
+
         super.onDetachedFromWindow();
     }
 
@@ -535,6 +591,25 @@
         post(mRecreateRunnable);
     }
 
+    //Ignore these events; they are implemented only because they come from the same interface
+    @Override
+    public void onRefreshBatteryInfo(boolean showBatteryInfo, boolean pluggedIn, int batteryLevel)
+    {}
+    @Override
+    public void onTimeChanged() {}
+    @Override
+    public void onRefreshCarrierInfo(CharSequence plmn, CharSequence spn) {}
+    @Override
+    public void onRingerModeChanged(int state) {}
+    @Override
+    public void onClockVisibilityChanged() {}
+
+    //We need to stop faceunlock when a phonecall comes in
+    @Override
+    public void onPhoneStateChanged(int phoneState) {
+        if(phoneState == TelephonyManager.CALL_STATE_RINGING) stopAndUnbindFromFaceLock();
+    }
+
     @Override
     protected boolean dispatchHoverEvent(MotionEvent event) {
         // Do not let the screen to get locked while the user is disabled and touch
@@ -594,10 +669,6 @@
     }
 
     private boolean isSecure() {
-        // TODO: make this work with SIM and Account cases below.
-        boolean usingBiometric = mLockPatternUtils.usingBiometricWeak();
-        if (usingBiometric && mLockPatternUtils.isBiometricEnabled())
-            return true;
         UnlockMode unlockMode = getUnlockMode();
         boolean secure = false;
         switch (unlockMode) {
@@ -705,12 +776,6 @@
                     mKeyguardScreenCallback,
                     mUpdateMonitor.getFailedAttempts());
             view.setEnableFallback(mEnableFallback);
-
-            // TODO(bcolonna): For pattern unlock, it can give us the view where the pattern is
-            // displayed and FaceLock can draw in that area.
-            // For other views it's not so simple and we should probably change how the FaceLock
-            // area is determined.
-            mFaceLockAreaView = view.getUnlockAreaView();
             unlockView = view;
         } else if (unlockMode == UnlockMode.SimPuk) {
             unlockView = new SimPukUnlockScreen(
@@ -760,19 +825,20 @@
             throw new IllegalArgumentException("unknown unlock mode " + unlockMode);
         }
         initializeTransportControlView(unlockView);
+        initializeFaceLockAreaView(unlockView); // Only shows view if FaceLock is enabled
+
         mUnlockScreenMode = unlockMode;
         return unlockView;
     }
 
     private void initializeTransportControlView(View view) {
-        com.android.internal.widget.TransportControlView tcv =
-                (TransportControlView) view.findViewById(R.id.transport);
-        if (tcv == null) {
+        mTransportControlView = (TransportControlView) view.findViewById(R.id.transport);
+        if (mTransportControlView == null) {
             if (DEBUG) Log.w(TAG, "Couldn't find transport control widget");
         } else {
             mUpdateMonitor.reportClockVisible(true);
-            tcv.setVisibility(View.GONE); // hide tcv until we get the callback below to show it.
-            tcv.setCallback(mWidgetCallback);
+            mTransportControlView.setVisibility(View.GONE); // hide until it requests being shown.
+            mTransportControlView.setCallback(mWidgetCallback);
         }
     }
 
@@ -939,9 +1005,44 @@
 
     // Everything below pertains to FaceLock - might want to separate this out
 
+    // Only pattern and pin unlock screens actually have a view for the FaceLock area, so it's not
+    // uncommon for it to not exist.  But if it does exist, we need to make sure it's shown (hiding
+    // the fallback) if FaceLock is enabled, and make sure it's hidden (showing the unlock) if
+    // FaceLock is disabled
+    private void initializeFaceLockAreaView(View view) {
+        mFaceLockAreaView = view.findViewById(R.id.faceLockAreaView);
+        if (mFaceLockAreaView == null) {
+            if (DEBUG) Log.d(TAG, "Layout does not have faceLockAreaView");
+        }
+    }
+
+    // Handles covering or exposing FaceLock area on the client side when FaceLock starts or stops
+    // This needs to be done in a handler because the call could be coming from a callback from the
+    // FaceLock service that is in a thread that can't modify the UI
+    @Override
+    public boolean handleMessage(Message msg) {
+        switch (msg.what) {
+        case MSG_SHOW_FACELOCK_AREA_VIEW:
+            if (mFaceLockAreaView != null) {
+                mFaceLockAreaView.setVisibility(View.VISIBLE);
+            }
+            break;
+        case MSG_HIDE_FACELOCK_AREA_VIEW:
+            if (mFaceLockAreaView != null) {
+                mFaceLockAreaView.setVisibility(View.GONE);
+            }
+            break;
+        default:
+            Log.w(TAG, "Unhandled message");
+            return false;
+        }
+        return true;
+    }
+
     // Binds to FaceLock service, but does not tell it to start
     public void bindToFaceLock() {
-        if (mLockPatternUtils.usingBiometricWeak()) {
+        if (mLockPatternUtils.usingBiometricWeak() &&
+                mLockPatternUtils.isBiometricWeakInstalled()) {
             if (!mBoundToFaceLockService) {
                 if (DEBUG) Log.d(TAG, "before bind to FaceLock service");
                 mContext.bindService(new Intent(IFaceLockInterface.class.getName()),
@@ -950,16 +1051,15 @@
                 if (DEBUG) Log.d(TAG, "after bind to FaceLock service");
                 mBoundToFaceLockService = true;
             } else {
-                // On startup I've seen onScreenTurnedOn() get called twice without
-                // onScreenTurnedOff() being called in between, which can cause this (bcolonna)
-                if (DEBUG) Log.w(TAG, "Attempt to bind to FaceLock when already bound");
+                Log.w(TAG, "Attempt to bind to FaceLock when already bound");
             }
         }
     }
 
     // Tells FaceLock to stop and then unbinds from the FaceLock service
     public void stopAndUnbindFromFaceLock() {
-        if (mLockPatternUtils.usingBiometricWeak()) {
+        if (mLockPatternUtils.usingBiometricWeak() &&
+                mLockPatternUtils.isBiometricWeakInstalled()) {
             stopFaceLock();
 
             if (mBoundToFaceLockService) {
@@ -970,7 +1070,7 @@
             } else {
                 // This could probably happen after the session when someone activates FaceLock
                 // because it wasn't active when the phone was turned on
-                if (DEBUG) Log.w(TAG, "Attempt to unbind from FaceLock when not bound");
+                Log.w(TAG, "Attempt to unbind from FaceLock when not bound");
             }
         }
     }
@@ -987,41 +1087,41 @@
                 throw new RuntimeException("Remote exception");
             }
 
-            // TODO(bcolonna): Need to set location properly (only works for pattern view now)
             if (mFaceLockAreaView != null) {
-                int[] unlockLocationOnScreen = new int[2];
-                mFaceLockAreaView.getLocationOnScreen(unlockLocationOnScreen);
-                int x = unlockLocationOnScreen[0];
-                int y = unlockLocationOnScreen[1];
-                int w = mFaceLockAreaView.getWidth();
-                int h = mFaceLockAreaView.getHeight();
-                if (DEBUG) Log.d(TAG, "(x,y) (wxh): (" + x + "," + y + ") (" + w + "x" + h + ")");
-                startFaceLock(mFaceLockAreaView.getWindowToken(), x, y, w, h);
+                startFaceLock(mFaceLockAreaView.getWindowToken(),
+                        mFaceLockAreaView.getLeft(), mFaceLockAreaView.getTop(),
+                        mFaceLockAreaView.getWidth(), mFaceLockAreaView.getHeight());
             }
         }
 
         // Cleans up if FaceLock service unexpectedly disconnects
         @Override
         public void onServiceDisconnected(ComponentName className) {
-            mFaceLockService = null;
-            if (DEBUG) Log.w(TAG, "Unexpected disconnect from FaceLock service");
+            synchronized(mFaceLockServiceRunningLock) {
+                mFaceLockService = null;
+                mFaceLockServiceRunning = false;
+            }
+            Log.w(TAG, "Unexpected disconnect from FaceLock service");
         }
     };
 
     // Tells the FaceLock service to start displaying its UI and perform recognition
     public void startFaceLock(IBinder windowToken, int x, int y, int h, int w)
     {
-        if (mLockPatternUtils.usingBiometricWeak()) {
-            if (!mFaceLockServiceRunning) {
-                if (DEBUG) Log.d(TAG, "Starting FaceLock");
-                try {
-                    mFaceLockService.startUi(windowToken, x, y, h, w);
-                } catch (RemoteException e) {
-                    throw new RuntimeException("Remote exception");
+        if (mLockPatternUtils.usingBiometricWeak() &&
+                mLockPatternUtils.isBiometricWeakInstalled()) {
+            synchronized (mFaceLockServiceRunningLock) {
+                if (!mFaceLockServiceRunning) {
+                    if (DEBUG) Log.d(TAG, "Starting FaceLock");
+                    try {
+                        mFaceLockService.startUi(windowToken, x, y, h, w);
+                    } catch (RemoteException e) {
+                        throw new RuntimeException("Remote exception");
+                    }
+                    mFaceLockServiceRunning = true;
+                } else {
+                    if (DEBUG) Log.w(TAG, "startFaceLock() attempted while running");
                 }
-                mFaceLockServiceRunning = true;
-            } else {
-                if (DEBUG) Log.w(TAG, "startFaceLock() attempted while running");
             }
         }
     }
@@ -1029,18 +1129,21 @@
     // Tells the FaceLock service to stop displaying its UI and stop recognition
     public void stopFaceLock()
     {
-        if (mLockPatternUtils.usingBiometricWeak()) {
+        if (mLockPatternUtils.usingBiometricWeak() &&
+                mLockPatternUtils.isBiometricWeakInstalled()) {
             // Note that attempting to stop FaceLock when it's not running is not an issue.
             // FaceLock can return, which stops it and then we try to stop it when the
             // screen is turned off.  That's why we check.
-            if (mFaceLockServiceRunning) {
-                try {
-                    if (DEBUG) Log.d(TAG, "Stopping FaceLock");
-                    mFaceLockService.stopUi();
-                } catch (RemoteException e) {
-                    throw new RuntimeException("Remote exception");
+            synchronized (mFaceLockServiceRunningLock) {
+                if (mFaceLockServiceRunning) {
+                    try {
+                        if (DEBUG) Log.d(TAG, "Stopping FaceLock");
+                        mFaceLockService.stopUi();
+                    } catch (RemoteException e) {
+                        throw new RuntimeException("Remote exception");
+                    }
+                    mFaceLockServiceRunning = false;
                 }
-                mFaceLockServiceRunning = false;
             }
         }
     }
@@ -1051,27 +1154,28 @@
         // Stops the FaceLock UI and indicates that the phone should be unlocked
         @Override
         public void unlock() {
-            if (DEBUG) Log.d(TAG, "FaceLock unlock");
+            if (DEBUG) Log.d(TAG, "FaceLock unlock()");
+            mHandler.sendEmptyMessage(MSG_SHOW_FACELOCK_AREA_VIEW); // Keep fallback covered
             stopFaceLock();
+
             mKeyguardScreenCallback.keyguardDone(true);
             mKeyguardScreenCallback.reportSuccessfulUnlockAttempt();
         }
 
         // Stops the FaceLock UI and exposes the backup method without unlocking
+        // This means either the user has cancelled out or FaceLock failed to recognize them
         @Override
         public void cancel() {
-            // In this case, either the user has cancelled out, or FaceLock failed to recognize them
-            if (DEBUG) Log.d(TAG, "FaceLock cancel");
+            if (DEBUG) Log.d(TAG, "FaceLock cancel()");
+            mHandler.sendEmptyMessage(MSG_HIDE_FACELOCK_AREA_VIEW); // Expose fallback
             stopFaceLock();
         }
 
-        // Stops the FaceLock UI and puts the phone to sleep
+        // Allows the Face Unlock service to poke the wake lock to keep the lockscreen alive
         @Override
-        public void sleepDevice() {
-            // In this case, it appears the phone has been turned on accidentally
-            if (DEBUG) Log.d(TAG, "FaceLock accidental turn on");
-            stopFaceLock();
-            // TODO(bcolonna): how do we put the phone back to sleep (i.e., turn off the screen)
+        public void pokeWakelock() {
+            if (DEBUG) Log.d(TAG, "FaceLock pokeWakelock()");
+            mKeyguardScreenCallback.pokeWakelock();
         }
     };
 }
diff --git a/policy/src/com/android/internal/policy/impl/PasswordUnlockScreen.java b/policy/src/com/android/internal/policy/impl/PasswordUnlockScreen.java
index 6d2f2f2..ec0072c 100644
--- a/policy/src/com/android/internal/policy/impl/PasswordUnlockScreen.java
+++ b/policy/src/com/android/internal/policy/impl/PasswordUnlockScreen.java
@@ -60,19 +60,18 @@
     private final KeyguardUpdateMonitor mUpdateMonitor;
     private final KeyguardScreenCallback mCallback;
 
-    private boolean mIsAlpha;
+    private final boolean mIsAlpha;
 
-    private EditText mPasswordEntry;
-    private LockPatternUtils mLockPatternUtils;
-    private PasswordEntryKeyboardView mKeyboardView;
-    private PasswordEntryKeyboardHelper mKeyboardHelper;
+    private final EditText mPasswordEntry;
+    private final LockPatternUtils mLockPatternUtils;
+    private final PasswordEntryKeyboardView mKeyboardView;
+    private final PasswordEntryKeyboardHelper mKeyboardHelper;
 
-    private int mCreationOrientation;
-    private int mCreationHardKeyboardHidden;
-    private CountDownTimer mCountdownTimer;
+    private final int mCreationOrientation;
+    private final int mCreationHardKeyboardHidden;
 
-    private KeyguardStatusViewManager mStatusViewManager;
-    private boolean mUseSystemIME = true; // TODO: Make configurable
+    private final KeyguardStatusViewManager mStatusViewManager;
+    private final boolean mUseSystemIME = true; // TODO: Make configurable
     private boolean mResuming; // used to prevent poking the wakelock during onResume()
 
     // To avoid accidental lockout due to events while the device in in the pocket, ignore
@@ -119,6 +118,19 @@
             mKeyboardHelper.setKeyboardMode(PasswordEntryKeyboardHelper.KEYBOARD_MODE_NUMERIC);
             mKeyboardView.setVisibility(mCreationHardKeyboardHidden
                     == Configuration.HARDKEYBOARDHIDDEN_NO ? View.INVISIBLE : View.VISIBLE);
+
+            // The delete button is of the PIN keyboard itself in some (e.g. tablet) layouts,
+            // not a separate view
+            View pinDelete = findViewById(R.id.pinDel);
+            if (pinDelete != null) {
+                pinDelete.setVisibility(View.VISIBLE);
+                pinDelete.setOnClickListener(new OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        mKeyboardHelper.handleBackspace();
+                    }
+                });
+            }
         }
 
         mPasswordEntry.requestFocus();
@@ -293,7 +305,7 @@
         mPasswordEntry.setEnabled(false);
         mKeyboardView.setEnabled(false);
         long elapsedRealtime = SystemClock.elapsedRealtime();
-        mCountdownTimer = new CountDownTimer(elapsedRealtimeDeadline - elapsedRealtime, 1000) {
+        new CountDownTimer(elapsedRealtimeDeadline - elapsedRealtime, 1000) {
 
             @Override
             public void onTick(long millisUntilFinished) {
@@ -309,7 +321,6 @@
                 mPasswordEntry.setEnabled(true);
                 mKeyboardView.setEnabled(true);
                 mStatusViewManager.resetStatusInfo();
-                mCountdownTimer = null;
             }
         }.start();
     }
diff --git a/policy/src/com/android/internal/policy/impl/PatternUnlockScreen.java b/policy/src/com/android/internal/policy/impl/PatternUnlockScreen.java
index e70892c..9a6d2cc 100644
--- a/policy/src/com/android/internal/policy/impl/PatternUnlockScreen.java
+++ b/policy/src/com/android/internal/policy/impl/PatternUnlockScreen.java
@@ -199,12 +199,6 @@
         setFocusableInTouchMode(true);
     }
 
-    // TODO(bcolonna): This is to tell FaceLock where to draw...but this covers up the wireless
-    // service text, so we will want to change the way the area is specified
-    public View getUnlockAreaView() {
-        return mLockPatternView;
-    }
-
     public void setEnableFallback(boolean state) {
         if (DEBUG) Log.d(TAG, "setEnableFallback(" + state + ")");
         mEnableFallback = state;
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindow.java b/policy/src/com/android/internal/policy/impl/PhoneWindow.java
index 903b405..2cd6eab 100644
--- a/policy/src/com/android/internal/policy/impl/PhoneWindow.java
+++ b/policy/src/com/android/internal/policy/impl/PhoneWindow.java
@@ -43,6 +43,7 @@
 import android.content.Context;
 import android.content.pm.ActivityInfo;
 import android.content.res.Configuration;
+import android.content.res.Resources;
 import android.content.res.TypedArray;
 import android.graphics.Canvas;
 import android.graphics.PixelFormat;
@@ -63,6 +64,7 @@
 import android.util.SparseArray;
 import android.util.TypedValue;
 import android.view.ActionMode;
+import android.view.ContextThemeWrapper;
 import android.view.Gravity;
 import android.view.IRotationWatcher;
 import android.view.IWindowManager;
@@ -990,7 +992,23 @@
      * @return Whether the initialization was successful.
      */
     protected boolean initializePanelMenu(final PanelFeatureState st) {
-        final MenuBuilder menu = new MenuBuilder(getContext());
+        Context context = getContext();
+
+        // If we have an action bar, initialize the menu with a context themed for it.
+        if ((st.featureId == FEATURE_OPTIONS_PANEL || st.featureId == FEATURE_ACTION_BAR) &&
+                mActionBar != null) {
+            TypedValue outValue = new TypedValue();
+            Resources.Theme currentTheme = context.getTheme();
+            currentTheme.resolveAttribute(com.android.internal.R.attr.actionBarWidgetTheme,
+                    outValue, true);
+            final int targetThemeRes = outValue.resourceId;
+
+            if (targetThemeRes != 0 && context.getThemeResId() != targetThemeRes) {
+                context = new ContextThemeWrapper(context, targetThemeRes);
+            }
+        }
+
+        final MenuBuilder menu = new MenuBuilder(context);
 
         menu.setCallback(this);
         st.setMenu(menu);
@@ -2129,13 +2147,14 @@
                 mActionMode = mode;
             } else {
                 if (mActionModeView == null) {
-                    if (hasFeature(FEATURE_ACTION_MODE_OVERLAY)) {
+                    if (isFloating()) {
                         mActionModeView = new ActionBarContextView(mContext);
                         mActionModePopup = new PopupWindow(mContext, null,
                                 com.android.internal.R.attr.actionModePopupWindowStyle);
                         mActionModePopup.setLayoutInScreenEnabled(true);
                         mActionModePopup.setLayoutInsetDecor(true);
-                        mActionModePopup.setClippingEnabled(false);
+                        mActionModePopup.setWindowLayoutType(
+                                WindowManager.LayoutParams.TYPE_APPLICATION);
                         mActionModePopup.setContentView(mActionModeView);
                         mActionModePopup.setWidth(MATCH_PARENT);
 
@@ -2144,10 +2163,12 @@
                                 com.android.internal.R.attr.actionBarSize, heightValue, true);
                         final int height = TypedValue.complexToDimensionPixelSize(heightValue.data,
                                 mContext.getResources().getDisplayMetrics());
-                        mActionModePopup.setHeight(height);
+                        mActionModeView.setContentHeight(height);
+                        mActionModePopup.setHeight(WRAP_CONTENT);
                         mShowActionModePopup = new Runnable() {
                             public void run() {
-                                mActionModePopup.showAtLocation(PhoneWindow.DecorView.this,
+                                mActionModePopup.showAtLocation(
+                                        mActionModeView.getApplicationWindowToken(),
                                         Gravity.TOP | Gravity.FILL_HORIZONTAL, 0, 0);
                             }
                         };
@@ -2162,7 +2183,8 @@
 
                 if (mActionModeView != null) {
                     mActionModeView.killMode();
-                    mode = new StandaloneActionMode(getContext(), mActionModeView, wrappedCallback);
+                    mode = new StandaloneActionMode(getContext(), mActionModeView, wrappedCallback,
+                            mActionModePopup == null);
                     if (callback.onCreateActionMode(mode, mode.getMenu())) {
                         mode.invalidate();
                         mActionModeView.initForMode(mode);
@@ -2640,6 +2662,8 @@
                 layoutResource = com.android.internal.R.layout.screen_title;
             }
             // System.out.println("Title!");
+        } else if ((features & (1 << FEATURE_ACTION_MODE_OVERLAY)) != 0) {
+            layoutResource = com.android.internal.R.layout.screen_simple_overlay_action_mode;
         } else {
             // Embedded, so no decoration is needed.
             layoutResource = com.android.internal.R.layout.screen_simple;
@@ -2728,6 +2752,7 @@
             } else {
                 mActionBar = (ActionBarView) findViewById(com.android.internal.R.id.action_bar);
                 if (mActionBar != null) {
+                    mActionBar.setWindowCallback(getCallback());
                     if (mActionBar.getTitle() == null) {
                         mActionBar.setWindowTitle(mTitle);
                     }
@@ -2740,28 +2765,30 @@
                     }
 
                     boolean splitActionBar = false;
-                    if ((mUiOptions & ActivityInfo.UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW) != 0) {
+                    final boolean splitWhenNarrow =
+                            (mUiOptions & ActivityInfo.UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW) != 0;
+                    if (splitWhenNarrow) {
                         splitActionBar = getContext().getResources().getBoolean(
                                 com.android.internal.R.bool.split_action_bar_is_narrow);
                     } else {
                         splitActionBar = getWindowStyle().getBoolean(
                                 com.android.internal.R.styleable.Window_windowSplitActionBar, false);
                     }
-                    if (splitActionBar) {
-                        final ActionBarContainer splitView = (ActionBarContainer) findViewById(
-                                com.android.internal.R.id.split_action_bar);
-                        if (splitView != null) {
-                            splitView.setVisibility(View.VISIBLE);
-                            mActionBar.setSplitActionBar(splitActionBar);
-                            mActionBar.setSplitView(splitView);
+                    final ActionBarContainer splitView = (ActionBarContainer) findViewById(
+                            com.android.internal.R.id.split_action_bar);
+                    if (splitView != null) {
+                        mActionBar.setSplitView(splitView);
+                        mActionBar.setSplitActionBar(splitActionBar);
+                        mActionBar.setSplitWhenNarrow(splitWhenNarrow);
 
-                            final ActionBarContextView cab = (ActionBarContextView) findViewById(
-                                    com.android.internal.R.id.action_context_bar);
-                            cab.setSplitView(splitView);
-                        } else {
-                            Log.e(TAG, "Requested split action bar with " +
-                                    "incompatible window decor! Ignoring request.");
-                        }
+                        final ActionBarContextView cab = (ActionBarContextView) findViewById(
+                                com.android.internal.R.id.action_context_bar);
+                        cab.setSplitView(splitView);
+                        cab.setSplitActionBar(splitActionBar);
+                        cab.setSplitWhenNarrow(splitWhenNarrow);
+                    } else if (splitActionBar) {
+                        Log.e(TAG, "Requested split action bar with " +
+                                "incompatible window decor! Ignoring request.");
                     }
 
                     // Post the panel invalidate for later; avoid application onCreateOptionsMenu
@@ -3467,6 +3494,8 @@
         }
 
         public boolean onOpenSubMenu(MenuBuilder subMenu) {
+            if (subMenu == null) return false;
+
             // Set a simple callback for the submenu
             subMenu.setCallback(this);
 
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
index c8c0041..989ccf7 100755
--- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
+++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
@@ -276,11 +276,12 @@
     int mLidOpenRotation;
     int mCarDockRotation;
     int mDeskDockRotation;
+    int mHdmiRotation;
 
     int mUserRotationMode = WindowManagerPolicy.USER_ROTATION_FREE;
     int mUserRotation = Surface.ROTATION_0;
 
-    boolean mAllowAllRotations;
+    int mAllowAllRotations = -1;
     boolean mCarDockEnablesAccelerometer;
     boolean mDeskDockEnablesAccelerometer;
     int mLidKeyboardAccessibility;
@@ -385,9 +386,6 @@
     int mPortraitRotation = 0;   // default portrait rotation
     int mUpsideDownRotation = 0; // "other" portrait rotation
 
-    // Nothing to see here, move along...
-    int mFancyRotationAnimation;
-    
     // What we do when the user long presses on home
     private int mLongPressOnHomeBehavior = -1;
 
@@ -439,12 +437,7 @@
 
         @Override public void onChange(boolean selfChange) {
             updateSettings();
-            try {
-                mWindowManager.setRotation(USE_LAST_ROTATION, false,
-                        mFancyRotationAnimation);
-            } catch (RemoteException e) {
-                // Ignore
-            }
+            updateRotation(false);
         }
     }
     
@@ -454,48 +447,13 @@
         }
         
         @Override
-        public void onOrientationChanged(int rotation) {
-            // Send updates based on orientation value
-            if (localLOGV) Log.v(TAG, "onOrientationChanged, rotation changed to " +rotation);
-            try {
-                mWindowManager.setRotation(rotation, false,
-                        mFancyRotationAnimation);
-            } catch (RemoteException e) {
-                // Ignore
-
-            }
-        }                                      
+        public void onProposedRotationChanged(int rotation) {
+            if (localLOGV) Log.v(TAG, "onProposedRotationChanged, rotation=" + rotation);
+            updateRotation(false);
+        }
     }
     MyOrientationListener mOrientationListener;
 
-    boolean useSensorForOrientationLp(int appOrientation) {
-        // The app says use the sensor.
-        if (appOrientation == ActivityInfo.SCREEN_ORIENTATION_SENSOR
-                || appOrientation == ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR
-                || appOrientation == ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE
-                || appOrientation == ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT) {
-            return true;
-        }
-        // The user preference says we can rotate, and the app is willing to rotate.
-        if (mAccelerometerDefault != 0 &&
-                (appOrientation == ActivityInfo.SCREEN_ORIENTATION_USER
-                 || appOrientation == ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED)) {
-            return true;
-        }
-        // We're in a dock that has a rotation affinity, and the app is willing to rotate.
-        if ((mCarDockEnablesAccelerometer && mDockMode == Intent.EXTRA_DOCK_STATE_CAR)
-                || (mDeskDockEnablesAccelerometer && mDockMode == Intent.EXTRA_DOCK_STATE_DESK)) {
-            // Note we override the nosensor flag here.
-            if (appOrientation == ActivityInfo.SCREEN_ORIENTATION_USER
-                    || appOrientation == ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED
-                    || appOrientation == ActivityInfo.SCREEN_ORIENTATION_NOSENSOR) {
-                return true;
-            }
-        }
-        // Else, don't use the sensor.
-        return false;
-    }
-    
     /*
      * We always let the sensor be switched on by default except when
      * the user has explicitly disabled sensor based rotation or when the
@@ -696,6 +654,9 @@
         mKeyguardMediator = new KeyguardViewMediator(context, this, powerManager);
         mHandler = new Handler();
         mOrientationListener = new MyOrientationListener(mContext);
+        try {
+            mOrientationListener.setCurrentRotation(windowManager.getRotation());
+        } catch (RemoteException ex) { }
         SettingsObserver settingsObserver = new SettingsObserver(mHandler);
         settingsObserver.observe();
         mShortcutManager = new ShortcutManager(context, mHandler);
@@ -723,8 +684,6 @@
                 com.android.internal.R.integer.config_carDockRotation);
         mDeskDockRotation = readRotation(
                 com.android.internal.R.integer.config_deskDockRotation);
-        mAllowAllRotations = mContext.getResources().getBoolean(
-                com.android.internal.R.bool.config_allowAllRotations);
         mCarDockEnablesAccelerometer = mContext.getResources().getBoolean(
                 com.android.internal.R.bool.config_carDockEnablesAccelerometer);
         mDeskDockEnablesAccelerometer = mContext.getResources().getBoolean(
@@ -760,6 +719,13 @@
 
         // Controls rotation and the like.
         initializeHdmiState();
+
+        // Match current screen state.
+        if (mPowerManager.isScreenOn()) {
+            screenTurningOn(null);
+        } else {
+            screenTurnedOff(WindowManagerPolicy.OFF_BECAUSE_OF_USER);
+        }
     }
 
     public void setInitialDisplaySize(int width, int height) {
@@ -812,6 +778,12 @@
                 ? mContext.getResources().getDimensionPixelSize(
                     com.android.internal.R.dimen.navigation_bar_width)
                 : 0;
+
+        if ("portrait".equals(SystemProperties.get("persist.demo.hdmirotation"))) {
+            mHdmiRotation = mPortraitRotation;
+        } else {
+            mHdmiRotation = mLandscapeRotation;
+        }
     }
 
     public void updateSettings() {
@@ -826,8 +798,6 @@
             mIncallPowerBehavior = Settings.Secure.getInt(resolver,
                     Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR,
                     Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR_DEFAULT);
-            mFancyRotationAnimation = Settings.System.getInt(resolver,
-                    "fancy_rotation_anim", 0) != 0 ? 0x80 : 0;
             int accelerometerDefault = Settings.System.getInt(resolver,
                     Settings.System.ACCELEROMETER_ROTATION, DEFAULT_ACCELEROMETER_ROTATION);
             
@@ -882,7 +852,7 @@
             updateScreenSaverTimeoutLocked();
         }
         if (updateRotation) {
-            updateRotation(0);
+            updateRotation(true);
         }
         if (addView != null) {
             WindowManager.LayoutParams lp = new WindowManager.LayoutParams(
@@ -1025,8 +995,7 @@
     /** {@inheritDoc} */
     public void adjustConfigurationLw(Configuration config) {
         readLidState();
-
-        mPowerManager.setKeyboardVisibility(mLidOpen == LID_OPEN);
+        updateKeyboardVisibility();
 
         if (config.keyboard == Configuration.KEYBOARD_NOKEYS) {
             config.hardKeyboardHidden = Configuration.HARDKEYBOARDHIDDEN_YES;
@@ -2295,8 +2264,10 @@
     public void notifyLidSwitchChanged(long whenNanos, boolean lidOpen) {
         // lid changed state
         mLidOpen = lidOpen ? LID_OPEN : LID_CLOSED;
+        updateKeyboardVisibility();
+
         boolean awakeNow = mKeyguardMediator.doLidChangeTq(lidOpen);
-        updateRotation(Surface.FLAGS_ORIENTATION_ANIMATION_DISABLE);
+        updateRotation(true);
         if (awakeNow) {
             // If the lid is opening and we don't have to keep the
             // keyguard up, then we can turn on the screen
@@ -2325,7 +2296,7 @@
     void setHdmiPlugged(boolean plugged) {
         if (mHdmiPlugged != plugged) {
             mHdmiPlugged = plugged;
-            updateRotation(Surface.FLAGS_ORIENTATION_ANIMATION_DISABLE);
+            updateRotation(true);
             Intent intent = new Intent(ACTION_HDMI_PLUGGED);
             intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT);
             intent.putExtra(EXTRA_HDMI_PLUGGED_STATE, plugged);
@@ -2802,7 +2773,7 @@
                 } catch (RemoteException e) {
                 }
             }
-            updateRotation(Surface.FLAGS_ORIENTATION_ANIMATION_DISABLE);
+            updateRotation(true);
             updateOrientationListenerLp();
         }
     };
@@ -2825,31 +2796,42 @@
     /** {@inheritDoc} */
     public void screenTurningOn(final ScreenOnListener screenOnListener) {
         EventLog.writeEvent(70000, 1);
-        //Slog.i(TAG, "Screen turning on...");
-        mKeyguardMediator.onScreenTurnedOn(new KeyguardViewManager.ShowListener() {
-            @Override public void onShown(IBinder windowToken) {
-                if (windowToken != null) {
-                    try {
-                        mWindowManager.waitForWindowDrawn(windowToken, new IRemoteCallback.Stub() {
-                            @Override public void sendResult(Bundle data) {
-                                Slog.i(TAG, "Lock screen displayed!");
-                                screenOnListener.onScreenOn();
-                                synchronized (mLock) {
-                                    mScreenOnFully = true;
+        if (false) {
+            RuntimeException here = new RuntimeException("here");
+            here.fillInStackTrace();
+            Slog.i(TAG, "Screen turning on...", here);
+        }
+        if (screenOnListener != null) {
+            mKeyguardMediator.onScreenTurnedOn(new KeyguardViewManager.ShowListener() {
+                @Override public void onShown(IBinder windowToken) {
+                    if (windowToken != null) {
+                        try {
+                            mWindowManager.waitForWindowDrawn(windowToken,
+                                    new IRemoteCallback.Stub() {
+                                @Override public void sendResult(Bundle data) {
+                                    Slog.i(TAG, "Lock screen displayed!");
+                                    screenOnListener.onScreenOn();
+                                    synchronized (mLock) {
+                                        mScreenOnFully = true;
+                                    }
                                 }
-                            }
-                        });
-                    } catch (RemoteException e) {
-                    }
-                } else {
-                    Slog.i(TAG, "No lock screen!");
-                    screenOnListener.onScreenOn();
-                    synchronized (mLock) {
-                        mScreenOnFully = true;
+                            });
+                        } catch (RemoteException e) {
+                        }
+                    } else {
+                        Slog.i(TAG, "No lock screen!");
+                        screenOnListener.onScreenOn();
+                        synchronized (mLock) {
+                            mScreenOnFully = true;
+                        }
                     }
                 }
+            });
+        } else {
+            synchronized (mLock) {
+                mScreenOnFully = true;
             }
-        });
+        }
         synchronized (mLock) {
             mScreenOnEarly = true;
             updateOrientationListenerLp();
@@ -2898,6 +2880,18 @@
         return mKeyguardMediator.isInputRestricted();
     }
 
+    public void dismissKeyguardLw() {
+        if (!mKeyguardMediator.isSecure()) {
+            if (mKeyguardMediator.isShowing()) {
+                mHandler.post(new Runnable() {
+                    public void run() {
+                        mKeyguardMediator.keyguardDone(false, true);
+                    }
+                });
+            }
+        }
+    }
+
     void sendCloseSystemWindows() {
         sendCloseSystemWindows(mContext, null);
     }
@@ -2914,10 +2908,9 @@
             }
         }
     }
-    
-    public int rotationForOrientationLw(int orientation, int lastRotation,
-            boolean displayEnabled) {
 
+    @Override
+    public int rotationForOrientationLw(int orientation, int lastRotation) {
         if (false) {
             Slog.v(TAG, "rotationForOrientationLw(orient="
                         + orientation + ", last=" + lastRotation
@@ -2928,128 +2921,142 @@
         }
 
         synchronized (mLock) {
+            int sensorRotation = mOrientationListener.getProposedRotation(); // may be -1
+            if (sensorRotation < 0) {
+                sensorRotation = lastRotation;
+            }
+
+            int preferredRotation = -1;
+            if (mHdmiPlugged) {
+                // Ignore sensor when plugged into HDMI.
+                preferredRotation = mHdmiRotation;
+            } else if (mLidOpen == LID_OPEN && mLidOpenRotation >= 0) {
+                // Ignore sensor when lid switch is open and rotation is forced.
+                preferredRotation = mLidOpenRotation;
+            } else if (mDockMode == Intent.EXTRA_DOCK_STATE_CAR
+                    && (mCarDockEnablesAccelerometer || mCarDockRotation >= 0)) {
+                // Ignore sensor when in car dock unless explicitly enabled.
+                // This case can override the behavior of NOSENSOR, and can also
+                // enable 180 degree rotation while docked.
+                preferredRotation = mCarDockEnablesAccelerometer
+                        ? sensorRotation : mCarDockRotation;
+            } else if (mDockMode == Intent.EXTRA_DOCK_STATE_DESK
+                    && (mDeskDockEnablesAccelerometer || mDeskDockRotation >= 0)) {
+                // Ignore sensor when in desk dock unless explicitly enabled.
+                // This case can override the behavior of NOSENSOR, and can also
+                // enable 180 degree rotation while docked.
+                preferredRotation = mDeskDockEnablesAccelerometer
+                        ? sensorRotation : mDeskDockRotation;
+            } else if ((mAccelerometerDefault != 0 /* implies not rotation locked */
+                            && (orientation == ActivityInfo.SCREEN_ORIENTATION_USER
+                                    || orientation == ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED))
+                    || orientation == ActivityInfo.SCREEN_ORIENTATION_SENSOR
+                    || orientation == ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR
+                    || orientation == ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE
+                    || orientation == ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT) {
+                // Otherwise, use sensor only if requested by the application or enabled
+                // by default for USER or UNSPECIFIED modes.  Does not apply to NOSENSOR.
+                if (mAllowAllRotations < 0) {
+                    // Can't read this during init() because the context doesn't
+                    // have display metrics at that time so we cannot determine
+                    // tablet vs. phone then.
+                    mAllowAllRotations = mContext.getResources().getBoolean(
+                            com.android.internal.R.bool.config_allowAllRotations) ? 1 : 0;
+                }
+                if (sensorRotation != Surface.ROTATION_180
+                        || mAllowAllRotations == 1
+                        || orientation == ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR) {
+                    preferredRotation = sensorRotation;
+                } else {
+                    preferredRotation = lastRotation;
+                }
+            } else if (mUserRotationMode == WindowManagerPolicy.USER_ROTATION_LOCKED) {
+                // Apply rotation lock.
+                preferredRotation = mUserRotation;
+            }
+
+            // TODO: Sometimes, we might want to override the application-requested
+            //       orientation, such as when HDMI is plugged in or when docked.
+            //       We can do that by modifying the appropriate cases above to return
+            //       the preferred orientation directly instead of continuing on down here.
+
             switch (orientation) {
                 case ActivityInfo.SCREEN_ORIENTATION_PORTRAIT:
-                    //always return portrait if orientation set to portrait
+                    // Always return portrait if orientation set to portrait.
                     return mPortraitRotation;
-                case ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE:
-                    //always return landscape if orientation set to landscape
-                    return mLandscapeRotation;
-                case ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT:
-                    //always return portrait if orientation set to portrait
-                    return mUpsideDownRotation;
-                case ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE:
-                    //always return seascape if orientation set to reverse landscape
-                    return mSeascapeRotation;
-                case ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE:
-                    //return either landscape rotation based on the sensor
-                    return getCurrentLandscapeRotation(lastRotation);
-                case ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT:
-                    return getCurrentPortraitRotation(lastRotation);
-            }
 
-            // case for nosensor meaning ignore sensor and consider only lid
-            // or orientation sensor disabled
-            //or case.unspecified
-            if (mHdmiPlugged) {
-                return mLandscapeRotation;
-            } else if (mLidOpen == LID_OPEN) {
-                return mLidOpenRotation;
-            } else if (mDockMode == Intent.EXTRA_DOCK_STATE_CAR && mCarDockRotation >= 0) {
-                return mCarDockRotation;
-            } else if (mDockMode == Intent.EXTRA_DOCK_STATE_DESK && mDeskDockRotation >= 0) {
-                return mDeskDockRotation;
-            } else if (mUserRotationMode == WindowManagerPolicy.USER_ROTATION_LOCKED) {
-                return mUserRotation;
-            } else {
-                if (useSensorForOrientationLp(orientation)) {
-                    // Disable 180 degree rotation unless allowed by default for the device
-                    // or explicitly requested by the application.
-                    int rotation = mOrientationListener.getCurrentRotation(lastRotation);
-                    if (rotation == Surface.ROTATION_180
-                            && !mAllowAllRotations
-                            && orientation != ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR) {
+                case ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE:
+                    // Always return landscape if orientation set to landscape.
+                    return mLandscapeRotation;
+
+                case ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT:
+                    // Always return portrait if orientation set to portrait.
+                    return mUpsideDownRotation;
+
+                case ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE:
+                    // Always return seascape if orientation set to reverse landscape.
+                    return mSeascapeRotation;
+
+                case ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE:
+                    // Return either landscape rotation.
+                    if (isLandscapeOrSeascape(preferredRotation)) {
+                        return preferredRotation;
+                    }
+                    if (isLandscapeOrSeascape(lastRotation)) {
                         return lastRotation;
                     }
-                    return rotation;
-                }
-                return Surface.ROTATION_0;
-            }
-        }
-    }
+                    return mLandscapeRotation;
 
-    public int getLockedRotationLw() {
-        synchronized (mLock) {
-            if (false) {
-                // Not yet working.
-                if (mHdmiPlugged) {
+                case ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT:
+                    // Return either portrait rotation.
+                    if (isAnyPortrait(preferredRotation)) {
+                        return preferredRotation;
+                    }
+                    if (isAnyPortrait(lastRotation)) {
+                        return lastRotation;
+                    }
+                    return mPortraitRotation;
+
+                default:
+                    // For USER, UNSPECIFIED, NOSENSOR, SENSOR and FULL_SENSOR,
+                    // just return the preferred orientation we already calculated.
+                    if (preferredRotation >= 0) {
+                        return preferredRotation;
+                    }
                     return Surface.ROTATION_0;
-                } else if (mLidOpen == LID_OPEN) {
-                    return mLidOpenRotation;
-                } else if (mDockMode == Intent.EXTRA_DOCK_STATE_CAR && mCarDockRotation >= 0) {
-                    return mCarDockRotation;
-                } else if (mDockMode == Intent.EXTRA_DOCK_STATE_DESK && mDeskDockRotation >= 0) {
-                    return mDeskDockRotation;
-                } else if (mUserRotationMode == WindowManagerPolicy.USER_ROTATION_LOCKED) {
-                    return mUserRotation;
-                }
-            }
-            return -1;
-        }
-    }
-
-    private int getCurrentLandscapeRotation(int lastRotation) {
-        // if the user has locked rotation, we ignore the sensor 
-        if (mUserRotationMode == WindowManagerPolicy.USER_ROTATION_LOCKED) {
-            if (isLandscapeOrSeascape(mUserRotation)) {
-                return mUserRotation;
-            } else {
-                // it seems odd to obey the sensor at all if rotation lock is enabled
-                return mLandscapeRotation;
             }
         }
-
-        int sensorRotation = mOrientationListener.getCurrentRotation(lastRotation);
-        if (isLandscapeOrSeascape(sensorRotation)) {
-            return sensorRotation;
-        }
-        // try to preserve the old rotation if it was landscape
-        if (isLandscapeOrSeascape(lastRotation)) {
-            return lastRotation;
-        }
-        // default to one of the primary landscape rotation
-        return mLandscapeRotation;
     }
 
-    private boolean isLandscapeOrSeascape(int sensorRotation) {
-        return sensorRotation == mLandscapeRotation || sensorRotation == mSeascapeRotation;
+    @Override
+    public boolean rotationHasCompatibleMetricsLw(int orientation, int rotation) {
+        switch (orientation) {
+            case ActivityInfo.SCREEN_ORIENTATION_PORTRAIT:
+            case ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT:
+            case ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT:
+                return isAnyPortrait(rotation);
+
+            case ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE:
+            case ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE:
+            case ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE:
+                return isLandscapeOrSeascape(rotation);
+
+            default:
+                return true;
+        }
     }
 
-    private int getCurrentPortraitRotation(int lastRotation) {
-        // if the user has locked rotation, we ignore the sensor 
-        if (mUserRotationMode == WindowManagerPolicy.USER_ROTATION_LOCKED) {
-            if (isAnyPortrait(mUserRotation)) {
-                return mUserRotation;
-            } else {
-                // it seems odd to obey the sensor at all if rotation lock is enabled
-                return mPortraitRotation;
-            }
-        }
-
-        int sensorRotation = mOrientationListener.getCurrentRotation(lastRotation);
-        if (isAnyPortrait(sensorRotation)) {
-            return sensorRotation;
-        }
-        // try to preserve the old rotation if it was portrait
-        if (isAnyPortrait(lastRotation)) {
-            return lastRotation;
-        }
-        // default to one of the primary portrait rotations
-        return mPortraitRotation;
+    @Override
+    public void setRotationLw(int rotation) {
+        mOrientationListener.setCurrentRotation(rotation);
     }
 
-    private boolean isAnyPortrait(int sensorRotation) {
-        return sensorRotation == mPortraitRotation || sensorRotation == mUpsideDownRotation;
+    private boolean isLandscapeOrSeascape(int rotation) {
+        return rotation == mLandscapeRotation || rotation == mSeascapeRotation;
+    }
+
+    private boolean isAnyPortrait(int rotation) {
+        return rotation == mPortraitRotation || rotation == mUpsideDownRotation;
     }
 
 
@@ -3298,26 +3305,19 @@
     /** {@inheritDoc} */
     public void enableScreenAfterBoot() {
         readLidState();
-        updateRotation(Surface.FLAGS_ORIENTATION_ANIMATION_DISABLE);
+        updateKeyboardVisibility();
+
+        updateRotation(true);
     }
 
-    void updateRotation(int animFlags) {
+    private void updateKeyboardVisibility() {
         mPowerManager.setKeyboardVisibility(mLidOpen == LID_OPEN);
-        int rotation = Surface.ROTATION_0;
-        if (mHdmiPlugged) {
-            rotation = Surface.ROTATION_0;
-        } else if (mLidOpen == LID_OPEN) {
-            rotation = mLidOpenRotation;
-        } else if (mDockMode == Intent.EXTRA_DOCK_STATE_CAR && mCarDockRotation >= 0) {
-            rotation = mCarDockRotation;
-        } else if (mDockMode == Intent.EXTRA_DOCK_STATE_DESK && mDeskDockRotation >= 0) {
-            rotation = mDeskDockRotation;
-        }
-        //if lid is closed orientation will be portrait
+    }
+
+    void updateRotation(boolean alwaysSendConfiguration) {
         try {
             //set orientation on WindowManager
-            mWindowManager.setRotation(rotation, true,
-                    mFancyRotationAnimation | animFlags);
+            mWindowManager.updateRotation(alwaysSendConfiguration);
         } catch (RemoteException e) {
             // Ignore
         }
diff --git a/services/audioflinger/AudioFlinger.cpp b/services/audioflinger/AudioFlinger.cpp
index a58f64c..ab49f93 100644
--- a/services/audioflinger/AudioFlinger.cpp
+++ b/services/audioflinger/AudioFlinger.cpp
@@ -985,6 +985,10 @@
     mNewParameters.clear();
     // do not lock the mutex in destructor
     releaseWakeLock_l();
+    if (mPowerManager != 0) {
+        sp<IBinder> binder = mPowerManager->asBinder();
+        binder->unlinkToDeath(mDeathRecipient);
+    }
 }
 
 void AudioFlinger::ThreadBase::exit()
@@ -5546,7 +5550,7 @@
 
     // remove chain first. This is useful only if reconfiguring effect chain on same output thread,
     // so that a new chain is created with correct parameters when first effect is added. This is
-    // otherwise unecessary as removeEffect_l() will remove the chain when last effect is
+    // otherwise unnecessary as removeEffect_l() will remove the chain when last effect is
     // removed.
     srcThread->removeEffectChain_l(chain);
 
@@ -5559,6 +5563,11 @@
     while (effect != 0) {
         srcThread->removeEffect_l(effect);
         dstThread->addEffect_l(effect);
+        // removeEffect_l() has stopped the effect if it was active so it must be restarted
+        if (effect->state() == EffectModule::ACTIVE ||
+                effect->state() == EffectModule::STOPPING) {
+            effect->start();
+        }
         // if the move request is not received from audio policy manager, the effect must be
         // re-registered with the new strategy and output
         if (dstChain == 0) {
@@ -6346,6 +6355,12 @@
     return status;
 }
 
+status_t AudioFlinger::EffectModule::start()
+{
+    Mutex::Autolock _l(mLock);
+    return start_l();
+}
+
 status_t AudioFlinger::EffectModule::start_l()
 {
     if (mEffectInterface == NULL) {
@@ -7210,7 +7225,10 @@
             // calling stop here will remove pre-processing effect from the audio HAL.
             // This is safe as we hold the EffectChain mutex which guarantees that we are not in
             // the middle of a read from audio HAL
-            mEffects[i]->stop();
+            if (mEffects[i]->state() == EffectModule::ACTIVE ||
+                    mEffects[i]->state() == EffectModule::STOPPING) {
+                mEffects[i]->stop();
+            }
             if (type == EFFECT_FLAG_TYPE_AUXILIARY) {
                 delete[] effect->inBuffer();
             } else {
@@ -7440,12 +7458,21 @@
     }
 }
 
+
+// The volume effect is used for automated tests only
+#ifndef OPENSL_ES_H_
+static const effect_uuid_t SL_IID_VOLUME_ = { 0x09e8ede0, 0xddde, 0x11db, 0xb4f6,
+                                            { 0x00, 0x02, 0xa5, 0xd5, 0xc5, 0x1b } };
+const effect_uuid_t * const SL_IID_VOLUME = &SL_IID_VOLUME_;
+#endif //OPENSL_ES_H_
+
 bool AudioFlinger::EffectChain::isEffectEligibleForSuspend(const effect_descriptor_t& desc)
 {
     // auxiliary effects and visualizer are never suspended on output mix
     if ((mSessionId == AUDIO_SESSION_OUTPUT_MIX) &&
         (((desc.flags & EFFECT_FLAG_TYPE_MASK) == EFFECT_FLAG_TYPE_AUXILIARY) ||
-         (memcmp(&desc.type, SL_IID_VISUALIZATION, sizeof(effect_uuid_t)) == 0))) {
+         (memcmp(&desc.type, SL_IID_VISUALIZATION, sizeof(effect_uuid_t)) == 0) ||
+         (memcmp(&desc.type, SL_IID_VOLUME, sizeof(effect_uuid_t)) == 0))) {
         return false;
     }
     return true;
diff --git a/services/audioflinger/AudioFlinger.h b/services/audioflinger/AudioFlinger.h
index 2e05593..ed9d81e 100644
--- a/services/audioflinger/AudioFlinger.h
+++ b/services/audioflinger/AudioFlinger.h
@@ -1117,6 +1117,7 @@
         status_t         setDevice(uint32_t device);
         status_t         setVolume(uint32_t *left, uint32_t *right, bool controller);
         status_t         setMode(uint32_t mode);
+        status_t         start();
         status_t         stop();
         void             setSuspended(bool suspended);
         bool             suspended();
diff --git a/services/audioflinger/AudioResampler.cpp b/services/audioflinger/AudioResampler.cpp
index dca795c..9ee5a30 100644
--- a/services/audioflinger/AudioResampler.cpp
+++ b/services/audioflinger/AudioResampler.cpp
@@ -434,9 +434,9 @@
 
         // the following loop works on 2 frames
 
-        ".Y4L01:\n"
+        "1:\n"
         "   cmp r8, r2\n"                   // curOut - maxCurOut
-        "   bcs .Y4L02\n"
+        "   bcs 2f\n"
 
 #define MO_ONE_FRAME \
     "   add r0, r1, r7, asl #1\n"       /* in + inputIndex */\
@@ -460,8 +460,8 @@
         MO_ONE_FRAME    // frame 2
 
         "   cmp r7, r3\n"                   // inputIndex - maxInIdx
-        "   bcc .Y4L01\n"
-        ".Y4L02:\n"
+        "   bcc 1b\n"
+        "2:\n"
 
         "   bic r6, r6, #0xC0000000\n"             // phaseFraction & ...
         // save modified values
@@ -541,9 +541,9 @@
         // r13 sp
         // r14
 
-        ".Y5L01:\n"
+        "3:\n"
         "   cmp r8, r2\n"                   // curOut - maxCurOut
-        "   bcs .Y5L02\n"
+        "   bcs 4f\n"
 
 #define ST_ONE_FRAME \
     "   bic r6, r6, #0xC0000000\n"      /* phaseFraction & ... */\
@@ -577,8 +577,8 @@
     ST_ONE_FRAME    // frame 1
 
         "   cmp r7, r3\n"                       // inputIndex - maxInIdx
-        "   bcc .Y5L01\n"
-        ".Y5L02:\n"
+        "   bcc 3b\n"
+        "4:\n"
 
         "   bic r6, r6, #0xC0000000\n"              // phaseFraction & ...
         // save modified values
diff --git a/services/java/com/android/server/AlarmManagerService.java b/services/java/com/android/server/AlarmManagerService.java
index 5ffcdc5..b8c44d9 100644
--- a/services/java/com/android/server/AlarmManagerService.java
+++ b/services/java/com/android/server/AlarmManagerService.java
@@ -477,7 +477,7 @@
                         : bs.filterStats.entrySet()) {
                     pw.print("    "); pw.print(fe.getValue().count);
                             pw.print(" alarms: ");
-                            pw.println(fe.getKey().getIntent().toShortString(true, false));
+                            pw.println(fe.getKey().getIntent().toShortString(false, true, false));
                 }
             }
         }
diff --git a/services/java/com/android/server/AppWidgetService.java b/services/java/com/android/server/AppWidgetService.java
index 9f4936df..dd649e7 100644
--- a/services/java/com/android/server/AppWidgetService.java
+++ b/services/java/com/android/server/AppWidgetService.java
@@ -172,6 +172,10 @@
     boolean mSafeMode;
     boolean mStateLoaded;
 
+    // These are for debugging only -- widgets are going missing in some rare instances
+    ArrayList<Provider> mDeletedProviders = new ArrayList<Provider>();
+    ArrayList<Host> mDeletedHosts = new ArrayList<Host>();
+
     AppWidgetService(Context context) {
         mContext = context;
         mPackageManager = context.getPackageManager();
@@ -219,6 +223,55 @@
         }
     }
 
+    private void dumpProvider(Provider p, int index, PrintWriter pw) {
+        AppWidgetProviderInfo info = p.info;
+        pw.print("  ["); pw.print(index); pw.print("] provider ");
+                pw.print(info.provider.flattenToShortString());
+                pw.println(':');
+        pw.print("    min=("); pw.print(info.minWidth);
+                pw.print("x"); pw.print(info.minHeight);
+        pw.print(")   minResize=("); pw.print(info.minResizeWidth);
+                pw.print("x"); pw.print(info.minResizeHeight);
+                pw.print(") updatePeriodMillis=");
+                pw.print(info.updatePeriodMillis);
+                pw.print(" resizeMode=");
+                pw.print(info.resizeMode);
+                pw.print(" autoAdvanceViewId=");
+                pw.print(info.autoAdvanceViewId);
+                pw.print(" initialLayout=#");
+                pw.print(Integer.toHexString(info.initialLayout));
+                pw.print(" zombie="); pw.println(p.zombie);
+    }
+
+    private void dumpHost(Host host, int index, PrintWriter pw) {
+        pw.print("  ["); pw.print(index); pw.print("] hostId=");
+                pw.print(host.hostId); pw.print(' ');
+                pw.print(host.packageName); pw.print('/');
+        pw.print(host.uid); pw.println(':');
+        pw.print("    callbacks="); pw.println(host.callbacks);
+        pw.print("    instances.size="); pw.print(host.instances.size());
+                pw.print(" zombie="); pw.println(host.zombie);
+    }
+
+    private void dumpAppWidgetId(AppWidgetId id, int index, PrintWriter pw) {
+        pw.print("  ["); pw.print(index); pw.print("] id=");
+                pw.println(id.appWidgetId);
+        pw.print("    hostId=");
+                pw.print(id.host.hostId); pw.print(' ');
+                pw.print(id.host.packageName); pw.print('/');
+                pw.println(id.host.uid);
+        if (id.provider != null) {
+            pw.print("    provider=");
+                    pw.println(id.provider.info.provider.flattenToShortString());
+        }
+        if (id.host != null) {
+            pw.print("    host.callbacks="); pw.println(id.host.callbacks);
+        }
+        if (id.views != null) {
+            pw.print("    views="); pw.println(id.views);
+        }
+    }
+
     @Override
     public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
         if (mContext.checkCallingOrSelfPermission(android.Manifest.permission.DUMP)
@@ -233,61 +286,35 @@
             int N = mInstalledProviders.size();
             pw.println("Providers:");
             for (int i=0; i<N; i++) {
-                Provider p = mInstalledProviders.get(i);
-                AppWidgetProviderInfo info = p.info;
-                pw.print("  ["); pw.print(i); pw.print("] provider ");
-                        pw.print(info.provider.flattenToShortString());
-                        pw.println(':');
-                pw.print("    min=("); pw.print(info.minWidth);
-                        pw.print("x"); pw.print(info.minHeight);
-                pw.print(")   minResize=("); pw.print(info.minResizeWidth);
-                        pw.print("x"); pw.print(info.minResizeHeight);
-                        pw.print(") updatePeriodMillis=");
-                        pw.print(info.updatePeriodMillis);
-                        pw.print(" resizeMode=");
-                        pw.print(info.resizeMode);
-                        pw.print(" autoAdvanceViewId=");
-                        pw.print(info.autoAdvanceViewId);
-                        pw.print(" initialLayout=#");
-                        pw.print(Integer.toHexString(info.initialLayout));
-                        pw.print(" zombie="); pw.println(p.zombie);
+                dumpProvider(mInstalledProviders.get(i), i, pw);
             }
 
             N = mAppWidgetIds.size();
             pw.println(" ");
             pw.println("AppWidgetIds:");
             for (int i=0; i<N; i++) {
-                AppWidgetId id = mAppWidgetIds.get(i);
-                pw.print("  ["); pw.print(i); pw.print("] id=");
-                        pw.println(id.appWidgetId);
-                pw.print("    hostId=");
-                        pw.print(id.host.hostId); pw.print(' ');
-                        pw.print(id.host.packageName); pw.print('/');
-                        pw.println(id.host.uid);
-                if (id.provider != null) {
-                    pw.print("    provider=");
-                            pw.println(id.provider.info.provider.flattenToShortString());
-                }
-                if (id.host != null) {
-                    pw.print("    host.callbacks="); pw.println(id.host.callbacks);
-                }
-                if (id.views != null) {
-                    pw.print("    views="); pw.println(id.views);
-                }
+                dumpAppWidgetId(mAppWidgetIds.get(i), i, pw);
             }
 
             N = mHosts.size();
             pw.println(" ");
             pw.println("Hosts:");
             for (int i=0; i<N; i++) {
-                Host host = mHosts.get(i);
-                pw.print("  ["); pw.print(i); pw.print("] hostId=");
-                        pw.print(host.hostId); pw.print(' ');
-                        pw.print(host.packageName); pw.print('/');
-                        pw.print(host.uid); pw.println(':');
-                pw.print("    callbacks="); pw.println(host.callbacks);
-                pw.print("    instances.size="); pw.print(host.instances.size());
-                        pw.print(" zombie="); pw.println(host.zombie);
+                dumpHost(mHosts.get(i), i, pw);
+            }
+
+            N = mDeletedProviders.size();
+            pw.println(" ");
+            pw.println("Deleted Providers:");
+            for (int i=0; i<N; i++) {
+                dumpProvider(mDeletedProviders.get(i), i, pw);
+            }
+
+            N = mDeletedHosts.size();
+            pw.println(" ");
+            pw.println("Deleted Hosts:");
+            for (int i=0; i<N; i++) {
+                dumpHost(mDeletedHosts.get(i), i, pw);
             }
         }
     }
@@ -363,6 +390,7 @@
         }
         host.instances.clear();
         mHosts.remove(host);
+        mDeletedHosts.add(host);
         // it's gone or going away, abruptly drop the callback connection
         host.callbacks = null;
     }
@@ -934,6 +962,7 @@
         }
         p.instances.clear();
         mInstalledProviders.remove(index);
+        mDeletedProviders.add(p);
         // no need to send the DISABLE broadcast, since the receiver is gone anyway
         cancelBroadcasts(p);
     }
diff --git a/services/java/com/android/server/BackupManagerService.java b/services/java/com/android/server/BackupManagerService.java
index 2d24f99..7b8657a 100644
--- a/services/java/com/android/server/BackupManagerService.java
+++ b/services/java/com/android/server/BackupManagerService.java
@@ -34,6 +34,7 @@
 import android.content.ActivityNotFoundException;
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
+import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
@@ -324,14 +325,16 @@
         public boolean includeApks;
         public boolean includeShared;
         public boolean allApps;
+        public boolean includeSystem;
         public String[] packages;
 
         FullBackupParams(ParcelFileDescriptor output, boolean saveApks, boolean saveShared,
-                boolean doAllApps, String[] pkgList) {
+                boolean doAllApps, boolean doSystem, String[] pkgList) {
             fd = output;
             includeApks = saveApks;
             includeShared = saveShared;
             allApps = doAllApps;
+            includeSystem = doSystem;
             packages = pkgList;
         }
     }
@@ -503,7 +506,7 @@
                 PerformFullBackupTask task = new PerformFullBackupTask(params.fd,
                         params.observer, params.includeApks,
                         params.includeShared, params.curPassword, params.encryptPassword,
-                        params.allApps, params.packages, params.latch);
+                        params.allApps, params.includeSystem, params.packages, params.latch);
                 (new Thread(task)).start();
                 break;
             }
@@ -2160,6 +2163,7 @@
         boolean mIncludeApks;
         boolean mIncludeShared;
         boolean mAllApps;
+        final boolean mIncludeSystem;
         String[] mPackages;
         String mCurrentPassword;
         String mEncryptPassword;
@@ -2218,13 +2222,14 @@
 
         PerformFullBackupTask(ParcelFileDescriptor fd, IFullBackupRestoreObserver observer, 
                 boolean includeApks, boolean includeShared, String curPassword,
-                String encryptPassword, boolean doAllApps, String[] packages,
+                String encryptPassword, boolean doAllApps, boolean doSystem, String[] packages,
                 AtomicBoolean latch) {
             mOutputFile = fd;
             mObserver = observer;
             mIncludeApks = includeApks;
             mIncludeShared = includeShared;
             mAllApps = doAllApps;
+            mIncludeSystem = doSystem;
             mPackages = packages;
             mCurrentPassword = curPassword;
             // when backing up, if there is a current backup password, we require that
@@ -2244,7 +2249,7 @@
 
         @Override
         public void run() {
-            final List<PackageInfo> packagesToBackup;
+            List<PackageInfo> packagesToBackup = new ArrayList<PackageInfo>();
 
             Slog.i(TAG, "--- Performing full-dataset backup ---");
             sendStartBackup();
@@ -2253,8 +2258,23 @@
             if (mAllApps) {
                 packagesToBackup = mPackageManager.getInstalledPackages(
                         PackageManager.GET_SIGNATURES);
-            } else {
-                packagesToBackup = new ArrayList<PackageInfo>();
+                // Exclude system apps if we've been asked to do so
+                if (mIncludeSystem == false) {
+                    for (int i = 0; i < packagesToBackup.size(); ) {
+                        PackageInfo pkg = packagesToBackup.get(i);
+                        if ((pkg.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0) {
+                            packagesToBackup.remove(i);
+                        } else {
+                            i++;
+                        }
+                    }
+                }
+            }
+
+            // Now process the command line argument packages, if any. Note that explicitly-
+            // named system-partition packages will be included even if includeSystem was
+            // set to false.
+            if (mPackages != null) {
                 for (String pkgName : mPackages) {
                     try {
                         packagesToBackup.add(mPackageManager.getPackageInfo(pkgName,
@@ -2267,8 +2287,8 @@
 
             // Cull any packages that have indicated that backups are not permitted.
             for (int i = 0; i < packagesToBackup.size(); ) {
-                PackageInfo info = packagesToBackup.get(i);
-                if ((info.applicationInfo.flags & ApplicationInfo.FLAG_ALLOW_BACKUP) == 0) {
+                PackageInfo pkg = packagesToBackup.get(i);
+                if ((pkg.applicationInfo.flags & ApplicationInfo.FLAG_ALLOW_BACKUP) == 0) {
                     packagesToBackup.remove(i);
                 } else {
                     i++;
@@ -3379,7 +3399,8 @@
                 Uri packageUri = Uri.fromFile(apkFile);
                 mInstallObserver.reset();
                 mPackageManager.installPackage(packageUri, mInstallObserver,
-                        PackageManager.INSTALL_REPLACE_EXISTING, installerPackage);
+                        PackageManager.INSTALL_REPLACE_EXISTING | PackageManager.INSTALL_FROM_ADB,
+                        installerPackage);
                 mInstallObserver.waitForCompletion();
 
                 if (mInstallObserver.getResult() != PackageManager.INSTALL_SUCCEEDED) {
@@ -4770,11 +4791,16 @@
         }
     }
 
+    boolean deviceIsProvisioned() {
+        final ContentResolver resolver = mContext.getContentResolver();
+        return (Settings.Secure.getInt(resolver, Settings.Secure.DEVICE_PROVISIONED, 0) != 0);
+    }
+
     // Run a *full* backup pass for the given package, writing the resulting data stream
     // to the supplied file descriptor.  This method is synchronous and does not return
     // to the caller until the backup has been completed.
     public void fullBackup(ParcelFileDescriptor fd, boolean includeApks, boolean includeShared,
-            boolean doAllApps, String[] pkgList) {
+            boolean doAllApps, boolean includeSystem, String[] pkgList) {
         mContext.enforceCallingPermission(android.Manifest.permission.BACKUP, "fullBackup");
 
         // Validate
@@ -4790,14 +4816,21 @@
             }
         }
 
-        if (DEBUG) Slog.v(TAG, "Requesting full backup: apks=" + includeApks
-                + " shared=" + includeShared + " all=" + doAllApps
-                + " pkgs=" + pkgList);
-
         long oldId = Binder.clearCallingIdentity();
         try {
+            // Doesn't make sense to do a full backup prior to setup
+            if (!deviceIsProvisioned()) {
+                Slog.i(TAG, "Full backup not supported before setup");
+                return;
+            }
+
+            if (DEBUG) Slog.v(TAG, "Requesting full backup: apks=" + includeApks
+                    + " shared=" + includeShared + " all=" + doAllApps
+                    + " pkgs=" + pkgList);
+            Slog.i(TAG, "Beginning full backup...");
+
             FullBackupParams params = new FullBackupParams(fd, includeApks, includeShared,
-                    doAllApps, pkgList);
+                    doAllApps, includeSystem, pkgList);
             final int token = generateToken();
             synchronized (mFullConfirmations) {
                 mFullConfirmations.put(token, params);
@@ -4827,17 +4860,25 @@
                 // just eat it
             }
             Binder.restoreCallingIdentity(oldId);
+            Slog.d(TAG, "Full backup processing complete.");
         }
-        if (MORE_DEBUG) Slog.d(TAG, "Full backup done; returning to caller");
     }
 
     public void fullRestore(ParcelFileDescriptor fd) {
         mContext.enforceCallingPermission(android.Manifest.permission.BACKUP, "fullRestore");
-        Slog.i(TAG, "Beginning full restore...");
 
         long oldId = Binder.clearCallingIdentity();
 
         try {
+            // Check whether the device has been provisioned -- we don't handle
+            // full restores prior to completing the setup process.
+            if (!deviceIsProvisioned()) {
+                Slog.i(TAG, "Full restore not permitted before setup");
+                return;
+            }
+
+            Slog.i(TAG, "Beginning full restore...");
+
             FullRestoreParams params = new FullRestoreParams(fd);
             final int token = generateToken();
             synchronized (mFullConfirmations) {
@@ -4868,7 +4909,7 @@
                 Slog.w(TAG, "Error trying to close fd after full restore: " + e);
             }
             Binder.restoreCallingIdentity(oldId);
-            Slog.i(TAG, "Full restore completed");
+            Slog.i(TAG, "Full restore processing complete.");
         }
     }
 
@@ -5574,6 +5615,16 @@
     }
 
     private void dumpInternal(PrintWriter pw) {
+        if (mContext.checkCallingOrSelfPermission(android.Manifest.permission.DUMP)
+                != PackageManager.PERMISSION_GRANTED) {
+            pw.println("Permission Denial: can't dump Backup Manager service from from pid="
+                    + Binder.getCallingPid()
+                    + ", uid=" + Binder.getCallingUid()
+                    + " without permission "
+                    + android.Manifest.permission.DUMP);
+            return;
+        }
+
         synchronized (mQueueLock) {
             pw.println("Backup Manager is " + (mEnabled ? "enabled" : "disabled")
                     + " / " + (!mProvisioned ? "not " : "") + "provisioned / "
diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java
index 0153613..8112b1d 100644
--- a/services/java/com/android/server/ConnectivityService.java
+++ b/services/java/com/android/server/ConnectivityService.java
@@ -35,6 +35,7 @@
 import android.net.IConnectivityManager;
 import android.net.INetworkPolicyListener;
 import android.net.INetworkPolicyManager;
+import android.net.INetworkStatsService;
 import android.net.LinkAddress;
 import android.net.LinkProperties;
 import android.net.LinkProperties.CompareResult;
@@ -306,8 +307,8 @@
     // the set of network types that can only be enabled by system/sig apps
     List mProtectedNetworks;
 
-    public ConnectivityService(
-            Context context, INetworkManagementService netd, INetworkPolicyManager policyManager) {
+    public ConnectivityService(Context context, INetworkManagementService netd,
+            INetworkStatsService statsService, INetworkPolicyManager policyManager) {
         if (DBG) log("ConnectivityService starting up");
 
         HandlerThread handlerThread = new HandlerThread("ConnectivityServiceThread");
@@ -319,7 +320,7 @@
             String id = Settings.Secure.getString(context.getContentResolver(),
                     Settings.Secure.ANDROID_ID);
             if (id != null && id.length() > 0) {
-                String name = new String("android_").concat(id);
+                String name = new String("android-").concat(id);
                 SystemProperties.set("net.hostname", name);
             }
         }
@@ -496,7 +497,7 @@
         IBinder b = ServiceManager.getService(Context.NETWORKMANAGEMENT_SERVICE);
         INetworkManagementService nmService = INetworkManagementService.Stub.asInterface(b);
 
-        mTethering = new Tethering(mContext, nmService, mHandler.getLooper());
+        mTethering = new Tethering(mContext, nmService, statsService, mHandler.getLooper());
         mTetheringConfigValid = ((mTethering.getTetherableUsbRegexs().length != 0 ||
                                   mTethering.getTetherableWifiRegexs().length != 0 ||
                                   mTethering.getTetherableBluetoothRegexs().length != 0) &&
@@ -1974,8 +1975,7 @@
                     Integer pid = (Integer)pids.get(j);
                     if (pid.intValue() == myPid) {
                         Collection<InetAddress> dnses = p.getDnses();
-                        String proto = determineProto(p);
-                        writePidDns(dnses, myPid, proto);
+                        writePidDns(dnses, myPid);
                         if (doBump) {
                             bumpDns();
                         }
@@ -1985,9 +1985,6 @@
            }
         }
         // nothing found - delete
-        if (SystemProperties.get("net.dnsproto." + myPid).length() != 0) {
-            SystemProperties.set("net.dnsproto." + myPid, "");
-        }
         for (int i = 1; ; i++) {
             String prop = "net.dns" + i + "." + myPid;
             if (SystemProperties.get(prop).length() == 0) {
@@ -2001,7 +1998,7 @@
     }
 
     // return true if results in a change
-    private boolean writePidDns(Collection <InetAddress> dnses, int pid, String proto) {
+    private boolean writePidDns(Collection <InetAddress> dnses, int pid) {
         int j = 1;
         boolean changed = false;
         for (InetAddress dns : dnses) {
@@ -2011,11 +2008,6 @@
                 SystemProperties.set("net.dns" + j++ + "." + pid, dns.getHostAddress());
             }
         }
-        if (dnses.size() > 0 && (changed || !proto.equals(SystemProperties.get("net.dnsproto." +
-                pid)))) {
-            changed = true;
-            SystemProperties.set("net.dnsproto." + pid, proto);
-        }
         return changed;
     }
 
@@ -2046,7 +2038,7 @@
 
     // Caller must grab mDnsLock.
     private boolean updateDns(String network, String iface,
-            Collection<InetAddress> dnses, String domains, String proto) {
+            Collection<InetAddress> dnses, String domains) {
         boolean changed = false;
         int last = 0;
         if (dnses.size() == 0 && mDefaultDns != null) {
@@ -2082,11 +2074,6 @@
         }
         mNumDnsEntries = last;
 
-        if (changed || !proto.equals(SystemProperties.get("net.dnsproto"))) {
-            changed = true;
-            SystemProperties.set("net.dnsproto", proto);
-        }
-
         if (changed) {
             try {
                 mNetd.setDnsServersForInterface(iface, NetworkUtils.makeStrings(dnses));
@@ -2110,14 +2097,11 @@
             if (p == null) return;
             Collection<InetAddress> dnses = p.getDnses();
             boolean changed = false;
-            String proto = determineProto(p);
-
             if (mNetConfigs[netType].isDefault()) {
                 String network = nt.getNetworkInfo().getTypeName();
                 synchronized (mDnsLock) {
                     if (!mDnsOverridden) {
-                        changed = updateDns(network, p.getInterfaceName(), dnses, "",
-                                proto);
+                        changed = updateDns(network, p.getInterfaceName(), dnses, "");
                     }
                 }
             } else {
@@ -2131,35 +2115,13 @@
                 List pids = mNetRequestersPids[netType];
                 for (int y=0; y< pids.size(); y++) {
                     Integer pid = (Integer)pids.get(y);
-                    changed = writePidDns(dnses, pid.intValue(), proto);
+                    changed = writePidDns(dnses, pid.intValue());
                 }
             }
             if (changed) bumpDns();
         }
     }
 
-    private String determineProto(LinkProperties p) {
-        boolean v4 = false;
-        boolean v6 = false;
-        for (RouteInfo r : p.getRoutes()) {
-            if (r.getDestination().getAddress() instanceof Inet6Address) {
-                v6 = true;
-            } else {
-                v4 = true;
-            }
-        }
-        // secondary connections often don't have routes and we infer routes
-        // to the dns servers.  Look at the dns addrs too
-        for (InetAddress i : p.getDnses()) {
-            if (i instanceof Inet6Address) {
-                v6 = true;
-            } else {
-                v4 = true;
-            }
-        }
-        return (v4 ? "v4" : "") + (v6 ? "v6" : "");
-    }
-
     private int getRestoreDefaultNetworkDelay(int networkType) {
         String restoreDefaultNetworkDelayStr = SystemProperties.get(
                 NETWORK_RESTORE_DELAY_PROP_NAME);
@@ -2881,7 +2843,7 @@
             // Apply DNS changes.
             boolean changed = false;
             synchronized (mDnsLock) {
-                changed = updateDns("VPN", "VPN", addresses, domains, "v4");
+                changed = updateDns("VPN", "VPN", addresses, domains);
                 mDnsOverridden = true;
             }
             if (changed) {
diff --git a/services/java/com/android/server/EventLogTags.logtags b/services/java/com/android/server/EventLogTags.logtags
index 99f6b8e..a7eff93 100644
--- a/services/java/com/android/server/EventLogTags.logtags
+++ b/services/java/com/android/server/EventLogTags.logtags
@@ -142,5 +142,5 @@
 # ---------------------------
 # NetworkStatsService.java
 # ---------------------------
-51100 netstats_mobile_sample (iface_rx_bytes|2|2),(iface_tx_bytes|2|2),(iface_rx_pkts|2|1),(iface_tx_pkts|2|1),(uid_rx_bytes|2|2),(uid_tx_bytes|2|2),(uid_rx_pkts|2|1),(uid_tx_pkts|2|1)
-51101 netstats_wifi_sample (iface_rx_bytes|2|2),(iface_tx_bytes|2|2),(iface_rx_pkts|2|1),(iface_tx_pkts|2|1),(uid_rx_bytes|2|2),(uid_tx_bytes|2|2),(uid_rx_pkts|2|1),(uid_tx_pkts|2|1)
+51100 netstats_mobile_sample (dev_rx_bytes|2|2),(dev_tx_bytes|2|2),(dev_rx_pkts|2|1),(dev_tx_pkts|2|1),(xt_rx_bytes|2|2),(xt_tx_bytes|2|2),(xt_rx_pkts|2|1),(xt_tx_pkts|2|1),(uid_rx_bytes|2|2),(uid_tx_bytes|2|2),(uid_rx_pkts|2|1),(uid_tx_pkts|2|1),(trusted_time|2|3)
+51101 netstats_wifi_sample (dev_rx_bytes|2|2),(dev_tx_bytes|2|2),(dev_rx_pkts|2|1),(dev_tx_pkts|2|1),(xt_rx_bytes|2|2),(xt_tx_bytes|2|2),(xt_rx_pkts|2|1),(xt_tx_pkts|2|1),(uid_rx_bytes|2|2),(uid_tx_bytes|2|2),(uid_rx_pkts|2|1),(uid_tx_pkts|2|1),(trusted_time|2|3)
diff --git a/services/java/com/android/server/InputMethodManagerService.java b/services/java/com/android/server/InputMethodManagerService.java
index 146bc94..3e1fb9f 100644
--- a/services/java/com/android/server/InputMethodManagerService.java
+++ b/services/java/com/android/server/InputMethodManagerService.java
@@ -1362,13 +1362,14 @@
             mInputShown = true;
             res = true;
         } else if (mHaveConnection && SystemClock.uptimeMillis()
-                < (mLastBindTime+TIME_TO_RECONNECT)) {
+                >= (mLastBindTime+TIME_TO_RECONNECT)) {
             // The client has asked to have the input method shown, but
             // we have been sitting here too long with a connection to the
             // service and no interface received, so let's disconnect/connect
             // to try to prod things along.
             EventLog.writeEvent(EventLogTags.IMF_FORCE_RECONNECT_IME, mCurMethodId,
                     SystemClock.uptimeMillis()-mLastBindTime,1);
+            Slog.w(TAG, "Force disconnect/connect to the IME in showCurrentInputLocked()");
             mContext.unbindService(this);
             mContext.bindService(mCurIntent, this, Context.BIND_AUTO_CREATE);
         }
@@ -2425,7 +2426,7 @@
         final List<InputMethodSubtype> subtypes = getSubtypes(imi);
         final String systemLocale = res.getConfiguration().locale.toString();
         if (TextUtils.isEmpty(systemLocale)) return new ArrayList<InputMethodSubtype>();
-        HashMap<String, InputMethodSubtype> applicableModeAndSubtypesMap =
+        final HashMap<String, InputMethodSubtype> applicableModeAndSubtypesMap =
                 new HashMap<String, InputMethodSubtype>();
         final int N = subtypes.size();
         boolean containsKeyboardSubtype = false;
@@ -2443,7 +2444,7 @@
             return new ArrayList<InputMethodSubtype>(applicableModeAndSubtypesMap.values());
         }
         for (int i = 0; i < N; ++i) {
-            InputMethodSubtype subtype = subtypes.get(i);
+            final InputMethodSubtype subtype = subtypes.get(i);
             final String locale = subtype.getLocale();
             final String mode = subtype.getMode();
             // When system locale starts with subtype's locale, that subtype will be applicable
@@ -2455,10 +2456,12 @@
             // need to find applicable subtypes aggressively unlike
             // findLastResortApplicableSubtypeLocked.
             if (systemLocale.startsWith(locale)) {
-                InputMethodSubtype applicableSubtype = applicableModeAndSubtypesMap.get(mode);
+                final InputMethodSubtype applicableSubtype = applicableModeAndSubtypesMap.get(mode);
                 // If more applicable subtypes are contained, skip.
-                if (applicableSubtype != null
-                        && systemLocale.equals(applicableSubtype.getLocale())) continue;
+                if (applicableSubtype != null) {
+                    if (systemLocale.equals(applicableSubtype.getLocale())) continue;
+                    if (!systemLocale.equals(locale)) continue;
+                }
                 applicableModeAndSubtypesMap.put(mode, subtype);
                 if (!containsKeyboardSubtype
                         && SUBTYPE_MODE_KEYBOARD.equalsIgnoreCase(subtype.getMode())) {
diff --git a/services/java/com/android/server/NetworkManagementService.java b/services/java/com/android/server/NetworkManagementService.java
index 6fcf399..f1a404a 100644
--- a/services/java/com/android/server/NetworkManagementService.java
+++ b/services/java/com/android/server/NetworkManagementService.java
@@ -22,6 +22,7 @@
 import static android.net.NetworkStats.SET_DEFAULT;
 import static android.net.NetworkStats.TAG_NONE;
 import static android.net.NetworkStats.UID_ALL;
+import static android.net.TrafficStats.UID_TETHERING;
 import static android.provider.Settings.Secure.NETSTATS_ENABLED;
 import static com.android.server.NetworkManagementSocketTagger.PROP_QTAGUID_ENABLED;
 import static com.android.server.NetworkManagementSocketTagger.kernelToTag;
@@ -85,11 +86,15 @@
     @Deprecated
     private final File mStatsUid;
     /** Path to {@code /proc/net/dev}. */
+    @Deprecated
     private final File mStatsIface;
+    /** Path to {@code /proc/net/xt_qtaguid/iface_stat}. */
+    @Deprecated
+    private final File mStatsXtIface;
+    /** Path to {@code /proc/net/xt_qtaguid/iface_stat_all}. */
+    private final File mStatsXtIfaceAll;
     /** Path to {@code /proc/net/xt_qtaguid/stats}. */
     private final File mStatsXtUid;
-    /** Path to {@code /proc/net/xt_qtaguid/iface_stat}. */
-    private final File mStatsXtIface;
 
     /**
      * Name representing {@link #setGlobalAlert(long)} limit when delivered to
@@ -97,12 +102,17 @@
      */
     public static final String LIMIT_GLOBAL_ALERT = "globalAlert";
 
-    /** {@link #mStatsXtUid} headers. */
+    /** {@link #mStatsXtUid} and {@link #mStatsXtIfaceAll} headers. */
     private static final String KEY_IDX = "idx";
     private static final String KEY_IFACE = "iface";
+    private static final String KEY_ACTIVE = "active";
     private static final String KEY_UID = "uid_tag_int";
     private static final String KEY_COUNTER_SET = "cnt_set";
     private static final String KEY_TAG_HEX = "acct_tag_hex";
+    private static final String KEY_SNAP_RX_BYTES = "snap_rx_bytes";
+    private static final String KEY_SNAP_RX_PACKETS = "snap_rx_packets";
+    private static final String KEY_SNAP_TX_BYTES = "snap_tx_bytes";
+    private static final String KEY_SNAP_TX_PACKETS = "snap_tx_packets";
     private static final String KEY_RX_BYTES = "rx_bytes";
     private static final String KEY_RX_PACKETS = "rx_packets";
     private static final String KEY_TX_BYTES = "tx_bytes";
@@ -169,6 +179,7 @@
         mStatsIface = new File(procRoot, "net/dev");
         mStatsXtUid = new File(procRoot, "net/xt_qtaguid/stats");
         mStatsXtIface = new File(procRoot, "net/xt_qtaguid/iface_stat");
+        mStatsXtIfaceAll = new File(procRoot, "net/xt_qtaguid/iface_stat_all");
 
         if ("simulator".equals(SystemProperties.get("ro.product.device"))) {
             return;
@@ -508,6 +519,28 @@
         }
     }
 
+    public void enableIpv6(String iface) throws IllegalStateException {
+        mContext.enforceCallingOrSelfPermission(
+                android.Manifest.permission.CHANGE_NETWORK_STATE, "NetworkManagementService");
+        try {
+            mConnector.doCommand(String.format("interface ipv6 %s enable", iface));
+        } catch (NativeDaemonConnectorException e) {
+            throw new IllegalStateException(
+                    "Unable to communicate to native daemon for enabling ipv6");
+        }
+    }
+
+    public void disableIpv6(String iface) throws IllegalStateException {
+        mContext.enforceCallingOrSelfPermission(
+                android.Manifest.permission.CHANGE_NETWORK_STATE, "NetworkManagementService");
+        try {
+            mConnector.doCommand(String.format("interface ipv6 %s disable", iface));
+        } catch (NativeDaemonConnectorException e) {
+            throw new IllegalStateException(
+                    "Unable to communicate to native daemon for disabling ipv6");
+        }
+    }
+
     public void addRoute(String interfaceName, RouteInfo route) {
         modifyRoute(interfaceName, ADD, route);
     }
@@ -1049,6 +1082,15 @@
         mContext.enforceCallingOrSelfPermission(
                 android.Manifest.permission.ACCESS_NETWORK_STATE, "NetworkManagementService");
 
+        if (mBandwidthControlEnabled && mStatsXtIfaceAll.exists()) {
+            return getNetworkStatsSummarySingleFile();
+        } else {
+            return getNetworkStatsSummaryMultipleFiles();
+        }
+    }
+
+    @Deprecated
+    private NetworkStats getNetworkStatsSummaryMultipleFiles() {
         final NetworkStats stats = new NetworkStats(SystemClock.elapsedRealtime(), 6);
         final NetworkStats.Entry entry = new NetworkStats.Entry();
 
@@ -1133,6 +1175,61 @@
         return stats;
     }
 
+    private NetworkStats getNetworkStatsSummarySingleFile() {
+        final NetworkStats stats = new NetworkStats(SystemClock.elapsedRealtime(), 6);
+        final NetworkStats.Entry entry = new NetworkStats.Entry();
+
+        // TODO: read directly from proc once headers are added
+        final ArrayList<String> keys = Lists.newArrayList(KEY_IFACE, KEY_ACTIVE, KEY_SNAP_RX_BYTES,
+                KEY_SNAP_RX_PACKETS, KEY_SNAP_TX_BYTES, KEY_SNAP_TX_PACKETS, KEY_RX_BYTES,
+                KEY_RX_PACKETS, KEY_TX_BYTES, KEY_TX_PACKETS);
+        final ArrayList<String> values = Lists.newArrayList();
+        final HashMap<String, String> parsed = Maps.newHashMap();
+
+        BufferedReader reader = null;
+        try {
+            reader = new BufferedReader(new FileReader(mStatsXtIfaceAll));
+
+            String line;
+            while ((line = reader.readLine()) != null) {
+                splitLine(line, values);
+                parseLine(keys, values, parsed);
+
+                entry.iface = parsed.get(KEY_IFACE);
+                entry.uid = UID_ALL;
+                entry.set = SET_DEFAULT;
+                entry.tag = TAG_NONE;
+
+                // always include snapshot values
+                entry.rxBytes = getParsedLong(parsed, KEY_SNAP_RX_BYTES);
+                entry.rxPackets = getParsedLong(parsed, KEY_SNAP_RX_PACKETS);
+                entry.txBytes = getParsedLong(parsed, KEY_SNAP_TX_BYTES);
+                entry.txPackets = getParsedLong(parsed, KEY_SNAP_TX_PACKETS);
+
+                // fold in active numbers, but only when active
+                final boolean active = getParsedInt(parsed, KEY_ACTIVE) != 0;
+                if (active) {
+                    entry.rxBytes += getParsedLong(parsed, KEY_RX_BYTES);
+                    entry.rxPackets += getParsedLong(parsed, KEY_RX_PACKETS);
+                    entry.txBytes += getParsedLong(parsed, KEY_TX_BYTES);
+                    entry.txPackets += getParsedLong(parsed, KEY_TX_PACKETS);
+                }
+
+                stats.addValues(entry);
+            }
+        } catch (NullPointerException e) {
+            throw new IllegalStateException("problem parsing stats: " + e);
+        } catch (NumberFormatException e) {
+            throw new IllegalStateException("problem parsing stats: " + e);
+        } catch (IOException e) {
+            throw new IllegalStateException("problem parsing stats: " + e);
+        } finally {
+            IoUtils.closeQuietly(reader);
+        }
+
+        return stats;
+    }
+
     @Override
     public NetworkStats getNetworkStatsDetail() {
         mContext.enforceCallingOrSelfPermission(
@@ -1500,7 +1597,7 @@
         try {
             final NetworkStats.Entry entry = new NetworkStats.Entry();
             entry.iface = ifaceIn;
-            entry.uid = UID_ALL;
+            entry.uid = UID_TETHERING;
             entry.set = SET_DEFAULT;
             entry.tag = TAG_NONE;
             entry.rxBytes = Long.parseLong(tok[3]);
diff --git a/services/java/com/android/server/PowerManagerService.java b/services/java/com/android/server/PowerManagerService.java
index 0934cd0..78dbbd6 100644
--- a/services/java/com/android/server/PowerManagerService.java
+++ b/services/java/com/android/server/PowerManagerService.java
@@ -79,6 +79,8 @@
     private static final String TAG = "PowerManagerService";
     static final String PARTIAL_NAME = "PowerManagerService";
 
+    static final boolean DEBUG_SCREEN_ON = false;
+
     private static final boolean LOG_PARTIAL_WL = false;
 
     // Indicates whether touch-down cycles should be logged as part of the
@@ -162,6 +164,8 @@
     private final int[] mBroadcastQueue = new int[] { -1, -1, -1 };
     private final int[] mBroadcastWhy = new int[3];
     private boolean mPreparingForScreenOn = false;
+    private boolean mSkippedScreenOn = false;
+    private boolean mInitialized = false;
     private int mPartialCount = 0;
     private int mPowerState;
     // mScreenOffReason can be WindowManagerPolicy.OFF_BECAUSE_OF_USER,
@@ -557,6 +561,10 @@
         nativeInit();
         synchronized (mLocks) {
             updateNativePowerStateLocked();
+            // We make sure to start out with the screen on due to user activity.
+            // (They did just boot their device, after all.)
+            forceUserActivityLocked();
+            mInitialized = true;
         }
     }
 
@@ -1123,7 +1131,8 @@
                     + " " + ((mNextTimeout-now)/1000) + "s from now");
             pw.println("  mDimScreen=" + mDimScreen
                     + " mStayOnConditions=" + mStayOnConditions
-                    + " mPreparingForScreenOn=" + mPreparingForScreenOn);
+                    + " mPreparingForScreenOn=" + mPreparingForScreenOn
+                    + " mSkippedScreenOn=" + mSkippedScreenOn);
             pw.println("  mScreenOffReason=" + mScreenOffReason
                     + " mUserState=" + mUserState);
             pw.println("  mBroadcastQueue={" + mBroadcastQueue[0] + ',' + mBroadcastQueue[1]
@@ -1312,8 +1321,23 @@
         }
     }
 
-    private void sendNotificationLocked(boolean on, int why)
-    {
+    private void sendNotificationLocked(boolean on, int why) {
+        if (!mInitialized) {
+            // No notifications sent until first initialization is done.
+            // This is so that when we are moving from our initial state
+            // which looks like the screen was off to it being on, we do not
+            // go through the process of waiting for the higher-level user
+            // space to be ready before turning up the display brightness.
+            // (And also do not send needless broadcasts about the screen.)
+            return;
+        }
+
+        if (DEBUG_SCREEN_ON) {
+            RuntimeException here = new RuntimeException("here");
+            here.fillInStackTrace();
+            Slog.i(TAG, "sendNotificationLocked: " + on, here);
+        }
+
         if (!on) {
             mStillNeedSleepNotification = false;
         }
@@ -1360,7 +1384,9 @@
 
         // The broadcast queue has changed; make sure the screen is on if it
         // is now possible for it to be.
-        updateNativePowerStateLocked();
+        if (mSkippedScreenOn) {
+            updateLightsLocked(mPowerState, SCREEN_ON_BIT);
+        }
 
         // Now send the message.
         if (index >= 0) {
@@ -1380,7 +1406,7 @@
                     synchronized (mLocks) {
                         if (mPreparingForScreenOn) {
                             mPreparingForScreenOn = false;
-                            updateNativePowerStateLocked();
+                            updateLightsLocked(mPowerState, SCREEN_ON_BIT);
                             EventLog.writeEvent(EventLogTags.POWER_SCREEN_BROADCAST_STOP,
                                     4, mBroadcastWakeLock.mCount);
                             mBroadcastWakeLock.release();
@@ -1453,7 +1479,7 @@
                         synchronized (mLocks) {
                             EventLog.writeEvent(EventLogTags.POWER_SCREEN_BROADCAST_STOP, 3,
                                     mBroadcastWakeLock.mCount);
-                            updateNativePowerStateLocked();
+                            updateLightsLocked(mPowerState, SCREEN_ON_BIT);
                             mBroadcastWakeLock.release();
                         }
                     }
@@ -1646,6 +1672,11 @@
         };
 
     private int setScreenStateLocked(boolean on) {
+        if (DEBUG_SCREEN_ON) {
+            RuntimeException e = new RuntimeException("here");
+            e.fillInStackTrace();
+            Slog.i(TAG, "Set screen state: " + on, e);
+        }
         int err = Power.setScreenState(on);
         if (err == 0) {
             mLastScreenOnTime = (on ? SystemClock.elapsedRealtime() : 0);
@@ -1696,7 +1727,7 @@
             } else {
                 newState &= ~BATTERY_LOW_BIT;
             }
-            if (newState == mPowerState) {
+            if (newState == mPowerState && mInitialized) {
                 return;
             }
 
@@ -1722,10 +1753,7 @@
                          + " newBatteryLow=" + ((newState & BATTERY_LOW_BIT) != 0));
             }
 
-            if (mPowerState != newState) {
-                updateLightsLocked(newState, 0);
-                mPowerState = (mPowerState & ~LIGHTS_MASK) | (newState & LIGHTS_MASK);
-            }
+            final boolean stateChanged = mPowerState != newState;
 
             if (oldScreenOn != newScreenOn) {
                 if (newScreenOn) {
@@ -1777,10 +1805,24 @@
                     EventLog.writeEvent(EventLogTags.POWER_SCREEN_STATE, 1, reason,
                             mTotalTouchDownTime, mTouchCycles);
                     if (err == 0) {
-                        mPowerState |= SCREEN_ON_BIT;
                         sendNotificationLocked(true, -1);
+                        // Update the lights *after* taking care of turning the
+                        // screen on, so we do this after our notifications are
+                        // enqueued and thus will delay turning on the screen light
+                        // until the windows are correctly displayed.
+                        if (stateChanged) {
+                            updateLightsLocked(newState, 0);
+                        }
+                        mPowerState |= SCREEN_ON_BIT;
                     }
+
                 } else {
+                    // Update the lights *before* taking care of turning the
+                    // screen off, so we can initiate any animations that are desired.
+                    if (stateChanged) {
+                        updateLightsLocked(newState, 0);
+                    }
+
                     // cancel light sensor task
                     mHandler.removeCallbacks(mAutoBrightnessTask);
                     mLightSensorPendingDecrease = false;
@@ -1803,30 +1845,18 @@
                         mLastTouchDown = 0;
                     }
                 }
+            } else if (stateChanged) {
+                // Screen on/off didn't change, but lights may have.
+                updateLightsLocked(newState, 0);
             }
-            
+
+            mPowerState = (mPowerState & ~LIGHTS_MASK) | (newState & LIGHTS_MASK);
+
             updateNativePowerStateLocked();
         }
     }
-    
+
     private void updateNativePowerStateLocked() {
-        if ((mPowerState & SCREEN_ON_BIT) != 0) {
-            // Don't turn screen on until we know we are really ready to.
-            // This is to avoid letting the screen go on before things like the
-            // lock screen have been displayed.
-            if (mPreparingForScreenOn) {
-                // Currently waiting for confirmation from the policy that it
-                // is okay to turn on the screen.  Don't allow the screen to go
-                // on until that is done.
-                return;
-            }
-            for (int i=0; i<mBroadcastQueue.length; i++) {
-                if (mBroadcastQueue[i] == 1) {
-                    // A screen on is currently enqueued.
-                    return;
-                }
-            }
-        }
         nativeSetPowerState(
                 (mPowerState & SCREEN_ON_BIT) != 0,
                 (mPowerState & SCREEN_BRIGHT) == SCREEN_BRIGHT);
@@ -1852,8 +1882,43 @@
                 mBatteryService.getBatteryLevel() <= Power.LOW_BATTERY_THRESHOLD);
     }
 
+    private boolean shouldDeferScreenOnLocked() {
+        if (mPreparingForScreenOn) {
+            // Currently waiting for confirmation from the policy that it
+            // is okay to turn on the screen.  Don't allow the screen to go
+            // on until that is done.
+            if (DEBUG_SCREEN_ON) Slog.i(TAG,
+                    "updateLights: delaying screen on due to mPreparingForScreenOn");
+            return true;
+        } else {
+            // If there is a screen-on command in the notification queue, we
+            // can't turn the screen on until it has been processed (and we
+            // have set mPreparingForScreenOn) or it has been dropped.
+            for (int i=0; i<mBroadcastQueue.length; i++) {
+                if (mBroadcastQueue[i] == 1) {
+                    if (DEBUG_SCREEN_ON) Slog.i(TAG,
+                            "updateLights: delaying screen on due to notification queue");
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
     private void updateLightsLocked(int newState, int forceState) {
         final int oldState = mPowerState;
+
+        // If the screen is not currently on, we will want to delay actually
+        // turning the lights on if we are still getting the UI put up.
+        if ((oldState&SCREEN_ON_BIT) == 0 || mSkippedScreenOn) {
+            // Don't turn screen on until we know we are really ready to.
+            // This is to avoid letting the screen go on before things like the
+            // lock screen have been displayed.
+            if ((mSkippedScreenOn=shouldDeferScreenOnLocked())) {
+                newState &= ~(SCREEN_ON_BIT|SCREEN_BRIGHT_BIT);
+            }
+        }
+
         if ((newState & SCREEN_ON_BIT) != 0) {
             // Only turn on the buttons or keyboard if the screen is also on.
             // We should never see the buttons on but not the screen.
@@ -1960,6 +2025,13 @@
             }
             mScreenBrightness.setTargetLocked(brightness, steps,
                     INITIAL_SCREEN_BRIGHTNESS, nominalCurrentValue);
+            if (DEBUG_SCREEN_ON) {
+                RuntimeException e = new RuntimeException("here");
+                e.fillInStackTrace();
+                Slog.i(TAG, "Setting screen brightness: " + brightness, e);
+                mScreenBrightness.setTargetLocked(brightness, steps,
+                        INITIAL_SCREEN_BRIGHTNESS, nominalCurrentValue);
+            }
         }
 
         if (mSpew) {
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java
index cdefa00..5006de7 100644
--- a/services/java/com/android/server/SystemServer.java
+++ b/services/java/com/android/server/SystemServer.java
@@ -370,7 +370,8 @@
 
             try {
                 Slog.i(TAG, "Connectivity Service");
-                connectivity = new ConnectivityService(context, networkManagement, networkPolicy);
+                connectivity = new ConnectivityService(
+                        context, networkManagement, networkStats, networkPolicy);
                 ServiceManager.addService(Context.CONNECTIVITY_SERVICE, connectivity);
                 networkStats.bindConnectivityManager(connectivity);
                 networkPolicy.bindConnectivityManager(connectivity);
diff --git a/services/java/com/android/server/TextServicesManagerService.java b/services/java/com/android/server/TextServicesManagerService.java
index c792b33..ef48b9e 100644
--- a/services/java/com/android/server/TextServicesManagerService.java
+++ b/services/java/com/android/server/TextServicesManagerService.java
@@ -238,7 +238,8 @@
                     }
                 } else if (scs.hashCode() == hashCode) {
                     if (DBG) {
-                        Slog.w(TAG, "Return subtype " + scs.hashCode());
+                        Slog.w(TAG, "Return subtype " + scs.hashCode() + ", input= " + locale
+                                + ", " + scs.getLocale());
                     }
                     return scs;
                 }
diff --git a/services/java/com/android/server/WallpaperManagerService.java b/services/java/com/android/server/WallpaperManagerService.java
index 6ceccaf..253e741 100644
--- a/services/java/com/android/server/WallpaperManagerService.java
+++ b/services/java/com/android/server/WallpaperManagerService.java
@@ -120,7 +120,8 @@
                             notifyCallbacksLocked();
                             if (mWallpaperComponent == null || mImageWallpaperPending) {
                                 mImageWallpaperPending = false;
-                                bindWallpaperComponentLocked(mImageWallpaperComponent, true);
+                                bindWallpaperComponentLocked(mImageWallpaperComponent,
+                                        true, false);
                                 saveSettingsLocked();
                             }
                         }
@@ -201,7 +202,7 @@
                     if (!mWallpaperUpdating && (mLastDiedTime+MIN_WALLPAPER_CRASH_TIME)
                                 > SystemClock.uptimeMillis()) {
                         Slog.w(TAG, "Reverting to built-in wallpaper!");
-                        bindWallpaperComponentLocked(null, true);
+                        clearWallpaperLocked(true);
                     }
                 }
             }
@@ -230,12 +231,26 @@
                     mWallpaperUpdating = false;
                     ComponentName comp = mWallpaperComponent;
                     clearWallpaperComponentLocked();
-                    bindWallpaperComponentLocked(comp, false);
+                    if (!bindWallpaperComponentLocked(comp, false, false)) {
+                        Slog.w(TAG, "Wallpaper no longer available; reverting to default");
+                        clearWallpaperLocked(false);
+                    }
                 }
             }
         }
 
         @Override
+        public void onPackageModified(String packageName) {
+            synchronized (mLock) {
+                if (mWallpaperComponent == null ||
+                        !mWallpaperComponent.getPackageName().equals(packageName)) {
+                    return;
+                }
+            }
+            doPackagesChanged(true);
+        }
+
+        @Override
         public void onPackageUpdateStarted(String packageName, int uid) {
             synchronized (mLock) {
                 if (mWallpaperComponent != null &&
@@ -265,7 +280,7 @@
                         changed = true;
                         if (doit) {
                             Slog.w(TAG, "Wallpaper uninstalled, removing: " + mWallpaperComponent);
-                            clearWallpaperLocked();
+                            clearWallpaperLocked(false);
                         }
                     }
                 }
@@ -283,7 +298,7 @@
                                 mWallpaperComponent, 0);
                     } catch (NameNotFoundException e) {
                         Slog.w(TAG, "Wallpaper component gone, removing: " + mWallpaperComponent);
-                        clearWallpaperLocked();
+                        clearWallpaperLocked(false);
                     }
                 }
                 if (mNextWallpaperComponent != null
@@ -321,45 +336,51 @@
     public void systemReady() {
         if (DEBUG) Slog.v(TAG, "systemReady");
         synchronized (mLock) {
+            RuntimeException e = null;
             try {
-                bindWallpaperComponentLocked(mNextWallpaperComponent, false);
-            } catch (RuntimeException e) {
-                Slog.w(TAG, "Failure starting previous wallpaper", e);
-                try {
-                    bindWallpaperComponentLocked(null, false);
-                } catch (RuntimeException e2) {
-                    Slog.w(TAG, "Failure starting default wallpaper", e2);
-                    clearWallpaperComponentLocked();
+                if (bindWallpaperComponentLocked(mNextWallpaperComponent, false, false)) {
+                    return;
                 }
+            } catch (RuntimeException e1) {
+                e = e1;
             }
+            Slog.w(TAG, "Failure starting previous wallpaper", e);
+            clearWallpaperLocked(false);
         }
     }
     
     public void clearWallpaper() {
         if (DEBUG) Slog.v(TAG, "clearWallpaper");
         synchronized (mLock) {
-            clearWallpaperLocked();
+            clearWallpaperLocked(false);
         }
     }
 
-    public void clearWallpaperLocked() {
+    public void clearWallpaperLocked(boolean defaultFailed) {
         File f = WALLPAPER_FILE;
         if (f.exists()) {
             f.delete();
         }
         final long ident = Binder.clearCallingIdentity();
+        RuntimeException e = null;
         try {
             mImageWallpaperPending = false;
-            bindWallpaperComponentLocked(null, false);
-        } catch (IllegalArgumentException e) {
-            // This can happen if the default wallpaper component doesn't
-            // exist.  This should be a system configuration problem, but
-            // let's not let it crash the system and just live with no
-            // wallpaper.
-            Slog.e(TAG, "Default wallpaper component not found!", e);
+            if (bindWallpaperComponentLocked(defaultFailed
+                    ? mImageWallpaperComponent : null, true, false)) {
+                return;
+            }
+        } catch (IllegalArgumentException e1) {
+            e = e1;
         } finally {
             Binder.restoreCallingIdentity(ident);
         }
+        
+        // This can happen if the default wallpaper component doesn't
+        // exist.  This should be a system configuration problem, but
+        // let's not let it crash the system and just live with no
+        // wallpaper.
+        Slog.e(TAG, "Default wallpaper component not found!", e);
+        clearWallpaperComponentLocked();
     }
 
     public void setDimensionHints(int width, int height) throws RemoteException {
@@ -469,14 +490,14 @@
             final long ident = Binder.clearCallingIdentity();
             try {
                 mImageWallpaperPending = false;
-                bindWallpaperComponentLocked(name, false);
+                bindWallpaperComponentLocked(name, false, true);
             } finally {
                 Binder.restoreCallingIdentity(ident);
             }
         }
     }
     
-    void bindWallpaperComponentLocked(ComponentName componentName, boolean force) {
+    boolean bindWallpaperComponentLocked(ComponentName componentName, boolean force, boolean fromUser) {
         if (DEBUG) Slog.v(TAG, "bindWallpaperComponentLocked: componentName=" + componentName);
         
         // Has the component changed?
@@ -486,12 +507,12 @@
                     if (componentName == null) {
                         if (DEBUG) Slog.v(TAG, "bindWallpaperComponentLocked: still using default");
                         // Still using default wallpaper.
-                        return;
+                        return true;
                     }
                 } else if (mWallpaperComponent.equals(componentName)) {
                     // Changing to same wallpaper.
                     if (DEBUG) Slog.v(TAG, "same wallpaper");
-                    return;
+                    return true;
                 }
             }
         }
@@ -516,9 +537,14 @@
             ServiceInfo si = mContext.getPackageManager().getServiceInfo(componentName,
                     PackageManager.GET_META_DATA | PackageManager.GET_PERMISSIONS);
             if (!android.Manifest.permission.BIND_WALLPAPER.equals(si.permission)) {
-                throw new SecurityException("Selected service does not require "
+                String msg = "Selected service does not require "
                         + android.Manifest.permission.BIND_WALLPAPER
-                        + ": " + componentName);
+                        + ": " + componentName;
+                if (fromUser) {
+                    throw new SecurityException(msg);
+                }
+                Slog.w(TAG, msg);
+                return false;
             }
             
             WallpaperInfo wi = null;
@@ -535,16 +561,29 @@
                         try {
                             wi = new WallpaperInfo(mContext, ris.get(i));
                         } catch (XmlPullParserException e) {
-                            throw new IllegalArgumentException(e);
+                            if (fromUser) {
+                                throw new IllegalArgumentException(e);
+                            }
+                            Slog.w(TAG, e);
+                            return false;
                         } catch (IOException e) {
-                            throw new IllegalArgumentException(e);
+                            if (fromUser) {
+                                throw new IllegalArgumentException(e);
+                            }
+                            Slog.w(TAG, e);
+                            return false;
                         }
                         break;
                     }
                 }
                 if (wi == null) {
-                    throw new SecurityException("Selected service is not a wallpaper: "
-                            + componentName);
+                    String msg = "Selected service is not a wallpaper: "
+                            + componentName;
+                    if (fromUser) {
+                        throw new SecurityException(msg);
+                    }
+                    Slog.w(TAG, msg);
+                    return false;
                 }
             }
             
@@ -561,8 +600,13 @@
                             0));
             if (!mContext.bindService(intent, newConn,
                     Context.BIND_AUTO_CREATE)) {
-                throw new IllegalArgumentException("Unable to bind service: "
-                        + componentName);
+                String msg = "Unable to bind service: "
+                        + componentName;
+                if (fromUser) {
+                    throw new IllegalArgumentException(msg);
+                }
+                Slog.w(TAG, msg);
+                return false;
             }
             
             clearWallpaperComponentLocked();
@@ -577,8 +621,14 @@
             }
             
         } catch (PackageManager.NameNotFoundException e) {
-            throw new IllegalArgumentException("Unknown component " + componentName);
+            String msg = "Unknown component " + componentName;
+            if (fromUser) {
+                throw new IllegalArgumentException(msg);
+            }
+            Slog.w(TAG, msg);
+            return false;
         }
+        return true;
     }
     
     void clearWallpaperComponentLocked() {
@@ -611,7 +661,7 @@
         } catch (RemoteException e) {
             Slog.w(TAG, "Failed attaching wallpaper; clearing", e);
             if (!mWallpaperUpdating) {
-                bindWallpaperComponentLocked(null, false);
+                bindWallpaperComponentLocked(null, false, false);
             }
         }
     }
@@ -765,13 +815,11 @@
             loadSettingsLocked();
             if (mNextWallpaperComponent != null && 
                     !mNextWallpaperComponent.equals(mImageWallpaperComponent)) {
-                try {
-                    bindWallpaperComponentLocked(mNextWallpaperComponent, false);
-                } catch (IllegalArgumentException e) {
+                if (!bindWallpaperComponentLocked(mNextWallpaperComponent, false, false)) {
                     // No such live wallpaper or other failure; fall back to the default
                     // live wallpaper (since the profile being restored indicated that the
                     // user had selected a live rather than static one).
-                    bindWallpaperComponentLocked(null, false);
+                    bindWallpaperComponentLocked(null, false, false);
                 }
                 success = true;
             } else {
@@ -786,7 +834,7 @@
                 }
                 if (DEBUG) Slog.v(TAG, "settingsRestored: success=" + success);
                 if (success) {
-                    bindWallpaperComponentLocked(null, false);
+                    bindWallpaperComponentLocked(null, false, false);
                 }
             }
         }
diff --git a/services/java/com/android/server/WifiService.java b/services/java/com/android/server/WifiService.java
index 883fc71..660681b 100644
--- a/services/java/com/android/server/WifiService.java
+++ b/services/java/com/android/server/WifiService.java
@@ -149,6 +149,8 @@
     private static final int WIFI_ENABLED                   = 1;
     /* Wifi enabled while in airplane mode */
     private static final int WIFI_ENABLED_AIRPLANE_OVERRIDE = 2;
+    /* Wifi disabled due to airplane mode on */
+    private static final int WIFI_DISABLED_AIRPLANE_ON      = 3;
 
     private AtomicInteger mWifiState = new AtomicInteger(WIFI_DISABLED);
     private AtomicBoolean mAirplaneModeOn = new AtomicBoolean(false);
@@ -478,14 +480,19 @@
 
     private void persistWifiEnabled(boolean enabled) {
         final ContentResolver cr = mContext.getContentResolver();
+        boolean airplane = mAirplaneModeOn.get() && isAirplaneToggleable();
         if (enabled) {
-            if (isAirplaneModeOn() && isAirplaneToggleable()) {
+            if (airplane) {
                 mWifiState.set(WIFI_ENABLED_AIRPLANE_OVERRIDE);
             } else {
                 mWifiState.set(WIFI_ENABLED);
             }
         } else {
-            mWifiState.set(WIFI_DISABLED);
+            if (airplane) {
+                mWifiState.set(WIFI_DISABLED_AIRPLANE_ON);
+            } else {
+                mWifiState.set(WIFI_DISABLED);
+            }
         }
         Settings.Secure.putInt(cr, Settings.Secure.WIFI_ON, mWifiState.get());
     }
diff --git a/services/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/java/com/android/server/accessibility/AccessibilityManagerService.java
index 6830055..ed8fa40 100644
--- a/services/java/com/android/server/accessibility/AccessibilityManagerService.java
+++ b/services/java/com/android/server/accessibility/AccessibilityManagerService.java
@@ -718,8 +718,14 @@
      */
     private void manageServicesLocked() {
         populateEnabledServicesLocked(mEnabledServices);
-        updateServicesStateLocked(mInstalledServices, mEnabledServices);
-        disableAccessibilityIfNoEnabledServices(mEnabledServices);
+        final int enabledInstalledServicesCount = updateServicesStateLocked(mInstalledServices,
+                mEnabledServices);
+        // No enabled installed services => disable accessibility to avoid
+        // sending accessibility events with no recipient across processes. 
+        if (mIsAccessibilityEnabled && enabledInstalledServicesCount == 0) {
+            Settings.Secure.putInt(mContext.getContentResolver(),
+                    Settings.Secure.ACCESSIBILITY_ENABLED, 0);
+        }
     }
 
     /**
@@ -771,13 +777,15 @@
      *
      * @param installedServices All installed {@link AccessibilityService}s.
      * @param enabledServices The {@link ComponentName}s of the enabled services.
+     * @return The number of enabled installed services.
      */
-    private void updateServicesStateLocked(List<AccessibilityServiceInfo> installedServices,
+    private int updateServicesStateLocked(List<AccessibilityServiceInfo> installedServices,
             Set<ComponentName> enabledServices) {
 
         Map<ComponentName, Service> componentNameToServiceMap = mComponentNameToServiceMap;
         boolean isEnabled = mIsAccessibilityEnabled;
 
+        int enabledInstalledServices = 0;
         for (int i = 0, count = installedServices.size(); i < count; i++) {
             AccessibilityServiceInfo installedService = installedServices.get(i);
             ComponentName componentName = ComponentName.unflattenFromString(
@@ -790,6 +798,7 @@
                         service = new Service(componentName, installedService, false);
                     }
                     service.bind();
+                    enabledInstalledServices++;
                 } else {
                     if (service != null) {
                         service.unbind();
@@ -801,19 +810,8 @@
                 }
             }
         }
-    }
 
-    /**
-     * Disables accessibility if there are no enabled accessibility services which
-     * to consume the generated accessibility events.
-     *
-     * @param enabledServices The set of enabled services.
-     */
-    private void disableAccessibilityIfNoEnabledServices(Set<ComponentName> enabledServices) {
-        if (enabledServices.isEmpty()) {
-            Settings.Secure.putInt(mContext.getContentResolver(),
-                    Settings.Secure.ACCESSIBILITY_ENABLED, 0);
-        }
+        return enabledInstalledServices;
     }
 
     /**
diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java
index 41af137..d038d76 100644
--- a/services/java/com/android/server/am/ActivityManagerService.java
+++ b/services/java/com/android/server/am/ActivityManagerService.java
@@ -1318,6 +1318,14 @@
 
         @Override
         protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
+            if (mActivityManagerService.checkCallingPermission(android.Manifest.permission.DUMP)
+                    != PackageManager.PERMISSION_GRANTED) {
+                pw.println("Permission Denial: can't dump meminfo from from pid="
+                        + Binder.getCallingPid() + ", uid=" + Binder.getCallingUid()
+                        + " without permission " + android.Manifest.permission.DUMP);
+                return;
+            }
+
             mActivityManagerService.dumpApplicationMemoryUsage(fd, pw, "  ", args);
         }
     }
@@ -1330,6 +1338,14 @@
 
         @Override
         protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
+            if (mActivityManagerService.checkCallingPermission(android.Manifest.permission.DUMP)
+                    != PackageManager.PERMISSION_GRANTED) {
+                pw.println("Permission Denial: can't dump gfxinfo from from pid="
+                        + Binder.getCallingPid() + ", uid=" + Binder.getCallingUid()
+                        + " without permission " + android.Manifest.permission.DUMP);
+                return;
+            }
+
             mActivityManagerService.dumpGraphicsHardwareUsage(fd, pw, args);
         }
     }
@@ -1342,6 +1358,14 @@
 
         @Override
         protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
+            if (mActivityManagerService.checkCallingPermission(android.Manifest.permission.DUMP)
+                    != PackageManager.PERMISSION_GRANTED) {
+                pw.println("Permission Denial: can't dump cpuinfo from from pid="
+                        + Binder.getCallingPid() + ", uid=" + Binder.getCallingUid()
+                        + " without permission " + android.Manifest.permission.DUMP);
+                return;
+            }
+
             synchronized (mActivityManagerService.mProcessStatsThread) {
                 pw.print(mActivityManagerService.mProcessStats.printCurrentLoad());
                 pw.print(mActivityManagerService.mProcessStats.printCurrentState(
@@ -1631,8 +1655,8 @@
         }
         if (app.conProviders.size() > 0) {
             for (ContentProviderRecord cpr : app.conProviders.keySet()) {
-                if (cpr.app != null && cpr.app.lruSeq != mLruSeq) {
-                    updateLruProcessInternalLocked(cpr.app, oomAdj,
+                if (cpr.proc != null && cpr.proc.lruSeq != mLruSeq) {
+                    updateLruProcessInternalLocked(cpr.proc, oomAdj,
                             updateActivityTime, i+1);
                 }
             }
@@ -3334,6 +3358,11 @@
             if ((samePackage || r.task == lastTask)
                     && (r.app == null || evenPersistent || !r.app.persistent)) {
                 if (!doit) {
+                    if (r.finishing) {
+                        // If this activity is just finishing, then it is not
+                        // interesting as far as something to stop.
+                        continue;
+                    }
                     return true;
                 }
                 didSomething = true;
@@ -3373,7 +3402,24 @@
         for (i=0; i<N; i++) {
             bringDownServiceLocked(services.get(i), true);
         }
-        
+
+        ArrayList<ContentProviderRecord> providers = new ArrayList<ContentProviderRecord>();
+        for (ContentProviderRecord provider : mProvidersByClass.values()) {
+            if (provider.info.packageName.equals(name)
+                    && (provider.proc == null || evenPersistent || !provider.proc.persistent)) {
+                if (!doit) {
+                    return true;
+                }
+                didSomething = true;
+                providers.add(provider);
+            }
+        }
+
+        N = providers.size();
+        for (i=0; i<N; i++) {
+            removeDyingProviderLocked(null, providers.get(i));
+        }
+
         if (doit) {
             if (purgeCache) {
                 AttributeCache ac = AttributeCache.instance();
@@ -3382,6 +3428,7 @@
                 }
             }
             mMainStack.resumeTopActivityLocked(null);
+            mMainStack.scheduleIdleLocked();
         }
         
         return didSomething;
@@ -3761,6 +3808,12 @@
         mWindowManager.showBootMessage(msg, always);
     }
 
+    public void dismissKeyguardOnNextActivity() {
+        synchronized (this) {
+            mMainStack.dismissKeyguardOnNextActivityLocked();
+        }
+    }
+
     final void finishBooting() {
         IntentFilter pkgFilter = new IntentFilter();
         pkgFilter.addAction(Intent.ACTION_QUERY_PACKAGE_RESTART);
@@ -5485,7 +5538,7 @@
                 ComponentName comp = new ComponentName(cpi.packageName, cpi.name);
                 ContentProviderRecord cpr = mProvidersByClass.get(comp);
                 if (cpr == null) {
-                    cpr = new ContentProviderRecord(cpi, app.info);
+                    cpr = new ContentProviderRecord(cpi, app.info, comp);
                     mProvidersByClass.put(comp, cpr);
                 }
                 app.pubProviders.put(cpi.name, cpr);
@@ -5643,25 +5696,25 @@
                 // return it right away.
                 final boolean countChanged = incProviderCount(r, cpr);
                 if (countChanged) {
-                    if (cpr.app != null && r.setAdj <= ProcessList.PERCEPTIBLE_APP_ADJ) {
+                    if (cpr.proc != null && r.setAdj <= ProcessList.PERCEPTIBLE_APP_ADJ) {
                         // If this is a perceptible 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);
+                        updateLruProcessLocked(cpr.proc, false, true);
                     }
                 }
 
-                if (cpr.app != null) {
+                if (cpr.proc != null) {
                     if (false) {
                         if (cpr.name.flattenToShortString().equals(
                                 "com.android.providers.calendar/.CalendarProvider2")) {
                             Slog.v(TAG, "****************** KILLING "
                                 + cpr.name.flattenToShortString());
-                            Process.killProcess(cpr.app.pid);
+                            Process.killProcess(cpr.proc.pid);
                         }
                     }
-                    boolean success = updateOomAdjLocked(cpr.app);
+                    boolean success = updateOomAdjLocked(cpr.proc);
                     if (DEBUG_PROVIDER) Slog.i(TAG, "Adjust success: " + success);
                     // NOTE: there is still a race here where a signal could be
                     // pending on the process even though we managed to update its
@@ -5676,7 +5729,7 @@
                                 "Existing provider " + cpr.name.flattenToShortString()
                                 + " is crashing; detaching " + r);
                         boolean lastRef = decProviderCount(r, cpr);
-                        appDiedLocked(cpr.app, cpr.app.pid, cpr.app.thread);
+                        appDiedLocked(cpr.proc, cpr.proc.pid, cpr.proc.thread);
                         if (!lastRef) {
                             // This wasn't the last ref our process had on
                             // the provider...  we have now been killed, bail.
@@ -5729,7 +5782,7 @@
                                     + cpi.name);
                             return null;
                         }
-                        cpr = new ContentProviderRecord(cpi, ai);
+                        cpr = new ContentProviderRecord(cpi, ai, comp);
                     } catch (RemoteException ex) {
                         // pm is in same process, this will never happen.
                     }
@@ -5864,7 +5917,7 @@
             //update content provider record entry info
             ComponentName comp = new ComponentName(cpr.info.packageName, cpr.info.name);
             ContentProviderRecord localCpr = mProvidersByClass.get(comp);
-            if (localCpr.app == r) {
+            if (localCpr.proc == r) {
                 //should not happen. taken care of as a local provider
                 Slog.w(TAG, "removeContentProvider called on local provider: "
                         + cpr.info.name + " in process " + r.processName);
@@ -5940,7 +5993,7 @@
                     }
                     synchronized (dst) {
                         dst.provider = src.provider;
-                        dst.app = r;
+                        dst.proc = r;
                         dst.notifyAll();
                     }
                     updateOomAdjLocked(r);
@@ -7884,6 +7937,8 @@
         if (dumpAll) {
             pw.println("  mLastPausedActivity: " + mMainStack.mLastPausedActivity);
             pw.println("  mSleepTimeout: " + mMainStack.mSleepTimeout);
+            pw.println("  mDismissKeyguardOnNextActivity: "
+                    + mMainStack.mDismissKeyguardOnNextActivity);
         }
 
         if (mRecentTasks.size() > 0) {
@@ -8524,7 +8579,7 @@
                     for (int i=0; i<N; i++) {
                         sb.setLength(0);
                         sb.append("    Intent: ");
-                        intents.get(i).toShortString(sb, true, false);
+                        intents.get(i).toShortString(sb, false, true, false);
                         pw.println(sb.toString());
                         Bundle bundle = intents.get(i).getExtras();
                         if (bundle != null) {
@@ -8706,9 +8761,9 @@
                     r.dump(pw, "      ");
                 } else {
                     pw.print("  * "); pw.print(e.getKey().flattenToShortString());
-                    if (r.app != null) {
+                    if (r.proc != null) {
                         pw.println(":");
-                        pw.print("      "); pw.println(r.app);
+                        pw.print("      "); pw.println(r.proc);
                     } else {
                         pw.println();
                     }
@@ -8817,7 +8872,8 @@
                 } else if (complete) {
                     // Complete + brief == give a summary.  Isn't that obvious?!?
                     if (lastTask.intent != null) {
-                        pw.print(prefix); pw.print("  "); pw.println(lastTask.intent);
+                        pw.print(prefix); pw.print("  ");
+                                pw.println(lastTask.intent.toInsecureString());
                     }
                 }
             }
@@ -8828,7 +8884,7 @@
                 r.dump(pw, innerPrefix);
             } else if (complete) {
                 // Complete + brief == give a summary.  Isn't that obvious?!?
-                pw.print(innerPrefix); pw.println(r.intent);
+                pw.print(innerPrefix); pw.println(r.intent.toInsecureString());
                 if (r.app != null) {
                     pw.print(innerPrefix); pw.println(r.app);
                 }
@@ -9440,7 +9496,7 @@
             cpr.notifyAll();
         }
         
-        mProvidersByClass.remove(cpr.info.name);
+        mProvidersByClass.remove(cpr.name);
         String names[] = cpr.info.authority.split(";");
         for (int j = 0; j < names.length; j++) {
             mProvidersByName.remove(names[j]);
@@ -9454,9 +9510,10 @@
                     && capp.pid != MY_PID) {
                 Slog.i(TAG, "Kill " + capp.processName
                         + " (pid " + capp.pid + "): provider " + cpr.info.name
-                        + " in dying process " + proc.processName);
+                        + " in dying process " + (proc != null ? proc.processName : "??"));
                 EventLog.writeEvent(EventLogTags.AM_KILL, capp.pid,
-                        capp.processName, capp.setAdj, "dying provider " + proc.processName);
+                        capp.processName, capp.setAdj, "dying provider "
+                                + cpr.name.toShortString());
                 Process.killProcessQuiet(capp.pid);
             }
         }
@@ -9515,7 +9572,7 @@
             while (it.hasNext()) {
                 ContentProviderRecord cpr = it.next();
                 cpr.provider = null;
-                cpr.app = null;
+                cpr.proc = null;
 
                 // See if someone is waiting for this provider...  in which
                 // case we don't remove it, but just let it restart.
@@ -10029,7 +10086,7 @@
         boolean created = false;
         try {
             mStringBuilder.setLength(0);
-            r.intent.getIntent().toShortString(mStringBuilder, false, true);
+            r.intent.getIntent().toShortString(mStringBuilder, true, false, true);
             EventLog.writeEvent(EventLogTags.AM_CREATE_SERVICE,
                     System.identityHashCode(r), r.shortName,
                     mStringBuilder.toString(), r.app.pid);
diff --git a/services/java/com/android/server/am/ActivityRecord.java b/services/java/com/android/server/am/ActivityRecord.java
index 73ffafb..ce45bfb1 100644
--- a/services/java/com/android/server/am/ActivityRecord.java
+++ b/services/java/com/android/server/am/ActivityRecord.java
@@ -122,7 +122,7 @@
                 pw.print(" processName="); pw.println(processName);
         pw.print(prefix); pw.print("launchedFromUid="); pw.print(launchedFromUid);
                 pw.print(" app="); pw.println(app);
-        pw.print(prefix); pw.println(intent);
+        pw.print(prefix); pw.println(intent.toInsecureString());
         pw.print(prefix); pw.print("frontOfTask="); pw.print(frontOfTask);
                 pw.print(" task="); pw.println(task);
         pw.print(prefix); pw.print("taskAffinity="); pw.println(taskAffinity);
diff --git a/services/java/com/android/server/am/ActivityStack.java b/services/java/com/android/server/am/ActivityStack.java
index a0aedf9..7bc19ab4 100644
--- a/services/java/com/android/server/am/ActivityStack.java
+++ b/services/java/com/android/server/am/ActivityStack.java
@@ -259,6 +259,11 @@
      */
     boolean mSleepTimeout = false;
 
+    /**
+     * Dismiss the keyguard after the next activity is displayed?
+     */
+    boolean mDismissKeyguardOnNextActivity = false;
+
     int mThumbnailWidth = -1;
     int mThumbnailHeight = -1;
 
@@ -765,9 +770,7 @@
                 // Still need to tell some activities to stop; can't sleep yet.
                 if (DEBUG_PAUSE) Slog.v(TAG, "Sleep still need to stop "
                         + mStoppingActivities.size() + " activities");
-                Message msg = Message.obtain();
-                msg.what = IDLE_NOW_MSG;
-                mHandler.sendMessage(msg);
+                scheduleIdleLocked();
                 return;
             }
 
@@ -978,9 +981,7 @@
                         // then give up on things going idle and start clearing
                         // them out.
                         if (DEBUG_PAUSE) Slog.v(TAG, "To many pending stops, forcing idle");
-                        Message msg = Message.obtain();
-                        msg.what = IDLE_NOW_MSG;
-                        mHandler.sendMessage(msg);
+                        scheduleIdleLocked();
                     } else {
                         checkReadyForSleepLocked();
                     }
@@ -2173,7 +2174,7 @@
         }
 
         if (err == START_SUCCESS) {
-            Slog.i(TAG, "Starting: " + intent + " from pid "
+            Slog.i(TAG, "START {" + intent.toShortString(true, true, true) + "} from pid "
                     + (callerApp != null ? callerApp.pid : callingPid));
         }
 
@@ -2228,6 +2229,7 @@
                     resultRecord, resultWho, requestCode,
                     Activity.RESULT_CANCELED, null);
             }
+            mDismissKeyguardOnNextActivity = false;
             return err;
         }
 
@@ -2239,6 +2241,7 @@
                     resultRecord, resultWho, requestCode,
                     Activity.RESULT_CANCELED, null);
             }
+            mDismissKeyguardOnNextActivity = false;
             String msg;
             if (!aInfo.exported) {
                 msg = "Permission Denial: starting " + intent.toString()
@@ -2276,6 +2279,7 @@
                     }
                     // We pretend to the caller that it was really started, but
                     // they will just get a cancel result.
+                    mDismissKeyguardOnNextActivity = false;
                     return START_SUCCESS;
                 }
             }
@@ -2299,6 +2303,7 @@
                     pal.grantedMode = grantedMode;
                     pal.onlyIfNeeded = onlyIfNeeded;
                     mService.mPendingActivityLaunches.add(pal);
+                    mDismissKeyguardOnNextActivity = false;
                     return START_SWITCHES_CANCELED;
                 }
             }
@@ -2317,8 +2322,17 @@
             mService.doPendingActivityLaunchesLocked(false);
         }
         
-        return startActivityUncheckedLocked(r, sourceRecord,
+        err = startActivityUncheckedLocked(r, sourceRecord,
                 grantedUriPermissions, grantedMode, onlyIfNeeded, true);
+        if (mDismissKeyguardOnNextActivity && mPausingActivity == null) {
+            // Someone asked to have the keyguard dismissed on the next
+            // activity start, but we are not actually doing an activity
+            // switch...  just dismiss the keyguard now, because we
+            // probably want to see whatever is behind it.
+            mDismissKeyguardOnNextActivity = false;
+            mService.mWindowManager.dismissKeyguard();
+        }
+        return err;
     }
   
     final void moveHomeToFrontFromLaunchLocked(int launchFlags) {
@@ -2987,6 +3001,11 @@
             w.thisTime = w.totalTime;
         }
         mService.notifyAll();
+
+        if (mDismissKeyguardOnNextActivity) {
+            mDismissKeyguardOnNextActivity = false;
+            mService.mWindowManager.dismissKeyguard();
+        }
     }
 
     void sendActivityResultLocked(int callingUid, ActivityRecord r,
@@ -3103,6 +3122,12 @@
         return stops;
     }
 
+    final void scheduleIdleLocked() {
+        Message msg = Message.obtain();
+        msg.what = IDLE_NOW_MSG;
+        mHandler.sendMessage(msg);
+    }
+
     final ActivityRecord activityIdleInternal(IBinder token, boolean fromTimeout,
             Configuration config) {
         if (localLOGV) Slog.v(TAG, "Activity idle: " + token);
@@ -3413,9 +3438,7 @@
                     // If we already have a few activities waiting to stop,
                     // then give up on things going idle and start clearing
                     // them out.
-                    Message msg = Message.obtain();
-                    msg.what = IDLE_NOW_MSG;
-                    mHandler.sendMessage(msg);
+                    scheduleIdleLocked();
                 } else {
                     checkReadyForSleepLocked();
                 }
@@ -4126,4 +4149,8 @@
 
         return true;
     }
+    
+    public void dismissKeyguardOnNextActivityLocked() {
+        mDismissKeyguardOnNextActivity = true;
+    }
 }
diff --git a/services/java/com/android/server/am/BatteryStatsService.java b/services/java/com/android/server/am/BatteryStatsService.java
index 226723f..b44dc8a2 100644
--- a/services/java/com/android/server/am/BatteryStatsService.java
+++ b/services/java/com/android/server/am/BatteryStatsService.java
@@ -21,6 +21,7 @@
 import android.bluetooth.BluetoothProfile;
 import android.content.Context;
 import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
 import android.os.Binder;
 import android.os.IBinder;
 import android.os.Parcel;
@@ -457,6 +458,14 @@
 
     @Override
     protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
+        if (mContext.checkCallingOrSelfPermission(android.Manifest.permission.DUMP)
+                != PackageManager.PERMISSION_GRANTED) {
+            pw.println("Permission Denial: can't dump BatteryStats from from pid="
+                    + Binder.getCallingPid() + ", uid=" + Binder.getCallingUid()
+                    + " without permission " + android.Manifest.permission.DUMP);
+            return;
+        }
+
         boolean isCheckin = false;
         boolean noOutput = false;
         if (args != null) {
diff --git a/services/java/com/android/server/am/ContentProviderRecord.java b/services/java/com/android/server/am/ContentProviderRecord.java
index db235ee..9c55597 100644
--- a/services/java/com/android/server/am/ContentProviderRecord.java
+++ b/services/java/com/android/server/am/ContentProviderRecord.java
@@ -32,15 +32,15 @@
     final ApplicationInfo appInfo;
     final ComponentName name;
     int externals;     // number of non-framework processes supported by this provider
-    ProcessRecord app; // if non-null, hosting application
+    ProcessRecord proc; // if non-null, hosting process.
     ProcessRecord launchingApp; // if non-null, waiting for this app to be launched.
     String stringName;
     
-    public ContentProviderRecord(ProviderInfo _info, ApplicationInfo ai) {
+    public ContentProviderRecord(ProviderInfo _info, ApplicationInfo ai, ComponentName _name) {
         super(_info);
         uid = ai.uid;
         appInfo = ai;
-        name = new ComponentName(_info.packageName, _info.name);
+        name = _name;
         noReleaseNeeded = uid == 0 || uid == Process.SYSTEM_UID;
     }
 
@@ -61,7 +61,7 @@
         pw.print(prefix); pw.print("package=");
                 pw.print(info.applicationInfo.packageName);
                 pw.print(" process="); pw.println(info.processName);
-        pw.print(prefix); pw.print("app="); pw.println(app);
+        pw.print(prefix); pw.print("proc="); pw.println(proc);
         if (launchingApp != null) {
             pw.print(prefix); pw.print("launchingApp="); pw.println(launchingApp);
         }
diff --git a/services/java/com/android/server/am/IntentBindRecord.java b/services/java/com/android/server/am/IntentBindRecord.java
index 3a5ca66..2618c77 100644
--- a/services/java/com/android/server/am/IntentBindRecord.java
+++ b/services/java/com/android/server/am/IntentBindRecord.java
@@ -54,7 +54,7 @@
 
     void dumpInService(PrintWriter pw, String prefix) {
         pw.print(prefix); pw.print("intent={");
-                pw.print(intent.getIntent().toShortString(true, false));
+                pw.print(intent.getIntent().toShortString(false, true, false));
                 pw.println('}');
         pw.print(prefix); pw.print("binder="); pw.println(binder);
         pw.print(prefix); pw.print("requested="); pw.print(requested);
@@ -89,7 +89,7 @@
         sb.append(service.shortName);
         sb.append(':');
         if (intent != null) {
-            intent.getIntent().toShortString(sb, false, false);
+            intent.getIntent().toShortString(sb, false, false, false);
         }
         sb.append('}');
         return stringName = sb.toString();
diff --git a/services/java/com/android/server/am/PendingIntentRecord.java b/services/java/com/android/server/am/PendingIntentRecord.java
index 8ed0cc1..abd2a1f 100644
--- a/services/java/com/android/server/am/PendingIntentRecord.java
+++ b/services/java/com/android/server/am/PendingIntentRecord.java
@@ -150,7 +150,8 @@
         public String toString() {
             return "Key{" + typeName() + " pkg=" + packageName
                 + " intent="
-                + (requestIntent != null ? requestIntent.toShortString(true, false) : "<null>")
+                + (requestIntent != null
+                        ? requestIntent.toShortString(false, true, false) : "<null>")
                 + " flags=0x" + Integer.toHexString(flags) + "}";
         }
         
@@ -317,7 +318,7 @@
         }
         if (key.requestIntent != null) {
             pw.print(prefix); pw.print("requestIntent=");
-                    pw.println(key.requestIntent.toShortString(true, true));
+                    pw.println(key.requestIntent.toShortString(false, true, true));
         }
         if (sent || canceled) {
             pw.print(prefix); pw.print("sent="); pw.print(sent);
diff --git a/services/java/com/android/server/am/ServiceRecord.java b/services/java/com/android/server/am/ServiceRecord.java
index 004e963..257113b 100644
--- a/services/java/com/android/server/am/ServiceRecord.java
+++ b/services/java/com/android/server/am/ServiceRecord.java
@@ -192,7 +192,7 @@
     
     void dump(PrintWriter pw, String prefix) {
         pw.print(prefix); pw.print("intent={");
-                pw.print(intent.getIntent().toShortString(true, false));
+                pw.print(intent.getIntent().toShortString(false, true, false));
                 pw.println('}');
         pw.print(prefix); pw.print("packageName="); pw.println(packageName);
         pw.print(prefix); pw.print("processName="); pw.println(processName);
diff --git a/services/java/com/android/server/am/TaskRecord.java b/services/java/com/android/server/am/TaskRecord.java
index 87129ea..a860763 100644
--- a/services/java/com/android/server/am/TaskRecord.java
+++ b/services/java/com/android/server/am/TaskRecord.java
@@ -94,14 +94,14 @@
         if (intent != null) {
             StringBuilder sb = new StringBuilder(128);
             sb.append(prefix); sb.append("intent={");
-            intent.toShortString(sb, true, false);
+            intent.toShortString(sb, false, true, false);
             sb.append('}');
             pw.println(sb.toString());
         }
         if (affinityIntent != null) {
             StringBuilder sb = new StringBuilder(128);
             sb.append(prefix); sb.append("affinityIntent={");
-            affinityIntent.toShortString(sb, true, false);
+            affinityIntent.toShortString(sb, false, true, false);
             sb.append('}');
             pw.println(sb.toString());
         }
diff --git a/services/java/com/android/server/am/UsageStatsService.java b/services/java/com/android/server/am/UsageStatsService.java
index 0d36d69..e810e3c 100644
--- a/services/java/com/android/server/am/UsageStatsService.java
+++ b/services/java/com/android/server/am/UsageStatsService.java
@@ -19,6 +19,7 @@
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
 import android.os.Binder;
 import android.os.IBinder;
 import android.os.FileUtils;
@@ -1034,6 +1035,14 @@
      * The data persisted to file is parsed and the stats are computed. 
      */
     protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
+        if (mContext.checkCallingPermission(android.Manifest.permission.DUMP)
+                != PackageManager.PERMISSION_GRANTED) {
+            pw.println("Permission Denial: can't dump UsageStats from from pid="
+                    + Binder.getCallingPid() + ", uid=" + Binder.getCallingUid()
+                    + " without permission " + android.Manifest.permission.DUMP);
+            return;
+        }
+
         final boolean isCheckinRequest = scanArgs(args, "--checkin");
         final boolean isCompactOutput = isCheckinRequest || scanArgs(args, "-c");
         final boolean deleteAfterPrint = isCheckinRequest || scanArgs(args, "-d");
diff --git a/services/java/com/android/server/connectivity/Tethering.java b/services/java/com/android/server/connectivity/Tethering.java
index 10f6d2c..6b9c088 100644
--- a/services/java/com/android/server/connectivity/Tethering.java
+++ b/services/java/com/android/server/connectivity/Tethering.java
@@ -29,6 +29,7 @@
 import android.net.ConnectivityManager;
 import android.net.IConnectivityManager;
 import android.net.INetworkManagementEventObserver;
+import android.net.INetworkStatsService;
 import android.net.InterfaceConfiguration;
 import android.net.LinkAddress;
 import android.net.LinkProperties;
@@ -88,7 +89,8 @@
     // upstream type list and the DUN_REQUIRED secure-setting
     private int mPreferredUpstreamMobileApn = ConnectivityManager.TYPE_NONE;
 
-    private INetworkManagementService mNMService;
+    private final INetworkManagementService mNMService;
+    private final INetworkStatsService mStatsService;
     private Looper mLooper;
     private HandlerThread mThread;
 
@@ -124,9 +126,11 @@
     private boolean mUsbTetherRequested; // true if USB tethering should be started
                                          // when RNDIS is enabled
 
-    public Tethering(Context context, INetworkManagementService nmService, Looper looper) {
+    public Tethering(Context context, INetworkManagementService nmService,
+            INetworkStatsService statsService, Looper looper) {
         mContext = context;
         mNMService = nmService;
+        mStatsService = statsService;
         mLooper = looper;
 
         mIfaces = new HashMap<String, TetherInterfaceSM>();
@@ -913,6 +917,9 @@
                     case CMD_INTERFACE_DOWN:
                         if (mMyUpstreamIfaceName != null) {
                             try {
+                                // about to tear down NAT; gather remaining statistics
+                                mStatsService.forceUpdate();
+
                                 mNMService.disableNat(mIfaceName, mMyUpstreamIfaceName);
                                 mMyUpstreamIfaceName = null;
                             } catch (Exception e) {
@@ -957,6 +964,9 @@
                         }
                         if (mMyUpstreamIfaceName != null) {
                             try {
+                                // about to tear down NAT; gather remaining statistics
+                                mStatsService.forceUpdate();
+
                                 mNMService.disableNat(mIfaceName, mMyUpstreamIfaceName);
                                 mMyUpstreamIfaceName = null;
                             } catch (Exception e) {
@@ -995,6 +1005,9 @@
                     case CMD_TETHER_MODE_DEAD:
                         if (mMyUpstreamIfaceName != null) {
                             try {
+                                // about to tear down NAT; gather remaining statistics
+                                mStatsService.forceUpdate();
+
                                 mNMService.disableNat(mIfaceName, mMyUpstreamIfaceName);
                                 mMyUpstreamIfaceName = null;
                             } catch (Exception e) {
diff --git a/services/java/com/android/server/net/NetworkStatsService.java b/services/java/com/android/server/net/NetworkStatsService.java
index bc65205..789681e 100644
--- a/services/java/com/android/server/net/NetworkStatsService.java
+++ b/services/java/com/android/server/net/NetworkStatsService.java
@@ -24,18 +24,18 @@
 import static android.content.Intent.ACTION_SHUTDOWN;
 import static android.content.Intent.ACTION_UID_REMOVED;
 import static android.content.Intent.EXTRA_UID;
-import static android.net.ConnectivityManager.CONNECTIVITY_ACTION_IMMEDIATE;
 import static android.net.ConnectivityManager.ACTION_TETHER_STATE_CHANGED;
+import static android.net.ConnectivityManager.CONNECTIVITY_ACTION_IMMEDIATE;
 import static android.net.NetworkStats.IFACE_ALL;
 import static android.net.NetworkStats.SET_ALL;
 import static android.net.NetworkStats.SET_DEFAULT;
 import static android.net.NetworkStats.SET_FOREGROUND;
 import static android.net.NetworkStats.TAG_NONE;
 import static android.net.NetworkStats.UID_ALL;
+import static android.net.NetworkStatsHistory.randomLong;
 import static android.net.NetworkTemplate.buildTemplateMobileAll;
 import static android.net.NetworkTemplate.buildTemplateWifi;
 import static android.net.TrafficStats.UID_REMOVED;
-import static android.net.TrafficStats.UID_TETHERING;
 import static android.provider.Settings.Secure.NETSTATS_NETWORK_BUCKET_DURATION;
 import static android.provider.Settings.Secure.NETSTATS_NETWORK_MAX_HISTORY;
 import static android.provider.Settings.Secure.NETSTATS_PERSIST_THRESHOLD;
@@ -43,9 +43,13 @@
 import static android.provider.Settings.Secure.NETSTATS_TAG_MAX_HISTORY;
 import static android.provider.Settings.Secure.NETSTATS_UID_BUCKET_DURATION;
 import static android.provider.Settings.Secure.NETSTATS_UID_MAX_HISTORY;
+import static android.telephony.PhoneStateListener.LISTEN_DATA_CONNECTION_STATE;
+import static android.telephony.PhoneStateListener.LISTEN_NONE;
 import static android.text.format.DateUtils.DAY_IN_MILLIS;
 import static android.text.format.DateUtils.HOUR_IN_MILLIS;
 import static android.text.format.DateUtils.MINUTE_IN_MILLIS;
+import static android.text.format.DateUtils.SECOND_IN_MILLIS;
+import static android.text.format.DateUtils.WEEK_IN_MILLIS;
 import static com.android.internal.util.Preconditions.checkNotNull;
 import static com.android.server.NetworkManagementService.LIMIT_GLOBAL_ALERT;
 import static com.android.server.NetworkManagementSocketTagger.resetKernelUidStats;
@@ -60,6 +64,8 @@
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.PackageManager.NameNotFoundException;
 import android.net.IConnectivityManager;
 import android.net.INetworkManagementEventObserver;
 import android.net.INetworkStatsService;
@@ -69,7 +75,6 @@
 import android.net.NetworkStats;
 import android.net.NetworkStatsHistory;
 import android.net.NetworkTemplate;
-import android.net.TrafficStats;
 import android.os.Binder;
 import android.os.Environment;
 import android.os.Handler;
@@ -80,6 +85,7 @@
 import android.os.RemoteException;
 import android.os.SystemClock;
 import android.provider.Settings;
+import android.telephony.PhoneStateListener;
 import android.telephony.TelephonyManager;
 import android.util.EventLog;
 import android.util.Log;
@@ -111,7 +117,7 @@
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
-import java.util.List;
+import java.util.Random;
 
 import libcore.io.IoUtils;
 
@@ -121,7 +127,7 @@
  */
 public class NetworkStatsService extends INetworkStatsService.Stub {
     private static final String TAG = "NetworkStats";
-    private static final boolean LOGD = true;
+    private static final boolean LOGD = false;
     private static final boolean LOGV = false;
 
     /** File header magic number: "ANET" */
@@ -132,18 +138,23 @@
     private static final int VERSION_UID_WITH_TAG = 3;
     private static final int VERSION_UID_WITH_SET = 4;
 
-    private static final int MSG_PERFORM_POLL = 0x1;
+    private static final int MSG_PERFORM_POLL = 1;
+    private static final int MSG_UPDATE_IFACES = 2;
 
     /** Flags to control detail level of poll event. */
-    private static final int FLAG_PERSIST_NETWORK = 0x10;
-    private static final int FLAG_PERSIST_UID = 0x20;
+    private static final int FLAG_PERSIST_NETWORK = 0x1;
+    private static final int FLAG_PERSIST_UID = 0x2;
     private static final int FLAG_PERSIST_ALL = FLAG_PERSIST_NETWORK | FLAG_PERSIST_UID;
     private static final int FLAG_PERSIST_FORCE = 0x100;
 
+    /** Sample recent usage after each poll event. */
+    private static final boolean ENABLE_SAMPLE_AFTER_POLL = true;
+
     private final Context mContext;
     private final INetworkManagementService mNetworkManager;
     private final IAlarmManager mAlarmManager;
     private final TrustedTime mTime;
+    private final TelephonyManager mTeleManager;
     private final NetworkStatsSettings mSettings;
 
     private final PowerManager.WakeLock mWakeLock;
@@ -182,20 +193,23 @@
 
     /** Set of currently active ifaces. */
     private HashMap<String, NetworkIdentitySet> mActiveIfaces = Maps.newHashMap();
-    /** Set of historical network layer stats for known networks. */
-    private HashMap<NetworkIdentitySet, NetworkStatsHistory> mNetworkStats = Maps.newHashMap();
-    /** Set of historical network layer stats for known UIDs. */
+    /** Set of historical {@code dev} stats for known networks. */
+    private HashMap<NetworkIdentitySet, NetworkStatsHistory> mNetworkDevStats = Maps.newHashMap();
+    /** Set of historical {@code xtables} stats for known networks. */
+    private HashMap<NetworkIdentitySet, NetworkStatsHistory> mNetworkXtStats = Maps.newHashMap();
+    /** Set of historical {@code xtables} stats for known UIDs. */
     private HashMap<UidStatsKey, NetworkStatsHistory> mUidStats = Maps.newHashMap();
 
     /** Flag if {@link #mUidStats} have been loaded from disk. */
     private boolean mUidStatsLoaded = false;
 
-    private NetworkStats mLastPollNetworkSnapshot;
+    private NetworkStats mLastPollNetworkDevSnapshot;
+    private NetworkStats mLastPollNetworkXtSnapshot;
     private NetworkStats mLastPollUidSnapshot;
     private NetworkStats mLastPollOperationsSnapshot;
-    private NetworkStats mLastPollTetherSnapshot;
 
-    private NetworkStats mLastPersistNetworkSnapshot;
+    private NetworkStats mLastPersistNetworkDevSnapshot;
+    private NetworkStats mLastPersistNetworkXtSnapshot;
     private NetworkStats mLastPersistUidSnapshot;
 
     /** Current counter sets for each UID. */
@@ -207,7 +221,8 @@
     private final HandlerThread mHandlerThread;
     private final Handler mHandler;
 
-    private final AtomicFile mNetworkFile;
+    private final AtomicFile mNetworkDevFile;
+    private final AtomicFile mNetworkXtFile;
     private final AtomicFile mUidFile;
 
     public NetworkStatsService(
@@ -227,6 +242,7 @@
         mNetworkManager = checkNotNull(networkManager, "missing INetworkManagementService");
         mAlarmManager = checkNotNull(alarmManager, "missing IAlarmManager");
         mTime = checkNotNull(time, "missing TrustedTime");
+        mTeleManager = checkNotNull(TelephonyManager.getDefault(), "missing TelephonyManager");
         mSettings = checkNotNull(settings, "missing NetworkStatsSettings");
 
         final PowerManager powerManager = (PowerManager) context.getSystemService(
@@ -237,7 +253,8 @@
         mHandlerThread.start();
         mHandler = new Handler(mHandlerThread.getLooper(), mHandlerCallback);
 
-        mNetworkFile = new AtomicFile(new File(systemDir, "netstats.bin"));
+        mNetworkDevFile = new AtomicFile(new File(systemDir, "netstats.bin"));
+        mNetworkXtFile = new AtomicFile(new File(systemDir, "netstats_xt.bin"));
         mUidFile = new AtomicFile(new File(systemDir, "netstats_uid.bin"));
     }
 
@@ -250,7 +267,8 @@
             // read historical network stats from disk, since policy service
             // might need them right away. we delay loading detailed UID stats
             // until actually needed.
-            readNetworkStatsLocked();
+            readNetworkDevStatsLocked();
+            readNetworkXtStatsLocked();
         }
 
         // watch for network interfaces to be claimed
@@ -279,6 +297,10 @@
             // ignored; service lives in system_server
         }
 
+        // watch for networkType changes that aren't broadcast through
+        // CONNECTIVITY_ACTION_IMMEDIATE above.
+        mTeleManager.listen(mPhoneListener, LISTEN_DATA_CONNECTION_STATE);
+
         registerPollAlarmLocked();
         registerGlobalAlert();
 
@@ -288,15 +310,20 @@
 
     private void shutdownLocked() {
         mContext.unregisterReceiver(mConnReceiver);
+        mContext.unregisterReceiver(mTetherReceiver);
         mContext.unregisterReceiver(mPollReceiver);
         mContext.unregisterReceiver(mRemovedReceiver);
         mContext.unregisterReceiver(mShutdownReceiver);
 
-        writeNetworkStatsLocked();
+        mTeleManager.listen(mPhoneListener, LISTEN_NONE);
+
+        writeNetworkDevStatsLocked();
+        writeNetworkXtStatsLocked();
         if (mUidStatsLoaded) {
             writeUidStatsLocked();
         }
-        mNetworkStats.clear();
+        mNetworkDevStats.clear();
+        mNetworkXtStats.clear();
         mUidStats.clear();
         mUidStatsLoaded = false;
     }
@@ -341,14 +368,26 @@
     @Override
     public NetworkStatsHistory getHistoryForNetwork(NetworkTemplate template, int fields) {
         mContext.enforceCallingOrSelfPermission(READ_NETWORK_USAGE_HISTORY, TAG);
+        return getHistoryForNetworkDev(template, fields);
+    }
 
+    private NetworkStatsHistory getHistoryForNetworkDev(NetworkTemplate template, int fields) {
+        return getHistoryForNetwork(template, fields, mNetworkDevStats);
+    }
+
+    private NetworkStatsHistory getHistoryForNetworkXt(NetworkTemplate template, int fields) {
+        return getHistoryForNetwork(template, fields, mNetworkXtStats);
+    }
+
+    private NetworkStatsHistory getHistoryForNetwork(NetworkTemplate template, int fields,
+            HashMap<NetworkIdentitySet, NetworkStatsHistory> source) {
         synchronized (mStatsLock) {
             // combine all interfaces that match template
             final NetworkStatsHistory combined = new NetworkStatsHistory(
                     mSettings.getNetworkBucketDuration(), estimateNetworkBuckets(), fields);
-            for (NetworkIdentitySet ident : mNetworkStats.keySet()) {
+            for (NetworkIdentitySet ident : source.keySet()) {
                 if (templateMatches(template, ident)) {
-                    final NetworkStatsHistory history = mNetworkStats.get(ident);
+                    final NetworkStatsHistory history = source.get(ident);
                     if (history != null) {
                         combined.recordEntireHistory(history);
                     }
@@ -385,7 +424,19 @@
     @Override
     public NetworkStats getSummaryForNetwork(NetworkTemplate template, long start, long end) {
         mContext.enforceCallingOrSelfPermission(READ_NETWORK_USAGE_HISTORY, TAG);
+        return getSummaryForNetworkDev(template, start, end);
+    }
 
+    private NetworkStats getSummaryForNetworkDev(NetworkTemplate template, long start, long end) {
+        return getSummaryForNetwork(template, start, end, mNetworkDevStats);
+    }
+
+    private NetworkStats getSummaryForNetworkXt(NetworkTemplate template, long start, long end) {
+        return getSummaryForNetwork(template, start, end, mNetworkXtStats);
+    }
+
+    private NetworkStats getSummaryForNetwork(NetworkTemplate template, long start, long end,
+            HashMap<NetworkIdentitySet, NetworkStatsHistory> source) {
         synchronized (mStatsLock) {
             // use system clock to be externally consistent
             final long now = System.currentTimeMillis();
@@ -395,9 +446,9 @@
             NetworkStatsHistory.Entry historyEntry = null;
 
             // combine total from all interfaces that match template
-            for (NetworkIdentitySet ident : mNetworkStats.keySet()) {
+            for (NetworkIdentitySet ident : source.keySet()) {
                 if (templateMatches(template, ident)) {
-                    final NetworkStatsHistory history = mNetworkStats.get(ident);
+                    final NetworkStatsHistory history = source.get(ident);
                     historyEntry = history.getValues(start, end, now, historyEntry);
 
                     entry.iface = IFACE_ALL;
@@ -535,14 +586,7 @@
         public void onReceive(Context context, Intent intent) {
             // on background handler thread, and verified CONNECTIVITY_INTERNAL
             // permission above.
-            synchronized (mStatsLock) {
-                mWakeLock.acquire();
-                try {
-                    updateIfacesLocked();
-                } finally {
-                    mWakeLock.release();
-                }
-            }
+            updateIfaces();
         }
     };
 
@@ -619,6 +663,46 @@
         }
     };
 
+    private int mLastPhoneState = TelephonyManager.DATA_UNKNOWN;
+    private int mLastPhoneNetworkType = TelephonyManager.NETWORK_TYPE_UNKNOWN;
+
+    /**
+     * Receiver that watches for {@link TelephonyManager} changes, such as
+     * transitioning between network types.
+     */
+    private PhoneStateListener mPhoneListener = new PhoneStateListener() {
+        @Override
+        public void onDataConnectionStateChanged(int state, int networkType) {
+            final boolean stateChanged = state != mLastPhoneState;
+            final boolean networkTypeChanged = networkType != mLastPhoneNetworkType;
+
+            if (networkTypeChanged && !stateChanged) {
+                // networkType changed without a state change, which means we
+                // need to roll our own update. delay long enough for
+                // ConnectivityManager to process.
+                // TODO: add direct event to ConnectivityService instead of
+                // relying on this delay.
+                if (LOGV) Slog.v(TAG, "triggering delayed updateIfaces()");
+                mHandler.sendMessageDelayed(
+                        mHandler.obtainMessage(MSG_UPDATE_IFACES), SECOND_IN_MILLIS);
+            }
+
+            mLastPhoneState = state;
+            mLastPhoneNetworkType = networkType;
+        }
+    };
+
+    private void updateIfaces() {
+        synchronized (mStatsLock) {
+            mWakeLock.acquire();
+            try {
+                updateIfacesLocked();
+            } finally {
+                mWakeLock.release();
+            }
+        }
+    }
+
     /**
      * Inspect all current {@link NetworkState} to derive mapping from {@code
      * iface} to {@link NetworkStatsHistory}. When multiple {@link NetworkInfo}
@@ -669,8 +753,9 @@
      */
     private void bootstrapStats() {
         try {
-            mLastPollNetworkSnapshot = mNetworkManager.getNetworkStatsSummary();
             mLastPollUidSnapshot = mNetworkManager.getNetworkStatsUidDetail(UID_ALL);
+            mLastPollNetworkDevSnapshot = mNetworkManager.getNetworkStatsSummary();
+            mLastPollNetworkXtSnapshot = computeNetworkXtSnapshotFromUid(mLastPollUidSnapshot);
             mLastPollOperationsSnapshot = new NetworkStats(0L, 0);
         } catch (IllegalStateException e) {
             Slog.w(TAG, "problem reading network stats: " + e);
@@ -712,42 +797,56 @@
                 : System.currentTimeMillis();
         final long threshold = mSettings.getPersistThreshold();
 
+        final NetworkStats uidSnapshot;
+        final NetworkStats networkXtSnapshot;
+        final NetworkStats networkDevSnapshot;
         try {
-            // record network stats
-            final NetworkStats networkSnapshot = mNetworkManager.getNetworkStatsSummary();
-            performNetworkPollLocked(networkSnapshot, currentTime);
-
-            // persist when enough network data has occurred
-            final NetworkStats persistNetworkDelta = computeStatsDelta(
-                    mLastPersistNetworkSnapshot, networkSnapshot, true);
-            final boolean networkPastThreshold = persistNetworkDelta.getTotalBytes() > threshold;
-            if (persistForce || (persistNetwork && networkPastThreshold)) {
-                writeNetworkStatsLocked();
-                mLastPersistNetworkSnapshot = networkSnapshot;
-            }
-
-            // record tethering stats; persisted during normal UID cycle below
-            final String[] ifacePairs = mConnManager.getTetheredIfacePairs();
+            // collect any tethering stats
+            final String[] tetheredIfacePairs = mConnManager.getTetheredIfacePairs();
             final NetworkStats tetherSnapshot = mNetworkManager.getNetworkStatsTethering(
-                    ifacePairs);
-            performTetherPollLocked(tetherSnapshot, currentTime);
+                    tetheredIfacePairs);
 
-            // record uid stats
-            final NetworkStats uidSnapshot = mNetworkManager.getNetworkStatsUidDetail(UID_ALL);
+            // record uid stats, folding in tethering stats
+            uidSnapshot = mNetworkManager.getNetworkStatsUidDetail(UID_ALL);
+            uidSnapshot.combineAllValues(tetherSnapshot);
             performUidPollLocked(uidSnapshot, currentTime);
 
-            // persist when enough network data has occurred
-            final NetworkStats persistUidDelta = computeStatsDelta(
-                    mLastPersistUidSnapshot, uidSnapshot, true);
-            final boolean uidPastThreshold = persistUidDelta.getTotalBytes() > threshold;
-            if (persistForce || (persistUid && uidPastThreshold)) {
-                writeUidStatsLocked();
-                mLastPersistUidSnapshot = uidSnapshot;
-            }
+            // record dev network stats
+            networkDevSnapshot = mNetworkManager.getNetworkStatsSummary();
+            performNetworkDevPollLocked(networkDevSnapshot, currentTime);
+
+            // record xt network stats
+            networkXtSnapshot = computeNetworkXtSnapshotFromUid(uidSnapshot);
+            performNetworkXtPollLocked(networkXtSnapshot, currentTime);
+
         } catch (IllegalStateException e) {
             Log.wtf(TAG, "problem reading network stats", e);
+            return;
         } catch (RemoteException e) {
             // ignored; service lives in system_server
+            return;
+        }
+
+        // persist when enough network data has occurred
+        final long persistNetworkDevDelta = computeStatsDelta(
+                mLastPersistNetworkDevSnapshot, networkDevSnapshot, true).getTotalBytes();
+        final long persistNetworkXtDelta = computeStatsDelta(
+                mLastPersistNetworkXtSnapshot, networkXtSnapshot, true).getTotalBytes();
+        final boolean networkOverThreshold = persistNetworkDevDelta > threshold
+                || persistNetworkXtDelta > threshold;
+        if (persistForce || (persistNetwork && networkOverThreshold)) {
+            writeNetworkDevStatsLocked();
+            writeNetworkXtStatsLocked();
+            mLastPersistNetworkDevSnapshot = networkDevSnapshot;
+            mLastPersistNetworkXtSnapshot = networkXtSnapshot;
+        }
+
+        // persist when enough uid data has occurred
+        final long persistUidDelta = computeStatsDelta(mLastPersistUidSnapshot, uidSnapshot, true)
+                .getTotalBytes();
+        if (persistForce || (persistUid && persistUidDelta > threshold)) {
+            writeUidStatsLocked();
+            mLastPersistUidSnapshot = uidSnapshot;
         }
 
         if (LOGV) {
@@ -755,8 +854,10 @@
             Slog.v(TAG, "performPollLocked() took " + duration + "ms");
         }
 
-        // sample stats after each full poll
-        performSample();
+        if (ENABLE_SAMPLE_AFTER_POLL) {
+            // sample stats after each full poll
+            performSample();
+        }
 
         // finally, dispatch updated event to any listeners
         final Intent updatedIntent = new Intent(ACTION_NETWORK_STATS_UPDATED);
@@ -765,12 +866,13 @@
     }
 
     /**
-     * Update {@link #mNetworkStats} historical usage.
+     * Update {@link #mNetworkDevStats} historical usage.
      */
-    private void performNetworkPollLocked(NetworkStats networkSnapshot, long currentTime) {
+    private void performNetworkDevPollLocked(NetworkStats networkDevSnapshot, long currentTime) {
         final HashSet<String> unknownIface = Sets.newHashSet();
 
-        final NetworkStats delta = computeStatsDelta(mLastPollNetworkSnapshot, networkSnapshot, false);
+        final NetworkStats delta = computeStatsDelta(
+                mLastPollNetworkDevSnapshot, networkDevSnapshot, false);
         final long timeStart = currentTime - delta.getElapsedRealtime();
 
         NetworkStats.Entry entry = null;
@@ -782,14 +884,44 @@
                 continue;
             }
 
-            final NetworkStatsHistory history = findOrCreateNetworkStatsLocked(ident);
+            final NetworkStatsHistory history = findOrCreateNetworkDevStatsLocked(ident);
             history.recordData(timeStart, currentTime, entry);
         }
 
-        mLastPollNetworkSnapshot = networkSnapshot;
+        mLastPollNetworkDevSnapshot = networkDevSnapshot;
 
         if (LOGD && unknownIface.size() > 0) {
-            Slog.w(TAG, "unknown interfaces " + unknownIface.toString() + ", ignoring those stats");
+            Slog.w(TAG, "unknown dev interfaces " + unknownIface + ", ignoring those stats");
+        }
+    }
+
+    /**
+     * Update {@link #mNetworkXtStats} historical usage.
+     */
+    private void performNetworkXtPollLocked(NetworkStats networkXtSnapshot, long currentTime) {
+        final HashSet<String> unknownIface = Sets.newHashSet();
+
+        final NetworkStats delta = computeStatsDelta(
+                mLastPollNetworkXtSnapshot, networkXtSnapshot, false);
+        final long timeStart = currentTime - delta.getElapsedRealtime();
+
+        NetworkStats.Entry entry = null;
+        for (int i = 0; i < delta.size(); i++) {
+            entry = delta.getValues(i, entry);
+            final NetworkIdentitySet ident = mActiveIfaces.get(entry.iface);
+            if (ident == null) {
+                unknownIface.add(entry.iface);
+                continue;
+            }
+
+            final NetworkStatsHistory history = findOrCreateNetworkXtStatsLocked(ident);
+            history.recordData(timeStart, currentTime, entry);
+        }
+
+        mLastPollNetworkXtSnapshot = networkXtSnapshot;
+
+        if (LOGD && unknownIface.size() > 0) {
+            Slog.w(TAG, "unknown xt interfaces " + unknownIface + ", ignoring those stats");
         }
     }
 
@@ -835,38 +967,6 @@
     }
 
     /**
-     * Update {@link #mUidStats} historical usage for
-     * {@link TrafficStats#UID_TETHERING} based on tethering statistics.
-     */
-    private void performTetherPollLocked(NetworkStats tetherSnapshot, long currentTime) {
-        ensureUidStatsLoadedLocked();
-
-        final NetworkStats delta = computeStatsDelta(
-                mLastPollTetherSnapshot, tetherSnapshot, false);
-        final long timeStart = currentTime - delta.getElapsedRealtime();
-
-        NetworkStats.Entry entry = null;
-        for (int i = 0; i < delta.size(); i++) {
-            entry = delta.getValues(i, entry);
-            final NetworkIdentitySet ident = mActiveIfaces.get(entry.iface);
-            if (ident == null) {
-                if (entry.rxBytes > 0 || entry.rxPackets > 0 || entry.txBytes > 0
-                        || entry.txPackets > 0) {
-                    Log.w(TAG, "dropping tether delta from unknown iface: " + entry);
-                }
-                continue;
-            }
-
-            final NetworkStatsHistory history = findOrCreateUidStatsLocked(
-                    ident, UID_TETHERING, SET_DEFAULT, TAG_NONE);
-            history.recordData(timeStart, currentTime, entry);
-        }
-
-        // normal UID poll will trim any history beyond max
-        mLastPollTetherSnapshot = tetherSnapshot;
-    }
-
-    /**
      * Sample recent statistics summary into {@link EventLog}.
      */
     private void performSample() {
@@ -878,25 +978,34 @@
         final long end = now - (now % largestBucketSize) + largestBucketSize;
         final long start = end - largestBucketSize;
 
+        final long trustedTime = mTime.hasCache() ? mTime.currentTimeMillis() : -1;
+
         NetworkTemplate template = null;
-        NetworkStats.Entry ifaceTotal = null;
+        NetworkStats.Entry devTotal = null;
+        NetworkStats.Entry xtTotal = null;
         NetworkStats.Entry uidTotal = null;
 
         // collect mobile sample
         template = buildTemplateMobileAll(getActiveSubscriberId(mContext));
-        ifaceTotal = getSummaryForNetwork(template, start, end).getTotal(ifaceTotal);
+        devTotal = getSummaryForNetworkDev(template, start, end).getTotal(devTotal);
+        xtTotal = getSummaryForNetworkXt(template, start, end).getTotal(xtTotal);
         uidTotal = getSummaryForAllUid(template, start, end, false).getTotal(uidTotal);
-        EventLogTags.writeNetstatsMobileSample(ifaceTotal.rxBytes, ifaceTotal.rxPackets,
-                ifaceTotal.txBytes, ifaceTotal.txPackets, uidTotal.rxBytes, uidTotal.rxPackets,
-                uidTotal.txBytes, uidTotal.txPackets);
+        EventLogTags.writeNetstatsMobileSample(
+                devTotal.rxBytes, devTotal.rxPackets, devTotal.txBytes, devTotal.txPackets,
+                xtTotal.rxBytes, xtTotal.rxPackets, xtTotal.txBytes, xtTotal.txPackets,
+                uidTotal.rxBytes, uidTotal.rxPackets, uidTotal.txBytes, uidTotal.txPackets,
+                trustedTime);
 
         // collect wifi sample
         template = buildTemplateWifi();
-        ifaceTotal = getSummaryForNetwork(template, start, end).getTotal(ifaceTotal);
+        devTotal = getSummaryForNetworkDev(template, start, end).getTotal(devTotal);
+        xtTotal = getSummaryForNetworkXt(template, start, end).getTotal(xtTotal);
         uidTotal = getSummaryForAllUid(template, start, end, false).getTotal(uidTotal);
-        EventLogTags.writeNetstatsWifiSample(ifaceTotal.rxBytes, ifaceTotal.rxPackets,
-                ifaceTotal.txBytes, ifaceTotal.txPackets, uidTotal.rxBytes, uidTotal.rxPackets,
-                uidTotal.txBytes, uidTotal.txPackets);
+        EventLogTags.writeNetstatsWifiSample(
+                devTotal.rxBytes, devTotal.rxPackets, devTotal.txBytes, devTotal.txPackets,
+                xtTotal.rxBytes, xtTotal.rxPackets, xtTotal.txBytes, xtTotal.txPackets,
+                uidTotal.rxBytes, uidTotal.rxPackets, uidTotal.txBytes, uidTotal.txPackets,
+                trustedTime);
     }
 
     /**
@@ -929,8 +1038,17 @@
         writeUidStatsLocked();
     }
 
-    private NetworkStatsHistory findOrCreateNetworkStatsLocked(NetworkIdentitySet ident) {
-        final NetworkStatsHistory existing = mNetworkStats.get(ident);
+    private NetworkStatsHistory findOrCreateNetworkXtStatsLocked(NetworkIdentitySet ident) {
+        return findOrCreateNetworkStatsLocked(ident, mNetworkXtStats);
+    }
+
+    private NetworkStatsHistory findOrCreateNetworkDevStatsLocked(NetworkIdentitySet ident) {
+        return findOrCreateNetworkStatsLocked(ident, mNetworkDevStats);
+    }
+
+    private NetworkStatsHistory findOrCreateNetworkStatsLocked(
+            NetworkIdentitySet ident, HashMap<NetworkIdentitySet, NetworkStatsHistory> source) {
+        final NetworkStatsHistory existing = source.get(ident);
 
         // update when no existing, or when bucket duration changed
         final long bucketDuration = mSettings.getNetworkBucketDuration();
@@ -944,7 +1062,7 @@
         }
 
         if (updated != null) {
-            mNetworkStats.put(ident, updated);
+            source.put(ident, updated);
             return updated;
         } else {
             return existing;
@@ -977,15 +1095,24 @@
         }
     }
 
-    private void readNetworkStatsLocked() {
-        if (LOGV) Slog.v(TAG, "readNetworkStatsLocked()");
+    private void readNetworkDevStatsLocked() {
+        if (LOGV) Slog.v(TAG, "readNetworkDevStatsLocked()");
+        readNetworkStats(mNetworkDevFile, mNetworkDevStats);
+    }
 
+    private void readNetworkXtStatsLocked() {
+        if (LOGV) Slog.v(TAG, "readNetworkXtStatsLocked()");
+        readNetworkStats(mNetworkXtFile, mNetworkXtStats);
+    }
+
+    private static void readNetworkStats(
+            AtomicFile inputFile, HashMap<NetworkIdentitySet, NetworkStatsHistory> output) {
         // clear any existing stats and read from disk
-        mNetworkStats.clear();
+        output.clear();
 
         DataInputStream in = null;
         try {
-            in = new DataInputStream(new BufferedInputStream(mNetworkFile.openRead()));
+            in = new DataInputStream(new BufferedInputStream(inputFile.openRead()));
 
             // verify file magic header intact
             final int magic = in.readInt();
@@ -1001,7 +1128,7 @@
                     for (int i = 0; i < size; i++) {
                         final NetworkIdentitySet ident = new NetworkIdentitySet(in);
                         final NetworkStatsHistory history = new NetworkStatsHistory(in);
-                        mNetworkStats.put(ident, history);
+                        output.put(ident, history);
                     }
                     break;
                 }
@@ -1091,41 +1218,50 @@
         }
     }
 
-    private void writeNetworkStatsLocked() {
-        if (LOGV) Slog.v(TAG, "writeNetworkStatsLocked()");
+    private void writeNetworkDevStatsLocked() {
+        if (LOGV) Slog.v(TAG, "writeNetworkDevStatsLocked()");
+        writeNetworkStats(mNetworkDevStats, mNetworkDevFile);
+    }
 
+    private void writeNetworkXtStatsLocked() {
+        if (LOGV) Slog.v(TAG, "writeNetworkXtStatsLocked()");
+        writeNetworkStats(mNetworkXtStats, mNetworkXtFile);
+    }
+
+    private void writeNetworkStats(
+            HashMap<NetworkIdentitySet, NetworkStatsHistory> input, AtomicFile outputFile) {
         // TODO: consider duplicating stats and releasing lock while writing
 
         // trim any history beyond max
         if (mTime.hasCache()) {
             final long currentTime = mTime.currentTimeMillis();
             final long maxHistory = mSettings.getNetworkMaxHistory();
-            for (NetworkStatsHistory history : mNetworkStats.values()) {
+            for (NetworkStatsHistory history : input.values()) {
                 history.removeBucketsBefore(currentTime - maxHistory);
             }
         }
 
         FileOutputStream fos = null;
         try {
-            fos = mNetworkFile.startWrite();
+            fos = outputFile.startWrite();
             final DataOutputStream out = new DataOutputStream(new BufferedOutputStream(fos));
 
             out.writeInt(FILE_MAGIC);
             out.writeInt(VERSION_NETWORK_INIT);
 
-            out.writeInt(mNetworkStats.size());
-            for (NetworkIdentitySet ident : mNetworkStats.keySet()) {
-                final NetworkStatsHistory history = mNetworkStats.get(ident);
+            out.writeInt(input.size());
+            for (NetworkIdentitySet ident : input.keySet()) {
+                final NetworkStatsHistory history = input.get(ident);
                 ident.writeToStream(out);
                 history.writeToStream(out);
             }
 
             out.flush();
-            mNetworkFile.finishWrite(fos);
+            outputFile.finishWrite(fos);
         } catch (IOException e) {
             Log.wtf(TAG, "problem writing stats", e);
             if (fos != null) {
-                mNetworkFile.failWrite(fos);
+                outputFile.failWrite(fos);
             }
         }
     }
@@ -1215,7 +1351,7 @@
         synchronized (mStatsLock) {
             // TODO: remove this testing code, since it corrupts stats
             if (argSet.contains("generate")) {
-                generateRandomLocked();
+                generateRandomLocked(args);
                 pw.println("Generated stub stats");
                 return;
             }
@@ -1233,9 +1369,16 @@
                 pw.print(" ident="); pw.println(ident.toString());
             }
 
-            pw.println("Known historical stats:");
-            for (NetworkIdentitySet ident : mNetworkStats.keySet()) {
-                final NetworkStatsHistory history = mNetworkStats.get(ident);
+            pw.println("Known historical dev stats:");
+            for (NetworkIdentitySet ident : mNetworkDevStats.keySet()) {
+                final NetworkStatsHistory history = mNetworkDevStats.get(ident);
+                pw.print("  ident="); pw.println(ident.toString());
+                history.dump("  ", pw, fullHistory);
+            }
+
+            pw.println("Known historical xt stats:");
+            for (NetworkIdentitySet ident : mNetworkXtStats.keySet()) {
+                final NetworkStatsHistory history = mNetworkXtStats.get(ident);
                 pw.print("  ident="); pw.println(ident.toString());
                 history.dump("  ", pw, fullHistory);
             }
@@ -1267,39 +1410,78 @@
      * @deprecated only for temporary testing
      */
     @Deprecated
-    private void generateRandomLocked() {
-        final long NET_END = System.currentTimeMillis();
-        final long NET_START = NET_END - mSettings.getNetworkMaxHistory();
-        final long NET_RX_BYTES = 3 * GB_IN_BYTES;
-        final long NET_RX_PACKETS = NET_RX_BYTES / 1024;
-        final long NET_TX_BYTES = 2 * GB_IN_BYTES;
-        final long NET_TX_PACKETS = NET_TX_BYTES / 1024;
+    private void generateRandomLocked(String[] args) {
+        final long totalBytes = Long.parseLong(args[1]);
+        final long totalTime = Long.parseLong(args[2]);
+        
+        final PackageManager pm = mContext.getPackageManager();
+        final ArrayList<Integer> specialUidList = Lists.newArrayList();
+        for (int i = 3; i < args.length; i++) {
+            try {
+                specialUidList.add(pm.getApplicationInfo(args[i], 0).uid);
+            } catch (NameNotFoundException e) {
+                throw new RuntimeException(e);
+            }
+        }
 
-        final long UID_END = System.currentTimeMillis();
-        final long UID_START = UID_END - mSettings.getUidMaxHistory();
-        final long UID_RX_BYTES = 500 * MB_IN_BYTES;
-        final long UID_RX_PACKETS = UID_RX_BYTES / 1024;
-        final long UID_TX_BYTES = 100 * MB_IN_BYTES;
-        final long UID_TX_PACKETS = UID_TX_BYTES / 1024;
-        final long UID_OPERATIONS = UID_RX_BYTES / 2048;
+        final HashSet<Integer> otherUidSet = Sets.newHashSet();
+        for (ApplicationInfo info : pm.getInstalledApplications(0)) {
+            if (pm.checkPermission(android.Manifest.permission.INTERNET, info.packageName)
+                    == PackageManager.PERMISSION_GRANTED && !specialUidList.contains(info.uid)) {
+                otherUidSet.add(info.uid);
+            }
+        }
 
-        final List<ApplicationInfo> installedApps = mContext
-                .getPackageManager().getInstalledApplications(0);
+        final ArrayList<Integer> otherUidList = new ArrayList<Integer>(otherUidSet);
 
-        mNetworkStats.clear();
+        final long end = System.currentTimeMillis();
+        final long start = end - totalTime;
+
+        mNetworkDevStats.clear();
+        mNetworkXtStats.clear();
         mUidStats.clear();
-        for (NetworkIdentitySet ident : mActiveIfaces.values()) {
-            findOrCreateNetworkStatsLocked(ident).generateRandom(NET_START, NET_END, NET_RX_BYTES,
-                    NET_RX_PACKETS, NET_TX_BYTES, NET_TX_PACKETS, 0L);
 
-            for (ApplicationInfo info : installedApps) {
-                final int uid = info.uid;
-                findOrCreateUidStatsLocked(ident, uid, SET_DEFAULT, TAG_NONE).generateRandom(
-                        UID_START, UID_END, UID_RX_BYTES, UID_RX_PACKETS, UID_TX_BYTES,
-                        UID_TX_PACKETS, UID_OPERATIONS);
-                findOrCreateUidStatsLocked(ident, uid, SET_FOREGROUND, TAG_NONE).generateRandom(
-                        UID_START, UID_END, UID_RX_BYTES, UID_RX_PACKETS, UID_TX_BYTES,
-                        UID_TX_PACKETS, UID_OPERATIONS);
+        final Random r = new Random();
+        for (NetworkIdentitySet ident : mActiveIfaces.values()) {
+            final NetworkStatsHistory devHistory = findOrCreateNetworkDevStatsLocked(ident);
+            final NetworkStatsHistory xtHistory = findOrCreateNetworkXtStatsLocked(ident);
+
+            final ArrayList<Integer> uidList = new ArrayList<Integer>();
+            uidList.addAll(specialUidList);
+
+            if (uidList.size() == 0) {
+                Collections.shuffle(otherUidList);
+                uidList.addAll(otherUidList);
+            }
+
+            boolean first = true;
+            long remainingBytes = totalBytes;
+            for (int uid : uidList) {
+                final NetworkStatsHistory defaultHistory = findOrCreateUidStatsLocked(
+                        ident, uid, SET_DEFAULT, TAG_NONE);
+                final NetworkStatsHistory foregroundHistory = findOrCreateUidStatsLocked(
+                        ident, uid, SET_FOREGROUND, TAG_NONE);
+
+                final long uidBytes = totalBytes / uidList.size();
+
+                final float fractionDefault = r.nextFloat();
+                final long defaultBytes = (long) (uidBytes * fractionDefault);
+                final long foregroundBytes = (long) (uidBytes * (1 - fractionDefault));
+
+                defaultHistory.generateRandom(start, end, defaultBytes);
+                foregroundHistory.generateRandom(start, end, foregroundBytes);
+
+                if (first) {
+                    final long bumpTime = (start + end) / 2;
+                    defaultHistory.recordData(
+                            bumpTime, bumpTime + DAY_IN_MILLIS, 200 * MB_IN_BYTES, 0);
+                    first = false;
+                }
+
+                devHistory.recordEntireHistory(defaultHistory);
+                devHistory.recordEntireHistory(foregroundHistory);
+                xtHistory.recordEntireHistory(defaultHistory);
+                xtHistory.recordEntireHistory(foregroundHistory);
             }
         }
     }
@@ -1322,6 +1504,10 @@
         }
     }
 
+    private static NetworkStats computeNetworkXtSnapshotFromUid(NetworkStats uidSnapshot) {
+        return uidSnapshot.groupedByIface();
+    }
+
     private int estimateNetworkBuckets() {
         return (int) (mSettings.getNetworkMaxHistory() / mSettings.getNetworkBucketDuration());
     }
@@ -1356,6 +1542,10 @@
                     performPoll(flags);
                     return true;
                 }
+                case MSG_UPDATE_IFACES: {
+                    updateIfaces();
+                    return true;
+                }
                 default: {
                     return false;
                 }
diff --git a/services/java/com/android/server/pm/PackageManagerService.java b/services/java/com/android/server/pm/PackageManagerService.java
index 105e603..19dd606 100644
--- a/services/java/com/android/server/pm/PackageManagerService.java
+++ b/services/java/com/android/server/pm/PackageManagerService.java
@@ -72,6 +72,7 @@
 import android.content.pm.UserInfo;
 import android.content.pm.ManifestDigest;
 import android.content.pm.VerifierDeviceIdentity;
+import android.content.pm.VerifierInfo;
 import android.net.Uri;
 import android.os.Binder;
 import android.os.Build;
@@ -113,6 +114,8 @@
 import java.io.InputStream;
 import java.io.PrintWriter;
 import java.security.NoSuchAlgorithmException;
+import java.security.PublicKey;
+import java.security.cert.CertificateException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -158,6 +161,7 @@
     private static final boolean DEBUG_INTENT_MATCHING = false;
     private static final boolean DEBUG_PACKAGE_SCANNING = false;
     private static final boolean DEBUG_APP_DIR_OBSERVER = false;
+    private static final boolean DEBUG_VERIFY = false;
 
     static final boolean MULTIPLE_APPLICATION_UIDS = true;
     private static final int RADIO_UID = Process.PHONE_UID;
@@ -208,6 +212,8 @@
             DEFAULT_CONTAINER_PACKAGE,
             "com.android.defcontainer.DefaultContainerService");
 
+    private static final String PACKAGE_MIME_TYPE = "application/vnd.android.package-archive";
+
     private static final String LIB_DIR_NAME = "lib";
 
     static final String mTempContainerPrefix = "smdl2tmp";
@@ -349,7 +355,8 @@
     final HashSet<String> mProtectedBroadcasts = new HashSet<String>();
 
     /** List of packages waiting for verification. */
-    final SparseArray<InstallArgs> mPendingVerification = new SparseArray<InstallArgs>();
+    final SparseArray<PackageVerificationState> mPendingVerification
+            = new SparseArray<PackageVerificationState>();
 
     final ArrayList<PackageParser.Package> mDeferredDexOpt =
             new ArrayList<PackageParser.Package>();
@@ -427,6 +434,8 @@
     final SparseArray<PostInstallData> mRunningInstalls = new SparseArray<PostInstallData>();
     int mNextInstallToken = 1;  // nonzero; will be wrapped back to 1 when ++ overflows
 
+    private final String mRequiredVerifierPackage;
+
     class PackageHandler extends Handler {
         private boolean mBound = false;
         final ArrayList<HandlerParams> mPendingInstalls =
@@ -740,10 +749,11 @@
                 } break;
                 case CHECK_PENDING_VERIFICATION: {
                     final int verificationId = msg.arg1;
-                    final InstallArgs args = mPendingVerification.get(verificationId);
+                    final PackageVerificationState state = mPendingVerification.get(verificationId);
 
-                    if (args != null) {
-                        Slog.i(TAG, "Validation timed out for " + args.packageURI.toString());
+                    if (state != null) {
+                        final InstallArgs args = state.getInstallArgs();
+                        Slog.i(TAG, "Verification timed out for " + args.packageURI.toString());
                         mPendingVerification.remove(verificationId);
 
                         int ret = PackageManager.INSTALL_FAILED_VERIFICATION_TIMEOUT;
@@ -756,32 +766,39 @@
                 }
                 case PACKAGE_VERIFIED: {
                     final int verificationId = msg.arg1;
-                    final boolean verified = msg.arg2 == 1 ? true : false;
 
-                    final InstallArgs args = mPendingVerification.get(verificationId);
-                    if (args == null) {
-                        Slog.w(TAG, "Invalid validation token " + verificationId + " received");
+                    final PackageVerificationState state = mPendingVerification.get(verificationId);
+                    if (state == null) {
+                        Slog.w(TAG, "Invalid verification token " + verificationId + " received");
                         break;
                     }
 
-                    mPendingVerification.remove(verificationId);
+                    final PackageVerificationResponse response = (PackageVerificationResponse) msg.obj;
 
-                    int ret;
-                    if (verified) {
-                        ret = PackageManager.INSTALL_FAILED_INTERNAL_ERROR;
-                        try {
-                            ret = args.copyApk(mContainerService, true);
-                        } catch (RemoteException e) {
-                            Slog.e(TAG, "Could not contact the ContainerService");
+                    state.setVerifierResponse(response.callerUid, response.code);
+
+                    if (state.isVerificationComplete()) {
+                        mPendingVerification.remove(verificationId);
+
+                        final InstallArgs args = state.getInstallArgs();
+
+                        int ret;
+                        if (state.isInstallAllowed()) {
+                            ret = PackageManager.INSTALL_FAILED_INTERNAL_ERROR;
+                            try {
+                                ret = args.copyApk(mContainerService, true);
+                            } catch (RemoteException e) {
+                                Slog.e(TAG, "Could not contact the ContainerService");
+                            }
+                        } else {
+                            ret = PackageManager.INSTALL_FAILED_VERIFICATION_FAILURE;
                         }
-                    } else {
-                        ret = PackageManager.INSTALL_FAILED_VERIFICATION_FAILURE;
+
+                        processPendingInstall(args, ret);
+
+                        mHandler.sendEmptyMessage(MCS_UNBIND);
                     }
 
-                    processPendingInstall(args, ret);
-
-                    mHandler.sendEmptyMessage(MCS_UNBIND);
-
                     break;
                 }
             }
@@ -945,7 +962,8 @@
                     } catch (FileNotFoundException e) {
                         Slog.w(TAG, "Boot class path not found: " + paths[i]);
                     } catch (IOException e) {
-                        Slog.w(TAG, "Exception reading boot class path: " + paths[i], e);
+                        Slog.w(TAG, "Cannot dexopt " + paths[i] + "; is it an APK or JAR? "
+                                + e.getMessage());
                     }
                 }
             } else {
@@ -968,7 +986,8 @@
                     } catch (FileNotFoundException e) {
                         Slog.w(TAG, "Library not found: " + lib);
                     } catch (IOException e) {
-                        Slog.w(TAG, "Exception reading library: " + lib, e);
+                        Slog.w(TAG, "Cannot dexopt " + lib + "; is it an APK or JAR? "
+                                + e.getMessage());
                     }
                 }
             }
@@ -1132,10 +1151,49 @@
             // are all flushed.  Not really needed, but keeps things nice and
             // tidy.
             Runtime.getRuntime().gc();
+
+            mRequiredVerifierPackage = getRequiredVerifierLPr();
         } // synchronized (mPackages)
         } // synchronized (mInstallLock)
     }
 
+    private String getRequiredVerifierLPr() {
+        final Intent verification = new Intent(Intent.ACTION_PACKAGE_NEEDS_VERIFICATION);
+        final List<ResolveInfo> receivers = queryIntentReceivers(verification, PACKAGE_MIME_TYPE,
+                PackageManager.GET_DISABLED_COMPONENTS);
+
+        String requiredVerifier = null;
+
+        final int N = receivers.size();
+        for (int i = 0; i < N; i++) {
+            final ResolveInfo info = receivers.get(i);
+
+            if (info.activityInfo == null) {
+                continue;
+            }
+
+            final String packageName = info.activityInfo.packageName;
+
+            final PackageSetting ps = mSettings.mPackages.get(packageName);
+            if (ps == null) {
+                continue;
+            }
+
+            if (!ps.grantedPermissions
+                    .contains(android.Manifest.permission.PACKAGE_VERIFICATION_AGENT)) {
+                continue;
+            }
+
+            if (requiredVerifier != null) {
+                throw new RuntimeException("There can be only one required verifier");
+            }
+
+            requiredVerifier = packageName;
+        }
+
+        return requiredVerifier;
+    }
+
     @Override
     public boolean onTransact(int code, Parcel data, Parcel reply, int flags)
             throws RemoteException {
@@ -4350,7 +4408,10 @@
             if (p != null) {
                 PackageSetting ps = (PackageSetting)p.mExtras;
                 if (ps != null) {
-                    return ps.stopped;
+                    // System apps are never considered stopped for purposes of
+                    // filtering, because there may be no way for the user to
+                    // actually re-launch them.
+                    return ps.stopped && (ps.pkgFlags&ApplicationInfo.FLAG_SYSTEM) == 0;
                 }
             }
             return false;
@@ -4522,7 +4583,10 @@
             if (p != null) {
                 PackageSetting ps = (PackageSetting)p.mExtras;
                 if (ps != null) {
-                    return ps.stopped;
+                    // System apps are never considered stopped for purposes of
+                    // filtering, because there may be no way for the user to
+                    // actually re-launch them.
+                    return ps.stopped && (ps.pkgFlags&ApplicationInfo.FLAG_SYSTEM) == 0;
                 }
             }
             return false;
@@ -4849,17 +4913,110 @@
     }
 
     @Override
-    public void verifyPendingInstall(int id, int verificationCode)
-            throws RemoteException {
-        mContext.enforceCallingOrSelfPermission(
-                android.Manifest.permission.PACKAGE_VERIFICATION_AGENT, null);
-
+    public void verifyPendingInstall(int id, int verificationCode) throws RemoteException {
         final Message msg = mHandler.obtainMessage(PACKAGE_VERIFIED);
+        final PackageVerificationResponse response = new PackageVerificationResponse(
+                verificationCode, Binder.getCallingUid());
         msg.arg1 = id;
-        msg.arg2 = verificationCode;
+        msg.obj = response;
         mHandler.sendMessage(msg);
     }
 
+    private ComponentName matchComponentForVerifier(String packageName,
+            List<ResolveInfo> receivers) {
+        ActivityInfo targetReceiver = null;
+
+        final int NR = receivers.size();
+        for (int i = 0; i < NR; i++) {
+            final ResolveInfo info = receivers.get(i);
+            if (info.activityInfo == null) {
+                continue;
+            }
+
+            if (packageName.equals(info.activityInfo.packageName)) {
+                targetReceiver = info.activityInfo;
+                break;
+            }
+        }
+
+        if (targetReceiver == null) {
+            return null;
+        }
+
+        return new ComponentName(targetReceiver.packageName, targetReceiver.name);
+    }
+
+    private List<ComponentName> matchVerifiers(PackageInfoLite pkgInfo,
+            List<ResolveInfo> receivers, final PackageVerificationState verificationState) {
+        if (pkgInfo.verifiers.length == 0) {
+            return null;
+        }
+
+        final int N = pkgInfo.verifiers.length;
+        final List<ComponentName> sufficientVerifiers = new ArrayList<ComponentName>(N + 1);
+        for (int i = 0; i < N; i++) {
+            final VerifierInfo verifierInfo = pkgInfo.verifiers[i];
+
+            final ComponentName comp = matchComponentForVerifier(verifierInfo.packageName,
+                    receivers);
+            if (comp == null) {
+                continue;
+            }
+
+            final int verifierUid = getUidForVerifier(verifierInfo);
+            if (verifierUid == -1) {
+                continue;
+            }
+
+            if (DEBUG_VERIFY) {
+                Slog.d(TAG, "Added sufficient verifier " + verifierInfo.packageName
+                        + " with the correct signature");
+            }
+            sufficientVerifiers.add(comp);
+            verificationState.addSufficientVerifier(verifierUid);
+        }
+
+        return sufficientVerifiers;
+    }
+
+    private int getUidForVerifier(VerifierInfo verifierInfo) {
+        synchronized (mPackages) {
+            final PackageParser.Package pkg = mPackages.get(verifierInfo.packageName);
+            if (pkg == null) {
+                return -1;
+            } else if (pkg.mSignatures.length != 1) {
+                Slog.i(TAG, "Verifier package " + verifierInfo.packageName
+                        + " has more than one signature; ignoring");
+                return -1;
+            }
+
+            /*
+             * If the public key of the package's signature does not match
+             * our expected public key, then this is a different package and
+             * we should skip.
+             */
+
+            final byte[] expectedPublicKey;
+            try {
+                final Signature verifierSig = pkg.mSignatures[0];
+                final PublicKey publicKey = verifierSig.getPublicKey();
+                expectedPublicKey = publicKey.getEncoded();
+            } catch (CertificateException e) {
+                return -1;
+            }
+
+            final byte[] actualPublicKey = verifierInfo.publicKey.getEncoded();
+
+            if (!Arrays.equals(actualPublicKey, expectedPublicKey)) {
+                Slog.i(TAG, "Verifier package " + verifierInfo.packageName
+                        + " does not have the expected public key; ignoring");
+                return -1;
+            }
+
+            return pkg.applicationInfo.uid;
+        }
+    }
+
     public void finishPackageInstall(int token) {
         enforceSystemOrRoot("Only the system is allowed to finish installs");
 
@@ -5229,9 +5386,11 @@
          */
         public void handleStartCopy() throws RemoteException {
             int ret = PackageManager.INSTALL_SUCCEEDED;
-            boolean fwdLocked = (flags & PackageManager.INSTALL_FORWARD_LOCK) != 0;
-            boolean onSd = (flags & PackageManager.INSTALL_EXTERNAL) != 0;
-            boolean onInt = (flags & PackageManager.INSTALL_INTERNAL) != 0;
+            final boolean fwdLocked = (flags & PackageManager.INSTALL_FORWARD_LOCK) != 0;
+            final boolean onSd = (flags & PackageManager.INSTALL_EXTERNAL) != 0;
+            final boolean onInt = (flags & PackageManager.INSTALL_INTERNAL) != 0;
+            PackageInfoLite pkgLite = null;
+
             if (onInt && onSd) {
                 // Check if both bits are set.
                 Slog.w(TAG, "Conflicting flags specified for installing on both internal and external");
@@ -5253,7 +5412,6 @@
                 }
 
                 // Remote call to find out default install location
-                final PackageInfoLite pkgLite;
                 try {
                     mContext.grantUriPermission(DEFAULT_CONTAINER_PACKAGE, packageURI,
                             Intent.FLAG_GRANT_READ_URI_PERMISSION);
@@ -5296,21 +5454,27 @@
             }
 
             final InstallArgs args = createInstallArgs(this);
+            mArgs = args;
+
             if (ret == PackageManager.INSTALL_SUCCEEDED) {
                 /*
                  * Determine if we have any installed package verifiers. If we
                  * do, then we'll defer to them to verify the packages.
                  */
-                final Intent verification = new Intent(Intent.ACTION_PACKAGE_NEEDS_VERIFICATION,
-                        packageURI);
-                verification.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
+                final int requiredUid = mRequiredVerifierPackage == null ? -1
+                        : getPackageUid(mRequiredVerifierPackage);
+                if (requiredUid != -1 && isVerificationEnabled()) {
+                    final Intent verification = new Intent(Intent.ACTION_PACKAGE_NEEDS_VERIFICATION);
+                    verification.setDataAndType(packageURI, PACKAGE_MIME_TYPE);
+                    verification.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
 
-                final List<ResolveInfo> receivers = queryIntentReceivers(verification, null,
-                        PackageManager.GET_DISABLED_COMPONENTS);
-                if (isVerificationEnabled() && receivers.size() > 0) {
-                    if (DEBUG_INSTALL) {
+                    final List<ResolveInfo> receivers = queryIntentReceivers(verification, null,
+                            PackageManager.GET_DISABLED_COMPONENTS);
+
+                    if (DEBUG_VERIFY) {
                         Slog.d(TAG, "Found " + receivers.size() + " verifiers for intent "
-                                + verification.toString());
+                                + verification.toString() + " with " + pkgLite.verifiers.length
+                                + " optional verifiers");
                     }
 
                     final int verificationId = mPendingVerificationToken++;
@@ -5327,35 +5491,70 @@
                                 verificationURI);
                     }
 
-                    mPendingVerification.append(verificationId, args);
+                    final PackageVerificationState verificationState = new PackageVerificationState(
+                            requiredUid, args);
+
+                    mPendingVerification.append(verificationId, verificationState);
+
+                    final List<ComponentName> sufficientVerifiers = matchVerifiers(pkgLite,
+                            receivers, verificationState);
 
                     /*
-                     * Send the intent to the registered verification agents,
-                     * but only start the verification timeout after the target
-                     * BroadcastReceivers have run.
+                     * If any sufficient verifiers were listed in the package
+                     * manifest, attempt to ask them.
                      */
-                    mContext.sendOrderedBroadcast(verification,
-                            android.Manifest.permission.PACKAGE_VERIFICATION_AGENT,
-                            new BroadcastReceiver() {
-                                @Override
-                                public void onReceive(Context context, Intent intent) {
-                                    final Message msg = mHandler
-                                            .obtainMessage(CHECK_PENDING_VERIFICATION);
-                                    msg.arg1 = verificationId;
-                                    mHandler.sendMessageDelayed(msg, getVerificationTimeout());
-                                }
-                            },
-                            null, 0, null, null);
+                    if (sufficientVerifiers != null) {
+                        final int N = sufficientVerifiers.size();
+                        if (N == 0) {
+                            Slog.i(TAG, "Additional verifiers required, but none installed.");
+                            ret = PackageManager.INSTALL_FAILED_VERIFICATION_FAILURE;
+                        } else {
+                            for (int i = 0; i < N; i++) {
+                                final ComponentName verifierComponent = sufficientVerifiers.get(i);
+
+                                final Intent sufficientIntent = new Intent(verification);
+                                sufficientIntent.setComponent(verifierComponent);
+
+                                mContext.sendBroadcast(sufficientIntent);
+                            }
+                        }
+                    }
+
+                    final ComponentName requiredVerifierComponent = matchComponentForVerifier(
+                            mRequiredVerifierPackage, receivers);
+                    if (ret == PackageManager.INSTALL_SUCCEEDED
+                            && mRequiredVerifierPackage != null) {
+                        /*
+                         * Send the intent to the required verification agent,
+                         * but only start the verification timeout after the
+                         * target BroadcastReceivers have run.
+                         */
+                        verification.setComponent(requiredVerifierComponent);
+                        mContext.sendOrderedBroadcast(verification,
+                                android.Manifest.permission.PACKAGE_VERIFICATION_AGENT,
+                                new BroadcastReceiver() {
+                                    @Override
+                                    public void onReceive(Context context, Intent intent) {
+                                        final Message msg = mHandler
+                                                .obtainMessage(CHECK_PENDING_VERIFICATION);
+                                        msg.arg1 = verificationId;
+                                        mHandler.sendMessageDelayed(msg, getVerificationTimeout());
+                                    }
+                                }, null, 0, null, null);
+
+                        /*
+                         * We don't want the copy to proceed until verification
+                         * succeeds, so null out this field.
+                         */
+                        mArgs = null;
+                    }
                 } else {
-                    // Create copy only if we are not in an erroneous state.
-                    // Remote call to initiate copy using temporary file
-                    mArgs = args;
+                    /*
+                     * No package verification is enabled, so immediately start
+                     * the remote call to initiate copy using temporary file.
+                     */
                     ret = args.copyApk(mContainerService, true);
                 }
-            } else {
-                // There was an error, so let the processPendingInstall() break
-                // the bad news... uh, through a call in handleReturnCode()
-                mArgs = args;
             }
 
             mRet = ret;
@@ -7541,6 +7740,8 @@
 
         public static final int DUMP_PROVIDERS = 1 << 7;
 
+        public static final int DUMP_VERIFIERS = 1 << 8;
+
         public static final int OPTION_SHOW_FILTERS = 1 << 0;
 
         private int mTypes;
@@ -7633,6 +7834,7 @@
                 pw.println("    p[ackages]: dump installed packages");
                 pw.println("    s[hared-users]: dump shared user IDs");
                 pw.println("    m[essages]: print collected runtime messages");
+                pw.println("    v[erifiers]: print package verifier info");
                 pw.println("    <package.name>: info about given package");
                 return;
             } else if ("-f".equals(opt)) {
@@ -7665,11 +7867,24 @@
                 dumpState.setDump(DumpState.DUMP_PROVIDERS);
             } else if ("m".equals(cmd) || "messages".equals(cmd)) {
                 dumpState.setDump(DumpState.DUMP_MESSAGES);
+            } else if ("v".equals(cmd) || "verifiers".equals(cmd)) {
+                dumpState.setDump(DumpState.DUMP_VERIFIERS);
             }
         }
 
         // reader
         synchronized (mPackages) {
+            if (dumpState.isDumping(DumpState.DUMP_VERIFIERS) && packageName == null) {
+                if (dumpState.onTitlePrinted())
+                    pw.println(" ");
+                pw.println("Verifiers:");
+                pw.print("  Required: ");
+                pw.print(mRequiredVerifierPackage);
+                pw.print(" (uid=");
+                pw.print(getPackageUid(mRequiredVerifierPackage));
+                pw.println(")");
+            }
+
             if (dumpState.isDumping(DumpState.DUMP_LIBS) && packageName == null) {
                 if (dumpState.onTitlePrinted())
                     pw.println(" ");
diff --git a/services/java/com/android/server/pm/PackageVerificationResponse.java b/services/java/com/android/server/pm/PackageVerificationResponse.java
new file mode 100644
index 0000000..b2ae0dd
--- /dev/null
+++ b/services/java/com/android/server/pm/PackageVerificationResponse.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.pm;
+
+public class PackageVerificationResponse {
+    public final int code;
+
+    public final int callerUid;
+
+    public PackageVerificationResponse(int code, int callerUid) {
+        this.code = code;
+        this.callerUid = callerUid;
+    }
+}
diff --git a/services/java/com/android/server/pm/PackageVerificationState.java b/services/java/com/android/server/pm/PackageVerificationState.java
new file mode 100644
index 0000000..e5b89c1
--- /dev/null
+++ b/services/java/com/android/server/pm/PackageVerificationState.java
@@ -0,0 +1,149 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.pm;
+
+import com.android.server.pm.PackageManagerService.InstallArgs;
+
+import android.content.pm.PackageManager;
+import android.util.SparseBooleanArray;
+
+/**
+ * Tracks the package verification state for a particular package. Each package
+ * verification has a required verifier and zero or more sufficient verifiers.
+ * Only one of the sufficient verifier list must return affirmative to allow the
+ * package to be considered verified. If there are zero sufficient verifiers,
+ * then package verification is considered complete.
+ */
+class PackageVerificationState {
+    private final InstallArgs mArgs;
+
+    private final SparseBooleanArray mSufficientVerifierUids;
+
+    private final int mRequiredVerifierUid;
+
+    private boolean mSufficientVerificationComplete;
+
+    private boolean mSufficientVerificationPassed;
+
+    private boolean mRequiredVerificationComplete;
+
+    private boolean mRequiredVerificationPassed;
+
+    /**
+     * Create a new package verification state where {@code requiredVerifierUid}
+     * is the user ID for the package that must reply affirmative before things
+     * can continue.
+     *
+     * @param requiredVerifierUid user ID of required package verifier
+     * @param args
+     */
+    public PackageVerificationState(int requiredVerifierUid, InstallArgs args) {
+        mRequiredVerifierUid = requiredVerifierUid;
+        mArgs = args;
+        mSufficientVerifierUids = new SparseBooleanArray();
+    }
+
+    public InstallArgs getInstallArgs() {
+        return mArgs;
+    }
+
+    /**
+     * Add a verifier which is added to our sufficient list.
+     *
+     * @param uid user ID of sufficient verifier
+     */
+    public void addSufficientVerifier(int uid) {
+        mSufficientVerifierUids.put(uid, true);
+    }
+
+    /**
+     * Should be called when a verification is received from an agent so the
+     * state of the package verification can be tracked.
+     *
+     * @param uid user ID of the verifying agent
+     * @return {@code true} if the verifying agent actually exists in our list
+     */
+    public boolean setVerifierResponse(int uid, int code) {
+        if (uid == mRequiredVerifierUid) {
+            mRequiredVerificationComplete = true;
+            switch (code) {
+                case PackageManager.VERIFICATION_ALLOW_WITHOUT_SUFFICIENT:
+                    mSufficientVerifierUids.clear();
+                    // fall through
+                case PackageManager.VERIFICATION_ALLOW:
+                    mRequiredVerificationPassed = true;
+                    break;
+                default:
+                    mRequiredVerificationPassed = false;
+            }
+            return true;
+        } else {
+            if (mSufficientVerifierUids.get(uid)) {
+                if (code == PackageManager.VERIFICATION_ALLOW) {
+                    mSufficientVerificationComplete = true;
+                    mSufficientVerificationPassed = true;
+                }
+
+                mSufficientVerifierUids.delete(uid);
+                if (mSufficientVerifierUids.size() == 0) {
+                    mSufficientVerificationComplete = true;
+                }
+
+                return true;
+            }
+        }
+
+        return false;
+    }
+
+    /**
+     * Returns whether verification is considered complete. This means that the
+     * required verifier and at least one of the sufficient verifiers has
+     * returned a positive verification.
+     *
+     * @return {@code true} when verification is considered complete
+     */
+    public boolean isVerificationComplete() {
+        if (!mRequiredVerificationComplete) {
+            return false;
+        }
+
+        if (mSufficientVerifierUids.size() == 0) {
+            return true;
+        }
+
+        return mSufficientVerificationComplete;
+    }
+
+    /**
+     * Returns whether installation should be allowed. This should only be
+     * called after {@link #isVerificationComplete()} returns {@code true}.
+     *
+     * @return {@code true} if installation should be allowed
+     */
+    public boolean isInstallAllowed() {
+        if (!mRequiredVerificationPassed) {
+            return false;
+        }
+
+        if (mSufficientVerificationComplete) {
+            return mSufficientVerificationPassed;
+        }
+
+        return true;
+    }
+}
diff --git a/services/java/com/android/server/wm/DragState.java b/services/java/com/android/server/wm/DragState.java
index dd440bf..f2e7485 100644
--- a/services/java/com/android/server/wm/DragState.java
+++ b/services/java/com/android/server/wm/DragState.java
@@ -125,6 +125,12 @@
             mDragWindowHandle.frameTop = 0;
             mDragWindowHandle.frameRight = mService.mCurDisplayWidth;
             mDragWindowHandle.frameBottom = mService.mCurDisplayHeight;
+
+            // Pause rotations before a drag.
+            if (WindowManagerService.DEBUG_ORIENTATION) {
+                Slog.d(WindowManagerService.TAG, "Pausing rotation during drag");
+            }
+            mService.pauseRotationLocked();
         }
     }
 
@@ -142,6 +148,12 @@
 
             mDragWindowHandle = null;
             mDragApplicationHandle = null;
+
+            // Resume rotations after a drag.
+            if (WindowManagerService.DEBUG_ORIENTATION) {
+                Slog.d(WindowManagerService.TAG, "Resuming rotation after drag");
+            }
+            mService.resumeRotationLocked();
         }
     }
 
@@ -257,13 +269,6 @@
         // free our resources and drop all the object references
         mService.mDragState.reset();
         mService.mDragState = null;
-
-        if (WindowManagerService.DEBUG_ORIENTATION) Slog.d(WindowManagerService.TAG, "Performing post-drag rotation");
-        boolean changed = mService.setRotationUncheckedLocked(
-                WindowManagerPolicy.USE_LAST_ROTATION, 0, false);
-        if (changed) {
-            mService.mH.sendEmptyMessage(H.SEND_NEW_CONFIGURATION);
-        }
     }
 
     void notifyMoveLw(float x, float y) {
diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java
index 30029be..f1994d1 100644
--- a/services/java/com/android/server/wm/WindowManagerService.java
+++ b/services/java/com/android/server/wm/WindowManagerService.java
@@ -427,14 +427,11 @@
     int mAppDisplayWidth = 0;
     int mAppDisplayHeight = 0;
     int mRotation = 0;
-    int mRequestedRotation = 0;
     int mForcedAppOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED;
     boolean mAltOrientation = false;
-    int mLastRotationFlags;
     ArrayList<IRotationWatcher> mRotationWatchers
             = new ArrayList<IRotationWatcher>();
-    int mDeferredRotation;
-    int mDeferredRotationAnimFlags;
+    int mDeferredRotationPauseCount;
 
     boolean mLayoutNeeded = true;
     boolean mAnimationPending = false;
@@ -3414,9 +3411,7 @@
                 //send a message to Policy indicating orientation change to take
                 //action like disabling/enabling sensors etc.,
                 mPolicy.setCurrentOrientationLw(req);
-                if (setRotationUncheckedLocked(WindowManagerPolicy.USE_LAST_ROTATION,
-                        mLastRotationFlags | Surface.FLAGS_ORIENTATION_ANIMATION_DISABLE,
-                        inTransaction)) {
+                if (updateRotationUncheckedLocked(inTransaction)) {
                     changed = true;
                 }
             }
@@ -4530,6 +4525,16 @@
         return mPolicy.isKeyguardSecure();
     }
 
+    public void dismissKeyguard() {
+        if (mContext.checkCallingOrSelfPermission(android.Manifest.permission.DISABLE_KEYGUARD)
+                != PackageManager.PERMISSION_GRANTED) {
+            throw new SecurityException("Requires DISABLE_KEYGUARD permission");
+        }
+        synchronized(mWindowMap) {
+            mPolicy.dismissKeyguardLw();
+        }
+    }
+
     public void closeSystemDialogs(String reason) {
         synchronized(mWindowMap) {
             for (int i=mWindows.size()-1; i>=0; i--) {
@@ -4823,8 +4828,7 @@
         mPolicy.enableScreenAfterBoot();
 
         // Make sure the last requested orientation has been applied.
-        setRotationUnchecked(WindowManagerPolicy.USE_LAST_ROTATION, false,
-                mLastRotationFlags | Surface.FLAGS_ORIENTATION_ANIMATION_DISABLE);
+        updateRotationUnchecked(false);
     }
 
     public void showBootMessage(final CharSequence msg, final boolean always) {
@@ -5043,18 +5047,33 @@
         return bm;
     }
 
-    public void freezeRotation() {
+    /**
+     * Freeze rotation changes.  (Enable "rotation lock".)
+     * Persists across reboots.
+     * @param rotation The desired rotation to freeze to, or -1 to use the
+     * current rotation.
+     */
+    public void freezeRotation(int rotation) {
         if (!checkCallingPermission(android.Manifest.permission.SET_ORIENTATION,
                 "freezeRotation()")) {
             throw new SecurityException("Requires SET_ORIENTATION permission");
         }
+        if (rotation < -1 || rotation > Surface.ROTATION_270) {
+            throw new IllegalArgumentException("Rotation argument must be -1 or a valid "
+                    + "rotation constant.");
+        }
 
         if (DEBUG_ORIENTATION) Slog.v(TAG, "freezeRotation: mRotation=" + mRotation);
 
-        mPolicy.setUserRotationMode(WindowManagerPolicy.USER_ROTATION_LOCKED, mRotation);
-        setRotationUnchecked(WindowManagerPolicy.USE_LAST_ROTATION, false, 0);
+        mPolicy.setUserRotationMode(WindowManagerPolicy.USER_ROTATION_LOCKED,
+                rotation == -1 ? mRotation : rotation);
+        updateRotationUnchecked(false);
     }
 
+    /**
+     * Thaw rotation changes.  (Disable "rotation lock".)
+     * Persists across reboots.
+     */
     public void thawRotation() {
         if (!checkCallingPermission(android.Manifest.permission.SET_ORIENTATION,
                 "thawRotation()")) {
@@ -5064,30 +5083,56 @@
         if (DEBUG_ORIENTATION) Slog.v(TAG, "thawRotation: mRotation=" + mRotation);
 
         mPolicy.setUserRotationMode(WindowManagerPolicy.USER_ROTATION_FREE, 777); // rot not used
-        setRotationUnchecked(WindowManagerPolicy.USE_LAST_ROTATION, false, 0);
+        updateRotationUnchecked(false);
     }
 
-    public void setRotation(int rotation,
-            boolean alwaysSendConfiguration, int animFlags) {
-        if (!checkCallingPermission(android.Manifest.permission.SET_ORIENTATION,
-                "setRotation()")) {
-            throw new SecurityException("Requires SET_ORIENTATION permission");
+    /**
+     * Recalculate the current rotation.
+     *
+     * Called by the window manager policy whenever the state of the system changes
+     * such that the current rotation might need to be updated, such as when the
+     * device is docked or rotated into a new posture.
+     */
+    public void updateRotation(boolean alwaysSendConfiguration) {
+        updateRotationUnchecked(alwaysSendConfiguration);
+    }
+
+    /**
+     * Temporarily pauses rotation changes until resumed.
+     *
+     * This can be used to prevent rotation changes from occurring while the user is
+     * performing certain operations, such as drag and drop.
+     *
+     * This call nests and must be matched by an equal number of calls to {@link #resumeRotation}.
+     */
+    void pauseRotationLocked() {
+        mDeferredRotationPauseCount += 1;
+    }
+
+    /**
+     * Resumes normal rotation changes after being paused.
+     */
+    void resumeRotationLocked() {
+        if (mDeferredRotationPauseCount > 0) {
+            mDeferredRotationPauseCount -= 1;
+            if (mDeferredRotationPauseCount == 0) {
+                boolean changed = updateRotationUncheckedLocked(false);
+                if (changed) {
+                    mH.sendEmptyMessage(H.SEND_NEW_CONFIGURATION);
+                }
+            }
         }
-
-        setRotationUnchecked(rotation, alwaysSendConfiguration, animFlags);
     }
 
-    public void setRotationUnchecked(int rotation,
-            boolean alwaysSendConfiguration, int animFlags) {
-        if(DEBUG_ORIENTATION) Slog.v(TAG,
-                   "setRotationUnchecked(rotation=" + rotation +
-                   " alwaysSendConfiguration=" + alwaysSendConfiguration +
-                   " animFlags=" + animFlags);
+    public void updateRotationUnchecked(
+            boolean alwaysSendConfiguration) {
+        if(DEBUG_ORIENTATION) Slog.v(TAG, "updateRotationUnchecked("
+                   + "alwaysSendConfiguration=" + alwaysSendConfiguration + ")");
 
         long origId = Binder.clearCallingIdentity();
         boolean changed;
         synchronized(mWindowMap) {
-            changed = setRotationUncheckedLocked(rotation, animFlags, false);
+            changed = updateRotationUncheckedLocked(false);
         }
 
         if (changed || alwaysSendConfiguration) {
@@ -5098,152 +5143,114 @@
     }
 
     /**
-     * Apply a new rotation to the screen, respecting the requests of
-     * applications.  Use WindowManagerPolicy.USE_LAST_ROTATION to simply
-     * re-evaluate the desired rotation.
-     * 
-     * Returns null if the rotation has been changed.  In this case YOU
-     * MUST CALL setNewConfiguration() TO UNFREEZE THE SCREEN.
+     * Updates the current rotation.
+     *
+     * Returns true if the rotation has been changed.  In this case YOU
+     * MUST CALL sendNewConfiguration() TO UNFREEZE THE SCREEN.
      */
-    public boolean setRotationUncheckedLocked(int rotation, int animFlags, boolean inTransaction) {
-        if (mDragState != null
-                || (mScreenRotationAnimation != null && mScreenRotationAnimation.isAnimating())) {
-            // Potential rotation during a drag or while waiting for a previous orientation
-            // change to finish (rotation animation will be dismissed).
-            // Don't do the rotation now, but make a note to perform the rotation later.
-            if (DEBUG_ORIENTATION) Slog.v(TAG, "Deferring rotation.");
-            if (rotation != WindowManagerPolicy.USE_LAST_ROTATION) {
-                mDeferredRotation = rotation;
-                mDeferredRotationAnimFlags = animFlags;
-            }
+    public boolean updateRotationUncheckedLocked(boolean inTransaction) {
+        if (mDeferredRotationPauseCount > 0) {
+            // Rotation updates have been paused temporarily.  Defer the update until
+            // updates have been resumed.
+            if (DEBUG_ORIENTATION) Slog.v(TAG, "Deferring rotation, rotation is paused.");
             return false;
         }
 
-        boolean changed;
-        if (rotation == WindowManagerPolicy.USE_LAST_ROTATION) {
-            if (mDeferredRotation != WindowManagerPolicy.USE_LAST_ROTATION) {
-                rotation = mDeferredRotation;
-                mRequestedRotation = rotation;
-                mLastRotationFlags = mDeferredRotationAnimFlags;
+        if (mScreenRotationAnimation != null && mScreenRotationAnimation.isAnimating()) {
+            // Rotation updates cannot be performed while the previous rotation change
+            // animation is still in progress.  Skip this update.  We will try updating
+            // again after the animation is finished and the display is unfrozen.
+            if (DEBUG_ORIENTATION) Slog.v(TAG, "Deferring rotation, animation in progress.");
+            return false;
+        }
+
+        if (!mDisplayEnabled) {
+            // No point choosing a rotation if the display is not enabled.
+            if (DEBUG_ORIENTATION) Slog.v(TAG, "Deferring rotation, display is not enabled.");
+            return false;
+        }
+
+        // TODO: Implement forced rotation changes.
+        //       Set mAltOrientation to indicate that the application is receiving
+        //       an orientation that has different metrics than it expected.
+        //       eg. Portrait instead of Landscape.
+
+        int rotation = mPolicy.rotationForOrientationLw(mForcedAppOrientation, mRotation);
+        boolean altOrientation = !mPolicy.rotationHasCompatibleMetricsLw(
+                mForcedAppOrientation, rotation);
+
+        if (DEBUG_ORIENTATION) {
+            Slog.v(TAG, "Application requested orientation "
+                    + mForcedAppOrientation + ", got rotation " + rotation
+                    + " which has " + (altOrientation ? "incompatible" : "compatible")
+                    + " metrics");
+        }
+
+        if (mRotation == rotation && mAltOrientation == altOrientation) {
+            // No change.
+            return false;
+        }
+
+        if (DEBUG_ORIENTATION) {
+            Slog.v(TAG,
+                "Rotation changed to " + rotation + (altOrientation ? " (alt)" : "")
+                + " from " + mRotation + (mAltOrientation ? " (alt)" : "")
+                + ", forceApp=" + mForcedAppOrientation);
+        }
+
+        mRotation = rotation;
+        mAltOrientation = altOrientation;
+        mPolicy.setRotationLw(mRotation);
+
+        mWindowsFreezingScreen = true;
+        mH.removeMessages(H.WINDOW_FREEZE_TIMEOUT);
+        mH.sendMessageDelayed(mH.obtainMessage(H.WINDOW_FREEZE_TIMEOUT), 2000);
+        mWaitingForConfig = true;
+        mLayoutNeeded = true;
+        startFreezingDisplayLocked(inTransaction);
+        mInputManager.setDisplayOrientation(0, rotation);
+
+        // NOTE: We disable the rotation in the emulator because
+        //       it doesn't support hardware OpenGL emulation yet.
+        if (CUSTOM_SCREEN_ROTATION && mScreenRotationAnimation != null
+                && mScreenRotationAnimation.hasScreenshot()) {
+            Surface.freezeDisplay(0);
+            if (!inTransaction) {
+                if (SHOW_TRANSACTIONS) Slog.i(TAG,
+                        ">>> OPEN TRANSACTION setRotationUnchecked");
+                Surface.openTransaction();
             }
-            rotation = mRequestedRotation;
+            try {
+                if (mScreenRotationAnimation != null) {
+                    mScreenRotationAnimation.setRotation(rotation);
+                }
+            } finally {
+                if (!inTransaction) {
+                    Surface.closeTransaction();
+                    if (SHOW_TRANSACTIONS) Slog.i(TAG,
+                            "<<< CLOSE TRANSACTION setRotationUnchecked");
+                }
+            }
+            Surface.setOrientation(0, rotation);
+            Surface.unfreezeDisplay(0);
         } else {
-            mRequestedRotation = rotation;
-            mLastRotationFlags = animFlags;
+            Surface.setOrientation(0, rotation);
         }
-        mDeferredRotation = WindowManagerPolicy.USE_LAST_ROTATION;
-        if (DEBUG_ORIENTATION) Slog.v(TAG, "Overwriting rotation value from " + rotation);
-        rotation = mPolicy.rotationForOrientationLw(mForcedAppOrientation,
-                mRotation, mDisplayEnabled);
-        if (DEBUG_ORIENTATION) Slog.v(TAG, "new rotation is set to " + rotation);
+        rebuildBlackFrame(inTransaction);
 
-        int desiredRotation = rotation;
-        int lockedRotation = mPolicy.getLockedRotationLw();
-        if (lockedRotation >= 0 && rotation != lockedRotation) {
-            // We are locked in a rotation but something is requesting
-            // a different rotation...  we will either keep the locked
-            // rotation if it results in the same orientation, or have to
-            // switch into an emulated orientation mode.
-
-            // First, we know that our rotation is actually going to be
-            // the locked rotation.
-            rotation = lockedRotation;
-
-            // Now the difference between the desired and lockedRotation
-            // may mean that the orientation is different...  if that is
-            // not the case, we can just make the desired rotation be the
-            // same as the new locked rotation.
-            switch (lockedRotation) {
-                case Surface.ROTATION_0:
-                    if (rotation == Surface.ROTATION_180) {
-                        desiredRotation = lockedRotation;
-                    }
-                    break;
-                case Surface.ROTATION_90:
-                    if (rotation == Surface.ROTATION_270) {
-                        desiredRotation = lockedRotation;
-                    }
-                    break;
-                case Surface.ROTATION_180:
-                    if (rotation == Surface.ROTATION_0) {
-                        desiredRotation = lockedRotation;
-                    }
-                    break;
-                case Surface.ROTATION_270:
-                    if (rotation == Surface.ROTATION_90) {
-                        desiredRotation = lockedRotation;
-                    }
-                    break;
+        for (int i=mWindows.size()-1; i>=0; i--) {
+            WindowState w = mWindows.get(i);
+            if (w.mSurface != null) {
+                w.mOrientationChanging = true;
             }
         }
-
-        changed = mDisplayEnabled && mRotation != rotation;
-        if (mAltOrientation != (rotation != desiredRotation)) {
-            changed = true;
-            mAltOrientation = rotation != desiredRotation;
+        for (int i=mRotationWatchers.size()-1; i>=0; i--) {
+            try {
+                mRotationWatchers.get(i).onRotationChanged(rotation);
+            } catch (RemoteException e) {
+            }
         }
-
-        if (changed) {
-            if (DEBUG_ORIENTATION) Slog.v(TAG,
-                    "Rotation changed to " + rotation
-                    + " from " + mRotation
-                    + " (forceApp=" + mForcedAppOrientation
-                    + ", req=" + mRequestedRotation + ")");
-            mRotation = rotation;
-            mWindowsFreezingScreen = true;
-            mH.removeMessages(H.WINDOW_FREEZE_TIMEOUT);
-            mH.sendMessageDelayed(mH.obtainMessage(H.WINDOW_FREEZE_TIMEOUT),
-                    2000);
-            mWaitingForConfig = true;
-            mLayoutNeeded = true;
-            startFreezingDisplayLocked(inTransaction);
-            //Slog.i(TAG, "Setting rotation to " + rotation + ", animFlags=" + animFlags);
-            mInputManager.setDisplayOrientation(0, rotation);
-            if (mDisplayEnabled) {
-                // NOTE: We disable the rotation in the emulator because
-                //       it doesn't support hardware OpenGL emulation yet.
-                if (CUSTOM_SCREEN_ROTATION && mScreenRotationAnimation != null
-                        && mScreenRotationAnimation.hasScreenshot()) {
-                    Surface.freezeDisplay(0);
-                    if (!inTransaction) {
-                        if (SHOW_TRANSACTIONS) Slog.i(TAG,
-                                ">>> OPEN TRANSACTION setRotationUnchecked");
-                        Surface.openTransaction();
-                    }
-                    try {
-                        if (mScreenRotationAnimation != null) {
-                            mScreenRotationAnimation.setRotation(rotation);
-                        }
-                    } finally {
-                        if (!inTransaction) {
-                            Surface.closeTransaction();
-                            if (SHOW_TRANSACTIONS) Slog.i(TAG,
-                                    "<<< CLOSE TRANSACTION setRotationUnchecked");
-                        }
-                    }
-                    Surface.setOrientation(0, rotation, animFlags);
-                    Surface.unfreezeDisplay(0);
-                } else {
-                    Surface.setOrientation(0, rotation, animFlags);
-                }
-                rebuildBlackFrame(inTransaction);
-            }
-
-            for (int i=mWindows.size()-1; i>=0; i--) {
-                WindowState w = mWindows.get(i);
-                if (w.mSurface != null) {
-                    w.mOrientationChanging = true;
-                }
-            }
-            for (int i=mRotationWatchers.size()-1; i>=0; i--) {
-                try {
-                    mRotationWatchers.get(i).onRotationChanged(rotation);
-                } catch (RemoteException e) {
-                }
-            }
-        } //end if changed
-
-        return changed;
+        return true;
     }
 
     public int getRotation() {
@@ -5704,6 +5711,7 @@
 
     Configuration computeNewConfigurationLocked() {
         Configuration config = new Configuration();
+        config.fontScale = 0;
         if (!computeNewConfigurationLocked(config)) {
             return null;
         }
@@ -5732,9 +5740,9 @@
             unrotDh = dh;
         }
         int sw = reduceConfigWidthSize(unrotDw, Surface.ROTATION_0, density, unrotDw, unrotDh);
-        sw = reduceConfigWidthSize(sw, Surface.ROTATION_90, density, unrotDw, unrotDh);
+        sw = reduceConfigWidthSize(sw, Surface.ROTATION_90, density, unrotDh, unrotDw);
         sw = reduceConfigWidthSize(sw, Surface.ROTATION_180, density, unrotDw, unrotDh);
-        sw = reduceConfigWidthSize(sw, Surface.ROTATION_270, density, unrotDw, unrotDh);
+        sw = reduceConfigWidthSize(sw, Surface.ROTATION_270, density, unrotDh, unrotDw);
         return sw;
     }
 
@@ -8601,8 +8609,7 @@
 
         if (updateRotation) {
             if (DEBUG_ORIENTATION) Slog.d(TAG, "Performing post-rotate rotation");
-            boolean changed = setRotationUncheckedLocked(
-                    WindowManagerPolicy.USE_LAST_ROTATION, 0, false);
+            boolean changed = updateRotationUncheckedLocked(false);
             if (changed) {
                 mH.sendEmptyMessage(H.SEND_NEW_CONFIGURATION);
             } else {
@@ -9003,8 +9010,8 @@
                 mScreenRotationAnimation = null;
             }
             updateRotation = true;
-            Surface.unfreezeDisplay(0);
         }
+        Surface.unfreezeDisplay(0);
 
         mInputMonitor.thawInputDispatchingLw();
 
@@ -9029,8 +9036,7 @@
         
         if (updateRotation) {
             if (DEBUG_ORIENTATION) Slog.d(TAG, "Performing post-rotate rotation");
-            configChanged |= setRotationUncheckedLocked(
-                    WindowManagerPolicy.USE_LAST_ROTATION, 0, false);
+            configChanged |= updateRotationUncheckedLocked(false);
         }
         
         if (configChanged) {
@@ -9403,12 +9409,10 @@
                     pw.print(" mAppsFreezingScreen="); pw.print(mAppsFreezingScreen);
                     pw.print(" mWaitingForConfig="); pw.println(mWaitingForConfig);
             pw.print("  mRotation="); pw.print(mRotation);
-                    pw.print(" mRequestedRotation="); pw.print(mRequestedRotation);
                     pw.print(" mAltOrientation="); pw.println(mAltOrientation);
             pw.print("  mLastWindowForcedOrientation"); pw.print(mLastWindowForcedOrientation);
                     pw.print(" mForcedAppOrientation="); pw.println(mForcedAppOrientation);
-            pw.print("  mDeferredRotation="); pw.print(mDeferredRotation);
-                    pw.print(", mDeferredRotationAnimFlags="); pw.println(mDeferredRotationAnimFlags);
+            pw.print("  mDeferredRotationPauseCount="); pw.println(mDeferredRotationPauseCount);
             pw.print("  mAnimationPending="); pw.print(mAnimationPending);
                     pw.print(" mWindowAnimationScale="); pw.print(mWindowAnimationScale);
                     pw.print(" mTransitionWindowAnimationScale="); pw.println(mTransitionAnimationScale);
diff --git a/services/java/com/android/server/wm/WindowState.java b/services/java/com/android/server/wm/WindowState.java
index a8d1d79..3640a15 100644
--- a/services/java/com/android/server/wm/WindowState.java
+++ b/services/java/com/android/server/wm/WindowState.java
@@ -1101,7 +1101,20 @@
             final Matrix tmpMatrix = mTmpMatrix;
 
             // Compute the desired transformation.
-            tmpMatrix.setTranslate(0, 0);
+            if (screenAnimation) {
+                // If we are doing a screen animation, the global rotation
+                // applied to windows can result in windows that are carefully
+                // aligned with each other to slightly separate, allowing you
+                // to see what is behind them.  An unsightly mess.  This...
+                // thing...  magically makes it call good: scale each window
+                // slightly (two pixels larger in each dimension, from the
+                // window's center).
+                final float w = frame.width();
+                final float h = frame.height();
+                tmpMatrix.setScale(1 + 2/w, 1 + 2/h, w/2, h/2);
+            } else {
+                tmpMatrix.reset();
+            }
             tmpMatrix.postScale(mGlobalScale, mGlobalScale);
             if (selfTransformation) {
                 tmpMatrix.postConcat(mTransformation.getMatrix());
diff --git a/services/surfaceflinger/DisplayHardware/HWComposer.cpp b/services/surfaceflinger/DisplayHardware/HWComposer.cpp
index 879e858..be9b226 100644
--- a/services/surfaceflinger/DisplayHardware/HWComposer.cpp
+++ b/services/surfaceflinger/DisplayHardware/HWComposer.cpp
@@ -75,7 +75,7 @@
 }
 
 void HWComposer::invalidate() {
-    mFlinger->signalEvent();
+    mFlinger->repaintEverything();
 }
 
 void HWComposer::setFrameBuffer(EGLDisplay dpy, EGLSurface sur) {
diff --git a/services/surfaceflinger/Layer.cpp b/services/surfaceflinger/Layer.cpp
index 1361fd6..41d7a90 100644
--- a/services/surfaceflinger/Layer.cpp
+++ b/services/surfaceflinger/Layer.cpp
@@ -112,6 +112,11 @@
     mSurfaceTexture->abandon();
 }
 
+void Layer::setName(const String8& name) {
+    LayerBase::setName(name);
+    mSurfaceTexture->setName(name);
+}
+
 sp<ISurface> Layer::createSurface()
 {
     class BSurface : public BnSurface, public LayerCleaner {
diff --git a/services/surfaceflinger/Layer.h b/services/surfaceflinger/Layer.h
index ff389ae..82e3521 100644
--- a/services/surfaceflinger/Layer.h
+++ b/services/surfaceflinger/Layer.h
@@ -74,6 +74,7 @@
     virtual bool isProtected() const;
     virtual void onRemoved();
     virtual sp<Layer> getLayer() const { return const_cast<Layer*>(this); }
+    virtual void setName(const String8& name);
 
     // LayerBaseClient interface
     virtual wp<IBinder> getSurfaceTextureBinder() const;
diff --git a/services/surfaceflinger/LayerBase.h b/services/surfaceflinger/LayerBase.h
index 268ba2d..7f62145 100644
--- a/services/surfaceflinger/LayerBase.h
+++ b/services/surfaceflinger/LayerBase.h
@@ -81,7 +81,7 @@
                 Region          transparentRegion;
             };
 
-            void setName(const String8& name);
+    virtual void setName(const String8& name);
             String8 getName() const;
 
             // modify current state
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index 2be6d18..3f154ce 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -566,7 +566,7 @@
 
             const int dpy = 0;
             const int orientation = mCurrentState.orientation;
-            const uint32_t type = mCurrentState.orientationType;
+            // Currently unused: const uint32_t flags = mCurrentState.orientationFlags;
             GraphicPlane& plane(graphicPlane(dpy));
             plane.setOrientation(orientation);
 
@@ -1300,7 +1300,7 @@
     Mutex::Autolock _l(mStateLock);
     if (mCurrentState.orientation != orientation) {
         if (uint32_t(orientation)<=eOrientation270 || orientation==42) {
-            mCurrentState.orientationType = flags;
+            mCurrentState.orientationFlags = flags;
             mCurrentState.orientation = orientation;
             setTransactionFlags(eTransactionNeeded);
             mTransactionCV.wait(mStateLock);
diff --git a/services/surfaceflinger/SurfaceFlinger.h b/services/surfaceflinger/SurfaceFlinger.h
index d7f005f..128a64d 100644
--- a/services/surfaceflinger/SurfaceFlinger.h
+++ b/services/surfaceflinger/SurfaceFlinger.h
@@ -245,7 +245,7 @@
         }
         LayerVector     layersSortedByZ;
         uint8_t         orientation;
-        uint8_t         orientationType;
+        uint8_t         orientationFlags;
         uint8_t         freezeDisplay;
     };
 
@@ -256,12 +256,11 @@
 public:     // hack to work around gcc 4.0.3 bug
     const GraphicPlane&     graphicPlane(int dpy) const;
           GraphicPlane&     graphicPlane(int dpy);
-private:
+          void              signalEvent();
+          void              repaintEverything();
 
-            void        waitForEvent();
-public:     // hack to work around gcc 4.0.3 bug
-            void        signalEvent();
 private:
+            void        waitForEvent();
             void        handleConsoleEvents();
             void        handleTransaction(uint32_t transactionFlags);
             void        handleTransactionLocked(uint32_t transactionFlags);
@@ -279,7 +278,6 @@
             void        postFramebuffer();
             void        setupHardwareComposer(Region& dirtyInOut);
             void        composeSurfaces(const Region& dirty);
-            void        repaintEverything();
 
 
             ssize_t     addClientLayer(const sp<Client>& client,
diff --git a/services/tests/servicestests/res/raw/xt_qtaguid_iface_typical b/services/tests/servicestests/res/raw/xt_qtaguid_iface_typical
new file mode 100644
index 0000000..efa4cd5
--- /dev/null
+++ b/services/tests/servicestests/res/raw/xt_qtaguid_iface_typical
@@ -0,0 +1,6 @@
+rmnet3 1 0 0 0 0 20822 501 1149991 815

+rmnet2 1 0 0 0 0 1594 15 1313 15

+rmnet1 1 0 0 0 0 207398 458 166918 565

+rmnet0 1 0 0 0 0 2112 24 700 10

+test1 1 1 2 3 4 5 6 7 8

+test2 0 1 2 3 4 5 6 7 8

diff --git a/services/tests/servicestests/src/com/android/server/NetworkManagementServiceTest.java b/services/tests/servicestests/src/com/android/server/NetworkManagementServiceTest.java
index 2a25866..40640e0 100644
--- a/services/tests/servicestests/src/com/android/server/NetworkManagementServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/NetworkManagementServiceTest.java
@@ -21,7 +21,6 @@
 import static android.net.NetworkStats.TAG_NONE;
 import static android.net.NetworkStats.UID_ALL;
 import static com.android.server.NetworkManagementSocketTagger.kernelToTag;
-import static com.android.server.NetworkManagementSocketTagger.tagToKernel;
 
 import android.content.res.Resources;
 import android.net.NetworkStats;
@@ -144,12 +143,6 @@
     }
 
     public void testKernelTags() throws Exception {
-        assertEquals("0", tagToKernel(0x0));
-        assertEquals("214748364800", tagToKernel(0x32));
-        assertEquals("9223372032559808512", tagToKernel(Integer.MAX_VALUE));
-        assertEquals("0", tagToKernel(Integer.MIN_VALUE));
-        assertEquals("9223369837831520256", tagToKernel(Integer.MIN_VALUE - 512));
-
         assertEquals(0, kernelToTag("0x0000000000000000"));
         assertEquals(0x32, kernelToTag("0x0000003200000000"));
         assertEquals(2147483647, kernelToTag("0x7fffffff00000000"));
@@ -166,6 +159,16 @@
         assertStatsEntry(stats, "rmnet0", 1000, SET_FOREGROUND, 0, 26033L, 30L, 1401L, 26L);
     }
 
+    public void testNetworkStatsSingle() throws Exception {
+        stageFile(R.raw.xt_qtaguid_iface_typical, new File(mTestProc, "net/xt_qtaguid/iface_stat_all"));
+
+        final NetworkStats stats = mService.getNetworkStatsSummary();
+        assertEquals(6, stats.size());
+        assertStatsEntry(stats, "rmnet0", UID_ALL, SET_DEFAULT, TAG_NONE, 2112L, 24L, 700L, 10L);
+        assertStatsEntry(stats, "test1", UID_ALL, SET_DEFAULT, TAG_NONE, 6L, 8L, 10L, 12L);
+        assertStatsEntry(stats, "test2", UID_ALL, SET_DEFAULT, TAG_NONE, 1L, 2L, 3L, 4L);
+    }
+
     /**
      * Copy a {@link Resources#openRawResource(int)} into {@link File} for
      * testing purposes.
diff --git a/services/tests/servicestests/src/com/android/server/NetworkStatsServiceTest.java b/services/tests/servicestests/src/com/android/server/NetworkStatsServiceTest.java
index 99ae027..f7dff23 100644
--- a/services/tests/servicestests/src/com/android/server/NetworkStatsServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/NetworkStatsServiceTest.java
@@ -32,6 +32,7 @@
 import static android.net.NetworkTemplate.buildTemplateMobileAll;
 import static android.net.NetworkTemplate.buildTemplateWifi;
 import static android.net.TrafficStats.UID_REMOVED;
+import static android.net.TrafficStats.UID_TETHERING;
 import static android.text.format.DateUtils.DAY_IN_MILLIS;
 import static android.text.format.DateUtils.HOUR_IN_MILLIS;
 import static android.text.format.DateUtils.MINUTE_IN_MILLIS;
@@ -179,6 +180,7 @@
         expectNetworkState(buildWifiState());
         expectNetworkStatsSummary(buildEmptyStats());
         expectNetworkStatsUidDetail(buildEmptyStats());
+        expectNetworkStatsPoll();
 
         replay();
         mServiceContext.sendBroadcast(new Intent(CONNECTIVITY_ACTION_IMMEDIATE));
@@ -232,6 +234,7 @@
         expectNetworkState(buildWifiState());
         expectNetworkStatsSummary(buildEmptyStats());
         expectNetworkStatsUidDetail(buildEmptyStats());
+        expectNetworkStatsPoll();
 
         replay();
         mServiceContext.sendBroadcast(new Intent(CONNECTIVITY_ACTION_IMMEDIATE));
@@ -327,6 +330,7 @@
         expectNetworkState(buildWifiState());
         expectNetworkStatsSummary(buildEmptyStats());
         expectNetworkStatsUidDetail(buildEmptyStats());
+        expectNetworkStatsPoll();
 
         replay();
         mServiceContext.sendBroadcast(new Intent(CONNECTIVITY_ACTION_IMMEDIATE));
@@ -378,6 +382,7 @@
         expectNetworkState(buildMobile3gState(IMSI_1));
         expectNetworkStatsSummary(buildEmptyStats());
         expectNetworkStatsUidDetail(buildEmptyStats());
+        expectNetworkStatsPoll();
 
         replay();
         mServiceContext.sendBroadcast(new Intent(CONNECTIVITY_ACTION_IMMEDIATE));
@@ -459,6 +464,7 @@
         expectNetworkState(buildWifiState());
         expectNetworkStatsSummary(buildEmptyStats());
         expectNetworkStatsUidDetail(buildEmptyStats());
+        expectNetworkStatsPoll();
 
         replay();
         mServiceContext.sendBroadcast(new Intent(CONNECTIVITY_ACTION_IMMEDIATE));
@@ -518,6 +524,7 @@
         expectNetworkState(buildMobile3gState(IMSI_1));
         expectNetworkStatsSummary(buildEmptyStats());
         expectNetworkStatsUidDetail(buildEmptyStats());
+        expectNetworkStatsPoll();
 
         replay();
         mServiceContext.sendBroadcast(new Intent(CONNECTIVITY_ACTION_IMMEDIATE));
@@ -585,6 +592,7 @@
         expectNetworkState(buildWifiState());
         expectNetworkStatsSummary(buildEmptyStats());
         expectNetworkStatsUidDetail(buildEmptyStats());
+        expectNetworkStatsPoll();
 
         replay();
         mServiceContext.sendBroadcast(new Intent(CONNECTIVITY_ACTION_IMMEDIATE));
@@ -648,6 +656,7 @@
         expectNetworkState(buildWifiState());
         expectNetworkStatsSummary(buildEmptyStats());
         expectNetworkStatsUidDetail(buildEmptyStats());
+        expectNetworkStatsPoll();
 
         replay();
         mServiceContext.sendBroadcast(new Intent(CONNECTIVITY_ACTION_IMMEDIATE));
@@ -705,6 +714,42 @@
         verifyAndReset();
     }
 
+    public void testTethering() throws Exception {
+        // pretend first mobile network comes online
+        expectCurrentTime();
+        expectDefaultSettings();
+        expectNetworkState(buildMobile3gState(IMSI_1));
+        expectNetworkStatsSummary(buildEmptyStats());
+        expectNetworkStatsUidDetail(buildEmptyStats());
+        expectNetworkStatsPoll();
+
+        replay();
+        mServiceContext.sendBroadcast(new Intent(CONNECTIVITY_ACTION_IMMEDIATE));
+        verifyAndReset();
+
+        // create some tethering traffic
+        incrementCurrentTime(HOUR_IN_MILLIS);
+        expectCurrentTime();
+        expectDefaultSettings();
+        expectNetworkStatsSummary(new NetworkStats(getElapsedRealtime(), 1)
+                .addIfaceValues(TEST_IFACE, 2048L, 16L, 512L, 4L));
+        expectNetworkStatsUidDetail(new NetworkStats(getElapsedRealtime(), 1)
+                .addValues(TEST_IFACE, UID_RED, SET_DEFAULT, TAG_NONE, 128L, 2L, 128L, 2L, 0L));
+        final String[] tetherIfacePairs = new String[] { TEST_IFACE, "wlan0" };
+        expectNetworkStatsPoll(tetherIfacePairs, new NetworkStats(getElapsedRealtime(), 1)
+                .addValues(TEST_IFACE, UID_TETHERING, SET_DEFAULT, TAG_NONE, 1920L, 14L, 384L, 2L, 0L));
+
+        replay();
+        mServiceContext.sendBroadcast(new Intent(ACTION_NETWORK_STATS_POLL));
+
+        // verify service recorded history
+        assertNetworkTotal(sTemplateImsi1, 2048L, 16L, 512L, 4L, 0);
+        assertUidTotal(sTemplateImsi1, UID_RED, 128L, 2L, 128L, 2L, 0);
+        assertUidTotal(sTemplateImsi1, UID_TETHERING, 1920L, 14L, 384L, 2L, 0);
+        verifyAndReset();
+
+    }
+
     private void assertNetworkTotal(NetworkTemplate template, long rxBytes, long rxPackets,
             long txBytes, long txPackets, int operations) {
         final NetworkStatsHistory history = mService.getHistoryForNetwork(template, FIELD_ALL);
@@ -774,8 +819,16 @@
     }
 
     private void expectNetworkStatsPoll() throws Exception {
+        expectNetworkStatsPoll(new String[0], new NetworkStats(getElapsedRealtime(), 0));
+    }
+
+    private void expectNetworkStatsPoll(String[] tetherIfacePairs, NetworkStats tetherStats)
+            throws Exception {
         mNetManager.setGlobalAlert(anyLong());
         expectLastCall().anyTimes();
+        expect(mConnManager.getTetheredIfacePairs()).andReturn(tetherIfacePairs).anyTimes();
+        expect(mNetManager.getNetworkStatsTethering(eq(tetherIfacePairs)))
+                .andReturn(tetherStats).anyTimes();
     }
 
     private void assertStatsFilesExist(boolean exist) {
diff --git a/services/tests/servicestests/src/com/android/server/pm/PackageVerificationStateTest.java b/services/tests/servicestests/src/com/android/server/pm/PackageVerificationStateTest.java
new file mode 100644
index 0000000..ebd3633
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/pm/PackageVerificationStateTest.java
@@ -0,0 +1,205 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.pm;
+
+import android.content.pm.PackageManager;
+import com.android.server.pm.PackageVerificationState;
+
+import android.test.AndroidTestCase;
+
+public class PackageVerificationStateTest extends AndroidTestCase {
+    private static final int REQUIRED_UID = 1948;
+
+    private static final int SUFFICIENT_UID_1 = 1005;
+
+    private static final int SUFFICIENT_UID_2 = 8938;
+
+    public void testPackageVerificationState_OnlyRequiredVerifier_AllowedInstall() {
+        PackageVerificationState state = new PackageVerificationState(REQUIRED_UID, null);
+
+        assertFalse("Verification should not be marked as complete yet",
+                state.isVerificationComplete());
+
+        state.setVerifierResponse(REQUIRED_UID, PackageManager.VERIFICATION_ALLOW);
+
+        assertTrue("Verification should be considered complete now",
+                state.isVerificationComplete());
+
+        assertTrue("Installation should be marked as allowed",
+                state.isInstallAllowed());
+    }
+
+    public void testPackageVerificationState_OnlyRequiredVerifier_DeniedInstall() {
+        PackageVerificationState state = new PackageVerificationState(REQUIRED_UID, null);
+
+        assertFalse("Verification should not be marked as complete yet",
+                state.isVerificationComplete());
+
+        state.setVerifierResponse(REQUIRED_UID, PackageManager.VERIFICATION_REJECT);
+
+        assertTrue("Verification should be considered complete now",
+                state.isVerificationComplete());
+
+        assertFalse("Installation should be marked as allowed",
+                state.isInstallAllowed());
+    }
+
+    public void testPackageVerificationState_RequiredAndOneSufficient_RequiredDeniedInstall() {
+        PackageVerificationState state = new PackageVerificationState(REQUIRED_UID, null);
+
+        assertFalse("Verification should not be marked as complete yet",
+                state.isVerificationComplete());
+
+        state.addSufficientVerifier(SUFFICIENT_UID_1);
+
+        assertFalse("Verification should not be marked as complete yet",
+                state.isVerificationComplete());
+
+        state.setVerifierResponse(SUFFICIENT_UID_1, PackageManager.VERIFICATION_ALLOW);
+
+        assertFalse("Verification should not be marked as complete yet",
+                state.isVerificationComplete());
+
+        state.setVerifierResponse(REQUIRED_UID, PackageManager.VERIFICATION_REJECT);
+
+        assertTrue("Verification should be considered complete now",
+                state.isVerificationComplete());
+
+        assertFalse("Installation should be marked as allowed",
+                state.isInstallAllowed());
+    }
+
+    public void testPackageVerificationState_RequiredAndOneSufficient_SufficientDeniedInstall() {
+        PackageVerificationState state = new PackageVerificationState(REQUIRED_UID, null);
+
+        assertFalse("Verification should not be marked as complete yet",
+                state.isVerificationComplete());
+
+        state.addSufficientVerifier(SUFFICIENT_UID_1);
+
+        assertFalse("Verification should not be marked as complete yet",
+                state.isVerificationComplete());
+
+        state.setVerifierResponse(SUFFICIENT_UID_1, PackageManager.VERIFICATION_REJECT);
+
+        assertFalse("Verification should not be marked as complete yet",
+                state.isVerificationComplete());
+
+        state.setVerifierResponse(REQUIRED_UID, PackageManager.VERIFICATION_ALLOW);
+
+        assertTrue("Verification should be considered complete now",
+                state.isVerificationComplete());
+
+        assertFalse("Installation should be marked as allowed",
+                state.isInstallAllowed());
+    }
+
+    public void testPackageVerificationState_RequiredAndTwoSufficient_OneSufficientIsEnough() {
+        PackageVerificationState state = new PackageVerificationState(REQUIRED_UID, null);
+
+        assertFalse("Verification should not be marked as complete yet",
+                state.isVerificationComplete());
+
+        state.addSufficientVerifier(SUFFICIENT_UID_1);
+        state.addSufficientVerifier(SUFFICIENT_UID_2);
+
+        assertFalse("Verification should not be marked as complete yet",
+                state.isVerificationComplete());
+
+        state.setVerifierResponse(SUFFICIENT_UID_1, PackageManager.VERIFICATION_ALLOW);
+
+        assertFalse("Verification should not be marked as complete yet",
+                state.isVerificationComplete());
+
+        state.setVerifierResponse(REQUIRED_UID, PackageManager.VERIFICATION_ALLOW);
+
+        assertTrue("Verification should be considered complete now",
+                state.isVerificationComplete());
+
+        assertTrue("Installation should be marked as allowed",
+                state.isInstallAllowed());
+    }
+
+    public void testPackageVerificationState_RequiredAndTwoSufficient_SecondSufficientIsEnough() {
+        PackageVerificationState state = new PackageVerificationState(REQUIRED_UID, null);
+
+        assertFalse("Verification should not be marked as complete yet",
+                state.isVerificationComplete());
+
+        state.addSufficientVerifier(SUFFICIENT_UID_1);
+        state.addSufficientVerifier(SUFFICIENT_UID_2);
+
+        assertFalse("Verification should not be marked as complete yet",
+                state.isVerificationComplete());
+
+        state.setVerifierResponse(REQUIRED_UID, PackageManager.VERIFICATION_ALLOW);
+
+        assertFalse("Verification should not be marked as complete yet",
+                state.isVerificationComplete());
+
+        state.setVerifierResponse(SUFFICIENT_UID_1, PackageManager.VERIFICATION_REJECT);
+
+        assertFalse("Verification should not be marked as complete yet",
+                state.isVerificationComplete());
+
+        state.setVerifierResponse(SUFFICIENT_UID_2, PackageManager.VERIFICATION_ALLOW);
+
+        assertTrue("Verification should be considered complete now",
+                state.isVerificationComplete());
+
+        assertTrue("Installation should be marked as allowed",
+                state.isInstallAllowed());
+    }
+
+    public void testPackageVerificationState_RequiredAndTwoSufficient_RequiredOverrides() {
+        PackageVerificationState state = new PackageVerificationState(REQUIRED_UID, null);
+
+        assertFalse("Verification should not be marked as complete yet",
+                state.isVerificationComplete());
+
+        state.addSufficientVerifier(SUFFICIENT_UID_1);
+        state.addSufficientVerifier(SUFFICIENT_UID_2);
+
+        assertFalse("Verification should not be marked as complete yet",
+                state.isVerificationComplete());
+
+        state.setVerifierResponse(REQUIRED_UID,
+                PackageManager.VERIFICATION_ALLOW_WITHOUT_SUFFICIENT);
+
+        assertTrue("Verification should be marked as complete immediately",
+                state.isVerificationComplete());
+
+        assertTrue("Installation should be marked as allowed",
+                state.isInstallAllowed());
+
+        state.setVerifierResponse(SUFFICIENT_UID_1, PackageManager.VERIFICATION_REJECT);
+
+        assertTrue("Verification should still be marked as completed",
+                state.isVerificationComplete());
+
+        assertTrue("Installation should be marked as allowed still",
+                state.isInstallAllowed());
+
+        state.setVerifierResponse(SUFFICIENT_UID_2, PackageManager.VERIFICATION_ALLOW);
+
+        assertTrue("Verification should still be complete",
+                state.isVerificationComplete());
+
+        assertTrue("Installation should be marked as allowed still",
+                state.isInstallAllowed());
+    }
+}
diff --git a/telephony/java/android/telephony/PhoneNumberUtils.java b/telephony/java/android/telephony/PhoneNumberUtils.java
index e898aac..34f8848 100644
--- a/telephony/java/android/telephony/PhoneNumberUtils.java
+++ b/telephony/java/android/telephony/PhoneNumberUtils.java
@@ -24,6 +24,7 @@
 import android.content.Context;
 import android.content.Intent;
 import android.database.Cursor;
+import android.location.CountryDetector;
 import android.net.Uri;
 import android.os.SystemProperties;
 import android.provider.Contacts;
@@ -1408,6 +1409,11 @@
      * @hide
      */
     public static String formatNumber(String phoneNumber, String defaultCountryIso) {
+        // Do not attempt to format numbers that start with a hash or star symbol.
+        if (phoneNumber.startsWith("#") || phoneNumber.startsWith("*")) {
+            return phoneNumber;
+        }
+
         PhoneNumberUtil util = PhoneNumberUtil.getInstance();
         String result = null;
         try {
@@ -1566,6 +1572,14 @@
         // that has been collected.
         if (util.isValidNumber(pn)) {
           return false;
+        } else if ("BR".equalsIgnoreCase(defaultCountryIso) && number.length() >= 8) {
+          // This is to prevent Brazilian local numbers which start with 911 being incorrectly
+          // classified as emergency numbers. 911 is not an emergency number in Brazil; it is also
+          // not possible to append additional digits to an emergency number to dial the number in
+          // Brazil - it won't connect.
+          // TODO: Clean this up once a list of country-specific known emergency numbers is
+          // collected.
+          return false;
         }
       } catch (NumberParseException e) {
       }
@@ -1573,6 +1587,32 @@
     }
 
     /**
+     * Checks if a given number is an emergency number for the country that the user is in. The
+     * current country is determined using the CountryDetector.
+     *
+     * @param number the number to look up.
+     * @param context the specific context which the number should be checked against
+     * @return if a phone number is an emergency number for a local country, based on the
+     * CountryDetector.
+     * @see android.location.CountryDetector
+     * @hide
+     */
+    public static boolean isLocalEmergencyNumber(String number, Context context) {
+        String countryIso;
+        CountryDetector detector = (CountryDetector) context.getSystemService(
+                Context.COUNTRY_DETECTOR);
+        if (detector != null) {
+            countryIso = detector.detectCountry().getCountryIso();
+        } else {
+            Locale locale = context.getResources().getConfiguration().locale;
+            countryIso = locale.getCountry();
+            Log.w(LOG_TAG, "No CountryDetector; falling back to countryIso based on locale: "
+                    + countryIso);
+        }
+        return isEmergencyNumber(number, countryIso);
+    }
+
+    /**
      * isVoiceMailNumber: checks a given number against the voicemail
      *   number provided by the RIL and SIM card. The caller must have
      *   the READ_PHONE_STATE credential.
diff --git a/telephony/java/com/android/internal/telephony/CallerInfo.java b/telephony/java/com/android/internal/telephony/CallerInfo.java
index 7c37a65..6324550 100644
--- a/telephony/java/com/android/internal/telephony/CallerInfo.java
+++ b/telephony/java/com/android/internal/telephony/CallerInfo.java
@@ -254,9 +254,7 @@
         // Change the callerInfo number ONLY if it is an emergency number
         // or if it is the voicemail number.  If it is either, take a
         // shortcut and skip the query.
-        Locale locale = context.getResources().getConfiguration().locale;
-        String countryIso = getCurrentCountryIso(context, locale);
-        if (PhoneNumberUtils.isEmergencyNumber(number, countryIso)) {
+        if (PhoneNumberUtils.isLocalEmergencyNumber(number, context)) {
             return new CallerInfo().markAsEmergency(context);
         } else if (PhoneNumberUtils.isVoiceMailNumber(number)) {
             return new CallerInfo().markAsVoiceMail();
diff --git a/telephony/java/com/android/internal/telephony/CallerInfoAsyncQuery.java b/telephony/java/com/android/internal/telephony/CallerInfoAsyncQuery.java
index 17734ca..4912749 100644
--- a/telephony/java/com/android/internal/telephony/CallerInfoAsyncQuery.java
+++ b/telephony/java/com/android/internal/telephony/CallerInfoAsyncQuery.java
@@ -403,9 +403,7 @@
         cw.number = number;
 
         // check to see if these are recognized numbers, and use shortcuts if we can.
-        CountryDetector detector = (CountryDetector) context.getSystemService(
-            Context.COUNTRY_DETECTOR);
-        if (PhoneNumberUtils.isEmergencyNumber(number, detector.detectCountry().getCountryIso())) {
+        if (PhoneNumberUtils.isLocalEmergencyNumber(number, context)) {
             cw.event = EVENT_EMERGENCY_NUMBER;
         } else if (PhoneNumberUtils.isVoiceMailNumber(number)) {
             cw.event = EVENT_VOICEMAIL_NUMBER;
diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaCallTracker.java b/telephony/java/com/android/internal/telephony/cdma/CdmaCallTracker.java
index db19321..83efc51 100644
--- a/telephony/java/com/android/internal/telephony/cdma/CdmaCallTracker.java
+++ b/telephony/java/com/android/internal/telephony/cdma/CdmaCallTracker.java
@@ -190,7 +190,8 @@
 
         String inEcm=SystemProperties.get(TelephonyProperties.PROPERTY_INECM_MODE, "false");
         boolean isPhoneInEcmMode = inEcm.equals("true");
-        boolean isEmergencyCall = PhoneNumberUtils.isEmergencyNumber(dialString);
+        boolean isEmergencyCall =
+                PhoneNumberUtils.isLocalEmergencyNumber(dialString, phone.getContext());
 
         // Cancel Ecm timer if a second emergency call is originating in Ecm mode
         if (isPhoneInEcmMode && isEmergencyCall) {
@@ -1059,7 +1060,7 @@
      * Disable data call when emergency call is connected
      */
     private void disableDataCallInEmergencyCall(String dialString) {
-        if (PhoneNumberUtils.isEmergencyNumber(dialString)) {
+        if (PhoneNumberUtils.isLocalEmergencyNumber(dialString, phone.getContext())) {
             if (Phone.DEBUG_PHONE) log("disableDataCallInEmergencyCall");
             mIsInEmergencyCall = true;
             phone.mDataConnectionTracker.setInternalDataEnabled(false);
diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaLteServiceStateTracker.java b/telephony/java/com/android/internal/telephony/cdma/CdmaLteServiceStateTracker.java
index e92a276..57aae56 100644
--- a/telephony/java/com/android/internal/telephony/cdma/CdmaLteServiceStateTracker.java
+++ b/telephony/java/com/android/internal/telephony/cdma/CdmaLteServiceStateTracker.java
@@ -390,6 +390,7 @@
 
             if (operatorNumeric == null) {
                 phone.setSystemProperty(TelephonyProperties.PROPERTY_OPERATOR_ISO_COUNTRY, "");
+                mGotCountryCode = false;
             } else {
                 String isoCountryCode = "";
                 try {
diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java b/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java
index 0aed77e..8f5a2eb 100755
--- a/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java
+++ b/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java
@@ -964,6 +964,7 @@
 
             if (operatorNumeric == null) {
                 phone.setSystemProperty(TelephonyProperties.PROPERTY_OPERATOR_ISO_COUNTRY, "");
+                mGotCountryCode = false;
             } else {
                 String isoCountryCode = "";
                 try{
diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java
index c62ccc6..78ba7dd 100644
--- a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java
+++ b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java
@@ -2087,18 +2087,6 @@
     }
 
     /**
-     * Check current radio access technology is LTE or EHRPD.
-     *
-     * @param integer value of radio access technology
-     * @return true when current radio access technology is LTE or EHRPD
-     * @	   false when current radio access technology is not LTE or EHRPD
-     */
-    private boolean needToCheckApnBearer(int radioTech) {
-        return (radioTech == ServiceState.RADIO_TECHNOLOGY_LTE ||
-                radioTech == ServiceState.RADIO_TECHNOLOGY_EHRPD);
-    }
-
-    /**
      * Build a list of APNs to be used to create PDP's.
      *
      * @param requestedApnType
@@ -2119,7 +2107,6 @@
 
         String operator = mPhone.mIccRecords.getOperatorNumeric();
         int radioTech = mPhone.getServiceState().getRadioTechnology();
-        boolean needToCheckApnBearer = needToCheckApnBearer(radioTech);
 
         if (requestedApnType.equals(Phone.APN_TYPE_DEFAULT)) {
             if (canSetPreferApn && mPreferredApn != null) {
@@ -2128,7 +2115,7 @@
                         + mPreferredApn.numeric + ":" + mPreferredApn);
                 }
                 if (mPreferredApn.numeric.equals(operator)) {
-                    if (!needToCheckApnBearer || mPreferredApn.bearer == radioTech) {
+                    if (mPreferredApn.bearer == 0 || mPreferredApn.bearer == radioTech) {
                         apnList.add(mPreferredApn);
                         if (DBG) log("buildWaitingApns: X added preferred apnList=" + apnList);
                         return apnList;
@@ -2147,7 +2134,7 @@
         if (mAllApns != null) {
             for (ApnSetting apn : mAllApns) {
                 if (apn.canHandleType(requestedApnType)) {
-                    if (!needToCheckApnBearer || apn.bearer == radioTech) {
+                    if (apn.bearer == 0 || apn.bearer == radioTech) {
                         if (DBG) log("apn info : " +apn.toString());
                         apnList.add(apn);
                     }
diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmMmiCode.java b/telephony/java/com/android/internal/telephony/gsm/GsmMmiCode.java
index 680b3cd..3799894 100644
--- a/telephony/java/com/android/internal/telephony/gsm/GsmMmiCode.java
+++ b/telephony/java/com/android/internal/telephony/gsm/GsmMmiCode.java
@@ -496,7 +496,7 @@
             return false;
         }
 
-        if (PhoneNumberUtils.isEmergencyNumber(dialString)) {
+        if (PhoneNumberUtils.isLocalEmergencyNumber(dialString, phone.getContext())) {
             return false;
         } else {
             return isShortCodeUSSD(dialString, phone);
diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java b/telephony/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java
index d3645fa..eea2780 100644
--- a/telephony/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java
+++ b/telephony/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java
@@ -846,6 +846,7 @@
 
             if (operatorNumeric == null) {
                 phone.setSystemProperty(TelephonyProperties.PROPERTY_OPERATOR_ISO_COUNTRY, "");
+                mGotCountryCode = false;
             } else {
                 String iso = "";
                 try{
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 d3e4b78..e2349af 100644
--- a/telephony/tests/telephonytests/src/com/android/internal/telephony/PhoneNumberUtilsTest.java
+++ b/telephony/tests/telephonytests/src/com/android/internal/telephony/PhoneNumberUtilsTest.java
@@ -513,7 +513,19 @@
         assertEquals("(650) 291-0000", PhoneNumberUtils.formatNumber("650 2910000", "US"));
         assertEquals("123-4567", PhoneNumberUtils.formatNumber("1234567", "US"));
         assertEquals("(800) 466-4114", PhoneNumberUtils.formatNumber("800-GOOG-114", "US"));
+    }
 
+    @SmallTest
+    public void testFormatNumber_LeadingStarAndHash() {
+        // Numbers with a leading '*' or '#' should be left unchanged.
+        assertEquals("*650 2910000", PhoneNumberUtils.formatNumber("*650 2910000", "US"));
+        assertEquals("#650 2910000", PhoneNumberUtils.formatNumber("#650 2910000", "US"));
+        assertEquals("*#650 2910000", PhoneNumberUtils.formatNumber("*#650 2910000", "US"));
+        assertEquals("#*650 2910000", PhoneNumberUtils.formatNumber("#*650 2910000", "US"));
+        assertEquals("#650*2910000", PhoneNumberUtils.formatNumber("#650*2910000", "US"));
+        assertEquals("#650*2910000", PhoneNumberUtils.formatNumber("#650*2910000", "US"));
+        assertEquals("##650 2910000", PhoneNumberUtils.formatNumber("##650 2910000", "US"));
+        assertEquals("**650 2910000", PhoneNumberUtils.formatNumber("**650 2910000", "US"));
     }
 
     @SmallTest
@@ -551,5 +563,8 @@
       // A valid fixed-line phone number from Brazil shouldn't be classified as an emergency number
       // in Brazil, as 112 is not an emergency number there.
       assertFalse(PhoneNumberUtils.isEmergencyNumber("1121234567", "BR"));
+      // A valid local phone number from Brazil shouldn't be classified as an emergency number in
+      // Brazil.
+      assertFalse(PhoneNumberUtils.isEmergencyNumber("91112345", "BR"));
     }
 }
diff --git a/test-runner/src/android/test/InstrumentationTestRunner.java b/test-runner/src/android/test/InstrumentationTestRunner.java
index c3d09ff..70cf89e 100644
--- a/test-runner/src/android/test/InstrumentationTestRunner.java
+++ b/test-runner/src/android/test/InstrumentationTestRunner.java
@@ -279,6 +279,7 @@
     private static final String LOG_TAG = "InstrumentationTestRunner";
 
     private final Bundle mResults = new Bundle();
+    private Bundle mArguments;
     private AndroidTestRunner mTestRunner;
     private boolean mDebug;
     private boolean mJustCount;
@@ -292,6 +293,7 @@
     @Override
     public void onCreate(Bundle arguments) {
         super.onCreate(arguments);
+        mArguments = arguments;
 
         // Apk paths used to search for test classes when using TestSuiteBuilders.
         String[] apkPaths =
@@ -379,6 +381,16 @@
         start();
     }
 
+    /**
+     * Get the Bundle object that contains the arguments
+     *
+     * @return the Bundle object
+     * @hide
+     */
+    public Bundle getBundle(){
+        return mArguments;
+    }
+
     List<Predicate<TestMethod>> getBuilderRequirements() {
         return new ArrayList<Predicate<TestMethod>>();
     }
diff --git a/test-runner/src/android/test/mock/MockPackageManager.java b/test-runner/src/android/test/mock/MockPackageManager.java
index 3525abe..58680ea 100644
--- a/test-runner/src/android/test/mock/MockPackageManager.java
+++ b/test-runner/src/android/test/mock/MockPackageManager.java
@@ -36,9 +36,11 @@
 import android.content.pm.ProviderInfo;
 import android.content.pm.ResolveInfo;
 import android.content.pm.ServiceInfo;
+import android.content.pm.Signature;
 import android.content.pm.UserInfo;
 import android.content.pm.ManifestDigest;
 import android.content.pm.VerifierDeviceIdentity;
+import android.content.pm.VerifierInfo;
 import android.content.res.Resources;
 import android.content.res.XmlResourceParser;
 import android.graphics.drawable.Drawable;
diff --git a/tests/DataIdleTest/src/com/android/tests/dataidle/DataIdleTest.java b/tests/DataIdleTest/src/com/android/tests/dataidle/DataIdleTest.java
index 54adc249..a13c0c9 100644
--- a/tests/DataIdleTest/src/com/android/tests/dataidle/DataIdleTest.java
+++ b/tests/DataIdleTest/src/com/android/tests/dataidle/DataIdleTest.java
@@ -72,6 +72,7 @@
      */
     private void fetchStats(NetworkTemplate template) {
         try {
+            mStatsService.forceUpdate();
             NetworkStats stats = mStatsService.getSummaryForAllUid(template, Long.MIN_VALUE,
                     Long.MAX_VALUE, false);
             reportStats(stats);
@@ -88,18 +89,27 @@
         Bundle result = new Bundle();
         long rxBytes = 0;
         long txBytes = 0;
+        long rxPackets = 0;
+        long txPackets = 0;
         for (int i = 0; i < stats.size(); ++i) {
             // Label will be iface_uid_tag_set
             Entry  statsEntry = stats.getValues(i, null);
+            // Debugging use.
+            /*
             String labelTemplate = String.format("%s_%d_%d_%d", statsEntry.iface, statsEntry.uid,
                     statsEntry.tag, statsEntry.set) + "_%s";
             result.putLong(String.format(labelTemplate, "rxBytes"), statsEntry.rxBytes);
             result.putLong(String.format(labelTemplate, "txBytes"), statsEntry.txBytes);
+            */
+            rxPackets += statsEntry.rxPackets;
             rxBytes += statsEntry.rxBytes;
+            txPackets += statsEntry.txPackets;
             txBytes += statsEntry.txBytes;
         }
-        result.putLong("Total rxBytes", rxBytes);
-        result.putLong("Total txBytes", txBytes);
+        result.putLong("Total rx Bytes", rxBytes);
+        result.putLong("Total tx Bytes", txBytes);
+        result.putLong("Total rx Packets", rxPackets);
+        result.putLong("Total tx Packets", txPackets);
         getInstrumentation().sendStatus(INSTRUMENTATION_IN_PROGRESS, result);
 
     }
diff --git a/tests/DumpRenderTree/src/com/android/dumprendertree/TestShellActivity.java b/tests/DumpRenderTree/src/com/android/dumprendertree/TestShellActivity.java
index f8c32dd..c0ba8cf 100644
--- a/tests/DumpRenderTree/src/com/android/dumprendertree/TestShellActivity.java
+++ b/tests/DumpRenderTree/src/com/android/dumprendertree/TestShellActivity.java
@@ -904,6 +904,9 @@
         settings.setWorkersEnabled(false);
         settings.setXSSAuditorEnabled(false);
         settings.setPageCacheCapacity(0);
+        // this enables cpu upload path (as opposed to gpu upload path)
+        // and it's only meant to be a temporary workaround!
+        settings.setProperty("enable_cpu_upload_path", "true");
     }
 
     private WebView mWebView;
diff --git a/tests/HwAccelerationTest/AndroidManifest.xml b/tests/HwAccelerationTest/AndroidManifest.xml
index d74d80d..929b103 100644
--- a/tests/HwAccelerationTest/AndroidManifest.xml
+++ b/tests/HwAccelerationTest/AndroidManifest.xml
@@ -31,6 +31,15 @@
         android:hardwareAccelerated="true">
 
         <activity
+                android:name="DisplayListLayersActivity"
+                android:label="__DisplayListLayers">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+        </activity>
+        
+        <activity
                 android:name="TextFadeActivity"
                 android:label="_TextFade">
             <intent-filter>
diff --git a/tests/HwAccelerationTest/src/com/android/test/hwui/DisplayListLayersActivity.java b/tests/HwAccelerationTest/src/com/android/test/hwui/DisplayListLayersActivity.java
new file mode 100644
index 0000000..ec91c35
--- /dev/null
+++ b/tests/HwAccelerationTest/src/com/android/test/hwui/DisplayListLayersActivity.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+package com.android.test.hwui;
+
+import android.app.Activity;
+import android.content.Context;
+import android.graphics.Canvas;
+import android.graphics.Paint;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.Gravity;
+import android.view.View;
+import android.widget.Button;
+import android.widget.LinearLayout;
+
+import static android.view.View.LAYER_TYPE_HARDWARE;
+import static android.view.View.LAYER_TYPE_SOFTWARE;
+import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
+
+@SuppressWarnings({"UnusedDeclaration"})
+public class DisplayListLayersActivity extends Activity {
+    private static final int VERTICAL_MARGIN = 12;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        LinearLayout root = createContainer();
+        addChild(root, new LayerView(this, 0xffff0000, LAYER_TYPE_HARDWARE, "hardware"),
+                WRAP_CONTENT, WRAP_CONTENT);
+        addChild(root, new LayerView(this, 0xff0000ff, LAYER_TYPE_SOFTWARE, "software"),
+                WRAP_CONTENT, WRAP_CONTENT);
+        addChild(root, createButton(root), WRAP_CONTENT, WRAP_CONTENT);
+
+        setContentView(root);
+    }
+
+    private Button createButton(final LinearLayout root) {
+        Button button = new Button(this);
+        button.setText("Invalidate");
+        button.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                for (int i = 0; i < root.getChildCount(); i++) {
+                    View child = root.getChildAt(i);
+                    if (child != v) {
+                        child.invalidate();
+                    }
+                }
+            }
+        });
+
+        return button;
+    }
+
+    private void addChild(LinearLayout root, View child, int width, int height) {
+        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(width, height);
+        params.gravity = Gravity.CENTER_HORIZONTAL;
+        params.setMargins(0, dipToPx(VERTICAL_MARGIN), 0, 0);
+        root.addView(child, params);
+    }
+
+    private int dipToPx(int size) {
+        return (int) (getResources().getDisplayMetrics().density * size + 0.5f);
+    }
+
+    private LinearLayout createContainer() {
+        LinearLayout layout = new LinearLayout(this);
+        layout.setOrientation(LinearLayout.VERTICAL);
+        return layout;
+    }
+
+    private class LayerView extends View {
+        private static final String LOG_TAG = "LayerView";
+        private final Paint mPaint = new Paint();
+
+        private final String mTag;
+
+        LayerView(Context context, int color, int layerType, String tag) {
+            super(context);
+
+            mTag = tag;
+
+            mPaint.setColor(color);
+            setLayerType(layerType, null);
+        }
+
+        private void log(String tag) {
+            Log.d(LOG_TAG, mTag + ": " + tag);
+        }
+
+        @Override
+        public void invalidate() {
+            log("invalidate");
+            super.invalidate();
+        }
+
+        @Override
+        protected void onDraw(Canvas canvas) {
+            log("draw");
+            canvas.drawRect(0, 0, getWidth(), getHeight(), mPaint);
+        }
+
+        @Override
+        protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+            setMeasuredDimension(MeasureSpec.getSize(widthMeasureSpec) / 3,
+                    MeasureSpec.getSize(heightMeasureSpec) / 3);
+        }
+    }
+}
diff --git a/tests/permission/src/com/android/framework/permission/tests/WindowManagerPermissionTests.java b/tests/permission/src/com/android/framework/permission/tests/WindowManagerPermissionTests.java
index f015378..c3ac22c 100644
--- a/tests/permission/src/com/android/framework/permission/tests/WindowManagerPermissionTests.java
+++ b/tests/permission/src/com/android/framework/permission/tests/WindowManagerPermissionTests.java
@@ -412,9 +412,31 @@
     @SmallTest
     public void testSET_ORIENTATION() {
         try {
-            mWm.setRotation(0, true, 0);
+            mWm.updateRotation(true);
             mWm.getSwitchState(0);
-            fail("IWindowManager.setRotation did not throw SecurityException as"
+            fail("IWindowManager.updateRotation did not throw SecurityException as"
+                    + " expected");
+        } catch (SecurityException e) {
+            // expected
+        } catch (RemoteException e) {
+            fail("Unexpected remote exception");
+        }
+
+        try {
+            mWm.freezeRotation(-1);
+            mWm.getSwitchState(0);
+            fail("IWindowManager.freezeRotation did not throw SecurityException as"
+                    + " expected");
+        } catch (SecurityException e) {
+            // expected
+        } catch (RemoteException e) {
+            fail("Unexpected remote exception");
+        }
+
+        try {
+            mWm.thawRotation();
+            mWm.getSwitchState(0);
+            fail("IWindowManager.thawRotation did not throw SecurityException as"
                     + " expected");
         } catch (SecurityException e) {
             // expected
diff --git a/tools/aapt/Command.cpp b/tools/aapt/Command.cpp
index 178e7fd..413a2dc 100644
--- a/tools/aapt/Command.cpp
+++ b/tools/aapt/Command.cpp
@@ -368,6 +368,7 @@
     REQUIRES_SMALLEST_WIDTH_DP_ATTR = 0x01010364,
     COMPATIBLE_WIDTH_LIMIT_DP_ATTR = 0x01010365,
     LARGEST_WIDTH_LIMIT_DP_ATTR = 0x01010366,
+    PUBLIC_KEY_ATTR = 0x010103a6,
 };
 
 const char *getComponentName(String8 &pkgName, String8 &componentName) {
@@ -1021,6 +1022,15 @@
                     } else if (tag == "compatible-screens") {
                         printCompatibleScreens(tree);
                         depth--;
+                    } else if (tag == "package-verifier") {
+                        String8 name = getAttribute(tree, NAME_ATTR, &error);
+                        if (name != "" && error == "") {
+                            String8 publicKey = getAttribute(tree, PUBLIC_KEY_ATTR, &error);
+                            if (publicKey != "" && error == "") {
+                                printf("package-verifier: name='%s' publicKey='%s'\n",
+                                        name.string(), publicKey.string());
+                            }
+                        }
                     }
                 } else if (depth == 3 && withinApplication) {
                     withinActivity = false;
diff --git a/tools/layoutlib/bridge/src/android/graphics/Paint_Delegate.java b/tools/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
index e60a61c..1523823 100644
--- a/tools/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
+++ b/tools/layoutlib/bridge/src/android/graphics/Paint_Delegate.java
@@ -1166,7 +1166,7 @@
                 if (mTextScaleX != 1.0 || mTextSkewX != 0) {
                     // TODO: support skew
                     info.mFont = info.mFont.deriveFont(new AffineTransform(
-                            mTextScaleX, mTextSkewX, 0, 0, 1, 0));
+                            mTextScaleX, mTextSkewX, 0, 1, 0, 0));
                 }
                 info.mMetrics = Toolkit.getDefaultToolkit().getFontMetrics(info.mFont);
 
diff --git a/tools/layoutlib/bridge/src/android/graphics/Typeface_Delegate.java b/tools/layoutlib/bridge/src/android/graphics/Typeface_Delegate.java
index 0f084f7..2414d70 100644
--- a/tools/layoutlib/bridge/src/android/graphics/Typeface_Delegate.java
+++ b/tools/layoutlib/bridge/src/android/graphics/Typeface_Delegate.java
@@ -25,8 +25,8 @@
 import android.content.res.AssetManager;
 
 import java.awt.Font;
+import java.io.File;
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.List;
 
 /**
@@ -44,13 +44,14 @@
  */
 public final class Typeface_Delegate {
 
+    private static final String SYSTEM_FONTS = "/system/fonts/";
+
     // ---- delegate manager ----
     private static final DelegateManager<Typeface_Delegate> sManager =
             new DelegateManager<Typeface_Delegate>(Typeface_Delegate.class);
 
     // ---- delegate helper data ----
     private static final String DEFAULT_FAMILY = "sans-serif";
-    private static final int[] STYLE_BUFFER = new int[1];
 
     private static FontLoader sFontLoader;
     private static final List<Typeface_Delegate> sPostInitDelegate =
@@ -145,9 +146,31 @@
 
     @LayoutlibDelegate
     /*package*/ static synchronized int nativeCreateFromFile(String path) {
-        Bridge.getLog().fidelityWarning(LayoutLog.TAG_UNSUPPORTED,
-                "Typeface.createFromFile() is not supported.", null /*throwable*/, null /*data*/);
-        return 0;
+        if (path.startsWith(SYSTEM_FONTS) ) {
+            String relativePath = path.substring(SYSTEM_FONTS.length());
+            File f = new File(sFontLoader.getOsFontsLocation(), relativePath);
+
+            try {
+                Font font = Font.createFont(Font.TRUETYPE_FONT, f);
+                if (font != null) {
+                    Typeface_Delegate newDelegate = new Typeface_Delegate(font);
+                    return sManager.addNewDelegate(newDelegate);
+                }
+            } catch (Exception e) {
+                Bridge.getLog().fidelityWarning(LayoutLog.TAG_BROKEN,
+                        String.format("Unable to load font %1$s", relativePath),
+                            null /*throwable*/, null /*data*/);
+            }
+        } else {
+            Bridge.getLog().fidelityWarning(LayoutLog.TAG_UNSUPPORTED,
+                    "Typeface.createFromFile() can only work with platform fonts located in " +
+                        SYSTEM_FONTS,
+                    null /*throwable*/, null /*data*/);
+        }
+
+
+        // return a copy of the base font
+        return nativeCreate(null, 0);
     }
 
     @LayoutlibDelegate
@@ -177,15 +200,17 @@
         mStyle = style;
     }
 
+    private Typeface_Delegate(Font font) {
+        mFamily = font.getFamily();
+        mStyle = Typeface.NORMAL;
+
+        mFonts = sFontLoader.getFallbackFonts(mStyle);
+
+        // insert the font glyph first.
+        mFonts.add(0, font);
+    }
+
     private void init() {
-        STYLE_BUFFER[0] = mStyle;
-        Font font = sFontLoader.getFont(mFamily, STYLE_BUFFER);
-        if (font != null) {
-            List<Font> list = new ArrayList<Font>();
-            list.add(font);
-            list.addAll(sFontLoader.getFallBackFonts());
-            mFonts = Collections.unmodifiableList(list);
-            mStyle = STYLE_BUFFER[0];
-        }
+        mFonts = sFontLoader.getFont(mFamily, mStyle);
     }
 }
diff --git a/tools/layoutlib/bridge/src/android/view/Display_Delegate.java b/tools/layoutlib/bridge/src/android/view/Display_Delegate.java
index 9732530..8868c65 100644
--- a/tools/layoutlib/bridge/src/android/view/Display_Delegate.java
+++ b/tools/layoutlib/bridge/src/android/view/Display_Delegate.java
@@ -47,14 +47,14 @@
 
     @LayoutlibDelegate
     /** @hide special for when we are faking the screen size. */
-    /*package*/ static int getRawWidth(Display theDisplay) {
+    /*package*/ static int getRawWidthNative(Display theDisplay) {
         // same as real since we're not faking compatibility mode.
         return RenderAction.getCurrentContext().getIWindowManager().getMetrics().widthPixels;
     }
 
     @LayoutlibDelegate
     /** @hide special for when we are faking the screen size. */
-    /*package*/ static int getRawHeight(Display theDisplay) {
+    /*package*/ static int getRawHeightNative(Display theDisplay) {
         // same as real since we're not faking compatibility mode.
         return RenderAction.getCurrentContext().getIWindowManager().getMetrics().heightPixels;
     }
diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowManager.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowManager.java
index 3d1fa7a..44bdff3 100644
--- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowManager.java
+++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowManager.java
@@ -124,7 +124,7 @@
 
     }
 
-    public void freezeRotation() throws RemoteException {
+    public void freezeRotation(int arg0) throws RemoteException {
         // TODO Auto-generated method stub
 
     }
@@ -396,7 +396,7 @@
 
     }
 
-    public void setRotation(int arg0, boolean arg1, int arg2) throws RemoteException {
+    public void updateRotation(boolean arg0) throws RemoteException {
         // TODO Auto-generated method stub
 
     }
@@ -464,4 +464,7 @@
     public int getPreferredOptionsPanelGravity() throws RemoteException {
         return Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM;
     }
+
+    public void dismissKeyguard() {
+    }
 }
diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/FontLoader.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/FontLoader.java
index f62fad2..081ce67 100644
--- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/FontLoader.java
+++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/FontLoader.java
@@ -23,17 +23,13 @@
 import android.graphics.Typeface;
 
 import java.awt.Font;
-import java.awt.FontFormatException;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
-import java.util.Map;
 import java.util.Set;
 
 import javax.xml.parsers.ParserConfigurationException;
@@ -47,49 +43,55 @@
  * fonts.xml file located alongside the ttf files.
  */
 public final class FontLoader {
-    private static final String FONTS_DEFINITIONS = "fonts.xml";
+    private static final String FONTS_SYSTEM = "system_fonts.xml";
+    private static final String FONTS_VENDOR = "vendor_fonts.xml";
+    private static final String FONTS_FALLBACK = "fallback_fonts.xml";
 
-    private static final String NODE_FONTS = "fonts";
-    private static final String NODE_FONT = "font";
+    private static final String NODE_FAMILYSET = "familyset";
+    private static final String NODE_FAMILY = "family";
     private static final String NODE_NAME = "name";
-    private static final String NODE_FALLBACK = "fallback";
+    private static final String NODE_FILE = "file";
 
-    private static final String ATTR_TTF = "ttf";
+    private static final String FONT_SUFFIX_NONE = ".ttf";
+    private static final String FONT_SUFFIX_REGULAR = "-Regular.ttf";
+    private static final String FONT_SUFFIX_BOLD = "-Bold.ttf";
+    private static final String FONT_SUFFIX_ITALIC = "-Italic.ttf";
+    private static final String FONT_SUFFIX_BOLDITALIC = "-BoldItalic.ttf";
 
-    private static final String FONT_EXT = ".ttf";
-
-    private static final String[] FONT_STYLE_DEFAULT = { "", "-Regular" };
-    private static final String[] FONT_STYLE_BOLD = { "-Bold" };
-    private static final String[] FONT_STYLE_ITALIC = { "-Italic" };
-    private static final String[] FONT_STYLE_BOLDITALIC = { "-BoldItalic" };
-
-    // list of font style, in the order matching the Typeface Font style
-    private static final String[][] FONT_STYLES = {
-        FONT_STYLE_DEFAULT,
-        FONT_STYLE_BOLD,
-        FONT_STYLE_ITALIC,
-        FONT_STYLE_BOLDITALIC
+    // This must match the values of Typeface styles so that we can use them for indices in this
+    // array.
+    private static final int[] AWT_STYLES = new int[] {
+        Font.PLAIN,
+        Font.BOLD,
+        Font.ITALIC,
+        Font.BOLD | Font.ITALIC
     };
+    private static int[] DERIVE_BOLD_ITALIC = new int[] {
+        Typeface.ITALIC, Typeface.BOLD, Typeface.NORMAL
+    };
+    private static int[] DERIVE_ITALIC = new int[] { Typeface.NORMAL };
+    private static int[] DERIVE_BOLD = new int[] { Typeface.NORMAL };
 
-    private final Map<String, String> mFamilyToTtf = new HashMap<String, String>();
-    private final Map<String, Map<Integer, Font>> mTtfToFontMap =
-        new HashMap<String, Map<Integer, Font>>();
+    private static final List<FontInfo> mMainFonts = new ArrayList<FontInfo>();
+    private static final List<FontInfo> mFallbackFonts = new ArrayList<FontInfo>();
 
-    private List<Font> mFallBackFonts = null;
+    private final String mOsFontsLocation;
 
     public static FontLoader create(String fontOsLocation) {
         try {
             SAXParserFactory parserFactory = SAXParserFactory.newInstance();
                 parserFactory.setNamespaceAware(true);
 
-            SAXParser parser = parserFactory.newSAXParser();
-            File f = new File(fontOsLocation + File.separator + FONTS_DEFINITIONS);
+            // parse the system fonts
+            FontHandler handler = parseFontFile(parserFactory, fontOsLocation, FONTS_SYSTEM);
+            List<FontInfo> systemFonts = handler.getFontList();
 
-            FontDefinitionParser definitionParser = new FontDefinitionParser(
-                    fontOsLocation + File.separator);
-            parser.parse(new FileInputStream(f), definitionParser);
 
-            return definitionParser.getFontLoader();
+            // parse the fallback fonts
+            handler = parseFontFile(parserFactory, fontOsLocation, FONTS_FALLBACK);
+            List<FontInfo> fallbackFonts = handler.getFontList();
+
+            return new FontLoader(fontOsLocation, systemFonts, fallbackFonts);
         } catch (ParserConfigurationException e) {
             // return null below
         } catch (SAXException e) {
@@ -103,35 +105,29 @@
         return null;
     }
 
-    private FontLoader(List<FontInfo> fontList, List<String> fallBackList) {
-        for (FontInfo info : fontList) {
-            for (String family : info.families) {
-                mFamilyToTtf.put(family, info.ttf);
-            }
-        }
+    private static FontHandler parseFontFile(SAXParserFactory parserFactory,
+            String fontOsLocation, String fontFileName)
+            throws ParserConfigurationException, SAXException, IOException, FileNotFoundException {
 
-        ArrayList<Font> list = new ArrayList<Font>();
-        for (String path : fallBackList) {
-            File f = new File(path + FONT_EXT);
-            if (f.isFile()) {
-                try {
-                    Font font = Font.createFont(Font.TRUETYPE_FONT, f);
-                    if (font != null) {
-                        list.add(font);
-                    }
-                } catch (FontFormatException e) {
-                    // skip this font name
-                } catch (IOException e) {
-                    // skip this font name
-                }
-            }
-        }
+        SAXParser parser = parserFactory.newSAXParser();
+        File f = new File(fontOsLocation, fontFileName);
 
-        mFallBackFonts = Collections.unmodifiableList(list);
+        FontHandler definitionParser = new FontHandler(
+                fontOsLocation + File.separator);
+        parser.parse(new FileInputStream(f), definitionParser);
+        return definitionParser;
     }
 
-    public List<Font> getFallBackFonts() {
-        return mFallBackFonts;
+    private FontLoader(String fontOsLocation,
+            List<FontInfo> fontList, List<FontInfo> fallBackList) {
+        mOsFontsLocation = fontOsLocation;
+        mMainFonts.addAll(fontList);
+        mFallbackFonts.addAll(fallBackList);
+    }
+
+
+    public String getOsFontsLocation() {
+        return mOsFontsLocation;
     }
 
     /**
@@ -143,96 +139,43 @@
      *              the method returns.
      * @return the font object or null if no match could be found.
      */
-    public synchronized Font getFont(String family, int[] style) {
+    public synchronized List<Font> getFont(String family, int style) {
+        List<Font> result = new ArrayList<Font>();
+
         if (family == null) {
-            return null;
+            return result;
         }
 
-        // get the ttf name from the family
-        String ttf = mFamilyToTtf.get(family);
 
-        if (ttf == null) {
-            return null;
-        }
-
-        // get the font from the ttf
-        Map<Integer, Font> styleMap = mTtfToFontMap.get(ttf);
-
-        if (styleMap == null) {
-            styleMap = new HashMap<Integer, Font>();
-            mTtfToFontMap.put(ttf, styleMap);
-        }
-
-        Font f = styleMap.get(style[0]);
-
-        if (f != null) {
-            return f;
-        }
-
-        // if it doesn't exist, we create it, and we can't, we try with a simpler style
-        switch (style[0]) {
-            case Typeface.NORMAL:
-                f = getFont(ttf, FONT_STYLES[Typeface.NORMAL]);
+        // get the font objects from the main list based on family.
+        for (FontInfo info : mMainFonts) {
+            if (info.families.contains(family)) {
+                result.add(info.font[style]);
                 break;
-            case Typeface.BOLD:
-            case Typeface.ITALIC:
-                f = getFont(ttf, FONT_STYLES[style[0]]);
-                if (f == null) {
-                    f = getFont(ttf, FONT_STYLES[Typeface.NORMAL]);
-                    style[0] = Typeface.NORMAL;
-                }
-                break;
-            case Typeface.BOLD_ITALIC:
-                f = getFont(ttf, FONT_STYLES[style[0]]);
-                if (f == null) {
-                    f = getFont(ttf, FONT_STYLES[Typeface.BOLD]);
-                    if (f != null) {
-                        style[0] = Typeface.BOLD;
-                    } else {
-                        f = getFont(ttf, FONT_STYLES[Typeface.ITALIC]);
-                        if (f != null) {
-                            style[0] = Typeface.ITALIC;
-                        } else {
-                            f = getFont(ttf, FONT_STYLES[Typeface.NORMAL]);
-                            style[0] = Typeface.NORMAL;
-                        }
-                    }
-                }
-                break;
-        }
-
-        if (f != null) {
-            styleMap.put(style[0], f);
-            return f;
-        }
-
-        return null;
-    }
-
-    private Font getFont(String ttf, String[] fontFileSuffix) {
-        for (String suffix : fontFileSuffix) {
-            String name = ttf + suffix + FONT_EXT;
-
-            File f = new File(name);
-            if (f.isFile()) {
-                try {
-                    Font font = Font.createFont(Font.TRUETYPE_FONT, f);
-                    if (font != null) {
-                        return font;
-                    }
-                } catch (FontFormatException e) {
-                    // skip this font name
-                } catch (IOException e) {
-                    // skip this font name
-                }
             }
         }
 
-        return null;
+        // add all the fallback fonts for the given style
+        for (FontInfo info : mFallbackFonts) {
+            result.add(info.font[style]);
+        }
+
+        return result;
     }
 
+
+    public synchronized List<Font> getFallbackFonts(int style) {
+        List<Font> result = new ArrayList<Font>();
+        // add all the fallback fonts
+        for (FontInfo info : mFallbackFonts) {
+            result.add(info.font[style]);
+        }
+        return result;
+    }
+
+
     private final static class FontInfo {
-        String ttf;
+        final Font[] font = new Font[4]; // Matches the 4 type-face styles.
         final Set<String> families;
 
         FontInfo() {
@@ -240,21 +183,20 @@
         }
     }
 
-    private final static class FontDefinitionParser extends DefaultHandler {
+    private final static class FontHandler extends DefaultHandler {
         private final String mOsFontsLocation;
 
         private FontInfo mFontInfo = null;
         private final StringBuilder mBuilder = new StringBuilder();
-        private List<FontInfo> mFontList;
-        private List<String> mFallBackList;
+        private List<FontInfo> mFontList = new ArrayList<FontInfo>();
 
-        private FontDefinitionParser(String osFontsLocation) {
+        private FontHandler(String osFontsLocation) {
             super();
             mOsFontsLocation = osFontsLocation;
         }
 
-        FontLoader getFontLoader() {
-            return new FontLoader(mFontList, mFallBackList);
+        public List<FontInfo> getFontList() {
+            return mFontList;
         }
 
         /* (non-Javadoc)
@@ -263,26 +205,11 @@
         @Override
         public void startElement(String uri, String localName, String name, Attributes attributes)
                 throws SAXException {
-            if (NODE_FONTS.equals(localName)) {
+            if (NODE_FAMILYSET.equals(localName)) {
                 mFontList = new ArrayList<FontInfo>();
-                mFallBackList = new ArrayList<String>();
-            } else if (NODE_FONT.equals(localName)) {
+            } else if (NODE_FAMILY.equals(localName)) {
                 if (mFontList != null) {
-                    String ttf = attributes.getValue(ATTR_TTF);
-                    if (ttf != null) {
-                        mFontInfo = new FontInfo();
-                        mFontInfo.ttf = mOsFontsLocation + ttf;
-                        mFontList.add(mFontInfo);
-                    }
-                }
-            } else if (NODE_NAME.equals(localName)) {
-                // do nothing, we'll handle the name in the endElement
-            } else if (NODE_FALLBACK.equals(localName)) {
-                if (mFallBackList != null) {
-                    String ttf = attributes.getValue(ATTR_TTF);
-                    if (ttf != null) {
-                        mFallBackList.add(mOsFontsLocation + ttf);
-                    }
+                    mFontInfo = new FontInfo();
                 }
             }
 
@@ -304,21 +231,80 @@
          */
         @Override
         public void endElement(String uri, String localName, String name) throws SAXException {
-            if (NODE_FONTS.equals(localName)) {
-                // top level, do nothing
-            } else if (NODE_FONT.equals(localName)) {
-                mFontInfo = null;
+            if (NODE_FAMILY.equals(localName)) {
+                if (mFontInfo != null) {
+                    // if has a normal font file, add to the list
+                    if (mFontInfo.font[Typeface.NORMAL] != null) {
+                        mFontList.add(mFontInfo);
+
+                        // create missing font styles, order is important.
+                        if (mFontInfo.font[Typeface.BOLD_ITALIC] == null) {
+                            computeDerivedFont(Typeface.BOLD_ITALIC, DERIVE_BOLD_ITALIC);
+                        }
+                        if (mFontInfo.font[Typeface.ITALIC] == null) {
+                            computeDerivedFont(Typeface.ITALIC, DERIVE_ITALIC);
+                        }
+                        if (mFontInfo.font[Typeface.BOLD] == null) {
+                            computeDerivedFont(Typeface.BOLD, DERIVE_BOLD);
+                        }
+                    }
+
+                    mFontInfo = null;
+                }
             } else if (NODE_NAME.equals(localName)) {
                 // handle a new name for an existing Font Info
                 if (mFontInfo != null) {
                     String family = trimXmlWhitespaces(mBuilder.toString());
                     mFontInfo.families.add(family);
                 }
-            } else if (NODE_FALLBACK.equals(localName)) {
-                // nothing to do here.
+            } else if (NODE_FILE.equals(localName)) {
+                // handle a new file for an existing Font Info
+                if (mFontInfo != null) {
+                    String fileName = trimXmlWhitespaces(mBuilder.toString());
+                    Font font = getFont(fileName);
+                    if (font != null) {
+                        if (fileName.endsWith(FONT_SUFFIX_REGULAR)) {
+                            mFontInfo.font[Typeface.NORMAL] = font;
+                        } else if (fileName.endsWith(FONT_SUFFIX_BOLD)) {
+                            mFontInfo.font[Typeface.BOLD] = font;
+                        } else if (fileName.endsWith(FONT_SUFFIX_ITALIC)) {
+                            mFontInfo.font[Typeface.ITALIC] = font;
+                        } else if (fileName.endsWith(FONT_SUFFIX_BOLDITALIC)) {
+                            mFontInfo.font[Typeface.BOLD_ITALIC] = font;
+                        } else if (fileName.endsWith(FONT_SUFFIX_NONE)) {
+                            mFontInfo.font[Typeface.NORMAL] = font;
+                        }
+                    }
+                }
             }
         }
 
+        private Font getFont(String fileName) {
+            try {
+                File file = new File(mOsFontsLocation, fileName);
+                if (file.exists()) {
+                    return Font.createFont(Font.TRUETYPE_FONT, file);
+                }
+            } catch (Exception e) {
+
+            }
+
+            return null;
+        }
+
+        private void computeDerivedFont( int toCompute, int[] basedOnList) {
+            for (int basedOn : basedOnList) {
+                if (mFontInfo.font[basedOn] != null) {
+                    mFontInfo.font[toCompute] =
+                        mFontInfo.font[basedOn].deriveFont(AWT_STYLES[toCompute]);
+                    return;
+                }
+            }
+
+            // we really shouldn't stop there. This means we don't have a NORMAL font...
+            assert false;
+        }
+
         private String trimXmlWhitespaces(String value) {
             if (value == null) {
                 return null;
diff --git a/tools/orientationplot/orientationplot.py b/tools/orientationplot/orientationplot.py
index 07449d4..3a44cb2 100755
--- a/tools/orientationplot/orientationplot.py
+++ b/tools/orientationplot/orientationplot.py
@@ -131,42 +131,28 @@
         self.orientation_angle_axes, 'orientation', 'black')
     self._add_timeseries_legend(self.orientation_angle_axes)
 
-    self.actual_orientation = self._make_timeseries()
-    self.proposed_orientation = self._make_timeseries()
+    self.current_rotation = self._make_timeseries()
+    self.proposed_rotation = self._make_timeseries()
+    self.proposal_rotation = self._make_timeseries()
     self.orientation_axes = self._add_timeseries_axes(
-        5, 'Actual / Proposed Orientation and Confidence', 'rotation', [-1, 4],
+        5, 'Current / Proposed Orientation and Confidence', 'rotation', [-1, 4],
         sharex=shared_axis,
         yticks=range(0, 4))
-    self.actual_orientation_line = self._add_timeseries_line(
-        self.orientation_axes, 'actual', 'black', linewidth=2)
-    self.proposed_orientation_line = self._add_timeseries_line(
-        self.orientation_axes, 'proposed', 'purple', linewidth=3)
+    self.current_rotation_line = self._add_timeseries_line(
+        self.orientation_axes, 'current', 'black', linewidth=2)
+    self.proposal_rotation_line = self._add_timeseries_line(
+        self.orientation_axes, 'proposal', 'purple', linewidth=3)
+    self.proposed_rotation_line = self._add_timeseries_line(
+        self.orientation_axes, 'proposed', 'green', linewidth=3)
     self._add_timeseries_legend(self.orientation_axes)
 
-    self.confidence = [[self._make_timeseries(), self._make_timeseries()] for i in range(0, 4)]
-    self.confidence_polys = []
-
-    self.combined_confidence = self._make_timeseries()
-    self.orientation_confidence = self._make_timeseries()
-    self.tilt_confidence = self._make_timeseries()
-    self.magnitude_confidence = self._make_timeseries()
-    self.confidence_axes = self._add_timeseries_axes(
-        6, 'Proposed Orientation Confidence Factors', 'confidence', [-0.1, 1.1],
-        sharex=shared_axis,
-        yticks=[0.0, 0.2, 0.4, 0.6, 0.8, 1.0])
-    self.combined_confidence_line = self._add_timeseries_line(
-        self.confidence_axes, 'combined', 'purple', linewidth=2)
-    self.orientation_confidence_line = self._add_timeseries_line(
-        self.confidence_axes, 'orientation', 'black')
-    self.tilt_confidence_line = self._add_timeseries_line(
-        self.confidence_axes, 'tilt', 'brown')
-    self.magnitude_confidence_line = self._add_timeseries_line(
-        self.confidence_axes, 'magnitude', 'orange')
-    self._add_timeseries_legend(self.confidence_axes)
+    self.proposal_confidence = [[self._make_timeseries(), self._make_timeseries()]
+      for i in range(0, 4)]
+    self.proposal_confidence_polys = []
 
     self.sample_latency = self._make_timeseries()
     self.sample_latency_axes = self._add_timeseries_axes(
-        7, 'Accelerometer Sampling Latency', 'ms', [-10, 500],
+        6, 'Accelerometer Sampling Latency', 'ms', [-10, 500],
         sharex=shared_axis,
         yticks=range(0, 500, 100))
     self.sample_latency_line = self._add_timeseries_line(
@@ -186,7 +172,7 @@
 
   # Add a subplot to the figure for a time series.
   def _add_timeseries_axes(self, index, title, ylabel, ylim, yticks, sharex=None):
-    num_graphs = 7
+    num_graphs = 6
     height = 0.9 / num_graphs
     top = 0.95 - height * index
     axes = self.fig.add_axes([0.1, top, 0.8, height],
@@ -234,13 +220,10 @@
     self.parse_magnitude = None
     self.parse_tilt_angle = None
     self.parse_orientation_angle = None
-    self.parse_proposed_orientation = None
-    self.parse_combined_confidence = None
-    self.parse_orientation_confidence = None
-    self.parse_tilt_confidence = None
-    self.parse_magnitude_confidence = None
-    self.parse_actual_orientation = None
-    self.parse_confidence = None
+    self.parse_current_rotation = None
+    self.parse_proposed_rotation = None
+    self.parse_proposal_rotation = None
+    self.parse_proposal_confidence = None
     self.parse_sample_latency = None
 
   # Update samples.
@@ -284,26 +267,13 @@
       if line.find('orientationAngle=') != -1:
         self.parse_orientation_angle = self._get_following_number(line, 'orientationAngle=')
 
-      if line.find('Proposal:') != -1:
-        self.parse_proposed_orientation = self._get_following_number(line, 'proposedOrientation=')
-        self.parse_combined_confidence = self._get_following_number(line, 'combinedConfidence=')
-        self.parse_orientation_confidence = self._get_following_number(line, 'orientationConfidence=')
-        self.parse_tilt_confidence = self._get_following_number(line, 'tiltConfidence=')
-        self.parse_magnitude_confidence = self._get_following_number(line, 'magnitudeConfidence=')
-
       if line.find('Result:') != -1:
-        self.parse_actual_orientation = self._get_following_number(line, 'rotation=')
-        self.parse_confidence = self._get_following_array_of_numbers(line, 'confidence=')
+        self.parse_current_rotation = self._get_following_number(line, 'currentRotation=')
+        self.parse_proposed_rotation = self._get_following_number(line, 'proposedRotation=')
+        self.parse_proposal_rotation = self._get_following_number(line, 'proposalRotation=')
+        self.parse_proposal_confidence = self._get_following_number(line, 'proposalConfidence=')
         self.parse_sample_latency = self._get_following_number(line, 'timeDeltaMS=')
 
-        for i in range(0, 4):
-          if self.parse_confidence is not None:
-            self._append(self.confidence[i][0], timeindex, i)
-            self._append(self.confidence[i][1], timeindex, i + self.parse_confidence[i])
-          else:
-            self._append(self.confidence[i][0], timeindex, None)
-            self._append(self.confidence[i][1], timeindex, None)
-
         self._append(self.raw_acceleration_x, timeindex, self.parse_raw_acceleration_x)
         self._append(self.raw_acceleration_y, timeindex, self.parse_raw_acceleration_y)
         self._append(self.raw_acceleration_z, timeindex, self.parse_raw_acceleration_z)
@@ -313,12 +283,22 @@
         self._append(self.magnitude, timeindex, self.parse_magnitude)
         self._append(self.tilt_angle, timeindex, self.parse_tilt_angle)
         self._append(self.orientation_angle, timeindex, self.parse_orientation_angle)
-        self._append(self.actual_orientation, timeindex, self.parse_actual_orientation)
-        self._append(self.proposed_orientation, timeindex, self.parse_proposed_orientation)
-        self._append(self.combined_confidence, timeindex, self.parse_combined_confidence)
-        self._append(self.orientation_confidence, timeindex, self.parse_orientation_confidence)
-        self._append(self.tilt_confidence, timeindex, self.parse_tilt_confidence)
-        self._append(self.magnitude_confidence, timeindex, self.parse_magnitude_confidence)
+        self._append(self.current_rotation, timeindex, self.parse_current_rotation)
+        if self.parse_proposed_rotation >= 0:
+          self._append(self.proposed_rotation, timeindex, self.parse_proposed_rotation)
+        else:
+          self._append(self.proposed_rotation, timeindex, None)
+        if self.parse_proposal_rotation >= 0:
+          self._append(self.proposal_rotation, timeindex, self.parse_proposal_rotation)
+        else:
+          self._append(self.proposal_rotation, timeindex, None)
+        for i in range(0, 4):
+          self._append(self.proposal_confidence[i][0], timeindex, i)
+          if i == self.parse_proposal_rotation:
+            self._append(self.proposal_confidence[i][1], timeindex,
+              i + self.parse_proposal_confidence)
+          else:
+            self._append(self.proposal_confidence[i][1], timeindex, i)
         self._append(self.sample_latency, timeindex, self.parse_sample_latency)
         self._reset_parse_state()
 
@@ -335,16 +315,13 @@
       self._scroll(self.magnitude, bottom)
       self._scroll(self.tilt_angle, bottom)
       self._scroll(self.orientation_angle, bottom)
-      self._scroll(self.actual_orientation, bottom)
-      self._scroll(self.proposed_orientation, bottom)
-      self._scroll(self.combined_confidence, bottom)
-      self._scroll(self.orientation_confidence, bottom)
-      self._scroll(self.tilt_confidence, bottom)
-      self._scroll(self.magnitude_confidence, bottom)
-      self._scroll(self.sample_latency, bottom)
+      self._scroll(self.current_rotation, bottom)
+      self._scroll(self.proposed_rotation, bottom)
+      self._scroll(self.proposal_rotation, bottom)
       for i in range(0, 4):
-        self._scroll(self.confidence[i][0], bottom)
-        self._scroll(self.confidence[i][1], bottom)
+        self._scroll(self.proposal_confidence[i][0], bottom)
+        self._scroll(self.proposal_confidence[i][1], bottom)
+      self._scroll(self.sample_latency, bottom)
 
     # Redraw the plots.
     self.raw_acceleration_line_x.set_data(self.raw_acceleration_x)
@@ -356,20 +333,19 @@
     self.magnitude_line.set_data(self.magnitude)
     self.tilt_angle_line.set_data(self.tilt_angle)
     self.orientation_angle_line.set_data(self.orientation_angle)
-    self.actual_orientation_line.set_data(self.actual_orientation)
-    self.proposed_orientation_line.set_data(self.proposed_orientation)
-    self.combined_confidence_line.set_data(self.combined_confidence)
-    self.orientation_confidence_line.set_data(self.orientation_confidence)
-    self.tilt_confidence_line.set_data(self.tilt_confidence)
-    self.magnitude_confidence_line.set_data(self.magnitude_confidence)
+    self.current_rotation_line.set_data(self.current_rotation)
+    self.proposed_rotation_line.set_data(self.proposed_rotation)
+    self.proposal_rotation_line.set_data(self.proposal_rotation)
     self.sample_latency_line.set_data(self.sample_latency)
 
-    for poly in self.confidence_polys:
+    for poly in self.proposal_confidence_polys:
       poly.remove()
-    self.confidence_polys = []
+    self.proposal_confidence_polys = []
     for i in range(0, 4):
-      self.confidence_polys.append(self.orientation_axes.fill_between(self.confidence[i][0][0],
-        self.confidence[i][0][1], self.confidence[i][1][1],
+      self.proposal_confidence_polys.append(self.orientation_axes.fill_between(
+        self.proposal_confidence[i][0][0],
+        self.proposal_confidence[i][0][1],
+        self.proposal_confidence[i][1][1],
         facecolor='goldenrod', edgecolor='goldenrod'))
 
     self.fig.canvas.draw_idle()
diff --git a/voip/java/com/android/server/sip/SipService.java b/voip/java/com/android/server/sip/SipService.java
index f417ddd..119ed54 100644
--- a/voip/java/com/android/server/sip/SipService.java
+++ b/voip/java/com/android/server/sip/SipService.java
@@ -81,10 +81,8 @@
     private String mNetworkType;
     private boolean mConnected;
     private SipWakeupTimer mTimer;
-    private WifiScanProcess mWifiScanProcess;
     private WifiManager.WifiLock mWifiLock;
-    private boolean mWifiOnly;
-    private BroadcastReceiver mWifiStateReceiver = null;
+    private boolean mSipOnWifiOnly;
 
     private IntervalMeasurementProcess mIntervalMeasurementProcess;
 
@@ -99,7 +97,6 @@
             new HashMap<String, ISipSession>();
 
     private ConnectivityReceiver mConnectivityReceiver;
-    private boolean mWifiEnabled;
     private SipWakeLock mMyWakeLock;
     private int mKeepAliveInterval;
     private int mLastGoodKeepAliveInterval = DEFAULT_KEEPALIVE_INTERVAL;
@@ -120,55 +117,17 @@
         if (DEBUG) Log.d(TAG, " service started!");
         mContext = context;
         mConnectivityReceiver = new ConnectivityReceiver();
+
+        mWifiLock = ((WifiManager)
+                context.getSystemService(Context.WIFI_SERVICE))
+                .createWifiLock(WifiManager.WIFI_MODE_FULL, TAG);
+        mWifiLock.setReferenceCounted(false);
+        mSipOnWifiOnly = SipManager.isSipWifiOnly(context);
+
         mMyWakeLock = new SipWakeLock((PowerManager)
                 context.getSystemService(Context.POWER_SERVICE));
 
         mTimer = new SipWakeupTimer(context, mExecutor);
-        mWifiOnly = SipManager.isSipWifiOnly(context);
-    }
-
-    private BroadcastReceiver createWifiBroadcastReceiver() {
-        return new BroadcastReceiver() {
-            @Override
-            public void onReceive(Context context, Intent intent) {
-                String action = intent.getAction();
-                if (WifiManager.WIFI_STATE_CHANGED_ACTION.equals(action)) {
-                    int state = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE,
-                            WifiManager.WIFI_STATE_UNKNOWN);
-                    synchronized (SipService.this) {
-                        switch (state) {
-                            case WifiManager.WIFI_STATE_ENABLED:
-                                mWifiEnabled = true;
-                                if (anyOpenedToReceiveCalls()) grabWifiLock();
-                                break;
-                            case WifiManager.WIFI_STATE_DISABLED:
-                                mWifiEnabled = false;
-                                releaseWifiLock();
-                                break;
-                        }
-                    }
-                }
-            }
-        };
-    };
-
-    private void registerReceivers() {
-        mContext.registerReceiver(mConnectivityReceiver,
-                new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));
-        if (SipManager.isSipWifiOnly(mContext)) {
-            mWifiStateReceiver = createWifiBroadcastReceiver();
-            mContext.registerReceiver(mWifiStateReceiver,
-                    new IntentFilter(WifiManager.WIFI_STATE_CHANGED_ACTION));
-        }
-        if (DEBUG) Log.d(TAG, " +++ register receivers");
-    }
-
-    private void unregisterReceivers() {
-        mContext.unregisterReceiver(mConnectivityReceiver);
-        if (SipManager.isSipWifiOnly(mContext)) {
-            mContext.unregisterReceiver(mWifiStateReceiver);
-        }
-        if (DEBUG) Log.d(TAG, " --- unregister receivers");
     }
 
     public synchronized SipProfile[] getListOfProfiles() {
@@ -218,7 +177,6 @@
             if (addingFirstProfile && !mSipGroups.isEmpty()) registerReceivers();
             if (localProfile.getAutoRegistration()) {
                 group.openToReceiveCalls();
-                if (mWifiEnabled) grabWifiLock();
             }
         } catch (SipException e) {
             Log.e(TAG, "openToReceiveCalls()", e);
@@ -254,10 +212,9 @@
         group.close();
 
         if (!anyOpenedToReceiveCalls()) {
-            releaseWifiLock();
+            unregisterReceivers();
             mMyWakeLock.reset(); // in case there's leak
         }
-        if (mSipGroups.isEmpty()) unregisterReceivers();
     }
 
     public synchronized boolean isOpened(String localProfileUri) {
@@ -388,83 +345,6 @@
         return false;
     }
 
-    private void grabWifiLock() {
-        if (mWifiLock == null) {
-            if (DEBUG) Log.d(TAG, "acquire wifi lock");
-            mWifiLock = ((WifiManager)
-                    mContext.getSystemService(Context.WIFI_SERVICE))
-                    .createWifiLock(WifiManager.WIFI_MODE_FULL, TAG);
-            mWifiLock.acquire();
-            if (!mConnected) startWifiScanner();
-        }
-    }
-
-    private void releaseWifiLock() {
-        if (mWifiLock != null) {
-            if (DEBUG) Log.d(TAG, "release wifi lock");
-            mWifiLock.release();
-            mWifiLock = null;
-            stopWifiScanner();
-        }
-    }
-
-    private synchronized void startWifiScanner() {
-        if (mWifiScanProcess == null) {
-            mWifiScanProcess = new WifiScanProcess();
-        }
-        mWifiScanProcess.start();
-    }
-
-    private synchronized void stopWifiScanner() {
-        if (mWifiScanProcess != null) {
-            mWifiScanProcess.stop();
-        }
-    }
-
-    private synchronized void onConnectivityChanged(
-            String type, boolean connected) {
-        if (DEBUG) Log.d(TAG, "onConnectivityChanged(): "
-                + mNetworkType + (mConnected? " CONNECTED" : " DISCONNECTED")
-                + " --> " + type + (connected? " CONNECTED" : " DISCONNECTED"));
-
-        boolean sameType = type.equals(mNetworkType);
-        if (!sameType && !connected) return;
-
-        boolean wasWifi = "WIFI".equalsIgnoreCase(mNetworkType);
-        boolean isWifi = "WIFI".equalsIgnoreCase(type);
-        boolean wifiOff = (isWifi && !connected) || (wasWifi && !sameType);
-        boolean wifiOn = isWifi && connected;
-
-        try {
-            boolean wasConnected = mConnected;
-            mNetworkType = type;
-            mConnected = connected;
-
-            if (wasConnected) {
-                mLocalIp = null;
-                stopPortMappingMeasurement();
-                for (SipSessionGroupExt group : mSipGroups.values()) {
-                    group.onConnectivityChanged(false);
-                }
-            }
-
-            if (connected) {
-                mLocalIp = determineLocalIp();
-                mKeepAliveInterval = -1;
-                mLastGoodKeepAliveInterval = DEFAULT_KEEPALIVE_INTERVAL;
-                for (SipSessionGroupExt group : mSipGroups.values()) {
-                    group.onConnectivityChanged(true);
-                }
-                if (isWifi && (mWifiLock != null)) stopWifiScanner();
-            } else {
-                mMyWakeLock.reset(); // in case there's a leak
-                if (isWifi && (mWifiLock != null)) startWifiScanner();
-            }
-        } catch (SipException e) {
-            Log.e(TAG, "onConnectivityChanged()", e);
-        }
-    }
-
     private void stopPortMappingMeasurement() {
         if (mIntervalMeasurementProcess != null) {
             mIntervalMeasurementProcess.stop();
@@ -747,36 +627,6 @@
         }
     }
 
-    private class WifiScanProcess implements Runnable {
-        private static final String TAG = "\\WIFI_SCAN/";
-        private static final int INTERVAL = 60;
-        private boolean mRunning = false;
-
-        private WifiManager mWifiManager;
-
-        public void start() {
-            if (mRunning) return;
-            mRunning = true;
-            mTimer.set(INTERVAL * 1000, this);
-        }
-
-        WifiScanProcess() {
-            mWifiManager = (WifiManager)
-                    mContext.getSystemService(Context.WIFI_SERVICE);
-        }
-
-        public void run() {
-            // scan and associate now
-            if (DEBUGV) Log.v(TAG, "just wake up here for wifi scanning...");
-            mWifiManager.startScanActive();
-        }
-
-        public void stop() {
-            mRunning = false;
-            mTimer.cancel(this);
-        }
-    }
-
     private class IntervalMeasurementProcess implements Runnable,
             SipSessionGroup.KeepAliveProcessCallback {
         private static final String TAG = "SipKeepAliveInterval";
@@ -1254,138 +1104,103 @@
     }
 
     private class ConnectivityReceiver extends BroadcastReceiver {
-        private Timer mTimer = new Timer();
-        private MyTimerTask mTask;
-
         @Override
-        public void onReceive(final Context context, final Intent intent) {
-            // Run the handler in MyExecutor to be protected by wake lock
-            mExecutor.execute(new Runnable() {
-                public void run() {
-                    onReceiveInternal(context, intent);
-                }
-            });
-        }
+        public void onReceive(Context context, Intent intent) {
+            Bundle bundle = intent.getExtras();
+            if (bundle != null) {
+                final NetworkInfo info = (NetworkInfo)
+                        bundle.get(ConnectivityManager.EXTRA_NETWORK_INFO);
 
-        private void onReceiveInternal(Context context, Intent intent) {
-            String action = intent.getAction();
-            if (action.equals(ConnectivityManager.CONNECTIVITY_ACTION)) {
-                Bundle b = intent.getExtras();
-                if (b != null) {
-                    NetworkInfo netInfo = (NetworkInfo)
-                            b.get(ConnectivityManager.EXTRA_NETWORK_INFO);
-                    String type = netInfo.getTypeName();
-                    NetworkInfo.State state = netInfo.getState();
-
-                    if (mWifiOnly && (netInfo.getType() !=
-                            ConnectivityManager.TYPE_WIFI)) {
-                        if (DEBUG) {
-                            Log.d(TAG, "Wifi only, other connectivity ignored: "
-                                    + type);
-                        }
-                        return;
-                    }
-
-                    NetworkInfo activeNetInfo = getActiveNetworkInfo();
-                    if (DEBUG) {
-                        if (activeNetInfo != null) {
-                            Log.d(TAG, "active network: "
-                                    + activeNetInfo.getTypeName()
-                                    + ((activeNetInfo.getState() == NetworkInfo.State.CONNECTED)
-                                            ? " CONNECTED" : " DISCONNECTED"));
-                        } else {
-                            Log.d(TAG, "active network: null");
-                        }
-                    }
-                    if ((state == NetworkInfo.State.CONNECTED)
-                            && (activeNetInfo != null)
-                            && (activeNetInfo.getType() != netInfo.getType())) {
-                        if (DEBUG) Log.d(TAG, "ignore connect event: " + type
-                                + ", active: " + activeNetInfo.getTypeName());
-                        return;
-                    }
-
-                    if (state == NetworkInfo.State.CONNECTED) {
-                        if (DEBUG) Log.d(TAG, "Connectivity alert: CONNECTED " + type);
-                        onChanged(type, true);
-                    } else if (state == NetworkInfo.State.DISCONNECTED) {
-                        if (DEBUG) Log.d(TAG, "Connectivity alert: DISCONNECTED " + type);
-                        onChanged(type, false);
-                    } else {
-                        if (DEBUG) Log.d(TAG, "Connectivity alert not processed: "
-                                + state + " " + type);
-                    }
-                }
-            }
-        }
-
-        private NetworkInfo getActiveNetworkInfo() {
-            ConnectivityManager cm = (ConnectivityManager)
-                    mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
-            return cm.getActiveNetworkInfo();
-        }
-
-        private void onChanged(String type, boolean connected) {
-            synchronized (SipService.this) {
-                // When turning on WIFI, it needs some time for network
-                // connectivity to get stabile so we defer good news (because
-                // we want to skip the interim ones) but deliver bad news
-                // immediately
-                if (connected) {
-                    if (mTask != null) {
-                        mTask.cancel();
-                        mMyWakeLock.release(mTask);
-                    }
-                    mTask = new MyTimerTask(type, connected);
-                    mTimer.schedule(mTask, 2 * 1000L);
-                    // hold wakup lock so that we can finish changes before the
-                    // device goes to sleep
-                    mMyWakeLock.acquire(mTask);
-                } else {
-                    if ((mTask != null) && mTask.mNetworkType.equals(type)) {
-                        mTask.cancel();
-                        mMyWakeLock.release(mTask);
-                    }
-                    onConnectivityChanged(type, false);
-                }
-            }
-        }
-
-        private class MyTimerTask extends TimerTask {
-            private boolean mConnected;
-            private String mNetworkType;
-
-            public MyTimerTask(String type, boolean connected) {
-                mNetworkType = type;
-                mConnected = connected;
-            }
-
-            // timeout handler
-            @Override
-            public void run() {
-                // delegate to mExecutor
+                // Run the handler in MyExecutor to be protected by wake lock
                 mExecutor.execute(new Runnable() {
                     public void run() {
-                        realRun();
+                        onConnectivityChanged(info);
                     }
                 });
             }
+        }
+    }
 
-            private void realRun() {
-                synchronized (SipService.this) {
-                    if (mTask != this) {
-                        Log.w(TAG, "  unexpected task: " + mNetworkType
-                                + (mConnected ? " CONNECTED" : "DISCONNECTED"));
-                        mMyWakeLock.release(this);
-                        return;
-                    }
-                    mTask = null;
-                    if (DEBUG) Log.d(TAG, " deliver change for " + mNetworkType
-                            + (mConnected ? " CONNECTED" : "DISCONNECTED"));
-                    onConnectivityChanged(mNetworkType, mConnected);
-                    mMyWakeLock.release(this);
+    private void registerReceivers() {
+        mContext.registerReceiver(mConnectivityReceiver,
+                new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));
+        if (DEBUG) Log.d(TAG, " +++ register receivers");
+    }
+
+    private void unregisterReceivers() {
+        mContext.unregisterReceiver(mConnectivityReceiver);
+        if (DEBUG) Log.d(TAG, " --- unregister receivers");
+
+        // Reset variables maintained by ConnectivityReceiver.
+        mWifiLock.release();
+        mConnected = false;
+    }
+
+    private synchronized void onConnectivityChanged(NetworkInfo info) {
+        // We only care about the default network, and getActiveNetworkInfo()
+        // is the only way to distinguish them. However, as broadcasts are
+        // delivered asynchronously, we might miss DISCONNECTED events from
+        // getActiveNetworkInfo(), which is critical to our SIP stack. To
+        // solve this, if it is a DISCONNECTED event to our current network,
+        // respect it. Otherwise get a new one from getActiveNetworkInfo().
+        if (info == null || info.isConnected() ||
+                !info.getTypeName().equals(mNetworkType)) {
+            ConnectivityManager cm = (ConnectivityManager)
+                    mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
+            info = cm.getActiveNetworkInfo();
+        }
+
+        // Some devices limit SIP on Wi-Fi. In this case, if we are not on
+        // Wi-Fi, treat it as a DISCONNECTED event.
+        boolean connected = (info != null && info.isConnected() &&
+                (!mSipOnWifiOnly || info.getType() == ConnectivityManager.TYPE_WIFI));
+        String networkType = connected ? info.getTypeName() : "null";
+
+        // Ignore the event if the current active network is not changed.
+        if (connected == mConnected && networkType.equals(mNetworkType)) {
+            return;
+        }
+        if (DEBUG) {
+            Log.d(TAG, "onConnectivityChanged(): " + mNetworkType +
+                    " -> " + networkType);
+        }
+
+        try {
+            if (mConnected) {
+                mLocalIp = null;
+                stopPortMappingMeasurement();
+                for (SipSessionGroupExt group : mSipGroups.values()) {
+                    group.onConnectivityChanged(false);
                 }
             }
+
+            mConnected = connected;
+            mNetworkType = networkType;
+
+            if (connected) {
+                mLocalIp = determineLocalIp();
+                mKeepAliveInterval = -1;
+                mLastGoodKeepAliveInterval = DEFAULT_KEEPALIVE_INTERVAL;
+                for (SipSessionGroupExt group : mSipGroups.values()) {
+                    group.onConnectivityChanged(true);
+                }
+
+                // If we are on Wi-Fi, grab the WifiLock. Otherwise release it.
+                if (info.getType() == ConnectivityManager.TYPE_WIFI) {
+                    mWifiLock.acquire();
+                } else {
+                    mWifiLock.release();
+                }
+            } else {
+                // Always grab the WifiLock when we are disconnected, so the
+                // system will keep trying to reconnect. We will release it
+                // if we eventually connect via something else.
+                mWifiLock.acquire();
+
+                mMyWakeLock.reset(); // in case there's a leak
+            }
+        } catch (SipException e) {
+            Log.e(TAG, "onConnectivityChanged()", e);
         }
     }
 
diff --git a/wifi/java/android/net/wifi/WifiConfigStore.java b/wifi/java/android/net/wifi/WifiConfigStore.java
index 18d6eaa..568a485 100644
--- a/wifi/java/android/net/wifi/WifiConfigStore.java
+++ b/wifi/java/android/net/wifi/WifiConfigStore.java
@@ -100,6 +100,7 @@
 
     private static Context sContext;
     private static final String TAG = "WifiConfigStore";
+    private static final boolean DBG = false;
 
     /* configured networks with network id as the key */
     private static HashMap<Integer, WifiConfiguration> sConfiguredNetworks =
@@ -140,7 +141,7 @@
      * and enable all stored networks in supplicant.
      */
     static void initialize(Context context) {
-        Log.d(TAG, "Loading config and enabling all networks");
+        if (DBG) log("Loading config and enabling all networks");
         sContext = context;
         loadConfiguredNetworks();
         enableAllNetworks();
@@ -173,7 +174,7 @@
                         networkEnabledStateChanged = true;
                         config.status = Status.ENABLED;
                     } else {
-                        Log.e(TAG, "Enable network failed on " + config.networkId);
+                        loge("Enable network failed on " + config.networkId);
                     }
                 }
             }
@@ -204,7 +205,7 @@
             if (netId != INVALID_NETWORK_ID) {
                 selectNetwork(netId);
             } else {
-                Log.e(TAG, "Failed to update network " + config);
+                loge("Failed to update network " + config);
             }
             return netId;
         }
@@ -290,7 +291,7 @@
             writeIpAndProxyConfigurations();
             sendConfiguredNetworksChangedBroadcast();
         } else {
-            Log.e(TAG, "Failed to remove network " + netId);
+            loge("Failed to remove network " + netId);
         }
     }
 
@@ -404,7 +405,7 @@
             markAllNetworksDisabled();
             result.status = WpsResult.Status.SUCCESS;
         } else {
-            Log.e(TAG, "Failed to start WPS pin method configuration");
+            loge("Failed to start WPS pin method configuration");
             result.status = WpsResult.Status.FAILURE;
         }
         return result;
@@ -423,7 +424,7 @@
             markAllNetworksDisabled();
             result.status = WpsResult.Status.SUCCESS;
         } else {
-            Log.e(TAG, "Failed to start WPS pin method configuration");
+            loge("Failed to start WPS pin method configuration");
             result.status = WpsResult.Status.FAILURE;
         }
         return result;
@@ -439,7 +440,7 @@
             markAllNetworksDisabled();
             result.status = WpsResult.Status.SUCCESS;
         } else {
-            Log.e(TAG, "Failed to start WPS push button configuration");
+            loge("Failed to start WPS push button configuration");
             result.status = WpsResult.Status.FAILURE;
         }
         return result;
@@ -680,7 +681,7 @@
                                 /* Ignore */
                                 break;
                             default:
-                                Log.e(TAG, "Ignore invalid ip assignment while writing");
+                                loge("Ignore invalid ip assignment while writing");
                                 break;
                         }
 
@@ -707,7 +708,7 @@
                                 /* Ignore */
                                 break;
                             default:
-                                Log.e(TAG, "Ignore invalid proxy settings while writing");
+                                loge("Ignore invalid proxy settings while writing");
                                 break;
                         }
                         if (writeToFile) {
@@ -715,14 +716,14 @@
                             out.writeInt(configKey(config));
                         }
                     } catch (NullPointerException e) {
-                        Log.e(TAG, "Failure in writing " + config.linkProperties + e);
+                        loge("Failure in writing " + config.linkProperties + e);
                     }
                     out.writeUTF(EOS);
                 }
             }
 
         } catch (IOException e) {
-            Log.e(TAG, "Error writing data file");
+            loge("Error writing data file");
         } finally {
             if (out != null) {
                 try {
@@ -741,7 +742,7 @@
 
             int version = in.readInt();
             if (version != 2 && version != 1) {
-                Log.e(TAG, "Bad version on IP configuration file, ignore read");
+                loge("Bad version on IP configuration file, ignore read");
                 return;
             }
 
@@ -797,10 +798,10 @@
                         } else if (key.equals(EOS)) {
                             break;
                         } else {
-                            Log.e(TAG, "Ignore unknown key " + key + "while reading");
+                            loge("Ignore unknown key " + key + "while reading");
                         }
                     } catch (IllegalArgumentException e) {
-                        Log.e(TAG, "Ignore invalid address while reading" + e);
+                        loge("Ignore invalid address while reading" + e);
                     }
                 } while (true);
 
@@ -810,7 +811,7 @@
                                 sNetworkIds.get(id));
 
                         if (config == null) {
-                            Log.e(TAG, "configuration found for missing network, ignored");
+                            loge("configuration found for missing network, ignored");
                         } else {
                             config.linkProperties = linkProperties;
                             switch (ipAssignment) {
@@ -822,7 +823,7 @@
                                     //Ignore
                                     break;
                                 default:
-                                    Log.e(TAG, "Ignore invalid ip assignment while reading");
+                                    loge("Ignore invalid ip assignment while reading");
                                     break;
                             }
 
@@ -840,18 +841,18 @@
                                     //Ignore
                                     break;
                                 default:
-                                    Log.e(TAG, "Ignore invalid proxy settings while reading");
+                                    loge("Ignore invalid proxy settings while reading");
                                     break;
                             }
                         }
                     }
                 } else {
-                    Log.e(TAG, "Missing id while parsing configuration");
+                    loge("Missing id while parsing configuration");
                 }
             }
         } catch (EOFException ignore) {
         } catch (IOException e) {
-            Log.e(TAG, "Error parsing configuration" + e);
+            loge("Error parsing configuration" + e);
         } finally {
             if (in != null) {
                 try {
@@ -878,7 +879,7 @@
                 newNetwork = true;
                 netId = WifiNative.addNetworkCommand();
                 if (netId < 0) {
-                    Log.e(TAG, "Failed to add a network!");
+                    loge("Failed to add a network!");
                     return new NetworkUpdateResult(INVALID_NETWORK_ID);
                 }
             }
@@ -893,7 +894,7 @@
                         netId,
                         WifiConfiguration.ssidVarName,
                         config.SSID)) {
-                Log.d(TAG, "failed to set SSID: "+config.SSID);
+                loge("failed to set SSID: "+config.SSID);
                 break setVariables;
             }
 
@@ -902,7 +903,7 @@
                         netId,
                         WifiConfiguration.bssidVarName,
                         config.BSSID)) {
-                Log.d(TAG, "failed to set BSSID: "+config.BSSID);
+                loge("failed to set BSSID: "+config.BSSID);
                 break setVariables;
             }
 
@@ -913,7 +914,7 @@
                         netId,
                         WifiConfiguration.KeyMgmt.varName,
                         allowedKeyManagementString)) {
-                Log.d(TAG, "failed to set key_mgmt: "+
+                loge("failed to set key_mgmt: "+
                         allowedKeyManagementString);
                 break setVariables;
             }
@@ -925,7 +926,7 @@
                         netId,
                         WifiConfiguration.Protocol.varName,
                         allowedProtocolsString)) {
-                Log.d(TAG, "failed to set proto: "+
+                loge("failed to set proto: "+
                         allowedProtocolsString);
                 break setVariables;
             }
@@ -937,7 +938,7 @@
                         netId,
                         WifiConfiguration.AuthAlgorithm.varName,
                         allowedAuthAlgorithmsString)) {
-                Log.d(TAG, "failed to set auth_alg: "+
+                loge("failed to set auth_alg: "+
                         allowedAuthAlgorithmsString);
                 break setVariables;
             }
@@ -950,7 +951,7 @@
                         netId,
                         WifiConfiguration.PairwiseCipher.varName,
                         allowedPairwiseCiphersString)) {
-                Log.d(TAG, "failed to set pairwise: "+
+                loge("failed to set pairwise: "+
                         allowedPairwiseCiphersString);
                 break setVariables;
             }
@@ -962,7 +963,7 @@
                         netId,
                         WifiConfiguration.GroupCipher.varName,
                         allowedGroupCiphersString)) {
-                Log.d(TAG, "failed to set group: "+
+                loge("failed to set group: "+
                         allowedGroupCiphersString);
                 break setVariables;
             }
@@ -974,7 +975,7 @@
                         netId,
                         WifiConfiguration.pskVarName,
                         config.preSharedKey)) {
-                Log.d(TAG, "failed to set psk");
+                loge("failed to set psk");
                 break setVariables;
             }
 
@@ -988,9 +989,7 @@
                                     netId,
                                     WifiConfiguration.wepKeyVarNames[i],
                                     config.wepKeys[i])) {
-                            Log.d(TAG,
-                                    "failed to set wep_key"+i+": " +
-                                    config.wepKeys[i]);
+                            loge("failed to set wep_key" + i + ": " + config.wepKeys[i]);
                             break setVariables;
                         }
                         hasSetKey = true;
@@ -1003,9 +1002,7 @@
                             netId,
                             WifiConfiguration.wepTxKeyIdxVarName,
                             Integer.toString(config.wepTxKeyIndex))) {
-                    Log.d(TAG,
-                            "failed to set wep_tx_keyidx: "+
-                            config.wepTxKeyIndex);
+                    loge("failed to set wep_tx_keyidx: " + config.wepTxKeyIndex);
                     break setVariables;
                 }
             }
@@ -1014,7 +1011,7 @@
                         netId,
                         WifiConfiguration.priorityVarName,
                         Integer.toString(config.priority))) {
-                Log.d(TAG, config.SSID + ": failed to set priority: "
+                loge(config.SSID + ": failed to set priority: "
                         +config.priority);
                 break setVariables;
             }
@@ -1023,7 +1020,7 @@
                         netId,
                         WifiConfiguration.hiddenSSIDVarName,
                         Integer.toString(config.hiddenSSID ? 1 : 0))) {
-                Log.d(TAG, config.SSID + ": failed to set hiddenSSID: "+
+                loge(config.SSID + ": failed to set hiddenSSID: "+
                         config.hiddenSSID);
                 break setVariables;
             }
@@ -1040,7 +1037,7 @@
                                 netId,
                                 varName,
                                 value)) {
-                        Log.d(TAG, config.SSID + ": failed to set " + varName +
+                        loge(config.SSID + ": failed to set " + varName +
                                 ": " + value);
                         break setVariables;
                     }
@@ -1052,9 +1049,7 @@
         if (updateFailed) {
             if (newNetwork) {
                 WifiNative.removeNetworkCommand(netId);
-                Log.d(TAG,
-                        "Failed to set a network variable, removed network: "
-                        + netId);
+                loge("Failed to set a network variable, removed network: " + netId);
             }
             return new NetworkUpdateResult(INVALID_NETWORK_ID);
         }
@@ -1130,7 +1125,7 @@
                 /* Ignore */
                 break;
             default:
-                Log.e(TAG, "Ignore invalid ip assignment during write");
+                loge("Ignore invalid ip assignment during write");
                 break;
         }
 
@@ -1154,7 +1149,7 @@
                 /* Ignore */
                 break;
             default:
-                Log.e(TAG, "Ignore invalid proxy configuration during write");
+                loge("Ignore invalid proxy configuration during write");
                 break;
         }
 
@@ -1163,7 +1158,7 @@
         } else {
             currentConfig.ipAssignment = newConfig.ipAssignment;
             addIpSettingsFromConfig(linkProperties, newConfig);
-            Log.d(TAG, "IP config changed SSID = " + currentConfig.SSID + " linkProperties: " +
+            log("IP config changed SSID = " + currentConfig.SSID + " linkProperties: " +
                     linkProperties.toString());
         }
 
@@ -1173,9 +1168,9 @@
         } else {
             currentConfig.proxySettings = newConfig.proxySettings;
             linkProperties.setHttpProxy(newConfig.linkProperties.getHttpProxy());
-            Log.d(TAG, "proxy changed SSID = " + currentConfig.SSID);
+            log("proxy changed SSID = " + currentConfig.SSID);
             if (linkProperties.getHttpProxy() != null) {
-                Log.d(TAG, " proxyProperties: " + linkProperties.getHttpProxy().toString());
+                log(" proxyProperties: " + linkProperties.getHttpProxy().toString());
             }
         }
 
@@ -1394,7 +1389,7 @@
         // if we ever get here, we should probably add the
         // value to WifiConfiguration to reflect that it's
         // supported by the WPA supplicant
-        Log.w(TAG, "Failed to look-up a string: " + string);
+        loge("Failed to look-up a string: " + string);
 
         return -1;
     }
@@ -1431,4 +1426,12 @@
     public static String getConfigFile() {
         return ipConfigFile;
     }
+
+    private static void loge(String s) {
+        Log.e(TAG, s);
+    }
+
+    private static void log(String s) {
+        Log.d(TAG, s);
+    }
 }
diff --git a/wifi/java/android/net/wifi/WifiNative.java b/wifi/java/android/net/wifi/WifiNative.java
index a6ea6d4..6ff1bc2 100644
--- a/wifi/java/android/net/wifi/WifiNative.java
+++ b/wifi/java/android/net/wifi/WifiNative.java
@@ -106,12 +106,6 @@
 
     public native static String statusCommand();
 
-    public native static int getRssiCommand();
-
-    public native static int getRssiApproxCommand();
-
-    public native static int getLinkSpeedCommand();
-
     public native static String getMacAddressCommand();
 
     public native static String scanResultsCommand();
@@ -209,6 +203,16 @@
 
     private native static String doStringCommand(String command);
 
+    /** Example output:
+     * RSSI=-65
+     * LINKSPEED=48
+     * NOISE=9999
+     * FREQUENCY=0
+     */
+    public static String signalPoll() {
+        return doStringCommand("SIGNAL_POLL");
+    }
+
     public static boolean wpsPbc() {
         return doBooleanCommand("WPS_PBC");
     }
diff --git a/wifi/java/android/net/wifi/WifiStateMachine.java b/wifi/java/android/net/wifi/WifiStateMachine.java
index 052d332..55e9587 100644
--- a/wifi/java/android/net/wifi/WifiStateMachine.java
+++ b/wifi/java/android/net/wifi/WifiStateMachine.java
@@ -75,7 +75,6 @@
 import android.util.EventLog;
 import android.util.Log;
 import android.util.LruCache;
-import android.util.Slog;
 
 import com.android.internal.app.IBatteryStats;
 import com.android.internal.util.AsyncChannel;
@@ -382,6 +381,14 @@
      */
     private final int mDefaultSupplicantScanIntervalMs;
 
+    /**
+     * Minimum time interval between enabling all networks.
+     * A device can end up repeatedly connecting to a bad network on screen on/off toggle
+     * due to enabling every time. We add a threshold to avoid this.
+     */
+    private static final int MIN_INTERVAL_ENABLE_ALL_NETWORKS_MS = 10 * 60 * 1000; /* 10 minutes */
+    private long mLastEnableAllNetworksTime;
+
 
     private static final int MIN_RSSI = -200;
     private static final int MAX_RSSI = 256;
@@ -1104,12 +1111,12 @@
                             mNwService.setInterfaceConfig(intf, ifcg);
                         }
                     } catch (Exception e) {
-                        Log.e(TAG, "Error configuring interface " + intf + ", :" + e);
+                        loge("Error configuring interface " + intf + ", :" + e);
                         return false;
                     }
 
                     if(mCm.tether(intf) != ConnectivityManager.TETHER_ERROR_NO_ERROR) {
-                        Log.e(TAG, "Error tethering on " + intf);
+                        loge("Error tethering on " + intf);
                         return false;
                     }
                     return true;
@@ -1135,11 +1142,11 @@
                 mNwService.setInterfaceConfig(mInterfaceName, ifcg);
             }
         } catch (Exception e) {
-            Log.e(TAG, "Error resetting interface " + mInterfaceName + ", :" + e);
+            loge("Error resetting interface " + mInterfaceName + ", :" + e);
         }
 
         if (mCm.untether(mInterfaceName) != ConnectivityManager.TETHER_ERROR_NO_ERROR) {
-            Log.e(TAG, "Untether initiate failed!");
+            loge("Untether initiate failed!");
         }
     }
 
@@ -1175,12 +1182,12 @@
                 mBatteryStats.noteWifiOff();
             }
         } catch (RemoteException e) {
-            Log.e(TAG, "Failed to note battery stats in wifi");
+            loge("Failed to note battery stats in wifi");
         }
 
         mWifiState.set(wifiState);
 
-        if (DBG) Log.d(TAG, "setWifiState: " + syncGetWifiStateByName());
+        if (DBG) log("setWifiState: " + syncGetWifiStateByName());
 
         final Intent intent = new Intent(WifiManager.WIFI_STATE_CHANGED_ACTION);
         intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT);
@@ -1199,13 +1206,13 @@
                 mBatteryStats.noteWifiOff();
             }
         } catch (RemoteException e) {
-            Log.d(TAG, "Failed to note battery stats in wifi");
+            loge("Failed to note battery stats in wifi");
         }
 
         // Update state
         mWifiApState.set(wifiApState);
 
-        if (DBG) Log.d(TAG, "setWifiApState: " + syncGetWifiApStateByName());
+        if (DBG) log("setWifiApState: " + syncGetWifiApStateByName());
 
         final Intent intent = new Intent(WifiManager.WIFI_AP_STATE_CHANGED_ACTION);
         intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT);
@@ -1291,7 +1298,7 @@
                         }
                     }
                 } else {
-                    Log.w(TAG, "Misformatted scan result text with " +
+                    loge("Misformatted scan result text with " +
                           result.length + " fields: " + line);
                 }
             }
@@ -1362,7 +1369,28 @@
      * Fetch RSSI and linkspeed on current connection
      */
     private void fetchRssiAndLinkSpeedNative() {
-        int newRssi = WifiNative.getRssiCommand();
+        int newRssi = -1;
+        int newLinkSpeed = -1;
+
+        String signalPoll = WifiNative.signalPoll();
+
+        if (signalPoll != null) {
+            String[] lines = signalPoll.split("\n");
+            for (String line : lines) {
+                String[] prop = line.split("=");
+                if (prop.length < 2) continue;
+                try {
+                    if (prop[0].equals("RSSI")) {
+                        newRssi = Integer.parseInt(prop[1]);
+                    } else if (prop[0].equals("LINKSPEED")) {
+                        newLinkSpeed = Integer.parseInt(prop[1]);
+                    }
+                } catch (NumberFormatException e) {
+                    //Ignore, defaults on rssi and linkspeed are assigned
+                }
+            }
+        }
+
         if (newRssi != -1 && MIN_RSSI < newRssi && newRssi < MAX_RSSI) { // screen out invalid values
             /* some implementations avoid negative values by adding 256
              * so we need to adjust for that here.
@@ -1390,7 +1418,7 @@
         } else {
             mWifiInfo.setRssi(MIN_RSSI);
         }
-        int newLinkSpeed = WifiNative.getLinkSpeedCommand();
+
         if (newLinkSpeed != -1) {
             mWifiInfo.setLinkSpeed(newLinkSpeed);
         }
@@ -1398,15 +1426,15 @@
 
     private void setHighPerfModeEnabledNative(boolean enable) {
         if(!WifiNative.setSuspendOptimizationsCommand(!enable)) {
-            Log.e(TAG, "set suspend optimizations failed!");
+            loge("set suspend optimizations failed!");
         }
         if (enable) {
             if (!WifiNative.setPowerModeCommand(POWER_MODE_ACTIVE)) {
-                Log.e(TAG, "set power mode active failed!");
+                loge("set power mode active failed!");
             }
         } else {
             if (!WifiNative.setPowerModeCommand(POWER_MODE_AUTO)) {
-                Log.e(TAG, "set power mode auto failed!");
+                loge("set power mode auto failed!");
             }
         }
     }
@@ -1421,7 +1449,10 @@
             mLinkProperties.setHttpProxy(WifiConfigStore.getProxyProperties(mLastNetworkId));
         }
         mLinkProperties.setInterfaceName(mInterfaceName);
-        Log.d(TAG, "netId=" + mLastNetworkId  + " Link configured: " + mLinkProperties.toString());
+        if (DBG) {
+            log("netId=" + mLastNetworkId  + " Link configured: " +
+                    mLinkProperties.toString());
+        }
     }
 
     private int getMaxDhcpRetries() {
@@ -1482,8 +1513,11 @@
      * @param state the new @{code DetailedState}
      */
     private void setNetworkDetailedState(NetworkInfo.DetailedState state) {
-        Log.d(TAG, "setDetailed state, old ="
-                + mNetworkInfo.getDetailedState() + " and new state=" + state);
+        if (DBG) {
+            log("setDetailed state, old ="
+                    + mNetworkInfo.getDetailedState() + " and new state=" + state);
+        }
+
         if (state != mNetworkInfo.getDetailedState()) {
             mNetworkInfo.setDetailedState(state, null, null);
         }
@@ -1526,7 +1560,7 @@
      * using the interface, stopping DHCP & disabling interface
      */
     private void handleNetworkDisconnect() {
-        Log.d(TAG, "Stopping DHCP and clearing IP");
+        if (DBG) log("Stopping DHCP and clearing IP");
 
         /*
          * stop DHCP
@@ -1539,8 +1573,9 @@
 
         try {
             mNwService.clearInterfaceAddresses(mInterfaceName);
+            mNwService.disableIpv6(mInterfaceName);
         } catch (Exception e) {
-            Log.e(TAG, "Failed to clear IP addresses on disconnect" + e);
+            loge("Failed to clear addresses or disable ipv6" + e);
         }
 
         /* Reset data structures */
@@ -1625,8 +1660,10 @@
             linkProperties.setHttpProxy(WifiConfigStore.getProxyProperties(mLastNetworkId));
             linkProperties.setInterfaceName(mInterfaceName);
             if (!linkProperties.equals(mLinkProperties)) {
-                Log.d(TAG, "Link configuration changed for netId: " + mLastNetworkId
-                    + " old: " + mLinkProperties + "new: " + linkProperties);
+                if (DBG) {
+                    log("Link configuration changed for netId: " + mLastNetworkId
+                            + " old: " + mLinkProperties + "new: " + linkProperties);
+                }
                 mLinkProperties = linkProperties;
                 sendLinkConfigurationChangedBroadcast();
             }
@@ -1638,7 +1675,7 @@
     }
 
     private void handleFailedIpConfiguration() {
-        Log.e(TAG, "IP configuration failed");
+        loge("IP configuration failed");
 
         mWifiInfo.setInetAddress(null);
         /**
@@ -1646,7 +1683,7 @@
          * to a given network, disable the network
          */
         if (++mReconnectCount > getMaxDhcpRetries()) {
-            Log.e(TAG, "Failed " +
+            loge("Failed " +
                     mReconnectCount + " times, Disabling " + mLastNetworkId);
             WifiConfigStore.disableNetwork(mLastNetworkId,
                     WifiConfiguration.DISABLED_DHCP_FAILURE);
@@ -1675,12 +1712,12 @@
         try {
             mNwService.startAccessPoint(config, mInterfaceName, SOFTAP_IFACE);
         } catch (Exception e) {
-            Log.e(TAG, "Exception in softap start " + e);
+            loge("Exception in softap start " + e);
             try {
                 mNwService.stopAccessPoint(mInterfaceName);
                 mNwService.startAccessPoint(config, mInterfaceName, SOFTAP_IFACE);
             } catch (Exception e1) {
-                Log.e(TAG, "Exception in softap re-start " + e1);
+                loge("Exception in softap re-start " + e1);
                 return false;
             }
         }
@@ -1694,17 +1731,17 @@
     class DefaultState extends State {
         @Override
         public boolean processMessage(Message message) {
-            if (DBG) Log.d(TAG, getName() + message.toString() + "\n");
+            if (DBG) log(getName() + message.toString() + "\n");
             switch (message.what) {
                 case AsyncChannel.CMD_CHANNEL_HALF_CONNECTED:
                     if (message.arg1 == AsyncChannel.STATUS_SUCCESSFUL) {
                         mWifiP2pChannel.sendMessage(AsyncChannel.CMD_CHANNEL_FULL_CONNECTION);
                     } else {
-                        Log.e(TAG, "WifiP2pService connection failure, error=" + message.arg1);
+                        loge("WifiP2pService connection failure, error=" + message.arg1);
                     }
                     break;
                 case AsyncChannel.CMD_CHANNEL_DISCONNECTED:
-                    Log.e(TAG, "WifiP2pService channel lost, message.arg1 =" + message.arg1);
+                    loge("WifiP2pService channel lost, message.arg1 =" + message.arg1);
                     //TODO: Re-establish connection to state machine after a delay
                     //mWifiP2pChannel.connect(mContext, getHandler(), mWifiP2pManager.getMessenger());
                     break;
@@ -1790,7 +1827,7 @@
                     deferMessage(message);
                     break;
                 default:
-                    Log.e(TAG, "Error! unhandled message" + message);
+                    loge("Error! unhandled message" + message);
                     break;
             }
             return HANDLED;
@@ -1801,7 +1838,7 @@
         @Override
         //TODO: could move logging into a common class
         public void enter() {
-            if (DBG) Log.d(TAG, getName() + "\n");
+            if (DBG) log(getName() + "\n");
             // [31-8] Reserved for future use
             // [7 - 0] HSM state change
             // 50021 wifi_state_changed (custom|1|5)
@@ -1820,13 +1857,28 @@
             mWifiP2pManager = (WifiP2pManager) mContext.getSystemService(Context.WIFI_P2P_SERVICE);
             mWifiP2pChannel.connect(mContext, getHandler(), mWifiP2pManager.getMessenger());
 
+            /* IPv6 is disabled at boot time and is controlled by framework
+             * to be enabled only as long as we are connected to an access point
+             *
+             * This fixes issues, a few being:
+             * - IPv6 addresses and routes stick around after disconnection
+             * - When connected, the kernel is unaware and can fail to start IPv6 negotiation
+             * - The kernel sometimes starts autoconfiguration when 802.1x is not complete
+             */
+            try {
+                mNwService.disableIpv6(mInterfaceName);
+            } catch (RemoteException re) {
+                loge("Failed to disable IPv6: " + re);
+            } catch (IllegalStateException e) {
+                loge("Failed to disable IPv6: " + e);
+            }
         }
     }
 
     class DriverLoadingState extends State {
         @Override
         public void enter() {
-            if (DBG) Log.d(TAG, getName() + "\n");
+            if (DBG) log(getName() + "\n");
             EventLog.writeEvent(EVENTLOG_WIFI_STATE_CHANGED, getName());
 
             final Message message = new Message();
@@ -1848,10 +1900,10 @@
                     }
 
                     if(WifiNative.loadDriver()) {
-                        Log.d(TAG, "Driver load successful");
+                        if (DBG) log("Driver load successful");
                         sendMessage(CMD_LOAD_DRIVER_SUCCESS);
                     } else {
-                        Log.e(TAG, "Failed to load driver!");
+                        loge("Failed to load driver!");
                         switch(message.arg1) {
                             case WIFI_STATE_ENABLING:
                                 setWifiState(WIFI_STATE_UNKNOWN);
@@ -1869,7 +1921,7 @@
 
         @Override
         public boolean processMessage(Message message) {
-            if (DBG) Log.d(TAG, getName() + message.toString() + "\n");
+            if (DBG) log(getName() + message.toString() + "\n");
             switch (message.what) {
                 case CMD_LOAD_DRIVER_SUCCESS:
                     transitionTo(mDriverLoadedState);
@@ -1905,12 +1957,12 @@
     class DriverLoadedState extends State {
         @Override
         public void enter() {
-            if (DBG) Log.d(TAG, getName() + "\n");
+            if (DBG) log(getName() + "\n");
             EventLog.writeEvent(EVENTLOG_WIFI_STATE_CHANGED, getName());
         }
         @Override
         public boolean processMessage(Message message) {
-            if (DBG) Log.d(TAG, getName() + message.toString() + "\n");
+            if (DBG) log(getName() + message.toString() + "\n");
             switch(message.what) {
                 case CMD_UNLOAD_DRIVER:
                     transitionTo(mDriverUnloadingState);
@@ -1919,7 +1971,7 @@
                     try {
                         mNwService.wifiFirmwareReload(mInterfaceName, "STA");
                     } catch (Exception e) {
-                        Log.e(TAG, "Failed to reload STA firmware " + e);
+                        loge("Failed to reload STA firmware " + e);
                         // continue
                     }
                    try {
@@ -1930,17 +1982,17 @@
                         //Set privacy extensions
                         mNwService.setInterfaceIpv6PrivacyExtensions(mInterfaceName, true);
                     } catch (RemoteException re) {
-                        if (DBG) Log.w(TAG, "Unable to change interface settings: " + re);
+                        loge("Unable to change interface settings: " + re);
                     } catch (IllegalStateException ie) {
-                        if (DBG) Log.w(TAG, "Unable to change interface settings: " + ie);
+                        loge("Unable to change interface settings: " + ie);
                     }
 
                     if(WifiNative.startSupplicant()) {
-                        Log.d(TAG, "Supplicant start successful");
+                        if (DBG) log("Supplicant start successful");
                         mWifiMonitor.startMonitoring();
                         transitionTo(mSupplicantStartingState);
                     } else {
-                        Log.e(TAG, "Failed to start supplicant!");
+                        loge("Failed to start supplicant!");
                         sendMessage(obtainMessage(CMD_UNLOAD_DRIVER, WIFI_STATE_UNKNOWN, 0));
                     }
                     break;
@@ -1958,17 +2010,17 @@
     class DriverUnloadingState extends State {
         @Override
         public void enter() {
-            if (DBG) Log.d(TAG, getName() + "\n");
+            if (DBG) log(getName() + "\n");
             EventLog.writeEvent(EVENTLOG_WIFI_STATE_CHANGED, getName());
 
             final Message message = new Message();
             message.copyFrom(getCurrentMessage());
             new Thread(new Runnable() {
                 public void run() {
-                    if (DBG) Log.d(TAG, getName() + message.toString() + "\n");
+                    if (DBG) log(getName() + message.toString() + "\n");
                     mWakeLock.acquire();
                     if(WifiNative.unloadDriver()) {
-                        Log.d(TAG, "Driver unload successful");
+                        if (DBG) log("Driver unload successful");
                         sendMessage(CMD_UNLOAD_DRIVER_SUCCESS);
 
                         switch(message.arg1) {
@@ -1982,7 +2034,7 @@
                                 break;
                         }
                     } else {
-                        Log.e(TAG, "Failed to unload driver!");
+                        loge("Failed to unload driver!");
                         sendMessage(CMD_UNLOAD_DRIVER_FAILURE);
 
                         switch(message.arg1) {
@@ -2003,7 +2055,7 @@
 
         @Override
         public boolean processMessage(Message message) {
-            if (DBG) Log.d(TAG, getName() + message.toString() + "\n");
+            if (DBG) log(getName() + message.toString() + "\n");
             switch (message.what) {
                 case CMD_UNLOAD_DRIVER_SUCCESS:
                     transitionTo(mDriverUnloadedState);
@@ -2039,12 +2091,12 @@
     class DriverUnloadedState extends State {
         @Override
         public void enter() {
-            if (DBG) Log.d(TAG, getName() + "\n");
+            if (DBG) log(getName() + "\n");
             EventLog.writeEvent(EVENTLOG_WIFI_STATE_CHANGED, getName());
         }
         @Override
         public boolean processMessage(Message message) {
-            if (DBG) Log.d(TAG, getName() + message.toString() + "\n");
+            if (DBG) log(getName() + message.toString() + "\n");
             switch (message.what) {
                 case CMD_LOAD_DRIVER:
                     mWifiP2pChannel.sendMessage(WIFI_ENABLE_PENDING);
@@ -2064,12 +2116,12 @@
     class DriverFailedState extends State {
         @Override
         public void enter() {
-            Log.e(TAG, getName() + "\n");
+            loge(getName() + "\n");
             EventLog.writeEvent(EVENTLOG_WIFI_STATE_CHANGED, getName());
         }
         @Override
         public boolean processMessage(Message message) {
-            if (DBG) Log.d(TAG, getName() + message.toString() + "\n");
+            if (DBG) log(getName() + message.toString() + "\n");
             return NOT_HANDLED;
         }
     }
@@ -2078,15 +2130,15 @@
     class SupplicantStartingState extends State {
         @Override
         public void enter() {
-            if (DBG) Log.d(TAG, getName() + "\n");
+            if (DBG) log(getName() + "\n");
             EventLog.writeEvent(EVENTLOG_WIFI_STATE_CHANGED, getName());
         }
         @Override
         public boolean processMessage(Message message) {
-            if (DBG) Log.d(TAG, getName() + message.toString() + "\n");
+            if (DBG) log(getName() + message.toString() + "\n");
             switch(message.what) {
                 case WifiMonitor.SUP_CONNECTION_EVENT:
-                    Log.d(TAG, "Supplicant connection established");
+                    if (DBG) log("Supplicant connection established");
                     setWifiState(WIFI_STATE_ENABLED);
                     mSupplicantRestartCount = 0;
                     /* Reset the supplicant state to indicate the supplicant
@@ -2107,12 +2159,12 @@
                     break;
                 case WifiMonitor.SUP_DISCONNECTION_EVENT:
                     if (++mSupplicantRestartCount <= SUPPLICANT_RESTART_TRIES) {
-                        Log.e(TAG, "Failed to setup control channel, restart supplicant");
+                        loge("Failed to setup control channel, restart supplicant");
                         WifiNative.killSupplicant();
                         transitionTo(mDriverLoadedState);
                         sendMessageDelayed(CMD_START_SUPPLICANT, SUPPLICANT_RESTART_INTERVAL_MSECS);
                     } else {
-                        Log.e(TAG, "Failed " + mSupplicantRestartCount +
+                        loge("Failed " + mSupplicantRestartCount +
                                 " times to start supplicant, unload driver");
                         mSupplicantRestartCount = 0;
                         transitionTo(mDriverLoadedState);
@@ -2147,7 +2199,7 @@
     class SupplicantStartedState extends State {
         @Override
         public void enter() {
-            if (DBG) Log.d(TAG, getName() + "\n");
+            if (DBG) log(getName() + "\n");
             EventLog.writeEvent(EVENTLOG_WIFI_STATE_CHANGED, getName());
             /* Initialize for connect mode operation at start */
             mIsScanMode = false;
@@ -2161,7 +2213,7 @@
         }
         @Override
         public boolean processMessage(Message message) {
-            if (DBG) Log.d(TAG, getName() + message.toString() + "\n");
+            if (DBG) log(getName() + message.toString() + "\n");
             WifiConfiguration config;
             boolean eventLoggingEnabled = true;
             switch(message.what) {
@@ -2169,7 +2221,7 @@
                     transitionTo(mSupplicantStoppingState);
                     break;
                 case WifiMonitor.SUP_DISCONNECTION_EVENT:  /* Supplicant connection lost */
-                    Log.e(TAG, "Connection lost, restart supplicant");
+                    loge("Connection lost, restart supplicant");
                     WifiNative.killSupplicant();
                     WifiNative.closeSupplicantConnection();
                     mNetworkInfo.setIsAvailable(false);
@@ -2204,7 +2256,11 @@
                     mReplyChannel.replyToMessage(message, message.what, ok ? SUCCESS : FAILURE);
                     break;
                 case CMD_ENABLE_ALL_NETWORKS:
-                    WifiConfigStore.enableAllNetworks();
+                    long time =  android.os.SystemClock.elapsedRealtime();
+                    if (time - mLastEnableAllNetworksTime > MIN_INTERVAL_ENABLE_ALL_NETWORKS_MS) {
+                        WifiConfigStore.enableAllNetworks();
+                        mLastEnableAllNetworksTime = time;
+                    }
                     break;
                 case CMD_DISABLE_NETWORK:
                     ok = WifiConfigStore.disableNetwork(message.arg1, message.arg2);
@@ -2233,7 +2289,7 @@
                     break;
                     /* Cannot start soft AP while in client mode */
                 case CMD_START_AP:
-                    Log.d(TAG, "Failed to start soft AP with a running supplicant");
+                    loge("Failed to start soft AP with a running supplicant");
                     setWifiApState(WIFI_AP_STATE_FAILED);
                     break;
                 case CMD_SET_SCAN_MODE:
@@ -2264,11 +2320,11 @@
     class SupplicantStoppingState extends State {
         @Override
         public void enter() {
-            if (DBG) Log.d(TAG, getName() + "\n");
+            if (DBG) log(getName() + "\n");
             EventLog.writeEvent(EVENTLOG_WIFI_STATE_CHANGED, getName());
-            Log.d(TAG, "stopping supplicant");
+            if (DBG) log("stopping supplicant");
             if (!WifiNative.stopSupplicant()) {
-                Log.e(TAG, "Failed to stop supplicant");
+                loge("Failed to stop supplicant");
             }
 
             /* Send ourselves a delayed message to indicate failure after a wait time */
@@ -2284,13 +2340,13 @@
         }
         @Override
         public boolean processMessage(Message message) {
-            if (DBG) Log.d(TAG, getName() + message.toString() + "\n");
+            if (DBG) log(getName() + message.toString() + "\n");
             switch(message.what) {
                 case WifiMonitor.SUP_CONNECTION_EVENT:
-                    Log.e(TAG, "Supplicant connection received while stopping");
+                    loge("Supplicant connection received while stopping");
                     break;
                 case WifiMonitor.SUP_DISCONNECTION_EVENT:
-                    Log.d(TAG, "Supplicant connection lost");
+                    if (DBG) log("Supplicant connection lost");
                     /* Socket connection can be lost when we do a graceful shutdown
                      * or when the driver is hung. Ensure supplicant is stopped here.
                      */
@@ -2300,7 +2356,7 @@
                     break;
                 case CMD_STOP_SUPPLICANT_FAILED:
                     if (message.arg1 == mSupplicantStopFailureToken) {
-                        Log.e(TAG, "Timed out on a supplicant stop, kill and proceed");
+                        loge("Timed out on a supplicant stop, kill and proceed");
                         WifiNative.killSupplicant();
                         WifiNative.closeSupplicantConnection();
                         transitionTo(mDriverLoadedState);
@@ -2334,12 +2390,12 @@
     class DriverStartingState extends State {
         @Override
         public void enter() {
-            if (DBG) Log.d(TAG, getName() + "\n");
+            if (DBG) log(getName() + "\n");
             EventLog.writeEvent(EVENTLOG_WIFI_STATE_CHANGED, getName());
         }
         @Override
         public boolean processMessage(Message message) {
-            if (DBG) Log.d(TAG, getName() + message.toString() + "\n");
+            if (DBG) log(getName() + message.toString() + "\n");
             switch(message.what) {
                case WifiMonitor.SUPPLICANT_STATE_CHANGE_EVENT:
                     SupplicantState state = handleSupplicantStateChange(message);
@@ -2381,7 +2437,7 @@
     class DriverStartedState extends State {
         @Override
         public void enter() {
-            if (DBG) Log.d(TAG, getName() + "\n");
+            if (DBG) log(getName() + "\n");
             EventLog.writeEvent(EVENTLOG_WIFI_STATE_CHANGED, getName());
 
             mIsRunning = true;
@@ -2422,7 +2478,7 @@
         }
         @Override
         public boolean processMessage(Message message) {
-            if (DBG) Log.d(TAG, getName() + message.toString() + "\n");
+            if (DBG) log(getName() + message.toString() + "\n");
             boolean eventLoggingEnabled = true;
             switch(message.what) {
                 case CMD_SET_SCAN_TYPE:
@@ -2442,20 +2498,20 @@
                     break;
                 case CMD_SET_COUNTRY_CODE:
                     String country = (String) message.obj;
-                    Log.d(TAG, "set country code " + country);
+                    if (DBG) log("set country code " + country);
                     if (!WifiNative.setCountryCodeCommand(country.toUpperCase())) {
-                        Log.e(TAG, "Failed to set country code " + country);
+                        loge("Failed to set country code " + country);
                     }
                     break;
                 case CMD_SET_FREQUENCY_BAND:
                     int band =  message.arg1;
-                    Log.d(TAG, "set frequency band " + band);
+                    if (DBG) log("set frequency band " + band);
                     if (WifiNative.setBandCommand(band)) {
                         mFrequencyBand.set(band);
                         //Fetch the latest scan results when frequency band is set
                         startScan(true);
                     } else {
-                        Log.e(TAG, "Failed to set frequency band " + band);
+                        loge("Failed to set frequency band " + band);
                     }
                     break;
                 case CMD_BLUETOOTH_ADAPTER_STATE_CHANGE:
@@ -2475,7 +2531,7 @@
                     } else if (message.arg1 == MULTICAST_V4) {
                         WifiNative.startFilteringMulticastV4Packets();
                     } else {
-                        Log.e(TAG, "Illegal arugments to CMD_START_PACKET_FILTERING");
+                        loge("Illegal arugments to CMD_START_PACKET_FILTERING");
                     }
                     break;
                 case CMD_STOP_PACKET_FILTERING:
@@ -2484,7 +2540,7 @@
                     } else if (message.arg1 == MULTICAST_V4) {
                         WifiNative.stopFilteringMulticastV4Packets();
                     } else {
-                        Log.e(TAG, "Illegal arugments to CMD_STOP_PACKET_FILTERING");
+                        loge("Illegal arugments to CMD_STOP_PACKET_FILTERING");
                     }
                     break;
                 default:
@@ -2497,7 +2553,7 @@
         }
         @Override
         public void exit() {
-            if (DBG) Log.d(TAG, getName() + "\n");
+            if (DBG) log(getName() + "\n");
             mIsRunning = false;
             updateBatteryWorkSource(null);
             mScanResults = null;
@@ -2507,12 +2563,12 @@
     class DriverStoppingState extends State {
         @Override
         public void enter() {
-            if (DBG) Log.d(TAG, getName() + "\n");
+            if (DBG) log(getName() + "\n");
             EventLog.writeEvent(EVENTLOG_WIFI_STATE_CHANGED, getName());
         }
         @Override
         public boolean processMessage(Message message) {
-            if (DBG) Log.d(TAG, getName() + message.toString() + "\n");
+            if (DBG) log(getName() + message.toString() + "\n");
             switch(message.what) {
                 case WifiMonitor.SUPPLICANT_STATE_CHANGE_EVENT:
                     SupplicantState state = handleSupplicantStateChange(message);
@@ -2546,13 +2602,22 @@
     class DriverStoppedState extends State {
         @Override
         public void enter() {
-            if (DBG) Log.d(TAG, getName() + "\n");
+            if (DBG) log(getName() + "\n");
             EventLog.writeEvent(EVENTLOG_WIFI_STATE_CHANGED, getName());
         }
         @Override
         public boolean processMessage(Message message) {
-            if (DBG) Log.d(TAG, getName() + message.toString() + "\n");
+            if (DBG) log(getName() + message.toString() + "\n");
             switch (message.what) {
+                case WifiMonitor.SUPPLICANT_STATE_CHANGE_EVENT:
+                    StateChangeResult stateChangeResult = (StateChangeResult) message.obj;
+                    SupplicantState state = stateChangeResult.state;
+                    // A WEXT bug means that we can be back to driver started state
+                    // unexpectedly
+                    if (SupplicantState.isDriverActive(state)) {
+                        transitionTo(mDriverStartedState);
+                    }
+                    break;
                 case CMD_START_DRIVER:
                     mWakeLock.acquire();
                     WifiNative.startDriverCommand();
@@ -2570,12 +2635,12 @@
     class ScanModeState extends State {
         @Override
         public void enter() {
-            if (DBG) Log.d(TAG, getName() + "\n");
+            if (DBG) log(getName() + "\n");
             EventLog.writeEvent(EVENTLOG_WIFI_STATE_CHANGED, getName());
         }
         @Override
         public boolean processMessage(Message message) {
-            if (DBG) Log.d(TAG, getName() + message.toString() + "\n");
+            if (DBG) log(getName() + message.toString() + "\n");
             switch(message.what) {
                 case CMD_SET_SCAN_MODE:
                     if (message.arg1 == SCAN_ONLY_MODE) {
@@ -2607,12 +2672,12 @@
     class ConnectModeState extends State {
         @Override
         public void enter() {
-            if (DBG) Log.d(TAG, getName() + "\n");
+            if (DBG) log(getName() + "\n");
             EventLog.writeEvent(EVENTLOG_WIFI_STATE_CHANGED, getName());
         }
         @Override
         public boolean processMessage(Message message) {
-            if (DBG) Log.d(TAG, getName() + message.toString() + "\n");
+            if (DBG) log(getName() + message.toString() + "\n");
             StateChangeResult stateChangeResult;
             switch(message.what) {
                 case WifiMonitor.AUTHENTICATION_FAILURE_EVENT:
@@ -2623,8 +2688,18 @@
                     sendErrorBroadcast(WifiManager.WPS_OVERLAP_ERROR);
                     break;
                 case WifiMonitor.SUPPLICANT_STATE_CHANGE_EVENT:
-                    handleSupplicantStateChange(message);
-                   break;
+                    SupplicantState state = handleSupplicantStateChange(message);
+                    // Due to a WEXT bug, during the time of driver start/stop
+                    // we can go into a driver stopped state in an unexpected way.
+                    // The sequence eventually puts interface
+                    // up and we should be back to a connected state
+                    if (!SupplicantState.isDriverActive(state)) {
+                        if (mNetworkInfo.getState() != NetworkInfo.State.DISCONNECTED) {
+                            handleNetworkDisconnect();
+                        }
+                        transitionTo(mDriverStoppedState);
+                    }
+                    break;
                     /* Do a redundant disconnect without transition */
                 case CMD_DISCONNECT:
                     WifiNative.disconnectCommand();
@@ -2659,7 +2734,7 @@
                     mLastExplicitNetworkId = netId;
                     mLastNetworkChoiceTime  = SystemClock.elapsedRealtime();
                     mNextWifiActionExplicit = true;
-                    Slog.d(TAG, "Setting wifi connect explicit for netid " + netId);
+                    if (DBG) log("Setting wifi connect explicit for netid " + netId);
                     /* Expect a disconnection from the old connection */
                     transitionTo(mDisconnectingState);
                     break;
@@ -2673,7 +2748,7 @@
                     /* Handle scan results */
                     return NOT_HANDLED;
                 case WifiMonitor.NETWORK_CONNECTION_EVENT:
-                    Log.d(TAG,"Network connection established");
+                    if (DBG) log("Network connection established");
                     mLastNetworkId = message.arg1;
                     mLastBssid = (String) message.obj;
 
@@ -2694,7 +2769,7 @@
                     transitionTo(mConnectingState);
                     break;
                 case WifiMonitor.NETWORK_DISCONNECTION_EVENT:
-                    Log.d(TAG,"Network connection lost");
+                    if (DBG) log("Network connection lost");
                     handleNetworkDisconnect();
                     transitionTo(mDisconnectedState);
                     break;
@@ -2710,10 +2785,18 @@
 
         @Override
         public void enter() {
-            if (DBG) Log.d(TAG, getName() + "\n");
+            if (DBG) log(getName() + "\n");
             EventLog.writeEvent(EVENTLOG_WIFI_STATE_CHANGED, getName());
 
-             if (!WifiConfigStore.isUsingStaticIp(mLastNetworkId)) {
+            try {
+                mNwService.enableIpv6(mInterfaceName);
+            } catch (RemoteException re) {
+                loge("Failed to enable IPv6: " + re);
+            } catch (IllegalStateException e) {
+                loge("Failed to enable IPv6: " + e);
+            }
+
+            if (!WifiConfigStore.isUsingStaticIp(mLastNetworkId)) {
                 //start DHCP
                 mDhcpStateMachine = DhcpStateMachine.makeDhcpStateMachine(
                         mContext, WifiStateMachine.this, mInterfaceName);
@@ -2727,20 +2810,20 @@
                 ifcg.interfaceFlags = "[up]";
                 try {
                     mNwService.setInterfaceConfig(mInterfaceName, ifcg);
-                    Log.v(TAG, "Static IP configuration succeeded");
+                    if (DBG) log("Static IP configuration succeeded");
                     sendMessage(CMD_STATIC_IP_SUCCESS, dhcpInfoInternal);
                 } catch (RemoteException re) {
-                    Log.v(TAG, "Static IP configuration failed: " + re);
+                    loge("Static IP configuration failed: " + re);
                     sendMessage(CMD_STATIC_IP_FAILURE);
                 } catch (IllegalStateException e) {
-                    Log.v(TAG, "Static IP configuration failed: " + e);
+                    loge("Static IP configuration failed: " + e);
                     sendMessage(CMD_STATIC_IP_FAILURE);
                 }
             }
-         }
+        }
       @Override
       public boolean processMessage(Message message) {
-          if (DBG) Log.d(TAG, getName() + message.toString() + "\n");
+          if (DBG) log(getName() + message.toString() + "\n");
 
           switch(message.what) {
               case DhcpStateMachine.CMD_PRE_DHCP_ACTION:
@@ -2811,7 +2894,7 @@
     class ConnectedState extends State {
         @Override
         public void enter() {
-            if (DBG) Log.d(TAG, getName() + "\n");
+            if (DBG) log(getName() + "\n");
             EventLog.writeEvent(EVENTLOG_WIFI_STATE_CHANGED, getName());
             mRssiPollToken++;
             if (mEnableRssiPolling) {
@@ -2820,7 +2903,7 @@
         }
         @Override
         public boolean processMessage(Message message) {
-            if (DBG) Log.d(TAG, getName() + message.toString() + "\n");
+            if (DBG) log(getName() + message.toString() + "\n");
             boolean eventLoggingEnabled = true;
             switch (message.what) {
               case DhcpStateMachine.CMD_PRE_DHCP_ACTION:
@@ -2876,11 +2959,11 @@
                     NetworkUpdateResult result = WifiConfigStore.saveNetwork(config);
                     if (mWifiInfo.getNetworkId() == result.getNetworkId()) {
                         if (result.hasIpChanged()) {
-                            Log.d(TAG,"Reconfiguring IP on connection");
+                            log("Reconfiguring IP on connection");
                             transitionTo(mConnectingState);
                         }
                         if (result.hasProxyChanged()) {
-                            Log.d(TAG,"Reconfiguring proxy on connection");
+                            log("Reconfiguring proxy on connection");
                             configureLinkProperties();
                             sendLinkConfigurationChangedBroadcast();
                         }
@@ -2932,12 +3015,12 @@
     class DisconnectingState extends State {
         @Override
         public void enter() {
-            if (DBG) Log.d(TAG, getName() + "\n");
+            if (DBG) log(getName() + "\n");
             EventLog.writeEvent(EVENTLOG_WIFI_STATE_CHANGED, getName());
         }
         @Override
         public boolean processMessage(Message message) {
-            if (DBG) Log.d(TAG, getName() + message.toString() + "\n");
+            if (DBG) log(getName() + message.toString() + "\n");
             switch (message.what) {
                 case CMD_STOP_DRIVER: /* Stop driver only after disconnect handled */
                     deferMessage(message);
@@ -2984,7 +3067,7 @@
 
         @Override
         public void enter() {
-            if (DBG) Log.d(TAG, getName() + "\n");
+            if (DBG) log(getName() + "\n");
             EventLog.writeEvent(EVENTLOG_WIFI_STATE_CHANGED, getName());
 
             mFrameworkScanIntervalMs = Settings.Secure.getLong(mContext.getContentResolver(),
@@ -3011,7 +3094,7 @@
         }
         @Override
         public boolean processMessage(Message message) {
-            if (DBG) Log.d(TAG, getName() + message.toString() + "\n");
+            if (DBG) log(getName() + message.toString() + "\n");
             switch (message.what) {
                 case CMD_SET_SCAN_MODE:
                     if (message.arg1 == SCAN_ONLY_MODE) {
@@ -3074,12 +3157,12 @@
     class WaitForWpsCompletionState extends State {
         @Override
         public void enter() {
-            if (DBG) Log.d(TAG, getName() + "\n");
+            if (DBG) log(getName() + "\n");
             EventLog.writeEvent(EVENTLOG_WIFI_STATE_CHANGED, getName());
         }
         @Override
         public boolean processMessage(Message message) {
-            if (DBG) Log.d(TAG, getName() + message.toString() + "\n");
+            if (DBG) log(getName() + message.toString() + "\n");
             switch (message.what) {
                 /* Defer all commands that can cause connections to a different network
                  * or put the state machine out of connect mode
@@ -3094,7 +3177,7 @@
                     deferMessage(message);
                     break;
                 case WifiMonitor.NETWORK_DISCONNECTION_EVENT:
-                    Log.d(TAG,"Network connection lost");
+                    if (DBG) log("Network connection lost");
                     handleNetworkDisconnect();
                     break;
                 case WPS_COMPLETED_EVENT:
@@ -3113,7 +3196,7 @@
     class SoftApStartingState extends State {
         @Override
         public void enter() {
-            if (DBG) Log.d(TAG, getName() + "\n");
+            if (DBG) log(getName() + "\n");
             EventLog.writeEvent(EVENTLOG_WIFI_STATE_CHANGED, getName());
 
             final Message message = Message.obtain(getCurrentMessage());
@@ -3123,10 +3206,10 @@
             new Thread(new Runnable() {
                 public void run() {
                     if (startSoftApWithConfig(config)) {
-                        Log.d(TAG, "Soft AP start successful");
+                        if (DBG) log("Soft AP start successful");
                         sendMessage(CMD_START_AP_SUCCESS);
                     } else {
-                        Log.d(TAG, "Soft AP start failed");
+                        loge("Soft AP start failed");
                         sendMessage(CMD_START_AP_FAILURE);
                     }
                 }
@@ -3134,7 +3217,7 @@
         }
         @Override
         public boolean processMessage(Message message) {
-            if (DBG) Log.d(TAG, getName() + message.toString() + "\n");
+            if (DBG) log(getName() + message.toString() + "\n");
             switch(message.what) {
                 case CMD_LOAD_DRIVER:
                 case CMD_UNLOAD_DRIVER:
@@ -3174,21 +3257,21 @@
     class SoftApStartedState extends State {
         @Override
         public void enter() {
-            if (DBG) Log.d(TAG, getName() + "\n");
+            if (DBG) log(getName() + "\n");
             EventLog.writeEvent(EVENTLOG_WIFI_STATE_CHANGED, getName());
         }
         @Override
         public boolean processMessage(Message message) {
-            if (DBG) Log.d(TAG, getName() + message.toString() + "\n");
+            if (DBG) log(getName() + message.toString() + "\n");
             switch(message.what) {
                 case CMD_STOP_AP:
-                    Log.d(TAG,"Stopping Soft AP");
+                    if (DBG) log("Stopping Soft AP");
                     setWifiApState(WIFI_AP_STATE_DISABLING);
                     stopTethering();
                     try {
                         mNwService.stopAccessPoint(mInterfaceName);
                     } catch(Exception e) {
-                        Log.e(TAG, "Exception in stopAccessPoint()");
+                        loge("Exception in stopAccessPoint()");
                     }
                     transitionTo(mDriverLoadedState);
                     break;
@@ -3197,7 +3280,7 @@
                     break;
                     /* Fail client mode operation when soft AP is enabled */
                 case CMD_START_SUPPLICANT:
-                    Log.e(TAG,"Cannot start supplicant with a running soft AP");
+                   loge("Cannot start supplicant with a running soft AP");
                     setWifiState(WIFI_STATE_UNKNOWN);
                     break;
                 case CMD_TETHER_INTERFACE:
@@ -3223,7 +3306,7 @@
         private int mSavedArg;
         @Override
         public void enter() {
-            if (DBG) Log.d(TAG, getName() + "\n");
+            if (DBG) log(getName() + "\n");
             EventLog.writeEvent(EVENTLOG_WIFI_STATE_CHANGED, getName());
 
             //Preserve the argument arg1 that has information used in DriverLoadingState
@@ -3231,7 +3314,7 @@
         }
         @Override
         public boolean processMessage(Message message) {
-            if (DBG) Log.d(TAG, getName() + message.toString() + "\n");
+            if (DBG) log(getName() + message.toString() + "\n");
             switch(message.what) {
                 case WifiP2pService.WIFI_ENABLE_PROCEED:
                     //restore argument from original message (CMD_LOAD_DRIVER)
@@ -3266,12 +3349,12 @@
     class TetheredState extends State {
         @Override
         public void enter() {
-            if (DBG) Log.d(TAG, getName() + "\n");
+            if (DBG) log(getName() + "\n");
             EventLog.writeEvent(EVENTLOG_WIFI_STATE_CHANGED, getName());
         }
         @Override
         public boolean processMessage(Message message) {
-            if (DBG) Log.d(TAG, getName() + message.toString() + "\n");
+            if (DBG) log(getName() + message.toString() + "\n");
             switch(message.what) {
                case CMD_TETHER_INTERFACE:
                     // Ignore any duplicate interface available notifications
@@ -3282,4 +3365,12 @@
             }
         }
     }
+
+    private void log(String s) {
+        Log.d(TAG, s);
+    }
+
+    private void loge(String s) {
+        Log.e(TAG, s);
+    }
 }
diff --git a/wifi/java/android/net/wifi/WifiWatchdogStateMachine.java b/wifi/java/android/net/wifi/WifiWatchdogStateMachine.java
index af8c486..5d5b9ef 100644
--- a/wifi/java/android/net/wifi/WifiWatchdogStateMachine.java
+++ b/wifi/java/android/net/wifi/WifiWatchdogStateMachine.java
@@ -35,7 +35,6 @@
 import android.os.SystemProperties;
 import android.provider.Settings;
 import android.provider.Settings.Secure;
-import android.util.Slog;
 import android.util.Log;
 
 import com.android.internal.util.Protocol;
@@ -67,10 +66,8 @@
  */
 public class WifiWatchdogStateMachine extends StateMachine {
 
-
-    private static final boolean VDBG = false;
-    private static final boolean DBG = true;
-    private static final String WWSM_TAG = "WifiWatchdogStateMachine";
+    private static final boolean DBG = false;
+    private static final String TAG = "WifiWatchdogStateMachine";
     private static final String WATCHDOG_NOTIFICATION_ID = "Android.System.WifiWatchdog";
 
     private static final int WIFI_SIGNAL_LEVELS = 4;
@@ -192,7 +189,7 @@
      *               (all other states)
      */
     private WifiWatchdogStateMachine(Context context) {
-        super(WWSM_TAG);
+        super(TAG);
         mContext = context;
         mContentResolver = context.getContentResolver();
         mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
@@ -351,7 +348,7 @@
             return urlConnection.getResponseCode() != 204;
         } catch (IOException e) {
             if (DBG) {
-                Slog.d(WWSM_TAG, "Walled garden check - probably not a portal: exception ", e);
+                log("Walled garden check - probably not a portal: exception " + e);
             }
             return false;
         } finally {
@@ -443,7 +440,7 @@
 
         if (results == null) {
             if (DBG) {
-                Slog.d(WWSM_TAG, "updateBssids: Got null scan results!");
+                log("updateBssids: Got null scan results!");
             }
             return;
         }
@@ -451,7 +448,7 @@
         for (ScanResult result : results) {
             if (result == null || result.SSID == null) {
                 if (DBG) {
-                    Slog.d(WWSM_TAG, "Received invalid scan result: " + result);
+                    log("Received invalid scan result: " + result);
                 }
                 continue;
             }
@@ -461,8 +458,8 @@
     }
 
     private void resetWatchdogState() {
-        if (VDBG) {
-            Slog.v(WWSM_TAG, "Resetting watchdog state...");
+        if (DBG) {
+            log("Resetting watchdog state...");
         }
         mConnectionInfo = null;
         mDisableAPNextFailure = false;
@@ -522,13 +519,13 @@
             switch (msg.what) {
                 case EVENT_WATCHDOG_SETTINGS_CHANGE:
                     updateSettings();
-                    if (VDBG) {
-                        Slog.d(WWSM_TAG, "Updating wifi-watchdog secure settings");
+                    if (DBG) {
+                        log("Updating wifi-watchdog secure settings");
                     }
                     return HANDLED;
             }
-            if (VDBG) {
-                Slog.v(WWSM_TAG, "Caught message " + msg.what + " in state " +
+            if (DBG) {
+                log("Caught message " + msg.what + " in state " +
                         getCurrentState().getName());
             }
             return HANDLED;
@@ -553,7 +550,7 @@
         public void enter() {
             resetWatchdogState();
             mContext.registerReceiver(mBroadcastReceiver, mIntentFilter);
-            Slog.i(WWSM_TAG, "WifiWatchdogService enabled");
+            if (DBG) log("WifiWatchdogService enabled");
         }
 
         @Override
@@ -574,12 +571,12 @@
                             WifiInfo wifiInfo = (WifiInfo)
                                 stateChangeIntent.getParcelableExtra(WifiManager.EXTRA_WIFI_INFO);
                             if (wifiInfo == null) {
-                                Slog.e(WWSM_TAG, "Connected --> WifiInfo object null!");
+                                loge("Connected --> WifiInfo object null!");
                                 return HANDLED;
                             }
 
                             if (wifiInfo.getSSID() == null || wifiInfo.getBSSID() == null) {
-                                Slog.e(WWSM_TAG, "Received wifiInfo object with null elts: "
+                                loge("Received wifiInfo object with null elts: "
                                         + wifiInfoToStr(wifiInfo));
                                 return HANDLED;
                             }
@@ -598,7 +595,7 @@
                     return HANDLED;
                 case EVENT_WIFI_RADIO_STATE_CHANGE:
                     if ((Integer) msg.obj == WifiManager.WIFI_STATE_DISABLING) {
-                        Slog.i(WWSM_TAG, "WifiStateDisabling -- Resetting WatchdogState");
+                        if (DBG) log("WifiStateDisabling -- Resetting WatchdogState");
                         resetWatchdogState();
                         mNetEventCounter++;
                         transitionTo(mNotConnectedState);
@@ -613,8 +610,8 @@
          * @param wifiInfo Info object with non-null ssid and bssid
          */
         private void initConnection(WifiInfo wifiInfo) {
-            if (VDBG) {
-                Slog.v(WWSM_TAG, "Connected:: old " + wifiInfoToStr(mConnectionInfo) +
+            if (DBG) {
+                log("Connected:: old " + wifiInfoToStr(mConnectionInfo) +
                         " ==> new " + wifiInfoToStr(wifiInfo));
             }
 
@@ -628,7 +625,7 @@
         @Override
         public void exit() {
             mContext.unregisterReceiver(mBroadcastReceiver);
-            Slog.i(WWSM_TAG, "WifiWatchdogService disabled");
+            if (DBG) log("WifiWatchdogService disabled");
         }
     }
 
@@ -671,7 +668,7 @@
             if (DBG) {
                 dnsCheckLogStr = String.format("Pinging %s on ssid [%s]: ",
                         mDnsList, mConnectionInfo.getSSID());
-                Slog.d(WWSM_TAG, dnsCheckLogStr);
+                log(dnsCheckLogStr);
             }
 
             idDnsMap.clear();
@@ -694,7 +691,7 @@
 
             Integer dnsServerId = idDnsMap.get(pingID);
             if (dnsServerId == null) {
-                Slog.w(WWSM_TAG, "Received a Dns response with unknown ID!");
+                loge("Received a Dns response with unknown ID!");
                 return HANDLED;
             }
 
@@ -722,7 +719,7 @@
             if (dnsCheckSuccesses[dnsServerId] >= mMinDnsResponses) {
                 // DNS CHECKS OK, NOW WALLED GARDEN
                 if (DBG) {
-                    Slog.d(WWSM_TAG, makeLogString() + "  SUCCESS");
+                    log(makeLogString() + "  SUCCESS");
                 }
 
                 if (!shouldCheckWalledGarden()) {
@@ -732,13 +729,10 @@
 
                 mLastWalledGardenCheckTime = SystemClock.elapsedRealtime();
                 if (isWalledGardenConnection()) {
-                    if (DBG)
-                        Slog.d(WWSM_TAG,
-                                "Walled garden test complete - walled garden detected");
+                    if (DBG) log("Walled garden test complete - walled garden detected");
                     transitionTo(mWalledGardenState);
                 } else {
-                    if (DBG)
-                        Slog.d(WWSM_TAG, "Walled garden test complete - online");
+                    if (DBG) log("Walled garden test complete - online");
                     transitionTo(mOnlineWatchState);
                 }
                 return HANDLED;
@@ -746,7 +740,7 @@
 
             if (idDnsMap.isEmpty()) {
                 if (DBG) {
-                    Slog.d(WWSM_TAG, makeLogString() + "  FAILURE");
+                    log(makeLogString() + "  FAILURE");
                 }
                 transitionTo(mDnsCheckFailureState);
                 return HANDLED;
@@ -769,15 +763,15 @@
 
         private boolean shouldCheckWalledGarden() {
             if (!mWalledGardenTestEnabled) {
-                if (VDBG)
-                    Slog.v(WWSM_TAG, "Skipping walled garden check - disabled");
+                if (DBG)
+                    log("Skipping walled garden check - disabled");
                 return false;
             }
             long waitTime = waitTime(mWalledGardenIntervalMs,
                     mLastWalledGardenCheckTime);
             if (waitTime > 0) {
                 if (DBG) {
-                    Slog.d(WWSM_TAG, "Skipping walled garden check - wait " +
+                    log("Skipping walled garden check - wait " +
                             waitTime + " ms.");
                 }
                 return false;
@@ -825,28 +819,28 @@
                 case EVENT_RSSI_CHANGE:
                     if (msg.arg1 != mNetEventCounter) {
                         if (DBG) {
-                            Slog.d(WWSM_TAG, "Rssi change message out of sync, ignoring");
+                            log("Rssi change message out of sync, ignoring");
                         }
                         return HANDLED;
                     }
                     int newRssi = msg.arg2;
                     signalUnstable = !rssiStrengthAboveCutoff(newRssi);
-                    if (VDBG) {
-                        Slog.v(WWSM_TAG, "OnlineWatchState:: new rssi " + newRssi + " --> level " +
+                    if (DBG) {
+                        log("OnlineWatchState:: new rssi " + newRssi + " --> level " +
                                 WifiManager.calculateSignalLevel(newRssi, WIFI_SIGNAL_LEVELS));
                     }
 
                     if (signalUnstable && !unstableSignalChecks) {
-                        if (VDBG) {
-                            Slog.v(WWSM_TAG, "Sending triggered check msg");
+                        if (DBG) {
+                            log("Sending triggered check msg");
                         }
                         triggerSingleDnsCheck();
                     }
                     return HANDLED;
                 case MESSAGE_SINGLE_DNS_CHECK:
                     if (msg.arg1 != checkGuard) {
-                        if (VDBG) {
-                            Slog.v(WWSM_TAG, "Single check msg out of sync, ignoring.");
+                        if (DBG) {
+                            log("Single check msg out of sync, ignoring.");
                         }
                         return HANDLED;
                     }
@@ -865,8 +859,8 @@
                     pingInfoMap.remove(msg.arg1);
                     int responseTime = msg.arg2;
                     if (responseTime >= 0) {
-                        if (VDBG) {
-                            Slog.v(WWSM_TAG, "Single DNS ping OK. Response time: "
+                        if (DBG) {
+                            log("Single DNS ping OK. Response time: "
                                     + responseTime + " from DNS " + curDnsServer);
                         }
                         pingInfoMap.clear();
@@ -877,7 +871,7 @@
                     } else {
                         if (pingInfoMap.isEmpty()) {
                             if (DBG) {
-                                Slog.d(WWSM_TAG, "Single dns ping failure. All dns servers failed, "
+                                log("Single dns ping failure. All dns servers failed, "
                                         + "starting full checks.");
                             }
                             transitionTo(mDnsCheckingState);
@@ -924,8 +918,8 @@
             }
 
             if (msg.arg1 != mNetEventCounter) {
-                if (VDBG) {
-                    Slog.v(WWSM_TAG, "Msg out of sync, ignoring...");
+                if (DBG) {
+                    log("Msg out of sync, ignoring...");
                 }
                 return HANDLED;
             }
@@ -933,7 +927,7 @@
             if (mDisableAPNextFailure || mNumCheckFailures >= mBssids.size()
                     || mNumCheckFailures >= mMaxSsidBlacklists) {
                 if (sWifiOnly) {
-                    Slog.w(WWSM_TAG, "Would disable bad network, but device has no mobile data!" +
+                    log("Would disable bad network, but device has no mobile data!" +
                             "  Going idle...");
                     // This state should be called idle -- will be changing flow.
                     transitionTo(mNotConnectedState);
@@ -941,7 +935,7 @@
                 }
 
                 // TODO : Unban networks if they had low signal ?
-                Slog.i(WWSM_TAG, "Disabling current SSID " + wifiInfoToStr(mConnectionInfo)
+                log("Disabling current SSID " + wifiInfoToStr(mConnectionInfo)
                         + ".  " + "numCheckFailures " + mNumCheckFailures
                         + ", numAPs " + mBssids.size());
                 int networkId = mConnectionInfo.getNetworkId();
@@ -955,7 +949,7 @@
                 }
                 transitionTo(mNotConnectedState);
             } else {
-                Slog.i(WWSM_TAG, "Blacklisting current BSSID.  " + wifiInfoToStr(mConnectionInfo)
+                log("Blacklisting current BSSID.  " + wifiInfoToStr(mConnectionInfo)
                        + "numCheckFailures " + mNumCheckFailures + ", numAPs " + mBssids.size());
 
                 mWifiManager.addToBlacklist(mConnectionInfo.getBSSID());
@@ -979,8 +973,8 @@
             }
 
             if (msg.arg1 != mNetEventCounter) {
-                if (VDBG) {
-                    Slog.v(WWSM_TAG, "WalledGardenState::Msg out of sync, ignoring...");
+                if (DBG) {
+                    log("WalledGardenState::Msg out of sync, ignoring...");
                 }
                 return HANDLED;
             }
@@ -1005,8 +999,8 @@
             }
 
             if (msg.arg1 != mNetEventCounter) {
-                if (VDBG) {
-                    Slog.v(WWSM_TAG, "BlacklistedApState::Msg out of sync, ignoring...");
+                if (DBG) {
+                    log("BlacklistedApState::Msg out of sync, ignoring...");
                 }
                 return HANDLED;
             }
@@ -1067,5 +1061,11 @@
         return Settings.Secure.putInt(cr, name, value ? 1 : 0);
     }
 
+    private void log(String s) {
+        Log.d(TAG, s);
+    }
 
+    private void loge(String s) {
+        Log.e(TAG, s);
+    }
 }