Merge change 9660

* changes:
  Fix problem in A2DP interface closeOutputStream().
diff --git a/Android.mk b/Android.mk
index 275807a..15ba27f 100644
--- a/Android.mk
+++ b/Android.mk
@@ -83,8 +83,8 @@
 	core/java/android/app/IStatusBar.aidl \
 	core/java/android/app/IThumbnailReceiver.aidl \
 	core/java/android/app/ITransientNotification.aidl \
-	core/java/android/app/IWallpaperService.aidl \
-	core/java/android/app/IWallpaperServiceCallback.aidl \
+	core/java/android/app/IWallpaperManager.aidl \
+	core/java/android/app/IWallpaperManagerCallback.aidl \
 	core/java/android/backup/IBackupManager.aidl \
 	core/java/android/backup/IRestoreObserver.aidl \
 	core/java/android/backup/IRestoreSession.aidl \
@@ -114,6 +114,7 @@
 	core/java/android/os/IParentalControlCallback.aidl \
 	core/java/android/os/IPermissionController.aidl \
 	core/java/android/os/IPowerManager.aidl \
+    core/java/android/service/wallpaper/IWallpaperService.aidl \
 	core/java/android/text/IClipboard.aidl \
 	core/java/android/view/accessibility/IAccessibilityManager.aidl \
 	core/java/android/view/accessibility/IAccessibilityManagerClient.aidl \
@@ -355,14 +356,15 @@
 		-samplecode $(sample_dir)/NotePad \
 		            guide/samples/NotePad "Note Pad"
 
-# SDK version identifiers used in the published docs. 
-
-# major[.minor] version for SDK. Typically identical to the 
-# most current Android platform version included in the SDK package. 
-framework_docs_SDK_VERSION :=  1.5
-# release version for SDK (ie "Release x")
-framework_docs_SDK_REL_ID :=   3
-framework_docs_SDK_CURRENT_DIR := $(framework_docs_SDK_VERSION)_r$(framework_docs_SDK_REL_ID)
+## SDK version identifiers used in the published docs
+  # major[.minor] version for current SDK. (full releases only)
+framework_docs_SDK_VERSION:=1.5
+  # release version (ie "Release x")  (full releases only)
+framework_docs_SDK_REL_ID:=3
+  # name of current SDK directory (full releases only)
+framework_docs_SDK_CURRENT_DIR:=$(framework_docs_SDK_VERSION)_r$(framework_docs_SDK_REL_ID)
+  # flag to build offline docs for a preview release
+framework_docs_SDK_PREVIEW:=true
 
 framework_docs_LOCAL_DROIDDOC_OPTIONS += \
 		-hdf sdk.version $(framework_docs_SDK_VERSION) \
@@ -416,7 +418,11 @@
 		-proofread $(OUT_DOCS)/$(LOCAL_MODULE)-proofread.txt \
 		-todo $(OUT_DOCS)/$(LOCAL_MODULE)-docs-todo.html \
 		-sdkvalues $(OUT_DOCS) \
-		-hdf android.whichdoc offline
+		-hdf android.whichdoc offline 
+
+ifeq ($(framework_docs_SDK_PREVIEW),true)
+  LOCAL_DROIDDOC_OPTIONS += -hdf sdk.current preview 
+endif
 
 LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=build/tools/droiddoc/templates-sdk
 LOCAL_DROIDDOC_CUSTOM_ASSET_DIR:=assets-sdk
diff --git a/api/current.xml b/api/current.xml
index f65b5ce..9a635f6 100644
--- a/api/current.xml
+++ b/api/current.xml
@@ -26742,6 +26742,132 @@
 </parameter>
 </method>
 </interface>
+<class name="WallpaperManager"
+ extends="java.lang.Object"
+ abstract="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<method name="clear"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<exception name="IOException" type="java.io.IOException">
+</exception>
+</method>
+<method name="get"
+ return="android.graphics.drawable.Drawable"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
+<method name="getDesiredMinimumHeight"
+ return="int"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
+<method name="getDesiredMinimumWidth"
+ return="int"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
+<method name="peek"
+ return="android.graphics.drawable.Drawable"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
+<method name="set"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="resid" type="int">
+</parameter>
+<exception name="IOException" type="java.io.IOException">
+</exception>
+</method>
+<method name="set"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="bitmap" type="android.graphics.Bitmap">
+</parameter>
+<exception name="IOException" type="java.io.IOException">
+</exception>
+</method>
+<method name="set"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="data" type="java.io.InputStream">
+</parameter>
+<exception name="IOException" type="java.io.IOException">
+</exception>
+</method>
+<method name="setDimensionHints"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="minimumWidth" type="int">
+</parameter>
+<parameter name="minimumHeight" type="int">
+</parameter>
+</method>
+</class>
 </package>
 <package name="android.appwidget"
 >
@@ -30791,7 +30917,7 @@
  synchronized="false"
  static="false"
  final="false"
- deprecated="not deprecated"
+ deprecated="deprecated"
  visibility="public"
 >
 <exception name="IOException" type="java.io.IOException">
@@ -31240,7 +31366,7 @@
  synchronized="false"
  static="false"
  final="false"
- deprecated="not deprecated"
+ deprecated="deprecated"
  visibility="public"
 >
 </method>
@@ -31251,7 +31377,7 @@
  synchronized="false"
  static="false"
  final="false"
- deprecated="not deprecated"
+ deprecated="deprecated"
  visibility="public"
 >
 </method>
@@ -31262,7 +31388,7 @@
  synchronized="false"
  static="false"
  final="false"
- deprecated="not deprecated"
+ deprecated="deprecated"
  visibility="public"
 >
 </method>
@@ -31414,7 +31540,7 @@
  synchronized="false"
  static="false"
  final="false"
- deprecated="not deprecated"
+ deprecated="deprecated"
  visibility="public"
 >
 </method>
@@ -31581,7 +31707,7 @@
  synchronized="false"
  static="false"
  final="false"
- deprecated="not deprecated"
+ deprecated="deprecated"
  visibility="public"
 >
 <parameter name="bitmap" type="android.graphics.Bitmap">
@@ -31596,7 +31722,7 @@
  synchronized="false"
  static="false"
  final="false"
- deprecated="not deprecated"
+ deprecated="deprecated"
  visibility="public"
 >
 <parameter name="data" type="java.io.InputStream">
@@ -71975,6 +72101,29 @@
 </parameter>
 </method>
 </interface>
+<interface name="GpsStatus.NmeaListener"
+ abstract="true"
+ static="true"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<method name="onNmeaReceived"
+ return="void"
+ abstract="true"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="timestamp" type="long">
+</parameter>
+<parameter name="nmea" type="java.lang.String">
+</parameter>
+</method>
+</interface>
 <class name="Location"
  extends="java.lang.Object"
  abstract="false"
@@ -72578,6 +72727,19 @@
 <parameter name="listener" type="android.location.GpsStatus.Listener">
 </parameter>
 </method>
+<method name="addNmeaListener"
+ return="boolean"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="listener" type="android.location.GpsStatus.NmeaListener">
+</parameter>
+</method>
 <method name="addProximityAlert"
  return="void"
  abstract="false"
@@ -72788,6 +72950,19 @@
 <parameter name="listener" type="android.location.GpsStatus.Listener">
 </parameter>
 </method>
+<method name="removeNmeaListener"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="listener" type="android.location.GpsStatus.NmeaListener">
+</parameter>
+</method>
 <method name="removeProximityAlert"
  return="void"
  abstract="false"
@@ -115818,6 +115993,50 @@
 </implements>
 </interface>
 </package>
+<package name="android.service.wallpaper"
+>
+<class name="WallpaperService"
+ extends="android.app.Service"
+ abstract="true"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<constructor name="WallpaperService"
+ type="android.service.wallpaper.WallpaperService"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</constructor>
+<method name="onBind"
+ return="android.os.IBinder"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="intent" type="android.content.Intent">
+</parameter>
+</method>
+<field name="SERVICE_INTERFACE"
+ type="java.lang.String"
+ transient="false"
+ volatile="false"
+ value="&quot;android.service.wallpaper.WallpaperService&quot;"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+</class>
+</package>
 <package name="android.speech"
 >
 <class name="RecognizerIntent"
@@ -145940,6 +146159,19 @@
  visibility="public"
 >
 </method>
+<method name="findPointerIndex"
+ return="int"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="pointerId" type="int">
+</parameter>
+</method>
 <method name="getAction"
  return="int"
  abstract="false"
@@ -146031,7 +146263,7 @@
  deprecated="not deprecated"
  visibility="public"
 >
-<parameter name="pointer" type="int">
+<parameter name="pointerIndex" type="int">
 </parameter>
 <parameter name="pos" type="int">
 </parameter>
@@ -146059,7 +146291,7 @@
  deprecated="not deprecated"
  visibility="public"
 >
-<parameter name="pointer" type="int">
+<parameter name="pointerIndex" type="int">
 </parameter>
 <parameter name="pos" type="int">
 </parameter>
@@ -146087,7 +146319,7 @@
  deprecated="not deprecated"
  visibility="public"
 >
-<parameter name="pointer" type="int">
+<parameter name="pointerIndex" type="int">
 </parameter>
 <parameter name="pos" type="int">
 </parameter>
@@ -146115,7 +146347,7 @@
  deprecated="not deprecated"
  visibility="public"
 >
-<parameter name="pointer" type="int">
+<parameter name="pointerIndex" type="int">
 </parameter>
 <parameter name="pos" type="int">
 </parameter>
@@ -146153,6 +146385,19 @@
  visibility="public"
 >
 </method>
+<method name="getPointerId"
+ return="int"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="pointerIndex" type="int">
+</parameter>
+</method>
 <method name="getPressure"
  return="float"
  abstract="false"
@@ -146174,7 +146419,7 @@
  deprecated="not deprecated"
  visibility="public"
 >
-<parameter name="pointer" type="int">
+<parameter name="pointerIndex" type="int">
 </parameter>
 </method>
 <method name="getRawX"
@@ -146220,7 +146465,7 @@
  deprecated="not deprecated"
  visibility="public"
 >
-<parameter name="pointer" type="int">
+<parameter name="pointerIndex" type="int">
 </parameter>
 </method>
 <method name="getX"
@@ -146244,7 +146489,7 @@
  deprecated="not deprecated"
  visibility="public"
 >
-<parameter name="pointer" type="int">
+<parameter name="pointerIndex" type="int">
 </parameter>
 </method>
 <method name="getXPrecision"
@@ -146279,7 +146524,7 @@
  deprecated="not deprecated"
  visibility="public"
 >
-<parameter name="pointer" type="int">
+<parameter name="pointerIndex" type="int">
 </parameter>
 </method>
 <method name="getYPrecision"
@@ -146615,7 +146860,7 @@
  visibility="public"
 >
 </field>
-<field name="ACTION_POINTER_MASK"
+<field name="ACTION_POINTER_ID_MASK"
  type="int"
  transient="false"
  volatile="false"
@@ -146626,7 +146871,7 @@
  visibility="public"
 >
 </field>
-<field name="ACTION_POINTER_SHIFT"
+<field name="ACTION_POINTER_ID_SHIFT"
  type="int"
  transient="false"
  volatile="false"
diff --git a/cmds/bootanimation/BootAnimation.cpp b/cmds/bootanimation/BootAnimation.cpp
index 008fa36..5b904cb 100644
--- a/cmds/bootanimation/BootAnimation.cpp
+++ b/cmds/bootanimation/BootAnimation.cpp
@@ -34,6 +34,7 @@
 #include <ui/ISurfaceComposer.h>
 #include <ui/ISurfaceFlingerClient.h>
 #include <ui/FramebufferNativeWindow.h>
+#include <ui/EGLUtils.h>
 
 #include <core/SkBitmap.h>
 #include <images/SkImageDecoder.h>
@@ -138,8 +139,10 @@
     sp<Surface> s = control->getSurface();
 
     // initialize opengl and egl
-    const EGLint attribs[] = { EGL_RED_SIZE, 5, EGL_GREEN_SIZE, 6,
-            EGL_BLUE_SIZE, 5, EGL_DEPTH_SIZE, 0, EGL_NONE };
+    const EGLint attribs[] = {
+            EGL_DEPTH_SIZE, 0, 
+            EGL_NONE 
+    };
     EGLint w, h, dummy;
     EGLint numConfigs;
     EGLConfig config;
@@ -149,8 +152,7 @@
     EGLDisplay display = eglGetDisplay(EGL_DEFAULT_DISPLAY);
 
     eglInitialize(display, 0, 0);
-    eglChooseConfig(display, attribs, &config, 1, &numConfigs);
-
+    EGLUtils::selectConfigForNativeWindow(display, attribs, s.get(), &config);
     surface = eglCreateWindowSurface(display, config, s.get(), NULL);
     context = eglCreateContext(display, config, NULL, NULL);
     eglQuerySurface(display, surface, EGL_WIDTH, &w);
diff --git a/cmds/stagefright/record.cpp b/cmds/stagefright/record.cpp
index d8db8b3..cd54958 100644
--- a/cmds/stagefright/record.cpp
+++ b/cmds/stagefright/record.cpp
@@ -114,8 +114,8 @@
     assert(success);
 
     sp<MetaData> enc_meta = new MetaData;
-    // enc_meta->setCString(kKeyMIMEType, "video/3gpp");
-    enc_meta->setCString(kKeyMIMEType, "video/mp4v-es");
+    enc_meta->setCString(kKeyMIMEType, "video/3gpp");
+    // enc_meta->setCString(kKeyMIMEType, "video/mp4v-es");
     enc_meta->setInt32(kKeyWidth, width);
     enc_meta->setInt32(kKeyHeight, height);
 
@@ -129,7 +129,8 @@
     MPEG4Writer writer("/sdcard/output.mp4");
     writer.addSource(enc_meta, encoder);
     writer.start();
-    sleep(120);
+    sleep(20);
+    printf("stopping now.\n");
     writer.stop();
 #else
     encoder->start();
diff --git a/core/java/android/app/ApplicationContext.java b/core/java/android/app/ApplicationContext.java
index b095e30..8ac9557 100644
--- a/core/java/android/app/ApplicationContext.java
+++ b/core/java/android/app/ApplicationContext.java
@@ -59,8 +59,6 @@
 import android.database.sqlite.SQLiteDatabase;
 import android.database.sqlite.SQLiteDatabase.CursorFactory;
 import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
-import android.graphics.drawable.BitmapDrawable;
 import android.graphics.drawable.Drawable;
 import android.hardware.SensorManager;
 import android.location.ILocationManager;
@@ -78,7 +76,6 @@
 import android.os.IBinder;
 import android.os.IPowerManager;
 import android.os.Looper;
-import android.os.ParcelFileDescriptor;
 import android.os.PowerManager;
 import android.os.Process;
 import android.os.RemoteException;
@@ -88,10 +85,8 @@
 import android.telephony.TelephonyManager;
 import android.text.ClipboardManager;
 import android.util.AndroidRuntimeException;
-import android.util.DisplayMetrics;
 import android.util.Log;
 import android.view.ContextThemeWrapper;
-import android.view.Display;
 import android.view.LayoutInflater;
 import android.view.WindowManagerImpl;
 import android.view.accessibility.AccessibilityManager;
@@ -165,7 +160,6 @@
     private static LocationManager sLocationManager;
     private static boolean sIsBluetoothDeviceCached = false;
     private static BluetoothDevice sBluetoothDevice;
-    private static IWallpaperService sWallpaperService;
     private static final HashMap<File, SharedPreferencesImpl> sSharedPrefs =
             new HashMap<File, SharedPreferencesImpl>();
 
@@ -180,8 +174,8 @@
     private Resources.Theme mTheme = null;
     private PackageManager mPackageManager;
     private NotificationManager mNotificationManager = null;
-    private AccessibilityManager mAccessibilityManager = null;
     private ActivityManager mActivityManager = null;
+    private WallpaperManager mWallpaperManager = null;
     private Context mReceiverRestrictedContext = null;
     private SearchManager mSearchManager = null;
     private SensorManager mSensorManager = null;
@@ -201,9 +195,6 @@
 
     private File mCacheDir;
     
-    private Drawable mWallpaper;
-    private IWallpaperServiceCallback mWallpaperCallback = null;
-        
     private static long sInstanceCount = 0;
 
     private static final String[] EMPTY_FILE_LIST = {};
@@ -523,130 +514,37 @@
     
     @Override
     public Drawable getWallpaper() {
-        Drawable dr = peekWallpaper();
-        return dr != null ? dr : getResources().getDrawable(
-                com.android.internal.R.drawable.default_wallpaper);
+        return getWallpaperManager().get();
     }
 
     @Override
-    public synchronized Drawable peekWallpaper() {
-        if (mWallpaper != null) {
-            return mWallpaper;
-        }
-        mWallpaperCallback = new WallpaperCallback(this);
-        mWallpaper = getCurrentWallpaperLocked();
-        return mWallpaper;
-    }
-
-    private Drawable getCurrentWallpaperLocked() {
-        try {
-            ParcelFileDescriptor fd = getWallpaperService().getWallpaper(mWallpaperCallback);
-            if (fd != null) {
-                Bitmap bm = BitmapFactory.decodeFileDescriptor(fd.getFileDescriptor());
-                if (bm != null) {
-                    // For now clear the density until we figure out how
-                    // to deal with it for wallpapers.
-                    bm.setDensity(0);
-                    return new BitmapDrawable(getResources(), bm);
-                }
-            }
-        } catch (RemoteException e) {
-        }
-        return null;
+    public Drawable peekWallpaper() {
+        return getWallpaperManager().peek();
     }
 
     @Override
     public int getWallpaperDesiredMinimumWidth() {
-        try {
-            return getWallpaperService().getWidthHint();
-        } catch (RemoteException e) {
-            // Shouldn't happen!
-            return 0;
-        }
+        return getWallpaperManager().getDesiredMinimumWidth();
     }
 
     @Override
     public int getWallpaperDesiredMinimumHeight() {
-        try {
-            return getWallpaperService().getHeightHint();
-        } catch (RemoteException e) {
-            // Shouldn't happen!
-            return 0;
-        }
+        return getWallpaperManager().getDesiredMinimumHeight();
     }
 
     @Override
     public void setWallpaper(Bitmap bitmap) throws IOException  {
-        try {
-            ParcelFileDescriptor fd = getWallpaperService().setWallpaper(null);
-            if (fd == null) {
-                return;
-            }
-            FileOutputStream fos = null;
-            try {
-                fos = new ParcelFileDescriptor.AutoCloseOutputStream(fd);
-                bitmap.compress(Bitmap.CompressFormat.PNG, 90, fos);
-            } finally {
-                if (fos != null) {
-                    fos.close();
-                }
-            }
-        } catch (RemoteException e) {
-        }
+        getWallpaperManager().set(bitmap);
     }
 
     @Override
     public void setWallpaper(InputStream data) throws IOException {
-        try {
-            ParcelFileDescriptor fd = getWallpaperService().setWallpaper(null);
-            if (fd == null) {
-                return;
-            }
-            FileOutputStream fos = null;
-            try {
-                fos = new ParcelFileDescriptor.AutoCloseOutputStream(fd);
-                setWallpaper(data, fos);
-            } finally {
-                if (fos != null) {
-                    fos.close();
-                }
-            }
-        } catch (RemoteException e) {
-        }
-    }
-
-    private void setWallpaper(InputStream data, FileOutputStream fos)
-            throws IOException {
-        byte[] buffer = new byte[32768];
-        int amt;
-        while ((amt=data.read(buffer)) > 0) {
-            fos.write(buffer, 0, amt);
-        }
+        getWallpaperManager().set(data);
     }
 
     @Override
     public void clearWallpaper() throws IOException {
-        try {
-            Resources resources = getResources();
-            /* Set the wallpaper to the default values */
-            ParcelFileDescriptor fd = getWallpaperService().setWallpaper(
-                    "res:" + resources.getResourceName(
-                        com.android.internal.R.drawable.default_wallpaper));
-            if (fd != null) {
-                FileOutputStream fos = null;
-                try {
-                    fos = new ParcelFileDescriptor.AutoCloseOutputStream(fd);
-                    setWallpaper(resources.openRawResource(
-                            com.android.internal.R.drawable.default_wallpaper),
-                            fos);
-                } finally {
-                    if (fos != null) {
-                        fos.close();
-                    }
-                }
-            }
-        } catch (RemoteException e) {
-        }
+        getWallpaperManager().clear();
     }
 
     @Override
@@ -907,6 +805,8 @@
             }
         } else if (ACTIVITY_SERVICE.equals(name)) {
             return getActivityManager();
+        } else if (INPUT_METHOD_SERVICE.equals(name)) {
+            return InputMethodManager.getInstance(this);
         } else if (ALARM_SERVICE.equals(name)) {
             return getAlarmManager();
         } else if (ACCOUNT_SERVICE.equals(name)) {
@@ -927,7 +827,7 @@
             return getLocationManager();
         } else if (SEARCH_SERVICE.equals(name)) {
             return getSearchManager();
-        } else if ( SENSOR_SERVICE.equals(name)) {
+        } else if (SENSOR_SERVICE.equals(name)) {
             return getSensorManager();
         } else if (BLUETOOTH_SERVICE.equals(name)) {
             return getBluetoothDevice();
@@ -946,8 +846,8 @@
             return getTelephonyManager();
         } else if (CLIPBOARD_SERVICE.equals(name)) {
             return getClipboardManager();
-        } else if (INPUT_METHOD_SERVICE.equals(name)) {
-            return InputMethodManager.getInstance(this);
+        } else if (WALLPAPER_SERVICE.equals(name)) {
+            return getWallpaperManager();
         }
 
         return null;
@@ -1020,8 +920,7 @@
         return sWifiManager;
     }
 
-    private NotificationManager getNotificationManager()
-    {
+    private NotificationManager getNotificationManager() {
         synchronized (mSync) {
             if (mNotificationManager == null) {
                 mNotificationManager = new NotificationManager(
@@ -1032,6 +931,16 @@
         return mNotificationManager;
     }
 
+    private WallpaperManager getWallpaperManager() {
+        synchronized (mSync) {
+            if (mWallpaperManager == null) {
+                mWallpaperManager = new WallpaperManager(getOuterContext(),
+                        mMainThread.getHandler());
+            }
+        }
+        return mWallpaperManager;
+    }
+
     private TelephonyManager getTelephonyManager() {
         synchronized (mSync) {
             if (mTelephonyManager == null) {
@@ -1106,16 +1015,6 @@
         return mVibrator;
     }
   
-    private IWallpaperService getWallpaperService() {
-        synchronized (sSync) {
-            if (sWallpaperService == null) {
-                IBinder b = ServiceManager.getService(WALLPAPER_SERVICE);
-                sWallpaperService = IWallpaperService.Stub.asInterface(b);
-            }
-        }
-        return sWallpaperService;
-    }
-
     private AudioManager getAudioManager()
     {
         if (mAudioManager == null) {
@@ -2820,25 +2719,4 @@
             return false;
         }
     }
-
-    private static class WallpaperCallback extends IWallpaperServiceCallback.Stub {
-        private WeakReference<ApplicationContext> mContext;
-
-        public WallpaperCallback(ApplicationContext context) {
-            mContext = new WeakReference<ApplicationContext>(context);
-        }
-
-        public synchronized void onWallpaperChanged() {
-
-            /* The wallpaper has changed but we shouldn't eagerly load the
-             * wallpaper as that would be inefficient. Reset the cached wallpaper
-             * to null so if the user requests the wallpaper again then we'll
-             * fetch it.
-             */
-            final ApplicationContext applicationContext = mContext.get();
-            if (applicationContext != null) {
-                applicationContext.mWallpaper = null;
-            }
-        }
-    }
 }
diff --git a/core/java/android/app/IWallpaperService.aidl b/core/java/android/app/IWallpaperManager.aidl
similarity index 90%
rename from core/java/android/app/IWallpaperService.aidl
rename to core/java/android/app/IWallpaperManager.aidl
index 281a060..1ed9b9f 100644
--- a/core/java/android/app/IWallpaperService.aidl
+++ b/core/java/android/app/IWallpaperManager.aidl
@@ -17,10 +17,10 @@
 package android.app;
 
 import android.os.ParcelFileDescriptor;
-import android.app.IWallpaperServiceCallback;
+import android.app.IWallpaperManagerCallback;
 
 /** @hide */
-interface IWallpaperService {
+interface IWallpaperManager {
 
     /**
      * Set the wallpaper.
@@ -30,7 +30,7 @@
     /**
      * Get the wallpaper.
      */
-    ParcelFileDescriptor getWallpaper(IWallpaperServiceCallback cb);
+    ParcelFileDescriptor getWallpaper(IWallpaperManagerCallback cb);
     
     /**
      * Clear the wallpaper.
diff --git a/core/java/android/app/IWallpaperServiceCallback.aidl b/core/java/android/app/IWallpaperManagerCallback.aidl
similarity index 88%
rename from core/java/android/app/IWallpaperServiceCallback.aidl
rename to core/java/android/app/IWallpaperManagerCallback.aidl
index 6086f40..991b2bc 100644
--- a/core/java/android/app/IWallpaperServiceCallback.aidl
+++ b/core/java/android/app/IWallpaperManagerCallback.aidl
@@ -17,13 +17,13 @@
 package android.app;
 
 /**
- * Callback interface used by IWallpaperService to send asynchronous 
+ * Callback interface used by IWallpaperManager to send asynchronous 
  * notifications back to its clients.  Note that this is a
  * one-way interface so the server does not block waiting for the client.
  *
  * @hide
  */
-oneway interface IWallpaperServiceCallback {
+oneway interface IWallpaperManagerCallback {
     /**
      * Called when the wallpaper has changed
      */
diff --git a/core/java/android/app/SearchDialog.java b/core/java/android/app/SearchDialog.java
index 18e4a528..9c20a4b 100644
--- a/core/java/android/app/SearchDialog.java
+++ b/core/java/android/app/SearchDialog.java
@@ -693,39 +693,6 @@
         return mLaunchComponent.flattenToShortString().startsWith("com.android.browser/");
     }
 
-    /*
-     * Menu.
-     */
-
-    @Override
-    public boolean onCreateOptionsMenu(Menu menu) {
-        // Show search settings menu item if anyone handles the intent for it
-        Intent settingsIntent = new Intent(SearchManager.INTENT_ACTION_SEARCH_SETTINGS);
-        settingsIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-        PackageManager pm = getContext().getPackageManager();
-        ActivityInfo activityInfo = settingsIntent.resolveActivityInfo(pm, 0);
-        if (activityInfo != null) {
-            settingsIntent.setClassName(activityInfo.applicationInfo.packageName,
-                    activityInfo.name);
-            CharSequence label = activityInfo.loadLabel(getContext().getPackageManager());
-            menu.add(Menu.NONE, Menu.NONE, Menu.NONE, label)
-                    .setIcon(android.R.drawable.ic_menu_preferences)
-                    .setAlphabeticShortcut('P')
-                    .setIntent(settingsIntent);
-            return true;
-        }
-        return super.onCreateOptionsMenu(menu);
-    }
-
-    @Override
-    public boolean onMenuOpened(int featureId, Menu menu) {
-        // The menu shows up above the IME, regardless of whether it is in front
-        // of the drop-down or not. This looks weird when there is no IME, so
-        // we make sure it is visible.
-        mSearchAutoComplete.ensureImeVisible();
-        return super.onMenuOpened(featureId, menu);
-    }
-
     /**
      * Listeners of various types
      */
@@ -899,16 +866,15 @@
                 return;
             }
             try {
+                // First stop the existing search before starting voice search, or else we'll end
+                // up showing the search dialog again once we return to the app.
+                ((SearchManager) getContext().getSystemService(Context.SEARCH_SERVICE)).
+                        stopSearch();
+                
                 if (mSearchable.getVoiceSearchLaunchWebSearch()) {
                     getContext().startActivity(mVoiceWebSearchIntent);
                 } else if (mSearchable.getVoiceSearchLaunchRecognizer()) {
-                    Intent appSearchIntent = createVoiceAppSearchIntent(mVoiceAppSearchIntent);
-                    
-                    // Stop the existing search before starting voice search, or else we'll end
-                    // up showing the search dialog again once we return to the app.
-                    ((SearchManager) getContext().getSystemService(Context.SEARCH_SERVICE)).
-                            stopSearch();
-                    
+                    Intent appSearchIntent = createVoiceAppSearchIntent(mVoiceAppSearchIntent);                    
                     getContext().startActivity(appSearchIntent);
                 }
             } catch (ActivityNotFoundException e) {
@@ -1777,7 +1743,14 @@
                 }
                 // If the drop-down obscures the keyboard, the user wouldn't see anything
                 // happening when pressing back, so we dismiss the entire dialog instead.
-                if (isInputMethodNotNeeded()) {
+                //
+                // also: if there is no text entered, we also want to dismiss the whole dialog,
+                // not just the soft keyboard.  the exception to this is if there are shortcuts
+                // that aren't displayed (e.g are being obscured by the soft keyboard); in that
+                // case we want to dismiss the soft keyboard so the user can see the rest of the
+                // shortcuts.
+                if (isInputMethodNotNeeded() ||
+                        (isEmpty() && getDropDownChildCount() >= getAdapter().getCount())) {
                     mSearchDialog.cancel();
                     return true;
                 }
diff --git a/core/java/android/app/SuggestionsAdapter.java b/core/java/android/app/SuggestionsAdapter.java
index 4a00e48..52e4a1f 100644
--- a/core/java/android/app/SuggestionsAdapter.java
+++ b/core/java/android/app/SuggestionsAdapter.java
@@ -73,6 +73,14 @@
     private int mIconName1Col;
     private int mIconName2Col;
     private int mBackgroundColorCol;
+    
+    // The extra used to tell a cursor to close itself. This is a hack, see the description by
+    // its use later in this file.
+    private static final String EXTRA_CURSOR_RESPOND_CLOSE_CURSOR = "cursor_respond_close_cursor";
+
+    // The bundle which contains {EXTRA_CURSOR_RESPOND_CLOSE_CURSOR=true}, just cached once
+    // so we don't bother recreating it a bunch.
+    private final Bundle mCursorRespondCloseCursorBundle;
 
     // This value is stored in SuggestionsAdapter by the SearchDialog to indicate whether
     // a particular list item should be selected upon the next call to notifyDataSetChanged.
@@ -129,6 +137,10 @@
                 mSearchDialog.setWorking(false);
             }
         };
+        
+        // Create this once because we'll reuse it a bunch.
+        mCursorRespondCloseCursorBundle = new Bundle();
+        mCursorRespondCloseCursorBundle.putBoolean(EXTRA_CURSOR_RESPOND_CLOSE_CURSOR, true);
 
         // delay 500ms when deleting
         getFilter().setDelayer(new Filter.Delayer() {
@@ -195,7 +207,21 @@
         if (DBG) Log.d(LOG_TAG, "changeCursor(" + c + ")");
 
         try {
+            Cursor oldCursor = getCursor();
             super.changeCursor(c);
+            
+            // We send a special respond to the cursor to tell it to close itself directly because
+            // it may not happen correctly for some cursors currently. This was originally
+            // included as a fix to http://b/2036290, in which the search dialog was holding
+            // on to references to the web search provider unnecessarily. This is being caused by
+            // the fact that the cursor is not being correctly closed in
+            // BulkCursorToCursorAdapter#close, which remains unfixed (see http://b/2015069).
+            //
+            // TODO: Remove this hack once http://b/2015069 is fixed.
+            if (oldCursor != null && oldCursor != c) {
+                oldCursor.respond(mCursorRespondCloseCursorBundle);
+            }
+            
             if (c != null) {
                 mFormatCol = c.getColumnIndex(SearchManager.SUGGEST_COLUMN_FORMAT);
                 mText1Col = c.getColumnIndex(SearchManager.SUGGEST_COLUMN_TEXT_1);
@@ -658,7 +684,14 @@
         if (col == NONE) {
             return null;
         }
-        return cursor.getString(col);
+        try {
+            return cursor.getString(col);
+        } catch (Exception e) {
+            Log.e(LOG_TAG,
+                    "unexpected error retrieving valid column from cursor, "
+                            + "did the remote process die?", e);
+            return null;
+        }
     }
 
 }
diff --git a/core/java/android/app/WallpaperManager.java b/core/java/android/app/WallpaperManager.java
new file mode 100644
index 0000000..405db83
--- /dev/null
+++ b/core/java/android/app/WallpaperManager.java
@@ -0,0 +1,288 @@
+package android.app;
+
+import android.content.Context;
+import android.content.Intent;
+import android.content.res.Resources;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.graphics.drawable.BitmapDrawable;
+import android.graphics.drawable.Drawable;
+import android.os.Handler;
+import android.os.IBinder;
+import android.os.ParcelFileDescriptor;
+import android.os.RemoteException;
+import android.os.ServiceManager;
+
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+public class WallpaperManager {
+    private static String TAG = "WallpaperManager";
+    private static boolean DEBUG = false;
+
+    private final Context mContext;
+    
+    static class Globals extends IWallpaperManagerCallback.Stub {
+        private IWallpaperManager mService;
+        private Drawable mWallpaper;
+        
+        Globals() {
+            IBinder b = ServiceManager.getService(Context.WALLPAPER_SERVICE);
+            mService = IWallpaperManager.Stub.asInterface(b);
+        }
+        
+        public void onWallpaperChanged() {
+            /* The wallpaper has changed but we shouldn't eagerly load the
+             * wallpaper as that would be inefficient. Reset the cached wallpaper
+             * to null so if the user requests the wallpaper again then we'll
+             * fetch it.
+             */
+            synchronized (this) {
+                mWallpaper = null;
+            }
+        }
+        
+        public Drawable peekWallpaper(Context context) {
+            synchronized (this) {
+                if (mWallpaper != null) {
+                    return mWallpaper;
+                }
+                mWallpaper = getCurrentWallpaperLocked(context);
+                return mWallpaper;
+            }
+        }
+        
+        private Drawable getCurrentWallpaperLocked(Context context) {
+            try {
+                ParcelFileDescriptor fd = mService.getWallpaper(this);
+                if (fd != null) {
+                    Bitmap bm = BitmapFactory.decodeFileDescriptor(fd.getFileDescriptor());
+                    if (bm != null) {
+                        // For now clear the density until we figure out how
+                        // to deal with it for wallpapers.
+                        bm.setDensity(0);
+                        return new BitmapDrawable(context.getResources(), bm);
+                    }
+                }
+            } catch (RemoteException e) {
+            }
+            return null;
+        }
+    }
+    
+    private static Object mSync = new Object();
+    private static Globals sGlobals;
+
+    static Globals getGlobals() {
+        synchronized (mSync) {
+            if (sGlobals == null) {
+                sGlobals = new Globals();
+            }
+            return sGlobals;
+        }
+    }
+    
+    /*package*/ WallpaperManager(Context context, Handler handler) {
+        mContext = context;
+    }
+
+    /**
+     * Like {@link #peek}, but always returns a valid Drawable.  If
+     * no wallpaper is set, the system default wallpaper is returned.
+     *
+     * @return Returns a Drawable object that will draw the wallpaper.
+     */
+    public Drawable get() {
+        Drawable dr = peek();
+        return dr != null ? dr : Resources.getSystem().getDrawable(
+                com.android.internal.R.drawable.default_wallpaper);
+    }
+
+    /**
+     * Retrieve the current system wallpaper.  This is returned as an
+     * abstract Drawable that you can install in a View to display whatever
+     * wallpaper the user has currently set.  If there is no wallpaper set,
+     * a null pointer is returned.
+     *
+     * @return Returns a Drawable object that will draw the wallpaper or a
+     * null pointer if these is none.
+     */
+    public Drawable peek() {
+        return getGlobals().peekWallpaper(mContext);
+    }
+
+    /**
+     * Change the current system wallpaper to the bitmap in the given resource.
+     * The resource is opened as a raw data stream and copied into the
+     * wallpaper; it must be a valid PNG or JPEG image.  On success, the intent
+     * {@link Intent#ACTION_WALLPAPER_CHANGED} is broadcast.
+     *
+     * @param resid The bitmap to save.
+     *
+     * @throws IOException If an error occurs reverting to the default
+     * wallpaper.
+     */
+    public void set(int resid) throws IOException {
+        try {
+            Resources resources = mContext.getResources();
+            /* Set the wallpaper to the default values */
+            ParcelFileDescriptor fd = getGlobals().mService.setWallpaper(
+                    "res:" + resources.getResourceName(resid));
+            if (fd != null) {
+                FileOutputStream fos = null;
+                try {
+                    fos = new ParcelFileDescriptor.AutoCloseOutputStream(fd);
+                    setWallpaper(resources.openRawResource(resid), fos);
+                } finally {
+                    if (fos != null) {
+                        fos.close();
+                    }
+                }
+            }
+        } catch (RemoteException e) {
+        }
+    }
+    
+    /**
+     * Change the current system wallpaper to a bitmap.  The given bitmap is
+     * converted to a PNG and stored as the wallpaper.  On success, the intent
+     * {@link Intent#ACTION_WALLPAPER_CHANGED} is broadcast.
+     *
+     * @param bitmap The bitmap to save.
+     *
+     * @throws IOException If an error occurs reverting to the default
+     * wallpaper.
+     */
+    public void set(Bitmap bitmap) throws IOException {
+        try {
+            ParcelFileDescriptor fd = getGlobals().mService.setWallpaper(null);
+            if (fd == null) {
+                return;
+            }
+            FileOutputStream fos = null;
+            try {
+                fos = new ParcelFileDescriptor.AutoCloseOutputStream(fd);
+                bitmap.compress(Bitmap.CompressFormat.PNG, 90, fos);
+            } finally {
+                if (fos != null) {
+                    fos.close();
+                }
+            }
+        } catch (RemoteException e) {
+        }
+    }
+
+    /**
+     * Change the current system wallpaper to a specific byte stream.  The
+     * give InputStream is copied into persistent storage and will now be
+     * used as the wallpaper.  Currently it must be either a JPEG or PNG
+     * image.  On success, the intent {@link Intent#ACTION_WALLPAPER_CHANGED}
+     * is broadcast.
+     *
+     * @param data A stream containing the raw data to install as a wallpaper.
+     *
+     * @throws IOException If an error occurs reverting to the default
+     * wallpaper.
+     */
+    public void set(InputStream data) throws IOException {
+        try {
+            ParcelFileDescriptor fd = getGlobals().mService.setWallpaper(null);
+            if (fd == null) {
+                return;
+            }
+            FileOutputStream fos = null;
+            try {
+                fos = new ParcelFileDescriptor.AutoCloseOutputStream(fd);
+                setWallpaper(data, fos);
+            } finally {
+                if (fos != null) {
+                    fos.close();
+                }
+            }
+        } catch (RemoteException e) {
+        }
+    }
+
+    private void setWallpaper(InputStream data, FileOutputStream fos)
+            throws IOException {
+        byte[] buffer = new byte[32768];
+        int amt;
+        while ((amt=data.read(buffer)) > 0) {
+            fos.write(buffer, 0, amt);
+        }
+    }
+
+    /**
+     * Returns the desired minimum width for the wallpaper. Callers of
+     * {@link #set(android.graphics.Bitmap)} or
+     * {@link #set(java.io.InputStream)} should check this value
+     * beforehand to make sure the supplied wallpaper respects the desired
+     * minimum width.
+     *
+     * If the returned value is <= 0, the caller should use the width of
+     * the default display instead.
+     *
+     * @return The desired minimum width for the wallpaper. This value should
+     * be honored by applications that set the wallpaper but it is not
+     * mandatory.
+     */
+    public int getDesiredMinimumWidth() {
+        try {
+            return getGlobals().mService.getWidthHint();
+        } catch (RemoteException e) {
+            // Shouldn't happen!
+            return 0;
+        }
+    }
+
+    /**
+     * Returns the desired minimum height for the wallpaper. Callers of
+     * {@link #set(android.graphics.Bitmap)} or
+     * {@link #set(java.io.InputStream)} should check this value
+     * beforehand to make sure the supplied wallpaper respects the desired
+     * minimum height.
+     *
+     * If the returned value is <= 0, the caller should use the height of
+     * the default display instead.
+     *
+     * @return The desired minimum height for the wallpaper. This value should
+     * be honored by applications that set the wallpaper but it is not
+     * mandatory.
+     */
+    public int getDesiredMinimumHeight() {
+        try {
+            return getGlobals().mService.getHeightHint();
+        } catch (RemoteException e) {
+            // Shouldn't happen!
+            return 0;
+        }
+    }
+
+    /**
+     * For use only by the current home application, to specify the size of
+     * wallpaper it would like to use.  This allows such applications to have
+     * a virtual wallpaper that is larger than the physical screen, matching
+     * the size of their workspace.
+     * @param minimumWidth Desired minimum width
+     * @param minimumHeight Desired minimum height
+     */
+    public void setDimensionHints(int minimumWidth, int minimumHeight) {
+        try {
+            getGlobals().mService.setDimensionHints(minimumWidth, minimumHeight);
+        } catch (RemoteException e) {
+        }
+    }
+    
+    /**
+     * Remove any currently set wallpaper, reverting to the system's default
+     * wallpaper. On success, the intent {@link Intent#ACTION_WALLPAPER_CHANGED}
+     * is broadcast.
+     *
+     * @throws IOException If an error occurs reverting to the default
+     * wallpaper.
+     */
+    public void clear() throws IOException {
+        set(com.android.internal.R.drawable.default_wallpaper);
+    }
+}
diff --git a/core/java/android/appwidget/AppWidgetHostView.java b/core/java/android/appwidget/AppWidgetHostView.java
index 62d9267..9799ac4 100644
--- a/core/java/android/appwidget/AppWidgetHostView.java
+++ b/core/java/android/appwidget/AppWidgetHostView.java
@@ -18,11 +18,13 @@
 
 import android.content.Context;
 import android.content.pm.PackageManager;
+import android.content.pm.PackageManager.NameNotFoundException;
 import android.graphics.Bitmap;
 import android.graphics.Canvas;
 import android.graphics.Color;
 import android.graphics.Paint;
 import android.os.SystemClock;
+import android.util.AttributeSet;
 import android.util.Log;
 import android.view.Gravity;
 import android.view.LayoutInflater;
@@ -31,6 +33,7 @@
 import android.widget.FrameLayout;
 import android.widget.RemoteViews;
 import android.widget.TextView;
+import android.widget.FrameLayout.LayoutParams;
 
 /**
  * Provides the glue to show AppWidget views. This class offers automatic animation
@@ -58,7 +61,8 @@
     };
 
     Context mContext;
-    
+    Context mRemoteContext;
+
     int mAppWidgetId;
     AppWidgetProviderInfo mInfo;
     View mView;
@@ -104,6 +108,16 @@
         return mInfo;
     }
 
+    /** {@inheritDoc} */
+    @Override
+    public LayoutParams generateLayoutParams(AttributeSet attrs) {
+        // We're being asked to inflate parameters, probably by a LayoutInflater
+        // in a remote Context. To help resolve any remote references, we
+        // inflate through our last mRemoteContext when it exists.
+        final Context context = mRemoteContext != null ? mRemoteContext : mContext;
+        return new FrameLayout.LayoutParams(context, attrs);
+    }
+
     /**
      * Process a set of {@link RemoteViews} coming in as an update from the
      * AppWidget provider. Will animate into these new views as needed.
@@ -143,6 +157,9 @@
             mLayoutId = -1;
             mViewMode = VIEW_MODE_DEFAULT;
         } else {
+            // Prepare a local reference to the remote Context so we're ready to
+            // inflate any requested LayoutParams.
+            mRemoteContext = getRemoteContext(remoteViews);
             int layoutId = remoteViews.getLayoutId();
 
             // If our stale view has been prepared to match active, and the new
@@ -203,6 +220,24 @@
         }
     }
 
+    /**
+     * Build a {@link Context} cloned into another package name, usually for the
+     * purposes of reading remote resources.
+     */
+    private Context getRemoteContext(RemoteViews views) {
+        // Bail if missing package name
+        final String packageName = views.getPackage();
+        if (packageName == null) return mContext;
+
+        try {
+            // Return if cloned successfully, otherwise default
+            return mContext.createPackageContext(packageName, Context.CONTEXT_RESTRICTED);
+        } catch (NameNotFoundException e) {
+            Log.e(TAG, "Package name " + packageName + " not found");
+            return mContext;
+        }
+    }
+
     protected boolean drawChild(Canvas canvas, View child, long drawingTime) {
         if (CROSSFADE) {
             int alpha;
@@ -246,17 +281,15 @@
      * {@link FrameLayout.LayoutParams} before inserting.
      */
     protected void prepareView(View view) {
-        // Take requested dimensions from parent, but apply default gravity.
-        ViewGroup.LayoutParams requested = view.getLayoutParams();
+        // Take requested dimensions from child, but apply default gravity.
+        FrameLayout.LayoutParams requested = (FrameLayout.LayoutParams)view.getLayoutParams();
         if (requested == null) {
             requested = new FrameLayout.LayoutParams(LayoutParams.FILL_PARENT,
                     LayoutParams.FILL_PARENT);
         }
-        
-        FrameLayout.LayoutParams params =
-            new FrameLayout.LayoutParams(requested.width, requested.height);
-        params.gravity = Gravity.CENTER;
-        view.setLayoutParams(params);
+
+        requested.gravity = Gravity.CENTER;
+        view.setLayoutParams(requested);
     }
     
     /**
diff --git a/core/java/android/content/ContentProviderOperation.java b/core/java/android/content/ContentProviderOperation.java
index c0db01a..70ea5d0 100644
--- a/core/java/android/content/ContentProviderOperation.java
+++ b/core/java/android/content/ContentProviderOperation.java
@@ -301,7 +301,8 @@
                 : mSelectionArgsBackReferences.entrySet()) {
             final Integer selectionArgIndex = selectionArgBackRef.getKey();
             final int backRefIndex = selectionArgBackRef.getValue();
-            newArgs[selectionArgIndex] = backRefToValue(backRefs, numBackRefs, backRefIndex);
+            newArgs[selectionArgIndex] =
+                    String.valueOf(backRefToValue(backRefs, numBackRefs, backRefIndex));
         }
         return newArgs;
     }
@@ -315,18 +316,18 @@
      * the numBackRefs
      * @return the string representation of the requested back reference.
      */
-    private static String backRefToValue(ContentProviderResult[] backRefs, int numBackRefs,
+    private static long backRefToValue(ContentProviderResult[] backRefs, int numBackRefs,
             Integer backRefIndex) {
         if (backRefIndex >= numBackRefs) {
             throw new ArrayIndexOutOfBoundsException("asked for back ref " + backRefIndex
                     + " but there are only " + numBackRefs + " back refs");
         }
         ContentProviderResult backRef = backRefs[backRefIndex];
-        String backRefValue;
+        long backRefValue;
         if (backRef.uri != null) {
-            backRefValue = backRef.uri.getLastPathSegment();
+            backRefValue = ContentUris.parseId(backRef.uri);
         } else {
-            backRefValue = String.valueOf(backRef.count);
+            backRefValue = backRef.count;
         }
         return backRefValue;
     }
diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java
index 84449ef..1105899 100644
--- a/core/java/android/content/Context.java
+++ b/core/java/android/content/Context.java
@@ -488,89 +488,44 @@
     public abstract String[] databaseList();
 
     /**
-     * Like {@link #peekWallpaper}, but always returns a valid Drawable.  If
-     * no wallpaper is set, the system default wallpaper is returned.
-     *
-     * @return Returns a Drawable object that will draw the wallpaper.
+     * @deprecated Use {@link android.app.WallpaperManager#get
+     * WallpaperManager.get()} instead.
      */
     public abstract Drawable getWallpaper();
 
     /**
-     * Retrieve the current system wallpaper.  This is returned as an
-     * abstract Drawable that you can install in a View to display whatever
-     * wallpaper the user has currently set.  If there is no wallpaper set,
-     * a null pointer is returned.
-     *
-     * @return Returns a Drawable object that will draw the wallpaper or a
-     * null pointer if these is none.
+     * @deprecated Use {@link android.app.WallpaperManager#peek
+     * WallpaperManager.peek()} instead.
      */
     public abstract Drawable peekWallpaper();
 
     /**
-     * Returns the desired minimum width for the wallpaper. Callers of
-     * {@link #setWallpaper(android.graphics.Bitmap)} or
-     * {@link #setWallpaper(java.io.InputStream)} should check this value
-     * beforehand to make sure the supplied wallpaper respects the desired
-     * minimum width.
-     *
-     * If the returned value is <= 0, the caller should use the width of
-     * the default display instead.
-     *
-     * @return The desired minimum width for the wallpaper. This value should
-     * be honored by applications that set the wallpaper but it is not
-     * mandatory.
+     * @deprecated Use {@link android.app.WallpaperManager#getDesiredMinimumWidth()
+     * WallpaperManager.getDesiredMinimumWidth()} instead.
      */
     public abstract int getWallpaperDesiredMinimumWidth();
 
     /**
-     * Returns the desired minimum height for the wallpaper. Callers of
-     * {@link #setWallpaper(android.graphics.Bitmap)} or
-     * {@link #setWallpaper(java.io.InputStream)} should check this value
-     * beforehand to make sure the supplied wallpaper respects the desired
-     * minimum height.
-     *
-     * If the returned value is <= 0, the caller should use the height of
-     * the default display instead.
-     *
-     * @return The desired minimum height for the wallpaper. This value should
-     * be honored by applications that set the wallpaper but it is not
-     * mandatory.
+     * @deprecated Use {@link android.app.WallpaperManager#getDesiredMinimumHeight()
+     * WallpaperManager.getDesiredMinimumHeight()} instead.
      */
     public abstract int getWallpaperDesiredMinimumHeight();
 
     /**
-     * Change the current system wallpaper to a bitmap.  The given bitmap is
-     * converted to a PNG and stored as the wallpaper.  On success, the intent
-     * {@link Intent#ACTION_WALLPAPER_CHANGED} is broadcast.
-     *
-     * @param bitmap The bitmap to save.
-     *
-     * @throws IOException If an error occurs reverting to the default
-     * wallpaper.
+     * @deprecated Use {@link android.app.WallpaperManager#set(Bitmap)
+     * WallpaperManager.set()} instead.
      */
     public abstract void setWallpaper(Bitmap bitmap) throws IOException;
 
     /**
-     * Change the current system wallpaper to a specific byte stream.  The
-     * give InputStream is copied into persistent storage and will now be
-     * used as the wallpaper.  Currently it must be either a JPEG or PNG
-     * image.  On success, the intent {@link Intent#ACTION_WALLPAPER_CHANGED}
-     * is broadcast.
-     *
-     * @param data A stream containing the raw data to install as a wallpaper.
-     *
-     * @throws IOException If an error occurs reverting to the default
-     * wallpaper.
+     * @deprecated Use {@link android.app.WallpaperManager#set(InputStream)
+     * WallpaperManager.set()} instead.
      */
     public abstract void setWallpaper(InputStream data) throws IOException;
 
     /**
-     * Remove any currently set wallpaper, reverting to the system's default
-     * wallpaper. On success, the intent {@link Intent#ACTION_WALLPAPER_CHANGED}
-     * is broadcast.
-     *
-     * @throws IOException If an error occurs reverting to the default
-     * wallpaper.
+     * @deprecated Use {@link android.app.WallpaperManager#clear
+     * WallpaperManager.clear()} instead.
      */
     public abstract void clearWallpaper() throws IOException;
 
diff --git a/core/java/android/inputmethodservice/KeyboardView.java b/core/java/android/inputmethodservice/KeyboardView.java
index 4d6b7be9..dff7cae 100755
--- a/core/java/android/inputmethodservice/KeyboardView.java
+++ b/core/java/android/inputmethodservice/KeyboardView.java
@@ -202,7 +202,12 @@
     private boolean mAbortKey;
     private Key mInvalidatedKey;
     private Rect mClipRegion = new Rect(0, 0, 0, 0);
-    
+
+    // Variables for dealing with multiple pointers
+    private int mOldPointerCount = 1;
+    private float mOldPointerX;
+    private float mOldPointerY;
+
     private Drawable mKeyBackground;
 
     private static final int REPEAT_INTERVAL = 50; // ~20 keys per second
@@ -226,6 +231,8 @@
     private Rect mDirtyRect = new Rect();
     /** The keyboard bitmap for faster updates */
     private Bitmap mBuffer;
+    /** Notes if the keyboard just changed, so that we could possibly reallocate the mBuffer. */
+    private boolean mKeyboardChanged;
     /** The canvas for the above mutable keyboard bitmap */
     private Canvas mCanvas;
     
@@ -339,6 +346,7 @@
         mPaint.setAntiAlias(true);
         mPaint.setTextSize(keyTextSize);
         mPaint.setTextAlign(Align.CENTER);
+        mPaint.setAlpha(255);
 
         mPadding = new Rect(0, 0, 0, 0);
         mMiniKeyboardCache = new HashMap<Key,View>();
@@ -404,9 +412,8 @@
         List<Key> keys = mKeyboard.getKeys();
         mKeys = keys.toArray(new Key[keys.size()]);
         requestLayout();
-        // Release buffer, just in case the new keyboard has a different size. 
-        // It will be reallocated on the next draw.
-        mBuffer = null;
+        // Hint to reallocate the buffer if the size changed
+        mKeyboardChanged = true;
         invalidateAllKeys();
         computeProximityThreshold(keyboard);
         mMiniKeyboardCache.clear(); // Not really necessary to do every time, but will free up views
@@ -566,17 +573,21 @@
     @Override
     public void onDraw(Canvas canvas) {
         super.onDraw(canvas);
-        if (mDrawPending || mBuffer == null) {
+        if (mDrawPending || mBuffer == null || mKeyboardChanged) {
             onBufferDraw();
         }
         canvas.drawBitmap(mBuffer, 0, 0, null);
     }
-    
+
     private void onBufferDraw() {
-        if (mBuffer == null) {
-            mBuffer = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_8888);
-            mCanvas = new Canvas(mBuffer);
+        if (mBuffer == null || mKeyboardChanged) {
+            if (mBuffer == null || mKeyboardChanged &&
+                    (mBuffer.getWidth() != getWidth() || mBuffer.getHeight() != getHeight())) {
+                mBuffer = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_8888);
+                mCanvas = new Canvas(mBuffer);
+            }
             invalidateAllKeys();
+            mKeyboardChanged = false;
         }
         final Canvas canvas = mCanvas;
         canvas.clipRect(mDirtyRect, Op.REPLACE);
@@ -592,7 +603,6 @@
         final Key[] keys = mKeys;
         final Key invalidKey = mInvalidatedKey;
 
-        paint.setAlpha(255);
         paint.setColor(mKeyTextColor);
         boolean drawSingleKey = false;
         if (invalidKey != null && canvas.getClipBounds(clipRegion)) {
@@ -613,7 +623,7 @@
             }
             int[] drawableState = key.getCurrentDrawableState();
             keyBackground.setState(drawableState);
-            
+
             // Switch the character to uppercase if shift is pressed
             String label = key.label == null? null : adjustCase(key.label).toString();
             
@@ -682,7 +692,6 @@
 
     private int getKeyIndices(int x, int y, int[] allKeys) {
         final Key[] keys = mKeys;
-        final boolean shifted = mKeyboard.isShifted();
         int primaryIndex = NOT_A_KEY;
         int closestKey = NOT_A_KEY;
         int closestKeyDist = mProximityThreshold + 1;
@@ -1013,15 +1022,48 @@
         }
         return false;
     }
-    
+
     @Override
     public boolean onTouchEvent(MotionEvent me) {
+        // Convert multi-pointer up/down events to single up/down events to 
+        // deal with the typical multi-pointer behavior of two-thumb typing
+        int pointerCount = me.getPointerCount();
+        boolean result = false;
+        if (pointerCount != mOldPointerCount) {
+            long now = me.getEventTime();
+            if (pointerCount == 1) {
+                // Send a down event for the latest pointer
+                MotionEvent down = MotionEvent.obtain(now, now, MotionEvent.ACTION_DOWN,
+                        me.getX(), me.getY(), me.getMetaState());
+                result = onModifiedTouchEvent(down);
+                down.recycle();
+            } else {
+                // Send an up event for the last pointer
+                MotionEvent up = MotionEvent.obtain(now, now, MotionEvent.ACTION_UP,
+                        mOldPointerX, mOldPointerY, me.getMetaState());
+                result = onModifiedTouchEvent(up);
+                up.recycle();
+            }
+        } else {
+            if (pointerCount == 1) {
+                mOldPointerX = me.getX();
+                mOldPointerY = me.getY();
+                result = onModifiedTouchEvent(me);
+            } else {
+                // Don't do anything when 2 pointers are down and moving.
+                result = true;
+            }
+        }
+        mOldPointerCount = pointerCount;
+        return result;
+    }
+
+    private boolean onModifiedTouchEvent(MotionEvent me) {
         int touchX = (int) me.getX() - mPaddingLeft;
         int touchY = (int) me.getY() + mVerticalCorrection - mPaddingTop;
         int action = me.getAction();
         long eventTime = me.getEventTime();
         int keyIndex = getKeyIndices(touchX, touchY, null);
-        
         if (mGestureDetector.onTouchEvent(me)) {
             showPreview(NOT_A_KEY);
             mHandler.removeMessages(MSG_REPEAT);
diff --git a/core/java/android/provider/Browser.java b/core/java/android/provider/Browser.java
index b95e4e1..92bc814 100644
--- a/core/java/android/provider/Browser.java
+++ b/core/java/android/provider/Browser.java
@@ -107,7 +107,8 @@
     public static final String[] HISTORY_PROJECTION = new String[] {
         BookmarkColumns._ID, BookmarkColumns.URL, BookmarkColumns.VISITS,
         BookmarkColumns.DATE, BookmarkColumns.BOOKMARK, BookmarkColumns.TITLE,
-        BookmarkColumns.FAVICON, BookmarkColumns.THUMBNAIL };
+        BookmarkColumns.FAVICON, BookmarkColumns.THUMBNAIL,
+        BookmarkColumns.TOUCH_ICON };
 
     /* these indices dependent on HISTORY_PROJECTION */
     public static final int HISTORY_PROJECTION_ID_INDEX = 0;
@@ -121,6 +122,10 @@
      * @hide
      */
     public static final int HISTORY_PROJECTION_THUMBNAIL_INDEX = 7;
+    /**
+     * @hide
+     */
+    public static final int HISTORY_PROJECTION_TOUCH_ICON_INDEX = 8;
 
     /* columns needed to determine whether to truncate history */
     public static final String[] TRUNCATE_HISTORY_PROJECTION = new String[] {
@@ -521,6 +526,10 @@
          * @hide
          */
         public static final String THUMBNAIL = "thumbnail";
+        /**
+         * @hide
+         */
+        public static final String TOUCH_ICON = "touch_icon";
     }
 
     public static class SearchColumns implements BaseColumns {
diff --git a/core/java/android/provider/Calendar.java b/core/java/android/provider/Calendar.java
index 75bd989..489d936 100644
--- a/core/java/android/provider/Calendar.java
+++ b/core/java/android/provider/Calendar.java
@@ -217,6 +217,13 @@
          * <P>Type: INTEGER (boolean)</P>
          */
         public static final String HIDDEN = "hidden";
+
+        /**
+         * The owner account for this calendar, based on the calendar feed.
+         * This will be different from the _SYNC_ACCOUNT for delegated calendars.
+         * <P>Type: String</P>
+         */
+        public static final String OWNER_ACCOUNT = "ownerAccount";
     }
 
     public interface AttendeesColumns {
@@ -458,6 +465,14 @@
          * <P>Type: INTEGER (long; millis since epoch)</P>
          */
         public static final String LAST_DATE = "lastDate";
+
+        /**
+         * Whether the event has attendee information.  True if the event
+         * has full attendee data, false if the event has information about
+         * self only.
+         * <P>Type: INTEGER (boolean)</P>
+         */
+        public static final String HAS_ATTENDEE_DATA = "hasAttendeeData";
     }
 
     /**
diff --git a/core/java/android/provider/Checkin.java b/core/java/android/provider/Checkin.java
index f2c275e..6b491ab 100644
--- a/core/java/android/provider/Checkin.java
+++ b/core/java/android/provider/Checkin.java
@@ -109,6 +109,11 @@
             SYSTEM_TOMBSTONE,
             TEST, 
             BATTERY_DISCHARGE_INFO,
+            MARKET_DOWNLOAD,
+            MARKET_INSTALL,
+            MARKET_REMOVE,
+            MARKET_REFUND,
+            MARKET_UNINSTALL,
         }
     }
 
@@ -147,43 +152,6 @@
             TEST,
             NETWORK_RX_MOBILE,
             NETWORK_TX_MOBILE,
-            MARKET_DOWNLOAD_REQUESTED,
-            MARKET_DOWNLOAD_SCHEDULED,
-            MARKET_DOWNLOAD_CANCELLED_PENDING,
-            MARKET_DOWNLOAD_CANCELLED,
-            MARKET_DOWNLOAD_OK,
-            MARKET_DOWNLOAD_FAILED,
-            MARKET_DOWNLOAD_DECLINED,
-            MARKET_INSTALL_SCHEDULED,
-            MARKET_INSTALL_FAILED,
-            MARKET_INSTALL_OK,
-            MARKET_REMOVE_SCHEDULED,
-            MARKET_REMOVE_MALICIOUS_SCHEDULED,
-            MARKET_REMOVE_ABORTED,
-            MARKET_REMOVE_FAILED,
-            MARKET_REMOVE_OK,
-            MARKET_UNINSTALL_SCHEDULED,
-            MARKET_REFUND_REQUESTED,
-            MARKET_REFUND_OK,
-            MARKET_REFUND_FAILED,
-            MARKET_REASON_ALREADY_EXISTS,
-            MARKET_REASON_INVALID_APK,
-            MARKET_REASON_INSUFFICIENT_STORAGE,
-            MARKET_REASON_DUPLICATE_PACKAGE,
-            MARKET_REASON_UPDATE_INCOMPATIBLE,
-            MARKET_REASON_MISSING_SHARED_LIBRARY,
-            MARKET_REASON_REPLACE_COULDNT_DELETE,
-            MARKET_REASON_PARSE_NOT_APK,
-            MARKET_REASON_PARSE_BAD_MANIFEST,
-            MARKET_REASON_PARSE_NO_CERTIFICATES,
-            MARKET_REASON_PARSE_INCONSISTENT_CERTIFICATES,
-            MARKET_REASON_PARSE_CERTIFICATE_ENCODING,
-            MARKET_REASON_PARSE_BAD_PACKAGE_NAME,
-            MARKET_REASON_PARSE_BAD_SHARED_USER_ID,
-            MARKET_REASON_PARSE_MANIFEST_MALFORMED,
-            MARKET_REASON_PARSE_MANIFEST_EMPTY,
-            MARKET_REASON_UNKNOWN,
-            MARKET_STALE_INSTALL_ATTEMPT,
             PHONE_CDMA_REGISTERED,
             PHONE_CDMA_DATA_ATTEMPTED,
             PHONE_CDMA_DATA_CONNECTED,
diff --git a/core/java/android/provider/ContactsContract.java b/core/java/android/provider/ContactsContract.java
index 227c675..b5fa577 100644
--- a/core/java/android/provider/ContactsContract.java
+++ b/core/java/android/provider/ContactsContract.java
@@ -80,6 +80,62 @@
         }
     }
 
+    /**
+     * Generic columns for use by sync adapters. The specific functions of
+     * these columns are private to the sync adapter. Other clients of the API
+     * should not attempt to either read or write this column.
+     */
+    private interface BaseSyncColumns {
+
+        /** Generic column for use by sync adapters. */
+        public static final String SYNC1 = "sync1";
+        /** Generic column for use by sync adapters. */
+        public static final String SYNC2 = "sync2";
+        /** Generic column for use by sync adapters. */
+        public static final String SYNC3 = "sync3";
+        /** Generic column for use by sync adapters. */
+        public static final String SYNC4 = "sync4";
+    }
+
+    /**
+     * Columns that appear when each row of a table belongs to a specific
+     * account, including sync information that an account may need.
+     */
+    private interface SyncColumns extends BaseSyncColumns {
+        /**
+         * The name of the account instance to which this row belongs.
+         * <P>Type: TEXT</P>
+         */
+        public static final String ACCOUNT_NAME = "account_name";
+
+        /**
+         * The type of account to which this row belongs, which when paired with
+         * {@link #ACCOUNT_NAME} identifies a specific account.
+         * <P>Type: TEXT</P>
+         */
+        public static final String ACCOUNT_TYPE = "account_type";
+
+        /**
+         * String that uniquely identifies this row to its source account.
+         * <P>Type: TEXT</P>
+         */
+        public static final String SOURCE_ID = "sourceid";
+
+        /**
+         * Version number that is updated whenever this row or its related data
+         * changes.
+         * <P>Type: INTEGER</P>
+         */
+        public static final String VERSION = "version";
+
+        /**
+         * Flag indicating that {@link #VERSION} has changed, and this row needs
+         * to be synchronized by its owning account.
+         * <P>Type: INTEGER (boolean)</P>
+         */
+        public static final String DIRTY = "dirty";
+    }
+
     public interface ContactOptionsColumns {
         /**
          * The number of times a person has been contacted
@@ -124,15 +180,33 @@
          * Reference to the row in the data table holding the primary phone number.
          * <P>Type: INTEGER REFERENCES data(_id)</P>
          */
+        @Deprecated
         public static final String PRIMARY_PHONE_ID = "primary_phone_id";
 
         /**
+         * Reference to the row in the data table holding the default phone number.
+         * If the contact has only one phone number, that number is the default one.
+         * Otherwise it is the one explicitly selected by the user as primary.
+         * <P>Type: INTEGER REFERENCES data(_id)</P>
+         */
+        public static final String DEFAULT_PHONE_ID = "default_phone_id";
+
+        /**
          * Reference to the row in the data table holding the primary email address.
          * <P>Type: INTEGER REFERENCES data(_id)</P>
          */
+        @Deprecated
         public static final String PRIMARY_EMAIL_ID = "primary_email_id";
 
         /**
+         * Reference to the row in the data table holding the default email address.
+         * If the contact has only one email address, that address is the default one.
+         * Otherwise it is the one explicitly selected by the user as primary.
+         * <P>Type: INTEGER REFERENCES data(_id)</P>
+         */
+        public static final String DEFAULT_EMAIL_ID = "default_email_id";
+
+        /**
          * Reference to the row in the data table holding the photo.
          * <P>Type: INTEGER REFERENCES data(_id)</P>
          */
@@ -154,28 +228,47 @@
          * The type of data, for example Home or Work.
          * <P>Type: INTEGER</P>
          */
+        @Deprecated
         public static final String PRIMARY_PHONE_TYPE = CommonDataKinds.Phone.TYPE;
 
         /**
+         * The type of data, for example Home or Work.
+         * <P>Type: INTEGER</P>
+         */
+        public static final String DEFAULT_PHONE_TYPE = "default_phone_type";
+
+        /**
          * The user defined label for the primary phone.
          * <P>Type: TEXT</P>
          */
+        @Deprecated
         public static final String PRIMARY_PHONE_LABEL = CommonDataKinds.Phone.LABEL;
 
         /**
+         * The user defined label for the default phone.
+         * <P>Type: TEXT</P>
+         */
+        public static final String DEFAULT_PHONE_LABEL = "default_phone_label";
+
+        /**
          * The primary phone number.
          * <P>Type: TEXT</P>
          */
+        @Deprecated
         public static final String PRIMARY_PHONE_NUMBER = CommonDataKinds.Phone.NUMBER;
-    }
 
+        /**
+         * The default phone number.
+         * <P>Type: TEXT</P>
+         */
+        public static final String DEFAULT_PHONE_NUMBER = "default_phone_number";
+    }
 
     /**
      * Constants for the contacts table, which contains a record per group
      * of raw contact representing the same person.
      */
-    // TODO make final once renaming is complete
-    public static /*final*/ class Contacts implements BaseColumns, ContactsColumns,
+    public static class Contacts implements BaseColumns, ContactsColumns,
             ContactOptionsColumns {
         /**
          * This utility class cannot be instantiated
@@ -271,54 +364,14 @@
              * suggestions.
              * <p>
              * Type: INTEGER
+             *
+             * @deprecated Please use the "limit" parameter
              */
+            @Deprecated
             public static final String MAX_SUGGESTIONS = "max_suggestions";
         }
     }
 
-    @Deprecated
-    public static final class Aggregates extends Contacts {}
-
-    /**
-     * Columns that appear when each row of a table belongs to a specific
-     * account, including sync information that an account may need.
-     */
-    private interface SyncColumns {
-        /**
-         * The name of the account instance to which this row belongs.
-         * <P>Type: TEXT</P>
-         */
-        public static final String ACCOUNT_NAME = "account_name";
-
-        /**
-         * The type of account to which this row belongs, which when paired with
-         * {@link #ACCOUNT_NAME} identifies a specific account.
-         * <P>Type: TEXT</P>
-         */
-        public static final String ACCOUNT_TYPE = "account_type";
-
-        /**
-         * String that uniquely identifies this row to its source account.
-         * <P>Type: TEXT</P>
-         */
-        public static final String SOURCE_ID = "sourceid";
-
-        /**
-         * Version number that is updated whenever this row or its related data
-         * changes.
-         * <P>Type: INTEGER</P>
-         */
-        public static final String VERSION = "version";
-
-        /**
-         * Flag indicating that {@link #VERSION} has changed, and this row needs
-         * to be synchronized by its owning account.
-         * <P>Type: INTEGER (boolean)</P>
-         */
-        public static final String DIRTY = "dirty";
-
-    }
-
     private interface RawContactsColumns {
         /**
          * A reference to the {@link android.provider.ContactsContract.Contacts#_ID} that this
@@ -360,7 +413,7 @@
      * are the primary consumers of this API.
      */
     public static final class RawContacts implements BaseColumns, RawContactsColumns,
-            SyncColumns, ContactOptionsColumns {
+            ContactOptionsColumns, SyncColumns  {
         /**
          * This utility class cannot be instantiated
          */
@@ -508,6 +561,22 @@
         public static final String DATA14 = "data14";
         /** Generic data column, the meaning is {@link #MIMETYPE} specific */
         public static final String DATA15 = "data15";
+
+        /** Generic column for use by sync adapters. */
+        public static final String SYNC1 = "data_sync1";
+        /** Generic column for use by sync adapters. */
+        public static final String SYNC2 = "data_sync2";
+        /** Generic column for use by sync adapters. */
+        public static final String SYNC3 = "data_sync3";
+        /** Generic column for use by sync adapters. */
+        public static final String SYNC4 = "data_sync4";
+
+        /**
+         * An optional update or insert URI parameter that determines if the
+         * corresponding raw contact should be marked as dirty. The default
+         * value is true.
+         */
+        public static final String MARK_AS_DIRTY = "mark_as_dirty";
     }
 
     /**
@@ -693,9 +762,6 @@
              * The {@link RawContacts#_ID} that this data belongs to.
              */
             public static final String RAW_CONTACT_ID = "raw_contact_id";
-
-            @Deprecated
-            public static final String CONTACT_ID = RAW_CONTACT_ID;
         }
 
         /**
@@ -855,6 +921,18 @@
             public static final int TYPE_FAX_HOME = 5;
             public static final int TYPE_PAGER = 6;
             public static final int TYPE_OTHER = 7;
+            public static final int TYPE_CALLBACK = 8;
+            public static final int TYPE_CAR = 9;
+            public static final int TYPE_COMPANY_MAIN = 10;
+            public static final int TYPE_ISDN = 11;
+            public static final int TYPE_MAIN = 12;
+            public static final int TYPE_OTHER_FAX = 13;
+            public static final int TYPE_RADIO = 14;
+            public static final int TYPE_TELEX = 15;
+            public static final int TYPE_TTY_TDD = 16;
+            public static final int TYPE_WORK_MOBILE = 17;
+            public static final int TYPE_WORK_PAGER = 18;
+            public static final int TYPE_ASSISTANT = 19;
 
             /**
              * The phone number as the user entered it.
@@ -875,6 +953,12 @@
             public static final int TYPE_HOME = 1;
             public static final int TYPE_WORK = 2;
             public static final int TYPE_OTHER = 3;
+
+            /**
+             * The display name for the email address
+             * <P>Type: TEXT</P>
+             */
+            public static final String DISPLAY_NAME = "data4";
         }
 
         /**
@@ -994,9 +1078,9 @@
             public static final String COUNTRY = "data13";
         }
 
-       /**
-        * Common data definition for IM addresses.
-        */
+        /**
+         * Common data definition for IM addresses.
+         */
         public static final class Im implements BaseCommonColumns, CommonColumns {
             private Im() {}
 
@@ -1030,6 +1114,7 @@
             public static final int PROTOCOL_GOOGLE_TALK = 5;
             public static final int PROTOCOL_ICQ = 6;
             public static final int PROTOCOL_JABBER = 7;
+            public static final int PROTOCOL_NETMEETING = 8;
         }
 
         /**
@@ -1055,6 +1140,102 @@
              * <P>Type: TEXT</P>
              */
             public static final String TITLE = "data4";
+
+            /**
+             * The department at this company as the user entered it.
+             * <P>Type: TEXT</P>
+             */
+            public static final String DEPARTMENT = "data5";
+
+            /**
+             * The job description at this company as the user entered it.
+             * <P>Type: TEXT</P>
+             */
+            public static final String JOB_DESCRIPTION = "data6";
+
+            /**
+             * The symbol of this company as the user entered it.
+             * <P>Type: TEXT</P>
+             */
+            public static final String SYMBOL = "data7";
+
+            /**
+             * The phonetic name of this company as the user entered it.
+             * <P>Type: TEXT</P>
+             */
+            public static final String PHONETIC_NAME = "data8";
+        }
+
+        /**
+         * Common data definition for miscellaneous information.
+         */
+        public static final class Miscellaneous implements BaseCommonColumns {
+            private Miscellaneous() {}
+
+            /** MIME type used when storing this in data table. */
+            public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/misc";
+
+            /**
+             * The birthday as the user entered it.
+             * <P>Type: TEXT</P>
+             */
+            public static final String BIRTHDAY = "data1";
+
+            /**
+             * The nickname as the user entered it.
+             * <P>Type: TEXT</P>
+             */
+            public static final String NICKNAME = "data2";
+        }
+
+        /**
+         * Common data definition for relations.
+         */
+        public static final class Relation implements BaseCommonColumns, CommonColumns {
+            private Relation() {}
+
+            /** MIME type used when storing this in data table. */
+            public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/relation";
+
+            public static final int TYPE_ASSISTANT = 1;
+            public static final int TYPE_BROTHER = 2;
+            public static final int TYPE_CHILD = 3;
+            public static final int TYPE_DOMESTIC_PARTNER = 4;
+            public static final int TYPE_FATHER = 5;
+            public static final int TYPE_FRIEND = 6;
+            public static final int TYPE_MANAGER = 7;
+            public static final int TYPE_MOTHER = 8;
+            public static final int TYPE_PARENT = 9;
+            public static final int TYPE_PARTNER = 10;
+            public static final int TYPE_REFERRED_BY = 11;
+            public static final int TYPE_RELATIVE = 12;
+            public static final int TYPE_SISTER = 13;
+            public static final int TYPE_SPOUSE = 14;
+
+            /**
+             * The name of the relative as the user entered it.
+             * <P>Type: TEXT</P>
+             */
+            public static final String NAME = DATA;
+        }
+
+        /**
+         * Common data definition for events.
+         */
+        public static final class Event implements BaseCommonColumns, CommonColumns {
+            private Event() {}
+
+            /** MIME type used when storing this in data table. */
+            public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/event";
+
+            public static final int TYPE_ANNIVERSARY = 1;
+            public static final int TYPE_OTHER = 2;
+            
+            /**
+             * The event start date as the user entered it.
+             * <P>Type: TEXT</P>
+             */
+            public static final String START_DATE = DATA;
         }
 
         /**
@@ -1119,12 +1300,20 @@
         /**
          * Website related to the contact.
          */
-        public static final class Website implements BaseCommonColumns {
+        public static final class Website implements BaseCommonColumns, CommonColumns {
             private Website() {}
 
             /** MIME type used when storing this in data table. */
             public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/website";
 
+            public static final int TYPE_HOMEPAGE = 1;
+            public static final int TYPE_BLOG = 2;
+            public static final int TYPE_PROFILE = 3;
+            public static final int TYPE_HOME = 4;
+            public static final int TYPE_WORK = 5;
+            public static final int TYPE_FTP = 6;
+            public static final int TYPE_OTHER = 7;
+
             /**
              * The website URL string.
              * <P>Type: TEXT</P>
@@ -1382,6 +1571,28 @@
         public static final String EXTRA_TARGET_RECT = "target_rect";
 
         /**
+         * Optional extra used with {@link #SHOW_OR_CREATE_CONTACT} to specify a
+         * desired dialog style, usually a variation on size. One of
+         * {@link #MODE_SMALL}, {@link #MODE_MEDIUM}, or {@link #MODE_LARGE}.
+         */
+        public static final String EXTRA_MODE = "mode";
+
+        /**
+         * Value for {@link #EXTRA_MODE} to show a small-sized dialog.
+         */
+        public static final int MODE_SMALL = 1;
+
+        /**
+         * Value for {@link #EXTRA_MODE} to show a medium-sized dialog.
+         */
+        public static final int MODE_MEDIUM = 2;
+
+        /**
+         * Value for {@link #EXTRA_MODE} to show a large-sized dialog.
+         */
+        public static final int MODE_LARGE = 3;
+
+        /**
          * Intents related to the Contacts app UI.
          */
         public static final class UI {
diff --git a/core/java/android/provider/Im.java b/core/java/android/provider/Im.java
index ef4ff51..a054132 100644
--- a/core/java/android/provider/Im.java
+++ b/core/java/android/provider/Im.java
@@ -1614,6 +1614,12 @@
         /** specifies whether or not to show as away when device is idle */
         public static final String SETTING_SHOW_AWAY_ON_IDLE = "show_away_on_idle";
 
+        /** specifies whether or not to upload heartbeat stat upon login */
+        public static final String SETTING_UPLOAD_HEARTBEAT_STAT = "upload_heartbeat_stat";
+
+        /** specifies the last heartbeat interval received from the server */
+        public static final String SETTING_HEARTBEAT_INTERVAL = "heartbeat_interval";
+
         /**
          * Used for reliable message queue (RMQ). This is for storing the last rmq id received
          * from the GTalk server
@@ -1833,6 +1839,28 @@
             putBooleanValue(contentResolver, providerId, SETTING_SHOW_AWAY_ON_IDLE, showAway);
         }
 
+        /**
+         * A convenience method to set whether or not to upload heartbeat stat.
+         *
+         * @param contentResolver The ContentResolver to use to access the setting table.
+         * @param uploadStat Whether or not to upload heartbeat stat.
+         */
+        public static void setUploadHeartbeatStat(ContentResolver contentResolver,
+                long providerId, boolean uploadStat) {
+            putBooleanValue(contentResolver, providerId, SETTING_UPLOAD_HEARTBEAT_STAT, uploadStat);
+        }
+
+        /**
+         * A convenience method to set the heartbeat interval last received from the server.
+         *
+         * @param contentResolver The ContentResolver to use to access the setting table.
+         * @param interval The heartbeat interval last received from the server.
+         */
+        public static void setHeartbeatInterval(ContentResolver contentResolver,
+                long providerId, long interval) {
+            putLongValue(contentResolver, providerId, SETTING_HEARTBEAT_INTERVAL, interval);
+        }
+
         public static class QueryMap extends ContentQueryMap {
             private ContentResolver mContentResolver;
             private long mProviderId;
@@ -1982,6 +2010,43 @@
             }
 
             /**
+             * Set whether or not to upload heartbeat stat.
+             *
+             * @param uploadStat whether or not to upload heartbeat stat.
+             */
+            public void setUploadHeartbeatStat(boolean uploadStat) {
+                ProviderSettings.setUploadHeartbeatStat(mContentResolver, mProviderId, uploadStat);
+            }
+
+            /**
+             * Get whether or not to upload heartbeat stat.
+             *
+             * @return Whether or not to upload heartbeat stat.
+             */
+            public boolean getUploadHeartbeatStat() {
+                return getBoolean(SETTING_UPLOAD_HEARTBEAT_STAT,
+                        false /* by default do not upload */);
+            }
+
+            /**
+             * Set the last received heartbeat interval from the server.
+             *
+             * @param interval the last received heartbeat interval from the server.
+             */
+            public void setHeartbeatInterval(long interval) {
+                ProviderSettings.setHeartbeatInterval(mContentResolver, mProviderId, interval);
+            }
+
+            /**
+             * Get the last received heartbeat interval from the server.
+             *
+             * @return the last received heartbeat interval from the server.
+             */
+            public long getHeartbeatInterval() {
+                return getLong(SETTING_HEARTBEAT_INTERVAL, 0L /* an invalid default interval */);
+            }
+
+            /**
              * Convenience function for retrieving a single settings value
              * as a boolean.
              *
@@ -2019,6 +2084,19 @@
                 ContentValues values = getValues(name);
                 return values != null ? values.getAsInteger(VALUE) : def;
             }
+
+            /**
+             * Convenience function for retrieving a single settings value
+             * as a Long.
+             *
+             * @param name The name of the setting to retrieve.
+             * @param def The value to return if the setting is not defined.
+             * @return The setting's current value or 'def' if it is not defined.
+             */
+            private long getLong(String name, long def) {
+                ContentValues values = getValues(name);
+                return values != null ? values.getAsLong(VALUE) : def;
+            }
         }
 
     }
diff --git a/core/java/android/server/BluetoothA2dpService.java b/core/java/android/server/BluetoothA2dpService.java
index fb6ae28..96ce9d6 100644
--- a/core/java/android/server/BluetoothA2dpService.java
+++ b/core/java/android/server/BluetoothA2dpService.java
@@ -375,6 +375,10 @@
     }
 
     private synchronized void onSinkPropertyChanged(String path, String []propValues) {
+        if (!mBluetoothService.isEnabled()) {
+            return;
+        }
+
         String name = propValues[0];
         String address = mBluetoothService.getAddressFromObjectPath(path);
         if (address == null) {
@@ -382,15 +386,16 @@
             return;
         }
 
-        if (mAudioDevices.get(address) == null) {
-            // Ignore this state change, since it means we have got it after
-            // bluetooth has been disabled.
-            return;
-        }
         if (name.equals(PROPERTY_STATE)) {
             int state = convertBluezSinkStringtoState(propValues[1]);
-            int prevState = mAudioDevices.get(address);
-            handleSinkStateChange(address, prevState, state);
+            if (mAudioDevices.get(address) == null) {
+                // This is for an incoming connection for a device not known to us.
+                // We have authorized it and bluez state has changed.
+                addAudioSink(address);
+            } else {
+                int prevState = mAudioDevices.get(address);
+                handleSinkStateChange(address, prevState, state);
+            }
         }
     }
 
@@ -437,7 +442,6 @@
         return sinks;
     }
 
-
     @Override
     protected synchronized void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
         if (mAudioDevices.isEmpty()) return;
diff --git a/core/java/android/server/BluetoothDeviceService.java b/core/java/android/server/BluetoothDeviceService.java
index afe4757..d2b4447 100644
--- a/core/java/android/server/BluetoothDeviceService.java
+++ b/core/java/android/server/BluetoothDeviceService.java
@@ -804,6 +804,15 @@
         return mBondState.getBondState(address.toUpperCase());
     }
 
+    /*package*/ boolean isRemoteDeviceInCache(String address) {
+        return (mRemoteDeviceProperties.get(address) != null);
+    }
+
+    /*package*/ String[] getRemoteDeviceProperties(String address) {
+        String objectPath = getObjectPathFromAddress(address);
+        return (String [])getDevicePropertiesNative(objectPath);
+    }
+
     /*package*/ synchronized String getRemoteDeviceProperty(String address, String property) {
         Map<String, String> properties = mRemoteDeviceProperties.get(address);
         if (properties != null) {
@@ -812,8 +821,7 @@
             // Query for remote device properties, again.
             // We will need to reload the cache when we switch Bluetooth on / off
             // or if we crash.
-            String objectPath = getObjectPathFromAddress(address);
-            String propValues[] = (String [])getDevicePropertiesNative(objectPath);
+            String[] propValues = getRemoteDeviceProperties(address);
             if (propValues != null) {
                 addRemoteDeviceProperties(address, propValues);
                 return getRemoteDeviceProperty(address, property);
diff --git a/core/java/android/server/BluetoothEventLoop.java b/core/java/android/server/BluetoothEventLoop.java
index d982777..1704733 100644
--- a/core/java/android/server/BluetoothEventLoop.java
+++ b/core/java/android/server/BluetoothEventLoop.java
@@ -122,33 +122,41 @@
         return isEventLoopRunningNative();
     }
 
+    private void addDevice(String address, String[] properties) {
+        mBluetoothService.addRemoteDeviceProperties(address, properties);
+        String rssi = mBluetoothService.getRemoteDeviceProperty(address, "RSSI");
+        String classValue = mBluetoothService.getRemoteDeviceProperty(address, "Class");
+        String name = mBluetoothService.getRemoteDeviceProperty(address, "Name");
+        short rssiValue;
+        // For incoming connections, we don't get the RSSI value. Use a default of MIN_VALUE.
+        // If we accept the pairing, we will automatically show it at the top of the list.
+        if (rssi != null) {
+            rssiValue = (short)Integer.valueOf(rssi).intValue();
+        } else {
+            rssiValue = Short.MIN_VALUE;
+        }
+        if (classValue != null) {
+            Intent intent = new Intent(BluetoothIntent.REMOTE_DEVICE_FOUND_ACTION);
+            intent.putExtra(BluetoothIntent.ADDRESS, address);
+            intent.putExtra(BluetoothIntent.CLASS, Integer.valueOf(classValue));
+            intent.putExtra(BluetoothIntent.RSSI, rssiValue);
+            intent.putExtra(BluetoothIntent.NAME, name);
+
+            mContext.sendBroadcast(intent, BLUETOOTH_PERM);
+        } else {
+            log ("ClassValue: " + classValue + " for remote device: " + address + " is null");
+        }
+    }
+
     private void onDeviceFound(String address, String[] properties) {
         if (properties == null) {
             Log.e(TAG, "ERROR: Remote device properties are null");
             return;
         }
-        mBluetoothService.addRemoteDeviceProperties(address, properties);
-        String rssi = mBluetoothService.getRemoteDeviceProperty(address, "RSSI");
-        String classValue = mBluetoothService.getRemoteDeviceProperty(address, "Class");
-        String name = mBluetoothService.getRemoteDeviceProperty(address, "Name");
-
-        if (rssi != null && classValue != null) {
-            Intent intent = new Intent(BluetoothIntent.REMOTE_DEVICE_FOUND_ACTION);
-            intent.putExtra(BluetoothIntent.ADDRESS, address);
-            intent.putExtra(BluetoothIntent.CLASS, Integer.valueOf(classValue));
-            intent.putExtra(BluetoothIntent.RSSI, (short)Integer.valueOf(rssi).intValue());
-            intent.putExtra(BluetoothIntent.NAME, name);
-
-            mContext.sendBroadcast(intent, BLUETOOTH_PERM);
-        } else {
-            log ("RSSI: " + rssi + " or ClassValue: " + classValue +
-                    " for remote device: " + address + " is null");
-        }
+        addDevice(address, properties);
     }
 
     private void onDeviceDisappeared(String address) {
-        mBluetoothService.removeRemoteDeviceProperties(address);
-
         Intent intent = new Intent(BluetoothIntent.REMOTE_DEVICE_DISAPPEARED_ACTION);
         intent.putExtra(BluetoothIntent.ADDRESS, address);
         mContext.sendBroadcast(intent, BLUETOOTH_PERM);
@@ -208,7 +216,14 @@
     }
 
     private void onDeviceCreated(String deviceObjectPath) {
-        // do nothing.
+        String address = mBluetoothService.getAddressFromObjectPath(deviceObjectPath);
+        if (!mBluetoothService.isRemoteDeviceInCache(address)) {
+            // Incoming connection, we haven't seen this device, add to cache.
+            String[] properties = mBluetoothService.getRemoteDeviceProperties(address);
+            if (properties != null) {
+                addDevice(address, properties);
+            }
+        }
         return;
     }
 
@@ -316,6 +331,13 @@
                 }
             }
             mBluetoothService.setRemoteDeviceProperty(address, name, uuid);
+        } else if (name.equals("Paired")) {
+            if (propValues[1].equals("true")) {
+                mBluetoothService.getBondState().setBondState(address, BluetoothDevice.BOND_BONDED);
+            } else {
+                mBluetoothService.getBondState().setBondState(address,
+                        BluetoothDevice.BOND_NOT_BONDED);
+            }
         }
     }
 
@@ -403,7 +425,8 @@
         boolean authorized = false;
         UUID uuid = UUID.fromString(deviceUuid);
         if (mBluetoothService.isEnabled() &&
-                (BluetoothUuid.isAudioSink(uuid) || BluetoothUuid.isAvrcpController(uuid))) {
+                (BluetoothUuid.isAudioSink(uuid) || BluetoothUuid.isAvrcpController(uuid)
+                        || BluetoothUuid.isAdvAudioDist(uuid))) {
             BluetoothA2dp a2dp = new BluetoothA2dp(mContext);
             authorized = a2dp.getSinkPriority(address) > BluetoothA2dp.PRIORITY_OFF;
             if (authorized) {
diff --git a/core/java/android/service/wallpaper/IWallpaperService.aidl b/core/java/android/service/wallpaper/IWallpaperService.aidl
new file mode 100644
index 0000000..97e032b
--- /dev/null
+++ b/core/java/android/service/wallpaper/IWallpaperService.aidl
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.service.wallpaper;
+
+/**
+ * @hide
+ */
+oneway interface IWallpaperService {
+    void onInterrupt();
+}
diff --git a/core/java/android/service/wallpaper/WallpaperService.java b/core/java/android/service/wallpaper/WallpaperService.java
new file mode 100644
index 0000000..a729ed5
--- /dev/null
+++ b/core/java/android/service/wallpaper/WallpaperService.java
@@ -0,0 +1,83 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.service.wallpaper;
+
+import com.android.internal.os.HandlerCaller;
+
+import android.app.Service;
+import android.content.Intent;
+import android.os.IBinder;
+import android.os.Message;
+import android.os.RemoteException;
+import android.util.Log;
+
+/**
+ * A wallpaper service is responsible for showing a live wallpaper behind
+ * applications that would like to sit on top of it.
+ */
+public abstract class WallpaperService extends Service {
+    /**
+     * The {@link Intent} that must be declared as handled by the service.
+     */
+    public static final String SERVICE_INTERFACE =
+        "android.service.wallpaper.WallpaperService";
+
+    private static final String LOG_TAG = "WallpaperService";
+
+    /**
+     * Implement to return the implementation of the internal accessibility
+     * service interface.  Subclasses should not override.
+     */
+    @Override
+    public final IBinder onBind(Intent intent) {
+        return new IWallpaperServiceWrapper(this);
+    }
+
+    /**
+     * Implements the internal {@link IWallpaperService} interface to convert
+     * incoming calls to it back to calls on an {@link WallpaperService}.
+     */
+    class IWallpaperServiceWrapper extends IWallpaperService.Stub
+            implements HandlerCaller.Callback {
+
+        private static final int DO_ON_INTERRUPT = 10;
+        
+        private final HandlerCaller mCaller;
+
+        private WallpaperService mTarget;
+
+        public IWallpaperServiceWrapper(WallpaperService context) {
+            mTarget = context;
+            mCaller = new HandlerCaller(context, this);
+        }
+
+        public void onInterrupt() {
+            Message message = mCaller.obtainMessage(DO_ON_INTERRUPT);
+            mCaller.sendMessage(message);
+        }
+
+        public void executeMessage(Message message) {
+            switch (message.what) {
+                case DO_ON_INTERRUPT :
+                    //mTarget.onInterrupt();
+                    return;
+                default :
+                    Log.w(LOG_TAG, "Unknown message type " + message.what);
+            }
+        }
+    }
+}
diff --git a/core/java/android/view/MotionEvent.java b/core/java/android/view/MotionEvent.java
index ae84e1e..e8bfa6a 100644
--- a/core/java/android/view/MotionEvent.java
+++ b/core/java/android/view/MotionEvent.java
@@ -19,6 +19,7 @@
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.os.SystemClock;
+import android.util.Log;
 
 /**
  * Object used to report movement (mouse, pen, finger, trackball) events.  This
@@ -26,6 +27,8 @@
  * it is being used for.
  */
 public final class MotionEvent implements Parcelable {
+    static final boolean DEBUG_POINTERS = false;
+    
     /**
      * Bit mask of the parts of the action code that are the action itself.
      */
@@ -68,58 +71,67 @@
 
     /**
      * A non-primary pointer has gone down.  The bits in
-     * {@link #ACTION_POINTER_MASK} indicate which pointer changed.
+     * {@link #ACTION_POINTER_ID_MASK} indicate which pointer changed.
      */
     public static final int ACTION_POINTER_DOWN     = 5;
     
     /**
-     * The primary pointer has gone done.
+     * Synonym for {@link #ACTION_POINTER_DOWN} with
+     * {@link #ACTION_POINTER_ID_MASK} of 0: the primary pointer has gone done.
      */
     public static final int ACTION_POINTER_1_DOWN   = ACTION_POINTER_DOWN | 0x0000;
     
     /**
-     * The secondary pointer has gone done.
+     * Synonym for {@link #ACTION_POINTER_DOWN} with
+     * {@link #ACTION_POINTER_ID_MASK} of 1: the secondary pointer has gone done.
      */
     public static final int ACTION_POINTER_2_DOWN   = ACTION_POINTER_DOWN | 0x0100;
     
     /**
-     * The tertiary pointer has gone done.
+     * Synonym for {@link #ACTION_POINTER_DOWN} with
+     * {@link #ACTION_POINTER_ID_MASK} of 2: the tertiary pointer has gone done.
      */
     public static final int ACTION_POINTER_3_DOWN   = ACTION_POINTER_DOWN | 0x0200;
     
     /**
      * A non-primary pointer has gone up.  The bits in
-     * {@link #ACTION_POINTER_MASK} indicate which pointer changed.
+     * {@link #ACTION_POINTER_ID_MASK} indicate which pointer changed.
      */
     public static final int ACTION_POINTER_UP       = 6;
     
     /**
-     * The primary pointer has gone up.
+     * Synonym for {@link #ACTION_POINTER_UP} with
+     * {@link #ACTION_POINTER_ID_MASK} of 0: the primary pointer has gone up.
      */
     public static final int ACTION_POINTER_1_UP     = ACTION_POINTER_UP | 0x0000;
     
     /**
-     * The secondary pointer has gone up.
+     * Synonym for {@link #ACTION_POINTER_UP} with
+     * {@link #ACTION_POINTER_ID_MASK} of 1: the secondary pointer has gone up.
      */
     public static final int ACTION_POINTER_2_UP     = ACTION_POINTER_UP | 0x0100;
     
     /**
-     * The tertiary pointer has gone up.
+     * Synonym for {@link #ACTION_POINTER_UP} with
+     * {@link #ACTION_POINTER_ID_MASK} of 2: the tertiary pointer has gone up.
      */
     public static final int ACTION_POINTER_3_UP     = ACTION_POINTER_UP | 0x0200;
     
     /**
      * Bits in the action code that represent a pointer ID, used with
      * {@link #ACTION_POINTER_DOWN} and {@link #ACTION_POINTER_UP}.  Pointer IDs
-     * start at 0, with 0 being the primary (first) pointer in the motion.
+     * start at 0, with 0 being the primary (first) pointer in the motion.  Note
+     * that this not <em>not</em> an index into the array of pointer values,
+     * which is compacted to only contain pointers that are down; the pointer
+     * ID for a particular index can be found with {@link #findPointerIndex}.
      */
-    public static final int ACTION_POINTER_MASK     = 0xff00;
+    public static final int ACTION_POINTER_ID_MASK  = 0xff00;
     
     /**
      * Bit shift for the action bits holding the pointer identifier as
-     * defined by {@link #ACTION_POINTER_MASK}.
+     * defined by {@link #ACTION_POINTER_ID_MASK}.
      */
-    public static final int ACTION_POINTER_SHIFT    = 8;
+    public static final int ACTION_POINTER_ID_SHIFT = 8;
     
     private static final boolean TRACK_RECYCLED_LOCATION = false;
 
@@ -144,18 +156,6 @@
     public static final int EDGE_RIGHT = 0x00000008;
 
     /**
-     * This is the part of the state data that holds the finger identifier
-     * for the sample.
-     */
-    static private final int STATE_FINGER_ID_MASK = 0xff;
-    
-    /**
-     * Special value for STATE_FINGER_ID_MASK indicating that the finger
-     * is not down in that sample.
-     */
-    static private final int STATE_FINGER_ID_NONE = 0xff;
-    
-    /**
      * Offset for the sample's X coordinate.
      * @hide
      */
@@ -185,7 +185,12 @@
      */
     static public final int NUM_SAMPLE_DATA = 4;
     
-    static private final int BASE_AVAIL_POINTERS = 2;
+    /**
+     * Number of possible pointers.
+     * @hide
+     */
+    static public final int BASE_AVAIL_POINTERS = 5;
+    
     static private final int BASE_AVAIL_SAMPLES = 8;
     
     static private final int MAX_RECYCLED = 10;
@@ -212,8 +217,8 @@
     
     private int mNumPointers;
     private int mNumSamples;
-    // Array of (mNumSamples * mNumPointers) size of control data.
-    private int[] mStateSamples;
+    // Array of mNumPointers size of identifiers for each pointer of data.
+    private int[] mPointerIdentifiers;
     // Array of (mNumSamples * mNumPointers * NUM_SAMPLE_DATA) size of event data.
     private float[] mDataSamples;
     // Array of mNumSamples size of time stamps.
@@ -224,7 +229,7 @@
     private boolean mRecycled;
 
     private MotionEvent() {
-        mStateSamples = new int[BASE_AVAIL_POINTERS*BASE_AVAIL_SAMPLES];
+        mPointerIdentifiers = new int[BASE_AVAIL_POINTERS];
         mDataSamples = new float[BASE_AVAIL_POINTERS*BASE_AVAIL_SAMPLES*NUM_SAMPLE_DATA];
         mTimeSamples = new long[BASE_AVAIL_SAMPLES];
     }
@@ -256,16 +261,11 @@
      * @param action The kind of action being performed -- one of either
      * {@link #ACTION_DOWN}, {@link #ACTION_MOVE}, {@link #ACTION_UP}, or
      * {@link #ACTION_CANCEL}.
-     * @param x The X coordinate of this event.
-     * @param y The Y coordinate of this event.
-     * @param pressure The current pressure of this event.  The pressure generally 
-     * ranges from 0 (no pressure at all) to 1 (normal pressure), however 
-     * values higher than 1 may be generated depending on the calibration of 
-     * the input device.
-     * @param size A scaled value of the approximate size of the area being pressed when
-     * touched with the finger. The actual value in pixels corresponding to the finger 
-     * touch is normalized with a device specific range of values
-     * and scaled to a value between 0 and 1.
+     * @param pointers The number of points that will be in this event.
+     * @param inPointerIds An array of <em>pointers</em> values providing
+     * an identifier for each pointer.
+     * @param inData An array of <em>pointers*NUM_SAMPLE_DATA</em> of initial
+     * data samples for the event.
      * @param metaState The state of any meta / modifier keys that were in effect when
      * the event was generated.
      * @param xPrecision The precision of the X coordinate being reported.
@@ -279,7 +279,7 @@
      * @hide
      */
     static public MotionEvent obtainNano(long downTime, long eventTime, long eventTimeNano,
-            int action, int pointers, float[] inData, int metaState,
+            int action, int pointers, int[] inPointerIds, float[] inData, int metaState,
             float xPrecision, float yPrecision, int deviceId, int edgeFlags) {
         MotionEvent ev = obtain();
         ev.mDeviceId = deviceId;
@@ -295,17 +295,36 @@
         ev.mNumPointers = pointers;
         ev.mNumSamples = 1;
         
-        float[] data = ev.mDataSamples;
-        System.arraycopy(inData, 0, data, 0, pointers * NUM_SAMPLE_DATA);
-        
-        int[] state = ev.mStateSamples;
-        while (pointers > 0) {
-            pointers--;
-            state[pointers] = pointers;
+        int[] pointerIdentifiers = ev.mPointerIdentifiers;
+        if (pointerIdentifiers.length < pointers) {
+            ev.mPointerIdentifiers = pointerIdentifiers = new int[pointers];
         }
+        System.arraycopy(inPointerIds, 0, pointerIdentifiers, 0, pointers);
+        
+        final int ND = pointers * NUM_SAMPLE_DATA;
+        float[] dataSamples = ev.mDataSamples;
+        if (dataSamples.length < ND) {
+            ev.mDataSamples = dataSamples = new float[ND];
+        }
+        System.arraycopy(inData, 0, dataSamples, 0, ND);
         
         ev.mTimeSamples[0] = eventTime;
 
+        if (DEBUG_POINTERS) {
+            StringBuilder sb = new StringBuilder(128);
+            sb.append("New:");
+            for (int i=0; i<pointers; i++) {
+                sb.append(" #");
+                sb.append(ev.mPointerIdentifiers[i]);
+                sb.append("(");
+                sb.append(ev.mDataSamples[(i*NUM_SAMPLE_DATA) + SAMPLE_X]);
+                sb.append(",");
+                sb.append(ev.mDataSamples[(i*NUM_SAMPLE_DATA) + SAMPLE_Y]);
+                sb.append(")");
+            }
+            Log.v("MotionEvent", sb.toString());
+        }
+        
         return ev;
     }
     
@@ -355,8 +374,8 @@
 
         ev.mNumPointers = 1;
         ev.mNumSamples = 1;
-        int[] state = ev.mStateSamples;
-        state[0] = 0;
+        int[] pointerIds = ev.mPointerIdentifiers;
+        pointerIds[0] = 0;
         float[] data = ev.mDataSamples;
         data[SAMPLE_X] = ev.mRawX = x;
         data[SAMPLE_Y] = ev.mRawY = y;
@@ -415,8 +434,8 @@
 
         ev.mNumPointers = 1;
         ev.mNumSamples = 1;
-        int[] state = ev.mStateSamples;
-        state[0] = 0;
+        int[] pointerIds = ev.mPointerIdentifiers;
+        pointerIds[0] = 0;
         float[] data = ev.mDataSamples;
         data[SAMPLE_X] = ev.mRawX = x;
         data[SAMPLE_Y] = ev.mRawY = y;
@@ -459,8 +478,8 @@
 
         ev.mNumPointers = 1;
         ev.mNumSamples = 1;
-        int[] state = ev.mStateSamples;
-        state[0] = 0;
+        int[] pointerIds = ev.mPointerIdentifiers;
+        pointerIds[0] = 0;
         float[] data = ev.mDataSamples;
         data[SAMPLE_X] = ev.mRawX = x;
         data[SAMPLE_Y] = ev.mRawY = y;
@@ -508,21 +527,21 @@
         ev.mXPrecision = o.mXPrecision;
         ev.mYPrecision = o.mYPrecision;
         
-        final int NT = ev.mNumSamples = o.mNumSamples;
-        if (ev.mTimeSamples.length >= NT) {
-            System.arraycopy(o.mTimeSamples, 0, ev.mTimeSamples, 0, NT);
+        final int NS = ev.mNumSamples = o.mNumSamples;
+        if (ev.mTimeSamples.length >= NS) {
+            System.arraycopy(o.mTimeSamples, 0, ev.mTimeSamples, 0, NS);
         } else {
             ev.mTimeSamples = (long[])o.mTimeSamples.clone();
         }
         
-        final int NS = (ev.mNumPointers=o.mNumPointers) * NT;
-        if (ev.mStateSamples.length >= NS) {
-            System.arraycopy(o.mStateSamples, 0, ev.mStateSamples, 0, NS);
+        final int NP = (ev.mNumPointers=o.mNumPointers);
+        if (ev.mPointerIdentifiers.length >= NP) {
+            System.arraycopy(o.mPointerIdentifiers, 0, ev.mPointerIdentifiers, 0, NP);
         } else {
-            ev.mStateSamples = (int[])o.mStateSamples.clone();
+            ev.mPointerIdentifiers = (int[])o.mPointerIdentifiers.clone();
         }
         
-        final int ND = NS * NUM_SAMPLE_DATA;
+        final int ND = NP * NS * NUM_SAMPLE_DATA;
         if (ev.mDataSamples.length >= ND) {
             System.arraycopy(o.mDataSamples, 0, ev.mDataSamples, 0, ND);
         } else {
@@ -593,6 +612,38 @@
     }
 
     /**
+     * {@link #getX(int)} for the first pointer index (may be an
+     * arbitrary pointer identifier).
+     */
+    public final float getX() {
+        return mDataSamples[SAMPLE_X];
+    }
+
+    /**
+     * {@link #getY(int)} for the first pointer index (may be an
+     * arbitrary pointer identifier).
+     */
+    public final float getY() {
+        return mDataSamples[SAMPLE_Y];
+    }
+
+    /**
+     * {@link #getPressure(int)} for the first pointer index (may be an
+     * arbitrary pointer identifier).
+     */
+    public final float getPressure() {
+        return mDataSamples[SAMPLE_PRESSURE];
+    }
+
+    /**
+     * {@link #getSize(int)} for the first pointer index (may be an
+     * arbitrary pointer identifier).
+     */
+    public final float getSize() {
+        return mDataSamples[SAMPLE_SIZE];
+    }
+
+    /**
      * The number of pointers of data contained in this event.  Always
      * >= 1.
      */
@@ -601,80 +652,91 @@
     }
     
     /**
-     * {@link #getX(int)} for the first pointer (pointer 0).
+     * Return the pointer identifier associated with a particular pointer
+     * data index is this event.  The identifier tells you the actual pointer
+     * number associated with the data, accounting for individual pointers
+     * going up and down since the start of the current gesture.
+     * @param pointerIndex Raw index of pointer to retrieve.  Value may be from 0
+     * (the first pointer that is down) to {@link #getPointerCount()}-1.
      */
-    public final float getX() {
-        return mDataSamples[SAMPLE_X];
+    public final int getPointerId(int pointerIndex) {
+        return mPointerIdentifiers[pointerIndex];
     }
-
+    
     /**
-     * {@link #getY(int)} for the first pointer (pointer 0).
+     * Given a pointer identifier, find the index of its data in the event.
+     * 
+     * @param pointerId The identifier of the pointer to be found.
+     * @return Returns either the index of the pointer (for use with
+     * {@link #getX(int) et al.), or -1 if there is no data available for
+     * that pointer identifier.
      */
-    public final float getY() {
-        return mDataSamples[SAMPLE_Y];
+    public final int findPointerIndex(int pointerId) {
+        int i = mNumPointers;
+        while (i > 0) {
+            i--;
+            if (mPointerIdentifiers[i] == pointerId) {
+                return i;
+            }
+        }
+        return -1;
     }
-
+    
     /**
-     * {@link #getPressure(int)} for the first pointer (pointer 0).
-     */
-    public final float getPressure() {
-        return mDataSamples[SAMPLE_PRESSURE];
-    }
-
-    /**
-     * {@link #getSize(int)} for the first pointer (pointer 0).
-     */
-    public final float getSize() {
-        return mDataSamples[SAMPLE_SIZE];
-    }
-
-    /**
-     * Returns the X coordinate of this event for the given pointer.
+     * Returns the X coordinate of this event for the given pointer
+     * <em>index</em> (use {@link #getPointerId(int)} to find the pointer
+     * identifier for this index).
      * Whole numbers are pixels; the 
      * value may have a fraction for input devices that are sub-pixel precise. 
-     * @param pointer The desired pointer to retrieve.  Value may be from 0
-     * (the first pointer) to {@link #getPointerCount()}-1.
+     * @param pointerIndex Raw index of pointer to retrieve.  Value may be from 0
+     * (the first pointer that is down) to {@link #getPointerCount()}-1.
      */
-    public final float getX(int pointer) {
-        return mDataSamples[(pointer*NUM_SAMPLE_DATA) + SAMPLE_X];
+    public final float getX(int pointerIndex) {
+        return mDataSamples[(pointerIndex*NUM_SAMPLE_DATA) + SAMPLE_X];
     }
 
     /**
-     * Returns the Y coordinate of this event for the given pointer.
+     * Returns the Y coordinate of this event for the given pointer
+     * <em>index</em> (use {@link #getPointerId(int)} to find the pointer
+     * identifier for this index).
      * Whole numbers are pixels; the
      * value may have a fraction for input devices that are sub-pixel precise.
-     * @param pointer The desired pointer to retrieve.  Value may be from 0
-     * (the first pointer) to {@link #getPointerCount()}-1.
+     * @param pointerIndex Raw index of pointer to retrieve.  Value may be from 0
+     * (the first pointer that is down) to {@link #getPointerCount()}-1.
      */
-    public final float getY(int pointer) {
-        return mDataSamples[(pointer*NUM_SAMPLE_DATA) + SAMPLE_Y];
+    public final float getY(int pointerIndex) {
+        return mDataSamples[(pointerIndex*NUM_SAMPLE_DATA) + SAMPLE_Y];
     }
 
     /**
-     * Returns the current pressure of this event for the given pointer.
+     * Returns the current pressure of this event for the given pointer
+     * <em>index</em> (use {@link #getPointerId(int)} to find the pointer
+     * identifier for this index).
      * The pressure generally
      * ranges from 0 (no pressure at all) to 1 (normal pressure), however
      * values higher than 1 may be generated depending on the calibration of
      * the input device.
-     * @param pointer The desired pointer to retrieve.  Value may be from 0
-     * (the first pointer) to {@link #getPointerCount()}-1.
+     * @param pointerIndex Raw index of pointer to retrieve.  Value may be from 0
+     * (the first pointer that is down) to {@link #getPointerCount()}-1.
      */
-    public final float getPressure(int pointer) {
-        return mDataSamples[(pointer*NUM_SAMPLE_DATA) + SAMPLE_PRESSURE];
+    public final float getPressure(int pointerIndex) {
+        return mDataSamples[(pointerIndex*NUM_SAMPLE_DATA) + SAMPLE_PRESSURE];
     }
 
     /**
-     * Returns a scaled value of the approximate size for the given pointer,
-     * representing the area of the screen being pressed.
-     * The actual value in pixels corresponding to the
+     * Returns a scaled value of the approximate size for the given pointer
+     * <em>index</em> (use {@link #getPointerId(int)} to find the pointer
+     * identifier for this index).
+     * This represents some approximation of the area of the screen being
+     * pressed; the actual value in pixels corresponding to the
      * touch is normalized with the device specific range of values
      * and scaled to a value between 0 and 1. The value of size can be used to
      * determine fat touch events.
-     * @param pointer The desired pointer to retrieve.  Value may be from 0
-     * (the first pointer) to {@link #getPointerCount()}-1.
+     * @param pointerIndex Raw index of pointer to retrieve.  Value may be from 0
+     * (the first pointer that is down) to {@link #getPointerCount()}-1.
      */
-    public final float getSize(int pointer) {
-        return mDataSamples[(pointer*NUM_SAMPLE_DATA) + SAMPLE_SIZE];
+    public final float getSize(int pointerIndex) {
+        return mDataSamples[(pointerIndex*NUM_SAMPLE_DATA) + SAMPLE_SIZE];
     }
 
     /**
@@ -758,99 +820,107 @@
     }
 
     /**
-     * {@link #getHistoricalX(int)} for the first pointer (pointer 0).
+     * {@link #getHistoricalX(int)} for the first pointer index (may be an
+     * arbitrary pointer identifier).
      */
     public final float getHistoricalX(int pos) {
         return mDataSamples[((pos + 1) * NUM_SAMPLE_DATA * mNumPointers) + SAMPLE_X];
     }
 
     /**
-     * {@link #getHistoricalY(int)} for the first pointer (pointer 0).
+     * {@link #getHistoricalY(int)} for the first pointer index (may be an
+     * arbitrary pointer identifier).
      */
     public final float getHistoricalY(int pos) {
         return mDataSamples[((pos + 1) * NUM_SAMPLE_DATA * mNumPointers) + SAMPLE_Y];
     }
 
     /**
-     * {@link #getHistoricalPressure(int)} for the first pointer (pointer 0).
+     * {@link #getHistoricalPressure(int)} for the first pointer index (may be an
+     * arbitrary pointer identifier).
      */
     public final float getHistoricalPressure(int pos) {
         return mDataSamples[((pos + 1) * NUM_SAMPLE_DATA * mNumPointers) + SAMPLE_PRESSURE];
     }
 
     /**
-     * {@link #getHistoricalSize(int)} for the first pointer (pointer 0).
+     * {@link #getHistoricalSize(int)} for the first pointer index (may be an
+     * arbitrary pointer identifier).
      */
     public final float getHistoricalSize(int pos) {
         return mDataSamples[((pos + 1) * NUM_SAMPLE_DATA * mNumPointers) + SAMPLE_SIZE];
     }
 
     /**
-     * Returns a historical X coordinate that occurred between this event
-     * and the previous event for the given pointer.  Only applies to ACTION_MOVE events.
+     * Returns a historical X coordinate, as per {@link #getX(int)}, that
+     * occurred between this event and the previous event for the given pointer.
+     * Only applies to ACTION_MOVE events.
      *
-     * @param pointer The desired pointer to retrieve.  Value may be from 0
-     * (the first pointer) to {@link #getPointerCount()}-1.
+     * @param pointerIndex Raw index of pointer to retrieve.  Value may be from 0
+     * (the first pointer that is down) to {@link #getPointerCount()}-1.
      * @param pos Which historical value to return; must be less than
      * {@link #getHistorySize}
      *
      * @see #getHistorySize
      * @see #getX
      */
-    public final float getHistoricalX(int pointer, int pos) {
+    public final float getHistoricalX(int pointerIndex, int pos) {
         return mDataSamples[((pos + 1) * NUM_SAMPLE_DATA * mNumPointers)
-                            + (pointer * NUM_SAMPLE_DATA) + SAMPLE_X];
+                            + (pointerIndex * NUM_SAMPLE_DATA) + SAMPLE_X];
     }
 
     /**
-     * Returns a historical Y coordinate that occurred between this event
-     * and the previous event for the given pointer.  Only applies to ACTION_MOVE events.
+     * Returns a historical Y coordinate, as per {@link #getY(int)}, that
+     * occurred between this event and the previous event for the given pointer.
+     * Only applies to ACTION_MOVE events.
      *
-     * @param pointer The desired pointer to retrieve.  Value may be from 0
-     * (the first pointer) to {@link #getPointerCount()}-1.
+     * @param pointerIndex Raw index of pointer to retrieve.  Value may be from 0
+     * (the first pointer that is down) to {@link #getPointerCount()}-1.
      * @param pos Which historical value to return; must be less than
      * {@link #getHistorySize}
      *
      * @see #getHistorySize
      * @see #getY
      */
-    public final float getHistoricalY(int pointer, int pos) {
+    public final float getHistoricalY(int pointerIndex, int pos) {
         return mDataSamples[((pos + 1) * NUM_SAMPLE_DATA * mNumPointers)
-                            + (pointer * NUM_SAMPLE_DATA) + SAMPLE_Y];
+                            + (pointerIndex * NUM_SAMPLE_DATA) + SAMPLE_Y];
     }
 
     /**
-     * Returns a historical pressure coordinate that occurred between this event
-     * and the previous event for the given pointer.  Only applies to ACTION_MOVE events.
+     * Returns a historical pressure coordinate, as per {@link #getPressure(int)},
+     * that occurred between this event and the previous event for the given
+     * pointer.  Only applies to ACTION_MOVE events.
      *
+     * @param pointerIndex Raw index of pointer to retrieve.  Value may be from 0
+     * (the first pointer that is down) to {@link #getPointerCount()}-1.
      * @param pos Which historical value to return; must be less than
      * {@link #getHistorySize}
-     *
-     * @param pointer The desired pointer to retrieve.  Value may be from 0
-     * (the first pointer) to {@link #getPointerCount()}-1.
+     * 
      * @see #getHistorySize
      * @see #getPressure
      */
-    public final float getHistoricalPressure(int pointer, int pos) {
+    public final float getHistoricalPressure(int pointerIndex, int pos) {
         return mDataSamples[((pos + 1) * NUM_SAMPLE_DATA * mNumPointers)
-                            + (pointer * NUM_SAMPLE_DATA) + SAMPLE_PRESSURE];
+                            + (pointerIndex * NUM_SAMPLE_DATA) + SAMPLE_PRESSURE];
     }
 
     /**
-     * Returns a historical size coordinate that occurred between this event
-     * and the previous event for the given pointer.  Only applies to ACTION_MOVE events.
+     * Returns a historical size coordinate, as per {@link #getSize(int)}, that
+     * occurred between this event and the previous event for the given pointer.
+     * Only applies to ACTION_MOVE events.
      *
+     * @param pointerIndex Raw index of pointer to retrieve.  Value may be from 0
+     * (the first pointer that is down) to {@link #getPointerCount()}-1.
      * @param pos Which historical value to return; must be less than
      * {@link #getHistorySize}
-     *
-     * @param pointer The desired pointer to retrieve.  Value may be from 0
-     * (the first pointer) to {@link #getPointerCount()}-1.
+     * 
      * @see #getHistorySize
      * @see #getSize
      */
-    public final float getHistoricalSize(int pointer, int pos) {
+    public final float getHistoricalSize(int pointerIndex, int pos) {
         return mDataSamples[((pos + 1) * NUM_SAMPLE_DATA * mNumPointers)
-                            + (pointer * NUM_SAMPLE_DATA) + SAMPLE_SIZE];
+                            + (pointerIndex * NUM_SAMPLE_DATA) + SAMPLE_SIZE];
     }
 
     /**
@@ -938,7 +1008,6 @@
      */
     public final void addBatch(long eventTime, float x, float y,
             float pressure, float size, int metaState) {
-        int[] states = mStateSamples;
         float[] data = mDataSamples;
         long[] times = mTimeSamples;
         
@@ -946,14 +1015,8 @@
         final int NS = mNumSamples;
         final int NI = NP*NS;
         final int ND = NI * NUM_SAMPLE_DATA;
-        if (states.length < (NI+NP)) {
-            // The state and data arrays are sized together, since their
-            // size is always a fixed factor from each other.
-            final int NEW_NI = NP * (NS+BASE_AVAIL_SAMPLES);
-            int[] newState = new int[NEW_NI];
-            System.arraycopy(states, 0, newState, 0, NI);
-            mStateSamples = states = newState;
-            final int NEW_ND = NEW_NI * NUM_SAMPLE_DATA;
+        if (data.length <= ND) {
+            final int NEW_ND = ND + (NP * (BASE_AVAIL_SAMPLES * NUM_SAMPLE_DATA));
             float[] newData = new float[NEW_ND];
             System.arraycopy(data, 0, newData, 0, ND);
             mDataSamples = data = newData;
@@ -996,7 +1059,6 @@
      * @hide
      */
     public final void addBatch(long eventTime, float[] inData, int metaState) {
-        int[] states = mStateSamples;
         float[] data = mDataSamples;
         long[] times = mTimeSamples;
         
@@ -1004,14 +1066,8 @@
         final int NS = mNumSamples;
         final int NI = NP*NS;
         final int ND = NI * NUM_SAMPLE_DATA;
-        if (states.length < (NI+NP)) {
-            // The state and data arrays are sized together, since their
-            // size is always a fixed factor from each other.
-            final int NEW_NI = NP * (NS+BASE_AVAIL_SAMPLES);
-            int[] newState = new int[NEW_NI];
-            System.arraycopy(states, 0, newState, 0, NI);
-            mStateSamples = states = newState;
-            final int NEW_ND = NEW_NI * NUM_SAMPLE_DATA;
+        if (data.length <= ND) {
+            final int NEW_ND = ND + (NP * (BASE_AVAIL_SAMPLES * NUM_SAMPLE_DATA));
             float[] newData = new float[NEW_ND];
             System.arraycopy(data, 0, newData, 0, ND);
             mDataSamples = data = newData;
@@ -1034,6 +1090,21 @@
         mRawX = inData[SAMPLE_X];
         mRawY = inData[SAMPLE_Y];
         mMetaState |= metaState;
+        
+        if (DEBUG_POINTERS) {
+            StringBuilder sb = new StringBuilder(128);
+            sb.append("Add:");
+            for (int i=0; i<mNumPointers; i++) {
+                sb.append(" #");
+                sb.append(mPointerIdentifiers[i]);
+                sb.append("(");
+                sb.append(mDataSamples[(i*NUM_SAMPLE_DATA) + SAMPLE_X]);
+                sb.append(",");
+                sb.append(mDataSamples[(i*NUM_SAMPLE_DATA) + SAMPLE_Y]);
+                sb.append(")");
+            }
+            Log.v("MotionEvent", sb.toString());
+        }
     }
 
     @Override
@@ -1074,13 +1145,13 @@
         final int NI = NP*NS;
         if (NI > 0) {
             int i;
-            int[] state = mStateSamples;
-            for (i=0; i<NI; i++) {
+            int[] state = mPointerIdentifiers;
+            for (i=0; i<NP; i++) {
                 out.writeInt(state[i]);
             }
-            final int NI4 = NI*NUM_SAMPLE_DATA;
+            final int ND = NI*NUM_SAMPLE_DATA;
             float[] history = mDataSamples;
-            for (i=0; i<NI4; i++) {
+            for (i=0; i<ND; i++) {
                 out.writeFloat(history[i]);
             }
             long[] times = mTimeSamples;
@@ -1107,19 +1178,19 @@
         mNumSamples = NS;
         final int NI = NP*NS;
         if (NI > 0) {
-            final int NI4 = NI*4;
-            int[] state = mStateSamples;
-            if (state.length < NI) {
-                mStateSamples = state = new int[NI];
+            int[] ids = mPointerIdentifiers;
+            if (ids.length < NP) {
+                mPointerIdentifiers = ids = new int[NP];
             }
-            for (int i=0; i<NI; i++) {
-                state[i] = in.readInt();
+            for (int i=0; i<NP; i++) {
+                ids[i] = in.readInt();
             }
             float[] history = mDataSamples;
-            if (history.length < NI4) {
-                mDataSamples = history = new float[NI4];
+            final int ND = NI*NUM_SAMPLE_DATA;
+            if (history.length < ND) {
+                mDataSamples = history = new float[ND];
             }
-            for (int i=0; i<NI4; i++) {
+            for (int i=0; i<ND; i++) {
                 history[i] = in.readFloat();
             }
             long[] times = mTimeSamples;
diff --git a/core/java/android/view/RawInputEvent.java b/core/java/android/view/RawInputEvent.java
index 30da83e..db024b4 100644
--- a/core/java/android/view/RawInputEvent.java
+++ b/core/java/android/view/RawInputEvent.java
@@ -13,6 +13,8 @@
     public static final int CLASS_ALPHAKEY = 0x00000002;
     public static final int CLASS_TOUCHSCREEN = 0x00000004;
     public static final int CLASS_TRACKBALL = 0x00000008;
+    public static final int CLASS_TOUCHSCREEN_MT = 0x00000010;
+    public static final int CLASS_DPAD = 0x00000020;
     
     // More special classes for QueuedEvent below.
     public static final int CLASS_CONFIGURATION_CHANGED = 0x10000000;
@@ -158,8 +160,21 @@
     public static final int ABS_TOOL_WIDTH = 0x1c;
     public static final int ABS_VOLUME = 0x20;
     public static final int ABS_MISC = 0x28;
+    public static final int ABS_MT_TOUCH_MAJOR = 0x30;
+    public static final int ABS_MT_TOUCH_MINOR = 0x31;
+    public static final int ABS_MT_WIDTH_MAJOR = 0x32;
+    public static final int ABS_MT_WIDTH_MINOR = 0x33;
+    public static final int ABS_MT_ORIENTATION = 0x34;
+    public static final int ABS_MT_POSITION_X = 0x35;
+    public static final int ABS_MT_POSITION_Y = 0x36;
+    public static final int ABS_MT_TOOL_TYPE = 0x37;
+    public static final int ABS_MT_BLOB_ID = 0x38;
     public static final int ABS_MAX = 0x3f;
 
+    public static final int SYN_REPORT = 0;
+    public static final int SYN_CONFIG = 1;
+    public static final int SYN_MT_REPORT = 2;
+    
     public int deviceId;
     public int type;
     public int scancode;
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index 829f68e..1dd0096 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -6913,7 +6913,7 @@
 
     /**
      * Set the background to a given resource. The resource should refer to
-     * a Drawable object.
+     * a Drawable object or 0 to remove the background.
      * @param resid The identifier of the resource.
      * @attr ref android.R.styleable#View_background
      */
diff --git a/core/java/android/webkit/BrowserFrame.java b/core/java/android/webkit/BrowserFrame.java
index e6ccd70..06581c1 100644
--- a/core/java/android/webkit/BrowserFrame.java
+++ b/core/java/android/webkit/BrowserFrame.java
@@ -615,6 +615,11 @@
         mCallbackProxy.onReceivedIcon(icon);
     }
 
+    // Called by JNI when an apple-touch-icon attribute was found.
+    private void didReceiveTouchIconUrl(String url) {
+        mCallbackProxy.onReceivedTouchIconUrl(url);
+    }
+
     /**
      * Request a new window from the client.
      * @return The BrowserFrame object stored in the new WebView.
diff --git a/core/java/android/webkit/CallbackProxy.java b/core/java/android/webkit/CallbackProxy.java
index ed77ce8..b2277cb 100644
--- a/core/java/android/webkit/CallbackProxy.java
+++ b/core/java/android/webkit/CallbackProxy.java
@@ -104,6 +104,7 @@
     private static final int ADD_MESSAGE_TO_CONSOLE              = 129;
     private static final int GEOLOCATION_PERMISSIONS_SHOW_PROMPT = 130;
     private static final int GEOLOCATION_PERMISSIONS_HIDE_PROMPT = 131;
+    private static final int RECEIVED_TOUCH_ICON_URL             = 132;
 
     // Message triggered by the client to resume execution
     private static final int NOTIFY                              = 200;
@@ -244,6 +245,13 @@
                 }
                 break;
 
+            case RECEIVED_TOUCH_ICON_URL:
+                if (mWebChromeClient != null) {
+                    mWebChromeClient.onReceivedTouchIconUrl(mWebView,
+                            (String) msg.obj);
+                }
+                break;
+
             case RECEIVED_TITLE:
                 if (mWebChromeClient != null) {
                     mWebChromeClient.onReceivedTitle(mWebView,
@@ -1054,6 +1062,21 @@
         sendMessage(obtainMessage(RECEIVED_ICON, icon));
     }
 
+    /* package */ void onReceivedTouchIconUrl(String url) {
+        // We should have a current item but we do not want to crash so check
+        // for null.
+        WebHistoryItem i = mBackForwardList.getCurrentItem();
+        if (i != null) {
+            i.setTouchIconUrl(url);
+        }
+        // Do an unsynchronized quick check to avoid posting if no callback has
+        // been set.
+        if (mWebChromeClient == null) {
+            return;
+        }
+        sendMessage(obtainMessage(RECEIVED_TOUCH_ICON_URL, url));
+    }
+
     public void onReceivedTitle(String title) {
         // Do an unsynchronized quick check to avoid posting if no callback has
         // been set.
diff --git a/core/java/android/webkit/CookieManager.java b/core/java/android/webkit/CookieManager.java
index c81c4b6..d188a39 100644
--- a/core/java/android/webkit/CookieManager.java
+++ b/core/java/android/webkit/CookieManager.java
@@ -197,7 +197,24 @@
 
     private static final class CookieComparator implements Comparator<Cookie> {
         public int compare(Cookie cookie1, Cookie cookie2) {
-            return cookie2.path.length() - cookie1.path.length();
+            // According to RFC 2109, multiple cookies are ordered in a way such
+            // that those with more specific Path attributes precede those with
+            // less specific. Ordering with respect to other attributes (e.g.,
+            // Domain) is unspecified.
+            // As Set is not modified if the two objects are same, we do want to
+            // assign different value for each cookie.
+            int diff = cookie2.path.length() - cookie1.path.length();
+            if (diff == 0) {
+                diff = cookie2.domain.length() - cookie1.domain.length();
+                if (diff == 0) {
+                    diff = cookie2.name.hashCode() - cookie1.name.hashCode();
+                    if (diff == 0) {
+                        Log.w(LOGTAG, "Found two cookies with the same value." +
+                                "cookie1=" + cookie1 + " , cookie2=" + cookie2);
+                    }
+                }
+            }
+            return diff;
         }
     }
 
diff --git a/core/java/android/webkit/JWebCoreJavaBridge.java b/core/java/android/webkit/JWebCoreJavaBridge.java
index 2d7376c..21bcdf17 100644
--- a/core/java/android/webkit/JWebCoreJavaBridge.java
+++ b/core/java/android/webkit/JWebCoreJavaBridge.java
@@ -186,6 +186,13 @@
     }
 
     /**
+     * Returns the path of the plugin data directory
+     */
+    private String getPluginSharedDataDirectory() {
+        return PluginManager.getInstance(null).getPluginSharedDataDirectory();
+    }
+
+    /**
      * setSharedTimer
      * @param timemillis The relative time when the timer should fire
      */
diff --git a/core/java/android/webkit/PluginManager.java b/core/java/android/webkit/PluginManager.java
index e4a44b92..370d3d2 100644
--- a/core/java/android/webkit/PluginManager.java
+++ b/core/java/android/webkit/PluginManager.java
@@ -154,4 +154,8 @@
         }
         return directories.toArray(new String[directories.size()]);
     }
+
+    String getPluginSharedDataDirectory() {
+        return mContext.getDir("plugins", 0).getPath();
+    }
 }
diff --git a/core/java/android/webkit/WebChromeClient.java b/core/java/android/webkit/WebChromeClient.java
index d52406d..c10bc97 100644
--- a/core/java/android/webkit/WebChromeClient.java
+++ b/core/java/android/webkit/WebChromeClient.java
@@ -45,6 +45,14 @@
     public void onReceivedIcon(WebView view, Bitmap icon) {}
 
     /**
+     * Notify the host application of the url for an apple-touch-icon.
+     * @param view The WebView that initiated the callback.
+     * @param url The icon url.
+     * @hide pending council approval
+     */
+    public void onReceivedTouchIconUrl(WebView view, String url) {}
+
+    /**
      * A callback interface used by the host application to notify
      * the current page that its custom view has been dismissed.
      *
diff --git a/core/java/android/webkit/WebHistoryItem.java b/core/java/android/webkit/WebHistoryItem.java
index fd26b98..abd8237 100644
--- a/core/java/android/webkit/WebHistoryItem.java
+++ b/core/java/android/webkit/WebHistoryItem.java
@@ -39,6 +39,8 @@
     private Bitmap mFavicon;
     // The pre-flattened data used for saving the state.
     private byte[] mFlattenedData;
+    // The apple-touch-icon url for use when adding the site to the home screen
+    private String mTouchIconUrl;
 
     /**
      * Basic constructor that assigns a unique id to the item. Called by JNI
@@ -127,6 +129,14 @@
     }
 
     /**
+     * Return the touch icon url.
+     * @hide
+     */
+    public String getTouchIconUrl() {
+        return mTouchIconUrl;
+    }
+
+    /**
      * Set the favicon.
      * @param icon A Bitmap containing the favicon for this history item.
      * Note: The VM ensures 32-bit atomic read/write operations so we don't have
@@ -137,6 +147,14 @@
     }
 
     /**
+     * Set the touch icon url.
+     * @hide
+     */
+    /*package*/ void setTouchIconUrl(String url) {
+        mTouchIconUrl = url;
+    }
+
+    /**
      * Get the pre-flattened data.
      * Note: The VM ensures 32-bit atomic read/write operations so we don't have
      * to synchronize this method.
diff --git a/core/java/android/webkit/WebSettings.java b/core/java/android/webkit/WebSettings.java
index b56f167..eeac1d2 100644
--- a/core/java/android/webkit/WebSettings.java
+++ b/core/java/android/webkit/WebSettings.java
@@ -157,12 +157,20 @@
     private boolean         mBlockNetworkLoads;
     private boolean         mJavaScriptEnabled = false;
     private boolean         mPluginsEnabled = false;
-    private long            mWebStorageDefaultQuota = 0;
     private boolean         mJavaScriptCanOpenWindowsAutomatically = false;
     private boolean         mUseDoubleTree = false;
     private boolean         mUseWideViewport = false;
     private boolean         mSupportMultipleWindows = false;
     private boolean         mShrinksStandaloneImagesToFit = false;
+    // HTML5 API flags
+    private boolean         mAppCacheEnabled = false;
+    private boolean         mDatabaseEnabled = false;
+    private boolean         mDomStorageEnabled = false;
+    private boolean         mWorkersEnabled = false;  // only affects V8.
+    // HTML5 configuration parameters
+    private long            mAppCacheMaxSize = Long.MAX_VALUE;
+    private String          mAppCachePath = "";
+    private String          mDatabasePath = "";
     // Don't need to synchronize the get/set methods as they
     // are basic types, also none of these values are used in
     // native WebCore code.
@@ -177,12 +185,7 @@
     private boolean         mSupportZoom = true;
     private boolean         mBuiltInZoomControls = false;
     private boolean         mAllowFileAccess = true;
-    private String          mDatabasePath = "";
-    private boolean         mDatabaseEnabled = false;
-    private String          mAppCachePath = "";
-    private boolean         mAppCacheEnabled = false;
-    private long            mAppCacheMaxSize = Long.MAX_VALUE;
-    private boolean         mDomStorageEnabled = false;
+    private boolean         mLoadWithOverviewMode = true;
 
     // Class to handle messages before WebCore is ready.
     private class EventHandler {
@@ -425,6 +428,22 @@
     }
 
     /**
+     * Set whether the WebView loads a page with overview mode.
+     * @hide Pending API council approval
+     */
+    public void setLoadWithOverviewMode(boolean overview) {
+        mLoadWithOverviewMode = overview;
+    }
+
+    /**
+     * Returns true if this WebView loads page with overview mode
+     * @hide Pending API council approval
+     */
+    public boolean getLoadWithOverviewMode() {
+        return mLoadWithOverviewMode;
+    }
+
+    /**
      * Store whether the WebView is saving form data.
      */
     public void setSaveFormData(boolean save) {
@@ -945,18 +964,6 @@
     }
 
     /**
-     * @hide
-     * Set the default quota for WebStorage DBs
-     * @param quota the default quota in bytes
-     */
-    public synchronized void setWebStorageDefaultQuota(long quota) {
-        if (mWebStorageDefaultQuota != quota) {
-            mWebStorageDefaultQuota = quota;
-            postSync();
-        }
-    }
-
-    /**
      * Set the path to where database storage API databases should be saved.
      * This will update WebCore when the Sync runs in the C++ side.
      * @param databasePath String path to the directory where databases should
@@ -1061,6 +1068,20 @@
     }
 
     /**
+     * Tell the WebView to enable WebWorkers API.
+     * @param flag True if the WebView should enable WebWorkers.
+     * Note that this flag only affects V8. JSC does not have
+     * an equivalent setting.
+     * @hide pending api council approval
+     */
+    public synchronized void setWorkersEnabled(boolean flag) {
+        if (mWorkersEnabled != flag) {
+            mWorkersEnabled = flag;
+            postSync();
+        }
+    }
+
+    /**
      * Return true if javascript is enabled. <b>Note: The default is false.</b>
      * @return True if javascript is enabled.
      */
@@ -1084,15 +1105,6 @@
     }
 
     /**
-     * @hide
-     * Return the default quota for WebStorage DBs
-     * @return the default quota in bytes
-     */
-    public synchronized long getWebStorageDefaultQuota() {
-        return mWebStorageDefaultQuota;
-    }
-
-    /**
      * Tell javascript to open windows automatically. This applies to the
      * javascript function window.open().
      * @param flag True if javascript can open windows automatically.
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index 3b81eed..2d87dd2 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -508,16 +508,13 @@
         "REQUEST_KEYBOARD" //                = 27;
     };
 
-    // width which view is considered to be fully zoomed out
-    static final int ZOOM_OUT_WIDTH = 1008;
-
     // default scale limit. Depending on the display density
     private static float DEFAULT_MAX_ZOOM_SCALE;
     private static float DEFAULT_MIN_ZOOM_SCALE;
     // scale limit, which can be set through viewport meta tag in the web page
     private float mMaxZoomScale;
     private float mMinZoomScale;
-    private boolean mMinZoomScaleFixed = false;
+    private boolean mMinZoomScaleFixed = true;
 
     // initial scale in percent. 0 means using default.
     private int mInitialScale = 0;
@@ -529,7 +526,7 @@
     boolean mInZoomOverview = false;
     // ideally mZoomOverviewWidth should be mContentWidth. But sites like espn,
     // engadget always have wider mContentWidth no matter what viewport size is.
-    int mZoomOverviewWidth = 0;
+    int mZoomOverviewWidth = WebViewCore.DEFAULT_VIEWPORT_WIDTH;
     float mLastScale;
 
     // default scale. Depending on the display density.
@@ -2003,6 +2000,15 @@
     }
 
     /**
+     * Get the touch icon url for the apple-touch-icon <link> element.
+     * @hide
+     */
+    public String getTouchIconUrl() {
+        WebHistoryItem h = mCallbackProxy.getBackForwardList().getCurrentItem();
+        return h != null ? h.getTouchIconUrl() : null;
+    }
+
+    /**
      * Get the progress for the current page.
      * @return The progress for the current page between 0 and 100.
      */
@@ -3677,9 +3683,8 @@
         // update mMinZoomScale if the minimum zoom scale is not fixed
         if (!mMinZoomScaleFixed) {
             mMinZoomScale = (float) getViewWidth()
-                    / Math.max(ZOOM_OUT_WIDTH, mDrawHistory ? mHistoryPicture
-                            .getWidth() : (mZoomOverviewWidth > 0 ?
-                                    mZoomOverviewWidth : mContentWidth));
+                    / (mDrawHistory ? mHistoryPicture.getWidth()
+                            : mZoomOverviewWidth);
         }
 
         // we always force, in case our height changed, in which case we still
@@ -4555,10 +4560,18 @@
     public boolean zoomOut() {
         // TODO: alternatively we can disallow this during draw history mode
         switchOutDrawHistory();
-        // Center zooming to the center of the screen.
-        mZoomCenterX = getViewWidth() * .5f;
-        mZoomCenterY = getViewHeight() * .5f;
-        return zoomWithPreview(mActualScale * 0.8f);
+        float scale = mActualScale * 0.8f;
+        if (scale < (mMinZoomScale + 0.1f) && WebView.ENABLE_DOUBLETAP_ZOOM
+                && mWebViewCore.getSettings().getUseWideViewPort()) {
+            // when zoom out to min scale, switch to overview mode
+            doDoubleTap();
+            return true;
+        } else {
+            // Center zooming to the center of the screen.
+            mZoomCenterX = getViewWidth() * .5f;
+            mZoomCenterY = getViewHeight() * .5f;
+            return zoomWithPreview(scale);
+        }
     }
 
     private void updateSelection() {
@@ -4657,14 +4670,6 @@
         mZoomCenterY = mLastTouchY;
         mInZoomOverview = !mInZoomOverview;
         if (mInZoomOverview) {
-            float newScale = (float) getViewWidth()
-                    / (mZoomOverviewWidth > 0 ? mZoomOverviewWidth
-                            : mContentWidth);
-            if (Math.abs(newScale - mActualScale) < 0.01) {
-                mInZoomOverview = !mInZoomOverview;
-                // as it is already full screen, do nothing.
-                return;
-            }
             if (getSettings().getBuiltInZoomControls()) {
                 if (mZoomButtonsController.isVisible()) {
                     mZoomButtonsController.setVisible(false);
@@ -4677,7 +4682,7 @@
                     mZoomControls.hide();
                 }
             }
-            zoomWithPreview(newScale);
+            zoomWithPreview((float) getViewWidth() / mZoomOverviewWidth);
         } else {
             // mLastTouchX and mLastTouchY are the point in the current viewport
             int contentX = viewToContent((int) mLastTouchX + mScrollX);
@@ -4983,14 +4988,14 @@
                 case SPAWN_SCROLL_TO_MSG_ID:
                     spawnContentScrollTo(msg.arg1, msg.arg2);
                     break;
-                case NEW_PICTURE_MSG_ID:
+                case NEW_PICTURE_MSG_ID: {
+                    WebSettings settings = mWebViewCore.getSettings();
                     // called for new content
                     final int viewWidth = getViewWidth();
                     final WebViewCore.DrawData draw =
                             (WebViewCore.DrawData) msg.obj;
                     final Point viewSize = draw.mViewPoint;
-                    boolean useWideViewport =
-                            mWebViewCore.getSettings().getUseWideViewPort();
+                    boolean useWideViewport = settings.getUseWideViewPort();
                     WebViewCore.RestoreState restoreState = draw.mRestoreState;
                     if (restoreState != null) {
                         mInZoomOverview = false;
@@ -5008,7 +5013,8 @@
                             mMaxZoomScale = restoreState.mMaxScale;
                         }
                         if (useWideViewport && restoreState.mViewScale == 0) {
-                            mInZoomOverview = ENABLE_DOUBLETAP_ZOOM;
+                            mInZoomOverview = ENABLE_DOUBLETAP_ZOOM
+                                    && settings.getLoadWithOverviewMode();
                         }
                         setNewZoomScale(mLastScale, false);
                         setContentScrollTo(restoreState.mScrollX,
@@ -5041,21 +5047,19 @@
                                 draw.mViewPoint.x);
                     }
                     if (!mMinZoomScaleFixed) {
-                        mMinZoomScale = (float) viewWidth
-                                / Math.max(ZOOM_OUT_WIDTH,
-                                mZoomOverviewWidth > 0 ? mZoomOverviewWidth
-                                        : mContentWidth);
+                        mMinZoomScale = (float) viewWidth / mZoomOverviewWidth;
                     }
                     if (!mDrawHistory && mInZoomOverview) {
                         // fit the content width to the current view. Ignore
                         // the rounding error case.
                         if (Math.abs((viewWidth * mInvActualScale)
                                 - mZoomOverviewWidth) > 1) {
-                            zoomWithPreview((float) viewWidth
-                                    / mZoomOverviewWidth);
+                            setNewZoomScale((float) viewWidth
+                                    / mZoomOverviewWidth, false);
                         }
                     }
                     break;
+                }
                 case WEBCORE_INITIALIZED_MSG_ID:
                     // nativeCreate sets mNativeClass to a non-zero value
                     nativeCreate(msg.arg1);
diff --git a/core/java/android/webkit/WebViewCore.java b/core/java/android/webkit/WebViewCore.java
index 7cfe5b5..86b0843 100644
--- a/core/java/android/webkit/WebViewCore.java
+++ b/core/java/android/webkit/WebViewCore.java
@@ -105,6 +105,10 @@
     private int mWebkitScrollX = 0;
     private int mWebkitScrollY = 0;
 
+    // If the site doesn't use viewport meta tag to specify the viewport, use
+    // DEFAULT_VIEWPORT_WIDTH as default viewport width
+    static final int DEFAULT_VIEWPORT_WIDTH = 800;
+
     // The thread name used to identify the WebCore thread and for use in
     // debugging other classes that require operation within the WebCore thread.
     /* package */ static final String THREAD_NAME = "WebViewCoreThread";
@@ -1419,7 +1423,7 @@
             if (mViewportWidth == -1) {
                 if (mSettings.getLayoutAlgorithm() ==
                         WebSettings.LayoutAlgorithm.NORMAL) {
-                    width = WebView.ZOOM_OUT_WIDTH;
+                    width = DEFAULT_VIEWPORT_WIDTH;
                 } else {
                     /*
                      * if a page's minimum preferred width is wider than the
@@ -1433,7 +1437,8 @@
                      * In the worse case, the native width will be adjusted when
                      * next zoom or screen orientation change happens.
                      */
-                    width = Math.max(w, nativeGetContentMinPrefWidth());
+                    width = Math.max(w, Math.max(DEFAULT_VIEWPORT_WIDTH,
+                            nativeGetContentMinPrefWidth()));
                 }
             } else {
                 width = Math.max(w, mViewportWidth);
@@ -1530,7 +1535,8 @@
             // layout.
             draw.mViewPoint = new Point(mCurrentViewWidth, mCurrentViewHeight);
             if (WebView.ENABLE_DOUBLETAP_ZOOM && mSettings.getUseWideViewPort()) {
-                draw.mMinPrefWidth = nativeGetContentMinPrefWidth();
+                draw.mMinPrefWidth = Math.max(DEFAULT_VIEWPORT_WIDTH,
+                        nativeGetContentMinPrefWidth());
             }
             if (mRestoreState != null) {
                 draw.mRestoreState = mRestoreState;
@@ -1991,14 +1997,16 @@
             implements SurfaceHolder.Callback {
         private final ViewManager.ChildView mChildView;
         private int mPointer;
+        private final boolean mIsFixedSize;
         SurfaceViewProxy(Context context, ViewManager.ChildView childView,
-                int pointer) {
+                int pointer, boolean isFixedSize) {
             super(context);
             setWillNotDraw(false); // this prevents the black box artifact
             getHolder().addCallback(this);
             mChildView = childView;
             mChildView.mView = this;
             mPointer = pointer;
+            mIsFixedSize = isFixedSize;
         }
         void destroy() {
             mPointer = 0;
@@ -2006,6 +2014,10 @@
         }
         void attach(int x, int y, int width, int height) {
             mChildView.attachView(x, y, width, height);
+
+            if (mIsFixedSize) {
+                getHolder().setFixedSize(width, height);
+            }
         }
 
         // SurfaceHolder.Callback methods
@@ -2029,12 +2041,12 @@
 
     // PluginWidget functions for mainting SurfaceViews for the Surface drawing
     // model.
-    private SurfaceView createSurface(int nativePointer) {
+    private SurfaceView createSurface(int nativePointer, boolean isFixedSize) {
         if (mWebView == null) {
             return null;
         }
         return new SurfaceViewProxy(mContext,
-                mWebView.mViewManager.createView(), nativePointer);
+                mWebView.mViewManager.createView(), nativePointer, isFixedSize);
     }
 
     private void destroySurface(SurfaceView surface) {
diff --git a/core/java/android/widget/AutoCompleteTextView.java b/core/java/android/widget/AutoCompleteTextView.java
index ea88b5b..d821a7d 100644
--- a/core/java/android/widget/AutoCompleteTextView.java
+++ b/core/java/android/widget/AutoCompleteTextView.java
@@ -848,6 +848,16 @@
         return ListView.INVALID_POSITION;
     }
 
+
+    /**
+     * @hide
+     * @return {@link android.widget.ListView#getChildCount()} of the drop down if it is showing,
+     *         otherwise 0.
+     */
+    protected int getDropDownChildCount() {
+        return mDropDownList == null ? 0 : mDropDownList.getChildCount();
+    }
+
     /**
      * <p>Starts filtering the content of the drop down list. The filtering
      * pattern is the content of the edit box. Subclasses should override this
diff --git a/core/java/android/widget/ListView.java b/core/java/android/widget/ListView.java
index 515b581..02a137d 100644
--- a/core/java/android/widget/ListView.java
+++ b/core/java/android/widget/ListView.java
@@ -3264,12 +3264,13 @@
         if (mChoiceMode == CHOICE_MODE_MULTIPLE) {
             mCheckStates.put(position, value);
         } else {
-            // Clear the old value: if something was selected and value == false
-            // then it is unselected
-            mCheckStates.clear();
-            // If value == true, select the appropriate position
+            // Clear all values if we're checking something, or unchecking the currently
+            // selected item
+            if (value || isItemChecked(position)) {
+                mCheckStates.clear();
+            }
             // this may end up selecting the value we just cleared but this way
-            // we don't have to first to a get(position)
+            // we ensure length of mCheckStates is 1, a fact getCheckedItemPosition relies on
             if (value) {
                 mCheckStates.put(position, true);
             }
diff --git a/core/java/com/android/internal/widget/ContactHeaderWidget.java b/core/java/com/android/internal/widget/ContactHeaderWidget.java
index ccb537a..45bd0cf 100644
--- a/core/java/com/android/internal/widget/ContactHeaderWidget.java
+++ b/core/java/com/android/internal/widget/ContactHeaderWidget.java
@@ -21,9 +21,11 @@
 import android.content.ContentUris;
 import android.content.ContentValues;
 import android.content.Context;
+import android.content.Intent;
 import android.database.Cursor;
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
+import android.graphics.Rect;
 import android.net.Uri;
 import android.os.Handler;
 import android.os.Message;
@@ -31,6 +33,7 @@
 import android.provider.SocialContract;
 import android.provider.ContactsContract.Contacts;
 import android.provider.ContactsContract.Data;
+import android.provider.ContactsContract.Intents;
 import android.provider.ContactsContract.PhoneLookup;
 import android.provider.ContactsContract.RawContacts;
 import android.provider.ContactsContract.CommonDataKinds.Photo;
@@ -123,12 +126,14 @@
 
         mDisplayNameView = (TextView) findViewById(R.id.name);
         mPhoneticNameView = (TextView) findViewById(R.id.phonetic_name);
-        mStarredView = (CheckBox) findViewById(R.id.star);
+
+        mStarredView = (CheckBox)findViewById(R.id.star);
         mStarredView.setOnClickListener(this);
-        // Don't show start by default.
-        mStarredView.setVisibility(View.GONE);
-        mPhotoView = (ImageView) findViewById(R.id.photo);
-        mStatusView = (TextView) findViewById(R.id.status);
+
+        mPhotoView = (ImageView)findViewById(R.id.photo);
+        mPhotoView.setOnClickListener(this);
+
+        mStatusView = (TextView)findViewById(R.id.status);
 
         // Set the photo with a random "no contact" image
         long now = SystemClock.elapsedRealtime();
@@ -310,13 +315,38 @@
     }
 
     public void onClick(View view) {
-        if (view.getId() == R.id.star) {
-            ContentValues values = new ContentValues(1);
-            values.put(Contacts.STARRED, mStarredView.isChecked());
-            mContentResolver.update(mContactUri, values, null, null);
+        switch (view.getId()) {
+            case R.id.star: {
+                // Toggle "starred" state
+                final ContentValues values = new ContentValues(1);
+                values.put(Contacts.STARRED, mStarredView.isChecked());
+                mContentResolver.update(mContactUri, values, null, null);
+                break;
+            }
+            case R.id.photo: {
+                // Photo launches contact detail action
+                final Intent intent = new Intent(Intents.SHOW_OR_CREATE_CONTACT, mContactUri);
+                final Rect target = getTargetRect(view);
+                intent.putExtra(Intents.EXTRA_TARGET_RECT, target);
+                intent.putExtra(Intents.EXTRA_MODE, Intents.MODE_SMALL);
+                mContext.startActivity(intent);
+                break;
+            }
         }
     }
 
+    private Rect getTargetRect(View anchor) {
+        final int[] location = new int[2];
+        anchor.getLocationOnScreen(location);
+
+        final Rect rect = new Rect();
+        rect.left = location[0];
+        rect.top = location[1];
+        rect.right = rect.left + anchor.getWidth();
+        rect.bottom = rect.top + anchor.getHeight();
+        return rect;
+    }
+
     private Bitmap loadContactPhoto(long photoId, BitmapFactory.Options options) {
         Cursor photoCursor = null;
         Bitmap photoBm = null;
diff --git a/core/java/com/android/internal/widget/LockPatternView.java b/core/java/com/android/internal/widget/LockPatternView.java
index 53be891..cfcf111 100644
--- a/core/java/com/android/internal/widget/LockPatternView.java
+++ b/core/java/com/android/internal/widget/LockPatternView.java
@@ -581,14 +581,14 @@
                     mInProgressX = x;
                     mInProgressY = y;
 
-                    if (mPatternInProgress) {
+                    if (mPatternInProgress && patternSize > 0) {
                         final ArrayList<Cell> pattern = mPattern;
                         final float radius = mSquareWidth * mDiameterFactor * 0.5f;
 
-                        Cell cell = pattern.get(patternSize - 1);
+                        final Cell lastCell = pattern.get(patternSize - 1);
 
-                        float startX = getCenterXForColumn(cell.column);
-                        float startY = getCenterYForRow(cell.row);
+                        float startX = getCenterXForColumn(lastCell.column);
+                        float startY = getCenterYForRow(lastCell.row);
 
                         float left;
                         float top;
diff --git a/core/java/com/google/android/gdata2/client/AndroidGDataClient.java b/core/java/com/google/android/gdata2/client/AndroidGDataClient.java
index b55ade3..6ba791d 100644
--- a/core/java/com/google/android/gdata2/client/AndroidGDataClient.java
+++ b/core/java/com/google/android/gdata2/client/AndroidGDataClient.java
@@ -15,6 +15,8 @@
 import org.apache.http.HttpEntity;
 import org.apache.http.HttpResponse;
 import org.apache.http.StatusLine;
+import org.apache.http.params.HttpParams;
+import org.apache.http.params.BasicHttpParams;
 import org.apache.http.client.methods.HttpGet;
 import org.apache.http.client.methods.HttpPost;
 import org.apache.http.client.methods.HttpUriRequest;
@@ -211,7 +213,7 @@
         HttpResponse response = null;
         int status = 500;
         int redirectsLeft = MAX_REDIRECTS;
-
+        
         URI uri;
         try {
             uri = new URI(uriString);
@@ -238,12 +240,16 @@
             // while by default we have a 2.0 in this variable, it is possible to construct
             // a client that has an empty version field, to work with 1.0 services. 
             if (!TextUtils.isEmpty(mGDataVersion)) {
-                request.addHeader("GData-Version", mGDataVersion);
+                request.addHeader("GDataVersion", mGDataVersion);
             }
 
             // if we have a passed down eTag value, we need to add several headers
             if (!TextUtils.isEmpty(eTag)) { 
                 String method = request.getMethod();
+                Header overrideMethodHeader = request.getFirstHeader(X_HTTP_METHOD_OVERRIDE);
+                if (overrideMethodHeader != null) {
+                    method = overrideMethodHeader.getValue();
+                }
                 if ("GET".equals(method)) {
                     // add the none match header, if the resource is not changed
                     // this request will result in a 304 now.
@@ -252,13 +258,12 @@
                            || "PUT".equals(method)) {
                     // now we send an if-match, but only if the passed in eTag is a strong eTag
                     // as this only makes sense for a strong eTag
-                     if (eTag.startsWith("W/") == false) {
-                         request.addHeader("If-Match", eTag);
-                     }
+                    if (!eTag.startsWith("W/")) {
+                        request.addHeader("If-Match", eTag);
+                    }
                 }
             }
 
-
             if (LOCAL_LOGV) {
                 for (Header h : request.getAllHeaders()) {
                     Log.v(TAG, h.getName() + ": " + h.getValue());
diff --git a/core/jni/android_location_GpsLocationProvider.cpp b/core/jni/android_location_GpsLocationProvider.cpp
index bf0bd65..90a0487 100755
--- a/core/jni/android_location_GpsLocationProvider.cpp
+++ b/core/jni/android_location_GpsLocationProvider.cpp
@@ -32,6 +32,7 @@
 static jmethodID method_reportStatus;
 static jmethodID method_reportSvStatus;
 static jmethodID method_reportAGpsStatus;
+static jmethodID method_reportNmea;
 static jmethodID method_xtraDownloadRequest;
 
 static const GpsInterface* sGpsInterface = NULL;
@@ -44,12 +45,23 @@
 static GpsSvStatus  sGpsSvStatus;
 static AGpsStatus   sAGpsStatus;
 
+// buffer for NMEA data
+#define NMEA_SENTENCE_LENGTH    100
+#define NMEA_SENTENCE_COUNT     40
+struct NmeaSentence {
+    GpsUtcTime  timestamp;
+    char        nmea[NMEA_SENTENCE_LENGTH];
+};
+static NmeaSentence sNmeaBuffer[NMEA_SENTENCE_LENGTH];
+static int mNmeaSentenceCount = 0;
+
 // a copy of the data shared by android_location_GpsLocationProvider_wait_for_event
 // and android_location_GpsLocationProvider_read_status
 static GpsLocation  sGpsLocationCopy;
 static GpsStatus    sGpsStatusCopy;
 static GpsSvStatus  sGpsSvStatusCopy;
 static AGpsStatus   sAGpsStatusCopy;
+static NmeaSentence sNmeaBufferCopy[NMEA_SENTENCE_LENGTH];
 
 enum CallbackType {
     kLocation = 1,
@@ -58,6 +70,7 @@
     kAGpsStatus = 8,
     kXtraDownloadRequest = 16,
     kDisableRequest = 32,
+    kNmeaAvailable = 64,
 }; 
 static int sPendingCallbacks;
 
@@ -96,6 +109,30 @@
     pthread_mutex_unlock(&sEventMutex);
 }
 
+static void nmea_callback(GpsUtcTime timestamp, const char* nmea, int length)
+{
+    pthread_mutex_lock(&sEventMutex);
+
+    if (length >= NMEA_SENTENCE_LENGTH) {
+        LOGE("NMEA data too long in nmea_callback (length = %d)\n", length);
+        length = NMEA_SENTENCE_LENGTH - 1;
+    }
+    if (mNmeaSentenceCount >= NMEA_SENTENCE_COUNT) {
+        LOGE("NMEA data overflowed buffer\n");
+        pthread_mutex_unlock(&sEventMutex);
+        return;
+    }
+
+    sPendingCallbacks |= kNmeaAvailable;
+    sNmeaBuffer[mNmeaSentenceCount].timestamp = timestamp;
+    memcpy(sNmeaBuffer[mNmeaSentenceCount].nmea, nmea, length);
+    sNmeaBuffer[mNmeaSentenceCount].nmea[length] = 0;
+    mNmeaSentenceCount++;
+
+    pthread_cond_signal(&sEventCond);
+    pthread_mutex_unlock(&sEventMutex);
+}
+
 static void agps_status_callback(AGpsStatus* agps_status)
 {
     pthread_mutex_lock(&sEventMutex);
@@ -111,6 +148,7 @@
     location_callback,
     status_callback,
     sv_status_callback,
+    nmea_callback
 };
 
 static void
@@ -135,6 +173,7 @@
     method_reportStatus = env->GetMethodID(clazz, "reportStatus", "(I)V");
     method_reportSvStatus = env->GetMethodID(clazz, "reportSvStatus", "()V");
     method_reportAGpsStatus = env->GetMethodID(clazz, "reportAGpsStatus", "(II)V");
+    method_reportNmea = env->GetMethodID(clazz, "reportNmea", "(IJ)V");
     method_xtraDownloadRequest = env->GetMethodID(clazz, "xtraDownloadRequest", "()V");
 }
 
@@ -200,13 +239,21 @@
     // copy and clear the callback flags
     int pendingCallbacks = sPendingCallbacks;
     sPendingCallbacks = 0;
+    int nmeaSentenceCount = mNmeaSentenceCount;
+    mNmeaSentenceCount = 0;
     
     // copy everything and unlock the mutex before calling into Java code to avoid the possibility
     // of timeouts in the GPS engine.
-    memcpy(&sGpsLocationCopy, &sGpsLocation, sizeof(sGpsLocationCopy));
-    memcpy(&sGpsStatusCopy, &sGpsStatus, sizeof(sGpsStatusCopy));
-    memcpy(&sGpsSvStatusCopy, &sGpsSvStatus, sizeof(sGpsSvStatusCopy));
-    memcpy(&sAGpsStatusCopy, &sAGpsStatus, sizeof(sAGpsStatusCopy));
+    if (pendingCallbacks & kLocation)
+        memcpy(&sGpsLocationCopy, &sGpsLocation, sizeof(sGpsLocationCopy));
+    if (pendingCallbacks & kStatus)
+        memcpy(&sGpsStatusCopy, &sGpsStatus, sizeof(sGpsStatusCopy));
+    if (pendingCallbacks & kSvStatus)
+        memcpy(&sGpsSvStatusCopy, &sGpsSvStatus, sizeof(sGpsSvStatusCopy));
+    if (pendingCallbacks & kAGpsStatus)
+        memcpy(&sAGpsStatusCopy, &sAGpsStatus, sizeof(sAGpsStatusCopy));
+    if (pendingCallbacks & kNmeaAvailable)
+        memcpy(&sNmeaBufferCopy, &sNmeaBuffer, nmeaSentenceCount * sizeof(sNmeaBuffer[0]));
     pthread_mutex_unlock(&sEventMutex);   
 
     if (pendingCallbacks & kLocation) { 
@@ -225,6 +272,11 @@
     if (pendingCallbacks & kAGpsStatus) {
         env->CallVoidMethod(obj, method_reportAGpsStatus, sAGpsStatusCopy.type, sAGpsStatusCopy.status);
     }  
+    if (pendingCallbacks & kNmeaAvailable) {
+        for (int i = 0; i < nmeaSentenceCount; i++) {
+            env->CallVoidMethod(obj, method_reportNmea, i, sNmeaBuffer[i].timestamp);
+        }
+    }
     if (pendingCallbacks & kXtraDownloadRequest) {    
         env->CallVoidMethod(obj, method_xtraDownloadRequest);
     }
@@ -264,6 +316,21 @@
     return num_svs;
 }
 
+static jint android_location_GpsLocationProvider_read_nmea(JNIEnv* env, jobject obj, jint index, jbyteArray nmeaArray, jint buffer_size)
+{
+    // this should only be called from within a call to reportStatus, so we don't need to lock here
+
+    jbyte* nmea = env->GetByteArrayElements(nmeaArray, 0);
+
+    int length = strlen(sNmeaBuffer[index].nmea);
+    if (length > buffer_size)
+        length = buffer_size;
+    memcpy(nmea, sNmeaBuffer[index].nmea, length);
+
+    env->ReleaseByteArrayElements(nmeaArray, nmea, 0);
+    return length;
+}
+
 static void android_location_GpsLocationProvider_inject_time(JNIEnv* env, jobject obj, jlong time, 
         jlong timeReference, jint uncertainty)
 {
@@ -360,6 +427,7 @@
     {"native_delete_aiding_data", "(I)V", (void*)android_location_GpsLocationProvider_delete_aiding_data},
     {"native_wait_for_event", "()V", (void*)android_location_GpsLocationProvider_wait_for_event},
     {"native_read_sv_status", "([I[F[F[F[I)I", (void*)android_location_GpsLocationProvider_read_sv_status},
+    {"native_read_nmea", "(I[BI)I", (void*)android_location_GpsLocationProvider_read_nmea},
     {"native_inject_time", "(JJI)V", (void*)android_location_GpsLocationProvider_inject_time},
     {"native_inject_location", "(DDF)V", (void*)android_location_GpsLocationProvider_inject_location},
     {"native_supports_xtra", "()Z", (void*)android_location_GpsLocationProvider_supports_xtra},
diff --git a/core/jni/android_net_wifi_Wifi.cpp b/core/jni/android_net_wifi_Wifi.cpp
index 70b7da1..38f3fda 100644
--- a/core/jni/android_net_wifi_Wifi.cpp
+++ b/core/jni/android_net_wifi_Wifi.cpp
@@ -324,6 +324,13 @@
     // number we're interested in.  if we're associating, it returns "OK".
     // beware - <SSID> can contain spaces.
     if (strcmp(reply, "OK") != 0) {
+        // beware of trailing spaces
+        char* end = reply + strlen(reply);
+        while (end > reply && end[-1] == ' ') {
+            end--;
+        }
+        *end = 0;
+
         char* lastSpace = strrchr(reply, ' ');
         // lastSpace should be preceded by "rssi" and followed by the value
         if (lastSpace && !strncmp(lastSpace - 4, "rssi", 4)) {
diff --git a/core/jni/android_util_Process.cpp b/core/jni/android_util_Process.cpp
index 09a0d70..723fd4b 100644
--- a/core/jni/android_util_Process.cpp
+++ b/core/jni/android_util_Process.cpp
@@ -251,10 +251,27 @@
     }
 
     while ((de = readdir(d))) {
+        int t_pid;
+        int t_pri;
+
         if (de->d_name[0] == '.')
             continue;
+        t_pid = atoi(de->d_name);
 
-        if (add_pid_to_cgroup(atoi(de->d_name), grp)) {
+        if (!t_pid) {
+            LOGE("Error getting pid for '%s'\n", de->d_name);
+            continue;
+        }
+
+        t_pri = getpriority(PRIO_PROCESS, t_pid);
+
+        if (grp == ANDROID_TGROUP_DEFAULT &&
+            t_pri >= ANDROID_PRIORITY_BACKGROUND) {
+            // This task wants to stay at background
+            continue;
+        }
+     
+        if (add_pid_to_cgroup(t_pid, grp)) {
             // If the thread exited on us, ignore it and keep going
             if (errno != ESRCH && errno != ENOENT) {
                 signalExceptionForGroupError(env, clazz, errno);
diff --git a/core/res/res/layout/contact_header.xml b/core/res/res/layout/contact_header.xml
index 04b34b8..06cd38c 100644
--- a/core/res/res/layout/contact_header.xml
+++ b/core/res/res/layout/contact_header.xml
@@ -48,9 +48,11 @@
                 
     </LinearLayout>
 
-    <CheckBox android:id="@+id/star"
-        style="?android:attr/starStyle"
+    <CheckBox
+        android:id="@+id/star"
         android:layout_width="wrap_content"
-        android:layout_height="wrap_content"/>
+        android:layout_height="wrap_content"
+        android:visibility="gone"
+        style="?android:attr/starStyle" />
 
-</LinearLayout>
\ No newline at end of file
+</LinearLayout>
diff --git a/core/res/res/raw/loaderror.html b/core/res/res/raw/loaderror.html
index 359a1e7..fd3d766 100644
--- a/core/res/res/raw/loaderror.html
+++ b/core/res/res/raw/loaderror.html
@@ -1,5 +1,6 @@
 <html>
     <head>
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"/>
         <title>Web page not available</title>
         <style type="text/css">
             body { margin-top: 0px; padding-top: 0px; }
diff --git a/core/res/res/raw/nodomain.html b/core/res/res/raw/nodomain.html
index 7a107fb..a71dbcd 100644
--- a/core/res/res/raw/nodomain.html
+++ b/core/res/res/raw/nodomain.html
@@ -1,5 +1,6 @@
 <html>
     <head>
+        <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"/>
         <title>Web page not available</title>
         <style type="text/css">
             body { margin-top: 0px; padding-top: 0px; }
diff --git a/core/res/res/values-ru/donottranslate-cldr.xml b/core/res/res/values-ru/donottranslate-cldr.xml
index 7745944..4870124 100644
--- a/core/res/res/values-ru/donottranslate-cldr.xml
+++ b/core/res/res/values-ru/donottranslate-cldr.xml
@@ -27,18 +27,18 @@
     <string name="month_long_november">ноября</string>
     <string name="month_long_december">декабря</string>
 
-    <string name="month_medium_january">янв.</string>
-    <string name="month_medium_february">февр.</string>
-    <string name="month_medium_march">марта</string>
-    <string name="month_medium_april">апр.</string>
-    <string name="month_medium_may">мая</string>
-    <string name="month_medium_june">июня</string>
-    <string name="month_medium_july">июля</string>
-    <string name="month_medium_august">авг.</string>
-    <string name="month_medium_september">сент.</string>
-    <string name="month_medium_october">окт.</string>
-    <string name="month_medium_november">нояб.</string>
-    <string name="month_medium_december">дек.</string>
+    <string name="month_medium_january">янв</string>
+    <string name="month_medium_february">фев</string>
+    <string name="month_medium_march">мар</string>
+    <string name="month_medium_april">апр</string>
+    <string name="month_medium_may">май</string>
+    <string name="month_medium_june">июн</string>
+    <string name="month_medium_july">июл</string>
+    <string name="month_medium_august">авг</string>
+    <string name="month_medium_september">сен</string>
+    <string name="month_medium_october">окт</string>
+    <string name="month_medium_november">ноя</string>
+    <string name="month_medium_december">дек</string>
 
     <string name="month_shortest_january">Я</string>
     <string name="month_shortest_february">Ф</string>
diff --git a/docs/html/guide/appendix/api-levels.jd b/docs/html/guide/appendix/api-levels.jd
index 9af0918..8fc899b 100644
--- a/docs/html/guide/appendix/api-levels.jd
+++ b/docs/html/guide/appendix/api-levels.jd
@@ -44,15 +44,17 @@
 Level for each platform available in the SDK. Also see the comparison of 
 <a href="#VersionsVsApiLevels">Platform Versions vs. API Levels</a>, below.</p>
 
-<p class="note"><strong>Note:</strong> During "preview" SDK releases, there may not yet be an official platform version
-or API Level number specified. In these cases, a string value equal to the
-current codename will be a valid value for <code>minSdkVersion</code>, instead of an integer. This codename value
-will only be valid while using the preview SDK. When the final SDK is released, you must update your manifest to use
+<p class="note"><strong>Note:</strong> During an "Early Look" SDK release, the APIs may not be final, so the
+API Level number cannot be specified. In this case, a string value matching the
+platform codename must be used as the value for <code>minSdkVersion</code>. This codename value
+will only be valid while using the Early Look SDK with the emulator. An application using this API Level
+can never be installed on an Android device. When the final SDK is released, you must update your manifest to use
 the official API Level integer.</p>
 
 <h2 id="VersionsVsApiLevels">Platform Versions vs. API Levels</h2>
 
-<p>The following table specifies the <em>maximum</em> API Level supported by each version of the Android platform.</p>
+<p>The following table specifies the <em>maximum</em> API Level supported by each version of the Android platform.
+(Every platform is backward-compatible to API Level 1.)</p>
 
 <table>
   <tr><th>Platform Version</th><th>API Level</th></tr>
@@ -72,7 +74,7 @@
 This means that the reference assumes you're using the latest API Level and will show you everything available
 with it. If you're developing applications for a version of Android that does not support the latest API Level, 
 then you can filter the reference to reveal only the packages, classes, and members available for that API Level.
-When viewing the reference, use the "Filter by API Level" selection box (below the search bar) to pick the API Level
+When viewing the reference, use the "Filter by API Level" selection box (below the search box) to pick the API Level
 you'd like to view.</p>
 
 
diff --git a/docs/html/guide/developing/eclipse-adt.jd b/docs/html/guide/developing/eclipse-adt.jd
index 3b3bb38..a5cf735 100644
--- a/docs/html/guide/developing/eclipse-adt.jd
+++ b/docs/html/guide/developing/eclipse-adt.jd
@@ -135,7 +135,7 @@
 
 <h2 id="Running">Running Your Application</h2>
 
-<p><em>Wait!</em> Before you can run your application on the Android Emulator, 
+<p>Before you can run your application on the Android Emulator, 
 you <strong>must</strong> create an Android Virtual Device (AVD). 
 An AVD is a configuration that specifies the Android platform to be used on the emulator.
 You can read more in the <a href="{@docRoot}guide/developing/tools/avd.html">Android Virtual
@@ -149,45 +149,31 @@
 
 <h3 id="CreatingAnAvd">Creating an AVD</h3>
 
-<p>To avoid some explanation that's beyond the scope of this document, here's the 
-basic procedure to create an AVD:</p>
+<p>With ADT 0.9.2 and above, the Android AVD Manager provides a simple graphical interface
+for creating and managing AVDs. (If you're using ADT version 0.9.1 or older, you must 
+use the <code>android</code> tool to create your AVDs&mdash;read the AVD guide to
+<a href="{@docRoot}guide/developing/tools/avd.html#creating">Creating an AVD</a>.)
+
+<p>To create an AVD with the Android AVD Manager:</p>
 
 <ol>
-  <li>Open a command-line (e.g.,"Command Prompt" application on Windows, or "Terminal"
-  on Mac/Linux) and navigate to your SDK package's 
-  <code>tools/</code> directory.</li>
-  <li>First, you need to select a Deployment Target. To view available targets, execute:
-    <pre>android list targets</pre>
-    <p>This will output a list of available Android targets, such as:</p>
-<pre>
-id:1
-    Name: Android 1.1
-    Type: platform
-    API level: 2
-    Skins: HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-P
-id:2
-    Name: Android 1.5
-    Type: platform
-    API level: 3
-    Skins: HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-P
-</pre>
-    <p>Find the target that matches the Android platform upon which you'd like
-    to run your application. Note the integer value of the <code>id</code> &mdash;
-    you'll use this in the next step.</p>
+  <li>Select <strong>Window > Android AVD Manager</strong>, or click the Android AVD Manager icon (a black device)
+    in the Eclipse toolbar.</p>
   </li>
-  <li>Create a new AVD using your selected Deployment Target. Execute:
-    <pre>android create avd --name <em>&lt;your_avd_name&gt;</em> --target <em>&lt;targetID&gt;</em></pre>
-  <li>Next, you'll be asked whether you'd like to create a custom hardware profile.
-  If you respond "yes," you'll be presented with a series of prompts to define various aspects of the
-  device hardware (leave entries blank to use default values, which are shown in brackets). Otherwise,
-  press return to use all default values ("no" is the default).</li>
+  <li>In the Virtual Devices panel, you'll see a list of existing AVDs. Click <strong>New</strong>
+  to create a new AVD.</li>
+  <li>Fill in the details for the AVD. 
+    <p>Give it a name, a platform target, an SD card image (optional), and
+    a skin (HVGA is default).</p>
   </li>
+  <li>Click <strong>Create AVD</strong>.</li>
 </ol>
 
-<p>That's it; your AVD is ready. In the next section, you'll see how the AVD is used
+<p>Your AVD is now ready and you can close the Android AVD Manager. 
+In the next section, you'll see how the AVD is used
 when launching your application on an emulator.</p>
 
-<p>To learn more about creating and managing AVDs, please read the 
+<p>For more information about AVDs, read the 
 <a href="{@docRoot}guide/developing/tools/avd.html">Android Virtual Devices</a>
 documentation.</p>
 
diff --git a/docs/html/guide/tutorials/views/hello-mapview.jd b/docs/html/guide/tutorials/views/hello-mapview.jd
index 868bfaa..531300f 100644
--- a/docs/html/guide/tutorials/views/hello-mapview.jd
+++ b/docs/html/guide/tutorials/views/hello-mapview.jd
@@ -5,7 +5,7 @@
 
 <div class="special">
 <p>This tutorial requires that you have the Google Maps external library
-installed in your SDK environment. By default the Android 1.5 SDK includes the
+installed in your SDK environment. By default the Android SDK includes the
 Google APIs add-on, which in turn includes the Maps external library. If you
 don't have the Google APIs SDK add-on, you can download it from this
 location:</p>
diff --git a/docs/html/index.jd b/docs/html/index.jd
index c39e9a8..823ec96 100644
--- a/docs/html/index.jd
+++ b/docs/html/index.jd
@@ -11,7 +11,7 @@
                             </div><!-- end homeTitle -->
                             <div id="announcement-block">
                             <!-- total max width is 520px -->
-                                <img src="/assets/images/home/android_adc.png" alt="Android Developer Challenge 2" width="232px" />
+                                <img src="{@docRoot}assets/images/home/android_adc.png" alt="Android Developer Challenge 2" width="232px" />
                                 <div id="announcement" style="width:275px">
                                   <p>The second Android Developer Challenge has begun! In this contest,
                                   real-world users will help review and score applications and the overall winner will 
diff --git a/docs/html/sdk/1.5_r3/index.jd b/docs/html/sdk/1.5_r3/index.jd
index 3364f93..a79fe43 100644
--- a/docs/html/sdk/1.5_r3/index.jd
+++ b/docs/html/sdk/1.5_r3/index.jd
@@ -1,5 +1,6 @@
 sdk.version=1.5
 sdk.rel.id=3
+
 sdk.date=July 2009
 
 sdk.win_download=android-sdk-windows-1.5_r3.zip
diff --git a/docs/html/sdk/1.5_r3/requirements.jd b/docs/html/sdk/1.5_r3/requirements.jd
index 4ed38a7..5f20cf1 100644
--- a/docs/html/sdk/1.5_r3/requirements.jd
+++ b/docs/html/sdk/1.5_r3/requirements.jd
@@ -1,4 +1,7 @@
+sdk.version=1.5
+sdk.rel.id=3
 page.title=System Requirements
+
 @jd:body
 
 <p>The sections below describe the system and software requirements for developing Android applications using the Android SDK tools included in Android <?cs var:sdk.version ?> SDK, Release <?cs var:sdk.rel.id ?>. </p>
diff --git a/docs/html/sdk/1.5_r3/upgrading.jd b/docs/html/sdk/1.5_r3/upgrading.jd
index a0a62a2..c79b656 100644
--- a/docs/html/sdk/1.5_r3/upgrading.jd
+++ b/docs/html/sdk/1.5_r3/upgrading.jd
@@ -1,5 +1,7 @@
 page.title=Upgrading the SDK
-sdk.version=1.5_r3
+sdk.version=1.5
+sdk.rel.id=3
+
 @jd:body
 
 
diff --git a/docs/html/sdk/adt_download.jd b/docs/html/sdk/adt_download.jd
index 8b22e2c..d7b9ac3 100644
--- a/docs/html/sdk/adt_download.jd
+++ b/docs/html/sdk/adt_download.jd
@@ -26,13 +26,20 @@
   </tr>
 
   <tr>
+     <td>0.9.2</td>
+     <td><a href="http://dl-ssl.google.com/android/ADT-0.9.2.zip">ADT-0.9.2.zip</a></td>
+     <td><nobr>bytes</nobr></td>
+     <td><nobr></nobr></td>
+     <td><nobr>Required for users of Android 1.6 SDK (and later releases). Updated from 0.9.1. <em><nobr>August 2009</nobr></em></td>
+  </tr>
+  <tr class="alt-color">
      <td>0.9.1</td>
      <td><a href="http://dl-ssl.google.com/android/ADT-0.9.1.zip">ADT-0.9.1.zip</a></td>
      <td><nobr>2916093 bytes</nobr></td>
      <td><nobr>e7b2ab40414ac98</nobr></td>
      <td><nobr>Required for users of Android 1.5 SDK (and later releases). Updated from 0.9.0. <em><nobr>6 May 2009</nobr></em></td>
   </tr>
-  <tr class="alt-color">
+  <tr>
      <td>0.8.0</td>
      <td><a href="http://dl-ssl.google.com/android/ADT-0.8.0.zip">ADT-0.8.0.zip</a></td>
      <td colspan="2"><nobr>&nbsp;</nobr></td>
@@ -41,7 +48,7 @@
 </table>
 
 
-<h4>Older Versions of ADT</h4>
+<h4>Obsolete Versions of ADT</h4>
 
 <p>The table below lists older versions of the ADT Plugin that are no longer supported. If you are developing applications that are intended to be deployable to Android-powered devices, make sure that you upgrade to the most current SDK release available and use the most current version of the ADT Plugin, as listed in the section above.</p>
 
diff --git a/docs/html/sdk/api_diff/4/changes.html b/docs/html/sdk/api_diff/4/changes.html
new file mode 100644
index 0000000..da18ae6
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/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 Wed Aug 05 19:20:54 PDT 2009 -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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 3 and Donut
+</TITLE>
+<link href="../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding: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,**" frameborder="1" border="7" xframespacing="20" bordercolor="#e9e9e9"> 
+<frameset rows="164,**" frameborder="1" border="7" xframespacing="20" resizable="yes">
+    <FRAME SRC="changes/jdiff_topleftframe.html" SCROLLING="no" NAME="topleftframe" xframeborder="1" xborder="6" xframespacing="0">
+    <FRAME SRC="changes/alldiffs_index_all.html" SCROLLING="auto" NAME="bottomleftframe" xframeborder="1" xborder="1" xframespacing="0">
+  </FRAMESET>
+  <FRAME SRC="changes/changes-summary.html" SCROLLING="auto" NAME="rightframe" xframeborder="1" xborder="1" xframespacing="0">
+</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/4/changes/alldiffs_index_additions.html b/docs/html/sdk/api_diff/4/changes/alldiffs_index_additions.html
new file mode 100644
index 0000000..048f928
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/alldiffs_index_additions.html
@@ -0,0 +1,2431 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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">
+<font size="-2"><strong>Bold</strong>&nbsp;indicates&nbsp;New;&nbsp;<strike>Strike</strike>&nbsp;indicates&nbsp;deleted. Plain indicates changed.</font>
+</div>
+<!-- Field ACCESSIBILITY_ENABLED -->
+<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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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.ACCESSIBILITY_ENABLED" class="hiddenlink" target="rightframe">ACCESSIBILITY_ENABLED</A>
+</nobr><br>
+<!-- Field ACCESSIBILITY_SERVICE -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.ACCESSIBILITY_SERVICE" class="hiddenlink" target="rightframe">ACCESSIBILITY_SERVICE</A>
+</nobr><br>
+<!-- Field ACTION_BATTERY_OKAY -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_BATTERY_OKAY" class="hiddenlink" target="rightframe">ACTION_BATTERY_OKAY</A>
+</nobr><br>
+<!-- Field ACTION_POWER_CONNECTED -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_POWER_CONNECTED" class="hiddenlink" target="rightframe">ACTION_POWER_CONNECTED</A>
+</nobr><br>
+<!-- Field ACTION_POWER_DISCONNECTED -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_POWER_DISCONNECTED" class="hiddenlink" target="rightframe">ACTION_POWER_DISCONNECTED</A>
+</nobr><br>
+<!-- Field ACTION_POWER_USAGE_SUMMARY -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_POWER_USAGE_SUMMARY" class="hiddenlink" target="rightframe">ACTION_POWER_USAGE_SUMMARY</A>
+</nobr><br>
+<!-- Field ACTION_SEND_MULTIPLE -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_SEND_MULTIPLE" class="hiddenlink" target="rightframe">ACTION_SEND_MULTIPLE</A>
+</nobr><br>
+<!-- Field ACTION_SHUTDOWN -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_SHUTDOWN" class="hiddenlink" target="rightframe">ACTION_SHUTDOWN</A>
+</nobr><br>
+<!-- Method addFocusables -->
+<nobr><A HREF="android.view.View.html#android.view.View.addFocusables_added(java.util.ArrayList<android.view.View>, int, int)" class="hiddenlink" target="rightframe"><b>addFocusables</b>
+(<code>ArrayList&lt;View&gt;, int, int</code>)</A></nobr><br>
+<!-- Field allowBackup -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.allowBackup" class="hiddenlink" target="rightframe">allowBackup</A>
+</nobr><br>
+<!-- Package android.accessibilityservice -->
+<A HREF="changes-summary.html#android.accessibilityservice" class="hiddenlink" target="rightframe"><b>android.accessibilityservice</b></A><br>
+<!-- Package android.gesture -->
+<A HREF="changes-summary.html#android.gesture" class="hiddenlink" target="rightframe"><b>android.gesture</b></A><br>
+<!-- Package android.speech.tts -->
+<A HREF="changes-summary.html#android.speech.tts" class="hiddenlink" target="rightframe"><b>android.speech.tts</b></A><br>
+<!-- Package android.view.accessibility -->
+<A HREF="changes-summary.html#android.view.accessibility" class="hiddenlink" target="rightframe"><b>android.view.accessibility</b></A><br>
+<!-- Class Animatable -->
+<A HREF="pkg_android.graphics.drawable.html#Animatable" class="hiddenlink" target="rightframe"><b><i>Animatable</i></b></A><br>
+<!-- Field anticipate_interpolator -->
+<nobr><A HREF="android.R.anim.html#android.R.anim.anticipate_interpolator" class="hiddenlink" target="rightframe">anticipate_interpolator</A>
+</nobr><br>
+<!-- Field anticipate_overshoot_interpolator -->
+<nobr><A HREF="android.R.anim.html#android.R.anim.anticipate_overshoot_interpolator" class="hiddenlink" target="rightframe">anticipate_overshoot_interpolator</A>
+</nobr><br>
+<!-- Class AnticipateInterpolator -->
+<A HREF="pkg_android.view.animation.html#AnticipateInterpolator" class="hiddenlink" target="rightframe"><b>AnticipateInterpolator</b></A><br>
+<!-- Class AnticipateOvershootInterpolator -->
+<A HREF="pkg_android.view.animation.html#AnticipateOvershootInterpolator" class="hiddenlink" target="rightframe"><b>AnticipateOvershootInterpolator</b></A><br>
+<!-- Field anyDensity -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.anyDensity" class="hiddenlink" target="rightframe">anyDensity</A>
+</nobr><br>
+<!-- Method assertActivityRequiresPermission -->
+<nobr><A HREF="android.test.AndroidTestCase.html#android.test.AndroidTestCase.assertActivityRequiresPermission_added(java.lang.String, java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe"><b>assertActivityRequiresPermission</b>
+(<code>String, String, String</code>)</A></nobr><br>
+<!-- Method assertReadingContentUriRequiresPermission -->
+<nobr><A HREF="android.test.AndroidTestCase.html#android.test.AndroidTestCase.assertReadingContentUriRequiresPermission_added(android.net.Uri, java.lang.String)" class="hiddenlink" target="rightframe"><b>assertReadingContentUriRequiresPermission</b>
+(<code>Uri, String</code>)</A></nobr><br>
+<!-- Method assertWritingContentUriRequiresPermission -->
+<nobr><A HREF="android.test.AndroidTestCase.html#android.test.AndroidTestCase.assertWritingContentUriRequiresPermission_added(android.net.Uri, java.lang.String)" class="hiddenlink" target="rightframe"><b>assertWritingContentUriRequiresPermission</b>
+(<code>Uri, String</code>)</A></nobr><br>
+<!-- Field autoUrlDetect -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.autoUrlDetect" class="hiddenlink" target="rightframe">autoUrlDetect</A>
+</nobr><br>
+<!-- Field backupAgent -->
+<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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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.backupAgent" class="hiddenlink" target="rightframe">backupAgent</A>
+</nobr><br>
+<!-- Constructor BitmapDrawable -->
+<i>BitmapDrawable</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.BitmapDrawable.html#android.graphics.drawable.BitmapDrawable.ctor_added(android.content.res.Resources)" class="hiddenlink" target="rightframe"><b>BitmapDrawable</b>
+(<code>Resources</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor BitmapDrawable -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.BitmapDrawable.html#android.graphics.drawable.BitmapDrawable.ctor_added(android.content.res.Resources, android.graphics.Bitmap)" class="hiddenlink" target="rightframe"><b>BitmapDrawable</b>
+(<code>Resources, Bitmap</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Field bounce_interpolator -->
+<nobr><A HREF="android.R.anim.html#android.R.anim.bounce_interpolator" class="hiddenlink" target="rightframe">bounce_interpolator</A>
+</nobr><br>
+<!-- Class BounceInterpolator -->
+<A HREF="pkg_android.view.animation.html#BounceInterpolator" class="hiddenlink" target="rightframe"><b>BounceInterpolator</b></A><br>
+<!-- Class Build.VERSION_CODES -->
+<A HREF="pkg_android.os.html#Build.VERSION_CODES" class="hiddenlink" target="rightframe"><b>Build.VERSION_CODES</b></A><br>
+<!-- Method buildDrawingCache -->
+<nobr><A HREF="android.view.View.html#android.view.View.buildDrawingCache_added(boolean)" class="hiddenlink" target="rightframe"><b>buildDrawingCache</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Field CHANGE_WIFI_MULTICAST_STATE -->
+<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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.CHANGE_WIFI_MULTICAST_STATE" class="hiddenlink" target="rightframe">CHANGE_WIFI_MULTICAST_STATE</A>
+</nobr><br>
+<!-- Field CODENAME -->
+<nobr><A HREF="android.os.Build.VERSION.html#android.os.Build.VERSION.CODENAME" class="hiddenlink" target="rightframe">CODENAME</A>
+</nobr><br>
+<!-- Method compareTo -->
+<nobr><A HREF="android.content.ComponentName.html#android.content.ComponentName.compareTo_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>compareTo</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Method computeCurrentVelocity -->
+<nobr><A HREF="android.view.VelocityTracker.html#android.view.VelocityTracker.computeCurrentVelocity_added(int, float)" class="hiddenlink" target="rightframe"><b>computeCurrentVelocity</b>
+(<code>int, float</code>)</A></nobr><br>
+<!-- Field CONFIG_SCREEN_LAYOUT -->
+<nobr><A HREF="android.content.pm.ActivityInfo.html#android.content.pm.ActivityInfo.CONFIG_SCREEN_LAYOUT" class="hiddenlink" target="rightframe">CONFIG_SCREEN_LAYOUT</A>
+</nobr><br>
+<!-- Field contentDescription -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.contentDescription" class="hiddenlink" target="rightframe">contentDescription</A>
+</nobr><br>
+<!-- Field CONTEXT_RESTRICTED -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.CONTEXT_RESTRICTED" class="hiddenlink" target="rightframe">CONTEXT_RESTRICTED</A>
+</nobr><br>
+<!-- Field CPU_ABI -->
+<nobr><A HREF="android.os.Build.html#android.os.Build.CPU_ABI" class="hiddenlink" target="rightframe">CPU_ABI</A>
+</nobr><br>
+<!-- Method createFromFile -->
+<i>createFromFile</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Typeface.html#android.graphics.Typeface.createFromFile_added(java.io.File)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>File</code>)</b>&nbsp;in&nbsp;android.graphics.Typeface
+</A></nobr><br>
+<!-- Method createFromFile -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Typeface.html#android.graphics.Typeface.createFromFile_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.graphics.Typeface
+</A></nobr><br>
+<!-- Method createFromResourceStream -->
+<nobr><A HREF="android.graphics.drawable.Drawable.html#android.graphics.drawable.Drawable.createFromResourceStream_added(android.content.res.Resources, android.util.TypedValue, java.io.InputStream, java.lang.String)" class="hiddenlink" target="rightframe"><b>createFromResourceStream</b>
+(<code>Resources, TypedValue, InputStream, String</code>)</A></nobr><br>
+<!-- Method createMulticastLock -->
+<nobr><A HREF="android.net.wifi.WifiManager.html#android.net.wifi.WifiManager.createMulticastLock_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>createMulticastLock</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method decodeResourceStream -->
+<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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.graphics.BitmapFactory.html#android.graphics.BitmapFactory.decodeResourceStream_added(android.content.res.Resources, android.util.TypedValue, java.io.InputStream, android.graphics.Rect, android.graphics.BitmapFactory.Options)" class="hiddenlink" target="rightframe"><b>decodeResourceStream</b>
+(<code>Resources, TypedValue, InputStream, Rect, Options</code>)</A></nobr><br>
+<!-- Field density -->
+<nobr><A HREF="android.util.TypedValue.html#android.util.TypedValue.density" class="hiddenlink" target="rightframe">density</A>
+</nobr><br>
+<!-- Field DENSITY_DEFAULT -->
+<i>DENSITY_DEFAULT</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.util.DisplayMetrics.html#android.util.DisplayMetrics.DENSITY_DEFAULT" class="hiddenlink" target="rightframe">android.util.DisplayMetrics</A>
+</nobr><br>
+<!-- Field DENSITY_DEFAULT -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.util.TypedValue.html#android.util.TypedValue.DENSITY_DEFAULT" class="hiddenlink" target="rightframe">android.util.TypedValue</A>
+</nobr><br>
+<!-- Field DENSITY_HIGH -->
+<nobr><A HREF="android.util.DisplayMetrics.html#android.util.DisplayMetrics.DENSITY_HIGH" class="hiddenlink" target="rightframe">DENSITY_HIGH</A>
+</nobr><br>
+<!-- Field DENSITY_LOW -->
+<nobr><A HREF="android.util.DisplayMetrics.html#android.util.DisplayMetrics.DENSITY_LOW" class="hiddenlink" target="rightframe">DENSITY_LOW</A>
+</nobr><br>
+<!-- Field DENSITY_MEDIUM -->
+<nobr><A HREF="android.util.DisplayMetrics.html#android.util.DisplayMetrics.DENSITY_MEDIUM" class="hiddenlink" target="rightframe">DENSITY_MEDIUM</A>
+</nobr><br>
+<!-- Field DENSITY_NONE -->
+<i>DENSITY_NONE</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.DENSITY_NONE" class="hiddenlink" target="rightframe">android.graphics.Bitmap</A>
+</nobr><br>
+<!-- Field DENSITY_NONE -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.util.TypedValue.html#android.util.TypedValue.DENSITY_NONE" class="hiddenlink" target="rightframe">android.util.TypedValue</A>
+</nobr><br>
+<!-- Field densityDpi -->
+<nobr><A HREF="android.util.DisplayMetrics.html#android.util.DisplayMetrics.densityDpi" class="hiddenlink" target="rightframe">densityDpi</A>
+</nobr><br>
+<!-- Method dispatchPopulateAccessibilityEvent -->
+<i>dispatchPopulateAccessibilityEvent</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Activity.html#android.app.Activity.dispatchPopulateAccessibilityEvent_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AccessibilityEvent</code>)</b>&nbsp;in&nbsp;android.app.Activity
+</A></nobr><br>
+<!-- Method dispatchPopulateAccessibilityEvent -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.Dialog.html#android.app.Dialog.dispatchPopulateAccessibilityEvent_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AccessibilityEvent</code>)</b>&nbsp;in&nbsp;android.app.Dialog
+</A></nobr><br>
+<!-- Method dispatchPopulateAccessibilityEvent -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.View.html#android.view.View.dispatchPopulateAccessibilityEvent_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AccessibilityEvent</code>)</b>&nbsp;in&nbsp;android.view.View
+</A></nobr><br>
+<!-- Method dispatchPopulateAccessibilityEvent -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.Window.Callback.html#android.view.Window.Callback.dispatchPopulateAccessibilityEvent_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AccessibilityEvent</code>)</b>&nbsp;in&nbsp;android.view.Window.Callback
+</A></nobr><br>
+<!-- Field donut_resource_pad1 -->
+<i>donut_resource_pad1</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad1 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+<!-- Field donut_resource_pad1 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad1 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad1 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+<!-- Field donut_resource_pad1 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad1 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad1 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+<!-- Field donut_resource_pad1 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+<!-- Field donut_resource_pad1 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad1 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad10 -->
+<i>donut_resource_pad10</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad10 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+<!-- Field donut_resource_pad10 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad10 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad10 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+<!-- Field donut_resource_pad10 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad10 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad10 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+<!-- Field donut_resource_pad10 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+<!-- Field donut_resource_pad10 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad10 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad11 -->
+<i>donut_resource_pad11</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad11 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+<!-- Field donut_resource_pad11 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad11 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad11 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+<!-- Field donut_resource_pad11 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad11 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad11 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+<!-- Field donut_resource_pad11 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+<!-- Field donut_resource_pad11 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad11 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad12 -->
+<i>donut_resource_pad12</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad12 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+<!-- Field donut_resource_pad12 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad12 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad12 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+<!-- Field donut_resource_pad12 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad12 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad12 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+<!-- Field donut_resource_pad12 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+<!-- Field donut_resource_pad12 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad12 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad13 -->
+<i>donut_resource_pad13</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad13 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad13 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad13 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+<!-- Field donut_resource_pad13 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad13 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad13 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+<!-- Field donut_resource_pad13 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+<!-- Field donut_resource_pad13 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad13 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad14 -->
+<i>donut_resource_pad14</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad14 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad14 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad14 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+<!-- Field donut_resource_pad14 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad14 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad14 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+<!-- Field donut_resource_pad14 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad14 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad15 -->
+<i>donut_resource_pad15</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad15" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad15 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad15" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad15 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad15" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad15 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad15" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad15 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad15" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad15 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad15" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad15 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad15" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad16 -->
+<i>donut_resource_pad16</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad16" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad16 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad16" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad16 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad16" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad16 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad16" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad16 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad16" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad16 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad16" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad16 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad16" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad17 -->
+<i>donut_resource_pad17</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad17" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad17 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad17" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad17 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad17" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad17 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad17" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad17 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad17" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad17 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad17" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad17 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad17" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad18 -->
+<i>donut_resource_pad18</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad18" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad18 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad18" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad18 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad18" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad18 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad18" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad18 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad18" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad18 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad18" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad18 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad18" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad19 -->
+<i>donut_resource_pad19</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad19" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad19 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad19" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad19 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad19" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad19 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad19" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad19 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad19" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad19 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad19" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad2 -->
+<i>donut_resource_pad2</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad2 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+<!-- Field donut_resource_pad2 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad2 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad2 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+<!-- Field donut_resource_pad2 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad2 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad2 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+<!-- Field donut_resource_pad2 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+<!-- Field donut_resource_pad2 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad2 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad20 -->
+<i>donut_resource_pad20</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad20" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad20 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad20" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad20 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad20" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad20 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad20" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad20 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad20" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad21 -->
+<i>donut_resource_pad21</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad21" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad21 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad21" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad21 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad21" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad21 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad21" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad21 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad21" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad22 -->
+<i>donut_resource_pad22</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad22" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad22 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad22" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad22 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad22" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad22 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad22" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad23 -->
+<i>donut_resource_pad23</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad23" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad23 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad23" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad23 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad23" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad24 -->
+<i>donut_resource_pad24</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad24" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad24 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad24" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad24 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad24" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad25 -->
+<i>donut_resource_pad25</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad25" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad25 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad25" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad25 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad25" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad26 -->
+<i>donut_resource_pad26</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad26" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad26 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad26" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad26 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad26" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad27 -->
+<i>donut_resource_pad27</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad27" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad27 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad27" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad27 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad27" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad28 -->
+<i>donut_resource_pad28</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad28" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad28 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad28" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad29 -->
+<i>donut_resource_pad29</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad29" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad29 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad29" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad3 -->
+<i>donut_resource_pad3</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad3 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+<!-- Field donut_resource_pad3 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad3 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad3 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+<!-- Field donut_resource_pad3 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad3 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad3 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+<!-- Field donut_resource_pad3 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+<!-- Field donut_resource_pad3 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad3 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad30 -->
+<i>donut_resource_pad30</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad30" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad30 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad30" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad31 -->
+<i>donut_resource_pad31</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad31" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad31 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad31" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad32 -->
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad32" class="hiddenlink" target="rightframe">donut_resource_pad32</A>
+</nobr><br>
+<!-- Field donut_resource_pad33 -->
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad33" class="hiddenlink" target="rightframe">donut_resource_pad33</A>
+</nobr><br>
+<!-- Field donut_resource_pad34 -->
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad34" class="hiddenlink" target="rightframe">donut_resource_pad34</A>
+</nobr><br>
+<!-- Field donut_resource_pad35 -->
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad35" class="hiddenlink" target="rightframe">donut_resource_pad35</A>
+</nobr><br>
+<!-- Field donut_resource_pad36 -->
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad36" class="hiddenlink" target="rightframe">donut_resource_pad36</A>
+</nobr><br>
+<!-- Field donut_resource_pad37 -->
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad37" class="hiddenlink" target="rightframe">donut_resource_pad37</A>
+</nobr><br>
+<!-- Field donut_resource_pad38 -->
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad38" class="hiddenlink" target="rightframe">donut_resource_pad38</A>
+</nobr><br>
+<!-- Field donut_resource_pad39 -->
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad39" class="hiddenlink" target="rightframe">donut_resource_pad39</A>
+</nobr><br>
+<!-- Field donut_resource_pad4 -->
+<i>donut_resource_pad4</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad4 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+<!-- Field donut_resource_pad4 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad4 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad4 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+<!-- Field donut_resource_pad4 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad4 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad4 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+<!-- Field donut_resource_pad4 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+<!-- Field donut_resource_pad4 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad4 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad40 -->
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad40" class="hiddenlink" target="rightframe">donut_resource_pad40</A>
+</nobr><br>
+<!-- Field donut_resource_pad5 -->
+<i>donut_resource_pad5</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad5 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+<!-- Field donut_resource_pad5 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad5 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad5 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+<!-- Field donut_resource_pad5 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad5 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad5 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+<!-- Field donut_resource_pad5 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+<!-- Field donut_resource_pad5 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad5 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad6 -->
+<i>donut_resource_pad6</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad6 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+<!-- Field donut_resource_pad6 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad6 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad6 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+<!-- Field donut_resource_pad6 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad6 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad6 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+<!-- Field donut_resource_pad6 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+<!-- Field donut_resource_pad6 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad6 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad7 -->
+<i>donut_resource_pad7</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad7 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+<!-- Field donut_resource_pad7 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad7 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad7 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+<!-- Field donut_resource_pad7 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad7 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad7 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+<!-- Field donut_resource_pad7 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+<!-- Field donut_resource_pad7 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad7 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad8 -->
+<i>donut_resource_pad8</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad8 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+<!-- Field donut_resource_pad8 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad8 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad8 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+<!-- Field donut_resource_pad8 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad8 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad8 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+<!-- Field donut_resource_pad8 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+<!-- Field donut_resource_pad8 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad8 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad9 -->
+<i>donut_resource_pad9</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad9 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+<!-- Field donut_resource_pad9 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad9 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad9 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+<!-- Field donut_resource_pad9 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad9 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad9 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+<!-- Field donut_resource_pad9 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+<!-- Field donut_resource_pad9 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad9 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field dropDownHeight -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.dropDownHeight" class="hiddenlink" target="rightframe">dropDownHeight</A>
+</nobr><br>
+<!-- Field ENABLED_ACCESSIBILITY_SERVICES -->
+<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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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.ENABLED_ACCESSIBILITY_SERVICES" class="hiddenlink" target="rightframe">ENABLED_ACCESSIBILITY_SERVICES</A>
+</nobr><br>
+<!-- Field eventsInterceptionEnabled -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.eventsInterceptionEnabled" class="hiddenlink" target="rightframe">eventsInterceptionEnabled</A>
+</nobr><br>
+<!-- Field EXTRA_DATA_KEY -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.EXTRA_DATA_KEY" class="hiddenlink" target="rightframe">EXTRA_DATA_KEY</A>
+</nobr><br>
+<!-- Field extraTension -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.extraTension" class="hiddenlink" target="rightframe">extraTension</A>
+</nobr><br>
+<!-- Field fadeDuration -->
+<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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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.fadeDuration" class="hiddenlink" target="rightframe">fadeDuration</A>
+</nobr><br>
+<!-- Field fadeEnabled -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.fadeEnabled" class="hiddenlink" target="rightframe">fadeEnabled</A>
+</nobr><br>
+<!-- Field fadeOffset -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.fadeOffset" class="hiddenlink" target="rightframe">fadeOffset</A>
+</nobr><br>
+<!-- Field FILL_IN_PACKAGE -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.FILL_IN_PACKAGE" class="hiddenlink" target="rightframe">FILL_IN_PACKAGE</A>
+</nobr><br>
+<!-- Field FLAG_RESIZEABLE_FOR_SCREENS -->
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_RESIZEABLE_FOR_SCREENS" class="hiddenlink" target="rightframe">FLAG_RESIZEABLE_FOR_SCREENS</A>
+</nobr><br>
+<!-- Field FLAG_SUPPORTS_LARGE_SCREENS -->
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_SUPPORTS_LARGE_SCREENS" class="hiddenlink" target="rightframe">FLAG_SUPPORTS_LARGE_SCREENS</A>
+</nobr><br>
+<!-- Field FLAG_SUPPORTS_NORMAL_SCREENS -->
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_SUPPORTS_NORMAL_SCREENS" class="hiddenlink" target="rightframe">FLAG_SUPPORTS_NORMAL_SCREENS</A>
+</nobr><br>
+<!-- Field FLAG_SUPPORTS_SCREEN_DENSITIES -->
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_SUPPORTS_SCREEN_DENSITIES" class="hiddenlink" target="rightframe">FLAG_SUPPORTS_SCREEN_DENSITIES</A>
+</nobr><br>
+<!-- Field FLAG_SUPPORTS_SMALL_SCREENS -->
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_SUPPORTS_SMALL_SCREENS" class="hiddenlink" target="rightframe">FLAG_SUPPORTS_SMALL_SCREENS</A>
+</nobr><br>
+<!-- Field FLAG_TEST_ONLY -->
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_TEST_ONLY" class="hiddenlink" target="rightframe">FLAG_TEST_ONLY</A>
+</nobr><br>
+<!-- Field FLAG_UPDATED_SYSTEM_APP -->
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_UPDATED_SYSTEM_APP" class="hiddenlink" target="rightframe">FLAG_UPDATED_SYSTEM_APP</A>
+</nobr><br>
+<!-- Field FOCUSABLES_ALL -->
+<nobr><A HREF="android.view.View.html#android.view.View.FOCUSABLES_ALL" class="hiddenlink" target="rightframe">FOCUSABLES_ALL</A>
+</nobr><br>
+<!-- Field FOCUSABLES_TOUCH_MODE -->
+<nobr><A HREF="android.view.View.html#android.view.View.FOCUSABLES_TOUCH_MODE" class="hiddenlink" target="rightframe">FOCUSABLES_TOUCH_MODE</A>
+</nobr><br>
+<!-- Field gestureColor -->
+<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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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.gestureColor" class="hiddenlink" target="rightframe">gestureColor</A>
+</nobr><br>
+<!-- Field gestureStrokeAngleThreshold -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.gestureStrokeAngleThreshold" class="hiddenlink" target="rightframe">gestureStrokeAngleThreshold</A>
+</nobr><br>
+<!-- Field gestureStrokeLengthThreshold -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.gestureStrokeLengthThreshold" class="hiddenlink" target="rightframe">gestureStrokeLengthThreshold</A>
+</nobr><br>
+<!-- Field gestureStrokeSquarenessThreshold -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.gestureStrokeSquarenessThreshold" class="hiddenlink" target="rightframe">gestureStrokeSquarenessThreshold</A>
+</nobr><br>
+<!-- Field gestureStrokeType -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.gestureStrokeType" class="hiddenlink" target="rightframe">gestureStrokeType</A>
+</nobr><br>
+<!-- Field gestureStrokeWidth -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.gestureStrokeWidth" class="hiddenlink" target="rightframe">gestureStrokeWidth</A>
+</nobr><br>
+<!-- Method getApplicationInfo -->
+<i>getApplicationInfo</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.getApplicationInfo_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+<!-- Method getApplicationInfo -->
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.getApplicationInfo_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+<!-- Method getApplicationInfo -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.getApplicationInfo_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<!-- Method getAudioSourceMax -->
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.getAudioSourceMax_added()" class="hiddenlink" target="rightframe"><b>getAudioSourceMax</b>
+()</A></nobr><br>
+<!-- Method getBroadcastCookie -->
+<nobr><A HREF="android.os.RemoteCallbackList.html#android.os.RemoteCallbackList.getBroadcastCookie_added(int)" class="hiddenlink" target="rightframe"><b>getBroadcastCookie</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getCheckItemIds -->
+<nobr><A HREF="android.widget.ListView.html#android.widget.ListView.getCheckItemIds_added()" class="hiddenlink" target="rightframe"><b>getCheckItemIds</b>
+()</A></nobr><br>
+<!-- Method getChildTabViewAt -->
+<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.getChildTabViewAt_added(int)" class="hiddenlink" target="rightframe"><b>getChildTabViewAt</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getContentDescription -->
+<nobr><A HREF="android.view.View.html#android.view.View.getContentDescription_added()" class="hiddenlink" target="rightframe"><b>getContentDescription</b>
+()</A></nobr><br>
+<!-- Method getDensity -->
+<i>getDensity</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.getDensity_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.graphics.Bitmap
+</A></nobr><br>
+<!-- Method getDensity -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Canvas.html#android.graphics.Canvas.getDensity_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.graphics.Canvas
+</A></nobr><br>
+<!-- Method getDensity -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.NinePatch.html#android.graphics.NinePatch.getDensity_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.graphics.NinePatch
+</A></nobr><br>
+<!-- Method getDrawingCache -->
+<nobr><A HREF="android.view.View.html#android.view.View.getDrawingCache_added(boolean)" class="hiddenlink" target="rightframe"><b>getDrawingCache</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method getDropDownHeight -->
+<nobr><A HREF="android.widget.AutoCompleteTextView.html#android.widget.AutoCompleteTextView.getDropDownHeight_added()" class="hiddenlink" target="rightframe"><b>getDropDownHeight</b>
+()</A></nobr><br>
+<!-- Method getGlEsVersion -->
+<nobr><A HREF="android.content.pm.ConfigurationInfo.html#android.content.pm.ConfigurationInfo.getGlEsVersion_added()" class="hiddenlink" target="rightframe"><b>getGlEsVersion</b>
+()</A></nobr><br>
+<!-- Method getIntentSender -->
+<nobr><A HREF="android.app.PendingIntent.html#android.app.PendingIntent.getIntentSender_added()" class="hiddenlink" target="rightframe"><b>getIntentSender</b>
+()</A></nobr><br>
+<!-- Method getMaximumFlingVelocity -->
+<nobr><A HREF="android.view.ViewConfiguration.html#android.view.ViewConfiguration.getMaximumFlingVelocity_added()" class="hiddenlink" target="rightframe"><b>getMaximumFlingVelocity</b>
+()</A></nobr><br>
+<!-- Method getPackage -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.getPackage_added()" class="hiddenlink" target="rightframe"><b>getPackage</b>
+()</A></nobr><br>
+<!-- Method getPathPermissions -->
+<nobr><A HREF="android.content.ContentProvider.html#android.content.ContentProvider.getPathPermissions_added()" class="hiddenlink" target="rightframe"><b>getPathPermissions</b>
+()</A></nobr><br>
+<!-- Method getPremises -->
+<nobr><A HREF="android.location.Address.html#android.location.Address.getPremises_added()" class="hiddenlink" target="rightframe"><b>getPremises</b>
+()</A></nobr><br>
+<!-- Method getScaledHeight -->
+<i>getScaledHeight</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.getScaledHeight_added(android.graphics.Canvas)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Canvas</code>)</b>&nbsp;in&nbsp;android.graphics.Bitmap
+</A></nobr><br>
+<!-- Method getScaledHeight -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.getScaledHeight_added(android.util.DisplayMetrics)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>DisplayMetrics</code>)</b>&nbsp;in&nbsp;android.graphics.Bitmap
+</A></nobr><br>
+<!-- Method getScaledHeight -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.getScaledHeight_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.graphics.Bitmap
+</A></nobr><br>
+<!-- Method getScaledMaximumFlingVelocity -->
+<nobr><A HREF="android.view.ViewConfiguration.html#android.view.ViewConfiguration.getScaledMaximumFlingVelocity_added()" class="hiddenlink" target="rightframe"><b>getScaledMaximumFlingVelocity</b>
+()</A></nobr><br>
+<!-- Method getScaledWidth -->
+<i>getScaledWidth</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.getScaledWidth_added(android.graphics.Canvas)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Canvas</code>)</b>&nbsp;in&nbsp;android.graphics.Bitmap
+</A></nobr><br>
+<!-- Method getScaledWidth -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.getScaledWidth_added(android.util.DisplayMetrics)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>DisplayMetrics</code>)</b>&nbsp;in&nbsp;android.graphics.Bitmap
+</A></nobr><br>
+<!-- Method getScaledWidth -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.getScaledWidth_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.graphics.Bitmap
+</A></nobr><br>
+<!-- Method getSoftInputMode -->
+<nobr><A HREF="android.widget.PopupWindow.html#android.widget.PopupWindow.getSoftInputMode_added()" class="hiddenlink" target="rightframe"><b>getSoftInputMode</b>
+()</A></nobr><br>
+<!-- Method getSubLocality -->
+<nobr><A HREF="android.location.Address.html#android.location.Address.getSubLocality_added()" class="hiddenlink" target="rightframe"><b>getSubLocality</b>
+()</A></nobr><br>
+<!-- Method getSubThoroughfare -->
+<nobr><A HREF="android.location.Address.html#android.location.Address.getSubThoroughfare_added()" class="hiddenlink" target="rightframe"><b>getSubThoroughfare</b>
+()</A></nobr><br>
+<!-- Method getTabCount -->
+<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.getTabCount_added()" class="hiddenlink" target="rightframe"><b>getTabCount</b>
+()</A></nobr><br>
+<!-- Method getTag -->
+<i>getTag</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.View.html#android.view.View.getTag_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.view.View
+</A></nobr><br>
+<!-- Method getTag -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TabHost.TabSpec.html#android.widget.TabHost.TabSpec.getTag_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.widget.TabHost.TabSpec
+</A></nobr><br>
+<!-- Field GL_ES_VERSION_UNDEFINED -->
+<nobr><A HREF="android.content.pm.ConfigurationInfo.html#android.content.pm.ConfigurationInfo.GL_ES_VERSION_UNDEFINED" class="hiddenlink" target="rightframe">GL_ES_VERSION_UNDEFINED</A>
+</nobr><br>
+<!-- Class GLES10 -->
+<A HREF="pkg_android.opengl.html#GLES10" class="hiddenlink" target="rightframe"><b>GLES10</b></A><br>
+<!-- Class GLES10Ext -->
+<A HREF="pkg_android.opengl.html#GLES10Ext" class="hiddenlink" target="rightframe"><b>GLES10Ext</b></A><br>
+<!-- Class GLES11 -->
+<A HREF="pkg_android.opengl.html#GLES11" class="hiddenlink" target="rightframe"><b>GLES11</b></A><br>
+<!-- Class GLES11Ext -->
+<A HREF="pkg_android.opengl.html#GLES11Ext" class="hiddenlink" target="rightframe"><b>GLES11Ext</b></A><br>
+<!-- Field glEsVersion -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.glEsVersion" class="hiddenlink" target="rightframe">glEsVersion</A>
+</nobr><br>
+<!-- Field GLOBAL_SEARCH -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.GLOBAL_SEARCH" class="hiddenlink" target="rightframe">GLOBAL_SEARCH</A>
+</nobr><br>
+<!-- Constructor ImageSpan -->
+<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="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>ImageSpan</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.style.ImageSpan.html#android.text.style.ImageSpan.ctor_added(android.content.Context, android.graphics.Bitmap)" class="hiddenlink" target="rightframe"><b>ImageSpan</b>
+(<code>Context, Bitmap</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor ImageSpan -->
+&nbsp;&nbsp;<nobr><A HREF="android.text.style.ImageSpan.html#android.text.style.ImageSpan.ctor_added(android.content.Context, android.graphics.Bitmap, int)" class="hiddenlink" target="rightframe"><b>ImageSpan</b>
+(<code>Context, Bitmap, int</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Field includeInGlobalSearch -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.includeInGlobalSearch" class="hiddenlink" target="rightframe">includeInGlobalSearch</A>
+</nobr><br>
+<!-- Field inDensity -->
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.inDensity" class="hiddenlink" target="rightframe">inDensity</A>
+</nobr><br>
+<!-- Field inInputShareable -->
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.inInputShareable" class="hiddenlink" target="rightframe">inInputShareable</A>
+</nobr><br>
+<!-- Field inPurgeable -->
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.inPurgeable" class="hiddenlink" target="rightframe">inPurgeable</A>
+</nobr><br>
+<!-- Field inScaled -->
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.inScaled" class="hiddenlink" target="rightframe">inScaled</A>
+</nobr><br>
+<!-- Field inScreenDensity -->
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.inScreenDensity" class="hiddenlink" target="rightframe">inScreenDensity</A>
+</nobr><br>
+<!-- Field INSTALL_LOCATION_PROVIDER -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.INSTALL_LOCATION_PROVIDER" class="hiddenlink" target="rightframe">INSTALL_LOCATION_PROVIDER</A>
+</nobr><br>
+<!-- Field inTargetDensity -->
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.inTargetDensity" class="hiddenlink" target="rightframe">inTargetDensity</A>
+</nobr><br>
+<!-- Field INTENT_ACTION_SEARCH_SETTINGS_CHANGED -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.INTENT_ACTION_SEARCH_SETTINGS_CHANGED" class="hiddenlink" target="rightframe">INTENT_ACTION_SEARCH_SETTINGS_CHANGED</A>
+</nobr><br>
+<!-- Field INTENT_ACTION_SEARCHABLES_CHANGED -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.INTENT_ACTION_SEARCHABLES_CHANGED" class="hiddenlink" target="rightframe">INTENT_ACTION_SEARCHABLES_CHANGED</A>
+</nobr><br>
+<!-- Field INTENT_ACTION_WEB_SEARCH_SETTINGS -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.INTENT_ACTION_WEB_SEARCH_SETTINGS" class="hiddenlink" target="rightframe">INTENT_ACTION_WEB_SEARCH_SETTINGS</A>
+</nobr><br>
+<!-- Class IntentSender -->
+<A HREF="pkg_android.content.html#IntentSender" class="hiddenlink" target="rightframe"><b>IntentSender</b></A><br>
+<!-- Class IntentSender.OnFinished -->
+<A HREF="pkg_android.content.html#IntentSender.OnFinished" class="hiddenlink" target="rightframe"><b><i>IntentSender.OnFinished</i></b></A><br>
+<!-- Class IntentSender.SendIntentException -->
+<A HREF="pkg_android.content.html#IntentSender.SendIntentException" class="hiddenlink" target="rightframe"><b>IntentSender.SendIntentException</b></A><br>
+<!-- Method invalidateAllKeys -->
+<nobr><A HREF="android.inputmethodservice.KeyboardView.html#android.inputmethodservice.KeyboardView.invalidateAllKeys_added()" class="hiddenlink" target="rightframe"><b>invalidateAllKeys</b>
+()</A></nobr><br>
+<!-- Method invalidateKey -->
+<nobr><A HREF="android.inputmethodservice.KeyboardView.html#android.inputmethodservice.KeyboardView.invalidateKey_added(int)" class="hiddenlink" target="rightframe"><b>invalidateKey</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method isRestricted -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.isRestricted_added()" class="hiddenlink" target="rightframe"><b>isRestricted</b>
+()</A></nobr><br>
+<!-- Method itemForPosition -->
+<nobr><A HREF="android.app.LauncherActivity.html#android.app.LauncherActivity.itemForPosition_added(int)" class="hiddenlink" target="rightframe"><b>itemForPosition</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Field largeScreens -->
+<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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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.largeScreens" class="hiddenlink" target="rightframe">largeScreens</A>
+</nobr><br>
+<!-- Field linear_interpolator -->
+<nobr><A HREF="android.R.anim.html#android.R.anim.linear_interpolator" class="hiddenlink" target="rightframe">linear_interpolator</A>
+</nobr><br>
+<!-- Field MANUFACTURER -->
+<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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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.MANUFACTURER" class="hiddenlink" target="rightframe">MANUFACTURER</A>
+</nobr><br>
+<!-- Field maxSdkVersion -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.maxSdkVersion" class="hiddenlink" target="rightframe">maxSdkVersion</A>
+</nobr><br>
+<!-- Constructor NinePatchDrawable -->
+<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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>NinePatchDrawable</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.NinePatchDrawable.html#android.graphics.drawable.NinePatchDrawable.ctor_added(android.content.res.Resources, android.graphics.Bitmap, byte[], android.graphics.Rect, java.lang.String)" class="hiddenlink" target="rightframe"><b>NinePatchDrawable</b>
+(<code>Resources, Bitmap, byte[], Rect, String</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor NinePatchDrawable -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.NinePatchDrawable.html#android.graphics.drawable.NinePatchDrawable.ctor_added(android.content.res.Resources, android.graphics.NinePatch)" class="hiddenlink" target="rightframe"><b>NinePatchDrawable</b>
+(<code>Resources, NinePatch</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Field normalScreens -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.normalScreens" class="hiddenlink" target="rightframe">normalScreens</A>
+</nobr><br>
+<!-- Method onCallbackDied -->
+<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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.os.RemoteCallbackList.html#android.os.RemoteCallbackList.onCallbackDied_added(E, java.lang.Object)" class="hiddenlink" target="rightframe"><b>onCallbackDied</b>
+(<code>E, Object</code>)</A></nobr><br>
+<!-- Field onClick -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.onClick" class="hiddenlink" target="rightframe">onClick</A>
+</nobr><br>
+<!-- Field overshoot_interpolator -->
+<nobr><A HREF="android.R.anim.html#android.R.anim.overshoot_interpolator" class="hiddenlink" target="rightframe">overshoot_interpolator</A>
+</nobr><br>
+<!-- Class OvershootInterpolator -->
+<A HREF="pkg_android.view.animation.html#OvershootInterpolator" class="hiddenlink" target="rightframe"><b>OvershootInterpolator</b></A><br>
+<!-- Method parseUri -->
+<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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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.parseUri_added(java.lang.String, int)" class="hiddenlink" target="rightframe"><b>parseUri</b>
+(<code>String, int</code>)</A></nobr><br>
+<!-- Class PathPermission -->
+<A HREF="pkg_android.content.pm.html#PathPermission" class="hiddenlink" target="rightframe"><b>PathPermission</b></A><br>
+<!-- Field pathPermissions -->
+<nobr><A HREF="android.content.pm.ProviderInfo.html#android.content.pm.ProviderInfo.pathPermissions" class="hiddenlink" target="rightframe">pathPermissions</A>
+</nobr><br>
+<!-- Method prepareToDraw -->
+<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.prepareToDraw_added()" class="hiddenlink" target="rightframe"><b>prepareToDraw</b>
+()</A></nobr><br>
+<!-- Field progressBarStyleInverse -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.progressBarStyleInverse" class="hiddenlink" target="rightframe">progressBarStyleInverse</A>
+</nobr><br>
+<!-- Field progressBarStyleLargeInverse -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.progressBarStyleLargeInverse" class="hiddenlink" target="rightframe">progressBarStyleLargeInverse</A>
+</nobr><br>
+<!-- Field progressBarStyleSmallInverse -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.progressBarStyleSmallInverse" class="hiddenlink" target="rightframe">progressBarStyleSmallInverse</A>
+</nobr><br>
+<!-- Field queryAfterZeroResults -->
+<A NAME="Q"></A>
+<br><font size="+2">Q</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-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="#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.queryAfterZeroResults" class="hiddenlink" target="rightframe">queryAfterZeroResults</A>
+</nobr><br>
+<!-- Field READ_HISTORY_BOOKMARKS -->
+<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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#S"><font size="-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.Manifest.permission.html#android.Manifest.permission.READ_HISTORY_BOOKMARKS" class="hiddenlink" target="rightframe">READ_HISTORY_BOOKMARKS</A>
+</nobr><br>
+<!-- Method register -->
+<nobr><A HREF="android.os.RemoteCallbackList.html#android.os.RemoteCallbackList.register_added(E, java.lang.Object)" class="hiddenlink" target="rightframe"><b>register</b>
+(<code>E, Object</code>)</A></nobr><br>
+<!-- Field reqGlEsVersion -->
+<nobr><A HREF="android.content.pm.ConfigurationInfo.html#android.content.pm.ConfigurationInfo.reqGlEsVersion" class="hiddenlink" target="rightframe">reqGlEsVersion</A>
+</nobr><br>
+<!-- Field resizeable -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.resizeable" class="hiddenlink" target="rightframe">resizeable</A>
+</nobr><br>
+<!-- Field resolveInfo -->
+<nobr><A HREF="android.app.LauncherActivity.ListItem.html#android.app.LauncherActivity.ListItem.resolveInfo" class="hiddenlink" target="rightframe">resolveInfo</A>
+</nobr><br>
+<!-- Field screenLayout -->
+<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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.screenLayout" class="hiddenlink" target="rightframe">screenLayout</A>
+</nobr><br>
+<!-- Field SCREENLAYOUT_LONG_MASK -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_LONG_MASK" class="hiddenlink" target="rightframe">SCREENLAYOUT_LONG_MASK</A>
+</nobr><br>
+<!-- Field SCREENLAYOUT_LONG_NO -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_LONG_NO" class="hiddenlink" target="rightframe">SCREENLAYOUT_LONG_NO</A>
+</nobr><br>
+<!-- Field SCREENLAYOUT_LONG_UNDEFINED -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_LONG_UNDEFINED" class="hiddenlink" target="rightframe">SCREENLAYOUT_LONG_UNDEFINED</A>
+</nobr><br>
+<!-- Field SCREENLAYOUT_LONG_YES -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_LONG_YES" class="hiddenlink" target="rightframe">SCREENLAYOUT_LONG_YES</A>
+</nobr><br>
+<!-- Field SCREENLAYOUT_SIZE_LARGE -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_SIZE_LARGE" class="hiddenlink" target="rightframe">SCREENLAYOUT_SIZE_LARGE</A>
+</nobr><br>
+<!-- Field SCREENLAYOUT_SIZE_MASK -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_SIZE_MASK" class="hiddenlink" target="rightframe">SCREENLAYOUT_SIZE_MASK</A>
+</nobr><br>
+<!-- Field SCREENLAYOUT_SIZE_NORMAL -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_SIZE_NORMAL" class="hiddenlink" target="rightframe">SCREENLAYOUT_SIZE_NORMAL</A>
+</nobr><br>
+<!-- Field SCREENLAYOUT_SIZE_SMALL -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_SIZE_SMALL" class="hiddenlink" target="rightframe">SCREENLAYOUT_SIZE_SMALL</A>
+</nobr><br>
+<!-- Field SCREENLAYOUT_SIZE_UNDEFINED -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_SIZE_UNDEFINED" class="hiddenlink" target="rightframe">SCREENLAYOUT_SIZE_UNDEFINED</A>
+</nobr><br>
+<!-- Field SDK_INT -->
+<nobr><A HREF="android.os.Build.VERSION.html#android.os.Build.VERSION.SDK_INT" class="hiddenlink" target="rightframe">SDK_INT</A>
+</nobr><br>
+<!-- Field searchSettingsDescription -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.searchSettingsDescription" class="hiddenlink" target="rightframe">searchSettingsDescription</A>
+</nobr><br>
+<!-- Field searchSuggestThreshold -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.searchSuggestThreshold" class="hiddenlink" target="rightframe">searchSuggestThreshold</A>
+</nobr><br>
+<!-- Method sendAccessibilityEvent -->
+<nobr><A HREF="android.view.View.html#android.view.View.sendAccessibilityEvent_added(int)" class="hiddenlink" target="rightframe"><b>sendAccessibilityEvent</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method sendAccessibilityEventUnchecked -->
+<nobr><A HREF="android.view.View.html#android.view.View.sendAccessibilityEventUnchecked_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe"><b>sendAccessibilityEventUnchecked</b>
+(<code>AccessibilityEvent</code>)</A></nobr><br>
+<!-- Method setContentDescription -->
+<nobr><A HREF="android.view.View.html#android.view.View.setContentDescription_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>setContentDescription</b>
+(<code>CharSequence</code>)</A></nobr><br>
+<!-- Method setDensity -->
+<i>setDensity</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.setDensity_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.graphics.Bitmap
+</A></nobr><br>
+<!-- Method setDensity -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Canvas.html#android.graphics.Canvas.setDensity_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.graphics.Canvas
+</A></nobr><br>
+<!-- Method setDividerDrawable -->
+<i>setDividerDrawable</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.setDividerDrawable_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Drawable</code>)</b>&nbsp;in&nbsp;android.widget.TabWidget
+</A></nobr><br>
+<!-- Method setDividerDrawable -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.setDividerDrawable_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.widget.TabWidget
+</A></nobr><br>
+<!-- Method setDropDownHeight -->
+<nobr><A HREF="android.widget.AutoCompleteTextView.html#android.widget.AutoCompleteTextView.setDropDownHeight_added(int)" class="hiddenlink" target="rightframe"><b>setDropDownHeight</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setIndicator -->
+<nobr><A HREF="android.widget.TabHost.TabSpec.html#android.widget.TabHost.TabSpec.setIndicator_added(android.view.View)" class="hiddenlink" target="rightframe"><b>setIndicator</b>
+(<code>View</code>)</A></nobr><br>
+<!-- Method setPackage -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.setPackage_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setPackage</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method setPathPermissions -->
+<nobr><A HREF="android.content.ContentProvider.html#android.content.ContentProvider.setPathPermissions_added(android.content.pm.PathPermission[])" class="hiddenlink" target="rightframe"><b>setPathPermissions</b>
+(<code>PathPermission[]</code>)</A></nobr><br>
+<!-- Method setPremises -->
+<nobr><A HREF="android.location.Address.html#android.location.Address.setPremises_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setPremises</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method setSoftInputMode -->
+<nobr><A HREF="android.widget.PopupWindow.html#android.widget.PopupWindow.setSoftInputMode_added(int)" class="hiddenlink" target="rightframe"><b>setSoftInputMode</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setSubLocality -->
+<nobr><A HREF="android.location.Address.html#android.location.Address.setSubLocality_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setSubLocality</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method setSubThoroughfare -->
+<nobr><A HREF="android.location.Address.html#android.location.Address.setSubThoroughfare_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setSubThoroughfare</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method setTag -->
+<nobr><A HREF="android.view.View.html#android.view.View.setTag_added(int, java.lang.Object)" class="hiddenlink" target="rightframe"><b>setTag</b>
+(<code>int, Object</code>)</A></nobr><br>
+<!-- Method setTargetDensity -->
+<i>setTargetDensity</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.BitmapDrawable.html#android.graphics.drawable.BitmapDrawable.setTargetDensity_added(android.graphics.Canvas)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Canvas</code>)</b>&nbsp;in&nbsp;android.graphics.drawable.BitmapDrawable
+</A></nobr><br>
+<!-- Method setTargetDensity -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.BitmapDrawable.html#android.graphics.drawable.BitmapDrawable.setTargetDensity_added(android.util.DisplayMetrics)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>DisplayMetrics</code>)</b>&nbsp;in&nbsp;android.graphics.drawable.BitmapDrawable
+</A></nobr><br>
+<!-- Method setTargetDensity -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.BitmapDrawable.html#android.graphics.drawable.BitmapDrawable.setTargetDensity_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.graphics.drawable.BitmapDrawable
+</A></nobr><br>
+<!-- Method setTargetDensity -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.NinePatchDrawable.html#android.graphics.drawable.NinePatchDrawable.setTargetDensity_added(android.graphics.Canvas)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Canvas</code>)</b>&nbsp;in&nbsp;android.graphics.drawable.NinePatchDrawable
+</A></nobr><br>
+<!-- Method setTargetDensity -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.NinePatchDrawable.html#android.graphics.drawable.NinePatchDrawable.setTargetDensity_added(android.util.DisplayMetrics)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>DisplayMetrics</code>)</b>&nbsp;in&nbsp;android.graphics.drawable.NinePatchDrawable
+</A></nobr><br>
+<!-- Method setTargetDensity -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.NinePatchDrawable.html#android.graphics.drawable.NinePatchDrawable.setTargetDensity_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.graphics.drawable.NinePatchDrawable
+</A></nobr><br>
+<!-- Field SHORTCUT_MIME_TYPE -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.SHORTCUT_MIME_TYPE" class="hiddenlink" target="rightframe">SHORTCUT_MIME_TYPE</A>
+</nobr><br>
+<!-- Field SHOW_WEB_SUGGESTIONS -->
+<nobr><A HREF="android.provider.Settings.System.html#android.provider.Settings.System.SHOW_WEB_SUGGESTIONS" class="hiddenlink" target="rightframe">SHOW_WEB_SUGGESTIONS</A>
+</nobr><br>
+<!-- Field smallScreens -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.smallScreens" class="hiddenlink" target="rightframe">smallScreens</A>
+</nobr><br>
+<!-- Class SmsManager -->
+<A HREF="pkg_android.telephony.html#SmsManager" class="hiddenlink" target="rightframe"><b>SmsManager</b></A><br>
+<!-- Class SmsMessage -->
+<A HREF="pkg_android.telephony.html#SmsMessage" class="hiddenlink" target="rightframe"><b>SmsMessage</b></A><br>
+<!-- Class SmsMessage.MessageClass -->
+<A HREF="pkg_android.telephony.html#SmsMessage.MessageClass" class="hiddenlink" target="rightframe"><b>SmsMessage.MessageClass</b></A><br>
+<!-- Class SmsMessage.SubmitPdu -->
+<A HREF="pkg_android.telephony.html#SmsMessage.SubmitPdu" class="hiddenlink" target="rightframe"><b>SmsMessage.SubmitPdu</b></A><br>
+<!-- Field stat_sys_vp_phone_call -->
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.stat_sys_vp_phone_call" class="hiddenlink" target="rightframe">stat_sys_vp_phone_call</A>
+</nobr><br>
+<!-- Field stat_sys_vp_phone_call_on_hold -->
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.stat_sys_vp_phone_call_on_hold" class="hiddenlink" target="rightframe">stat_sys_vp_phone_call_on_hold</A>
+</nobr><br>
+<!-- Field STORAGE -->
+<nobr><A HREF="android.Manifest.permission_group.html#android.Manifest.permission_group.STORAGE" class="hiddenlink" target="rightframe">STORAGE</A>
+</nobr><br>
+<!-- Field SUGGEST_COLUMN_INTENT_EXTRA_DATA -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.SUGGEST_COLUMN_INTENT_EXTRA_DATA" class="hiddenlink" target="rightframe">SUGGEST_COLUMN_INTENT_EXTRA_DATA</A>
+</nobr><br>
+<!-- Field SUGGEST_COLUMN_SHORTCUT_ID -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.SUGGEST_COLUMN_SHORTCUT_ID" class="hiddenlink" target="rightframe">SUGGEST_COLUMN_SHORTCUT_ID</A>
+</nobr><br>
+<!-- Field SUGGEST_COLUMN_SPINNER_WHILE_REFRESHING -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.SUGGEST_COLUMN_SPINNER_WHILE_REFRESHING" class="hiddenlink" target="rightframe">SUGGEST_COLUMN_SPINNER_WHILE_REFRESHING</A>
+</nobr><br>
+<!-- Field SUGGEST_NEVER_MAKE_SHORTCUT -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.SUGGEST_NEVER_MAKE_SHORTCUT" class="hiddenlink" target="rightframe">SUGGEST_NEVER_MAKE_SHORTCUT</A>
+</nobr><br>
+<!-- Field SUGGEST_URI_PATH_SHORTCUT -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.SUGGEST_URI_PATH_SHORTCUT" class="hiddenlink" target="rightframe">SUGGEST_URI_PATH_SHORTCUT</A>
+</nobr><br>
+<!-- Field SURFACE_FROZEN -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.SURFACE_FROZEN" class="hiddenlink" target="rightframe">SURFACE_FROZEN</A>
+</nobr><br>
+<!-- Field targetSdkVersion -->
+<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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#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>targetSdkVersion</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.targetSdkVersion" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field targetSdkVersion -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.targetSdkVersion" class="hiddenlink" target="rightframe">android.content.pm.ApplicationInfo</A>
+</nobr><br>
+<!-- Field tension -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.tension" class="hiddenlink" target="rightframe">tension</A>
+</nobr><br>
+<!-- Field testOnly -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.testOnly" class="hiddenlink" target="rightframe">testOnly</A>
+</nobr><br>
+<!-- Field textColorPrimaryInverseDisableOnly -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.textColorPrimaryInverseDisableOnly" class="hiddenlink" target="rightframe">textColorPrimaryInverseDisableOnly</A>
+</nobr><br>
+<!-- Field TONE_CDMA_ABBR_ALERT -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ABBR_ALERT" class="hiddenlink" target="rightframe">TONE_CDMA_ABBR_ALERT</A>
+</nobr><br>
+<!-- Field TONE_CDMA_ABBR_INTERCEPT -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ABBR_INTERCEPT" class="hiddenlink" target="rightframe">TONE_CDMA_ABBR_INTERCEPT</A>
+</nobr><br>
+<!-- Field TONE_CDMA_ABBR_REORDER -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ABBR_REORDER" class="hiddenlink" target="rightframe">TONE_CDMA_ABBR_REORDER</A>
+</nobr><br>
+<!-- Field TONE_CDMA_ALERT_AUTOREDIAL_LITE -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ALERT_AUTOREDIAL_LITE" class="hiddenlink" target="rightframe">TONE_CDMA_ALERT_AUTOREDIAL_LITE</A>
+</nobr><br>
+<!-- Field TONE_CDMA_ALERT_CALL_GUARD -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ALERT_CALL_GUARD" class="hiddenlink" target="rightframe">TONE_CDMA_ALERT_CALL_GUARD</A>
+</nobr><br>
+<!-- Field TONE_CDMA_ALERT_INCALL_LITE -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ALERT_INCALL_LITE" class="hiddenlink" target="rightframe">TONE_CDMA_ALERT_INCALL_LITE</A>
+</nobr><br>
+<!-- Field TONE_CDMA_ALERT_NETWORK_LITE -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ALERT_NETWORK_LITE" class="hiddenlink" target="rightframe">TONE_CDMA_ALERT_NETWORK_LITE</A>
+</nobr><br>
+<!-- Field TONE_CDMA_ANSWER -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ANSWER" class="hiddenlink" target="rightframe">TONE_CDMA_ANSWER</A>
+</nobr><br>
+<!-- Field TONE_CDMA_CALL_SIGNAL_ISDN_INTERGROUP -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_INTERGROUP" class="hiddenlink" target="rightframe">TONE_CDMA_CALL_SIGNAL_ISDN_INTERGROUP</A>
+</nobr><br>
+<!-- Field TONE_CDMA_CALL_SIGNAL_ISDN_NORMAL -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_NORMAL" class="hiddenlink" target="rightframe">TONE_CDMA_CALL_SIGNAL_ISDN_NORMAL</A>
+</nobr><br>
+<!-- Field TONE_CDMA_CALL_SIGNAL_ISDN_PAT3 -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_PAT3" class="hiddenlink" target="rightframe">TONE_CDMA_CALL_SIGNAL_ISDN_PAT3</A>
+</nobr><br>
+<!-- Field TONE_CDMA_CALL_SIGNAL_ISDN_PAT5 -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_PAT5" class="hiddenlink" target="rightframe">TONE_CDMA_CALL_SIGNAL_ISDN_PAT5</A>
+</nobr><br>
+<!-- Field TONE_CDMA_CALL_SIGNAL_ISDN_PAT6 -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_PAT6" class="hiddenlink" target="rightframe">TONE_CDMA_CALL_SIGNAL_ISDN_PAT6</A>
+</nobr><br>
+<!-- Field TONE_CDMA_CALL_SIGNAL_ISDN_PAT7 -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_PAT7" class="hiddenlink" target="rightframe">TONE_CDMA_CALL_SIGNAL_ISDN_PAT7</A>
+</nobr><br>
+<!-- Field TONE_CDMA_CALL_SIGNAL_ISDN_PING_RING -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_PING_RING" class="hiddenlink" target="rightframe">TONE_CDMA_CALL_SIGNAL_ISDN_PING_RING</A>
+</nobr><br>
+<!-- Field TONE_CDMA_CALL_SIGNAL_ISDN_SP_PRI -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_SP_PRI" class="hiddenlink" target="rightframe">TONE_CDMA_CALL_SIGNAL_ISDN_SP_PRI</A>
+</nobr><br>
+<!-- Field TONE_CDMA_CALLDROP_LITE -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALLDROP_LITE" class="hiddenlink" target="rightframe">TONE_CDMA_CALLDROP_LITE</A>
+</nobr><br>
+<!-- Field TONE_CDMA_CONFIRM -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CONFIRM" class="hiddenlink" target="rightframe">TONE_CDMA_CONFIRM</A>
+</nobr><br>
+<!-- Field TONE_CDMA_DIAL_TONE_LITE -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_DIAL_TONE_LITE" class="hiddenlink" target="rightframe">TONE_CDMA_DIAL_TONE_LITE</A>
+</nobr><br>
+<!-- Field TONE_CDMA_EMERGENCY_RINGBACK -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_EMERGENCY_RINGBACK" class="hiddenlink" target="rightframe">TONE_CDMA_EMERGENCY_RINGBACK</A>
+</nobr><br>
+<!-- Field TONE_CDMA_HIGH_L -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_L" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_L</A>
+</nobr><br>
+<!-- Field TONE_CDMA_HIGH_PBX_L -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_PBX_L" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_PBX_L</A>
+</nobr><br>
+<!-- Field TONE_CDMA_HIGH_PBX_S_X4 -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_PBX_S_X4" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_PBX_S_X4</A>
+</nobr><br>
+<!-- Field TONE_CDMA_HIGH_PBX_SLS -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_PBX_SLS" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_PBX_SLS</A>
+</nobr><br>
+<!-- Field TONE_CDMA_HIGH_PBX_SS -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_PBX_SS" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_PBX_SS</A>
+</nobr><br>
+<!-- Field TONE_CDMA_HIGH_PBX_SSL -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_PBX_SSL" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_PBX_SSL</A>
+</nobr><br>
+<!-- Field TONE_CDMA_HIGH_S_X4 -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_S_X4" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_S_X4</A>
+</nobr><br>
+<!-- Field TONE_CDMA_HIGH_SLS -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_SLS" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_SLS</A>
+</nobr><br>
+<!-- Field TONE_CDMA_HIGH_SS -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_SS" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_SS</A>
+</nobr><br>
+<!-- Field TONE_CDMA_HIGH_SS_2 -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_SS_2" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_SS_2</A>
+</nobr><br>
+<!-- Field TONE_CDMA_HIGH_SSL -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_SSL" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_SSL</A>
+</nobr><br>
+<!-- Field TONE_CDMA_INTERCEPT -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_INTERCEPT" class="hiddenlink" target="rightframe">TONE_CDMA_INTERCEPT</A>
+</nobr><br>
+<!-- Field TONE_CDMA_KEYPAD_VOLUME_KEY_LITE -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_KEYPAD_VOLUME_KEY_LITE" class="hiddenlink" target="rightframe">TONE_CDMA_KEYPAD_VOLUME_KEY_LITE</A>
+</nobr><br>
+<!-- Field TONE_CDMA_LOW_L -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_L" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_L</A>
+</nobr><br>
+<!-- Field TONE_CDMA_LOW_PBX_L -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_PBX_L" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_PBX_L</A>
+</nobr><br>
+<!-- Field TONE_CDMA_LOW_PBX_S_X4 -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_PBX_S_X4" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_PBX_S_X4</A>
+</nobr><br>
+<!-- Field TONE_CDMA_LOW_PBX_SLS -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_PBX_SLS" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_PBX_SLS</A>
+</nobr><br>
+<!-- Field TONE_CDMA_LOW_PBX_SS -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_PBX_SS" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_PBX_SS</A>
+</nobr><br>
+<!-- Field TONE_CDMA_LOW_PBX_SSL -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_PBX_SSL" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_PBX_SSL</A>
+</nobr><br>
+<!-- Field TONE_CDMA_LOW_S_X4 -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_S_X4" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_S_X4</A>
+</nobr><br>
+<!-- Field TONE_CDMA_LOW_SLS -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_SLS" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_SLS</A>
+</nobr><br>
+<!-- Field TONE_CDMA_LOW_SS -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_SS" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_SS</A>
+</nobr><br>
+<!-- Field TONE_CDMA_LOW_SS_2 -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_SS_2" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_SS_2</A>
+</nobr><br>
+<!-- Field TONE_CDMA_LOW_SSL -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_SSL" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_SSL</A>
+</nobr><br>
+<!-- Field TONE_CDMA_MED_L -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_L" class="hiddenlink" target="rightframe">TONE_CDMA_MED_L</A>
+</nobr><br>
+<!-- Field TONE_CDMA_MED_PBX_L -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_PBX_L" class="hiddenlink" target="rightframe">TONE_CDMA_MED_PBX_L</A>
+</nobr><br>
+<!-- Field TONE_CDMA_MED_PBX_S_X4 -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_PBX_S_X4" class="hiddenlink" target="rightframe">TONE_CDMA_MED_PBX_S_X4</A>
+</nobr><br>
+<!-- Field TONE_CDMA_MED_PBX_SLS -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_PBX_SLS" class="hiddenlink" target="rightframe">TONE_CDMA_MED_PBX_SLS</A>
+</nobr><br>
+<!-- Field TONE_CDMA_MED_PBX_SS -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_PBX_SS" class="hiddenlink" target="rightframe">TONE_CDMA_MED_PBX_SS</A>
+</nobr><br>
+<!-- Field TONE_CDMA_MED_PBX_SSL -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_PBX_SSL" class="hiddenlink" target="rightframe">TONE_CDMA_MED_PBX_SSL</A>
+</nobr><br>
+<!-- Field TONE_CDMA_MED_S_X4 -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_S_X4" class="hiddenlink" target="rightframe">TONE_CDMA_MED_S_X4</A>
+</nobr><br>
+<!-- Field TONE_CDMA_MED_SLS -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_SLS" class="hiddenlink" target="rightframe">TONE_CDMA_MED_SLS</A>
+</nobr><br>
+<!-- Field TONE_CDMA_MED_SS -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_SS" class="hiddenlink" target="rightframe">TONE_CDMA_MED_SS</A>
+</nobr><br>
+<!-- Field TONE_CDMA_MED_SS_2 -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_SS_2" class="hiddenlink" target="rightframe">TONE_CDMA_MED_SS_2</A>
+</nobr><br>
+<!-- Field TONE_CDMA_MED_SSL -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_SSL" class="hiddenlink" target="rightframe">TONE_CDMA_MED_SSL</A>
+</nobr><br>
+<!-- Field TONE_CDMA_NETWORK_BUSY -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_NETWORK_BUSY" class="hiddenlink" target="rightframe">TONE_CDMA_NETWORK_BUSY</A>
+</nobr><br>
+<!-- Field TONE_CDMA_NETWORK_BUSY_ONE_SHOT -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_NETWORK_BUSY_ONE_SHOT" class="hiddenlink" target="rightframe">TONE_CDMA_NETWORK_BUSY_ONE_SHOT</A>
+</nobr><br>
+<!-- Field TONE_CDMA_NETWORK_CALLWAITING -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_NETWORK_CALLWAITING" class="hiddenlink" target="rightframe">TONE_CDMA_NETWORK_CALLWAITING</A>
+</nobr><br>
+<!-- Field TONE_CDMA_NETWORK_USA_RINGBACK -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_NETWORK_USA_RINGBACK" class="hiddenlink" target="rightframe">TONE_CDMA_NETWORK_USA_RINGBACK</A>
+</nobr><br>
+<!-- Field TONE_CDMA_ONE_MIN_BEEP -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ONE_MIN_BEEP" class="hiddenlink" target="rightframe">TONE_CDMA_ONE_MIN_BEEP</A>
+</nobr><br>
+<!-- Field TONE_CDMA_PIP -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_PIP" class="hiddenlink" target="rightframe">TONE_CDMA_PIP</A>
+</nobr><br>
+<!-- Field TONE_CDMA_PRESSHOLDKEY_LITE -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_PRESSHOLDKEY_LITE" class="hiddenlink" target="rightframe">TONE_CDMA_PRESSHOLDKEY_LITE</A>
+</nobr><br>
+<!-- Field TONE_CDMA_REORDER -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_REORDER" class="hiddenlink" target="rightframe">TONE_CDMA_REORDER</A>
+</nobr><br>
+<!-- Field TONE_CDMA_SIGNAL_OFF -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_SIGNAL_OFF" class="hiddenlink" target="rightframe">TONE_CDMA_SIGNAL_OFF</A>
+</nobr><br>
+<!-- Field TONE_CDMA_SOFT_ERROR_LITE -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_SOFT_ERROR_LITE" class="hiddenlink" target="rightframe">TONE_CDMA_SOFT_ERROR_LITE</A>
+</nobr><br>
+<!-- Field TONE_SUP_CONFIRM -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_SUP_CONFIRM" class="hiddenlink" target="rightframe">TONE_SUP_CONFIRM</A>
+</nobr><br>
+<!-- Field TONE_SUP_CONGESTION_ABBREV -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_SUP_CONGESTION_ABBREV" class="hiddenlink" target="rightframe">TONE_SUP_CONGESTION_ABBREV</A>
+</nobr><br>
+<!-- Field TONE_SUP_INTERCEPT -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_SUP_INTERCEPT" class="hiddenlink" target="rightframe">TONE_SUP_INTERCEPT</A>
+</nobr><br>
+<!-- Field TONE_SUP_INTERCEPT_ABBREV -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_SUP_INTERCEPT_ABBREV" class="hiddenlink" target="rightframe">TONE_SUP_INTERCEPT_ABBREV</A>
+</nobr><br>
+<!-- Field TONE_SUP_PIP -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_SUP_PIP" class="hiddenlink" target="rightframe">TONE_SUP_PIP</A>
+</nobr><br>
+<!-- Method toUri -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.toUri_added(int)" class="hiddenlink" target="rightframe"><b>toUri</b>
+(<code>int</code>)</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_PITCH -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.TTS_DEFAULT_PITCH" class="hiddenlink" target="rightframe">TTS_DEFAULT_PITCH</A>
+</nobr><br>
+<!-- Field TTS_DEFAULT_RATE -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.TTS_DEFAULT_RATE" class="hiddenlink" target="rightframe">TTS_DEFAULT_RATE</A>
+</nobr><br>
+<!-- Field TTS_DEFAULT_SYNTH -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.TTS_DEFAULT_SYNTH" class="hiddenlink" target="rightframe">TTS_DEFAULT_SYNTH</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 uncertainGestureColor -->
+<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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#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.uncertainGestureColor" class="hiddenlink" target="rightframe">uncertainGestureColor</A>
+</nobr><br>
+<!-- Method update -->
+<nobr><A HREF="android.widget.PopupWindow.html#android.widget.PopupWindow.update_added(int, int)" class="hiddenlink" target="rightframe"><b>update</b>
+(<code>int, int</code>)</A></nobr><br>
+<!-- Field URI_INTENT_SCHEME -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.URI_INTENT_SCHEME" class="hiddenlink" target="rightframe">URI_INTENT_SCHEME</A>
+</nobr><br>
+<!-- Field USER_QUERY -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.USER_QUERY" class="hiddenlink" target="rightframe">USER_QUERY</A>
+</nobr><br>
+<!-- Class ViewDebug.FlagToString -->
+<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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#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#ViewDebug.FlagToString" class="hiddenlink" target="rightframe"><b>ViewDebug.FlagToString</b></A><br>
+<!-- Field VOICE_CALL -->
+<nobr><A HREF="android.media.MediaRecorder.AudioSource.html#android.media.MediaRecorder.AudioSource.VOICE_CALL" class="hiddenlink" target="rightframe">VOICE_CALL</A>
+</nobr><br>
+<!-- Field VOICE_DOWNLINK -->
+<nobr><A HREF="android.media.MediaRecorder.AudioSource.html#android.media.MediaRecorder.AudioSource.VOICE_DOWNLINK" class="hiddenlink" target="rightframe">VOICE_DOWNLINK</A>
+</nobr><br>
+<!-- Field VOICE_UPLINK -->
+<nobr><A HREF="android.media.MediaRecorder.AudioSource.html#android.media.MediaRecorder.AudioSource.VOICE_UPLINK" class="hiddenlink" target="rightframe">VOICE_UPLINK</A>
+</nobr><br>
+<!-- Field Widget_ProgressBar_Inverse -->
+<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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+ <a href="#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_ProgressBar_Inverse" class="hiddenlink" target="rightframe">Widget_ProgressBar_Inverse</A>
+</nobr><br>
+<!-- Field Widget_ProgressBar_Large_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_ProgressBar_Large_Inverse" class="hiddenlink" target="rightframe">Widget_ProgressBar_Large_Inverse</A>
+</nobr><br>
+<!-- Field Widget_ProgressBar_Small_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_ProgressBar_Small_Inverse" class="hiddenlink" target="rightframe">Widget_ProgressBar_Small_Inverse</A>
+</nobr><br>
+<!-- Class WifiManager.MulticastLock -->
+<A HREF="pkg_android.net.wifi.html#WifiManager.MulticastLock" class="hiddenlink" target="rightframe"><b>WifiManager.MulticastLock</b></A><br>
+<!-- Field WRITE_EXTERNAL_STORAGE -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.WRITE_EXTERNAL_STORAGE" class="hiddenlink" target="rightframe">WRITE_EXTERNAL_STORAGE</A>
+</nobr><br>
+<!-- Field WRITE_HISTORY_BOOKMARKS -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.WRITE_HISTORY_BOOKMARKS" class="hiddenlink" target="rightframe">WRITE_HISTORY_BOOKMARKS</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/4/changes/alldiffs_index_all.html b/docs/html/sdk/api_diff/4/changes/alldiffs_index_all.html
new file mode 100644
index 0000000..d20054b
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/alldiffs_index_all.html
@@ -0,0 +1,3104 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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">
+<font size="-2"><strong>Bold</strong>&nbsp;indicates&nbsp;New;&nbsp;<strike>Strike</strike>&nbsp;indicates&nbsp;deleted. Plain indicates changed.</font>
+</div>
+<!-- Field ACCESSIBILITY_ENABLED -->
+<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="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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.ACCESSIBILITY_ENABLED" class="hiddenlink" target="rightframe">ACCESSIBILITY_ENABLED</A>
+</nobr><br>
+<!-- Field ACCESSIBILITY_SERVICE -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.ACCESSIBILITY_SERVICE" class="hiddenlink" target="rightframe">ACCESSIBILITY_SERVICE</A>
+</nobr><br>
+<!-- Field ACTION_BATTERY_OKAY -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_BATTERY_OKAY" class="hiddenlink" target="rightframe">ACTION_BATTERY_OKAY</A>
+</nobr><br>
+<!-- Field ACTION_POWER_CONNECTED -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_POWER_CONNECTED" class="hiddenlink" target="rightframe">ACTION_POWER_CONNECTED</A>
+</nobr><br>
+<!-- Field ACTION_POWER_DISCONNECTED -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_POWER_DISCONNECTED" class="hiddenlink" target="rightframe">ACTION_POWER_DISCONNECTED</A>
+</nobr><br>
+<!-- Field ACTION_POWER_USAGE_SUMMARY -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_POWER_USAGE_SUMMARY" class="hiddenlink" target="rightframe">ACTION_POWER_USAGE_SUMMARY</A>
+</nobr><br>
+<!-- Field ACTION_SEND_MULTIPLE -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_SEND_MULTIPLE" class="hiddenlink" target="rightframe">ACTION_SEND_MULTIPLE</A>
+</nobr><br>
+<!-- Field ACTION_SHUTDOWN -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_SHUTDOWN" class="hiddenlink" target="rightframe">ACTION_SHUTDOWN</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>
+<!-- Field ADD_SYSTEM_SERVICE -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.ADD_SYSTEM_SERVICE" class="hiddenlink" target="rightframe"><strike>ADD_SYSTEM_SERVICE</strike></A>
+</nobr><br>
+<!-- Method addFocusables -->
+<nobr><A HREF="android.view.View.html#android.view.View.addFocusables_added(java.util.ArrayList<android.view.View>, int, int)" class="hiddenlink" target="rightframe"><b>addFocusables</b>
+(<code>ArrayList&lt;View&gt;, int, int</code>)</A></nobr><br>
+<!-- Class Address -->
+<A HREF="android.location.Address.html" class="hiddenlink" target="rightframe">Address</A><br>
+<!-- Field allowBackup -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.allowBackup" class="hiddenlink" target="rightframe">allowBackup</A>
+</nobr><br>
+<!-- Package android -->
+<A HREF="pkg_android.html" class="hiddenlink" target="rightframe">android</A><br>
+<!-- Package android.accessibilityservice -->
+<A HREF="changes-summary.html#android.accessibilityservice" class="hiddenlink" target="rightframe"><b>android.accessibilityservice</b></A><br>
+<!-- Package android.app -->
+<A HREF="pkg_android.app.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<!-- Package android.content -->
+<A HREF="pkg_android.content.html" class="hiddenlink" target="rightframe">android.content</A><br>
+<!-- Package android.content.pm -->
+<A HREF="pkg_android.content.pm.html" class="hiddenlink" target="rightframe">android.content.pm</A><br>
+<!-- Package android.content.res -->
+<A HREF="pkg_android.content.res.html" class="hiddenlink" target="rightframe">android.content.res</A><br>
+<!-- Package android.gesture -->
+<A HREF="changes-summary.html#android.gesture" class="hiddenlink" target="rightframe"><b>android.gesture</b></A><br>
+<!-- Package android.graphics -->
+<A HREF="pkg_android.graphics.html" class="hiddenlink" target="rightframe">android.graphics</A><br>
+<!-- Package android.graphics.drawable -->
+<A HREF="pkg_android.graphics.drawable.html" class="hiddenlink" target="rightframe">android.graphics.drawable</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.location -->
+<A HREF="pkg_android.location.html" class="hiddenlink" target="rightframe">android.location</A><br>
+<!-- Package android.media -->
+<A HREF="pkg_android.media.html" class="hiddenlink" target="rightframe">android.media</A><br>
+<!-- Package android.net.wifi -->
+<A HREF="pkg_android.net.wifi.html" class="hiddenlink" target="rightframe">android.net.wifi</A><br>
+<!-- Package android.opengl -->
+<A HREF="pkg_android.opengl.html" class="hiddenlink" target="rightframe">android.opengl</A><br>
+<!-- Package android.os -->
+<A HREF="pkg_android.os.html" class="hiddenlink" target="rightframe">android.os</A><br>
+<!-- Package android.provider -->
+<A HREF="pkg_android.provider.html" class="hiddenlink" target="rightframe">android.provider</A><br>
+<!-- Package android.speech.tts -->
+<A HREF="changes-summary.html#android.speech.tts" class="hiddenlink" target="rightframe"><b>android.speech.tts</b></A><br>
+<!-- Package android.telephony -->
+<A HREF="pkg_android.telephony.html" class="hiddenlink" target="rightframe">android.telephony</A><br>
+<!-- Package android.telephony.gsm -->
+<A HREF="pkg_android.telephony.gsm.html" class="hiddenlink" target="rightframe">android.telephony.gsm</A><br>
+<!-- Package android.test -->
+<A HREF="pkg_android.test.html" class="hiddenlink" target="rightframe">android.test</A><br>
+<!-- Package android.test.mock -->
+<A HREF="pkg_android.test.mock.html" class="hiddenlink" target="rightframe">android.test.mock</A><br>
+<!-- Package android.text.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="changes-summary.html#android.view.accessibility" class="hiddenlink" target="rightframe"><b>android.view.accessibility</b></A><br>
+<!-- Package android.view.animation -->
+<A HREF="pkg_android.view.animation.html" class="hiddenlink" target="rightframe">android.view.animation</A><br>
+<!-- Package android.widget -->
+<A HREF="pkg_android.widget.html" class="hiddenlink" target="rightframe">android.widget</A><br>
+<!-- Class AndroidTestCase -->
+<A HREF="android.test.AndroidTestCase.html" class="hiddenlink" target="rightframe">AndroidTestCase</A><br>
+<!-- Class Animatable -->
+<A HREF="pkg_android.graphics.drawable.html#Animatable" class="hiddenlink" target="rightframe"><b><i>Animatable</i></b></A><br>
+<!-- Class AnimationDrawable -->
+<A HREF="android.graphics.drawable.AnimationDrawable.html" class="hiddenlink" target="rightframe">AnimationDrawable</A><br>
+<!-- Field anticipate_interpolator -->
+<nobr><A HREF="android.R.anim.html#android.R.anim.anticipate_interpolator" class="hiddenlink" target="rightframe">anticipate_interpolator</A>
+</nobr><br>
+<!-- Field anticipate_overshoot_interpolator -->
+<nobr><A HREF="android.R.anim.html#android.R.anim.anticipate_overshoot_interpolator" class="hiddenlink" target="rightframe">anticipate_overshoot_interpolator</A>
+</nobr><br>
+<!-- Class AnticipateInterpolator -->
+<A HREF="pkg_android.view.animation.html#AnticipateInterpolator" class="hiddenlink" target="rightframe"><b>AnticipateInterpolator</b></A><br>
+<!-- Class AnticipateOvershootInterpolator -->
+<A HREF="pkg_android.view.animation.html#AnticipateOvershootInterpolator" class="hiddenlink" target="rightframe"><b>AnticipateOvershootInterpolator</b></A><br>
+<!-- Field anyDensity -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.anyDensity" class="hiddenlink" target="rightframe">anyDensity</A>
+</nobr><br>
+<!-- Class ApplicationInfo -->
+<A HREF="android.content.pm.ApplicationInfo.html" class="hiddenlink" target="rightframe">ApplicationInfo</A><br>
+<!-- Method assertActivityRequiresPermission -->
+<nobr><A HREF="android.test.AndroidTestCase.html#android.test.AndroidTestCase.assertActivityRequiresPermission_added(java.lang.String, java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe"><b>assertActivityRequiresPermission</b>
+(<code>String, String, String</code>)</A></nobr><br>
+<!-- Method assertReadingContentUriRequiresPermission -->
+<nobr><A HREF="android.test.AndroidTestCase.html#android.test.AndroidTestCase.assertReadingContentUriRequiresPermission_added(android.net.Uri, java.lang.String)" class="hiddenlink" target="rightframe"><b>assertReadingContentUriRequiresPermission</b>
+(<code>Uri, String</code>)</A></nobr><br>
+<!-- Method assertWritingContentUriRequiresPermission -->
+<nobr><A HREF="android.test.AndroidTestCase.html#android.test.AndroidTestCase.assertWritingContentUriRequiresPermission_added(android.net.Uri, java.lang.String)" class="hiddenlink" target="rightframe"><b>assertWritingContentUriRequiresPermission</b>
+(<code>Uri, String</code>)</A></nobr><br>
+<!-- Class AudioManager -->
+<A HREF="android.media.AudioManager.html" class="hiddenlink" target="rightframe">AudioManager</A><br>
+<!-- Class AutoCompleteTextView -->
+<A HREF="android.widget.AutoCompleteTextView.html" class="hiddenlink" target="rightframe">AutoCompleteTextView</A><br>
+<!-- Field autoUrlDetect -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.autoUrlDetect" class="hiddenlink" target="rightframe">autoUrlDetect</A>
+</nobr><br>
+<!-- Field backupAgent -->
+<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="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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.backupAgent" class="hiddenlink" target="rightframe">backupAgent</A>
+</nobr><br>
+<!-- Class Bitmap -->
+<A HREF="android.graphics.Bitmap.html" class="hiddenlink" target="rightframe">Bitmap</A><br>
+<!-- Class BitmapDrawable -->
+<i>BitmapDrawable</i><br>
+&nbsp;&nbsp;<A HREF="android.graphics.drawable.BitmapDrawable.html" class="hiddenlink" target="rightframe">android.graphics.drawable</A><br>
+<!-- Constructor BitmapDrawable -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.BitmapDrawable.html#android.graphics.drawable.BitmapDrawable.ctor_added(android.content.res.Resources)" class="hiddenlink" target="rightframe"><b>BitmapDrawable</b>
+(<code>Resources</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor BitmapDrawable -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.BitmapDrawable.html#android.graphics.drawable.BitmapDrawable.ctor_added(android.content.res.Resources, android.graphics.Bitmap)" class="hiddenlink" target="rightframe"><b>BitmapDrawable</b>
+(<code>Resources, Bitmap</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor BitmapDrawable -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.BitmapDrawable.html#android.graphics.drawable.BitmapDrawable.ctor_changed()" class="hiddenlink" target="rightframe">BitmapDrawable
+()</A></nobr>&nbsp;constructor<br>
+<!-- Constructor BitmapDrawable -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.BitmapDrawable.html#android.graphics.drawable.BitmapDrawable.ctor_changed(android.graphics.Bitmap)" class="hiddenlink" target="rightframe">BitmapDrawable
+(<code>Bitmap</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class BitmapFactory -->
+<A HREF="android.graphics.BitmapFactory.html" class="hiddenlink" target="rightframe">BitmapFactory</A><br>
+<!-- Class BitmapFactory.Options -->
+<A HREF="android.graphics.BitmapFactory.Options.html" class="hiddenlink" target="rightframe">BitmapFactory.Options</A><br>
+<!-- Field bounce_interpolator -->
+<nobr><A HREF="android.R.anim.html#android.R.anim.bounce_interpolator" class="hiddenlink" target="rightframe">bounce_interpolator</A>
+</nobr><br>
+<!-- Class BounceInterpolator -->
+<A HREF="pkg_android.view.animation.html#BounceInterpolator" class="hiddenlink" target="rightframe"><b>BounceInterpolator</b></A><br>
+<!-- Class Build -->
+<A HREF="android.os.Build.html" class="hiddenlink" target="rightframe">Build</A><br>
+<!-- Class Build.VERSION -->
+<A HREF="android.os.Build.VERSION.html" class="hiddenlink" target="rightframe">Build.VERSION</A><br>
+<!-- Class Build.VERSION_CODES -->
+<A HREF="pkg_android.os.html#Build.VERSION_CODES" class="hiddenlink" target="rightframe"><b>Build.VERSION_CODES</b></A><br>
+<!-- Method buildDrawingCache -->
+<nobr><A HREF="android.view.View.html#android.view.View.buildDrawingCache_added(boolean)" class="hiddenlink" target="rightframe"><b>buildDrawingCache</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method calculateLength -->
+<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="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>calculateLength</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.calculateLength_changed(java.lang.CharSequence, boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>CharSequence, boolean</code>)&nbsp;in&nbsp;android.telephony.gsm.SmsMessage
+</A></nobr><br>
+<!-- Method calculateLength -->
+&nbsp;&nbsp;<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.calculateLength_changed(java.lang.String, boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, boolean</code>)&nbsp;in&nbsp;android.telephony.gsm.SmsMessage
+</A></nobr><br>
+<!-- Class Canvas -->
+<A HREF="android.graphics.Canvas.html" class="hiddenlink" target="rightframe">Canvas</A><br>
+<!-- Field CHANGE_WIFI_MULTICAST_STATE -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.CHANGE_WIFI_MULTICAST_STATE" class="hiddenlink" target="rightframe">CHANGE_WIFI_MULTICAST_STATE</A>
+</nobr><br>
+<!-- Class CheckedTextView -->
+<A HREF="android.widget.CheckedTextView.html" class="hiddenlink" target="rightframe">CheckedTextView</A><br>
+<!-- Field CODENAME -->
+<nobr><A HREF="android.os.Build.VERSION.html#android.os.Build.VERSION.CODENAME" class="hiddenlink" target="rightframe">CODENAME</A>
+</nobr><br>
+<!-- Method compareTo -->
+<nobr><A HREF="android.content.ComponentName.html#android.content.ComponentName.compareTo_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>compareTo</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<!-- Class ComponentName -->
+<A HREF="android.content.ComponentName.html" class="hiddenlink" target="rightframe">ComponentName</A><br>
+<!-- Method computeCurrentVelocity -->
+<nobr><A HREF="android.view.VelocityTracker.html#android.view.VelocityTracker.computeCurrentVelocity_added(int, float)" class="hiddenlink" target="rightframe"><b>computeCurrentVelocity</b>
+(<code>int, float</code>)</A></nobr><br>
+<!-- Class Config -->
+<A HREF="android.util.Config.html" class="hiddenlink" target="rightframe">Config</A><br>
+<!-- Field CONFIG_SCREEN_LAYOUT -->
+<nobr><A HREF="android.content.pm.ActivityInfo.html#android.content.pm.ActivityInfo.CONFIG_SCREEN_LAYOUT" class="hiddenlink" target="rightframe">CONFIG_SCREEN_LAYOUT</A>
+</nobr><br>
+<!-- Class Configuration -->
+<A HREF="android.content.res.Configuration.html" class="hiddenlink" target="rightframe">Configuration</A><br>
+<!-- Class ConfigurationInfo -->
+<A HREF="android.content.pm.ConfigurationInfo.html" class="hiddenlink" target="rightframe">ConfigurationInfo</A><br>
+<!-- Field contentDescription -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.contentDescription" class="hiddenlink" target="rightframe">contentDescription</A>
+</nobr><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>
+<!-- Field CONTEXT_RESTRICTED -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.CONTEXT_RESTRICTED" class="hiddenlink" target="rightframe">CONTEXT_RESTRICTED</A>
+</nobr><br>
+<!-- Class ContextWrapper -->
+<A HREF="android.content.ContextWrapper.html" class="hiddenlink" target="rightframe">ContextWrapper</A><br>
+<!-- Field CPU_ABI -->
+<nobr><A HREF="android.os.Build.html#android.os.Build.CPU_ABI" class="hiddenlink" target="rightframe">CPU_ABI</A>
+</nobr><br>
+<!-- Method createFromFile -->
+<i>createFromFile</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Typeface.html#android.graphics.Typeface.createFromFile_added(java.io.File)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>File</code>)</b>&nbsp;in&nbsp;android.graphics.Typeface
+</A></nobr><br>
+<!-- Method createFromFile -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Typeface.html#android.graphics.Typeface.createFromFile_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.graphics.Typeface
+</A></nobr><br>
+<!-- Method createFromPdu -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.createFromPdu_changed(byte[])" class="hiddenlink" target="rightframe">createFromPdu
+(<code>byte[]</code>)</A></nobr><br>
+<!-- Method createFromResourceStream -->
+<nobr><A HREF="android.graphics.drawable.Drawable.html#android.graphics.drawable.Drawable.createFromResourceStream_added(android.content.res.Resources, android.util.TypedValue, java.io.InputStream, java.lang.String)" class="hiddenlink" target="rightframe"><b>createFromResourceStream</b>
+(<code>Resources, TypedValue, InputStream, String</code>)</A></nobr><br>
+<!-- Method createMulticastLock -->
+<nobr><A HREF="android.net.wifi.WifiManager.html#android.net.wifi.WifiManager.createMulticastLock_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>createMulticastLock</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Class Date -->
+<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="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>Date</i><br>
+&nbsp;&nbsp;<A HREF="java.util.Date.html" class="hiddenlink" target="rightframe">java.util</A><br>
+<!-- Constructor Date -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Date.html#java.util.Date.ctor_changed()" class="hiddenlink" target="rightframe">Date
+()</A></nobr>&nbsp;constructor<br>
+<!-- Constructor Date -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Date.html#java.util.Date.ctor_changed(int, int, int, int, int, int)" class="hiddenlink" target="rightframe">Date
+(<code>int, int, int, int, int, int</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Method decodeResourceStream -->
+<nobr><A HREF="android.graphics.BitmapFactory.html#android.graphics.BitmapFactory.decodeResourceStream_added(android.content.res.Resources, android.util.TypedValue, java.io.InputStream, android.graphics.Rect, android.graphics.BitmapFactory.Options)" class="hiddenlink" target="rightframe"><b>decodeResourceStream</b>
+(<code>Resources, TypedValue, InputStream, Rect, Options</code>)</A></nobr><br>
+<!-- Field DEFAULT_SORT_ORDER -->
+<i>DEFAULT_SORT_ORDER</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.provider.MediaStore.Audio.Genres.Members.html#android.provider.MediaStore.Audio.Genres.Members.DEFAULT_SORT_ORDER" class="hiddenlink" target="rightframe">android.provider.MediaStore.Audio.Genres.Members</A>
+</nobr><br>
+<!-- Field DEFAULT_SORT_ORDER -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.provider.MediaStore.Audio.Media.html#android.provider.MediaStore.Audio.Media.DEFAULT_SORT_ORDER" class="hiddenlink" target="rightframe">android.provider.MediaStore.Audio.Media</A>
+</nobr><br>
+<!-- Field density -->
+<nobr><A HREF="android.util.TypedValue.html#android.util.TypedValue.density" class="hiddenlink" target="rightframe">density</A>
+</nobr><br>
+<!-- Field DENSITY_DEFAULT -->
+<i>DENSITY_DEFAULT</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.util.DisplayMetrics.html#android.util.DisplayMetrics.DENSITY_DEFAULT" class="hiddenlink" target="rightframe">android.util.DisplayMetrics</A>
+</nobr><br>
+<!-- Field DENSITY_DEFAULT -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.util.TypedValue.html#android.util.TypedValue.DENSITY_DEFAULT" class="hiddenlink" target="rightframe">android.util.TypedValue</A>
+</nobr><br>
+<!-- Field DENSITY_HIGH -->
+<nobr><A HREF="android.util.DisplayMetrics.html#android.util.DisplayMetrics.DENSITY_HIGH" class="hiddenlink" target="rightframe">DENSITY_HIGH</A>
+</nobr><br>
+<!-- Field DENSITY_LOW -->
+<nobr><A HREF="android.util.DisplayMetrics.html#android.util.DisplayMetrics.DENSITY_LOW" class="hiddenlink" target="rightframe">DENSITY_LOW</A>
+</nobr><br>
+<!-- Field DENSITY_MEDIUM -->
+<nobr><A HREF="android.util.DisplayMetrics.html#android.util.DisplayMetrics.DENSITY_MEDIUM" class="hiddenlink" target="rightframe">DENSITY_MEDIUM</A>
+</nobr><br>
+<!-- Field DENSITY_NONE -->
+<i>DENSITY_NONE</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.DENSITY_NONE" class="hiddenlink" target="rightframe">android.graphics.Bitmap</A>
+</nobr><br>
+<!-- Field DENSITY_NONE -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.util.TypedValue.html#android.util.TypedValue.DENSITY_NONE" class="hiddenlink" target="rightframe">android.util.TypedValue</A>
+</nobr><br>
+<!-- Field densityDpi -->
+<nobr><A HREF="android.util.DisplayMetrics.html#android.util.DisplayMetrics.densityDpi" class="hiddenlink" target="rightframe">densityDpi</A>
+</nobr><br>
+<!-- Class Dialog -->
+<A HREF="android.app.Dialog.html" class="hiddenlink" target="rightframe">Dialog</A><br>
+<!-- Method dispatchPopulateAccessibilityEvent -->
+<i>dispatchPopulateAccessibilityEvent</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Activity.html#android.app.Activity.dispatchPopulateAccessibilityEvent_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AccessibilityEvent</code>)</b>&nbsp;in&nbsp;android.app.Activity
+</A></nobr><br>
+<!-- Method dispatchPopulateAccessibilityEvent -->
+&nbsp;&nbsp;<nobr><A HREF="android.app.Dialog.html#android.app.Dialog.dispatchPopulateAccessibilityEvent_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AccessibilityEvent</code>)</b>&nbsp;in&nbsp;android.app.Dialog
+</A></nobr><br>
+<!-- Method dispatchPopulateAccessibilityEvent -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.View.html#android.view.View.dispatchPopulateAccessibilityEvent_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AccessibilityEvent</code>)</b>&nbsp;in&nbsp;android.view.View
+</A></nobr><br>
+<!-- Method dispatchPopulateAccessibilityEvent -->
+&nbsp;&nbsp;<nobr><A HREF="android.view.Window.Callback.html#android.view.Window.Callback.dispatchPopulateAccessibilityEvent_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AccessibilityEvent</code>)</b>&nbsp;in&nbsp;android.view.Window.Callback
+</A></nobr><br>
+<!-- Class DisplayMetrics -->
+<A HREF="android.util.DisplayMetrics.html" class="hiddenlink" target="rightframe">DisplayMetrics</A><br>
+<!-- Method divideMessage -->
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.divideMessage_changed(java.lang.String)" class="hiddenlink" target="rightframe">divideMessage
+(<code>String</code>)</A></nobr><br>
+<!-- Field donut_resource_pad1 -->
+<i>donut_resource_pad1</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad1 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+<!-- Field donut_resource_pad1 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad1 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad1 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+<!-- Field donut_resource_pad1 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad1 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad1 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+<!-- Field donut_resource_pad1 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+<!-- Field donut_resource_pad1 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad1 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad10 -->
+<i>donut_resource_pad10</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad10 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+<!-- Field donut_resource_pad10 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad10 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad10 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+<!-- Field donut_resource_pad10 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad10 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad10 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+<!-- Field donut_resource_pad10 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+<!-- Field donut_resource_pad10 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad10 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad11 -->
+<i>donut_resource_pad11</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad11 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+<!-- Field donut_resource_pad11 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad11 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad11 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+<!-- Field donut_resource_pad11 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad11 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad11 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+<!-- Field donut_resource_pad11 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+<!-- Field donut_resource_pad11 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad11 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad12 -->
+<i>donut_resource_pad12</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad12 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+<!-- Field donut_resource_pad12 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad12 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad12 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+<!-- Field donut_resource_pad12 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad12 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad12 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+<!-- Field donut_resource_pad12 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+<!-- Field donut_resource_pad12 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad12 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad13 -->
+<i>donut_resource_pad13</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad13 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad13 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad13 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+<!-- Field donut_resource_pad13 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad13 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad13 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+<!-- Field donut_resource_pad13 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+<!-- Field donut_resource_pad13 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad13 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad14 -->
+<i>donut_resource_pad14</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad14 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad14 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad14 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+<!-- Field donut_resource_pad14 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad14 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad14 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+<!-- Field donut_resource_pad14 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad14 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad15 -->
+<i>donut_resource_pad15</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad15" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad15 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad15" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad15 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad15" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad15 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad15" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad15 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad15" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad15 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad15" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad15 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad15" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad16 -->
+<i>donut_resource_pad16</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad16" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad16 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad16" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad16 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad16" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad16 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad16" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad16 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad16" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad16 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad16" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad16 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad16" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad17 -->
+<i>donut_resource_pad17</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad17" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad17 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad17" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad17 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad17" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad17 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad17" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad17 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad17" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad17 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad17" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad17 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad17" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad18 -->
+<i>donut_resource_pad18</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad18" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad18 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad18" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad18 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad18" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad18 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad18" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad18 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad18" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad18 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad18" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad18 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad18" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad19 -->
+<i>donut_resource_pad19</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad19" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad19 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad19" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad19 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad19" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad19 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad19" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad19 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad19" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad19 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad19" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad2 -->
+<i>donut_resource_pad2</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad2 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+<!-- Field donut_resource_pad2 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad2 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad2 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+<!-- Field donut_resource_pad2 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad2 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad2 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+<!-- Field donut_resource_pad2 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+<!-- Field donut_resource_pad2 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad2 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad20 -->
+<i>donut_resource_pad20</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad20" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad20 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad20" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad20 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad20" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad20 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad20" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad20 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad20" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad21 -->
+<i>donut_resource_pad21</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad21" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad21 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad21" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad21 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad21" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad21 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad21" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad21 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad21" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad22 -->
+<i>donut_resource_pad22</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad22" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad22 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad22" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad22 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad22" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad22 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad22" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad23 -->
+<i>donut_resource_pad23</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad23" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad23 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad23" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad23 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad23" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad24 -->
+<i>donut_resource_pad24</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad24" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad24 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad24" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad24 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad24" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad25 -->
+<i>donut_resource_pad25</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad25" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad25 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad25" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad25 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad25" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad26 -->
+<i>donut_resource_pad26</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad26" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad26 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad26" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad26 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad26" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad27 -->
+<i>donut_resource_pad27</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad27" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad27 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad27" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad27 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad27" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad28 -->
+<i>donut_resource_pad28</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad28" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad28 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad28" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad29 -->
+<i>donut_resource_pad29</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad29" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad29 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad29" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad3 -->
+<i>donut_resource_pad3</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad3 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+<!-- Field donut_resource_pad3 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad3 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad3 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+<!-- Field donut_resource_pad3 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad3 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad3 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+<!-- Field donut_resource_pad3 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+<!-- Field donut_resource_pad3 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad3 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad30 -->
+<i>donut_resource_pad30</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad30" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad30 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad30" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad31 -->
+<i>donut_resource_pad31</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad31" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad31 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad31" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad32 -->
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad32" class="hiddenlink" target="rightframe">donut_resource_pad32</A>
+</nobr><br>
+<!-- Field donut_resource_pad33 -->
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad33" class="hiddenlink" target="rightframe">donut_resource_pad33</A>
+</nobr><br>
+<!-- Field donut_resource_pad34 -->
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad34" class="hiddenlink" target="rightframe">donut_resource_pad34</A>
+</nobr><br>
+<!-- Field donut_resource_pad35 -->
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad35" class="hiddenlink" target="rightframe">donut_resource_pad35</A>
+</nobr><br>
+<!-- Field donut_resource_pad36 -->
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad36" class="hiddenlink" target="rightframe">donut_resource_pad36</A>
+</nobr><br>
+<!-- Field donut_resource_pad37 -->
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad37" class="hiddenlink" target="rightframe">donut_resource_pad37</A>
+</nobr><br>
+<!-- Field donut_resource_pad38 -->
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad38" class="hiddenlink" target="rightframe">donut_resource_pad38</A>
+</nobr><br>
+<!-- Field donut_resource_pad39 -->
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad39" class="hiddenlink" target="rightframe">donut_resource_pad39</A>
+</nobr><br>
+<!-- Field donut_resource_pad4 -->
+<i>donut_resource_pad4</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad4 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+<!-- Field donut_resource_pad4 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad4 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad4 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+<!-- Field donut_resource_pad4 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad4 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad4 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+<!-- Field donut_resource_pad4 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+<!-- Field donut_resource_pad4 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad4 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad40 -->
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad40" class="hiddenlink" target="rightframe">donut_resource_pad40</A>
+</nobr><br>
+<!-- Field donut_resource_pad5 -->
+<i>donut_resource_pad5</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad5 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+<!-- Field donut_resource_pad5 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad5 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad5 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+<!-- Field donut_resource_pad5 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad5 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad5 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+<!-- Field donut_resource_pad5 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+<!-- Field donut_resource_pad5 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad5 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad6 -->
+<i>donut_resource_pad6</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad6 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+<!-- Field donut_resource_pad6 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad6 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad6 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+<!-- Field donut_resource_pad6 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad6 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad6 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+<!-- Field donut_resource_pad6 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+<!-- Field donut_resource_pad6 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad6 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad7 -->
+<i>donut_resource_pad7</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad7 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+<!-- Field donut_resource_pad7 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad7 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad7 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+<!-- Field donut_resource_pad7 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad7 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad7 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+<!-- Field donut_resource_pad7 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+<!-- Field donut_resource_pad7 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad7 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad8 -->
+<i>donut_resource_pad8</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad8 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+<!-- Field donut_resource_pad8 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad8 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad8 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+<!-- Field donut_resource_pad8 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad8 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad8 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+<!-- Field donut_resource_pad8 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+<!-- Field donut_resource_pad8 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad8 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Field donut_resource_pad9 -->
+<i>donut_resource_pad9</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+<!-- Field donut_resource_pad9 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+<!-- Field donut_resource_pad9 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field donut_resource_pad9 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+<!-- Field donut_resource_pad9 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+<!-- Field donut_resource_pad9 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<!-- Field donut_resource_pad9 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+<!-- Field donut_resource_pad9 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+<!-- Field donut_resource_pad9 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+<!-- Field donut_resource_pad9 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<!-- Field donut_resource_pad9 -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<!-- Class Drawable -->
+<A HREF="android.graphics.drawable.Drawable.html" class="hiddenlink" target="rightframe">Drawable</A><br>
+<!-- Field dropDownHeight -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.dropDownHeight" class="hiddenlink" target="rightframe">dropDownHeight</A>
+</nobr><br>
+<!-- Field ENABLED_ACCESSIBILITY_SERVICES -->
+<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="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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.ENABLED_ACCESSIBILITY_SERVICES" class="hiddenlink" target="rightframe">ENABLED_ACCESSIBILITY_SERVICES</A>
+</nobr><br>
+<!-- Field encodedMessage -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.SubmitPdu.html#android.telephony.gsm.SmsMessage.SubmitPdu.encodedMessage" class="hiddenlink" target="rightframe">encodedMessage</A>
+</nobr><br>
+<!-- Field encodedScAddress -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.SubmitPdu.html#android.telephony.gsm.SmsMessage.SubmitPdu.encodedScAddress" class="hiddenlink" target="rightframe">encodedScAddress</A>
+</nobr><br>
+<!-- Field ENCODING_16BIT -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.ENCODING_16BIT" class="hiddenlink" target="rightframe">ENCODING_16BIT</A>
+</nobr><br>
+<!-- Field ENCODING_7BIT -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.ENCODING_7BIT" class="hiddenlink" target="rightframe">ENCODING_7BIT</A>
+</nobr><br>
+<!-- Field ENCODING_8BIT -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.ENCODING_8BIT" class="hiddenlink" target="rightframe">ENCODING_8BIT</A>
+</nobr><br>
+<!-- Field ENCODING_UNKNOWN -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.ENCODING_UNKNOWN" class="hiddenlink" target="rightframe">ENCODING_UNKNOWN</A>
+</nobr><br>
+<!-- Field eventsInterceptionEnabled -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.eventsInterceptionEnabled" class="hiddenlink" target="rightframe">eventsInterceptionEnabled</A>
+</nobr><br>
+<!-- Field EXTRA_DATA_KEY -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.EXTRA_DATA_KEY" class="hiddenlink" target="rightframe">EXTRA_DATA_KEY</A>
+</nobr><br>
+<!-- Field extraTension -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.extraTension" class="hiddenlink" target="rightframe">extraTension</A>
+</nobr><br>
+<!-- Field fadeDuration -->
+<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="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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.fadeDuration" class="hiddenlink" target="rightframe">fadeDuration</A>
+</nobr><br>
+<!-- Field fadeEnabled -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.fadeEnabled" class="hiddenlink" target="rightframe">fadeEnabled</A>
+</nobr><br>
+<!-- Field fadeOffset -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.fadeOffset" class="hiddenlink" target="rightframe">fadeOffset</A>
+</nobr><br>
+<!-- Field FILL_IN_PACKAGE -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.FILL_IN_PACKAGE" class="hiddenlink" target="rightframe">FILL_IN_PACKAGE</A>
+</nobr><br>
+<!-- Field FLAG_RESIZEABLE_FOR_SCREENS -->
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_RESIZEABLE_FOR_SCREENS" class="hiddenlink" target="rightframe">FLAG_RESIZEABLE_FOR_SCREENS</A>
+</nobr><br>
+<!-- Field FLAG_SUPPORTS_LARGE_SCREENS -->
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_SUPPORTS_LARGE_SCREENS" class="hiddenlink" target="rightframe">FLAG_SUPPORTS_LARGE_SCREENS</A>
+</nobr><br>
+<!-- Field FLAG_SUPPORTS_NORMAL_SCREENS -->
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_SUPPORTS_NORMAL_SCREENS" class="hiddenlink" target="rightframe">FLAG_SUPPORTS_NORMAL_SCREENS</A>
+</nobr><br>
+<!-- Field FLAG_SUPPORTS_SCREEN_DENSITIES -->
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_SUPPORTS_SCREEN_DENSITIES" class="hiddenlink" target="rightframe">FLAG_SUPPORTS_SCREEN_DENSITIES</A>
+</nobr><br>
+<!-- Field FLAG_SUPPORTS_SMALL_SCREENS -->
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_SUPPORTS_SMALL_SCREENS" class="hiddenlink" target="rightframe">FLAG_SUPPORTS_SMALL_SCREENS</A>
+</nobr><br>
+<!-- Field FLAG_TEST_ONLY -->
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_TEST_ONLY" class="hiddenlink" target="rightframe">FLAG_TEST_ONLY</A>
+</nobr><br>
+<!-- Field FLAG_UPDATED_SYSTEM_APP -->
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_UPDATED_SYSTEM_APP" class="hiddenlink" target="rightframe">FLAG_UPDATED_SYSTEM_APP</A>
+</nobr><br>
+<!-- Field FOCUSABLES_ALL -->
+<nobr><A HREF="android.view.View.html#android.view.View.FOCUSABLES_ALL" class="hiddenlink" target="rightframe">FOCUSABLES_ALL</A>
+</nobr><br>
+<!-- Field FOCUSABLES_TOUCH_MODE -->
+<nobr><A HREF="android.view.View.html#android.view.View.FOCUSABLES_TOUCH_MODE" class="hiddenlink" target="rightframe">FOCUSABLES_TOUCH_MODE</A>
+</nobr><br>
+<!-- Field FORWARD_LOCK_PACKAGE -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FORWARD_LOCK_PACKAGE" class="hiddenlink" target="rightframe"><strike>FORWARD_LOCK_PACKAGE</strike></A>
+</nobr><br>
+<!-- Field FOTA_UPDATE -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.FOTA_UPDATE" class="hiddenlink" target="rightframe"><strike>FOTA_UPDATE</strike></A>
+</nobr><br>
+<!-- Field gestureColor -->
+<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="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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.gestureColor" class="hiddenlink" target="rightframe">gestureColor</A>
+</nobr><br>
+<!-- Field gestureStrokeAngleThreshold -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.gestureStrokeAngleThreshold" class="hiddenlink" target="rightframe">gestureStrokeAngleThreshold</A>
+</nobr><br>
+<!-- Field gestureStrokeLengthThreshold -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.gestureStrokeLengthThreshold" class="hiddenlink" target="rightframe">gestureStrokeLengthThreshold</A>
+</nobr><br>
+<!-- Field gestureStrokeSquarenessThreshold -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.gestureStrokeSquarenessThreshold" class="hiddenlink" target="rightframe">gestureStrokeSquarenessThreshold</A>
+</nobr><br>
+<!-- Field gestureStrokeType -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.gestureStrokeType" class="hiddenlink" target="rightframe">gestureStrokeType</A>
+</nobr><br>
+<!-- Field gestureStrokeWidth -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.gestureStrokeWidth" class="hiddenlink" target="rightframe">gestureStrokeWidth</A>
+</nobr><br>
+<!-- Method getApplicationInfo -->
+<i>getApplicationInfo</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.getApplicationInfo_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+<!-- Method getApplicationInfo -->
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.getApplicationInfo_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+<!-- Method getApplicationInfo -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.getApplicationInfo_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<!-- Method getAudioSourceMax -->
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.getAudioSourceMax_added()" class="hiddenlink" target="rightframe"><b>getAudioSourceMax</b>
+()</A></nobr><br>
+<!-- Method getBroadcastCookie -->
+<nobr><A HREF="android.os.RemoteCallbackList.html#android.os.RemoteCallbackList.getBroadcastCookie_added(int)" class="hiddenlink" target="rightframe"><b>getBroadcastCookie</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getCheckItemIds -->
+<nobr><A HREF="android.widget.ListView.html#android.widget.ListView.getCheckItemIds_added()" class="hiddenlink" target="rightframe"><b>getCheckItemIds</b>
+()</A></nobr><br>
+<!-- Method getChildTabViewAt -->
+<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.getChildTabViewAt_added(int)" class="hiddenlink" target="rightframe"><b>getChildTabViewAt</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method getContentDescription -->
+<nobr><A HREF="android.view.View.html#android.view.View.getContentDescription_added()" class="hiddenlink" target="rightframe"><b>getContentDescription</b>
+()</A></nobr><br>
+<!-- Method getDefault -->
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.getDefault_changed()" class="hiddenlink" target="rightframe">getDefault
+()</A></nobr><br>
+<!-- Method getDensity -->
+<i>getDensity</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.getDensity_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.graphics.Bitmap
+</A></nobr><br>
+<!-- Method getDensity -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Canvas.html#android.graphics.Canvas.getDensity_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.graphics.Canvas
+</A></nobr><br>
+<!-- Method getDensity -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.NinePatch.html#android.graphics.NinePatch.getDensity_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.graphics.NinePatch
+</A></nobr><br>
+<!-- Method getDisplayMessageBody -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getDisplayMessageBody_changed()" class="hiddenlink" target="rightframe">getDisplayMessageBody
+()</A></nobr><br>
+<!-- Method getDisplayOriginatingAddress -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getDisplayOriginatingAddress_changed()" class="hiddenlink" target="rightframe">getDisplayOriginatingAddress
+()</A></nobr><br>
+<!-- Method getDrawingCache -->
+<nobr><A HREF="android.view.View.html#android.view.View.getDrawingCache_added(boolean)" class="hiddenlink" target="rightframe"><b>getDrawingCache</b>
+(<code>boolean</code>)</A></nobr><br>
+<!-- Method getDropDownHeight -->
+<nobr><A HREF="android.widget.AutoCompleteTextView.html#android.widget.AutoCompleteTextView.getDropDownHeight_added()" class="hiddenlink" target="rightframe"><b>getDropDownHeight</b>
+()</A></nobr><br>
+<!-- Method getEmailBody -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getEmailBody_changed()" class="hiddenlink" target="rightframe">getEmailBody
+()</A></nobr><br>
+<!-- Method getEmailFrom -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getEmailFrom_changed()" class="hiddenlink" target="rightframe">getEmailFrom
+()</A></nobr><br>
+<!-- Method getGlEsVersion -->
+<nobr><A HREF="android.content.pm.ConfigurationInfo.html#android.content.pm.ConfigurationInfo.getGlEsVersion_added()" class="hiddenlink" target="rightframe"><b>getGlEsVersion</b>
+()</A></nobr><br>
+<!-- Method getIndexOnSim -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getIndexOnSim_changed()" class="hiddenlink" target="rightframe">getIndexOnSim
+()</A></nobr><br>
+<!-- Method getIntent -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.getIntent_changed(java.lang.String)" class="hiddenlink" target="rightframe">getIntent
+(<code>String</code>)</A></nobr><br>
+<!-- Method getIntentSender -->
+<nobr><A HREF="android.app.PendingIntent.html#android.app.PendingIntent.getIntentSender_added()" class="hiddenlink" target="rightframe"><b>getIntentSender</b>
+()</A></nobr><br>
+<!-- Method getLaunchIntentForPackage -->
+<i>getLaunchIntentForPackage</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.getLaunchIntentForPackage_changed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String</code>)&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+<!-- Method getLaunchIntentForPackage -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.getLaunchIntentForPackage_changed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String</code>)&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</A></nobr><br>
+<!-- Method getMaximumFlingVelocity -->
+<nobr><A HREF="android.view.ViewConfiguration.html#android.view.ViewConfiguration.getMaximumFlingVelocity_added()" class="hiddenlink" target="rightframe"><b>getMaximumFlingVelocity</b>
+()</A></nobr><br>
+<!-- Method getMessageBody -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getMessageBody_changed()" class="hiddenlink" target="rightframe">getMessageBody
+()</A></nobr><br>
+<!-- Method getMessageClass -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getMessageClass_changed()" class="hiddenlink" target="rightframe">getMessageClass
+()</A></nobr><br>
+<!-- Method getOriginatingAddress -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getOriginatingAddress_changed()" class="hiddenlink" target="rightframe">getOriginatingAddress
+()</A></nobr><br>
+<!-- Method getPackage -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.getPackage_added()" class="hiddenlink" target="rightframe"><b>getPackage</b>
+()</A></nobr><br>
+<!-- Method getPathPermissions -->
+<nobr><A HREF="android.content.ContentProvider.html#android.content.ContentProvider.getPathPermissions_added()" class="hiddenlink" target="rightframe"><b>getPathPermissions</b>
+()</A></nobr><br>
+<!-- Method getPdu -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getPdu_changed()" class="hiddenlink" target="rightframe">getPdu
+()</A></nobr><br>
+<!-- Method getPremises -->
+<nobr><A HREF="android.location.Address.html#android.location.Address.getPremises_added()" class="hiddenlink" target="rightframe"><b>getPremises</b>
+()</A></nobr><br>
+<!-- Method getProtocolIdentifier -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getProtocolIdentifier_changed()" class="hiddenlink" target="rightframe">getProtocolIdentifier
+()</A></nobr><br>
+<!-- Method getPseudoSubject -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getPseudoSubject_changed()" class="hiddenlink" target="rightframe">getPseudoSubject
+()</A></nobr><br>
+<!-- Method getRouting -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.getRouting_changed(int)" class="hiddenlink" target="rightframe">getRouting
+(<code>int</code>)</A></nobr><br>
+<!-- Method getScaledHeight -->
+<i>getScaledHeight</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.getScaledHeight_added(android.graphics.Canvas)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Canvas</code>)</b>&nbsp;in&nbsp;android.graphics.Bitmap
+</A></nobr><br>
+<!-- Method getScaledHeight -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.getScaledHeight_added(android.util.DisplayMetrics)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>DisplayMetrics</code>)</b>&nbsp;in&nbsp;android.graphics.Bitmap
+</A></nobr><br>
+<!-- Method getScaledHeight -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.getScaledHeight_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.graphics.Bitmap
+</A></nobr><br>
+<!-- Method getScaledMaximumFlingVelocity -->
+<nobr><A HREF="android.view.ViewConfiguration.html#android.view.ViewConfiguration.getScaledMaximumFlingVelocity_added()" class="hiddenlink" target="rightframe"><b>getScaledMaximumFlingVelocity</b>
+()</A></nobr><br>
+<!-- Method getScaledWidth -->
+<i>getScaledWidth</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.getScaledWidth_added(android.graphics.Canvas)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Canvas</code>)</b>&nbsp;in&nbsp;android.graphics.Bitmap
+</A></nobr><br>
+<!-- Method getScaledWidth -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.getScaledWidth_added(android.util.DisplayMetrics)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>DisplayMetrics</code>)</b>&nbsp;in&nbsp;android.graphics.Bitmap
+</A></nobr><br>
+<!-- Method getScaledWidth -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.getScaledWidth_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.graphics.Bitmap
+</A></nobr><br>
+<!-- Method getServiceCenterAddress -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getServiceCenterAddress_changed()" class="hiddenlink" target="rightframe">getServiceCenterAddress
+()</A></nobr><br>
+<!-- Method getSoftInputMode -->
+<nobr><A HREF="android.widget.PopupWindow.html#android.widget.PopupWindow.getSoftInputMode_added()" class="hiddenlink" target="rightframe"><b>getSoftInputMode</b>
+()</A></nobr><br>
+<!-- Method getStatus -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getStatus_changed()" class="hiddenlink" target="rightframe">getStatus
+()</A></nobr><br>
+<!-- Method getStatusOnSim -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getStatusOnSim_changed()" class="hiddenlink" target="rightframe">getStatusOnSim
+()</A></nobr><br>
+<!-- Method getSubLocality -->
+<nobr><A HREF="android.location.Address.html#android.location.Address.getSubLocality_added()" class="hiddenlink" target="rightframe"><b>getSubLocality</b>
+()</A></nobr><br>
+<!-- Method getSubmitPdu -->
+<i>getSubmitPdu</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getSubmitPdu_changed(java.lang.String, java.lang.String, java.lang.String, boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, String, String, boolean</code>)&nbsp;in&nbsp;android.telephony.gsm.SmsMessage
+</A></nobr><br>
+<!-- Method getSubmitPdu -->
+&nbsp;&nbsp;<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getSubmitPdu_changed(java.lang.String, java.lang.String, short, byte[], boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, String, short, byte[], boolean</code>)&nbsp;in&nbsp;android.telephony.gsm.SmsMessage
+</A></nobr><br>
+<!-- Method getSubThoroughfare -->
+<nobr><A HREF="android.location.Address.html#android.location.Address.getSubThoroughfare_added()" class="hiddenlink" target="rightframe"><b>getSubThoroughfare</b>
+()</A></nobr><br>
+<!-- Method getTabCount -->
+<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.getTabCount_added()" class="hiddenlink" target="rightframe"><b>getTabCount</b>
+()</A></nobr><br>
+<!-- Method getTag -->
+<i>getTag</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.View.html#android.view.View.getTag_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.view.View
+</A></nobr><br>
+<!-- Method getTag -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TabHost.TabSpec.html#android.widget.TabHost.TabSpec.getTag_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.widget.TabHost.TabSpec
+</A></nobr><br>
+<!-- Method getTimestampMillis -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getTimestampMillis_changed()" class="hiddenlink" target="rightframe">getTimestampMillis
+()</A></nobr><br>
+<!-- Method getTPLayerLengthForPDU -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getTPLayerLengthForPDU_changed(java.lang.String)" class="hiddenlink" target="rightframe">getTPLayerLengthForPDU
+(<code>String</code>)</A></nobr><br>
+<!-- Method getUserData -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getUserData_changed()" class="hiddenlink" target="rightframe">getUserData
+()</A></nobr><br>
+<!-- Field GL_ES_VERSION_UNDEFINED -->
+<nobr><A HREF="android.content.pm.ConfigurationInfo.html#android.content.pm.ConfigurationInfo.GL_ES_VERSION_UNDEFINED" class="hiddenlink" target="rightframe">GL_ES_VERSION_UNDEFINED</A>
+</nobr><br>
+<!-- Class GLES10 -->
+<A HREF="pkg_android.opengl.html#GLES10" class="hiddenlink" target="rightframe"><b>GLES10</b></A><br>
+<!-- Class GLES10Ext -->
+<A HREF="pkg_android.opengl.html#GLES10Ext" class="hiddenlink" target="rightframe"><b>GLES10Ext</b></A><br>
+<!-- Class GLES11 -->
+<A HREF="pkg_android.opengl.html#GLES11" class="hiddenlink" target="rightframe"><b>GLES11</b></A><br>
+<!-- Class GLES11Ext -->
+<A HREF="pkg_android.opengl.html#GLES11Ext" class="hiddenlink" target="rightframe"><b>GLES11Ext</b></A><br>
+<!-- Field glEsVersion -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.glEsVersion" class="hiddenlink" target="rightframe">glEsVersion</A>
+</nobr><br>
+<!-- Field GLOBAL_SEARCH -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.GLOBAL_SEARCH" class="hiddenlink" target="rightframe">GLOBAL_SEARCH</A>
+</nobr><br>
+<!-- Class ImageSpan -->
+<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="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>ImageSpan</i><br>
+&nbsp;&nbsp;<A HREF="android.text.style.ImageSpan.html" class="hiddenlink" target="rightframe">android.text.style</A><br>
+<!-- Constructor ImageSpan -->
+&nbsp;&nbsp;<nobr><A HREF="android.text.style.ImageSpan.html#android.text.style.ImageSpan.ctor_added(android.content.Context, android.graphics.Bitmap)" class="hiddenlink" target="rightframe"><b>ImageSpan</b>
+(<code>Context, Bitmap</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor ImageSpan -->
+&nbsp;&nbsp;<nobr><A HREF="android.text.style.ImageSpan.html#android.text.style.ImageSpan.ctor_added(android.content.Context, android.graphics.Bitmap, int)" class="hiddenlink" target="rightframe"><b>ImageSpan</b>
+(<code>Context, Bitmap, int</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor ImageSpan -->
+&nbsp;&nbsp;<nobr><A HREF="android.text.style.ImageSpan.html#android.text.style.ImageSpan.ctor_changed(android.graphics.Bitmap)" class="hiddenlink" target="rightframe">ImageSpan
+(<code>Bitmap</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor ImageSpan -->
+&nbsp;&nbsp;<nobr><A HREF="android.text.style.ImageSpan.html#android.text.style.ImageSpan.ctor_changed(android.graphics.Bitmap, int)" class="hiddenlink" target="rightframe">ImageSpan
+(<code>Bitmap, int</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Field includeInGlobalSearch -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.includeInGlobalSearch" class="hiddenlink" target="rightframe">includeInGlobalSearch</A>
+</nobr><br>
+<!-- Field inDensity -->
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.inDensity" class="hiddenlink" target="rightframe">inDensity</A>
+</nobr><br>
+<!-- Field inInputShareable -->
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.inInputShareable" class="hiddenlink" target="rightframe">inInputShareable</A>
+</nobr><br>
+<!-- Field inPurgeable -->
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.inPurgeable" class="hiddenlink" target="rightframe">inPurgeable</A>
+</nobr><br>
+<!-- Field inScaled -->
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.inScaled" class="hiddenlink" target="rightframe">inScaled</A>
+</nobr><br>
+<!-- Field inScreenDensity -->
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.inScreenDensity" class="hiddenlink" target="rightframe">inScreenDensity</A>
+</nobr><br>
+<!-- Field INSTALL_FAILED_ALREADY_EXISTS -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_ALREADY_EXISTS" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_ALREADY_EXISTS</strike></A>
+</nobr><br>
+<!-- Field INSTALL_FAILED_CONFLICTING_PROVIDER -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_CONFLICTING_PROVIDER" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_CONFLICTING_PROVIDER</strike></A>
+</nobr><br>
+<!-- Field INSTALL_FAILED_DEXOPT -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_DEXOPT" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_DEXOPT</strike></A>
+</nobr><br>
+<!-- Field INSTALL_FAILED_DUPLICATE_PACKAGE -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_DUPLICATE_PACKAGE" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_DUPLICATE_PACKAGE</strike></A>
+</nobr><br>
+<!-- Field INSTALL_FAILED_INSUFFICIENT_STORAGE -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_INSUFFICIENT_STORAGE" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_INSUFFICIENT_STORAGE</strike></A>
+</nobr><br>
+<!-- Field INSTALL_FAILED_INVALID_APK -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_INVALID_APK" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_INVALID_APK</strike></A>
+</nobr><br>
+<!-- Field INSTALL_FAILED_INVALID_URI -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_INVALID_URI" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_INVALID_URI</strike></A>
+</nobr><br>
+<!-- Field INSTALL_FAILED_MISSING_SHARED_LIBRARY -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_MISSING_SHARED_LIBRARY" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_MISSING_SHARED_LIBRARY</strike></A>
+</nobr><br>
+<!-- Field INSTALL_FAILED_NO_SHARED_USER -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_NO_SHARED_USER" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_NO_SHARED_USER</strike></A>
+</nobr><br>
+<!-- Field INSTALL_FAILED_OLDER_SDK -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_OLDER_SDK" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_OLDER_SDK</strike></A>
+</nobr><br>
+<!-- Field INSTALL_FAILED_REPLACE_COULDNT_DELETE -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_REPLACE_COULDNT_DELETE" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_REPLACE_COULDNT_DELETE</strike></A>
+</nobr><br>
+<!-- Field INSTALL_FAILED_SHARED_USER_INCOMPATIBLE -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_SHARED_USER_INCOMPATIBLE" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_SHARED_USER_INCOMPATIBLE</strike></A>
+</nobr><br>
+<!-- Field INSTALL_FAILED_UPDATE_INCOMPATIBLE -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_UPDATE_INCOMPATIBLE" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_UPDATE_INCOMPATIBLE</strike></A>
+</nobr><br>
+<!-- Field INSTALL_LOCATION_PROVIDER -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.INSTALL_LOCATION_PROVIDER" class="hiddenlink" target="rightframe">INSTALL_LOCATION_PROVIDER</A>
+</nobr><br>
+<!-- Field INSTALL_PARSE_FAILED_BAD_MANIFEST -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_BAD_MANIFEST" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_BAD_MANIFEST</strike></A>
+</nobr><br>
+<!-- Field INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME</strike></A>
+</nobr><br>
+<!-- Field INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID</strike></A>
+</nobr><br>
+<!-- Field INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING</strike></A>
+</nobr><br>
+<!-- Field INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES</strike></A>
+</nobr><br>
+<!-- Field INSTALL_PARSE_FAILED_MANIFEST_EMPTY -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_MANIFEST_EMPTY" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_MANIFEST_EMPTY</strike></A>
+</nobr><br>
+<!-- Field INSTALL_PARSE_FAILED_MANIFEST_MALFORMED -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_MANIFEST_MALFORMED" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_MANIFEST_MALFORMED</strike></A>
+</nobr><br>
+<!-- Field INSTALL_PARSE_FAILED_NO_CERTIFICATES -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_NO_CERTIFICATES" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_NO_CERTIFICATES</strike></A>
+</nobr><br>
+<!-- Field INSTALL_PARSE_FAILED_NOT_APK -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_NOT_APK" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_NOT_APK</strike></A>
+</nobr><br>
+<!-- Field INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION</strike></A>
+</nobr><br>
+<!-- Field INSTALL_SUCCEEDED -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_SUCCEEDED" class="hiddenlink" target="rightframe"><strike>INSTALL_SUCCEEDED</strike></A>
+</nobr><br>
+<!-- Method installPackage -->
+<i>installPackage</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.installPackage_removed(android.net.Uri, android.content.pm.IPackageInstallObserver, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Uri, IPackageInstallObserver, int</code>)</strike>&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+<!-- Method installPackage -->
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.installPackage_removed(android.net.Uri)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Uri</code>)</strike>&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+<!-- Method installPackage -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.installPackage_removed(android.net.Uri, android.content.pm.IPackageInstallObserver, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Uri, IPackageInstallObserver, int</code>)</strike>&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</A></nobr><br>
+<!-- Field inTargetDensity -->
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.inTargetDensity" class="hiddenlink" target="rightframe">inTargetDensity</A>
+</nobr><br>
+<!-- Class Intent -->
+<A HREF="android.content.Intent.html" class="hiddenlink" target="rightframe">Intent</A><br>
+<!-- Field INTENT_ACTION_SEARCH_SETTINGS_CHANGED -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.INTENT_ACTION_SEARCH_SETTINGS_CHANGED" class="hiddenlink" target="rightframe">INTENT_ACTION_SEARCH_SETTINGS_CHANGED</A>
+</nobr><br>
+<!-- Field INTENT_ACTION_SEARCHABLES_CHANGED -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.INTENT_ACTION_SEARCHABLES_CHANGED" class="hiddenlink" target="rightframe">INTENT_ACTION_SEARCHABLES_CHANGED</A>
+</nobr><br>
+<!-- Field INTENT_ACTION_WEB_SEARCH_SETTINGS -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.INTENT_ACTION_WEB_SEARCH_SETTINGS" class="hiddenlink" target="rightframe">INTENT_ACTION_WEB_SEARCH_SETTINGS</A>
+</nobr><br>
+<!-- Class IntentSender -->
+<A HREF="pkg_android.content.html#IntentSender" class="hiddenlink" target="rightframe"><b>IntentSender</b></A><br>
+<!-- Class IntentSender.OnFinished -->
+<A HREF="pkg_android.content.html#IntentSender.OnFinished" class="hiddenlink" target="rightframe"><b><i>IntentSender.OnFinished</i></b></A><br>
+<!-- Class IntentSender.SendIntentException -->
+<A HREF="pkg_android.content.html#IntentSender.SendIntentException" class="hiddenlink" target="rightframe"><b>IntentSender.SendIntentException</b></A><br>
+<!-- Method invalidateAllKeys -->
+<nobr><A HREF="android.inputmethodservice.KeyboardView.html#android.inputmethodservice.KeyboardView.invalidateAllKeys_added()" class="hiddenlink" target="rightframe"><b>invalidateAllKeys</b>
+()</A></nobr><br>
+<!-- Method invalidateKey -->
+<nobr><A HREF="android.inputmethodservice.KeyboardView.html#android.inputmethodservice.KeyboardView.invalidateKey_added(int)" class="hiddenlink" target="rightframe"><b>invalidateKey</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Class IPackageInstallObserver -->
+<A HREF="pkg_android.content.pm.html#IPackageInstallObserver" class="hiddenlink" target="rightframe"><strike>IPackageInstallObserver</strike></A><br>
+<!-- Class IPackageInstallObserver.Stub -->
+<A HREF="pkg_android.content.pm.html#IPackageInstallObserver.Stub" class="hiddenlink" target="rightframe"><strike>IPackageInstallObserver.Stub</strike></A><br>
+<!-- Method isCphsMwiMessage -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.isCphsMwiMessage_changed()" class="hiddenlink" target="rightframe">isCphsMwiMessage
+()</A></nobr><br>
+<!-- Method isEmail -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.isEmail_changed()" class="hiddenlink" target="rightframe">isEmail
+()</A></nobr><br>
+<!-- Method isMWIClearMessage -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.isMWIClearMessage_changed()" class="hiddenlink" target="rightframe">isMWIClearMessage
+()</A></nobr><br>
+<!-- Method isMwiDontStore -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.isMwiDontStore_changed()" class="hiddenlink" target="rightframe">isMwiDontStore
+()</A></nobr><br>
+<!-- Method isMWISetMessage -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.isMWISetMessage_changed()" class="hiddenlink" target="rightframe">isMWISetMessage
+()</A></nobr><br>
+<!-- Method isReplace -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.isReplace_changed()" class="hiddenlink" target="rightframe">isReplace
+()</A></nobr><br>
+<!-- Method isReplyPathPresent -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.isReplyPathPresent_changed()" class="hiddenlink" target="rightframe">isReplyPathPresent
+()</A></nobr><br>
+<!-- Method isRestricted -->
+<nobr><A HREF="android.content.Context.html#android.content.Context.isRestricted_added()" class="hiddenlink" target="rightframe"><b>isRestricted</b>
+()</A></nobr><br>
+<!-- Method isStatusReportMessage -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.isStatusReportMessage_changed()" class="hiddenlink" target="rightframe">isStatusReportMessage
+()</A></nobr><br>
+<!-- Method itemForPosition -->
+<nobr><A HREF="android.app.LauncherActivity.html#android.app.LauncherActivity.itemForPosition_added(int)" class="hiddenlink" target="rightframe"><b>itemForPosition</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Package java.lang -->
+<A NAME="J"></A>
+<A HREF="pkg_java.lang.html" class="hiddenlink" target="rightframe">java.lang</A><br>
+<!-- Package java.net -->
+<A HREF="pkg_java.net.html" class="hiddenlink" target="rightframe">java.net</A><br>
+<!-- Package java.util -->
+<A HREF="pkg_java.util.html" class="hiddenlink" target="rightframe">java.util</A><br>
+<!-- Class KeyboardView -->
+<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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.inputmethodservice.KeyboardView.html" class="hiddenlink" target="rightframe">KeyboardView</A><br>
+<!-- Field largeScreens -->
+<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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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.largeScreens" class="hiddenlink" target="rightframe">largeScreens</A>
+</nobr><br>
+<!-- Class LauncherActivity -->
+<A HREF="android.app.LauncherActivity.html" class="hiddenlink" target="rightframe">LauncherActivity</A><br>
+<!-- Class LauncherActivity.ListItem -->
+<A HREF="android.app.LauncherActivity.ListItem.html" class="hiddenlink" target="rightframe">LauncherActivity.ListItem</A><br>
+<!-- Field LIGHT_NO_MOON -->
+<nobr><A HREF="android.hardware.SensorManager.html#android.hardware.SensorManager.LIGHT_NO_MOON" class="hiddenlink" target="rightframe">LIGHT_NO_MOON</A>
+</nobr><br>
+<!-- Field linear_interpolator -->
+<nobr><A HREF="android.R.anim.html#android.R.anim.linear_interpolator" class="hiddenlink" target="rightframe">linear_interpolator</A>
+</nobr><br>
+<!-- Class ListView -->
+<A HREF="android.widget.ListView.html" class="hiddenlink" target="rightframe">ListView</A><br>
+<!-- Field LOGD -->
+<nobr><A HREF="android.util.Config.html#android.util.Config.LOGD" class="hiddenlink" target="rightframe">LOGD</A>
+</nobr><br>
+<!-- Field LOGV -->
+<nobr><A HREF="android.util.Config.html#android.util.Config.LOGV" class="hiddenlink" target="rightframe">LOGV</A>
+</nobr><br>
+<!-- Class Manifest.permission -->
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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 Manifest.permission_group -->
+<A HREF="android.Manifest.permission_group.html" class="hiddenlink" target="rightframe">Manifest.permission_group</A><br>
+<!-- Field MANUFACTURER -->
+<nobr><A HREF="android.os.Build.html#android.os.Build.MANUFACTURER" class="hiddenlink" target="rightframe">MANUFACTURER</A>
+</nobr><br>
+<!-- Field MAX_USER_DATA_BYTES -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.MAX_USER_DATA_BYTES" class="hiddenlink" target="rightframe">MAX_USER_DATA_BYTES</A>
+</nobr><br>
+<!-- Field MAX_USER_DATA_SEPTETS -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.MAX_USER_DATA_SEPTETS" class="hiddenlink" target="rightframe">MAX_USER_DATA_SEPTETS</A>
+</nobr><br>
+<!-- Field MAX_USER_DATA_SEPTETS_WITH_HEADER -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.MAX_USER_DATA_SEPTETS_WITH_HEADER" class="hiddenlink" target="rightframe">MAX_USER_DATA_SEPTETS_WITH_HEADER</A>
+</nobr><br>
+<!-- Field maxSdkVersion -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.maxSdkVersion" class="hiddenlink" target="rightframe">maxSdkVersion</A>
+</nobr><br>
+<!-- Class MediaRecorder -->
+<A HREF="android.media.MediaRecorder.html" class="hiddenlink" target="rightframe">MediaRecorder</A><br>
+<!-- Class MediaRecorder.AudioSource -->
+<A HREF="android.media.MediaRecorder.AudioSource.html" class="hiddenlink" target="rightframe">MediaRecorder.AudioSource</A><br>
+<!-- Class MediaStore.Audio.Genres.Members -->
+<A HREF="android.provider.MediaStore.Audio.Genres.Members.html" class="hiddenlink" target="rightframe">MediaStore.Audio.Genres.Members</A><br>
+<!-- Class MediaStore.Audio.Media -->
+<A HREF="android.provider.MediaStore.Audio.Media.html" class="hiddenlink" target="rightframe">MediaStore.Audio.Media</A><br>
+<!-- Class MockContext -->
+<A HREF="android.test.mock.MockContext.html" class="hiddenlink" target="rightframe">MockContext</A><br>
+<!-- Class MockPackageManager -->
+<A HREF="android.test.mock.MockPackageManager.html" class="hiddenlink" target="rightframe">MockPackageManager</A><br>
+<!-- Class NinePatch -->
+<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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.graphics.NinePatch.html" class="hiddenlink" target="rightframe">NinePatch</A><br>
+<!-- Class NinePatchDrawable -->
+<i>NinePatchDrawable</i><br>
+&nbsp;&nbsp;<A HREF="android.graphics.drawable.NinePatchDrawable.html" class="hiddenlink" target="rightframe">android.graphics.drawable</A><br>
+<!-- Constructor NinePatchDrawable -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.NinePatchDrawable.html#android.graphics.drawable.NinePatchDrawable.ctor_added(android.content.res.Resources, android.graphics.Bitmap, byte[], android.graphics.Rect, java.lang.String)" class="hiddenlink" target="rightframe"><b>NinePatchDrawable</b>
+(<code>Resources, Bitmap, byte[], Rect, String</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor NinePatchDrawable -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.NinePatchDrawable.html#android.graphics.drawable.NinePatchDrawable.ctor_added(android.content.res.Resources, android.graphics.NinePatch)" class="hiddenlink" target="rightframe"><b>NinePatchDrawable</b>
+(<code>Resources, NinePatch</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor NinePatchDrawable -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.NinePatchDrawable.html#android.graphics.drawable.NinePatchDrawable.ctor_changed(android.graphics.Bitmap, byte[], android.graphics.Rect, java.lang.String)" class="hiddenlink" target="rightframe">NinePatchDrawable
+(<code>Bitmap, byte[], Rect, String</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor NinePatchDrawable -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.NinePatchDrawable.html#android.graphics.drawable.NinePatchDrawable.ctor_changed(android.graphics.NinePatch)" class="hiddenlink" target="rightframe">NinePatchDrawable
+(<code>NinePatch</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Field normalScreens -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.normalScreens" class="hiddenlink" target="rightframe">normalScreens</A>
+</nobr><br>
+<!-- Method onCallbackDied -->
+<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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.os.RemoteCallbackList.html#android.os.RemoteCallbackList.onCallbackDied_added(E, java.lang.Object)" class="hiddenlink" target="rightframe"><b>onCallbackDied</b>
+(<code>E, Object</code>)</A></nobr><br>
+<!-- Method onCancel -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.onCancel_changed(android.content.DialogInterface)" class="hiddenlink" target="rightframe">onCancel
+(<code>DialogInterface</code>)</A></nobr><br>
+<!-- Field onClick -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.onClick" class="hiddenlink" target="rightframe">onClick</A>
+</nobr><br>
+<!-- Method onDismiss -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.onDismiss_changed(android.content.DialogInterface)" class="hiddenlink" target="rightframe">onDismiss
+(<code>DialogInterface</code>)</A></nobr><br>
+<!-- Field overshoot_interpolator -->
+<nobr><A HREF="android.R.anim.html#android.R.anim.overshoot_interpolator" class="hiddenlink" target="rightframe">overshoot_interpolator</A>
+</nobr><br>
+<!-- Class OvershootInterpolator -->
+<A HREF="pkg_android.view.animation.html#OvershootInterpolator" class="hiddenlink" target="rightframe"><b>OvershootInterpolator</b></A><br>
+<!-- Class PackageManager -->
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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>
+<!-- Method parseUri -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.parseUri_added(java.lang.String, int)" class="hiddenlink" target="rightframe"><b>parseUri</b>
+(<code>String, int</code>)</A></nobr><br>
+<!-- Class PathPermission -->
+<A HREF="pkg_android.content.pm.html#PathPermission" class="hiddenlink" target="rightframe"><b>PathPermission</b></A><br>
+<!-- Field pathPermissions -->
+<nobr><A HREF="android.content.pm.ProviderInfo.html#android.content.pm.ProviderInfo.pathPermissions" class="hiddenlink" target="rightframe">pathPermissions</A>
+</nobr><br>
+<!-- Class PendingIntent -->
+<A HREF="android.app.PendingIntent.html" class="hiddenlink" target="rightframe">PendingIntent</A><br>
+<!-- Class PopupWindow -->
+<A HREF="android.widget.PopupWindow.html" class="hiddenlink" target="rightframe">PopupWindow</A><br>
+<!-- Method prepareToDraw -->
+<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.prepareToDraw_added()" class="hiddenlink" target="rightframe"><b>prepareToDraw</b>
+()</A></nobr><br>
+<!-- Field PROFILE -->
+<nobr><A HREF="android.util.Config.html#android.util.Config.PROFILE" class="hiddenlink" target="rightframe">PROFILE</A>
+</nobr><br>
+<!-- Field progressBarStyleInverse -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.progressBarStyleInverse" class="hiddenlink" target="rightframe">progressBarStyleInverse</A>
+</nobr><br>
+<!-- Field progressBarStyleLargeInverse -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.progressBarStyleLargeInverse" class="hiddenlink" target="rightframe">progressBarStyleLargeInverse</A>
+</nobr><br>
+<!-- Field progressBarStyleSmallInverse -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.progressBarStyleSmallInverse" class="hiddenlink" target="rightframe">progressBarStyleSmallInverse</A>
+</nobr><br>
+<!-- Class ProviderInfo -->
+<A HREF="android.content.pm.ProviderInfo.html" class="hiddenlink" target="rightframe">ProviderInfo</A><br>
+<!-- Field queryAfterZeroResults -->
+<A NAME="Q"></A>
+<br><font size="+2">Q</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-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">
+<nobr><A HREF="android.R.attr.html#android.R.attr.queryAfterZeroResults" class="hiddenlink" target="rightframe">queryAfterZeroResults</A>
+</nobr><br>
+<!-- Class R.anim -->
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#S"><font size="-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.anim.html" class="hiddenlink" target="rightframe">R.anim</A><br>
+<!-- Class R.array -->
+<A HREF="android.R.array.html" class="hiddenlink" target="rightframe">R.array</A><br>
+<!-- Class R.attr -->
+<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.dimen -->
+<A HREF="android.R.dimen.html" class="hiddenlink" target="rightframe">R.dimen</A><br>
+<!-- Class R.drawable -->
+<A HREF="android.R.drawable.html" class="hiddenlink" target="rightframe">R.drawable</A><br>
+<!-- Class R.id -->
+<A HREF="android.R.id.html" class="hiddenlink" target="rightframe">R.id</A><br>
+<!-- Class R.integer -->
+<A HREF="android.R.integer.html" class="hiddenlink" target="rightframe">R.integer</A><br>
+<!-- Class R.layout -->
+<A HREF="android.R.layout.html" class="hiddenlink" target="rightframe">R.layout</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 READ_HISTORY_BOOKMARKS -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.READ_HISTORY_BOOKMARKS" class="hiddenlink" target="rightframe">READ_HISTORY_BOOKMARKS</A>
+</nobr><br>
+<!-- Method register -->
+<nobr><A HREF="android.os.RemoteCallbackList.html#android.os.RemoteCallbackList.register_added(E, java.lang.Object)" class="hiddenlink" target="rightframe"><b>register</b>
+(<code>E, Object</code>)</A></nobr><br>
+<!-- Field RELEASE -->
+<nobr><A HREF="android.util.Config.html#android.util.Config.RELEASE" class="hiddenlink" target="rightframe">RELEASE</A>
+</nobr><br>
+<!-- Class RemoteCallbackList -->
+<A HREF="android.os.RemoteCallbackList.html" class="hiddenlink" target="rightframe">RemoteCallbackList</A><br>
+<!-- Field REPLACE_EXISTING_PACKAGE -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.REPLACE_EXISTING_PACKAGE" class="hiddenlink" target="rightframe"><strike>REPLACE_EXISTING_PACKAGE</strike></A>
+</nobr><br>
+<!-- Field reqGlEsVersion -->
+<nobr><A HREF="android.content.pm.ConfigurationInfo.html#android.content.pm.ConfigurationInfo.reqGlEsVersion" class="hiddenlink" target="rightframe">reqGlEsVersion</A>
+</nobr><br>
+<!-- Field resizeable -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.resizeable" class="hiddenlink" target="rightframe">resizeable</A>
+</nobr><br>
+<!-- Field resolveInfo -->
+<nobr><A HREF="android.app.LauncherActivity.ListItem.html#android.app.LauncherActivity.ListItem.resolveInfo" class="hiddenlink" target="rightframe">resolveInfo</A>
+</nobr><br>
+<!-- Field RESULT_ERROR_GENERIC_FAILURE -->
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.RESULT_ERROR_GENERIC_FAILURE" class="hiddenlink" target="rightframe">RESULT_ERROR_GENERIC_FAILURE</A>
+</nobr><br>
+<!-- Field RESULT_ERROR_NO_SERVICE -->
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.RESULT_ERROR_NO_SERVICE" class="hiddenlink" target="rightframe">RESULT_ERROR_NO_SERVICE</A>
+</nobr><br>
+<!-- Field RESULT_ERROR_NULL_PDU -->
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.RESULT_ERROR_NULL_PDU" class="hiddenlink" target="rightframe">RESULT_ERROR_NULL_PDU</A>
+</nobr><br>
+<!-- Field RESULT_ERROR_RADIO_OFF -->
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.RESULT_ERROR_RADIO_OFF" class="hiddenlink" target="rightframe">RESULT_ERROR_RADIO_OFF</A>
+</nobr><br>
+<!-- Field screenLayout -->
+<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="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.screenLayout" class="hiddenlink" target="rightframe">screenLayout</A>
+</nobr><br>
+<!-- Field SCREENLAYOUT_LONG_MASK -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_LONG_MASK" class="hiddenlink" target="rightframe">SCREENLAYOUT_LONG_MASK</A>
+</nobr><br>
+<!-- Field SCREENLAYOUT_LONG_NO -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_LONG_NO" class="hiddenlink" target="rightframe">SCREENLAYOUT_LONG_NO</A>
+</nobr><br>
+<!-- Field SCREENLAYOUT_LONG_UNDEFINED -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_LONG_UNDEFINED" class="hiddenlink" target="rightframe">SCREENLAYOUT_LONG_UNDEFINED</A>
+</nobr><br>
+<!-- Field SCREENLAYOUT_LONG_YES -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_LONG_YES" class="hiddenlink" target="rightframe">SCREENLAYOUT_LONG_YES</A>
+</nobr><br>
+<!-- Field SCREENLAYOUT_SIZE_LARGE -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_SIZE_LARGE" class="hiddenlink" target="rightframe">SCREENLAYOUT_SIZE_LARGE</A>
+</nobr><br>
+<!-- Field SCREENLAYOUT_SIZE_MASK -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_SIZE_MASK" class="hiddenlink" target="rightframe">SCREENLAYOUT_SIZE_MASK</A>
+</nobr><br>
+<!-- Field SCREENLAYOUT_SIZE_NORMAL -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_SIZE_NORMAL" class="hiddenlink" target="rightframe">SCREENLAYOUT_SIZE_NORMAL</A>
+</nobr><br>
+<!-- Field SCREENLAYOUT_SIZE_SMALL -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_SIZE_SMALL" class="hiddenlink" target="rightframe">SCREENLAYOUT_SIZE_SMALL</A>
+</nobr><br>
+<!-- Field SCREENLAYOUT_SIZE_UNDEFINED -->
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_SIZE_UNDEFINED" class="hiddenlink" target="rightframe">SCREENLAYOUT_SIZE_UNDEFINED</A>
+</nobr><br>
+<!-- Field SDK -->
+<nobr><A HREF="android.os.Build.VERSION.html#android.os.Build.VERSION.SDK" class="hiddenlink" target="rightframe">SDK</A>
+</nobr><br>
+<!-- Field SDK_INT -->
+<nobr><A HREF="android.os.Build.VERSION.html#android.os.Build.VERSION.SDK_INT" class="hiddenlink" target="rightframe">SDK_INT</A>
+</nobr><br>
+<!-- Class SearchManager -->
+<A HREF="android.app.SearchManager.html" class="hiddenlink" target="rightframe">SearchManager</A><br>
+<!-- Field searchSettingsDescription -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.searchSettingsDescription" class="hiddenlink" target="rightframe">searchSettingsDescription</A>
+</nobr><br>
+<!-- Field searchSuggestThreshold -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.searchSuggestThreshold" class="hiddenlink" target="rightframe">searchSuggestThreshold</A>
+</nobr><br>
+<!-- Method sendAccessibilityEvent -->
+<nobr><A HREF="android.view.View.html#android.view.View.sendAccessibilityEvent_added(int)" class="hiddenlink" target="rightframe"><b>sendAccessibilityEvent</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method sendAccessibilityEventUnchecked -->
+<nobr><A HREF="android.view.View.html#android.view.View.sendAccessibilityEventUnchecked_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe"><b>sendAccessibilityEventUnchecked</b>
+(<code>AccessibilityEvent</code>)</A></nobr><br>
+<!-- Method sendDataMessage -->
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.sendDataMessage_changed(java.lang.String, java.lang.String, short, byte[], android.app.PendingIntent, android.app.PendingIntent)" class="hiddenlink" target="rightframe">sendDataMessage
+(<code>String, String, short, byte[], PendingIntent, PendingIntent</code>)</A></nobr><br>
+<!-- Method sendMultipartTextMessage -->
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.sendMultipartTextMessage_changed(java.lang.String, java.lang.String, java.util.ArrayList<java.lang.String>, java.util.ArrayList<android.app.PendingIntent>, java.util.ArrayList<android.app.PendingIntent>)" class="hiddenlink" target="rightframe">sendMultipartTextMessage
+(<code>String, String, ArrayList&lt;String&gt;, ArrayList&lt;PendingIntent&gt;, ArrayList&lt;PendingIntent&gt;</code>)</A></nobr><br>
+<!-- Method sendTextMessage -->
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.sendTextMessage_changed(java.lang.String, java.lang.String, java.lang.String, android.app.PendingIntent, android.app.PendingIntent)" class="hiddenlink" target="rightframe">sendTextMessage
+(<code>String, String, String, PendingIntent, PendingIntent</code>)</A></nobr><br>
+<!-- Class SensorManager -->
+<A HREF="android.hardware.SensorManager.html" class="hiddenlink" target="rightframe">SensorManager</A><br>
+<!-- Field SET_PROCESS_FOREGROUND -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.SET_PROCESS_FOREGROUND" class="hiddenlink" target="rightframe"><strike>SET_PROCESS_FOREGROUND</strike></A>
+</nobr><br>
+<!-- Method setContentDescription -->
+<nobr><A HREF="android.view.View.html#android.view.View.setContentDescription_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>setContentDescription</b>
+(<code>CharSequence</code>)</A></nobr><br>
+<!-- Method setDensity -->
+<i>setDensity</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.setDensity_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.graphics.Bitmap
+</A></nobr><br>
+<!-- Method setDensity -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Canvas.html#android.graphics.Canvas.setDensity_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.graphics.Canvas
+</A></nobr><br>
+<!-- Method setDividerDrawable -->
+<i>setDividerDrawable</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.setDividerDrawable_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Drawable</code>)</b>&nbsp;in&nbsp;android.widget.TabWidget
+</A></nobr><br>
+<!-- Method setDividerDrawable -->
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.setDividerDrawable_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.widget.TabWidget
+</A></nobr><br>
+<!-- Method setDropDownHeight -->
+<nobr><A HREF="android.widget.AutoCompleteTextView.html#android.widget.AutoCompleteTextView.setDropDownHeight_added(int)" class="hiddenlink" target="rightframe"><b>setDropDownHeight</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setIndicator -->
+<nobr><A HREF="android.widget.TabHost.TabSpec.html#android.widget.TabHost.TabSpec.setIndicator_added(android.view.View)" class="hiddenlink" target="rightframe"><b>setIndicator</b>
+(<code>View</code>)</A></nobr><br>
+<!-- Method setPackage -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.setPackage_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setPackage</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method setPathPermissions -->
+<nobr><A HREF="android.content.ContentProvider.html#android.content.ContentProvider.setPathPermissions_added(android.content.pm.PathPermission[])" class="hiddenlink" target="rightframe"><b>setPathPermissions</b>
+(<code>PathPermission[]</code>)</A></nobr><br>
+<!-- Method setPremises -->
+<nobr><A HREF="android.location.Address.html#android.location.Address.setPremises_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setPremises</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method setRouting -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.setRouting_changed(int, int, int)" class="hiddenlink" target="rightframe">setRouting
+(<code>int, int, int</code>)</A></nobr><br>
+<!-- Method setSoftInputMode -->
+<nobr><A HREF="android.widget.PopupWindow.html#android.widget.PopupWindow.setSoftInputMode_added(int)" class="hiddenlink" target="rightframe"><b>setSoftInputMode</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method setSubLocality -->
+<nobr><A HREF="android.location.Address.html#android.location.Address.setSubLocality_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setSubLocality</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method setSubThoroughfare -->
+<nobr><A HREF="android.location.Address.html#android.location.Address.setSubThoroughfare_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setSubThoroughfare</b>
+(<code>String</code>)</A></nobr><br>
+<!-- Method setTag -->
+<nobr><A HREF="android.view.View.html#android.view.View.setTag_added(int, java.lang.Object)" class="hiddenlink" target="rightframe"><b>setTag</b>
+(<code>int, Object</code>)</A></nobr><br>
+<!-- Method setTargetDensity -->
+<i>setTargetDensity</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.BitmapDrawable.html#android.graphics.drawable.BitmapDrawable.setTargetDensity_added(android.graphics.Canvas)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Canvas</code>)</b>&nbsp;in&nbsp;android.graphics.drawable.BitmapDrawable
+</A></nobr><br>
+<!-- Method setTargetDensity -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.BitmapDrawable.html#android.graphics.drawable.BitmapDrawable.setTargetDensity_added(android.util.DisplayMetrics)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>DisplayMetrics</code>)</b>&nbsp;in&nbsp;android.graphics.drawable.BitmapDrawable
+</A></nobr><br>
+<!-- Method setTargetDensity -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.BitmapDrawable.html#android.graphics.drawable.BitmapDrawable.setTargetDensity_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.graphics.drawable.BitmapDrawable
+</A></nobr><br>
+<!-- Method setTargetDensity -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.NinePatchDrawable.html#android.graphics.drawable.NinePatchDrawable.setTargetDensity_added(android.graphics.Canvas)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Canvas</code>)</b>&nbsp;in&nbsp;android.graphics.drawable.NinePatchDrawable
+</A></nobr><br>
+<!-- Method setTargetDensity -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.NinePatchDrawable.html#android.graphics.drawable.NinePatchDrawable.setTargetDensity_added(android.util.DisplayMetrics)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>DisplayMetrics</code>)</b>&nbsp;in&nbsp;android.graphics.drawable.NinePatchDrawable
+</A></nobr><br>
+<!-- Method setTargetDensity -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.NinePatchDrawable.html#android.graphics.drawable.NinePatchDrawable.setTargetDensity_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.graphics.drawable.NinePatchDrawable
+</A></nobr><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>
+<!-- Field SHORTCUT_MIME_TYPE -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.SHORTCUT_MIME_TYPE" class="hiddenlink" target="rightframe">SHORTCUT_MIME_TYPE</A>
+</nobr><br>
+<!-- Field SHOW_WEB_SUGGESTIONS -->
+<nobr><A HREF="android.provider.Settings.System.html#android.provider.Settings.System.SHOW_WEB_SUGGESTIONS" class="hiddenlink" target="rightframe">SHOW_WEB_SUGGESTIONS</A>
+</nobr><br>
+<!-- Field smallScreens -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.smallScreens" class="hiddenlink" target="rightframe">smallScreens</A>
+</nobr><br>
+<!-- Class SmsManager -->
+<i>SmsManager</i><br>
+&nbsp;&nbsp;<A HREF="pkg_android.telephony.html#SmsManager" class="hiddenlink" target="rightframe"><b>android.telephony</b></A><br>
+<!-- Class SmsManager -->
+&nbsp;&nbsp;<A HREF="android.telephony.gsm.SmsManager.html" class="hiddenlink" target="rightframe">android.telephony.gsm</A><br>
+<!-- Class SmsMessage -->
+<i>SmsMessage</i><br>
+&nbsp;&nbsp;<A HREF="pkg_android.telephony.html#SmsMessage" class="hiddenlink" target="rightframe"><b>android.telephony</b></A><br>
+<!-- Class SmsMessage -->
+&nbsp;&nbsp;<A HREF="android.telephony.gsm.SmsMessage.html" class="hiddenlink" target="rightframe">android.telephony.gsm</A><br>
+<!-- Constructor SmsMessage -->
+&nbsp;&nbsp;<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.ctor_changed()" class="hiddenlink" target="rightframe">SmsMessage
+()</A></nobr>&nbsp;constructor<br>
+<!-- Class SmsMessage.MessageClass -->
+<i>SmsMessage.MessageClass</i><br>
+&nbsp;&nbsp;<A HREF="pkg_android.telephony.html#SmsMessage.MessageClass" class="hiddenlink" target="rightframe"><b>android.telephony</b></A><br>
+<!-- Class SmsMessage.MessageClass -->
+&nbsp;&nbsp;<A HREF="android.telephony.gsm.SmsMessage.MessageClass.html" class="hiddenlink" target="rightframe">android.telephony.gsm</A><br>
+<!-- Class SmsMessage.SubmitPdu -->
+<i>SmsMessage.SubmitPdu</i><br>
+&nbsp;&nbsp;<A HREF="pkg_android.telephony.html#SmsMessage.SubmitPdu" class="hiddenlink" target="rightframe"><b>android.telephony</b></A><br>
+<!-- Class SmsMessage.SubmitPdu -->
+&nbsp;&nbsp;<A HREF="android.telephony.gsm.SmsMessage.SubmitPdu.html" class="hiddenlink" target="rightframe">android.telephony.gsm</A><br>
+<!-- Constructor SmsMessage.SubmitPdu -->
+&nbsp;&nbsp;<nobr><A HREF="android.telephony.gsm.SmsMessage.SubmitPdu.html#android.telephony.gsm.SmsMessage.SubmitPdu.ctor_changed()" class="hiddenlink" target="rightframe">SmsMessage.SubmitPdu
+()</A></nobr>&nbsp;constructor<br>
+<!-- Class Socket -->
+<i>Socket</i><br>
+&nbsp;&nbsp;<A HREF="java.net.Socket.html" class="hiddenlink" target="rightframe">java.net</A><br>
+<!-- Constructor Socket -->
+&nbsp;&nbsp;<nobr><A HREF="java.net.Socket.html#java.net.Socket.ctor_changed()" class="hiddenlink" target="rightframe">Socket
+()</A></nobr>&nbsp;constructor<br>
+<!-- Constructor Socket -->
+&nbsp;&nbsp;<nobr><A HREF="java.net.Socket.html#java.net.Socket.ctor_changed(java.lang.String, int)" class="hiddenlink" target="rightframe">Socket
+(<code>String, int</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor Socket -->
+&nbsp;&nbsp;<nobr><A HREF="java.net.Socket.html#java.net.Socket.ctor_changed(java.lang.String, int, java.net.InetAddress, int)" class="hiddenlink" target="rightframe">Socket
+(<code>String, int, InetAddress, int</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor Socket -->
+&nbsp;&nbsp;<nobr><A HREF="java.net.Socket.html#java.net.Socket.ctor_changed(java.net.Proxy)" class="hiddenlink" target="rightframe">Socket
+(<code>Proxy</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor Socket -->
+&nbsp;&nbsp;<nobr><A HREF="java.net.Socket.html#java.net.Socket.ctor_changed(java.net.SocketImpl)" class="hiddenlink" target="rightframe">Socket
+(<code>SocketImpl</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Field stat_sys_vp_phone_call -->
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.stat_sys_vp_phone_call" class="hiddenlink" target="rightframe">stat_sys_vp_phone_call</A>
+</nobr><br>
+<!-- Field stat_sys_vp_phone_call_on_hold -->
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.stat_sys_vp_phone_call_on_hold" class="hiddenlink" target="rightframe">stat_sys_vp_phone_call_on_hold</A>
+</nobr><br>
+<!-- Field STATUS_ON_SIM_FREE -->
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.STATUS_ON_SIM_FREE" class="hiddenlink" target="rightframe">STATUS_ON_SIM_FREE</A>
+</nobr><br>
+<!-- Field STATUS_ON_SIM_READ -->
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.STATUS_ON_SIM_READ" class="hiddenlink" target="rightframe">STATUS_ON_SIM_READ</A>
+</nobr><br>
+<!-- Field STATUS_ON_SIM_SENT -->
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.STATUS_ON_SIM_SENT" class="hiddenlink" target="rightframe">STATUS_ON_SIM_SENT</A>
+</nobr><br>
+<!-- Field STATUS_ON_SIM_UNREAD -->
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.STATUS_ON_SIM_UNREAD" class="hiddenlink" target="rightframe">STATUS_ON_SIM_UNREAD</A>
+</nobr><br>
+<!-- Field STATUS_ON_SIM_UNSENT -->
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.STATUS_ON_SIM_UNSENT" class="hiddenlink" target="rightframe">STATUS_ON_SIM_UNSENT</A>
+</nobr><br>
+<!-- Field STORAGE -->
+<nobr><A HREF="android.Manifest.permission_group.html#android.Manifest.permission_group.STORAGE" class="hiddenlink" target="rightframe">STORAGE</A>
+</nobr><br>
+<!-- Class String -->
+<i>String</i><br>
+&nbsp;&nbsp;<A HREF="java.lang.String.html" class="hiddenlink" target="rightframe">java.lang</A><br>
+<!-- Constructor String -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.String.html#java.lang.String.ctor_changed()" class="hiddenlink" target="rightframe">String
+()</A></nobr>&nbsp;constructor<br>
+<!-- Constructor String -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.String.html#java.lang.String.ctor_changed(byte[])" class="hiddenlink" target="rightframe">String
+(<code>byte[]</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor String -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.String.html#java.lang.String.ctor_changed(byte[], int)" class="hiddenlink" target="rightframe">String
+(<code>byte[], int</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor String -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.String.html#java.lang.String.ctor_changed(byte[], int, int)" class="hiddenlink" target="rightframe">String
+(<code>byte[], int, int</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor String -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.String.html#java.lang.String.ctor_changed(byte[], int, int, int)" class="hiddenlink" target="rightframe">String
+(<code>byte[], int, int, int</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Field SUGGEST_COLUMN_INTENT_EXTRA_DATA -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.SUGGEST_COLUMN_INTENT_EXTRA_DATA" class="hiddenlink" target="rightframe">SUGGEST_COLUMN_INTENT_EXTRA_DATA</A>
+</nobr><br>
+<!-- Field SUGGEST_COLUMN_SHORTCUT_ID -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.SUGGEST_COLUMN_SHORTCUT_ID" class="hiddenlink" target="rightframe">SUGGEST_COLUMN_SHORTCUT_ID</A>
+</nobr><br>
+<!-- Field SUGGEST_COLUMN_SPINNER_WHILE_REFRESHING -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.SUGGEST_COLUMN_SPINNER_WHILE_REFRESHING" class="hiddenlink" target="rightframe">SUGGEST_COLUMN_SPINNER_WHILE_REFRESHING</A>
+</nobr><br>
+<!-- Field SUGGEST_NEVER_MAKE_SHORTCUT -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.SUGGEST_NEVER_MAKE_SHORTCUT" class="hiddenlink" target="rightframe">SUGGEST_NEVER_MAKE_SHORTCUT</A>
+</nobr><br>
+<!-- Field SUGGEST_URI_PATH_SHORTCUT -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.SUGGEST_URI_PATH_SHORTCUT" class="hiddenlink" target="rightframe">SUGGEST_URI_PATH_SHORTCUT</A>
+</nobr><br>
+<!-- Field SURACE_FROZEN -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.SURACE_FROZEN" class="hiddenlink" target="rightframe">SURACE_FROZEN</A>
+</nobr><br>
+<!-- Class Surface -->
+<A HREF="android.view.Surface.html" class="hiddenlink" target="rightframe">Surface</A><br>
+<!-- Field SURFACE_FROZEN -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.SURFACE_FROZEN" class="hiddenlink" target="rightframe">SURFACE_FROZEN</A>
+</nobr><br>
+<!-- Class TabHost.TabSpec -->
+<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="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#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.TabHost.TabSpec.html" class="hiddenlink" target="rightframe">TabHost.TabSpec</A><br>
+<!-- Class TabWidget -->
+<A HREF="android.widget.TabWidget.html" class="hiddenlink" target="rightframe">TabWidget</A><br>
+<!-- Field targetSdkVersion -->
+<i>targetSdkVersion</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.targetSdkVersion" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+<!-- Field targetSdkVersion -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.targetSdkVersion" class="hiddenlink" target="rightframe">android.content.pm.ApplicationInfo</A>
+</nobr><br>
+<!-- Field tension -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.tension" class="hiddenlink" target="rightframe">tension</A>
+</nobr><br>
+<!-- Field testOnly -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.testOnly" class="hiddenlink" target="rightframe">testOnly</A>
+</nobr><br>
+<!-- Field textColorPrimaryInverseDisableOnly -->
+<nobr><A HREF="android.R.attr.html#android.R.attr.textColorPrimaryInverseDisableOnly" class="hiddenlink" target="rightframe">textColorPrimaryInverseDisableOnly</A>
+</nobr><br>
+<!-- Field TONE_CDMA_ABBR_ALERT -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ABBR_ALERT" class="hiddenlink" target="rightframe">TONE_CDMA_ABBR_ALERT</A>
+</nobr><br>
+<!-- Field TONE_CDMA_ABBR_INTERCEPT -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ABBR_INTERCEPT" class="hiddenlink" target="rightframe">TONE_CDMA_ABBR_INTERCEPT</A>
+</nobr><br>
+<!-- Field TONE_CDMA_ABBR_REORDER -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ABBR_REORDER" class="hiddenlink" target="rightframe">TONE_CDMA_ABBR_REORDER</A>
+</nobr><br>
+<!-- Field TONE_CDMA_ALERT_AUTOREDIAL_LITE -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ALERT_AUTOREDIAL_LITE" class="hiddenlink" target="rightframe">TONE_CDMA_ALERT_AUTOREDIAL_LITE</A>
+</nobr><br>
+<!-- Field TONE_CDMA_ALERT_CALL_GUARD -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ALERT_CALL_GUARD" class="hiddenlink" target="rightframe">TONE_CDMA_ALERT_CALL_GUARD</A>
+</nobr><br>
+<!-- Field TONE_CDMA_ALERT_INCALL_LITE -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ALERT_INCALL_LITE" class="hiddenlink" target="rightframe">TONE_CDMA_ALERT_INCALL_LITE</A>
+</nobr><br>
+<!-- Field TONE_CDMA_ALERT_NETWORK_LITE -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ALERT_NETWORK_LITE" class="hiddenlink" target="rightframe">TONE_CDMA_ALERT_NETWORK_LITE</A>
+</nobr><br>
+<!-- Field TONE_CDMA_ANSWER -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ANSWER" class="hiddenlink" target="rightframe">TONE_CDMA_ANSWER</A>
+</nobr><br>
+<!-- Field TONE_CDMA_CALL_SIGNAL_ISDN_INTERGROUP -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_INTERGROUP" class="hiddenlink" target="rightframe">TONE_CDMA_CALL_SIGNAL_ISDN_INTERGROUP</A>
+</nobr><br>
+<!-- Field TONE_CDMA_CALL_SIGNAL_ISDN_NORMAL -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_NORMAL" class="hiddenlink" target="rightframe">TONE_CDMA_CALL_SIGNAL_ISDN_NORMAL</A>
+</nobr><br>
+<!-- Field TONE_CDMA_CALL_SIGNAL_ISDN_PAT3 -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_PAT3" class="hiddenlink" target="rightframe">TONE_CDMA_CALL_SIGNAL_ISDN_PAT3</A>
+</nobr><br>
+<!-- Field TONE_CDMA_CALL_SIGNAL_ISDN_PAT5 -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_PAT5" class="hiddenlink" target="rightframe">TONE_CDMA_CALL_SIGNAL_ISDN_PAT5</A>
+</nobr><br>
+<!-- Field TONE_CDMA_CALL_SIGNAL_ISDN_PAT6 -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_PAT6" class="hiddenlink" target="rightframe">TONE_CDMA_CALL_SIGNAL_ISDN_PAT6</A>
+</nobr><br>
+<!-- Field TONE_CDMA_CALL_SIGNAL_ISDN_PAT7 -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_PAT7" class="hiddenlink" target="rightframe">TONE_CDMA_CALL_SIGNAL_ISDN_PAT7</A>
+</nobr><br>
+<!-- Field TONE_CDMA_CALL_SIGNAL_ISDN_PING_RING -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_PING_RING" class="hiddenlink" target="rightframe">TONE_CDMA_CALL_SIGNAL_ISDN_PING_RING</A>
+</nobr><br>
+<!-- Field TONE_CDMA_CALL_SIGNAL_ISDN_SP_PRI -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_SP_PRI" class="hiddenlink" target="rightframe">TONE_CDMA_CALL_SIGNAL_ISDN_SP_PRI</A>
+</nobr><br>
+<!-- Field TONE_CDMA_CALLDROP_LITE -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALLDROP_LITE" class="hiddenlink" target="rightframe">TONE_CDMA_CALLDROP_LITE</A>
+</nobr><br>
+<!-- Field TONE_CDMA_CONFIRM -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CONFIRM" class="hiddenlink" target="rightframe">TONE_CDMA_CONFIRM</A>
+</nobr><br>
+<!-- Field TONE_CDMA_DIAL_TONE_LITE -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_DIAL_TONE_LITE" class="hiddenlink" target="rightframe">TONE_CDMA_DIAL_TONE_LITE</A>
+</nobr><br>
+<!-- Field TONE_CDMA_EMERGENCY_RINGBACK -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_EMERGENCY_RINGBACK" class="hiddenlink" target="rightframe">TONE_CDMA_EMERGENCY_RINGBACK</A>
+</nobr><br>
+<!-- Field TONE_CDMA_HIGH_L -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_L" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_L</A>
+</nobr><br>
+<!-- Field TONE_CDMA_HIGH_PBX_L -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_PBX_L" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_PBX_L</A>
+</nobr><br>
+<!-- Field TONE_CDMA_HIGH_PBX_S_X4 -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_PBX_S_X4" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_PBX_S_X4</A>
+</nobr><br>
+<!-- Field TONE_CDMA_HIGH_PBX_SLS -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_PBX_SLS" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_PBX_SLS</A>
+</nobr><br>
+<!-- Field TONE_CDMA_HIGH_PBX_SS -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_PBX_SS" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_PBX_SS</A>
+</nobr><br>
+<!-- Field TONE_CDMA_HIGH_PBX_SSL -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_PBX_SSL" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_PBX_SSL</A>
+</nobr><br>
+<!-- Field TONE_CDMA_HIGH_S_X4 -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_S_X4" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_S_X4</A>
+</nobr><br>
+<!-- Field TONE_CDMA_HIGH_SLS -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_SLS" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_SLS</A>
+</nobr><br>
+<!-- Field TONE_CDMA_HIGH_SS -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_SS" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_SS</A>
+</nobr><br>
+<!-- Field TONE_CDMA_HIGH_SS_2 -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_SS_2" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_SS_2</A>
+</nobr><br>
+<!-- Field TONE_CDMA_HIGH_SSL -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_SSL" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_SSL</A>
+</nobr><br>
+<!-- Field TONE_CDMA_INTERCEPT -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_INTERCEPT" class="hiddenlink" target="rightframe">TONE_CDMA_INTERCEPT</A>
+</nobr><br>
+<!-- Field TONE_CDMA_KEYPAD_VOLUME_KEY_LITE -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_KEYPAD_VOLUME_KEY_LITE" class="hiddenlink" target="rightframe">TONE_CDMA_KEYPAD_VOLUME_KEY_LITE</A>
+</nobr><br>
+<!-- Field TONE_CDMA_LOW_L -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_L" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_L</A>
+</nobr><br>
+<!-- Field TONE_CDMA_LOW_PBX_L -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_PBX_L" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_PBX_L</A>
+</nobr><br>
+<!-- Field TONE_CDMA_LOW_PBX_S_X4 -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_PBX_S_X4" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_PBX_S_X4</A>
+</nobr><br>
+<!-- Field TONE_CDMA_LOW_PBX_SLS -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_PBX_SLS" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_PBX_SLS</A>
+</nobr><br>
+<!-- Field TONE_CDMA_LOW_PBX_SS -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_PBX_SS" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_PBX_SS</A>
+</nobr><br>
+<!-- Field TONE_CDMA_LOW_PBX_SSL -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_PBX_SSL" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_PBX_SSL</A>
+</nobr><br>
+<!-- Field TONE_CDMA_LOW_S_X4 -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_S_X4" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_S_X4</A>
+</nobr><br>
+<!-- Field TONE_CDMA_LOW_SLS -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_SLS" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_SLS</A>
+</nobr><br>
+<!-- Field TONE_CDMA_LOW_SS -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_SS" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_SS</A>
+</nobr><br>
+<!-- Field TONE_CDMA_LOW_SS_2 -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_SS_2" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_SS_2</A>
+</nobr><br>
+<!-- Field TONE_CDMA_LOW_SSL -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_SSL" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_SSL</A>
+</nobr><br>
+<!-- Field TONE_CDMA_MED_L -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_L" class="hiddenlink" target="rightframe">TONE_CDMA_MED_L</A>
+</nobr><br>
+<!-- Field TONE_CDMA_MED_PBX_L -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_PBX_L" class="hiddenlink" target="rightframe">TONE_CDMA_MED_PBX_L</A>
+</nobr><br>
+<!-- Field TONE_CDMA_MED_PBX_S_X4 -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_PBX_S_X4" class="hiddenlink" target="rightframe">TONE_CDMA_MED_PBX_S_X4</A>
+</nobr><br>
+<!-- Field TONE_CDMA_MED_PBX_SLS -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_PBX_SLS" class="hiddenlink" target="rightframe">TONE_CDMA_MED_PBX_SLS</A>
+</nobr><br>
+<!-- Field TONE_CDMA_MED_PBX_SS -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_PBX_SS" class="hiddenlink" target="rightframe">TONE_CDMA_MED_PBX_SS</A>
+</nobr><br>
+<!-- Field TONE_CDMA_MED_PBX_SSL -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_PBX_SSL" class="hiddenlink" target="rightframe">TONE_CDMA_MED_PBX_SSL</A>
+</nobr><br>
+<!-- Field TONE_CDMA_MED_S_X4 -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_S_X4" class="hiddenlink" target="rightframe">TONE_CDMA_MED_S_X4</A>
+</nobr><br>
+<!-- Field TONE_CDMA_MED_SLS -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_SLS" class="hiddenlink" target="rightframe">TONE_CDMA_MED_SLS</A>
+</nobr><br>
+<!-- Field TONE_CDMA_MED_SS -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_SS" class="hiddenlink" target="rightframe">TONE_CDMA_MED_SS</A>
+</nobr><br>
+<!-- Field TONE_CDMA_MED_SS_2 -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_SS_2" class="hiddenlink" target="rightframe">TONE_CDMA_MED_SS_2</A>
+</nobr><br>
+<!-- Field TONE_CDMA_MED_SSL -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_SSL" class="hiddenlink" target="rightframe">TONE_CDMA_MED_SSL</A>
+</nobr><br>
+<!-- Field TONE_CDMA_NETWORK_BUSY -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_NETWORK_BUSY" class="hiddenlink" target="rightframe">TONE_CDMA_NETWORK_BUSY</A>
+</nobr><br>
+<!-- Field TONE_CDMA_NETWORK_BUSY_ONE_SHOT -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_NETWORK_BUSY_ONE_SHOT" class="hiddenlink" target="rightframe">TONE_CDMA_NETWORK_BUSY_ONE_SHOT</A>
+</nobr><br>
+<!-- Field TONE_CDMA_NETWORK_CALLWAITING -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_NETWORK_CALLWAITING" class="hiddenlink" target="rightframe">TONE_CDMA_NETWORK_CALLWAITING</A>
+</nobr><br>
+<!-- Field TONE_CDMA_NETWORK_USA_RINGBACK -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_NETWORK_USA_RINGBACK" class="hiddenlink" target="rightframe">TONE_CDMA_NETWORK_USA_RINGBACK</A>
+</nobr><br>
+<!-- Field TONE_CDMA_ONE_MIN_BEEP -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ONE_MIN_BEEP" class="hiddenlink" target="rightframe">TONE_CDMA_ONE_MIN_BEEP</A>
+</nobr><br>
+<!-- Field TONE_CDMA_PIP -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_PIP" class="hiddenlink" target="rightframe">TONE_CDMA_PIP</A>
+</nobr><br>
+<!-- Field TONE_CDMA_PRESSHOLDKEY_LITE -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_PRESSHOLDKEY_LITE" class="hiddenlink" target="rightframe">TONE_CDMA_PRESSHOLDKEY_LITE</A>
+</nobr><br>
+<!-- Field TONE_CDMA_REORDER -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_REORDER" class="hiddenlink" target="rightframe">TONE_CDMA_REORDER</A>
+</nobr><br>
+<!-- Field TONE_CDMA_SIGNAL_OFF -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_SIGNAL_OFF" class="hiddenlink" target="rightframe">TONE_CDMA_SIGNAL_OFF</A>
+</nobr><br>
+<!-- Field TONE_CDMA_SOFT_ERROR_LITE -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_SOFT_ERROR_LITE" class="hiddenlink" target="rightframe">TONE_CDMA_SOFT_ERROR_LITE</A>
+</nobr><br>
+<!-- Field TONE_SUP_CONFIRM -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_SUP_CONFIRM" class="hiddenlink" target="rightframe">TONE_SUP_CONFIRM</A>
+</nobr><br>
+<!-- Field TONE_SUP_CONGESTION_ABBREV -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_SUP_CONGESTION_ABBREV" class="hiddenlink" target="rightframe">TONE_SUP_CONGESTION_ABBREV</A>
+</nobr><br>
+<!-- Field TONE_SUP_INTERCEPT -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_SUP_INTERCEPT" class="hiddenlink" target="rightframe">TONE_SUP_INTERCEPT</A>
+</nobr><br>
+<!-- Field TONE_SUP_INTERCEPT_ABBREV -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_SUP_INTERCEPT_ABBREV" class="hiddenlink" target="rightframe">TONE_SUP_INTERCEPT_ABBREV</A>
+</nobr><br>
+<!-- Field TONE_SUP_PIP -->
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_SUP_PIP" class="hiddenlink" target="rightframe">TONE_SUP_PIP</A>
+</nobr><br>
+<!-- Class ToneGenerator -->
+<A HREF="android.media.ToneGenerator.html" class="hiddenlink" target="rightframe">ToneGenerator</A><br>
+<!-- Method toUri -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.toUri_added(int)" class="hiddenlink" target="rightframe"><b>toUri</b>
+(<code>int</code>)</A></nobr><br>
+<!-- Method toURI -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.toURI_changed()" class="hiddenlink" target="rightframe">toURI
+()</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_PITCH -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.TTS_DEFAULT_PITCH" class="hiddenlink" target="rightframe">TTS_DEFAULT_PITCH</A>
+</nobr><br>
+<!-- Field TTS_DEFAULT_RATE -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.TTS_DEFAULT_RATE" class="hiddenlink" target="rightframe">TTS_DEFAULT_RATE</A>
+</nobr><br>
+<!-- Field TTS_DEFAULT_SYNTH -->
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.TTS_DEFAULT_SYNTH" class="hiddenlink" target="rightframe">TTS_DEFAULT_SYNTH</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 TypedValue -->
+<A HREF="android.util.TypedValue.html" class="hiddenlink" target="rightframe">TypedValue</A><br>
+<!-- Class Typeface -->
+<A HREF="android.graphics.Typeface.html" class="hiddenlink" target="rightframe">Typeface</A><br>
+<!-- Field uncertainGestureColor -->
+<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="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#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.uncertainGestureColor" class="hiddenlink" target="rightframe">uncertainGestureColor</A>
+</nobr><br>
+<!-- Method update -->
+<nobr><A HREF="android.widget.PopupWindow.html#android.widget.PopupWindow.update_added(int, int)" class="hiddenlink" target="rightframe"><b>update</b>
+(<code>int, int</code>)</A></nobr><br>
+<!-- Field URI_INTENT_SCHEME -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.URI_INTENT_SCHEME" class="hiddenlink" target="rightframe">URI_INTENT_SCHEME</A>
+</nobr><br>
+<!-- Field USER_QUERY -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.USER_QUERY" class="hiddenlink" target="rightframe">USER_QUERY</A>
+</nobr><br>
+<!-- Class VelocityTracker -->
+<A NAME="V"></A>
+<br><font size="+2">V</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#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.VelocityTracker.html" class="hiddenlink" target="rightframe">VelocityTracker</A><br>
+<!-- Class View -->
+<A HREF="android.view.View.html" class="hiddenlink" target="rightframe">View</A><br>
+<!-- Class ViewConfiguration -->
+<A HREF="android.view.ViewConfiguration.html" class="hiddenlink" target="rightframe">ViewConfiguration</A><br>
+<!-- Class ViewDebug.FlagToString -->
+<A HREF="pkg_android.view.html#ViewDebug.FlagToString" class="hiddenlink" target="rightframe"><b>ViewDebug.FlagToString</b></A><br>
+<!-- Field VOICE_CALL -->
+<nobr><A HREF="android.media.MediaRecorder.AudioSource.html#android.media.MediaRecorder.AudioSource.VOICE_CALL" class="hiddenlink" target="rightframe">VOICE_CALL</A>
+</nobr><br>
+<!-- Field VOICE_DOWNLINK -->
+<nobr><A HREF="android.media.MediaRecorder.AudioSource.html#android.media.MediaRecorder.AudioSource.VOICE_DOWNLINK" class="hiddenlink" target="rightframe">VOICE_DOWNLINK</A>
+</nobr><br>
+<!-- Field VOICE_UPLINK -->
+<nobr><A HREF="android.media.MediaRecorder.AudioSource.html#android.media.MediaRecorder.AudioSource.VOICE_UPLINK" class="hiddenlink" target="rightframe">VOICE_UPLINK</A>
+</nobr><br>
+<!-- Field Widget_ProgressBar_Inverse -->
+<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="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#K"><font size="-2">K</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+ <a href="#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_ProgressBar_Inverse" class="hiddenlink" target="rightframe">Widget_ProgressBar_Inverse</A>
+</nobr><br>
+<!-- Field Widget_ProgressBar_Large_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_ProgressBar_Large_Inverse" class="hiddenlink" target="rightframe">Widget_ProgressBar_Large_Inverse</A>
+</nobr><br>
+<!-- Field Widget_ProgressBar_Small_Inverse -->
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_ProgressBar_Small_Inverse" class="hiddenlink" target="rightframe">Widget_ProgressBar_Small_Inverse</A>
+</nobr><br>
+<!-- Class WifiManager -->
+<A HREF="android.net.wifi.WifiManager.html" class="hiddenlink" target="rightframe">WifiManager</A><br>
+<!-- Class WifiManager.MulticastLock -->
+<A HREF="pkg_android.net.wifi.html#WifiManager.MulticastLock" class="hiddenlink" target="rightframe"><b>WifiManager.MulticastLock</b></A><br>
+<!-- Class Window.Callback -->
+<A HREF="android.view.Window.Callback.html" class="hiddenlink" target="rightframe"><i>Window.Callback</i></A><br>
+<!-- Field WRITE_EXTERNAL_STORAGE -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.WRITE_EXTERNAL_STORAGE" class="hiddenlink" target="rightframe">WRITE_EXTERNAL_STORAGE</A>
+</nobr><br>
+<!-- Field WRITE_HISTORY_BOOKMARKS -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.WRITE_HISTORY_BOOKMARKS" class="hiddenlink" target="rightframe">WRITE_HISTORY_BOOKMARKS</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/4/changes/alldiffs_index_changes.html b/docs/html/sdk/api_diff/4/changes/alldiffs_index_changes.html
new file mode 100644
index 0000000..8195523
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/alldiffs_index_changes.html
@@ -0,0 +1,962 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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">
+<font size="-2"><strong>Bold</strong>&nbsp;indicates&nbsp;New;&nbsp;<strike>Strike</strike>&nbsp;indicates&nbsp;deleted. Plain indicates changed.</font>
+</div>
+<!-- Class Activity -->
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#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="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 Address -->
+<A HREF="android.location.Address.html" class="hiddenlink" target="rightframe">Address</A><br>
+<!-- Package android -->
+<A HREF="pkg_android.html" class="hiddenlink" target="rightframe">android</A><br>
+<!-- Package android.app -->
+<A HREF="pkg_android.app.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<!-- Package android.content -->
+<A HREF="pkg_android.content.html" class="hiddenlink" target="rightframe">android.content</A><br>
+<!-- Package android.content.pm -->
+<A HREF="pkg_android.content.pm.html" class="hiddenlink" target="rightframe">android.content.pm</A><br>
+<!-- Package android.content.res -->
+<A HREF="pkg_android.content.res.html" class="hiddenlink" target="rightframe">android.content.res</A><br>
+<!-- Package android.graphics -->
+<A HREF="pkg_android.graphics.html" class="hiddenlink" target="rightframe">android.graphics</A><br>
+<!-- Package android.graphics.drawable -->
+<A HREF="pkg_android.graphics.drawable.html" class="hiddenlink" target="rightframe">android.graphics.drawable</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.location -->
+<A HREF="pkg_android.location.html" class="hiddenlink" target="rightframe">android.location</A><br>
+<!-- Package android.media -->
+<A HREF="pkg_android.media.html" class="hiddenlink" target="rightframe">android.media</A><br>
+<!-- Package android.net.wifi -->
+<A HREF="pkg_android.net.wifi.html" class="hiddenlink" target="rightframe">android.net.wifi</A><br>
+<!-- Package android.opengl -->
+<A HREF="pkg_android.opengl.html" class="hiddenlink" target="rightframe">android.opengl</A><br>
+<!-- Package android.os -->
+<A HREF="pkg_android.os.html" class="hiddenlink" target="rightframe">android.os</A><br>
+<!-- Package android.provider -->
+<A HREF="pkg_android.provider.html" class="hiddenlink" target="rightframe">android.provider</A><br>
+<!-- Package android.telephony -->
+<A HREF="pkg_android.telephony.html" class="hiddenlink" target="rightframe">android.telephony</A><br>
+<!-- Package android.telephony.gsm -->
+<A HREF="pkg_android.telephony.gsm.html" class="hiddenlink" target="rightframe">android.telephony.gsm</A><br>
+<!-- Package android.test -->
+<A HREF="pkg_android.test.html" class="hiddenlink" target="rightframe">android.test</A><br>
+<!-- Package android.test.mock -->
+<A HREF="pkg_android.test.mock.html" class="hiddenlink" target="rightframe">android.test.mock</A><br>
+<!-- Package android.text.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.animation -->
+<A HREF="pkg_android.view.animation.html" class="hiddenlink" target="rightframe">android.view.animation</A><br>
+<!-- Package android.widget -->
+<A HREF="pkg_android.widget.html" class="hiddenlink" target="rightframe">android.widget</A><br>
+<!-- Class AndroidTestCase -->
+<A HREF="android.test.AndroidTestCase.html" class="hiddenlink" target="rightframe">AndroidTestCase</A><br>
+<!-- Class AnimationDrawable -->
+<A HREF="android.graphics.drawable.AnimationDrawable.html" class="hiddenlink" target="rightframe">AnimationDrawable</A><br>
+<!-- Class ApplicationInfo -->
+<A HREF="android.content.pm.ApplicationInfo.html" class="hiddenlink" target="rightframe">ApplicationInfo</A><br>
+<!-- Class AudioManager -->
+<A HREF="android.media.AudioManager.html" class="hiddenlink" target="rightframe">AudioManager</A><br>
+<!-- Class AutoCompleteTextView -->
+<A HREF="android.widget.AutoCompleteTextView.html" class="hiddenlink" target="rightframe">AutoCompleteTextView</A><br>
+<!-- Class Bitmap -->
+<A NAME="B"></A>
+<br><font size="+2">B</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#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="android.graphics.Bitmap.html" class="hiddenlink" target="rightframe">Bitmap</A><br>
+<!-- Class BitmapDrawable -->
+<i>BitmapDrawable</i><br>
+&nbsp;&nbsp;<A HREF="android.graphics.drawable.BitmapDrawable.html" class="hiddenlink" target="rightframe">android.graphics.drawable</A><br>
+<!-- Constructor BitmapDrawable -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.BitmapDrawable.html#android.graphics.drawable.BitmapDrawable.ctor_changed()" class="hiddenlink" target="rightframe">BitmapDrawable
+()</A></nobr>&nbsp;constructor<br>
+<!-- Constructor BitmapDrawable -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.BitmapDrawable.html#android.graphics.drawable.BitmapDrawable.ctor_changed(android.graphics.Bitmap)" class="hiddenlink" target="rightframe">BitmapDrawable
+(<code>Bitmap</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class BitmapFactory -->
+<A HREF="android.graphics.BitmapFactory.html" class="hiddenlink" target="rightframe">BitmapFactory</A><br>
+<!-- Class BitmapFactory.Options -->
+<A HREF="android.graphics.BitmapFactory.Options.html" class="hiddenlink" target="rightframe">BitmapFactory.Options</A><br>
+<!-- Class Build -->
+<A HREF="android.os.Build.html" class="hiddenlink" target="rightframe">Build</A><br>
+<!-- Class Build.VERSION -->
+<A HREF="android.os.Build.VERSION.html" class="hiddenlink" target="rightframe">Build.VERSION</A><br>
+<!-- Method calculateLength -->
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#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">
+<i>calculateLength</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.calculateLength_changed(java.lang.CharSequence, boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>CharSequence, boolean</code>)&nbsp;in&nbsp;android.telephony.gsm.SmsMessage
+</A></nobr><br>
+<!-- Method calculateLength -->
+&nbsp;&nbsp;<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.calculateLength_changed(java.lang.String, boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, boolean</code>)&nbsp;in&nbsp;android.telephony.gsm.SmsMessage
+</A></nobr><br>
+<!-- Class Canvas -->
+<A HREF="android.graphics.Canvas.html" class="hiddenlink" target="rightframe">Canvas</A><br>
+<!-- Class CheckedTextView -->
+<A HREF="android.widget.CheckedTextView.html" class="hiddenlink" target="rightframe">CheckedTextView</A><br>
+<!-- Class ComponentName -->
+<A HREF="android.content.ComponentName.html" class="hiddenlink" target="rightframe">ComponentName</A><br>
+<!-- Class Config -->
+<A HREF="android.util.Config.html" class="hiddenlink" target="rightframe">Config</A><br>
+<!-- Class Configuration -->
+<A HREF="android.content.res.Configuration.html" class="hiddenlink" target="rightframe">Configuration</A><br>
+<!-- Class ConfigurationInfo -->
+<A HREF="android.content.pm.ConfigurationInfo.html" class="hiddenlink" target="rightframe">ConfigurationInfo</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>
+<!-- Class ContextWrapper -->
+<A HREF="android.content.ContextWrapper.html" class="hiddenlink" target="rightframe">ContextWrapper</A><br>
+<!-- Method createFromPdu -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.createFromPdu_changed(byte[])" class="hiddenlink" target="rightframe">createFromPdu
+(<code>byte[]</code>)</A></nobr><br>
+<!-- Class Date -->
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#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">
+<i>Date</i><br>
+&nbsp;&nbsp;<A HREF="java.util.Date.html" class="hiddenlink" target="rightframe">java.util</A><br>
+<!-- Constructor Date -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Date.html#java.util.Date.ctor_changed()" class="hiddenlink" target="rightframe">Date
+()</A></nobr>&nbsp;constructor<br>
+<!-- Constructor Date -->
+&nbsp;&nbsp;<nobr><A HREF="java.util.Date.html#java.util.Date.ctor_changed(int, int, int, int, int, int)" class="hiddenlink" target="rightframe">Date
+(<code>int, int, int, int, int, int</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Field DEFAULT_SORT_ORDER -->
+<i>DEFAULT_SORT_ORDER</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.provider.MediaStore.Audio.Genres.Members.html#android.provider.MediaStore.Audio.Genres.Members.DEFAULT_SORT_ORDER" class="hiddenlink" target="rightframe">android.provider.MediaStore.Audio.Genres.Members</A>
+</nobr><br>
+<!-- Field DEFAULT_SORT_ORDER -->
+&nbsp;in&nbsp;
+<nobr><A HREF="android.provider.MediaStore.Audio.Media.html#android.provider.MediaStore.Audio.Media.DEFAULT_SORT_ORDER" class="hiddenlink" target="rightframe">android.provider.MediaStore.Audio.Media</A>
+</nobr><br>
+<!-- Class Dialog -->
+<A HREF="android.app.Dialog.html" class="hiddenlink" target="rightframe">Dialog</A><br>
+<!-- Class DisplayMetrics -->
+<A HREF="android.util.DisplayMetrics.html" class="hiddenlink" target="rightframe">DisplayMetrics</A><br>
+<!-- Method divideMessage -->
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.divideMessage_changed(java.lang.String)" class="hiddenlink" target="rightframe">divideMessage
+(<code>String</code>)</A></nobr><br>
+<!-- Class Drawable -->
+<A HREF="android.graphics.drawable.Drawable.html" class="hiddenlink" target="rightframe">Drawable</A><br>
+<!-- Field encodedMessage -->
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#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">
+<nobr><A HREF="android.telephony.gsm.SmsMessage.SubmitPdu.html#android.telephony.gsm.SmsMessage.SubmitPdu.encodedMessage" class="hiddenlink" target="rightframe">encodedMessage</A>
+</nobr><br>
+<!-- Field encodedScAddress -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.SubmitPdu.html#android.telephony.gsm.SmsMessage.SubmitPdu.encodedScAddress" class="hiddenlink" target="rightframe">encodedScAddress</A>
+</nobr><br>
+<!-- Field ENCODING_16BIT -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.ENCODING_16BIT" class="hiddenlink" target="rightframe">ENCODING_16BIT</A>
+</nobr><br>
+<!-- Field ENCODING_7BIT -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.ENCODING_7BIT" class="hiddenlink" target="rightframe">ENCODING_7BIT</A>
+</nobr><br>
+<!-- Field ENCODING_8BIT -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.ENCODING_8BIT" class="hiddenlink" target="rightframe">ENCODING_8BIT</A>
+</nobr><br>
+<!-- Field ENCODING_UNKNOWN -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.ENCODING_UNKNOWN" class="hiddenlink" target="rightframe">ENCODING_UNKNOWN</A>
+</nobr><br>
+<!-- Method getDefault -->
+<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="#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">
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.getDefault_changed()" class="hiddenlink" target="rightframe">getDefault
+()</A></nobr><br>
+<!-- Method getDisplayMessageBody -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getDisplayMessageBody_changed()" class="hiddenlink" target="rightframe">getDisplayMessageBody
+()</A></nobr><br>
+<!-- Method getDisplayOriginatingAddress -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getDisplayOriginatingAddress_changed()" class="hiddenlink" target="rightframe">getDisplayOriginatingAddress
+()</A></nobr><br>
+<!-- Method getEmailBody -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getEmailBody_changed()" class="hiddenlink" target="rightframe">getEmailBody
+()</A></nobr><br>
+<!-- Method getEmailFrom -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getEmailFrom_changed()" class="hiddenlink" target="rightframe">getEmailFrom
+()</A></nobr><br>
+<!-- Method getIndexOnSim -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getIndexOnSim_changed()" class="hiddenlink" target="rightframe">getIndexOnSim
+()</A></nobr><br>
+<!-- Method getIntent -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.getIntent_changed(java.lang.String)" class="hiddenlink" target="rightframe">getIntent
+(<code>String</code>)</A></nobr><br>
+<!-- Method getLaunchIntentForPackage -->
+<i>getLaunchIntentForPackage</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.getLaunchIntentForPackage_changed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String</code>)&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+<!-- Method getLaunchIntentForPackage -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.getLaunchIntentForPackage_changed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String</code>)&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</A></nobr><br>
+<!-- Method getMessageBody -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getMessageBody_changed()" class="hiddenlink" target="rightframe">getMessageBody
+()</A></nobr><br>
+<!-- Method getMessageClass -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getMessageClass_changed()" class="hiddenlink" target="rightframe">getMessageClass
+()</A></nobr><br>
+<!-- Method getOriginatingAddress -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getOriginatingAddress_changed()" class="hiddenlink" target="rightframe">getOriginatingAddress
+()</A></nobr><br>
+<!-- Method getPdu -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getPdu_changed()" class="hiddenlink" target="rightframe">getPdu
+()</A></nobr><br>
+<!-- Method getProtocolIdentifier -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getProtocolIdentifier_changed()" class="hiddenlink" target="rightframe">getProtocolIdentifier
+()</A></nobr><br>
+<!-- Method getPseudoSubject -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getPseudoSubject_changed()" class="hiddenlink" target="rightframe">getPseudoSubject
+()</A></nobr><br>
+<!-- Method getRouting -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.getRouting_changed(int)" class="hiddenlink" target="rightframe">getRouting
+(<code>int</code>)</A></nobr><br>
+<!-- Method getServiceCenterAddress -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getServiceCenterAddress_changed()" class="hiddenlink" target="rightframe">getServiceCenterAddress
+()</A></nobr><br>
+<!-- Method getStatus -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getStatus_changed()" class="hiddenlink" target="rightframe">getStatus
+()</A></nobr><br>
+<!-- Method getStatusOnSim -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getStatusOnSim_changed()" class="hiddenlink" target="rightframe">getStatusOnSim
+()</A></nobr><br>
+<!-- Method getSubmitPdu -->
+<i>getSubmitPdu</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getSubmitPdu_changed(java.lang.String, java.lang.String, java.lang.String, boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, String, String, boolean</code>)&nbsp;in&nbsp;android.telephony.gsm.SmsMessage
+</A></nobr><br>
+<!-- Method getSubmitPdu -->
+&nbsp;&nbsp;<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getSubmitPdu_changed(java.lang.String, java.lang.String, short, byte[], boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, String, short, byte[], boolean</code>)&nbsp;in&nbsp;android.telephony.gsm.SmsMessage
+</A></nobr><br>
+<!-- Method getTimestampMillis -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getTimestampMillis_changed()" class="hiddenlink" target="rightframe">getTimestampMillis
+()</A></nobr><br>
+<!-- Method getTPLayerLengthForPDU -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getTPLayerLengthForPDU_changed(java.lang.String)" class="hiddenlink" target="rightframe">getTPLayerLengthForPDU
+(<code>String</code>)</A></nobr><br>
+<!-- Method getUserData -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getUserData_changed()" class="hiddenlink" target="rightframe">getUserData
+()</A></nobr><br>
+<!-- Class ImageSpan -->
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#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">
+<i>ImageSpan</i><br>
+&nbsp;&nbsp;<A HREF="android.text.style.ImageSpan.html" class="hiddenlink" target="rightframe">android.text.style</A><br>
+<!-- Constructor ImageSpan -->
+&nbsp;&nbsp;<nobr><A HREF="android.text.style.ImageSpan.html#android.text.style.ImageSpan.ctor_changed(android.graphics.Bitmap)" class="hiddenlink" target="rightframe">ImageSpan
+(<code>Bitmap</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor ImageSpan -->
+&nbsp;&nbsp;<nobr><A HREF="android.text.style.ImageSpan.html#android.text.style.ImageSpan.ctor_changed(android.graphics.Bitmap, int)" class="hiddenlink" target="rightframe">ImageSpan
+(<code>Bitmap, int</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Class Intent -->
+<A HREF="android.content.Intent.html" class="hiddenlink" target="rightframe">Intent</A><br>
+<!-- Method isCphsMwiMessage -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.isCphsMwiMessage_changed()" class="hiddenlink" target="rightframe">isCphsMwiMessage
+()</A></nobr><br>
+<!-- Method isEmail -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.isEmail_changed()" class="hiddenlink" target="rightframe">isEmail
+()</A></nobr><br>
+<!-- Method isMWIClearMessage -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.isMWIClearMessage_changed()" class="hiddenlink" target="rightframe">isMWIClearMessage
+()</A></nobr><br>
+<!-- Method isMwiDontStore -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.isMwiDontStore_changed()" class="hiddenlink" target="rightframe">isMwiDontStore
+()</A></nobr><br>
+<!-- Method isMWISetMessage -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.isMWISetMessage_changed()" class="hiddenlink" target="rightframe">isMWISetMessage
+()</A></nobr><br>
+<!-- Method isReplace -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.isReplace_changed()" class="hiddenlink" target="rightframe">isReplace
+()</A></nobr><br>
+<!-- Method isReplyPathPresent -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.isReplyPathPresent_changed()" class="hiddenlink" target="rightframe">isReplyPathPresent
+()</A></nobr><br>
+<!-- Method isStatusReportMessage -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.isStatusReportMessage_changed()" class="hiddenlink" target="rightframe">isStatusReportMessage
+()</A></nobr><br>
+<!-- Package java.lang -->
+<A NAME="J"></A>
+<A HREF="pkg_java.lang.html" class="hiddenlink" target="rightframe">java.lang</A><br>
+<!-- Package java.net -->
+<A HREF="pkg_java.net.html" class="hiddenlink" target="rightframe">java.net</A><br>
+<!-- Package java.util -->
+<A HREF="pkg_java.util.html" class="hiddenlink" target="rightframe">java.util</A><br>
+<!-- Class KeyboardView -->
+<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="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#J"><font size="-2">J</font></a> 
+<a href="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.inputmethodservice.KeyboardView.html" class="hiddenlink" target="rightframe">KeyboardView</A><br>
+<!-- Class LauncherActivity -->
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#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="#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.LauncherActivity.html" class="hiddenlink" target="rightframe">LauncherActivity</A><br>
+<!-- Class LauncherActivity.ListItem -->
+<A HREF="android.app.LauncherActivity.ListItem.html" class="hiddenlink" target="rightframe">LauncherActivity.ListItem</A><br>
+<!-- Field LIGHT_NO_MOON -->
+<nobr><A HREF="android.hardware.SensorManager.html#android.hardware.SensorManager.LIGHT_NO_MOON" class="hiddenlink" target="rightframe">LIGHT_NO_MOON</A>
+</nobr><br>
+<!-- Class ListView -->
+<A HREF="android.widget.ListView.html" class="hiddenlink" target="rightframe">ListView</A><br>
+<!-- Field LOGD -->
+<nobr><A HREF="android.util.Config.html#android.util.Config.LOGD" class="hiddenlink" target="rightframe">LOGD</A>
+</nobr><br>
+<!-- Field LOGV -->
+<nobr><A HREF="android.util.Config.html#android.util.Config.LOGV" class="hiddenlink" target="rightframe">LOGV</A>
+</nobr><br>
+<!-- Class Manifest.permission -->
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#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="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-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="android.Manifest.permission.html" class="hiddenlink" target="rightframe">Manifest.permission</A><br>
+<!-- Class Manifest.permission_group -->
+<A HREF="android.Manifest.permission_group.html" class="hiddenlink" target="rightframe">Manifest.permission_group</A><br>
+<!-- Field MAX_USER_DATA_BYTES -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.MAX_USER_DATA_BYTES" class="hiddenlink" target="rightframe">MAX_USER_DATA_BYTES</A>
+</nobr><br>
+<!-- Field MAX_USER_DATA_SEPTETS -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.MAX_USER_DATA_SEPTETS" class="hiddenlink" target="rightframe">MAX_USER_DATA_SEPTETS</A>
+</nobr><br>
+<!-- Field MAX_USER_DATA_SEPTETS_WITH_HEADER -->
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.MAX_USER_DATA_SEPTETS_WITH_HEADER" class="hiddenlink" target="rightframe">MAX_USER_DATA_SEPTETS_WITH_HEADER</A>
+</nobr><br>
+<!-- Class MediaRecorder -->
+<A HREF="android.media.MediaRecorder.html" class="hiddenlink" target="rightframe">MediaRecorder</A><br>
+<!-- Class MediaRecorder.AudioSource -->
+<A HREF="android.media.MediaRecorder.AudioSource.html" class="hiddenlink" target="rightframe">MediaRecorder.AudioSource</A><br>
+<!-- Class MediaStore.Audio.Genres.Members -->
+<A HREF="android.provider.MediaStore.Audio.Genres.Members.html" class="hiddenlink" target="rightframe">MediaStore.Audio.Genres.Members</A><br>
+<!-- Class MediaStore.Audio.Media -->
+<A HREF="android.provider.MediaStore.Audio.Media.html" class="hiddenlink" target="rightframe">MediaStore.Audio.Media</A><br>
+<!-- Class MockContext -->
+<A HREF="android.test.mock.MockContext.html" class="hiddenlink" target="rightframe">MockContext</A><br>
+<!-- Class MockPackageManager -->
+<A HREF="android.test.mock.MockPackageManager.html" class="hiddenlink" target="rightframe">MockPackageManager</A><br>
+<!-- Class NinePatch -->
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#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="#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.graphics.NinePatch.html" class="hiddenlink" target="rightframe">NinePatch</A><br>
+<!-- Class NinePatchDrawable -->
+<i>NinePatchDrawable</i><br>
+&nbsp;&nbsp;<A HREF="android.graphics.drawable.NinePatchDrawable.html" class="hiddenlink" target="rightframe">android.graphics.drawable</A><br>
+<!-- Constructor NinePatchDrawable -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.NinePatchDrawable.html#android.graphics.drawable.NinePatchDrawable.ctor_changed(android.graphics.Bitmap, byte[], android.graphics.Rect, java.lang.String)" class="hiddenlink" target="rightframe">NinePatchDrawable
+(<code>Bitmap, byte[], Rect, String</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor NinePatchDrawable -->
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.NinePatchDrawable.html#android.graphics.drawable.NinePatchDrawable.ctor_changed(android.graphics.NinePatch)" class="hiddenlink" target="rightframe">NinePatchDrawable
+(<code>NinePatch</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Method onCancel -->
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#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="#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.app.SearchManager.html#android.app.SearchManager.onCancel_changed(android.content.DialogInterface)" class="hiddenlink" target="rightframe">onCancel
+(<code>DialogInterface</code>)</A></nobr><br>
+<!-- Method onDismiss -->
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.onDismiss_changed(android.content.DialogInterface)" class="hiddenlink" target="rightframe">onDismiss
+(<code>DialogInterface</code>)</A></nobr><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="#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="#R"><font size="-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="android.content.pm.PackageManager.html" class="hiddenlink" target="rightframe">PackageManager</A><br>
+<!-- Class PendingIntent -->
+<A HREF="android.app.PendingIntent.html" class="hiddenlink" target="rightframe">PendingIntent</A><br>
+<!-- Class PopupWindow -->
+<A HREF="android.widget.PopupWindow.html" class="hiddenlink" target="rightframe">PopupWindow</A><br>
+<!-- Field PROFILE -->
+<nobr><A HREF="android.util.Config.html#android.util.Config.PROFILE" class="hiddenlink" target="rightframe">PROFILE</A>
+</nobr><br>
+<!-- Class ProviderInfo -->
+<A HREF="android.content.pm.ProviderInfo.html" class="hiddenlink" target="rightframe">ProviderInfo</A><br>
+<!-- Class R.anim -->
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#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="#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="android.R.anim.html" class="hiddenlink" target="rightframe">R.anim</A><br>
+<!-- Class R.array -->
+<A HREF="android.R.array.html" class="hiddenlink" target="rightframe">R.array</A><br>
+<!-- Class R.attr -->
+<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.dimen -->
+<A HREF="android.R.dimen.html" class="hiddenlink" target="rightframe">R.dimen</A><br>
+<!-- Class R.drawable -->
+<A HREF="android.R.drawable.html" class="hiddenlink" target="rightframe">R.drawable</A><br>
+<!-- Class R.id -->
+<A HREF="android.R.id.html" class="hiddenlink" target="rightframe">R.id</A><br>
+<!-- Class R.integer -->
+<A HREF="android.R.integer.html" class="hiddenlink" target="rightframe">R.integer</A><br>
+<!-- Class R.layout -->
+<A HREF="android.R.layout.html" class="hiddenlink" target="rightframe">R.layout</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 RELEASE -->
+<nobr><A HREF="android.util.Config.html#android.util.Config.RELEASE" class="hiddenlink" target="rightframe">RELEASE</A>
+</nobr><br>
+<!-- Class RemoteCallbackList -->
+<A HREF="android.os.RemoteCallbackList.html" class="hiddenlink" target="rightframe">RemoteCallbackList</A><br>
+<!-- Field RESULT_ERROR_GENERIC_FAILURE -->
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.RESULT_ERROR_GENERIC_FAILURE" class="hiddenlink" target="rightframe">RESULT_ERROR_GENERIC_FAILURE</A>
+</nobr><br>
+<!-- Field RESULT_ERROR_NO_SERVICE -->
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.RESULT_ERROR_NO_SERVICE" class="hiddenlink" target="rightframe">RESULT_ERROR_NO_SERVICE</A>
+</nobr><br>
+<!-- Field RESULT_ERROR_NULL_PDU -->
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.RESULT_ERROR_NULL_PDU" class="hiddenlink" target="rightframe">RESULT_ERROR_NULL_PDU</A>
+</nobr><br>
+<!-- Field RESULT_ERROR_RADIO_OFF -->
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.RESULT_ERROR_RADIO_OFF" class="hiddenlink" target="rightframe">RESULT_ERROR_RADIO_OFF</A>
+</nobr><br>
+<!-- Field SDK -->
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#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="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.os.Build.VERSION.html#android.os.Build.VERSION.SDK" class="hiddenlink" target="rightframe">SDK</A>
+</nobr><br>
+<!-- Class SearchManager -->
+<A HREF="android.app.SearchManager.html" class="hiddenlink" target="rightframe">SearchManager</A><br>
+<!-- Method sendDataMessage -->
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.sendDataMessage_changed(java.lang.String, java.lang.String, short, byte[], android.app.PendingIntent, android.app.PendingIntent)" class="hiddenlink" target="rightframe">sendDataMessage
+(<code>String, String, short, byte[], PendingIntent, PendingIntent</code>)</A></nobr><br>
+<!-- Method sendMultipartTextMessage -->
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.sendMultipartTextMessage_changed(java.lang.String, java.lang.String, java.util.ArrayList<java.lang.String>, java.util.ArrayList<android.app.PendingIntent>, java.util.ArrayList<android.app.PendingIntent>)" class="hiddenlink" target="rightframe">sendMultipartTextMessage
+(<code>String, String, ArrayList&lt;String&gt;, ArrayList&lt;PendingIntent&gt;, ArrayList&lt;PendingIntent&gt;</code>)</A></nobr><br>
+<!-- Method sendTextMessage -->
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.sendTextMessage_changed(java.lang.String, java.lang.String, java.lang.String, android.app.PendingIntent, android.app.PendingIntent)" class="hiddenlink" target="rightframe">sendTextMessage
+(<code>String, String, String, PendingIntent, PendingIntent</code>)</A></nobr><br>
+<!-- Class SensorManager -->
+<A HREF="android.hardware.SensorManager.html" class="hiddenlink" target="rightframe">SensorManager</A><br>
+<!-- Method setRouting -->
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.setRouting_changed(int, int, int)" class="hiddenlink" target="rightframe">setRouting
+(<code>int, int, int</code>)</A></nobr><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 SmsManager -->
+<A HREF="android.telephony.gsm.SmsManager.html" class="hiddenlink" target="rightframe">SmsManager</A><br>
+<!-- Class SmsMessage -->
+<i>SmsMessage</i><br>
+&nbsp;&nbsp;<A HREF="android.telephony.gsm.SmsMessage.html" class="hiddenlink" target="rightframe">android.telephony.gsm</A><br>
+<!-- Constructor SmsMessage -->
+&nbsp;&nbsp;<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.ctor_changed()" class="hiddenlink" target="rightframe">SmsMessage
+()</A></nobr>&nbsp;constructor<br>
+<!-- Class SmsMessage.MessageClass -->
+<A HREF="android.telephony.gsm.SmsMessage.MessageClass.html" class="hiddenlink" target="rightframe">SmsMessage.MessageClass</A><br>
+<!-- Class SmsMessage.SubmitPdu -->
+<i>SmsMessage.SubmitPdu</i><br>
+&nbsp;&nbsp;<A HREF="android.telephony.gsm.SmsMessage.SubmitPdu.html" class="hiddenlink" target="rightframe">android.telephony.gsm</A><br>
+<!-- Constructor SmsMessage.SubmitPdu -->
+&nbsp;&nbsp;<nobr><A HREF="android.telephony.gsm.SmsMessage.SubmitPdu.html#android.telephony.gsm.SmsMessage.SubmitPdu.ctor_changed()" class="hiddenlink" target="rightframe">SmsMessage.SubmitPdu
+()</A></nobr>&nbsp;constructor<br>
+<!-- Class Socket -->
+<i>Socket</i><br>
+&nbsp;&nbsp;<A HREF="java.net.Socket.html" class="hiddenlink" target="rightframe">java.net</A><br>
+<!-- Constructor Socket -->
+&nbsp;&nbsp;<nobr><A HREF="java.net.Socket.html#java.net.Socket.ctor_changed()" class="hiddenlink" target="rightframe">Socket
+()</A></nobr>&nbsp;constructor<br>
+<!-- Constructor Socket -->
+&nbsp;&nbsp;<nobr><A HREF="java.net.Socket.html#java.net.Socket.ctor_changed(java.lang.String, int)" class="hiddenlink" target="rightframe">Socket
+(<code>String, int</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor Socket -->
+&nbsp;&nbsp;<nobr><A HREF="java.net.Socket.html#java.net.Socket.ctor_changed(java.lang.String, int, java.net.InetAddress, int)" class="hiddenlink" target="rightframe">Socket
+(<code>String, int, InetAddress, int</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor Socket -->
+&nbsp;&nbsp;<nobr><A HREF="java.net.Socket.html#java.net.Socket.ctor_changed(java.net.Proxy)" class="hiddenlink" target="rightframe">Socket
+(<code>Proxy</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor Socket -->
+&nbsp;&nbsp;<nobr><A HREF="java.net.Socket.html#java.net.Socket.ctor_changed(java.net.SocketImpl)" class="hiddenlink" target="rightframe">Socket
+(<code>SocketImpl</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Field STATUS_ON_SIM_FREE -->
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.STATUS_ON_SIM_FREE" class="hiddenlink" target="rightframe">STATUS_ON_SIM_FREE</A>
+</nobr><br>
+<!-- Field STATUS_ON_SIM_READ -->
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.STATUS_ON_SIM_READ" class="hiddenlink" target="rightframe">STATUS_ON_SIM_READ</A>
+</nobr><br>
+<!-- Field STATUS_ON_SIM_SENT -->
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.STATUS_ON_SIM_SENT" class="hiddenlink" target="rightframe">STATUS_ON_SIM_SENT</A>
+</nobr><br>
+<!-- Field STATUS_ON_SIM_UNREAD -->
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.STATUS_ON_SIM_UNREAD" class="hiddenlink" target="rightframe">STATUS_ON_SIM_UNREAD</A>
+</nobr><br>
+<!-- Field STATUS_ON_SIM_UNSENT -->
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.STATUS_ON_SIM_UNSENT" class="hiddenlink" target="rightframe">STATUS_ON_SIM_UNSENT</A>
+</nobr><br>
+<!-- Class String -->
+<i>String</i><br>
+&nbsp;&nbsp;<A HREF="java.lang.String.html" class="hiddenlink" target="rightframe">java.lang</A><br>
+<!-- Constructor String -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.String.html#java.lang.String.ctor_changed()" class="hiddenlink" target="rightframe">String
+()</A></nobr>&nbsp;constructor<br>
+<!-- Constructor String -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.String.html#java.lang.String.ctor_changed(byte[])" class="hiddenlink" target="rightframe">String
+(<code>byte[]</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor String -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.String.html#java.lang.String.ctor_changed(byte[], int)" class="hiddenlink" target="rightframe">String
+(<code>byte[], int</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor String -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.String.html#java.lang.String.ctor_changed(byte[], int, int)" class="hiddenlink" target="rightframe">String
+(<code>byte[], int, int</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Constructor String -->
+&nbsp;&nbsp;<nobr><A HREF="java.lang.String.html#java.lang.String.ctor_changed(byte[], int, int, int)" class="hiddenlink" target="rightframe">String
+(<code>byte[], int, int, int</code>)</A></nobr>&nbsp;constructor<br>
+<!-- Field SURACE_FROZEN -->
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.SURACE_FROZEN" class="hiddenlink" target="rightframe">SURACE_FROZEN</A>
+</nobr><br>
+<!-- Class Surface -->
+<A HREF="android.view.Surface.html" class="hiddenlink" target="rightframe">Surface</A><br>
+<!-- Class TabHost.TabSpec -->
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#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="#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.TabHost.TabSpec.html" class="hiddenlink" target="rightframe">TabHost.TabSpec</A><br>
+<!-- Class TabWidget -->
+<A HREF="android.widget.TabWidget.html" class="hiddenlink" target="rightframe">TabWidget</A><br>
+<!-- Class ToneGenerator -->
+<A HREF="android.media.ToneGenerator.html" class="hiddenlink" target="rightframe">ToneGenerator</A><br>
+<!-- Method toURI -->
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.toURI_changed()" class="hiddenlink" target="rightframe">toURI
+()</A></nobr><br>
+<!-- Class TypedValue -->
+<A HREF="android.util.TypedValue.html" class="hiddenlink" target="rightframe">TypedValue</A><br>
+<!-- Class Typeface -->
+<A HREF="android.graphics.Typeface.html" class="hiddenlink" target="rightframe">Typeface</A><br>
+<!-- Class VelocityTracker -->
+<A NAME="V"></A>
+<br><font size="+2">V</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#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="#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.VelocityTracker.html" class="hiddenlink" target="rightframe">VelocityTracker</A><br>
+<!-- Class View -->
+<A HREF="android.view.View.html" class="hiddenlink" target="rightframe">View</A><br>
+<!-- Class ViewConfiguration -->
+<A HREF="android.view.ViewConfiguration.html" class="hiddenlink" target="rightframe">ViewConfiguration</A><br>
+<!-- Class WifiManager -->
+<A NAME="W"></A>
+<br><font size="+2">W</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="android.net.wifi.WifiManager.html" class="hiddenlink" target="rightframe">WifiManager</A><br>
+<!-- Class Window.Callback -->
+<A HREF="android.view.Window.Callback.html" class="hiddenlink" target="rightframe"><i>Window.Callback</i></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/4/changes/alldiffs_index_removals.html b/docs/html/sdk/api_diff/4/changes/alldiffs_index_removals.html
new file mode 100644
index 0000000..da09ef14
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/alldiffs_index_removals.html
@@ -0,0 +1,205 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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">
+<font size="-2"><strong>Bold</strong>&nbsp;indicates&nbsp;New;&nbsp;<strike>Strike</strike>&nbsp;indicates&nbsp;deleted. Plain indicates changed.</font>
+</div>
+<!-- Field ADD_SYSTEM_SERVICE -->
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.ADD_SYSTEM_SERVICE" class="hiddenlink" target="rightframe"><strike>ADD_SYSTEM_SERVICE</strike></A>
+</nobr><br>
+<!-- Field FORWARD_LOCK_PACKAGE -->
+<A NAME="F"></A>
+<br><font size="+2">F</font>&nbsp;
+<a href="#A"><font size="-2">A</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="#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.FORWARD_LOCK_PACKAGE" class="hiddenlink" target="rightframe"><strike>FORWARD_LOCK_PACKAGE</strike></A>
+</nobr><br>
+<!-- Field FOTA_UPDATE -->
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.FOTA_UPDATE" class="hiddenlink" target="rightframe"><strike>FOTA_UPDATE</strike></A>
+</nobr><br>
+<!-- Field INSTALL_FAILED_ALREADY_EXISTS -->
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#F"><font size="-2">F</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_ALREADY_EXISTS" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_ALREADY_EXISTS</strike></A>
+</nobr><br>
+<!-- Field INSTALL_FAILED_CONFLICTING_PROVIDER -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_CONFLICTING_PROVIDER" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_CONFLICTING_PROVIDER</strike></A>
+</nobr><br>
+<!-- Field INSTALL_FAILED_DEXOPT -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_DEXOPT" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_DEXOPT</strike></A>
+</nobr><br>
+<!-- Field INSTALL_FAILED_DUPLICATE_PACKAGE -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_DUPLICATE_PACKAGE" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_DUPLICATE_PACKAGE</strike></A>
+</nobr><br>
+<!-- Field INSTALL_FAILED_INSUFFICIENT_STORAGE -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_INSUFFICIENT_STORAGE" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_INSUFFICIENT_STORAGE</strike></A>
+</nobr><br>
+<!-- Field INSTALL_FAILED_INVALID_APK -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_INVALID_APK" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_INVALID_APK</strike></A>
+</nobr><br>
+<!-- Field INSTALL_FAILED_INVALID_URI -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_INVALID_URI" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_INVALID_URI</strike></A>
+</nobr><br>
+<!-- Field INSTALL_FAILED_MISSING_SHARED_LIBRARY -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_MISSING_SHARED_LIBRARY" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_MISSING_SHARED_LIBRARY</strike></A>
+</nobr><br>
+<!-- Field INSTALL_FAILED_NO_SHARED_USER -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_NO_SHARED_USER" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_NO_SHARED_USER</strike></A>
+</nobr><br>
+<!-- Field INSTALL_FAILED_OLDER_SDK -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_OLDER_SDK" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_OLDER_SDK</strike></A>
+</nobr><br>
+<!-- Field INSTALL_FAILED_REPLACE_COULDNT_DELETE -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_REPLACE_COULDNT_DELETE" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_REPLACE_COULDNT_DELETE</strike></A>
+</nobr><br>
+<!-- Field INSTALL_FAILED_SHARED_USER_INCOMPATIBLE -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_SHARED_USER_INCOMPATIBLE" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_SHARED_USER_INCOMPATIBLE</strike></A>
+</nobr><br>
+<!-- Field INSTALL_FAILED_UPDATE_INCOMPATIBLE -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_UPDATE_INCOMPATIBLE" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_UPDATE_INCOMPATIBLE</strike></A>
+</nobr><br>
+<!-- Field INSTALL_PARSE_FAILED_BAD_MANIFEST -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_BAD_MANIFEST" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_BAD_MANIFEST</strike></A>
+</nobr><br>
+<!-- Field INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME</strike></A>
+</nobr><br>
+<!-- Field INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID</strike></A>
+</nobr><br>
+<!-- Field INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING</strike></A>
+</nobr><br>
+<!-- Field INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES</strike></A>
+</nobr><br>
+<!-- Field INSTALL_PARSE_FAILED_MANIFEST_EMPTY -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_MANIFEST_EMPTY" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_MANIFEST_EMPTY</strike></A>
+</nobr><br>
+<!-- Field INSTALL_PARSE_FAILED_MANIFEST_MALFORMED -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_MANIFEST_MALFORMED" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_MANIFEST_MALFORMED</strike></A>
+</nobr><br>
+<!-- Field INSTALL_PARSE_FAILED_NO_CERTIFICATES -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_NO_CERTIFICATES" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_NO_CERTIFICATES</strike></A>
+</nobr><br>
+<!-- Field INSTALL_PARSE_FAILED_NOT_APK -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_NOT_APK" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_NOT_APK</strike></A>
+</nobr><br>
+<!-- Field INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION</strike></A>
+</nobr><br>
+<!-- Field INSTALL_SUCCEEDED -->
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_SUCCEEDED" class="hiddenlink" target="rightframe"><strike>INSTALL_SUCCEEDED</strike></A>
+</nobr><br>
+<!-- Method installPackage -->
+<i>installPackage</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.installPackage_removed(android.net.Uri, android.content.pm.IPackageInstallObserver, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Uri, IPackageInstallObserver, int</code>)</strike>&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+<!-- Method installPackage -->
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.installPackage_removed(android.net.Uri)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Uri</code>)</strike>&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+<!-- Method installPackage -->
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.installPackage_removed(android.net.Uri, android.content.pm.IPackageInstallObserver, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Uri, IPackageInstallObserver, int</code>)</strike>&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</A></nobr><br>
+<!-- Class IPackageInstallObserver -->
+<A HREF="pkg_android.content.pm.html#IPackageInstallObserver" class="hiddenlink" target="rightframe"><strike>IPackageInstallObserver</strike></A><br>
+<!-- Class IPackageInstallObserver.Stub -->
+<A HREF="pkg_android.content.pm.html#IPackageInstallObserver.Stub" class="hiddenlink" target="rightframe"><strike>IPackageInstallObserver.Stub</strike></A><br>
+<!-- Field REPLACE_EXISTING_PACKAGE -->
+<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="#I"><font size="-2">I</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.REPLACE_EXISTING_PACKAGE" class="hiddenlink" target="rightframe"><strike>REPLACE_EXISTING_PACKAGE</strike></A>
+</nobr><br>
+<!-- Field SET_PROCESS_FOREGROUND -->
+<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="#I"><font size="-2">I</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.SET_PROCESS_FOREGROUND" class="hiddenlink" target="rightframe"><strike>SET_PROCESS_FOREGROUND</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/4/changes/android.Manifest.permission.html b/docs/html/sdk/api_diff/4/changes/android.Manifest.permission.html
new file mode 100644
index 0000000..b0389a1
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.Manifest.permission.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.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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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="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.Manifest.permission.ADD_SYSTEM_SERVICE"></A>
+  <code>String</code>&nbsp;ADD_SYSTEM_SERVICE
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.Manifest.permission.FOTA_UPDATE"></A>
+  <code>String</code>&nbsp;FOTA_UPDATE
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.Manifest.permission.SET_PROCESS_FOREGROUND"></A>
+  <code>String</code>&nbsp;SET_PROCESS_FOREGROUND
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.Manifest.permission.CHANGE_WIFI_MULTICAST_STATE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/Manifest.permission.html#CHANGE_WIFI_MULTICAST_STATE" target="_top"><code>CHANGE_WIFI_MULTICAST_STATE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.Manifest.permission.GLOBAL_SEARCH"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/Manifest.permission.html#GLOBAL_SEARCH" target="_top"><code>GLOBAL_SEARCH</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.Manifest.permission.INSTALL_LOCATION_PROVIDER"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/Manifest.permission.html#INSTALL_LOCATION_PROVIDER" target="_top"><code>INSTALL_LOCATION_PROVIDER</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.Manifest.permission.READ_HISTORY_BOOKMARKS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/Manifest.permission.html#READ_HISTORY_BOOKMARKS" target="_top"><code>READ_HISTORY_BOOKMARKS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.Manifest.permission.WRITE_EXTERNAL_STORAGE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/Manifest.permission.html#WRITE_EXTERNAL_STORAGE" target="_top"><code>WRITE_EXTERNAL_STORAGE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.Manifest.permission.WRITE_HISTORY_BOOKMARKS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/Manifest.permission.html#WRITE_HISTORY_BOOKMARKS" target="_top"><code>WRITE_HISTORY_BOOKMARKS</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/4/changes/android.Manifest.permission_group.html b/docs/html/sdk/api_diff/4/changes/android.Manifest.permission_group.html
new file mode 100644
index 0000000..628ef07
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.Manifest.permission_group.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.Manifest.permission_group
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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_group.html" target="_top"><font size="+2"><code>Manifest.permission_group</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_group.STORAGE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/Manifest.permission_group.html#STORAGE" target="_top"><code>STORAGE</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/4/changes/android.R.anim.html b/docs/html/sdk/api_diff/4/changes/android.R.anim.html
new file mode 100644
index 0000000..cce8c29
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.R.anim.html
@@ -0,0 +1,297 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.R.anim
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.<A HREF="../../../../reference/android/R.anim.html" target="_top"><font size="+2"><code>R.anim</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.anim.anticipate_interpolator"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.anim.html#anticipate_interpolator" target="_top"><code>anticipate_interpolator</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.anim.anticipate_overshoot_interpolator"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.anim.html#anticipate_overshoot_interpolator" target="_top"><code>anticipate_overshoot_interpolator</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.anim.bounce_interpolator"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.anim.html#bounce_interpolator" target="_top"><code>bounce_interpolator</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.anim.donut_resource_pad1"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.anim.html#donut_resource_pad1" target="_top"><code>donut_resource_pad1</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.anim.donut_resource_pad10"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.anim.html#donut_resource_pad10" target="_top"><code>donut_resource_pad10</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.anim.donut_resource_pad11"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.anim.html#donut_resource_pad11" target="_top"><code>donut_resource_pad11</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.anim.donut_resource_pad12"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.anim.html#donut_resource_pad12" target="_top"><code>donut_resource_pad12</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.anim.donut_resource_pad13"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.anim.html#donut_resource_pad13" target="_top"><code>donut_resource_pad13</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.anim.donut_resource_pad14"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.anim.html#donut_resource_pad14" target="_top"><code>donut_resource_pad14</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.anim.donut_resource_pad15"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.anim.html#donut_resource_pad15" target="_top"><code>donut_resource_pad15</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.anim.donut_resource_pad16"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.anim.html#donut_resource_pad16" target="_top"><code>donut_resource_pad16</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.anim.donut_resource_pad17"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.anim.html#donut_resource_pad17" target="_top"><code>donut_resource_pad17</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.anim.donut_resource_pad18"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.anim.html#donut_resource_pad18" target="_top"><code>donut_resource_pad18</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.anim.donut_resource_pad19"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.anim.html#donut_resource_pad19" target="_top"><code>donut_resource_pad19</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.anim.donut_resource_pad2"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.anim.html#donut_resource_pad2" target="_top"><code>donut_resource_pad2</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.anim.donut_resource_pad20"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.anim.html#donut_resource_pad20" target="_top"><code>donut_resource_pad20</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.anim.donut_resource_pad21"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.anim.html#donut_resource_pad21" target="_top"><code>donut_resource_pad21</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.anim.donut_resource_pad3"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.anim.html#donut_resource_pad3" target="_top"><code>donut_resource_pad3</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.anim.donut_resource_pad4"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.anim.html#donut_resource_pad4" target="_top"><code>donut_resource_pad4</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.anim.donut_resource_pad5"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.anim.html#donut_resource_pad5" target="_top"><code>donut_resource_pad5</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.anim.donut_resource_pad6"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.anim.html#donut_resource_pad6" target="_top"><code>donut_resource_pad6</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.anim.donut_resource_pad7"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.anim.html#donut_resource_pad7" target="_top"><code>donut_resource_pad7</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.anim.donut_resource_pad8"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.anim.html#donut_resource_pad8" target="_top"><code>donut_resource_pad8</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.anim.donut_resource_pad9"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.anim.html#donut_resource_pad9" target="_top"><code>donut_resource_pad9</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.anim.linear_interpolator"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.anim.html#linear_interpolator" target="_top"><code>linear_interpolator</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.anim.overshoot_interpolator"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.anim.html#overshoot_interpolator" target="_top"><code>overshoot_interpolator</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/4/changes/android.R.array.html b/docs/html/sdk/api_diff/4/changes/android.R.array.html
new file mode 100644
index 0000000..43bd0b1
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.R.array.html
@@ -0,0 +1,199 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are 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.array
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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.array.html" target="_top"><font size="+2"><code>R.array</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.array.donut_resource_pad1"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.array.html#donut_resource_pad1" target="_top"><code>donut_resource_pad1</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.array.donut_resource_pad10"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.array.html#donut_resource_pad10" target="_top"><code>donut_resource_pad10</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.array.donut_resource_pad11"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.array.html#donut_resource_pad11" target="_top"><code>donut_resource_pad11</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.array.donut_resource_pad12"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.array.html#donut_resource_pad12" target="_top"><code>donut_resource_pad12</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.array.donut_resource_pad2"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.array.html#donut_resource_pad2" target="_top"><code>donut_resource_pad2</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.array.donut_resource_pad3"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.array.html#donut_resource_pad3" target="_top"><code>donut_resource_pad3</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.array.donut_resource_pad4"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.array.html#donut_resource_pad4" target="_top"><code>donut_resource_pad4</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.array.donut_resource_pad5"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.array.html#donut_resource_pad5" target="_top"><code>donut_resource_pad5</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.array.donut_resource_pad6"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.array.html#donut_resource_pad6" target="_top"><code>donut_resource_pad6</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.array.donut_resource_pad7"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.array.html#donut_resource_pad7" target="_top"><code>donut_resource_pad7</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.array.donut_resource_pad8"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.array.html#donut_resource_pad8" target="_top"><code>donut_resource_pad8</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.array.donut_resource_pad9"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.array.html#donut_resource_pad9" target="_top"><code>donut_resource_pad9</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/4/changes/android.R.attr.html b/docs/html/sdk/api_diff/4/changes/android.R.attr.html
new file mode 100644
index 0000000..a4b9adb
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.R.attr.html
@@ -0,0 +1,493 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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.allowBackup"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#allowBackup" target="_top"><code>allowBackup</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.anyDensity"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#anyDensity" target="_top"><code>anyDensity</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.autoUrlDetect"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#autoUrlDetect" target="_top"><code>autoUrlDetect</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.backupAgent"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#backupAgent" target="_top"><code>backupAgent</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.contentDescription"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#contentDescription" target="_top"><code>contentDescription</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.donut_resource_pad1"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#donut_resource_pad1" target="_top"><code>donut_resource_pad1</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.donut_resource_pad10"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#donut_resource_pad10" target="_top"><code>donut_resource_pad10</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.donut_resource_pad11"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#donut_resource_pad11" target="_top"><code>donut_resource_pad11</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.donut_resource_pad12"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#donut_resource_pad12" target="_top"><code>donut_resource_pad12</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.donut_resource_pad13"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#donut_resource_pad13" target="_top"><code>donut_resource_pad13</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.donut_resource_pad14"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#donut_resource_pad14" target="_top"><code>donut_resource_pad14</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.donut_resource_pad15"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#donut_resource_pad15" target="_top"><code>donut_resource_pad15</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.donut_resource_pad16"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#donut_resource_pad16" target="_top"><code>donut_resource_pad16</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.donut_resource_pad17"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#donut_resource_pad17" target="_top"><code>donut_resource_pad17</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.donut_resource_pad18"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#donut_resource_pad18" target="_top"><code>donut_resource_pad18</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.donut_resource_pad2"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#donut_resource_pad2" target="_top"><code>donut_resource_pad2</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.donut_resource_pad3"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#donut_resource_pad3" target="_top"><code>donut_resource_pad3</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.donut_resource_pad4"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#donut_resource_pad4" target="_top"><code>donut_resource_pad4</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.donut_resource_pad5"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#donut_resource_pad5" target="_top"><code>donut_resource_pad5</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.donut_resource_pad6"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#donut_resource_pad6" target="_top"><code>donut_resource_pad6</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.donut_resource_pad7"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#donut_resource_pad7" target="_top"><code>donut_resource_pad7</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.donut_resource_pad8"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#donut_resource_pad8" target="_top"><code>donut_resource_pad8</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.donut_resource_pad9"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#donut_resource_pad9" target="_top"><code>donut_resource_pad9</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.dropDownHeight"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#dropDownHeight" target="_top"><code>dropDownHeight</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.eventsInterceptionEnabled"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#eventsInterceptionEnabled" target="_top"><code>eventsInterceptionEnabled</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.extraTension"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#extraTension" target="_top"><code>extraTension</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.fadeDuration"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#fadeDuration" target="_top"><code>fadeDuration</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.fadeEnabled"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#fadeEnabled" target="_top"><code>fadeEnabled</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.fadeOffset"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#fadeOffset" target="_top"><code>fadeOffset</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.gestureColor"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#gestureColor" target="_top"><code>gestureColor</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.gestureStrokeAngleThreshold"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#gestureStrokeAngleThreshold" target="_top"><code>gestureStrokeAngleThreshold</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.gestureStrokeLengthThreshold"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#gestureStrokeLengthThreshold" target="_top"><code>gestureStrokeLengthThreshold</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.gestureStrokeSquarenessThreshold"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#gestureStrokeSquarenessThreshold" target="_top"><code>gestureStrokeSquarenessThreshold</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.gestureStrokeType"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#gestureStrokeType" target="_top"><code>gestureStrokeType</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.gestureStrokeWidth"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#gestureStrokeWidth" target="_top"><code>gestureStrokeWidth</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.glEsVersion"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#glEsVersion" target="_top"><code>glEsVersion</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.includeInGlobalSearch"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#includeInGlobalSearch" target="_top"><code>includeInGlobalSearch</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.largeScreens"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#largeScreens" target="_top"><code>largeScreens</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.maxSdkVersion"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#maxSdkVersion" target="_top"><code>maxSdkVersion</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.normalScreens"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#normalScreens" target="_top"><code>normalScreens</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.onClick"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#onClick" target="_top"><code>onClick</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.progressBarStyleInverse"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#progressBarStyleInverse" target="_top"><code>progressBarStyleInverse</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.progressBarStyleLargeInverse"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#progressBarStyleLargeInverse" target="_top"><code>progressBarStyleLargeInverse</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.progressBarStyleSmallInverse"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#progressBarStyleSmallInverse" target="_top"><code>progressBarStyleSmallInverse</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.queryAfterZeroResults"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#queryAfterZeroResults" target="_top"><code>queryAfterZeroResults</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.resizeable"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#resizeable" target="_top"><code>resizeable</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.searchSettingsDescription"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#searchSettingsDescription" target="_top"><code>searchSettingsDescription</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.searchSuggestThreshold"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#searchSuggestThreshold" target="_top"><code>searchSuggestThreshold</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.smallScreens"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#smallScreens" target="_top"><code>smallScreens</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.targetSdkVersion"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#targetSdkVersion" target="_top"><code>targetSdkVersion</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.tension"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#tension" target="_top"><code>tension</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.testOnly"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#testOnly" target="_top"><code>testOnly</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.textColorPrimaryInverseDisableOnly"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#textColorPrimaryInverseDisableOnly" target="_top"><code>textColorPrimaryInverseDisableOnly</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.attr.uncertainGestureColor"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.attr.html#uncertainGestureColor" target="_top"><code>uncertainGestureColor</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/4/changes/android.R.color.html b/docs/html/sdk/api_diff/4/changes/android.R.color.html
new file mode 100644
index 0000000..20ce475
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.R.color.html
@@ -0,0 +1,332 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are 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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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.donut_resource_pad1"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#donut_resource_pad1" target="_top"><code>donut_resource_pad1</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.donut_resource_pad10"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#donut_resource_pad10" target="_top"><code>donut_resource_pad10</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.donut_resource_pad11"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#donut_resource_pad11" target="_top"><code>donut_resource_pad11</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.donut_resource_pad12"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#donut_resource_pad12" target="_top"><code>donut_resource_pad12</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.donut_resource_pad13"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#donut_resource_pad13" target="_top"><code>donut_resource_pad13</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.donut_resource_pad14"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#donut_resource_pad14" target="_top"><code>donut_resource_pad14</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.donut_resource_pad15"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#donut_resource_pad15" target="_top"><code>donut_resource_pad15</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.donut_resource_pad16"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#donut_resource_pad16" target="_top"><code>donut_resource_pad16</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.donut_resource_pad17"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#donut_resource_pad17" target="_top"><code>donut_resource_pad17</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.donut_resource_pad18"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#donut_resource_pad18" target="_top"><code>donut_resource_pad18</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.donut_resource_pad19"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#donut_resource_pad19" target="_top"><code>donut_resource_pad19</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.donut_resource_pad2"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#donut_resource_pad2" target="_top"><code>donut_resource_pad2</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.donut_resource_pad20"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#donut_resource_pad20" target="_top"><code>donut_resource_pad20</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.donut_resource_pad21"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#donut_resource_pad21" target="_top"><code>donut_resource_pad21</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.donut_resource_pad22"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#donut_resource_pad22" target="_top"><code>donut_resource_pad22</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.donut_resource_pad23"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#donut_resource_pad23" target="_top"><code>donut_resource_pad23</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.donut_resource_pad24"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#donut_resource_pad24" target="_top"><code>donut_resource_pad24</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.donut_resource_pad25"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#donut_resource_pad25" target="_top"><code>donut_resource_pad25</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.donut_resource_pad26"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#donut_resource_pad26" target="_top"><code>donut_resource_pad26</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.donut_resource_pad27"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#donut_resource_pad27" target="_top"><code>donut_resource_pad27</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.donut_resource_pad28"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#donut_resource_pad28" target="_top"><code>donut_resource_pad28</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.donut_resource_pad29"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#donut_resource_pad29" target="_top"><code>donut_resource_pad29</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.donut_resource_pad3"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#donut_resource_pad3" target="_top"><code>donut_resource_pad3</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.donut_resource_pad30"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#donut_resource_pad30" target="_top"><code>donut_resource_pad30</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.donut_resource_pad31"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#donut_resource_pad31" target="_top"><code>donut_resource_pad31</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.donut_resource_pad4"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#donut_resource_pad4" target="_top"><code>donut_resource_pad4</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.donut_resource_pad5"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#donut_resource_pad5" target="_top"><code>donut_resource_pad5</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.donut_resource_pad6"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#donut_resource_pad6" target="_top"><code>donut_resource_pad6</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.donut_resource_pad7"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#donut_resource_pad7" target="_top"><code>donut_resource_pad7</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.donut_resource_pad8"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#donut_resource_pad8" target="_top"><code>donut_resource_pad8</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.color.donut_resource_pad9"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.color.html#donut_resource_pad9" target="_top"><code>donut_resource_pad9</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/4/changes/android.R.dimen.html b/docs/html/sdk/api_diff/4/changes/android.R.dimen.html
new file mode 100644
index 0000000..d6736d7
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.R.dimen.html
@@ -0,0 +1,213 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.R.dimen
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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.dimen.html" target="_top"><font size="+2"><code>R.dimen</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.dimen.donut_resource_pad1"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.dimen.html#donut_resource_pad1" target="_top"><code>donut_resource_pad1</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.dimen.donut_resource_pad10"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.dimen.html#donut_resource_pad10" target="_top"><code>donut_resource_pad10</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.dimen.donut_resource_pad11"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.dimen.html#donut_resource_pad11" target="_top"><code>donut_resource_pad11</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.dimen.donut_resource_pad12"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.dimen.html#donut_resource_pad12" target="_top"><code>donut_resource_pad12</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.dimen.donut_resource_pad13"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.dimen.html#donut_resource_pad13" target="_top"><code>donut_resource_pad13</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.dimen.donut_resource_pad14"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.dimen.html#donut_resource_pad14" target="_top"><code>donut_resource_pad14</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.dimen.donut_resource_pad2"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.dimen.html#donut_resource_pad2" target="_top"><code>donut_resource_pad2</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.dimen.donut_resource_pad3"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.dimen.html#donut_resource_pad3" target="_top"><code>donut_resource_pad3</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.dimen.donut_resource_pad4"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.dimen.html#donut_resource_pad4" target="_top"><code>donut_resource_pad4</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.dimen.donut_resource_pad5"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.dimen.html#donut_resource_pad5" target="_top"><code>donut_resource_pad5</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.dimen.donut_resource_pad6"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.dimen.html#donut_resource_pad6" target="_top"><code>donut_resource_pad6</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.dimen.donut_resource_pad7"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.dimen.html#donut_resource_pad7" target="_top"><code>donut_resource_pad7</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.dimen.donut_resource_pad8"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.dimen.html#donut_resource_pad8" target="_top"><code>donut_resource_pad8</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.dimen.donut_resource_pad9"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.dimen.html#donut_resource_pad9" target="_top"><code>donut_resource_pad9</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/4/changes/android.R.drawable.html b/docs/html/sdk/api_diff/4/changes/android.R.drawable.html
new file mode 100644
index 0000000..25776a9
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.R.drawable.html
@@ -0,0 +1,409 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are 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.drawable
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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.drawable.html" target="_top"><font size="+2"><code>R.drawable</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.drawable.donut_resource_pad1"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad1" target="_top"><code>donut_resource_pad1</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad10"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad10" target="_top"><code>donut_resource_pad10</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad11"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad11" target="_top"><code>donut_resource_pad11</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad12"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad12" target="_top"><code>donut_resource_pad12</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad13"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad13" target="_top"><code>donut_resource_pad13</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad14"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad14" target="_top"><code>donut_resource_pad14</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad15"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad15" target="_top"><code>donut_resource_pad15</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad16"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad16" target="_top"><code>donut_resource_pad16</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad17"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad17" target="_top"><code>donut_resource_pad17</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad18"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad18" target="_top"><code>donut_resource_pad18</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad19"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad19" target="_top"><code>donut_resource_pad19</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad2"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad2" target="_top"><code>donut_resource_pad2</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad20"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad20" target="_top"><code>donut_resource_pad20</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad21"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad21" target="_top"><code>donut_resource_pad21</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad22"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad22" target="_top"><code>donut_resource_pad22</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad23"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad23" target="_top"><code>donut_resource_pad23</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad24"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad24" target="_top"><code>donut_resource_pad24</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad25"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad25" target="_top"><code>donut_resource_pad25</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad26"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad26" target="_top"><code>donut_resource_pad26</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad27"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad27" target="_top"><code>donut_resource_pad27</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad28"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad28" target="_top"><code>donut_resource_pad28</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad29"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad29" target="_top"><code>donut_resource_pad29</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad3"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad3" target="_top"><code>donut_resource_pad3</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad30"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad30" target="_top"><code>donut_resource_pad30</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad31"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad31" target="_top"><code>donut_resource_pad31</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad32"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad32" target="_top"><code>donut_resource_pad32</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad33"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad33" target="_top"><code>donut_resource_pad33</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad34"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad34" target="_top"><code>donut_resource_pad34</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad35"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad35" target="_top"><code>donut_resource_pad35</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad36"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad36" target="_top"><code>donut_resource_pad36</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad37"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad37" target="_top"><code>donut_resource_pad37</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad38"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad38" target="_top"><code>donut_resource_pad38</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad39"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad39" target="_top"><code>donut_resource_pad39</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad4"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad4" target="_top"><code>donut_resource_pad4</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad40"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad40" target="_top"><code>donut_resource_pad40</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad5"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad5" target="_top"><code>donut_resource_pad5</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad6"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad6" target="_top"><code>donut_resource_pad6</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad7"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad7" target="_top"><code>donut_resource_pad7</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad8"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad8" target="_top"><code>donut_resource_pad8</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.donut_resource_pad9"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#donut_resource_pad9" target="_top"><code>donut_resource_pad9</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.stat_sys_vp_phone_call"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#stat_sys_vp_phone_call" target="_top"><code>stat_sys_vp_phone_call</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.drawable.stat_sys_vp_phone_call_on_hold"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.drawable.html#stat_sys_vp_phone_call_on_hold" target="_top"><code>stat_sys_vp_phone_call_on_hold</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/4/changes/android.R.id.html b/docs/html/sdk/api_diff/4/changes/android.R.id.html
new file mode 100644
index 0000000..4fb4894
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.R.id.html
@@ -0,0 +1,269 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.R.id
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.<A HREF="../../../../reference/android/R.id.html" target="_top"><font size="+2"><code>R.id</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.id.donut_resource_pad1"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.id.html#donut_resource_pad1" target="_top"><code>donut_resource_pad1</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.id.donut_resource_pad10"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.id.html#donut_resource_pad10" target="_top"><code>donut_resource_pad10</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.id.donut_resource_pad11"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.id.html#donut_resource_pad11" target="_top"><code>donut_resource_pad11</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.id.donut_resource_pad12"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.id.html#donut_resource_pad12" target="_top"><code>donut_resource_pad12</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.id.donut_resource_pad13"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.id.html#donut_resource_pad13" target="_top"><code>donut_resource_pad13</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.id.donut_resource_pad14"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.id.html#donut_resource_pad14" target="_top"><code>donut_resource_pad14</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.id.donut_resource_pad15"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.id.html#donut_resource_pad15" target="_top"><code>donut_resource_pad15</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.id.donut_resource_pad16"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.id.html#donut_resource_pad16" target="_top"><code>donut_resource_pad16</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.id.donut_resource_pad17"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.id.html#donut_resource_pad17" target="_top"><code>donut_resource_pad17</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.id.donut_resource_pad18"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.id.html#donut_resource_pad18" target="_top"><code>donut_resource_pad18</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.id.donut_resource_pad19"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.id.html#donut_resource_pad19" target="_top"><code>donut_resource_pad19</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.id.donut_resource_pad2"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.id.html#donut_resource_pad2" target="_top"><code>donut_resource_pad2</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.id.donut_resource_pad20"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.id.html#donut_resource_pad20" target="_top"><code>donut_resource_pad20</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.id.donut_resource_pad21"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.id.html#donut_resource_pad21" target="_top"><code>donut_resource_pad21</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.id.donut_resource_pad22"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.id.html#donut_resource_pad22" target="_top"><code>donut_resource_pad22</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.id.donut_resource_pad3"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.id.html#donut_resource_pad3" target="_top"><code>donut_resource_pad3</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.id.donut_resource_pad4"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.id.html#donut_resource_pad4" target="_top"><code>donut_resource_pad4</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.id.donut_resource_pad5"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.id.html#donut_resource_pad5" target="_top"><code>donut_resource_pad5</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.id.donut_resource_pad6"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.id.html#donut_resource_pad6" target="_top"><code>donut_resource_pad6</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.id.donut_resource_pad7"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.id.html#donut_resource_pad7" target="_top"><code>donut_resource_pad7</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.id.donut_resource_pad8"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.id.html#donut_resource_pad8" target="_top"><code>donut_resource_pad8</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.id.donut_resource_pad9"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.id.html#donut_resource_pad9" target="_top"><code>donut_resource_pad9</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/4/changes/android.R.integer.html b/docs/html/sdk/api_diff/4/changes/android.R.integer.html
new file mode 100644
index 0000000..6b9e2c0
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.R.integer.html
@@ -0,0 +1,213 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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.donut_resource_pad1"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.integer.html#donut_resource_pad1" target="_top"><code>donut_resource_pad1</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.integer.donut_resource_pad10"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.integer.html#donut_resource_pad10" target="_top"><code>donut_resource_pad10</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.integer.donut_resource_pad11"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.integer.html#donut_resource_pad11" target="_top"><code>donut_resource_pad11</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.integer.donut_resource_pad12"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.integer.html#donut_resource_pad12" target="_top"><code>donut_resource_pad12</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.integer.donut_resource_pad13"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.integer.html#donut_resource_pad13" target="_top"><code>donut_resource_pad13</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.integer.donut_resource_pad14"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.integer.html#donut_resource_pad14" target="_top"><code>donut_resource_pad14</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.integer.donut_resource_pad2"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.integer.html#donut_resource_pad2" target="_top"><code>donut_resource_pad2</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.integer.donut_resource_pad3"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.integer.html#donut_resource_pad3" target="_top"><code>donut_resource_pad3</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.integer.donut_resource_pad4"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.integer.html#donut_resource_pad4" target="_top"><code>donut_resource_pad4</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.integer.donut_resource_pad5"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.integer.html#donut_resource_pad5" target="_top"><code>donut_resource_pad5</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.integer.donut_resource_pad6"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.integer.html#donut_resource_pad6" target="_top"><code>donut_resource_pad6</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.integer.donut_resource_pad7"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.integer.html#donut_resource_pad7" target="_top"><code>donut_resource_pad7</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.integer.donut_resource_pad8"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.integer.html#donut_resource_pad8" target="_top"><code>donut_resource_pad8</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.integer.donut_resource_pad9"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.integer.html#donut_resource_pad9" target="_top"><code>donut_resource_pad9</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/4/changes/android.R.layout.html b/docs/html/sdk/api_diff/4/changes/android.R.layout.html
new file mode 100644
index 0000000..b8aeabd
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.R.layout.html
@@ -0,0 +1,206 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are 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.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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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.layout.html" target="_top"><font size="+2"><code>R.layout</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.layout.donut_resource_pad1"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.layout.html#donut_resource_pad1" target="_top"><code>donut_resource_pad1</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.layout.donut_resource_pad10"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.layout.html#donut_resource_pad10" target="_top"><code>donut_resource_pad10</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.layout.donut_resource_pad11"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.layout.html#donut_resource_pad11" target="_top"><code>donut_resource_pad11</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.layout.donut_resource_pad12"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.layout.html#donut_resource_pad12" target="_top"><code>donut_resource_pad12</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.layout.donut_resource_pad13"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.layout.html#donut_resource_pad13" target="_top"><code>donut_resource_pad13</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.layout.donut_resource_pad2"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.layout.html#donut_resource_pad2" target="_top"><code>donut_resource_pad2</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.layout.donut_resource_pad3"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.layout.html#donut_resource_pad3" target="_top"><code>donut_resource_pad3</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.layout.donut_resource_pad4"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.layout.html#donut_resource_pad4" target="_top"><code>donut_resource_pad4</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.layout.donut_resource_pad5"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.layout.html#donut_resource_pad5" target="_top"><code>donut_resource_pad5</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.layout.donut_resource_pad6"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.layout.html#donut_resource_pad6" target="_top"><code>donut_resource_pad6</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.layout.donut_resource_pad7"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.layout.html#donut_resource_pad7" target="_top"><code>donut_resource_pad7</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.layout.donut_resource_pad8"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.layout.html#donut_resource_pad8" target="_top"><code>donut_resource_pad8</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.layout.donut_resource_pad9"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.layout.html#donut_resource_pad9" target="_top"><code>donut_resource_pad9</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/4/changes/android.R.string.html b/docs/html/sdk/api_diff/4/changes/android.R.string.html
new file mode 100644
index 0000000..770be4e
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.R.string.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.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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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.donut_resource_pad1"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.string.html#donut_resource_pad1" target="_top"><code>donut_resource_pad1</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.string.donut_resource_pad10"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.string.html#donut_resource_pad10" target="_top"><code>donut_resource_pad10</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.string.donut_resource_pad11"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.string.html#donut_resource_pad11" target="_top"><code>donut_resource_pad11</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.string.donut_resource_pad12"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.string.html#donut_resource_pad12" target="_top"><code>donut_resource_pad12</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.string.donut_resource_pad13"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.string.html#donut_resource_pad13" target="_top"><code>donut_resource_pad13</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.string.donut_resource_pad14"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.string.html#donut_resource_pad14" target="_top"><code>donut_resource_pad14</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.string.donut_resource_pad15"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.string.html#donut_resource_pad15" target="_top"><code>donut_resource_pad15</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.string.donut_resource_pad16"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.string.html#donut_resource_pad16" target="_top"><code>donut_resource_pad16</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.string.donut_resource_pad17"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.string.html#donut_resource_pad17" target="_top"><code>donut_resource_pad17</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.string.donut_resource_pad18"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.string.html#donut_resource_pad18" target="_top"><code>donut_resource_pad18</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.string.donut_resource_pad19"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.string.html#donut_resource_pad19" target="_top"><code>donut_resource_pad19</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.string.donut_resource_pad2"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.string.html#donut_resource_pad2" target="_top"><code>donut_resource_pad2</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.string.donut_resource_pad20"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.string.html#donut_resource_pad20" target="_top"><code>donut_resource_pad20</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.string.donut_resource_pad21"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.string.html#donut_resource_pad21" target="_top"><code>donut_resource_pad21</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.string.donut_resource_pad22"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.string.html#donut_resource_pad22" target="_top"><code>donut_resource_pad22</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.string.donut_resource_pad23"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.string.html#donut_resource_pad23" target="_top"><code>donut_resource_pad23</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.string.donut_resource_pad24"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.string.html#donut_resource_pad24" target="_top"><code>donut_resource_pad24</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.string.donut_resource_pad25"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.string.html#donut_resource_pad25" target="_top"><code>donut_resource_pad25</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.string.donut_resource_pad26"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.string.html#donut_resource_pad26" target="_top"><code>donut_resource_pad26</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.string.donut_resource_pad27"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.string.html#donut_resource_pad27" target="_top"><code>donut_resource_pad27</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.string.donut_resource_pad3"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.string.html#donut_resource_pad3" target="_top"><code>donut_resource_pad3</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.string.donut_resource_pad4"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.string.html#donut_resource_pad4" target="_top"><code>donut_resource_pad4</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.string.donut_resource_pad5"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.string.html#donut_resource_pad5" target="_top"><code>donut_resource_pad5</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.string.donut_resource_pad6"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.string.html#donut_resource_pad6" target="_top"><code>donut_resource_pad6</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.string.donut_resource_pad7"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.string.html#donut_resource_pad7" target="_top"><code>donut_resource_pad7</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.string.donut_resource_pad8"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.string.html#donut_resource_pad8" target="_top"><code>donut_resource_pad8</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.string.donut_resource_pad9"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.string.html#donut_resource_pad9" target="_top"><code>donut_resource_pad9</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/4/changes/android.R.style.html b/docs/html/sdk/api_diff/4/changes/android.R.style.html
new file mode 100644
index 0000000..5dbe9a1
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.R.style.html
@@ -0,0 +1,269 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are 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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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.Widget_ProgressBar_Inverse"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_ProgressBar_Inverse" target="_top"><code>Widget_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_ProgressBar_Large_Inverse"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_ProgressBar_Large_Inverse" target="_top"><code>Widget_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_ProgressBar_Small_Inverse"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#Widget_ProgressBar_Small_Inverse" target="_top"><code>Widget_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.donut_resource_pad1"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#donut_resource_pad1" target="_top"><code>donut_resource_pad1</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.donut_resource_pad10"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#donut_resource_pad10" target="_top"><code>donut_resource_pad10</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.donut_resource_pad11"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#donut_resource_pad11" target="_top"><code>donut_resource_pad11</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.donut_resource_pad12"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#donut_resource_pad12" target="_top"><code>donut_resource_pad12</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.donut_resource_pad13"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#donut_resource_pad13" target="_top"><code>donut_resource_pad13</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.donut_resource_pad14"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#donut_resource_pad14" target="_top"><code>donut_resource_pad14</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.donut_resource_pad15"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#donut_resource_pad15" target="_top"><code>donut_resource_pad15</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.donut_resource_pad16"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#donut_resource_pad16" target="_top"><code>donut_resource_pad16</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.donut_resource_pad17"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#donut_resource_pad17" target="_top"><code>donut_resource_pad17</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.donut_resource_pad18"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#donut_resource_pad18" target="_top"><code>donut_resource_pad18</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.donut_resource_pad19"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#donut_resource_pad19" target="_top"><code>donut_resource_pad19</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.donut_resource_pad2"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#donut_resource_pad2" target="_top"><code>donut_resource_pad2</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.donut_resource_pad3"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#donut_resource_pad3" target="_top"><code>donut_resource_pad3</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.donut_resource_pad4"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#donut_resource_pad4" target="_top"><code>donut_resource_pad4</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.donut_resource_pad5"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#donut_resource_pad5" target="_top"><code>donut_resource_pad5</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.donut_resource_pad6"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#donut_resource_pad6" target="_top"><code>donut_resource_pad6</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.donut_resource_pad7"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#donut_resource_pad7" target="_top"><code>donut_resource_pad7</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.donut_resource_pad8"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#donut_resource_pad8" target="_top"><code>donut_resource_pad8</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.R.style.donut_resource_pad9"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/R.style.html#donut_resource_pad9" target="_top"><code>donut_resource_pad9</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/4/changes/android.app.Activity.html b/docs/html/sdk/api_diff/4/changes/android.app.Activity.html
new file mode 100644
index 0000000..633252d
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.app.Activity.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.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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/Activity.html" target="_top"><font size="+2"><code>Activity</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Activity.dispatchPopulateAccessibilityEvent_added(android.view.accessibility.AccessibilityEvent)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/app/Activity.html#dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent)" target="_top"><code>dispatchPopulateAccessibilityEvent</code></A>(<code>AccessibilityEvent</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/4/changes/android.app.Dialog.html b/docs/html/sdk/api_diff/4/changes/android.app.Dialog.html
new file mode 100644
index 0000000..df5a13c
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.app.Dialog.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.app.Dialog
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/Dialog.html" target="_top"><font size="+2"><code>Dialog</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.Dialog.dispatchPopulateAccessibilityEvent_added(android.view.accessibility.AccessibilityEvent)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/app/Dialog.html#dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent)" target="_top"><code>dispatchPopulateAccessibilityEvent</code></A>(<code>AccessibilityEvent</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/4/changes/android.app.LauncherActivity.ListItem.html b/docs/html/sdk/api_diff/4/changes/android.app.LauncherActivity.ListItem.html
new file mode 100644
index 0000000..f837ae5
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.app.LauncherActivity.ListItem.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.LauncherActivity.ListItem
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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/LauncherActivity.ListItem.html" target="_top"><font size="+2"><code>LauncherActivity.ListItem</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.LauncherActivity.ListItem.resolveInfo"></A>
+  <nobr><code>ResolveInfo</code>&nbsp;<A HREF="../../../../reference/android/app/LauncherActivity.ListItem.html#resolveInfo" target="_top"><code>resolveInfo</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/4/changes/android.app.LauncherActivity.html b/docs/html/sdk/api_diff/4/changes/android.app.LauncherActivity.html
new file mode 100644
index 0000000..2a21f3b
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.app.LauncherActivity.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.LauncherActivity
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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/LauncherActivity.html" target="_top"><font size="+2"><code>LauncherActivity</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.LauncherActivity.itemForPosition_added(int)"></A>
+  <nobr><code>ListItem</code>&nbsp;<A HREF="../../../../reference/android/app/LauncherActivity.html#itemForPosition(int)" target="_top"><code>itemForPosition</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/4/changes/android.app.PendingIntent.html b/docs/html/sdk/api_diff/4/changes/android.app.PendingIntent.html
new file mode 100644
index 0000000..032671b
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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.getIntentSender_added()"></A>
+  <nobr><code>IntentSender</code>&nbsp;<A HREF="../../../../reference/android/app/PendingIntent.html#getIntentSender()" target="_top"><code>getIntentSender</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/4/changes/android.app.SearchManager.html b/docs/html/sdk/api_diff/4/changes/android.app.SearchManager.html
new file mode 100644
index 0000000..7cde296
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.app.SearchManager.html
@@ -0,0 +1,220 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are 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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.app.<A HREF="../../../../reference/android/app/SearchManager.html" target="_top"><font size="+2"><code>SearchManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.SearchManager.onCancel_changed(android.content.DialogInterface)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/SearchManager.html#onCancel(android.content.DialogInterface)" target="_top"><code>onCancel</code></A>(<code>DialogInterface</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.SearchManager.onDismiss_changed(android.content.DialogInterface)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/app/SearchManager.html#onDismiss(android.content.DialogInterface)" target="_top"><code>onDismiss</code></A>(<code>DialogInterface</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.app.SearchManager.EXTRA_DATA_KEY"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/SearchManager.html#EXTRA_DATA_KEY" target="_top"><code>EXTRA_DATA_KEY</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.SearchManager.INTENT_ACTION_SEARCHABLES_CHANGED"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/SearchManager.html#INTENT_ACTION_SEARCHABLES_CHANGED" target="_top"><code>INTENT_ACTION_SEARCHABLES_CHANGED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.SearchManager.INTENT_ACTION_SEARCH_SETTINGS_CHANGED"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/SearchManager.html#INTENT_ACTION_SEARCH_SETTINGS_CHANGED" target="_top"><code>INTENT_ACTION_SEARCH_SETTINGS_CHANGED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.SearchManager.INTENT_ACTION_WEB_SEARCH_SETTINGS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/SearchManager.html#INTENT_ACTION_WEB_SEARCH_SETTINGS" target="_top"><code>INTENT_ACTION_WEB_SEARCH_SETTINGS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.SearchManager.SHORTCUT_MIME_TYPE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/SearchManager.html#SHORTCUT_MIME_TYPE" target="_top"><code>SHORTCUT_MIME_TYPE</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_INTENT_EXTRA_DATA"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/SearchManager.html#SUGGEST_COLUMN_INTENT_EXTRA_DATA" target="_top"><code>SUGGEST_COLUMN_INTENT_EXTRA_DATA</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_SHORTCUT_ID"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/SearchManager.html#SUGGEST_COLUMN_SHORTCUT_ID" target="_top"><code>SUGGEST_COLUMN_SHORTCUT_ID</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_SPINNER_WHILE_REFRESHING"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/SearchManager.html#SUGGEST_COLUMN_SPINNER_WHILE_REFRESHING" target="_top"><code>SUGGEST_COLUMN_SPINNER_WHILE_REFRESHING</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.SearchManager.SUGGEST_NEVER_MAKE_SHORTCUT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/SearchManager.html#SUGGEST_NEVER_MAKE_SHORTCUT" target="_top"><code>SUGGEST_NEVER_MAKE_SHORTCUT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.SearchManager.SUGGEST_URI_PATH_SHORTCUT"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/SearchManager.html#SUGGEST_URI_PATH_SHORTCUT" target="_top"><code>SUGGEST_URI_PATH_SHORTCUT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.app.SearchManager.USER_QUERY"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/app/SearchManager.html#USER_QUERY" target="_top"><code>USER_QUERY</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/4/changes/android.content.ComponentName.html b/docs/html/sdk/api_diff/4/changes/android.content.ComponentName.html
new file mode 100644
index 0000000..09b3892
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.content.ComponentName.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.ComponentName
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.content.<A HREF="../../../../reference/android/content/ComponentName.html" target="_top"><font size="+2"><code>ComponentName</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>java.lang.Comparable</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.ComponentName.compareTo_added(android.content.ComponentName)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/ComponentName.html#compareTo(android.content.ComponentName)" target="_top"><code>compareTo</code></A>(<code>ComponentName</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/4/changes/android.content.ContentProvider.html b/docs/html/sdk/api_diff/4/changes/android.content.ContentProvider.html
new file mode 100644
index 0000000..387574c
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.content.ContentProvider.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.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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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>
+<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.getPathPermissions_added()"></A>
+  <nobr><code>PathPermission[]</code>&nbsp;<A HREF="../../../../reference/android/content/ContentProvider.html#getPathPermissions()" target="_top"><code>getPathPermissions</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.ContentProvider.setPathPermissions_added(android.content.pm.PathPermission[])"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/content/ContentProvider.html#setPathPermissions(android.content.pm.PathPermission[])" target="_top"><code>setPathPermissions</code></A>(<code>PathPermission[]</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/4/changes/android.content.Context.html b/docs/html/sdk/api_diff/4/changes/android.content.Context.html
new file mode 100644
index 0000000..08ad9ad
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.content.Context.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.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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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.getApplicationInfo_added()"></A>
+  <nobr><code>ApplicationInfo</code>&nbsp;<A HREF="../../../../reference/android/content/Context.html#getApplicationInfo()" target="_top"><code>getApplicationInfo</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Context.isRestricted_added()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/content/Context.html#isRestricted()" target="_top"><code>isRestricted</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Context.ACCESSIBILITY_SERVICE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Context.html#ACCESSIBILITY_SERVICE" target="_top"><code>ACCESSIBILITY_SERVICE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Context.CONTEXT_RESTRICTED"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/Context.html#CONTEXT_RESTRICTED" target="_top"><code>CONTEXT_RESTRICTED</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/4/changes/android.content.ContextWrapper.html b/docs/html/sdk/api_diff/4/changes/android.content.ContextWrapper.html
new file mode 100644
index 0000000..6f67f68
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.content.ContextWrapper.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.ContextWrapper
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.content.<A HREF="../../../../reference/android/content/ContextWrapper.html" target="_top"><font size="+2"><code>ContextWrapper</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.ContextWrapper.getApplicationInfo_added()"></A>
+  <nobr><code>ApplicationInfo</code>&nbsp;<A HREF="../../../../reference/android/content/ContextWrapper.html#getApplicationInfo()" target="_top"><code>getApplicationInfo</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/4/changes/android.content.Intent.html b/docs/html/sdk/api_diff/4/changes/android.content.Intent.html
new file mode 100644
index 0000000..69995d6
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.content.Intent.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.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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.getPackage_added()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#getPackage()" target="_top"><code>getPackage</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.parseUri_added(java.lang.String, int)"></A>
+  <nobr><code>Intent</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#parseUri(java.lang.String, int)" target="_top"><code>parseUri</code></A>(<code>String,</nobr> int<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.setPackage_added(java.lang.String)"></A>
+  <nobr><code>Intent</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#setPackage(java.lang.String)" target="_top"><code>setPackage</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.toUri_added(int)"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#toUri(int)" target="_top"><code>toUri</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.content.Intent.getIntent_changed(java.lang.String)"></A>
+  <nobr><code>Intent</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#getIntent(java.lang.String)" target="_top"><code>getIntent</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.toURI_changed()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#toURI()" target="_top"><code>toURI</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.content.Intent.ACTION_BATTERY_OKAY"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#ACTION_BATTERY_OKAY" target="_top"><code>ACTION_BATTERY_OKAY</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.ACTION_POWER_CONNECTED"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#ACTION_POWER_CONNECTED" target="_top"><code>ACTION_POWER_CONNECTED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.ACTION_POWER_DISCONNECTED"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#ACTION_POWER_DISCONNECTED" target="_top"><code>ACTION_POWER_DISCONNECTED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.ACTION_POWER_USAGE_SUMMARY"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#ACTION_POWER_USAGE_SUMMARY" target="_top"><code>ACTION_POWER_USAGE_SUMMARY</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.ACTION_SEND_MULTIPLE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#ACTION_SEND_MULTIPLE" target="_top"><code>ACTION_SEND_MULTIPLE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.ACTION_SHUTDOWN"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#ACTION_SHUTDOWN" target="_top"><code>ACTION_SHUTDOWN</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.FILL_IN_PACKAGE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#FILL_IN_PACKAGE" target="_top"><code>FILL_IN_PACKAGE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.Intent.URI_INTENT_SCHEME"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/Intent.html#URI_INTENT_SCHEME" target="_top"><code>URI_INTENT_SCHEME</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/4/changes/android.content.pm.ActivityInfo.html b/docs/html/sdk/api_diff/4/changes/android.content.pm.ActivityInfo.html
new file mode 100644
index 0000000..369dd3f
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.content.pm.ActivityInfo.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.content.pm.ActivityInfo
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.content.pm.<A HREF="../../../../reference/android/content/pm/ActivityInfo.html" target="_top"><font size="+2"><code>ActivityInfo</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.ActivityInfo.CONFIG_SCREEN_LAYOUT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/ActivityInfo.html#CONFIG_SCREEN_LAYOUT" target="_top"><code>CONFIG_SCREEN_LAYOUT</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/4/changes/android.content.pm.ApplicationInfo.html b/docs/html/sdk/api_diff/4/changes/android.content.pm.ApplicationInfo.html
new file mode 100644
index 0000000..e218e8f
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.content.pm.ApplicationInfo.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.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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.content.pm.<A HREF="../../../../reference/android/content/pm/ApplicationInfo.html" target="_top"><font size="+2"><code>ApplicationInfo</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.ApplicationInfo.FLAG_RESIZEABLE_FOR_SCREENS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/ApplicationInfo.html#FLAG_RESIZEABLE_FOR_SCREENS" target="_top"><code>FLAG_RESIZEABLE_FOR_SCREENS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.ApplicationInfo.FLAG_SUPPORTS_LARGE_SCREENS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/ApplicationInfo.html#FLAG_SUPPORTS_LARGE_SCREENS" target="_top"><code>FLAG_SUPPORTS_LARGE_SCREENS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.ApplicationInfo.FLAG_SUPPORTS_NORMAL_SCREENS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/ApplicationInfo.html#FLAG_SUPPORTS_NORMAL_SCREENS" target="_top"><code>FLAG_SUPPORTS_NORMAL_SCREENS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.ApplicationInfo.FLAG_SUPPORTS_SCREEN_DENSITIES"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/ApplicationInfo.html#FLAG_SUPPORTS_SCREEN_DENSITIES" target="_top"><code>FLAG_SUPPORTS_SCREEN_DENSITIES</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.ApplicationInfo.FLAG_SUPPORTS_SMALL_SCREENS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/ApplicationInfo.html#FLAG_SUPPORTS_SMALL_SCREENS" target="_top"><code>FLAG_SUPPORTS_SMALL_SCREENS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.ApplicationInfo.FLAG_TEST_ONLY"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/ApplicationInfo.html#FLAG_TEST_ONLY" target="_top"><code>FLAG_TEST_ONLY</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.ApplicationInfo.FLAG_UPDATED_SYSTEM_APP"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/ApplicationInfo.html#FLAG_UPDATED_SYSTEM_APP" target="_top"><code>FLAG_UPDATED_SYSTEM_APP</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.ApplicationInfo.targetSdkVersion"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/ApplicationInfo.html#targetSdkVersion" target="_top"><code>targetSdkVersion</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/4/changes/android.content.pm.ConfigurationInfo.html b/docs/html/sdk/api_diff/4/changes/android.content.pm.ConfigurationInfo.html
new file mode 100644
index 0000000..b44626b
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.content.pm.ConfigurationInfo.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.content.pm.ConfigurationInfo
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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/ConfigurationInfo.html" target="_top"><font size="+2"><code>ConfigurationInfo</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.ConfigurationInfo.getGlEsVersion_added()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/content/pm/ConfigurationInfo.html#getGlEsVersion()" target="_top"><code>getGlEsVersion</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.ConfigurationInfo.GL_ES_VERSION_UNDEFINED"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/ConfigurationInfo.html#GL_ES_VERSION_UNDEFINED" target="_top"><code>GL_ES_VERSION_UNDEFINED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.ConfigurationInfo.reqGlEsVersion"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/pm/ConfigurationInfo.html#reqGlEsVersion" target="_top"><code>reqGlEsVersion</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/4/changes/android.content.pm.PackageManager.html b/docs/html/sdk/api_diff/4/changes/android.content.pm.PackageManager.html
new file mode 100644
index 0000000..8667611
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.content.pm.PackageManager.html
@@ -0,0 +1,337 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are 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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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="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.content.pm.PackageManager.installPackage_removed(android.net.Uri, android.content.pm.IPackageInstallObserver, int)"></A>
+  <nobr><code>void</code>&nbsp;installPackage(<code>Uri,</nobr> IPackageInstallObserver<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.content.pm.PackageManager.installPackage_removed(android.net.Uri)"></A>
+  <nobr><code>void</code>&nbsp;installPackage(<code>Uri</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.getLaunchIntentForPackage_changed(java.lang.String)"></A>
+  <nobr><code>Intent</code>&nbsp;<A HREF="../../../../reference/android/content/pm/PackageManager.html#getLaunchIntentForPackage(java.lang.String)" target="_top"><code>getLaunchIntentForPackage</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>android.content.pm.PackageManager.NameNotFoundException</code> to no exceptions.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Removed"></a>
+<TABLE summary="Removed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.FORWARD_LOCK_PACKAGE"></A>
+  <code>int</code>&nbsp;FORWARD_LOCK_PACKAGE
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.INSTALL_FAILED_ALREADY_EXISTS"></A>
+  <code>int</code>&nbsp;INSTALL_FAILED_ALREADY_EXISTS
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.INSTALL_FAILED_CONFLICTING_PROVIDER"></A>
+  <code>int</code>&nbsp;INSTALL_FAILED_CONFLICTING_PROVIDER
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.INSTALL_FAILED_DEXOPT"></A>
+  <code>int</code>&nbsp;INSTALL_FAILED_DEXOPT
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.INSTALL_FAILED_DUPLICATE_PACKAGE"></A>
+  <code>int</code>&nbsp;INSTALL_FAILED_DUPLICATE_PACKAGE
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.INSTALL_FAILED_INSUFFICIENT_STORAGE"></A>
+  <code>int</code>&nbsp;INSTALL_FAILED_INSUFFICIENT_STORAGE
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.INSTALL_FAILED_INVALID_APK"></A>
+  <code>int</code>&nbsp;INSTALL_FAILED_INVALID_APK
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.INSTALL_FAILED_INVALID_URI"></A>
+  <code>int</code>&nbsp;INSTALL_FAILED_INVALID_URI
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.INSTALL_FAILED_MISSING_SHARED_LIBRARY"></A>
+  <code>int</code>&nbsp;INSTALL_FAILED_MISSING_SHARED_LIBRARY
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.INSTALL_FAILED_NO_SHARED_USER"></A>
+  <code>int</code>&nbsp;INSTALL_FAILED_NO_SHARED_USER
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.INSTALL_FAILED_OLDER_SDK"></A>
+  <code>int</code>&nbsp;INSTALL_FAILED_OLDER_SDK
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.INSTALL_FAILED_REPLACE_COULDNT_DELETE"></A>
+  <code>int</code>&nbsp;INSTALL_FAILED_REPLACE_COULDNT_DELETE
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.INSTALL_FAILED_SHARED_USER_INCOMPATIBLE"></A>
+  <code>int</code>&nbsp;INSTALL_FAILED_SHARED_USER_INCOMPATIBLE
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.INSTALL_FAILED_UPDATE_INCOMPATIBLE"></A>
+  <code>int</code>&nbsp;INSTALL_FAILED_UPDATE_INCOMPATIBLE
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.INSTALL_PARSE_FAILED_BAD_MANIFEST"></A>
+  <code>int</code>&nbsp;INSTALL_PARSE_FAILED_BAD_MANIFEST
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME"></A>
+  <code>int</code>&nbsp;INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID"></A>
+  <code>int</code>&nbsp;INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING"></A>
+  <code>int</code>&nbsp;INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES"></A>
+  <code>int</code>&nbsp;INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.INSTALL_PARSE_FAILED_MANIFEST_EMPTY"></A>
+  <code>int</code>&nbsp;INSTALL_PARSE_FAILED_MANIFEST_EMPTY
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.INSTALL_PARSE_FAILED_MANIFEST_MALFORMED"></A>
+  <code>int</code>&nbsp;INSTALL_PARSE_FAILED_MANIFEST_MALFORMED
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.INSTALL_PARSE_FAILED_NOT_APK"></A>
+  <code>int</code>&nbsp;INSTALL_PARSE_FAILED_NOT_APK
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.INSTALL_PARSE_FAILED_NO_CERTIFICATES"></A>
+  <code>int</code>&nbsp;INSTALL_PARSE_FAILED_NO_CERTIFICATES
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION"></A>
+  <code>int</code>&nbsp;INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.INSTALL_SUCCEEDED"></A>
+  <code>int</code>&nbsp;INSTALL_SUCCEEDED
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm.PackageManager.REPLACE_EXISTING_PACKAGE"></A>
+  <code>int</code>&nbsp;REPLACE_EXISTING_PACKAGE
+  </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/4/changes/android.content.pm.ProviderInfo.html b/docs/html/sdk/api_diff/4/changes/android.content.pm.ProviderInfo.html
new file mode 100644
index 0000000..059c7e0
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.content.pm.ProviderInfo.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.ProviderInfo
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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/ProviderInfo.html" target="_top"><font size="+2"><code>ProviderInfo</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.ProviderInfo.pathPermissions"></A>
+  <nobr><code>PathPermission[]</code>&nbsp;<A HREF="../../../../reference/android/content/pm/ProviderInfo.html#pathPermissions" target="_top"><code>pathPermissions</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/4/changes/android.content.res.Configuration.html b/docs/html/sdk/api_diff/4/changes/android.content.res.Configuration.html
new file mode 100644
index 0000000..947243f
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.content.res.Configuration.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.content.res.Configuration
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.content.res.<A HREF="../../../../reference/android/content/res/Configuration.html" target="_top"><font size="+2"><code>Configuration</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.res.Configuration.SCREENLAYOUT_LONG_MASK"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/res/Configuration.html#SCREENLAYOUT_LONG_MASK" target="_top"><code>SCREENLAYOUT_LONG_MASK</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.res.Configuration.SCREENLAYOUT_LONG_NO"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/res/Configuration.html#SCREENLAYOUT_LONG_NO" target="_top"><code>SCREENLAYOUT_LONG_NO</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.res.Configuration.SCREENLAYOUT_LONG_UNDEFINED"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/res/Configuration.html#SCREENLAYOUT_LONG_UNDEFINED" target="_top"><code>SCREENLAYOUT_LONG_UNDEFINED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.res.Configuration.SCREENLAYOUT_LONG_YES"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/res/Configuration.html#SCREENLAYOUT_LONG_YES" target="_top"><code>SCREENLAYOUT_LONG_YES</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.res.Configuration.SCREENLAYOUT_SIZE_LARGE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/res/Configuration.html#SCREENLAYOUT_SIZE_LARGE" target="_top"><code>SCREENLAYOUT_SIZE_LARGE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.res.Configuration.SCREENLAYOUT_SIZE_MASK"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/res/Configuration.html#SCREENLAYOUT_SIZE_MASK" target="_top"><code>SCREENLAYOUT_SIZE_MASK</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.res.Configuration.SCREENLAYOUT_SIZE_NORMAL"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/res/Configuration.html#SCREENLAYOUT_SIZE_NORMAL" target="_top"><code>SCREENLAYOUT_SIZE_NORMAL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.res.Configuration.SCREENLAYOUT_SIZE_SMALL"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/res/Configuration.html#SCREENLAYOUT_SIZE_SMALL" target="_top"><code>SCREENLAYOUT_SIZE_SMALL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.res.Configuration.SCREENLAYOUT_SIZE_UNDEFINED"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/res/Configuration.html#SCREENLAYOUT_SIZE_UNDEFINED" target="_top"><code>SCREENLAYOUT_SIZE_UNDEFINED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.res.Configuration.screenLayout"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/content/res/Configuration.html#screenLayout" target="_top"><code>screenLayout</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/4/changes/android.graphics.Bitmap.html b/docs/html/sdk/api_diff/4/changes/android.graphics.Bitmap.html
new file mode 100644
index 0000000..df2e105
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.graphics.Bitmap.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.graphics.Bitmap
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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/Bitmap.html" target="_top"><font size="+2"><code>Bitmap</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.Bitmap.getDensity_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/graphics/Bitmap.html#getDensity()" target="_top"><code>getDensity</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.Bitmap.getScaledHeight_added(android.graphics.Canvas)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/graphics/Bitmap.html#getScaledHeight(android.graphics.Canvas)" target="_top"><code>getScaledHeight</code></A>(<code>Canvas</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.Bitmap.getScaledHeight_added(android.util.DisplayMetrics)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/graphics/Bitmap.html#getScaledHeight(android.util.DisplayMetrics)" target="_top"><code>getScaledHeight</code></A>(<code>DisplayMetrics</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.Bitmap.getScaledHeight_added(int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/graphics/Bitmap.html#getScaledHeight(int)" target="_top"><code>getScaledHeight</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.Bitmap.getScaledWidth_added(android.graphics.Canvas)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/graphics/Bitmap.html#getScaledWidth(android.graphics.Canvas)" target="_top"><code>getScaledWidth</code></A>(<code>Canvas</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.Bitmap.getScaledWidth_added(android.util.DisplayMetrics)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/graphics/Bitmap.html#getScaledWidth(android.util.DisplayMetrics)" target="_top"><code>getScaledWidth</code></A>(<code>DisplayMetrics</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.Bitmap.getScaledWidth_added(int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/graphics/Bitmap.html#getScaledWidth(int)" target="_top"><code>getScaledWidth</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.Bitmap.prepareToDraw_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/graphics/Bitmap.html#prepareToDraw()" target="_top"><code>prepareToDraw</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.Bitmap.setDensity_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/graphics/Bitmap.html#setDensity(int)" target="_top"><code>setDensity</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.Bitmap.DENSITY_NONE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/graphics/Bitmap.html#DENSITY_NONE" target="_top"><code>DENSITY_NONE</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/4/changes/android.graphics.BitmapFactory.Options.html b/docs/html/sdk/api_diff/4/changes/android.graphics.BitmapFactory.Options.html
new file mode 100644
index 0000000..bc8cc7c
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.graphics.BitmapFactory.Options.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.graphics.BitmapFactory.Options
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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/BitmapFactory.Options.html" target="_top"><font size="+2"><code>BitmapFactory.Options</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.graphics.BitmapFactory.Options.inDensity"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/graphics/BitmapFactory.Options.html#inDensity" target="_top"><code>inDensity</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.BitmapFactory.Options.inInputShareable"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/graphics/BitmapFactory.Options.html#inInputShareable" target="_top"><code>inInputShareable</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.BitmapFactory.Options.inPurgeable"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/graphics/BitmapFactory.Options.html#inPurgeable" target="_top"><code>inPurgeable</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.BitmapFactory.Options.inScaled"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/graphics/BitmapFactory.Options.html#inScaled" target="_top"><code>inScaled</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.BitmapFactory.Options.inScreenDensity"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/graphics/BitmapFactory.Options.html#inScreenDensity" target="_top"><code>inScreenDensity</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.BitmapFactory.Options.inTargetDensity"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/graphics/BitmapFactory.Options.html#inTargetDensity" target="_top"><code>inTargetDensity</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/4/changes/android.graphics.BitmapFactory.html b/docs/html/sdk/api_diff/4/changes/android.graphics.BitmapFactory.html
new file mode 100644
index 0000000..8549752
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.graphics.BitmapFactory.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.BitmapFactory
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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/BitmapFactory.html" target="_top"><font size="+2"><code>BitmapFactory</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.BitmapFactory.decodeResourceStream_added(android.content.res.Resources, android.util.TypedValue, java.io.InputStream, android.graphics.Rect, android.graphics.BitmapFactory.Options)"></A>
+  <nobr><code>Bitmap</code>&nbsp;<A HREF="../../../../reference/android/graphics/BitmapFactory.html#decodeResourceStream(android.content.res.Resources, android.util.TypedValue, java.io.InputStream, android.graphics.Rect, android.graphics.BitmapFactory.Options)" target="_top"><code>decodeResourceStream</code></A>(<code>Resources,</nobr> TypedValue<nobr>,</nobr> InputStream<nobr>,</nobr> Rect<nobr>,</nobr> Options<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/4/changes/android.graphics.Canvas.html b/docs/html/sdk/api_diff/4/changes/android.graphics.Canvas.html
new file mode 100644
index 0000000..49128fa
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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.getDensity_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/graphics/Canvas.html#getDensity()" target="_top"><code>getDensity</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.Canvas.setDensity_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/graphics/Canvas.html#setDensity(int)" target="_top"><code>setDensity</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/4/changes/android.graphics.NinePatch.html b/docs/html/sdk/api_diff/4/changes/android.graphics.NinePatch.html
new file mode 100644
index 0000000..1a3f94a
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.graphics.NinePatch.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.NinePatch
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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/NinePatch.html" target="_top"><font size="+2"><code>NinePatch</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.NinePatch.getDensity_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/graphics/NinePatch.html#getDensity()" target="_top"><code>getDensity</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/4/changes/android.graphics.Typeface.html b/docs/html/sdk/api_diff/4/changes/android.graphics.Typeface.html
new file mode 100644
index 0000000..6739f05
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.graphics.Typeface.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.Typeface
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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/Typeface.html" target="_top"><font size="+2"><code>Typeface</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.Typeface.createFromFile_added(java.io.File)"></A>
+  <nobr><code>Typeface</code>&nbsp;<A HREF="../../../../reference/android/graphics/Typeface.html#createFromFile(java.io.File)" target="_top"><code>createFromFile</code></A>(<code>File</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.Typeface.createFromFile_added(java.lang.String)"></A>
+  <nobr><code>Typeface</code>&nbsp;<A HREF="../../../../reference/android/graphics/Typeface.html#createFromFile(java.lang.String)" target="_top"><code>createFromFile</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/4/changes/android.graphics.drawable.AnimationDrawable.html b/docs/html/sdk/api_diff/4/changes/android.graphics.drawable.AnimationDrawable.html
new file mode 100644
index 0000000..c5c7670
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.graphics.drawable.AnimationDrawable.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.graphics.drawable.AnimationDrawable
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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.drawable.<A HREF="../../../../reference/android/graphics/drawable/AnimationDrawable.html" target="_top"><font size="+2"><code>AnimationDrawable</code></font></A>
+</H2>
+<p><font xsize="+1">Added interface <code>android.graphics.drawable.Animatable</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/4/changes/android.graphics.drawable.BitmapDrawable.html b/docs/html/sdk/api_diff/4/changes/android.graphics.drawable.BitmapDrawable.html
new file mode 100644
index 0000000..8dea688
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.graphics.drawable.BitmapDrawable.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.graphics.drawable.BitmapDrawable
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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.drawable.<A HREF="../../../../reference/android/graphics/drawable/BitmapDrawable.html" target="_top"><font size="+2"><code>BitmapDrawable</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.graphics.drawable.BitmapDrawable.ctor_added(android.content.res.Resources)"></A>
+  <nobr><A HREF="../../../../reference/android/graphics/drawable/BitmapDrawable.html#BitmapDrawable(android.content.res.Resources)" target="_top"><code>BitmapDrawable</code></A>(<code>Resources</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.drawable.BitmapDrawable.ctor_added(android.content.res.Resources, android.graphics.Bitmap)"></A>
+  <nobr><A HREF="../../../../reference/android/graphics/drawable/BitmapDrawable.html#BitmapDrawable(android.content.res.Resources, android.graphics.Bitmap)" target="_top"><code>BitmapDrawable</code></A>(<code>Resources,</nobr> Bitmap<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.graphics.drawable.BitmapDrawable.ctor_changed()"></A>
+  <nobr><A HREF="../../../../reference/android/graphics/drawable/BitmapDrawable.html#BitmapDrawable()" target="_top"><code>BitmapDrawable</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.graphics.drawable.BitmapDrawable.ctor_changed(android.graphics.Bitmap)"></A>
+  <nobr><A HREF="../../../../reference/android/graphics/drawable/BitmapDrawable.html#BitmapDrawable(android.graphics.Bitmap)" target="_top"><code>BitmapDrawable</code></A>(<code>Bitmap</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.graphics.drawable.BitmapDrawable.setTargetDensity_added(android.graphics.Canvas)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/graphics/drawable/BitmapDrawable.html#setTargetDensity(android.graphics.Canvas)" target="_top"><code>setTargetDensity</code></A>(<code>Canvas</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.drawable.BitmapDrawable.setTargetDensity_added(android.util.DisplayMetrics)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/graphics/drawable/BitmapDrawable.html#setTargetDensity(android.util.DisplayMetrics)" target="_top"><code>setTargetDensity</code></A>(<code>DisplayMetrics</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.drawable.BitmapDrawable.setTargetDensity_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/graphics/drawable/BitmapDrawable.html#setTargetDensity(int)" target="_top"><code>setTargetDensity</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/4/changes/android.graphics.drawable.Drawable.html b/docs/html/sdk/api_diff/4/changes/android.graphics.drawable.Drawable.html
new file mode 100644
index 0000000..7e52fc6
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.graphics.drawable.Drawable.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.drawable.Drawable
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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.drawable.<A HREF="../../../../reference/android/graphics/drawable/Drawable.html" target="_top"><font size="+2"><code>Drawable</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<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.drawable.Drawable.createFromResourceStream_added(android.content.res.Resources, android.util.TypedValue, java.io.InputStream, java.lang.String)"></A>
+  <nobr><code>Drawable</code>&nbsp;<A HREF="../../../../reference/android/graphics/drawable/Drawable.html#createFromResourceStream(android.content.res.Resources, android.util.TypedValue, java.io.InputStream, java.lang.String)" target="_top"><code>createFromResourceStream</code></A>(<code>Resources,</nobr> TypedValue<nobr>,</nobr> InputStream<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/4/changes/android.graphics.drawable.NinePatchDrawable.html b/docs/html/sdk/api_diff/4/changes/android.graphics.drawable.NinePatchDrawable.html
new file mode 100644
index 0000000..49245f1
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.graphics.drawable.NinePatchDrawable.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.graphics.drawable.NinePatchDrawable
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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.drawable.<A HREF="../../../../reference/android/graphics/drawable/NinePatchDrawable.html" target="_top"><font size="+2"><code>NinePatchDrawable</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.graphics.drawable.NinePatchDrawable.ctor_added(android.content.res.Resources, android.graphics.Bitmap, byte[], android.graphics.Rect, java.lang.String)"></A>
+  <nobr><A HREF="../../../../reference/android/graphics/drawable/NinePatchDrawable.html#NinePatchDrawable(android.content.res.Resources, android.graphics.Bitmap, byte[], android.graphics.Rect, java.lang.String)" target="_top"><code>NinePatchDrawable</code></A>(<code>Resources,</nobr> Bitmap<nobr>,</nobr> byte[]<nobr>,</nobr> Rect<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.graphics.drawable.NinePatchDrawable.ctor_added(android.content.res.Resources, android.graphics.NinePatch)"></A>
+  <nobr><A HREF="../../../../reference/android/graphics/drawable/NinePatchDrawable.html#NinePatchDrawable(android.content.res.Resources, android.graphics.NinePatch)" target="_top"><code>NinePatchDrawable</code></A>(<code>Resources,</nobr> NinePatch<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.graphics.drawable.NinePatchDrawable.ctor_changed(android.graphics.Bitmap, byte[], android.graphics.Rect, java.lang.String)"></A>
+  <nobr><A HREF="../../../../reference/android/graphics/drawable/NinePatchDrawable.html#NinePatchDrawable(android.graphics.Bitmap, byte[], android.graphics.Rect, java.lang.String)" target="_top"><code>NinePatchDrawable</code></A>(<code>Bitmap,</nobr> byte[]<nobr>,</nobr> Rect<nobr>,</nobr> String<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.graphics.drawable.NinePatchDrawable.ctor_changed(android.graphics.NinePatch)"></A>
+  <nobr><A HREF="../../../../reference/android/graphics/drawable/NinePatchDrawable.html#NinePatchDrawable(android.graphics.NinePatch)" target="_top"><code>NinePatchDrawable</code></A>(<code>NinePatch</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.graphics.drawable.NinePatchDrawable.setTargetDensity_added(android.graphics.Canvas)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/graphics/drawable/NinePatchDrawable.html#setTargetDensity(android.graphics.Canvas)" target="_top"><code>setTargetDensity</code></A>(<code>Canvas</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.drawable.NinePatchDrawable.setTargetDensity_added(android.util.DisplayMetrics)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/graphics/drawable/NinePatchDrawable.html#setTargetDensity(android.util.DisplayMetrics)" target="_top"><code>setTargetDensity</code></A>(<code>DisplayMetrics</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.graphics.drawable.NinePatchDrawable.setTargetDensity_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/graphics/drawable/NinePatchDrawable.html#setTargetDensity(int)" target="_top"><code>setTargetDensity</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/4/changes/android.hardware.SensorManager.html b/docs/html/sdk/api_diff/4/changes/android.hardware.SensorManager.html
new file mode 100644
index 0000000..55ebacf
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.hardware.SensorManager.html
@@ -0,0 +1,124 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.hardware.SensorManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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/SensorManager.html" target="_top"><font size="+2"><code>SensorManager</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.hardware.SensorManager.LIGHT_NO_MOON"></A>
+  <nobr><code>float</code>&nbsp;<A HREF="../../../../reference/android/hardware/SensorManager.html#LIGHT_NO_MOON" target="_top"><code>LIGHT_NO_MOON</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from 0.001f to 0.0010f.
+  </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/4/changes/android.inputmethodservice.KeyboardView.html b/docs/html/sdk/api_diff/4/changes/android.inputmethodservice.KeyboardView.html
new file mode 100644
index 0000000..6e927b8
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.inputmethodservice.KeyboardView.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.inputmethodservice.KeyboardView
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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/KeyboardView.html" target="_top"><font size="+2"><code>KeyboardView</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.KeyboardView.invalidateAllKeys_added()"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/inputmethodservice/KeyboardView.html#invalidateAllKeys()" target="_top"><code>invalidateAllKeys</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.inputmethodservice.KeyboardView.invalidateKey_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/inputmethodservice/KeyboardView.html#invalidateKey(int)" target="_top"><code>invalidateKey</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/4/changes/android.location.Address.html b/docs/html/sdk/api_diff/4/changes/android.location.Address.html
new file mode 100644
index 0000000..b32f4f3
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.location.Address.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.location.Address
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.location.<A HREF="../../../../reference/android/location/Address.html" target="_top"><font size="+2"><code>Address</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.location.Address.getPremises_added()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/location/Address.html#getPremises()" target="_top"><code>getPremises</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.location.Address.getSubLocality_added()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/location/Address.html#getSubLocality()" target="_top"><code>getSubLocality</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.location.Address.getSubThoroughfare_added()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/location/Address.html#getSubThoroughfare()" target="_top"><code>getSubThoroughfare</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.location.Address.setPremises_added(java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/location/Address.html#setPremises(java.lang.String)" target="_top"><code>setPremises</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.location.Address.setSubLocality_added(java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/location/Address.html#setSubLocality(java.lang.String)" target="_top"><code>setSubLocality</code></A>(<code>String</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.location.Address.setSubThoroughfare_added(java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/location/Address.html#setSubThoroughfare(java.lang.String)" target="_top"><code>setSubThoroughfare</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/4/changes/android.media.AudioManager.html b/docs/html/sdk/api_diff/4/changes/android.media.AudioManager.html
new file mode 100644
index 0000000..1ac2b9c
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.media.AudioManager.html
@@ -0,0 +1,135 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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="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.getRouting_changed(int)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/AudioManager.html#getRouting(int)" target="_top"><code>getRouting</code></A>(<code>int</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.AudioManager.setRouting_changed(int, int, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/media/AudioManager.html#setRouting(int, int, int)" target="_top"><code>setRouting</code></A>(<code>int,</nobr> int<nobr>,</nobr> int<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/4/changes/android.media.MediaRecorder.AudioSource.html b/docs/html/sdk/api_diff/4/changes/android.media.MediaRecorder.AudioSource.html
new file mode 100644
index 0000000..b371e46
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.media.MediaRecorder.AudioSource.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.MediaRecorder.AudioSource
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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.AudioSource.html" target="_top"><font size="+2"><code>MediaRecorder.AudioSource</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.media.MediaRecorder.AudioSource.VOICE_CALL"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaRecorder.AudioSource.html#VOICE_CALL" target="_top"><code>VOICE_CALL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaRecorder.AudioSource.VOICE_DOWNLINK"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaRecorder.AudioSource.html#VOICE_DOWNLINK" target="_top"><code>VOICE_DOWNLINK</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.MediaRecorder.AudioSource.VOICE_UPLINK"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaRecorder.AudioSource.html#VOICE_UPLINK" target="_top"><code>VOICE_UPLINK</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/4/changes/android.media.MediaRecorder.html b/docs/html/sdk/api_diff/4/changes/android.media.MediaRecorder.html
new file mode 100644
index 0000000..8f7aa00
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.media.MediaRecorder.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.media.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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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.getAudioSourceMax_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/MediaRecorder.html#getAudioSourceMax()" target="_top"><code>getAudioSourceMax</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/4/changes/android.media.ToneGenerator.html b/docs/html/sdk/api_diff/4/changes/android.media.ToneGenerator.html
new file mode 100644
index 0000000..c1e1bb8
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.media.ToneGenerator.html
@@ -0,0 +1,605 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are 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.ToneGenerator
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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/ToneGenerator.html" target="_top"><font size="+2"><code>ToneGenerator</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.media.ToneGenerator.TONE_CDMA_ABBR_ALERT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_ABBR_ALERT" target="_top"><code>TONE_CDMA_ABBR_ALERT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_ABBR_INTERCEPT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_ABBR_INTERCEPT" target="_top"><code>TONE_CDMA_ABBR_INTERCEPT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_ABBR_REORDER"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_ABBR_REORDER" target="_top"><code>TONE_CDMA_ABBR_REORDER</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_ALERT_AUTOREDIAL_LITE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_ALERT_AUTOREDIAL_LITE" target="_top"><code>TONE_CDMA_ALERT_AUTOREDIAL_LITE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_ALERT_CALL_GUARD"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_ALERT_CALL_GUARD" target="_top"><code>TONE_CDMA_ALERT_CALL_GUARD</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_ALERT_INCALL_LITE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_ALERT_INCALL_LITE" target="_top"><code>TONE_CDMA_ALERT_INCALL_LITE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_ALERT_NETWORK_LITE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_ALERT_NETWORK_LITE" target="_top"><code>TONE_CDMA_ALERT_NETWORK_LITE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_ANSWER"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_ANSWER" target="_top"><code>TONE_CDMA_ANSWER</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_CALLDROP_LITE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_CALLDROP_LITE" target="_top"><code>TONE_CDMA_CALLDROP_LITE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_INTERGROUP"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_CALL_SIGNAL_ISDN_INTERGROUP" target="_top"><code>TONE_CDMA_CALL_SIGNAL_ISDN_INTERGROUP</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_NORMAL"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_CALL_SIGNAL_ISDN_NORMAL" target="_top"><code>TONE_CDMA_CALL_SIGNAL_ISDN_NORMAL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_PAT3"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_CALL_SIGNAL_ISDN_PAT3" target="_top"><code>TONE_CDMA_CALL_SIGNAL_ISDN_PAT3</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_PAT5"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_CALL_SIGNAL_ISDN_PAT5" target="_top"><code>TONE_CDMA_CALL_SIGNAL_ISDN_PAT5</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_PAT6"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_CALL_SIGNAL_ISDN_PAT6" target="_top"><code>TONE_CDMA_CALL_SIGNAL_ISDN_PAT6</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_PAT7"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_CALL_SIGNAL_ISDN_PAT7" target="_top"><code>TONE_CDMA_CALL_SIGNAL_ISDN_PAT7</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_PING_RING"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_CALL_SIGNAL_ISDN_PING_RING" target="_top"><code>TONE_CDMA_CALL_SIGNAL_ISDN_PING_RING</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_SP_PRI"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_CALL_SIGNAL_ISDN_SP_PRI" target="_top"><code>TONE_CDMA_CALL_SIGNAL_ISDN_SP_PRI</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_CONFIRM"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_CONFIRM" target="_top"><code>TONE_CDMA_CONFIRM</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_DIAL_TONE_LITE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_DIAL_TONE_LITE" target="_top"><code>TONE_CDMA_DIAL_TONE_LITE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_EMERGENCY_RINGBACK"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_EMERGENCY_RINGBACK" target="_top"><code>TONE_CDMA_EMERGENCY_RINGBACK</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_HIGH_L"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_HIGH_L" target="_top"><code>TONE_CDMA_HIGH_L</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_HIGH_PBX_L"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_HIGH_PBX_L" target="_top"><code>TONE_CDMA_HIGH_PBX_L</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_HIGH_PBX_SLS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_HIGH_PBX_SLS" target="_top"><code>TONE_CDMA_HIGH_PBX_SLS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_HIGH_PBX_SS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_HIGH_PBX_SS" target="_top"><code>TONE_CDMA_HIGH_PBX_SS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_HIGH_PBX_SSL"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_HIGH_PBX_SSL" target="_top"><code>TONE_CDMA_HIGH_PBX_SSL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_HIGH_PBX_S_X4"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_HIGH_PBX_S_X4" target="_top"><code>TONE_CDMA_HIGH_PBX_S_X4</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_HIGH_SLS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_HIGH_SLS" target="_top"><code>TONE_CDMA_HIGH_SLS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_HIGH_SS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_HIGH_SS" target="_top"><code>TONE_CDMA_HIGH_SS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_HIGH_SSL"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_HIGH_SSL" target="_top"><code>TONE_CDMA_HIGH_SSL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_HIGH_SS_2"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_HIGH_SS_2" target="_top"><code>TONE_CDMA_HIGH_SS_2</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_HIGH_S_X4"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_HIGH_S_X4" target="_top"><code>TONE_CDMA_HIGH_S_X4</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_INTERCEPT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_INTERCEPT" target="_top"><code>TONE_CDMA_INTERCEPT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_KEYPAD_VOLUME_KEY_LITE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_KEYPAD_VOLUME_KEY_LITE" target="_top"><code>TONE_CDMA_KEYPAD_VOLUME_KEY_LITE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_LOW_L"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_LOW_L" target="_top"><code>TONE_CDMA_LOW_L</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_LOW_PBX_L"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_LOW_PBX_L" target="_top"><code>TONE_CDMA_LOW_PBX_L</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_LOW_PBX_SLS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_LOW_PBX_SLS" target="_top"><code>TONE_CDMA_LOW_PBX_SLS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_LOW_PBX_SS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_LOW_PBX_SS" target="_top"><code>TONE_CDMA_LOW_PBX_SS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_LOW_PBX_SSL"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_LOW_PBX_SSL" target="_top"><code>TONE_CDMA_LOW_PBX_SSL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_LOW_PBX_S_X4"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_LOW_PBX_S_X4" target="_top"><code>TONE_CDMA_LOW_PBX_S_X4</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_LOW_SLS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_LOW_SLS" target="_top"><code>TONE_CDMA_LOW_SLS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_LOW_SS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_LOW_SS" target="_top"><code>TONE_CDMA_LOW_SS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_LOW_SSL"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_LOW_SSL" target="_top"><code>TONE_CDMA_LOW_SSL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_LOW_SS_2"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_LOW_SS_2" target="_top"><code>TONE_CDMA_LOW_SS_2</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_LOW_S_X4"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_LOW_S_X4" target="_top"><code>TONE_CDMA_LOW_S_X4</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_MED_L"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_MED_L" target="_top"><code>TONE_CDMA_MED_L</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_MED_PBX_L"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_MED_PBX_L" target="_top"><code>TONE_CDMA_MED_PBX_L</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_MED_PBX_SLS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_MED_PBX_SLS" target="_top"><code>TONE_CDMA_MED_PBX_SLS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_MED_PBX_SS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_MED_PBX_SS" target="_top"><code>TONE_CDMA_MED_PBX_SS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_MED_PBX_SSL"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_MED_PBX_SSL" target="_top"><code>TONE_CDMA_MED_PBX_SSL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_MED_PBX_S_X4"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_MED_PBX_S_X4" target="_top"><code>TONE_CDMA_MED_PBX_S_X4</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_MED_SLS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_MED_SLS" target="_top"><code>TONE_CDMA_MED_SLS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_MED_SS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_MED_SS" target="_top"><code>TONE_CDMA_MED_SS</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_MED_SSL"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_MED_SSL" target="_top"><code>TONE_CDMA_MED_SSL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_MED_SS_2"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_MED_SS_2" target="_top"><code>TONE_CDMA_MED_SS_2</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_MED_S_X4"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_MED_S_X4" target="_top"><code>TONE_CDMA_MED_S_X4</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_NETWORK_BUSY"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_NETWORK_BUSY" target="_top"><code>TONE_CDMA_NETWORK_BUSY</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_NETWORK_BUSY_ONE_SHOT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_NETWORK_BUSY_ONE_SHOT" target="_top"><code>TONE_CDMA_NETWORK_BUSY_ONE_SHOT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_NETWORK_CALLWAITING"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_NETWORK_CALLWAITING" target="_top"><code>TONE_CDMA_NETWORK_CALLWAITING</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_NETWORK_USA_RINGBACK"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_NETWORK_USA_RINGBACK" target="_top"><code>TONE_CDMA_NETWORK_USA_RINGBACK</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_ONE_MIN_BEEP"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_ONE_MIN_BEEP" target="_top"><code>TONE_CDMA_ONE_MIN_BEEP</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_PIP"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_PIP" target="_top"><code>TONE_CDMA_PIP</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_PRESSHOLDKEY_LITE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_PRESSHOLDKEY_LITE" target="_top"><code>TONE_CDMA_PRESSHOLDKEY_LITE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_REORDER"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_REORDER" target="_top"><code>TONE_CDMA_REORDER</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_SIGNAL_OFF"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_SIGNAL_OFF" target="_top"><code>TONE_CDMA_SIGNAL_OFF</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_CDMA_SOFT_ERROR_LITE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_CDMA_SOFT_ERROR_LITE" target="_top"><code>TONE_CDMA_SOFT_ERROR_LITE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_SUP_CONFIRM"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_SUP_CONFIRM" target="_top"><code>TONE_SUP_CONFIRM</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_SUP_CONGESTION_ABBREV"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_SUP_CONGESTION_ABBREV" target="_top"><code>TONE_SUP_CONGESTION_ABBREV</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_SUP_INTERCEPT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_SUP_INTERCEPT" target="_top"><code>TONE_SUP_INTERCEPT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_SUP_INTERCEPT_ABBREV"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_SUP_INTERCEPT_ABBREV" target="_top"><code>TONE_SUP_INTERCEPT_ABBREV</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media.ToneGenerator.TONE_SUP_PIP"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/media/ToneGenerator.html#TONE_SUP_PIP" target="_top"><code>TONE_SUP_PIP</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/4/changes/android.net.wifi.WifiManager.html b/docs/html/sdk/api_diff/4/changes/android.net.wifi.WifiManager.html
new file mode 100644
index 0000000..f1fcaad
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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>
+<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.wifi.WifiManager.createMulticastLock_added(java.lang.String)"></A>
+  <nobr><code>MulticastLock</code>&nbsp;<A HREF="../../../../reference/android/net/wifi/WifiManager.html#createMulticastLock(java.lang.String)" target="_top"><code>createMulticastLock</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/4/changes/android.os.Build.VERSION.html b/docs/html/sdk/api_diff/4/changes/android.os.Build.VERSION.html
new file mode 100644
index 0000000..941c554
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.os.Build.VERSION.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.os.Build.VERSION
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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.html" target="_top"><font size="+2"><code>Build.VERSION</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.CODENAME"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/os/Build.VERSION.html#CODENAME" target="_top"><code>CODENAME</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Build.VERSION.SDK_INT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/os/Build.VERSION.html#SDK_INT" target="_top"><code>SDK_INT</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.os.Build.VERSION.SDK"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/os/Build.VERSION.html#SDK" target="_top"><code>SDK</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/4/changes/android.os.Build.html b/docs/html/sdk/api_diff/4/changes/android.os.Build.html
new file mode 100644
index 0000000..075819a
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.os.Build.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.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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.os.<A HREF="../../../../reference/android/os/Build.html" target="_top"><font size="+2"><code>Build</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Build.CPU_ABI"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/os/Build.html#CPU_ABI" target="_top"><code>CPU_ABI</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.Build.MANUFACTURER"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/os/Build.html#MANUFACTURER" target="_top"><code>MANUFACTURER</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/4/changes/android.os.RemoteCallbackList.html b/docs/html/sdk/api_diff/4/changes/android.os.RemoteCallbackList.html
new file mode 100644
index 0000000..de379ea
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.os.RemoteCallbackList.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.os.RemoteCallbackList
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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/RemoteCallbackList.html" target="_top"><font size="+2"><code>RemoteCallbackList</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.RemoteCallbackList.getBroadcastCookie_added(int)"></A>
+  <nobr><code>Object</code>&nbsp;<A HREF="../../../../reference/android/os/RemoteCallbackList.html#getBroadcastCookie(int)" target="_top"><code>getBroadcastCookie</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.RemoteCallbackList.onCallbackDied_added(E, java.lang.Object)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/os/RemoteCallbackList.html#onCallbackDied(E, java.lang.Object)" target="_top"><code>onCallbackDied</code></A>(<code>E,</nobr> Object<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os.RemoteCallbackList.register_added(E, java.lang.Object)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/os/RemoteCallbackList.html#register(E, java.lang.Object)" target="_top"><code>register</code></A>(<code>E,</nobr> Object<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/4/changes/android.provider.MediaStore.Audio.Genres.Members.html b/docs/html/sdk/api_diff/4/changes/android.provider.MediaStore.Audio.Genres.Members.html
new file mode 100644
index 0000000..af0b161
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.provider.MediaStore.Audio.Genres.Members.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.provider.MediaStore.Audio.Genres.Members
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.provider.<A HREF="../../../../reference/android/provider/MediaStore.Audio.Genres.Members.html" target="_top"><font size="+2"><code>MediaStore.Audio.Genres.Members</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.provider.MediaStore.Audio.Genres.Members.DEFAULT_SORT_ORDER"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/MediaStore.Audio.Genres.Members.html#DEFAULT_SORT_ORDER" target="_top"><code>DEFAULT_SORT_ORDER</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from "title" to "title_key".
+  </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/4/changes/android.provider.MediaStore.Audio.Media.html b/docs/html/sdk/api_diff/4/changes/android.provider.MediaStore.Audio.Media.html
new file mode 100644
index 0000000..aa07442
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.provider.MediaStore.Audio.Media.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.provider.MediaStore.Audio.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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.provider.<A HREF="../../../../reference/android/provider/MediaStore.Audio.Media.html" target="_top"><font size="+2"><code>MediaStore.Audio.Media</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.provider.MediaStore.Audio.Media.DEFAULT_SORT_ORDER"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/MediaStore.Audio.Media.html#DEFAULT_SORT_ORDER" target="_top"><code>DEFAULT_SORT_ORDER</code></font></A></nobr>  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Changed in value from "title" to "title_key".
+  </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/4/changes/android.provider.Settings.Secure.html b/docs/html/sdk/api_diff/4/changes/android.provider.Settings.Secure.html
new file mode 100644
index 0000000..be600e4
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.provider.Settings.Secure.html
@@ -0,0 +1,178 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.provider.Settings.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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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.ACCESSIBILITY_ENABLED"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.Secure.html#ACCESSIBILITY_ENABLED" target="_top"><code>ACCESSIBILITY_ENABLED</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.Secure.html#ENABLED_ACCESSIBILITY_SERVICES" target="_top"><code>ENABLED_ACCESSIBILITY_SERVICES</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.Secure.TTS_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></A></nobr>
+  </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></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.Secure.TTS_DEFAULT_PITCH"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.Secure.html#TTS_DEFAULT_PITCH" target="_top"><code>TTS_DEFAULT_PITCH</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.Secure.TTS_DEFAULT_RATE"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.Secure.html#TTS_DEFAULT_RATE" target="_top"><code>TTS_DEFAULT_RATE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.Secure.TTS_DEFAULT_SYNTH"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.Secure.html#TTS_DEFAULT_SYNTH" target="_top"><code>TTS_DEFAULT_SYNTH</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider.Settings.Secure.TTS_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></A></nobr>
+  </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></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/4/changes/android.provider.Settings.System.html b/docs/html/sdk/api_diff/4/changes/android.provider.Settings.System.html
new file mode 100644
index 0000000..d979133
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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.SHOW_WEB_SUGGESTIONS"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/provider/Settings.System.html#SHOW_WEB_SUGGESTIONS" target="_top"><code>SHOW_WEB_SUGGESTIONS</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/4/changes/android.telephony.gsm.SmsManager.html b/docs/html/sdk/api_diff/4/changes/android.telephony.gsm.SmsManager.html
new file mode 100644
index 0000000..35d07a4
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.telephony.gsm.SmsManager.html
@@ -0,0 +1,255 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.telephony.gsm.SmsManager
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.telephony.gsm.<A HREF="../../../../reference/android/telephony/gsm/SmsManager.html" target="_top"><font size="+2"><code>SmsManager</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<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.telephony.gsm.SmsManager.divideMessage_changed(java.lang.String)"></A>
+  <nobr><code>ArrayList&lt;String&gt;</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsManager.html#divideMessage(java.lang.String)" target="_top"><code>divideMessage</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change from non-final to final.<br> <b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.gsm.SmsManager.getDefault_changed()"></A>
+  <nobr><code>SmsManager</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsManager.html#getDefault()" target="_top"><code>getDefault</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change from non-final to final.<br> <b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.gsm.SmsManager.sendDataMessage_changed(java.lang.String, java.lang.String, short, byte[], android.app.PendingIntent, android.app.PendingIntent)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsManager.html#sendDataMessage(java.lang.String, java.lang.String, short, byte[], android.app.PendingIntent, android.app.PendingIntent)" target="_top"><code>sendDataMessage</code></A>(<code>String,</nobr> String<nobr>,</nobr> short<nobr>,</nobr> byte[]<nobr>,</nobr> PendingIntent<nobr>,</nobr> PendingIntent<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change from non-final to final.<br> <b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.gsm.SmsManager.sendMultipartTextMessage_changed(java.lang.String, java.lang.String, java.util.ArrayList<java.lang.String>, java.util.ArrayList<android.app.PendingIntent>, java.util.ArrayList<android.app.PendingIntent>)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsManager.html#sendMultipartTextMessage(java.lang.String, java.lang.String, java.util.ArrayList<java.lang.String>, java.util.ArrayList<android.app.PendingIntent>, java.util.ArrayList<android.app.PendingIntent>)" target="_top"><code>sendMultipartTextMessage</code></A>(<code>String,</nobr> String<nobr>,</nobr> ArrayList&lt;String&gt;<nobr>,</nobr> ArrayList&lt;PendingIntent&gt;<nobr>,</nobr> ArrayList&lt;PendingIntent&gt;<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change from non-final to final.<br> <b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.gsm.SmsManager.sendTextMessage_changed(java.lang.String, java.lang.String, java.lang.String, android.app.PendingIntent, android.app.PendingIntent)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsManager.html#sendTextMessage(java.lang.String, java.lang.String, java.lang.String, android.app.PendingIntent, android.app.PendingIntent)" target="_top"><code>sendTextMessage</code></A>(<code>String,</nobr> String<nobr>,</nobr> String<nobr>,</nobr> PendingIntent<nobr>,</nobr> PendingIntent<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change from non-final to final.<br> <b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="fields"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Fields" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Fields</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.gsm.SmsManager.RESULT_ERROR_GENERIC_FAILURE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsManager.html#RESULT_ERROR_GENERIC_FAILURE" target="_top"><code>RESULT_ERROR_GENERIC_FAILURE</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.telephony.gsm.SmsManager.RESULT_ERROR_NO_SERVICE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsManager.html#RESULT_ERROR_NO_SERVICE" target="_top"><code>RESULT_ERROR_NO_SERVICE</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.telephony.gsm.SmsManager.RESULT_ERROR_NULL_PDU"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsManager.html#RESULT_ERROR_NULL_PDU" target="_top"><code>RESULT_ERROR_NULL_PDU</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.telephony.gsm.SmsManager.RESULT_ERROR_RADIO_OFF"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsManager.html#RESULT_ERROR_RADIO_OFF" target="_top"><code>RESULT_ERROR_RADIO_OFF</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.telephony.gsm.SmsManager.STATUS_ON_SIM_FREE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsManager.html#STATUS_ON_SIM_FREE" target="_top"><code>STATUS_ON_SIM_FREE</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.telephony.gsm.SmsManager.STATUS_ON_SIM_READ"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsManager.html#STATUS_ON_SIM_READ" target="_top"><code>STATUS_ON_SIM_READ</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.telephony.gsm.SmsManager.STATUS_ON_SIM_SENT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsManager.html#STATUS_ON_SIM_SENT" target="_top"><code>STATUS_ON_SIM_SENT</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.telephony.gsm.SmsManager.STATUS_ON_SIM_UNREAD"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsManager.html#STATUS_ON_SIM_UNREAD" target="_top"><code>STATUS_ON_SIM_UNREAD</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.telephony.gsm.SmsManager.STATUS_ON_SIM_UNSENT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsManager.html#STATUS_ON_SIM_UNSENT" target="_top"><code>STATUS_ON_SIM_UNSENT</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/4/changes/android.telephony.gsm.SmsMessage.MessageClass.html b/docs/html/sdk/api_diff/4/changes/android.telephony.gsm.SmsMessage.MessageClass.html
new file mode 100644
index 0000000..c848939
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.telephony.gsm.SmsMessage.MessageClass.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.telephony.gsm.SmsMessage.MessageClass
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.telephony.gsm.<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.MessageClass.html" target="_top"><font size="+2"><code>SmsMessage.MessageClass</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/4/changes/android.telephony.gsm.SmsMessage.SubmitPdu.html b/docs/html/sdk/api_diff/4/changes/android.telephony.gsm.SmsMessage.SubmitPdu.html
new file mode 100644
index 0000000..af36496
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.telephony.gsm.SmsMessage.SubmitPdu.html
@@ -0,0 +1,152 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.telephony.gsm.SmsMessage.SubmitPdu
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.telephony.gsm.<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.SubmitPdu.html" target="_top"><font size="+2"><code>SmsMessage.SubmitPdu</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.gsm.SmsMessage.SubmitPdu.ctor_changed()"></A>
+  <nobr><A HREF="../../../../reference/android/telephony/gsm/SmsMessage.SubmitPdu.html#SmsMessage.SubmitPdu()" target="_top"><code>SmsMessage.SubmitPdu</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+<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.telephony.gsm.SmsMessage.SubmitPdu.encodedMessage"></A>
+  <nobr><code>byte[]</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.SubmitPdu.html#encodedMessage" target="_top"><code>encodedMessage</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.telephony.gsm.SmsMessage.SubmitPdu.encodedScAddress"></A>
+  <nobr><code>byte[]</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.SubmitPdu.html#encodedScAddress" target="_top"><code>encodedScAddress</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/4/changes/android.telephony.gsm.SmsMessage.html b/docs/html/sdk/api_diff/4/changes/android.telephony.gsm.SmsMessage.html
new file mode 100644
index 0000000..e480955
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.telephony.gsm.SmsMessage.html
@@ -0,0 +1,505 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.telephony.gsm.SmsMessage
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.telephony.gsm.<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html" target="_top"><font size="+2"><code>SmsMessage</code></font></A>
+</H2>
+<p><b>Now deprecated</b>.<br>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.gsm.SmsMessage.ctor_changed()"></A>
+  <nobr><A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#SmsMessage()" target="_top"><code>SmsMessage</code></A>()  </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="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.telephony.gsm.SmsMessage.createFromPdu_changed(byte[])"></A>
+  <nobr><code>SmsMessage</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#createFromPdu(byte[])" target="_top"><code>createFromPdu</code></A>(<code>byte[]</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.telephony.gsm.SmsMessage.getDisplayMessageBody_changed()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#getDisplayMessageBody()" target="_top"><code>getDisplayMessageBody</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.telephony.gsm.SmsMessage.getDisplayOriginatingAddress_changed()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#getDisplayOriginatingAddress()" target="_top"><code>getDisplayOriginatingAddress</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.telephony.gsm.SmsMessage.getEmailBody_changed()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#getEmailBody()" target="_top"><code>getEmailBody</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.telephony.gsm.SmsMessage.getEmailFrom_changed()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#getEmailFrom()" target="_top"><code>getEmailFrom</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.telephony.gsm.SmsMessage.getIndexOnSim_changed()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#getIndexOnSim()" target="_top"><code>getIndexOnSim</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.telephony.gsm.SmsMessage.getMessageBody_changed()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#getMessageBody()" target="_top"><code>getMessageBody</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.telephony.gsm.SmsMessage.getMessageClass_changed()"></A>
+  <nobr><code>MessageClass</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#getMessageClass()" target="_top"><code>getMessageClass</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.telephony.gsm.SmsMessage.getOriginatingAddress_changed()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#getOriginatingAddress()" target="_top"><code>getOriginatingAddress</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.telephony.gsm.SmsMessage.getPdu_changed()"></A>
+  <nobr><code>byte[]</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#getPdu()" target="_top"><code>getPdu</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.telephony.gsm.SmsMessage.getProtocolIdentifier_changed()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#getProtocolIdentifier()" target="_top"><code>getProtocolIdentifier</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.telephony.gsm.SmsMessage.getPseudoSubject_changed()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#getPseudoSubject()" target="_top"><code>getPseudoSubject</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.telephony.gsm.SmsMessage.getServiceCenterAddress_changed()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#getServiceCenterAddress()" target="_top"><code>getServiceCenterAddress</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.telephony.gsm.SmsMessage.getStatus_changed()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#getStatus()" target="_top"><code>getStatus</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.telephony.gsm.SmsMessage.getStatusOnSim_changed()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#getStatusOnSim()" target="_top"><code>getStatusOnSim</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.telephony.gsm.SmsMessage.getTPLayerLengthForPDU_changed(java.lang.String)"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#getTPLayerLengthForPDU(java.lang.String)" target="_top"><code>getTPLayerLengthForPDU</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.gsm.SmsMessage.getTimestampMillis_changed()"></A>
+  <nobr><code>long</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#getTimestampMillis()" target="_top"><code>getTimestampMillis</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.telephony.gsm.SmsMessage.getUserData_changed()"></A>
+  <nobr><code>byte[]</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#getUserData()" target="_top"><code>getUserData</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.telephony.gsm.SmsMessage.isCphsMwiMessage_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#isCphsMwiMessage()" target="_top"><code>isCphsMwiMessage</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.telephony.gsm.SmsMessage.isEmail_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#isEmail()" target="_top"><code>isEmail</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.telephony.gsm.SmsMessage.isMWIClearMessage_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#isMWIClearMessage()" target="_top"><code>isMWIClearMessage</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.telephony.gsm.SmsMessage.isMWISetMessage_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#isMWISetMessage()" target="_top"><code>isMWISetMessage</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.telephony.gsm.SmsMessage.isMwiDontStore_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#isMwiDontStore()" target="_top"><code>isMwiDontStore</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.telephony.gsm.SmsMessage.isReplace_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#isReplace()" target="_top"><code>isReplace</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.telephony.gsm.SmsMessage.isReplyPathPresent_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#isReplyPathPresent()" target="_top"><code>isReplyPathPresent</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.telephony.gsm.SmsMessage.isStatusReportMessage_changed()"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#isStatusReportMessage()" target="_top"><code>isStatusReportMessage</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.telephony.gsm.SmsMessage.calculateLength_changed(java.lang.CharSequence, boolean)"></A>
+  <nobr><code>int[]</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#calculateLength(java.lang.CharSequence, boolean)" target="_top"><code>calculateLength</code></A>(<code>CharSequence,</nobr> boolean<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD 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.telephony.gsm.SmsMessage.calculateLength_changed(java.lang.String, boolean)"></A>
+  <nobr><code>int[]</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#calculateLength(java.lang.String, boolean)" target="_top"><code>calculateLength</code></A>(<code>String,</nobr> boolean<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.gsm.SmsMessage.getSubmitPdu_changed(java.lang.String, java.lang.String, java.lang.String, boolean)"></A>
+  <nobr><code>SubmitPdu</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#getSubmitPdu(java.lang.String, java.lang.String, java.lang.String, boolean)" target="_top"><code>getSubmitPdu</code></A>(<code>String,</nobr> String<nobr>,</nobr> String<nobr>,</nobr> boolean<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.gsm.SmsMessage.getSubmitPdu_changed(java.lang.String, java.lang.String, short, byte[], boolean)"></A>
+  <nobr><code>SubmitPdu</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#getSubmitPdu(java.lang.String, java.lang.String, short, byte[], boolean)" target="_top"><code>getSubmitPdu</code></A>(<code>String,</nobr> String<nobr>,</nobr> short<nobr>,</nobr> byte[]<nobr>,</nobr> boolean<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="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.telephony.gsm.SmsMessage.ENCODING_16BIT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#ENCODING_16BIT" target="_top"><code>ENCODING_16BIT</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.telephony.gsm.SmsMessage.ENCODING_7BIT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#ENCODING_7BIT" target="_top"><code>ENCODING_7BIT</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.telephony.gsm.SmsMessage.ENCODING_8BIT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#ENCODING_8BIT" target="_top"><code>ENCODING_8BIT</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.telephony.gsm.SmsMessage.ENCODING_UNKNOWN"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#ENCODING_UNKNOWN" target="_top"><code>ENCODING_UNKNOWN</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.telephony.gsm.SmsMessage.MAX_USER_DATA_BYTES"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#MAX_USER_DATA_BYTES" target="_top"><code>MAX_USER_DATA_BYTES</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.telephony.gsm.SmsMessage.MAX_USER_DATA_SEPTETS"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#MAX_USER_DATA_SEPTETS" target="_top"><code>MAX_USER_DATA_SEPTETS</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.telephony.gsm.SmsMessage.MAX_USER_DATA_SEPTETS_WITH_HEADER"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/telephony/gsm/SmsMessage.html#MAX_USER_DATA_SEPTETS_WITH_HEADER" target="_top"><code>MAX_USER_DATA_SEPTETS_WITH_HEADER</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/4/changes/android.test.AndroidTestCase.html b/docs/html/sdk/api_diff/4/changes/android.test.AndroidTestCase.html
new file mode 100644
index 0000000..8e772ab
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.test.AndroidTestCase.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.AndroidTestCase
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.test.<A HREF="../../../../reference/android/test/AndroidTestCase.html" target="_top"><font size="+2"><code>AndroidTestCase</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.AndroidTestCase.assertActivityRequiresPermission_added(java.lang.String, java.lang.String, java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/test/AndroidTestCase.html#assertActivityRequiresPermission(java.lang.String, java.lang.String, java.lang.String)" target="_top"><code>assertActivityRequiresPermission</code></A>(<code>String,</nobr> String<nobr>,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.test.AndroidTestCase.assertReadingContentUriRequiresPermission_added(android.net.Uri, java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/test/AndroidTestCase.html#assertReadingContentUriRequiresPermission(android.net.Uri, java.lang.String)" target="_top"><code>assertReadingContentUriRequiresPermission</code></A>(<code>Uri,</nobr> String<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.test.AndroidTestCase.assertWritingContentUriRequiresPermission_added(android.net.Uri, java.lang.String)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/test/AndroidTestCase.html#assertWritingContentUriRequiresPermission(android.net.Uri, java.lang.String)" target="_top"><code>assertWritingContentUriRequiresPermission</code></A>(<code>Uri,</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/4/changes/android.test.mock.MockContext.html b/docs/html/sdk/api_diff/4/changes/android.test.mock.MockContext.html
new file mode 100644
index 0000000..317556a
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.test.mock.MockContext.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.MockContext
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.test.mock.<A HREF="../../../../reference/android/test/mock/MockContext.html" target="_top"><font size="+2"><code>MockContext</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.test.mock.MockContext.getApplicationInfo_added()"></A>
+  <nobr><code>ApplicationInfo</code>&nbsp;<A HREF="../../../../reference/android/test/mock/MockContext.html#getApplicationInfo()" target="_top"><code>getApplicationInfo</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/4/changes/android.test.mock.MockPackageManager.html b/docs/html/sdk/api_diff/4/changes/android.test.mock.MockPackageManager.html
new file mode 100644
index 0000000..939b9e8
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.test.mock.MockPackageManager.html
@@ -0,0 +1,140 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test.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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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="Removed"></a>
+<TABLE summary="Removed Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.test.mock.MockPackageManager.installPackage_removed(android.net.Uri, android.content.pm.IPackageInstallObserver, int)"></A>
+  <nobr><code>void</code>&nbsp;installPackage(<code>Uri,</nobr> IPackageInstallObserver<nobr>,</nobr> int<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.test.mock.MockPackageManager.getLaunchIntentForPackage_changed(java.lang.String)"></A>
+  <nobr><code>Intent</code>&nbsp;<A HREF="../../../../reference/android/test/mock/MockPackageManager.html#getLaunchIntentForPackage(java.lang.String)" target="_top"><code>getLaunchIntentForPackage</code></A>(<code>String</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+Change in exceptions thrown from <code>android.content.pm.PackageManager.NameNotFoundException</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/4/changes/android.text.style.ImageSpan.html b/docs/html/sdk/api_diff/4/changes/android.text.style.ImageSpan.html
new file mode 100644
index 0000000..729d9ef
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.text.style.ImageSpan.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.text.style.ImageSpan
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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.style.<A HREF="../../../../reference/android/text/style/ImageSpan.html" target="_top"><font size="+2"><code>ImageSpan</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.text.style.ImageSpan.ctor_added(android.content.Context, android.graphics.Bitmap)"></A>
+  <nobr><A HREF="../../../../reference/android/text/style/ImageSpan.html#ImageSpan(android.content.Context, android.graphics.Bitmap)" target="_top"><code>ImageSpan</code></A>(<code>Context,</nobr> Bitmap<nobr><nobr></code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.style.ImageSpan.ctor_added(android.content.Context, android.graphics.Bitmap, int)"></A>
+  <nobr><A HREF="../../../../reference/android/text/style/ImageSpan.html#ImageSpan(android.content.Context, android.graphics.Bitmap, int)" target="_top"><code>ImageSpan</code></A>(<code>Context,</nobr> Bitmap<nobr>,</nobr> int<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.text.style.ImageSpan.ctor_changed(android.graphics.Bitmap)"></A>
+  <nobr><A HREF="../../../../reference/android/text/style/ImageSpan.html#ImageSpan(android.graphics.Bitmap)" target="_top"><code>ImageSpan</code></A>(<code>Bitmap</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.text.style.ImageSpan.ctor_changed(android.graphics.Bitmap, int)"></A>
+  <nobr><A HREF="../../../../reference/android/text/style/ImageSpan.html#ImageSpan(android.graphics.Bitmap, int)" target="_top"><code>ImageSpan</code></A>(<code>Bitmap,</nobr> int<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+<b>Now deprecated</b>.<br>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<a NAME="methods"></a>
+<a NAME="fields"></a>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/4/changes/android.util.Config.html b/docs/html/sdk/api_diff/4/changes/android.util.Config.html
new file mode 100644
index 0000000..e5d67d9
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.util.Config.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.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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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>
+<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.LOGD"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/util/Config.html#LOGD" target="_top"><code>LOGD</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.util.Config.LOGV"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/util/Config.html#LOGV" target="_top"><code>LOGV</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.util.Config.PROFILE"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/util/Config.html#PROFILE" target="_top"><code>PROFILE</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.util.Config.RELEASE"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/util/Config.html#RELEASE" target="_top"><code>RELEASE</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/4/changes/android.util.DisplayMetrics.html b/docs/html/sdk/api_diff/4/changes/android.util.DisplayMetrics.html
new file mode 100644
index 0000000..4ab0b38
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.util.DisplayMetrics.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.util.DisplayMetrics
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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/DisplayMetrics.html" target="_top"><font size="+2"><code>DisplayMetrics</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.util.DisplayMetrics.DENSITY_DEFAULT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/util/DisplayMetrics.html#DENSITY_DEFAULT" target="_top"><code>DENSITY_DEFAULT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.util.DisplayMetrics.DENSITY_HIGH"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/util/DisplayMetrics.html#DENSITY_HIGH" target="_top"><code>DENSITY_HIGH</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.util.DisplayMetrics.DENSITY_LOW"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/util/DisplayMetrics.html#DENSITY_LOW" target="_top"><code>DENSITY_LOW</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.util.DisplayMetrics.DENSITY_MEDIUM"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/util/DisplayMetrics.html#DENSITY_MEDIUM" target="_top"><code>DENSITY_MEDIUM</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.util.DisplayMetrics.densityDpi"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/util/DisplayMetrics.html#densityDpi" target="_top"><code>densityDpi</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/4/changes/android.util.TypedValue.html b/docs/html/sdk/api_diff/4/changes/android.util.TypedValue.html
new file mode 100644
index 0000000..fd15172
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.util.TypedValue.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.util.TypedValue
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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/TypedValue.html" target="_top"><font size="+2"><code>TypedValue</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.util.TypedValue.DENSITY_DEFAULT"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/util/TypedValue.html#DENSITY_DEFAULT" target="_top"><code>DENSITY_DEFAULT</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.util.TypedValue.DENSITY_NONE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/util/TypedValue.html#DENSITY_NONE" target="_top"><code>DENSITY_NONE</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.util.TypedValue.density"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/util/TypedValue.html#density" target="_top"><code>density</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/4/changes/android.view.Surface.html b/docs/html/sdk/api_diff/4/changes/android.view.Surface.html
new file mode 100644
index 0000000..7231913
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.view.Surface.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.view.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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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>
+<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.Surface.SURFACE_FROZEN"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/Surface.html#SURFACE_FROZEN" target="_top"><code>SURFACE_FROZEN</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.Surface.SURACE_FROZEN"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/Surface.html#SURACE_FROZEN" target="_top"><code>SURACE_FROZEN</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/4/changes/android.view.VelocityTracker.html b/docs/html/sdk/api_diff/4/changes/android.view.VelocityTracker.html
new file mode 100644
index 0000000..208ee0d
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.view.VelocityTracker.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.VelocityTracker
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.view.<A HREF="../../../../reference/android/view/VelocityTracker.html" target="_top"><font size="+2"><code>VelocityTracker</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.VelocityTracker.computeCurrentVelocity_added(int, float)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/VelocityTracker.html#computeCurrentVelocity(int, float)" target="_top"><code>computeCurrentVelocity</code></A>(<code>int,</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/4/changes/android.view.View.html b/docs/html/sdk/api_diff/4/changes/android.view.View.html
new file mode 100644
index 0000000..1696e1c
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.view.View.html
@@ -0,0 +1,208 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are 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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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>
+<p><font xsize="+1">Added interface <code>android.view.accessibility.AccessibilityEventSource</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.View.addFocusables_added(java.util.ArrayList<android.view.View>, int, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#addFocusables(java.util.ArrayList<android.view.View>, int, int)" target="_top"><code>addFocusables</code></A>(<code>ArrayList&lt;View&gt;,</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.View.buildDrawingCache_added(boolean)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#buildDrawingCache(boolean)" target="_top"><code>buildDrawingCache</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.dispatchPopulateAccessibilityEvent_added(android.view.accessibility.AccessibilityEvent)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent)" target="_top"><code>dispatchPopulateAccessibilityEvent</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.getContentDescription_added()"></A>
+  <nobr><code>CharSequence</code>&nbsp;<A HREF="../../../../reference/android/view/View.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.view.View.getDrawingCache_added(boolean)"></A>
+  <nobr><code>Bitmap</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#getDrawingCache(boolean)" target="_top"><code>getDrawingCache</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.getTag_added(int)"></A>
+  <nobr><code>Object</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#getTag(int)" target="_top"><code>getTag</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.sendAccessibilityEvent_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#sendAccessibilityEvent(int)" target="_top"><code>sendAccessibilityEvent</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.sendAccessibilityEventUnchecked_added(android.view.accessibility.AccessibilityEvent)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#sendAccessibilityEventUnchecked(android.view.accessibility.AccessibilityEvent)" target="_top"><code>sendAccessibilityEventUnchecked</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.setContentDescription_added(java.lang.CharSequence)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#setContentDescription(java.lang.CharSequence)" target="_top"><code>setContentDescription</code></A>(<code>CharSequence</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.setTag_added(int, java.lang.Object)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#setTag(int, java.lang.Object)" target="_top"><code>setTag</code></A>(<code>int,</nobr> Object<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.View.FOCUSABLES_ALL"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#FOCUSABLES_ALL" target="_top"><code>FOCUSABLES_ALL</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.View.FOCUSABLES_TOUCH_MODE"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/View.html#FOCUSABLES_TOUCH_MODE" target="_top"><code>FOCUSABLES_TOUCH_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/4/changes/android.view.ViewConfiguration.html b/docs/html/sdk/api_diff/4/changes/android.view.ViewConfiguration.html
new file mode 100644
index 0000000..30a66ab
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.view.ViewConfiguration.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.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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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.getMaximumFlingVelocity_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/ViewConfiguration.html#getMaximumFlingVelocity()" target="_top"><code>getMaximumFlingVelocity</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.view.ViewConfiguration.getScaledMaximumFlingVelocity_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/view/ViewConfiguration.html#getScaledMaximumFlingVelocity()" target="_top"><code>getScaledMaximumFlingVelocity</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/4/changes/android.view.Window.Callback.html b/docs/html/sdk/api_diff/4/changes/android.view.Window.Callback.html
new file mode 100644
index 0000000..61626bd
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.view.Window.Callback.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.Window.Callback
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/Window.Callback.html" target="_top"><font size="+2"><code>Window.Callback</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.Callback.dispatchPopulateAccessibilityEvent_added(android.view.accessibility.AccessibilityEvent)"></A>
+  <nobr><code>boolean</code>&nbsp;<A HREF="../../../../reference/android/view/Window.Callback.html#dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent)" target="_top"><code>dispatchPopulateAccessibilityEvent</code></A>(<code>AccessibilityEvent</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/4/changes/android.widget.AutoCompleteTextView.html b/docs/html/sdk/api_diff/4/changes/android.widget.AutoCompleteTextView.html
new file mode 100644
index 0000000..2ad8c43
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.widget.AutoCompleteTextView.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.AutoCompleteTextView
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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/AutoCompleteTextView.html" target="_top"><font size="+2"><code>AutoCompleteTextView</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.AutoCompleteTextView.getDropDownHeight_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/widget/AutoCompleteTextView.html#getDropDownHeight()" target="_top"><code>getDropDownHeight</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.AutoCompleteTextView.setDropDownHeight_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/AutoCompleteTextView.html#setDropDownHeight(int)" target="_top"><code>setDropDownHeight</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/4/changes/android.widget.CheckedTextView.html b/docs/html/sdk/api_diff/4/changes/android.widget.CheckedTextView.html
new file mode 100644
index 0000000..91675dc8
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.widget.CheckedTextView.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.widget.CheckedTextView
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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/CheckedTextView.html" target="_top"><font size="+2"><code>CheckedTextView</code></font></A>
+</H2>
+<p>Changed from abstract to non-abstract.
+<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/4/changes/android.widget.ListView.html b/docs/html/sdk/api_diff/4/changes/android.widget.ListView.html
new file mode 100644
index 0000000..37680eb
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.widget.ListView.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.ListView
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.widget.<A HREF="../../../../reference/android/widget/ListView.html" target="_top"><font size="+2"><code>ListView</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.ListView.getCheckItemIds_added()"></A>
+  <nobr><code>long[]</code>&nbsp;<A HREF="../../../../reference/android/widget/ListView.html#getCheckItemIds()" target="_top"><code>getCheckItemIds</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/4/changes/android.widget.PopupWindow.html b/docs/html/sdk/api_diff/4/changes/android.widget.PopupWindow.html
new file mode 100644
index 0000000..e97e296d
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.widget.PopupWindow.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.widget.PopupWindow
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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/PopupWindow.html" target="_top"><font size="+2"><code>PopupWindow</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.PopupWindow.getSoftInputMode_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/widget/PopupWindow.html#getSoftInputMode()" target="_top"><code>getSoftInputMode</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.PopupWindow.setSoftInputMode_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/PopupWindow.html#setSoftInputMode(int)" target="_top"><code>setSoftInputMode</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.PopupWindow.update_added(int, int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/PopupWindow.html#update(int, int)" target="_top"><code>update</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/4/changes/android.widget.TabHost.TabSpec.html b/docs/html/sdk/api_diff/4/changes/android.widget.TabHost.TabSpec.html
new file mode 100644
index 0000000..639b466
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.widget.TabHost.TabSpec.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.TabHost.TabSpec
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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/TabHost.TabSpec.html" target="_top"><font size="+2"><code>TabHost.TabSpec</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.TabHost.TabSpec.getTag_added()"></A>
+  <nobr><code>String</code>&nbsp;<A HREF="../../../../reference/android/widget/TabHost.TabSpec.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.widget.TabHost.TabSpec.setIndicator_added(android.view.View)"></A>
+  <nobr><code>TabSpec</code>&nbsp;<A HREF="../../../../reference/android/widget/TabHost.TabSpec.html#setIndicator(android.view.View)" target="_top"><code>setIndicator</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/4/changes/android.widget.TabWidget.html b/docs/html/sdk/api_diff/4/changes/android.widget.TabWidget.html
new file mode 100644
index 0000000..beb4056
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/android.widget.TabWidget.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.widget.TabWidget
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class android.widget.<A HREF="../../../../reference/android/widget/TabWidget.html" target="_top"><font size="+2"><code>TabWidget</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<a NAME="methods"></a>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Methods" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Methods</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.TabWidget.getChildTabViewAt_added(int)"></A>
+  <nobr><code>View</code>&nbsp;<A HREF="../../../../reference/android/widget/TabWidget.html#getChildTabViewAt(int)" target="_top"><code>getChildTabViewAt</code></A>(<code>int</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.TabWidget.getTabCount_added()"></A>
+  <nobr><code>int</code>&nbsp;<A HREF="../../../../reference/android/widget/TabWidget.html#getTabCount()" target="_top"><code>getTabCount</code></A>()</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.TabWidget.setDividerDrawable_added(android.graphics.drawable.Drawable)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/TabWidget.html#setDividerDrawable(android.graphics.drawable.Drawable)" target="_top"><code>setDividerDrawable</code></A>(<code>Drawable</code>)</nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.widget.TabWidget.setDividerDrawable_added(int)"></A>
+  <nobr><code>void</code>&nbsp;<A HREF="../../../../reference/android/widget/TabWidget.html#setDividerDrawable(int)" target="_top"><code>setDividerDrawable</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/4/changes/changes-summary.html b/docs/html/sdk/api_diff/4/changes/changes-summary.html
new file mode 100644
index 0000000..d4b794c
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/changes-summary.html
@@ -0,0 +1,352 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are 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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End 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 API Level 
+specifications. It shows additions, modifications, and removals for packages, classes, methods, and fields. 
+The report also includes general statistics that characterize the extent and type of the differences.</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.accessibilityservice"></A>
+  <nobr><A HREF="../../../../reference/android/accessibilityservice/package-summary.html" target="_top"><code>android.accessibilityservice</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.gesture"></A>
+  <nobr><A HREF="../../../../reference/android/gesture/package-summary.html" target="_top"><code>android.gesture</code></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="../../../../reference/android/speech/tts/package-summary.html" target="_top"><code>android.speech.tts</code></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="../../../../reference/android/view/accessibility/package-summary.html" target="_top"><code>android.view.accessibility</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.app"></A>
+  <nobr><A HREF="pkg_android.app.html">android.app</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content"></A>
+  <nobr><A HREF="pkg_android.content.html">android.content</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.pm"></A>
+  <nobr><A HREF="pkg_android.content.pm.html">android.content.pm</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.content.res"></A>
+  <nobr><A HREF="pkg_android.content.res.html">android.content.res</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.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.graphics.drawable"></A>
+  <nobr><A HREF="pkg_android.graphics.drawable.html">android.graphics.drawable</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.location"></A>
+  <nobr><A HREF="pkg_android.location.html">android.location</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.media"></A>
+  <nobr><A HREF="pkg_android.media.html">android.media</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.net.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.opengl"></A>
+  <nobr><A HREF="pkg_android.opengl.html">android.opengl</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.os"></A>
+  <nobr><A HREF="pkg_android.os.html">android.os</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.provider"></A>
+  <nobr><A HREF="pkg_android.provider.html">android.provider</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony"></A>
+  <nobr><A HREF="pkg_android.telephony.html">android.telephony</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.telephony.gsm"></A>
+  <nobr><A HREF="pkg_android.telephony.gsm.html">android.telephony.gsm</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.test"></A>
+  <nobr><A HREF="pkg_android.test.html">android.test</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.test.mock"></A>
+  <nobr><A HREF="pkg_android.test.mock.html">android.test.mock</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.text.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.animation"></A>
+  <nobr><A HREF="pkg_android.view.animation.html">android.view.animation</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="android.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="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.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.util"></A>
+  <nobr><A HREF="pkg_java.util.html">java.util</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/4/changes/classes_index_additions.html b/docs/html/sdk/api_diff/4/changes/classes_index_additions.html
new file mode 100644
index 0000000..8100cfc
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/classes_index_additions.html
@@ -0,0 +1,189 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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>
+<A HREF="classes_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<b>Additions</b>
+  <br>
+<A HREF="classes_index_changes.html"xclass="hiddenlink">Changes</A>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption">
+<font size="-2"><strong>Bold</strong>&nbsp;indicates&nbsp;New;&nbsp;<strike>Strike</strike>&nbsp;indicates&nbsp;deleted. Plain indicates changed.</font>
+</div>
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#G"><font size="-2">G</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="#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.graphics.drawable.html#Animatable" class="hiddenlink" target="rightframe"><b><i>Animatable</i></b></A><br>
+<A HREF="pkg_android.view.animation.html#AnticipateInterpolator" class="hiddenlink" target="rightframe"><b>AnticipateInterpolator</b></A><br>
+<A HREF="pkg_android.view.animation.html#AnticipateOvershootInterpolator" class="hiddenlink" target="rightframe"><b>AnticipateOvershootInterpolator</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="#G"><font size="-2">G</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="#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.view.animation.html#BounceInterpolator" class="hiddenlink" target="rightframe"><b>BounceInterpolator</b></A><br>
+<A HREF="pkg_android.os.html#Build.VERSION_CODES" class="hiddenlink" target="rightframe"><b>Build.VERSION_CODES</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="#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="#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.opengl.html#GLES10" class="hiddenlink" target="rightframe"><b>GLES10</b></A><br>
+<A HREF="pkg_android.opengl.html#GLES10Ext" class="hiddenlink" target="rightframe"><b>GLES10Ext</b></A><br>
+<A HREF="pkg_android.opengl.html#GLES11" class="hiddenlink" target="rightframe"><b>GLES11</b></A><br>
+<A HREF="pkg_android.opengl.html#GLES11Ext" class="hiddenlink" target="rightframe"><b>GLES11Ext</b></A><br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#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.content.html#IntentSender" class="hiddenlink" target="rightframe"><b>IntentSender</b></A><br>
+<A HREF="pkg_android.content.html#IntentSender.OnFinished" class="hiddenlink" target="rightframe"><b><i>IntentSender.OnFinished</i></b></A><br>
+<A HREF="pkg_android.content.html#IntentSender.SendIntentException" class="hiddenlink" target="rightframe"><b>IntentSender.SendIntentException</b></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="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#P"><font size="-2">P</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.view.animation.html#OvershootInterpolator" class="hiddenlink" target="rightframe"><b>OvershootInterpolator</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="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#O"><font size="-2">O</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.content.pm.html#PathPermission" class="hiddenlink" target="rightframe"><b>PathPermission</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="#G"><font size="-2">G</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="#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.telephony.html#SmsManager" class="hiddenlink" target="rightframe"><b>SmsManager</b></A><br>
+<A HREF="pkg_android.telephony.html#SmsMessage" class="hiddenlink" target="rightframe"><b>SmsMessage</b></A><br>
+<A HREF="pkg_android.telephony.html#SmsMessage.MessageClass" class="hiddenlink" target="rightframe"><b>SmsMessage.MessageClass</b></A><br>
+<A HREF="pkg_android.telephony.html#SmsMessage.SubmitPdu" class="hiddenlink" target="rightframe"><b>SmsMessage.SubmitPdu</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="#G"><font size="-2">G</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="#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">
+<A HREF="pkg_android.view.html#ViewDebug.FlagToString" class="hiddenlink" target="rightframe"><b>ViewDebug.FlagToString</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="#G"><font size="-2">G</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="#S"><font size="-2">S</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#WifiManager.MulticastLock" class="hiddenlink" target="rightframe"><b>WifiManager.MulticastLock</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/4/changes/classes_index_all.html b/docs/html/sdk/api_diff/4/changes/classes_index_all.html
new file mode 100644
index 0000000..667a433
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/classes_index_all.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>
+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>
+<A HREF="classes_index_removals.html" xclass="hiddenlink">Removals</A>
+  <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">
+<font size="-2"><strong>Bold</strong>&nbsp;indicates&nbsp;New;&nbsp;<strike>Strike</strike>&nbsp;indicates&nbsp;deleted. Plain indicates changed.</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="#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="#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.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.location.Address.html" class="hiddenlink" target="rightframe">Address</A><br>
+<A HREF="android.test.AndroidTestCase.html" class="hiddenlink" target="rightframe">AndroidTestCase</A><br>
+<A HREF="pkg_android.graphics.drawable.html#Animatable" class="hiddenlink" target="rightframe"><b><i>Animatable</i></b></A><br>
+<A HREF="android.graphics.drawable.AnimationDrawable.html" class="hiddenlink" target="rightframe">AnimationDrawable</A><br>
+<A HREF="pkg_android.view.animation.html#AnticipateInterpolator" class="hiddenlink" target="rightframe"><b>AnticipateInterpolator</b></A><br>
+<A HREF="pkg_android.view.animation.html#AnticipateOvershootInterpolator" class="hiddenlink" target="rightframe"><b>AnticipateOvershootInterpolator</b></A><br>
+<A HREF="android.content.pm.ApplicationInfo.html" class="hiddenlink" target="rightframe">ApplicationInfo</A><br>
+<A HREF="android.media.AudioManager.html" class="hiddenlink" target="rightframe">AudioManager</A><br>
+<A HREF="android.widget.AutoCompleteTextView.html" class="hiddenlink" target="rightframe">AutoCompleteTextView</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="#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="#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.graphics.Bitmap.html" class="hiddenlink" target="rightframe">Bitmap</A><br>
+<A HREF="android.graphics.drawable.BitmapDrawable.html" class="hiddenlink" target="rightframe">BitmapDrawable</A><br>
+<A HREF="android.graphics.BitmapFactory.html" class="hiddenlink" target="rightframe">BitmapFactory</A><br>
+<A HREF="android.graphics.BitmapFactory.Options.html" class="hiddenlink" target="rightframe">BitmapFactory.Options</A><br>
+<A HREF="pkg_android.view.animation.html#BounceInterpolator" class="hiddenlink" target="rightframe"><b>BounceInterpolator</b></A><br>
+<A HREF="android.os.Build.html" class="hiddenlink" target="rightframe">Build</A><br>
+<A HREF="android.os.Build.VERSION.html" class="hiddenlink" target="rightframe">Build.VERSION</A><br>
+<A HREF="pkg_android.os.html#Build.VERSION_CODES" class="hiddenlink" target="rightframe"><b>Build.VERSION_CODES</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="#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="#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.graphics.Canvas.html" class="hiddenlink" target="rightframe">Canvas</A><br>
+<A HREF="android.widget.CheckedTextView.html" class="hiddenlink" target="rightframe">CheckedTextView</A><br>
+<A HREF="android.content.ComponentName.html" class="hiddenlink" target="rightframe">ComponentName</A><br>
+<A HREF="android.util.Config.html" class="hiddenlink" target="rightframe">Config</A><br>
+<A HREF="android.content.res.Configuration.html" class="hiddenlink" target="rightframe">Configuration</A><br>
+<A HREF="android.content.pm.ConfigurationInfo.html" class="hiddenlink" target="rightframe">ConfigurationInfo</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 HREF="android.content.ContextWrapper.html" class="hiddenlink" target="rightframe">ContextWrapper</A><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#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="#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.util.Date.html" class="hiddenlink" target="rightframe">Date</A><br>
+<A HREF="android.app.Dialog.html" class="hiddenlink" target="rightframe">Dialog</A><br>
+<A HREF="android.util.DisplayMetrics.html" class="hiddenlink" target="rightframe">DisplayMetrics</A><br>
+<A HREF="android.graphics.drawable.Drawable.html" class="hiddenlink" target="rightframe">Drawable</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="#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="pkg_android.opengl.html#GLES10" class="hiddenlink" target="rightframe"><b>GLES10</b></A><br>
+<A HREF="pkg_android.opengl.html#GLES10Ext" class="hiddenlink" target="rightframe"><b>GLES10Ext</b></A><br>
+<A HREF="pkg_android.opengl.html#GLES11" class="hiddenlink" target="rightframe"><b>GLES11</b></A><br>
+<A HREF="pkg_android.opengl.html#GLES11Ext" class="hiddenlink" target="rightframe"><b>GLES11Ext</b></A><br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#G"><font size="-2">G</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="android.text.style.ImageSpan.html" class="hiddenlink" target="rightframe">ImageSpan</A><br>
+<A HREF="android.content.Intent.html" class="hiddenlink" target="rightframe">Intent</A><br>
+<A HREF="pkg_android.content.html#IntentSender" class="hiddenlink" target="rightframe"><b>IntentSender</b></A><br>
+<A HREF="pkg_android.content.html#IntentSender.OnFinished" class="hiddenlink" target="rightframe"><b><i>IntentSender.OnFinished</i></b></A><br>
+<A HREF="pkg_android.content.html#IntentSender.SendIntentException" class="hiddenlink" target="rightframe"><b>IntentSender.SendIntentException</b></A><br>
+<A HREF="pkg_android.content.pm.html#IPackageInstallObserver" class="hiddenlink" target="rightframe"><strike>IPackageInstallObserver</strike></A><br>
+<A HREF="pkg_android.content.pm.html#IPackageInstallObserver.Stub" class="hiddenlink" target="rightframe"><strike>IPackageInstallObserver.Stub</strike></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="#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="#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.inputmethodservice.KeyboardView.html" class="hiddenlink" target="rightframe">KeyboardView</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="#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="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-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="android.app.LauncherActivity.html" class="hiddenlink" target="rightframe">LauncherActivity</A><br>
+<A HREF="android.app.LauncherActivity.ListItem.html" class="hiddenlink" target="rightframe">LauncherActivity.ListItem</A><br>
+<A HREF="android.widget.ListView.html" class="hiddenlink" target="rightframe">ListView</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="#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="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-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="android.Manifest.permission.html" class="hiddenlink" target="rightframe">Manifest.permission</A><br>
+<A HREF="android.Manifest.permission_group.html" class="hiddenlink" target="rightframe">Manifest.permission_group</A><br>
+<A HREF="android.media.MediaRecorder.html" class="hiddenlink" target="rightframe">MediaRecorder</A><br>
+<A HREF="android.media.MediaRecorder.AudioSource.html" class="hiddenlink" target="rightframe">MediaRecorder.AudioSource</A><br>
+<A HREF="android.provider.MediaStore.Audio.Genres.Members.html" class="hiddenlink" target="rightframe">MediaStore.Audio.Genres.Members</A><br>
+<A HREF="android.provider.MediaStore.Audio.Media.html" class="hiddenlink" target="rightframe">MediaStore.Audio.Media</A><br>
+<A HREF="android.test.mock.MockContext.html" class="hiddenlink" target="rightframe">MockContext</A><br>
+<A HREF="android.test.mock.MockPackageManager.html" class="hiddenlink" target="rightframe">MockPackageManager</A><br>
+<A 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="#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="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-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="android.graphics.NinePatch.html" class="hiddenlink" target="rightframe">NinePatch</A><br>
+<A HREF="android.graphics.drawable.NinePatchDrawable.html" class="hiddenlink" target="rightframe">NinePatchDrawable</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="#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="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-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.animation.html#OvershootInterpolator" class="hiddenlink" target="rightframe"><b>OvershootInterpolator</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="#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="#R"><font size="-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="android.content.pm.PackageManager.html" class="hiddenlink" target="rightframe">PackageManager</A><br>
+<A HREF="pkg_android.content.pm.html#PathPermission" class="hiddenlink" target="rightframe"><b>PathPermission</b></A><br>
+<A HREF="android.app.PendingIntent.html" class="hiddenlink" target="rightframe">PendingIntent</A><br>
+<A HREF="android.widget.PopupWindow.html" class="hiddenlink" target="rightframe">PopupWindow</A><br>
+<A HREF="android.content.pm.ProviderInfo.html" class="hiddenlink" target="rightframe">ProviderInfo</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="#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="#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="android.R.anim.html" class="hiddenlink" target="rightframe">R.anim</A><br>
+<A HREF="android.R.array.html" class="hiddenlink" target="rightframe">R.array</A><br>
+<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.dimen.html" class="hiddenlink" target="rightframe">R.dimen</A><br>
+<A HREF="android.R.drawable.html" class="hiddenlink" target="rightframe">R.drawable</A><br>
+<A HREF="android.R.id.html" class="hiddenlink" target="rightframe">R.id</A><br>
+<A HREF="android.R.integer.html" class="hiddenlink" target="rightframe">R.integer</A><br>
+<A HREF="android.R.layout.html" class="hiddenlink" target="rightframe">R.layout</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.os.RemoteCallbackList.html" class="hiddenlink" target="rightframe">RemoteCallbackList</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="#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="#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="android.app.SearchManager.html" class="hiddenlink" target="rightframe">SearchManager</A><br>
+<A HREF="android.hardware.SensorManager.html" class="hiddenlink" target="rightframe">SensorManager</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>
+<i>SmsManager</i><br>
+&nbsp;&nbsp;<A HREF="pkg_android.telephony.html#SmsManager" class="hiddenlink" target="rightframe"><b>android.telephony</b></A><br>
+&nbsp;&nbsp;<A HREF="android.telephony.gsm.SmsManager.html" class="hiddenlink" target="rightframe">android.telephony.gsm</A><br>
+<i>SmsMessage</i><br>
+&nbsp;&nbsp;<A HREF="pkg_android.telephony.html#SmsMessage" class="hiddenlink" target="rightframe"><b>android.telephony</b></A><br>
+&nbsp;&nbsp;<A HREF="android.telephony.gsm.SmsMessage.html" class="hiddenlink" target="rightframe">android.telephony.gsm</A><br>
+<i>SmsMessage.MessageClass</i><br>
+&nbsp;&nbsp;<A HREF="pkg_android.telephony.html#SmsMessage.MessageClass" class="hiddenlink" target="rightframe"><b>android.telephony</b></A><br>
+&nbsp;&nbsp;<A HREF="android.telephony.gsm.SmsMessage.MessageClass.html" class="hiddenlink" target="rightframe">android.telephony.gsm</A><br>
+<i>SmsMessage.SubmitPdu</i><br>
+&nbsp;&nbsp;<A HREF="pkg_android.telephony.html#SmsMessage.SubmitPdu" class="hiddenlink" target="rightframe"><b>android.telephony</b></A><br>
+&nbsp;&nbsp;<A HREF="android.telephony.gsm.SmsMessage.SubmitPdu.html" class="hiddenlink" target="rightframe">android.telephony.gsm</A><br>
+<A HREF="java.net.Socket.html" class="hiddenlink" target="rightframe">Socket</A><br>
+<A HREF="java.lang.String.html" class="hiddenlink" target="rightframe">String</A><br>
+<A HREF="android.view.Surface.html" class="hiddenlink" target="rightframe">Surface</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="#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="#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.TabHost.TabSpec.html" class="hiddenlink" target="rightframe">TabHost.TabSpec</A><br>
+<A HREF="android.widget.TabWidget.html" class="hiddenlink" target="rightframe">TabWidget</A><br>
+<A HREF="android.media.ToneGenerator.html" class="hiddenlink" target="rightframe">ToneGenerator</A><br>
+<A HREF="android.util.TypedValue.html" class="hiddenlink" target="rightframe">TypedValue</A><br>
+<A HREF="android.graphics.Typeface.html" class="hiddenlink" target="rightframe">Typeface</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="#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="#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.VelocityTracker.html" class="hiddenlink" target="rightframe">VelocityTracker</A><br>
+<A HREF="android.view.View.html" class="hiddenlink" target="rightframe">View</A><br>
+<A HREF="android.view.ViewConfiguration.html" class="hiddenlink" target="rightframe">ViewConfiguration</A><br>
+<A HREF="pkg_android.view.html#ViewDebug.FlagToString" class="hiddenlink" target="rightframe"><b>ViewDebug.FlagToString</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="#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="#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.net.wifi.WifiManager.html" class="hiddenlink" target="rightframe">WifiManager</A><br>
+<A HREF="pkg_android.net.wifi.html#WifiManager.MulticastLock" class="hiddenlink" target="rightframe"><b>WifiManager.MulticastLock</b></A><br>
+<A HREF="android.view.Window.Callback.html" class="hiddenlink" target="rightframe"><i>Window.Callback</i></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/4/changes/classes_index_changes.html b/docs/html/sdk/api_diff/4/changes/classes_index_changes.html
new file mode 100644
index 0000000..246e64b
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/classes_index_changes.html
@@ -0,0 +1,411 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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>
+<A HREF="classes_index_removals.html" xclass="hiddenlink">Removals</A>
+  <br>
+<A HREF="classes_index_additions.html"xclass="hiddenlink">Additions</A>
+  <br>
+<b>Changes</b>
+  </td>
+  </tr>
+</table>
+<div id="indexTableCaption">
+<font size="-2"><strong>Bold</strong>&nbsp;indicates&nbsp;New;&nbsp;<strike>Strike</strike>&nbsp;indicates&nbsp;deleted. Plain indicates changed.</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="#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="#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.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.location.Address.html" class="hiddenlink" target="rightframe">Address</A><br>
+<A HREF="android.test.AndroidTestCase.html" class="hiddenlink" target="rightframe">AndroidTestCase</A><br>
+<A HREF="android.graphics.drawable.AnimationDrawable.html" class="hiddenlink" target="rightframe">AnimationDrawable</A><br>
+<A HREF="android.content.pm.ApplicationInfo.html" class="hiddenlink" target="rightframe">ApplicationInfo</A><br>
+<A HREF="android.media.AudioManager.html" class="hiddenlink" target="rightframe">AudioManager</A><br>
+<A HREF="android.widget.AutoCompleteTextView.html" class="hiddenlink" target="rightframe">AutoCompleteTextView</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="#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="#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.graphics.Bitmap.html" class="hiddenlink" target="rightframe">Bitmap</A><br>
+<A HREF="android.graphics.drawable.BitmapDrawable.html" class="hiddenlink" target="rightframe">BitmapDrawable</A><br>
+<A HREF="android.graphics.BitmapFactory.html" class="hiddenlink" target="rightframe">BitmapFactory</A><br>
+<A HREF="android.graphics.BitmapFactory.Options.html" class="hiddenlink" target="rightframe">BitmapFactory.Options</A><br>
+<A HREF="android.os.Build.html" class="hiddenlink" target="rightframe">Build</A><br>
+<A HREF="android.os.Build.VERSION.html" class="hiddenlink" target="rightframe">Build.VERSION</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="#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="#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.graphics.Canvas.html" class="hiddenlink" target="rightframe">Canvas</A><br>
+<A HREF="android.widget.CheckedTextView.html" class="hiddenlink" target="rightframe">CheckedTextView</A><br>
+<A HREF="android.content.ComponentName.html" class="hiddenlink" target="rightframe">ComponentName</A><br>
+<A HREF="android.util.Config.html" class="hiddenlink" target="rightframe">Config</A><br>
+<A HREF="android.content.res.Configuration.html" class="hiddenlink" target="rightframe">Configuration</A><br>
+<A HREF="android.content.pm.ConfigurationInfo.html" class="hiddenlink" target="rightframe">ConfigurationInfo</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 HREF="android.content.ContextWrapper.html" class="hiddenlink" target="rightframe">ContextWrapper</A><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#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="#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.util.Date.html" class="hiddenlink" target="rightframe">Date</A><br>
+<A HREF="android.app.Dialog.html" class="hiddenlink" target="rightframe">Dialog</A><br>
+<A HREF="android.util.DisplayMetrics.html" class="hiddenlink" target="rightframe">DisplayMetrics</A><br>
+<A HREF="android.graphics.drawable.Drawable.html" class="hiddenlink" target="rightframe">Drawable</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="#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="#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.style.ImageSpan.html" class="hiddenlink" target="rightframe">ImageSpan</A><br>
+<A HREF="android.content.Intent.html" class="hiddenlink" target="rightframe">Intent</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="#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="#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.inputmethodservice.KeyboardView.html" class="hiddenlink" target="rightframe">KeyboardView</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="#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="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-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="android.app.LauncherActivity.html" class="hiddenlink" target="rightframe">LauncherActivity</A><br>
+<A HREF="android.app.LauncherActivity.ListItem.html" class="hiddenlink" target="rightframe">LauncherActivity.ListItem</A><br>
+<A HREF="android.widget.ListView.html" class="hiddenlink" target="rightframe">ListView</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="#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="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-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="android.Manifest.permission.html" class="hiddenlink" target="rightframe">Manifest.permission</A><br>
+<A HREF="android.Manifest.permission_group.html" class="hiddenlink" target="rightframe">Manifest.permission_group</A><br>
+<A HREF="android.media.MediaRecorder.html" class="hiddenlink" target="rightframe">MediaRecorder</A><br>
+<A HREF="android.media.MediaRecorder.AudioSource.html" class="hiddenlink" target="rightframe">MediaRecorder.AudioSource</A><br>
+<A HREF="android.provider.MediaStore.Audio.Genres.Members.html" class="hiddenlink" target="rightframe">MediaStore.Audio.Genres.Members</A><br>
+<A HREF="android.provider.MediaStore.Audio.Media.html" class="hiddenlink" target="rightframe">MediaStore.Audio.Media</A><br>
+<A HREF="android.test.mock.MockContext.html" class="hiddenlink" target="rightframe">MockContext</A><br>
+<A HREF="android.test.mock.MockPackageManager.html" class="hiddenlink" target="rightframe">MockPackageManager</A><br>
+<A 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="#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="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-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="android.graphics.NinePatch.html" class="hiddenlink" target="rightframe">NinePatch</A><br>
+<A HREF="android.graphics.drawable.NinePatchDrawable.html" class="hiddenlink" target="rightframe">NinePatchDrawable</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="#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="#R"><font size="-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="android.content.pm.PackageManager.html" class="hiddenlink" target="rightframe">PackageManager</A><br>
+<A HREF="android.app.PendingIntent.html" class="hiddenlink" target="rightframe">PendingIntent</A><br>
+<A HREF="android.widget.PopupWindow.html" class="hiddenlink" target="rightframe">PopupWindow</A><br>
+<A HREF="android.content.pm.ProviderInfo.html" class="hiddenlink" target="rightframe">ProviderInfo</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="#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="#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="android.R.anim.html" class="hiddenlink" target="rightframe">R.anim</A><br>
+<A HREF="android.R.array.html" class="hiddenlink" target="rightframe">R.array</A><br>
+<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.dimen.html" class="hiddenlink" target="rightframe">R.dimen</A><br>
+<A HREF="android.R.drawable.html" class="hiddenlink" target="rightframe">R.drawable</A><br>
+<A HREF="android.R.id.html" class="hiddenlink" target="rightframe">R.id</A><br>
+<A HREF="android.R.integer.html" class="hiddenlink" target="rightframe">R.integer</A><br>
+<A HREF="android.R.layout.html" class="hiddenlink" target="rightframe">R.layout</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.os.RemoteCallbackList.html" class="hiddenlink" target="rightframe">RemoteCallbackList</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="#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="#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="android.app.SearchManager.html" class="hiddenlink" target="rightframe">SearchManager</A><br>
+<A HREF="android.hardware.SensorManager.html" class="hiddenlink" target="rightframe">SensorManager</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.telephony.gsm.SmsManager.html" class="hiddenlink" target="rightframe">SmsManager</A><br>
+<A HREF="android.telephony.gsm.SmsMessage.html" class="hiddenlink" target="rightframe">SmsMessage</A><br>
+<A HREF="android.telephony.gsm.SmsMessage.MessageClass.html" class="hiddenlink" target="rightframe">SmsMessage.MessageClass</A><br>
+<A HREF="android.telephony.gsm.SmsMessage.SubmitPdu.html" class="hiddenlink" target="rightframe">SmsMessage.SubmitPdu</A><br>
+<A HREF="java.net.Socket.html" class="hiddenlink" target="rightframe">Socket</A><br>
+<A HREF="java.lang.String.html" class="hiddenlink" target="rightframe">String</A><br>
+<A HREF="android.view.Surface.html" class="hiddenlink" target="rightframe">Surface</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="#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="#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.TabHost.TabSpec.html" class="hiddenlink" target="rightframe">TabHost.TabSpec</A><br>
+<A HREF="android.widget.TabWidget.html" class="hiddenlink" target="rightframe">TabWidget</A><br>
+<A HREF="android.media.ToneGenerator.html" class="hiddenlink" target="rightframe">ToneGenerator</A><br>
+<A HREF="android.util.TypedValue.html" class="hiddenlink" target="rightframe">TypedValue</A><br>
+<A HREF="android.graphics.Typeface.html" class="hiddenlink" target="rightframe">Typeface</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="#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="#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.VelocityTracker.html" class="hiddenlink" target="rightframe">VelocityTracker</A><br>
+<A HREF="android.view.View.html" class="hiddenlink" target="rightframe">View</A><br>
+<A HREF="android.view.ViewConfiguration.html" class="hiddenlink" target="rightframe">ViewConfiguration</A><br>
+<A 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="#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="#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.net.wifi.WifiManager.html" class="hiddenlink" target="rightframe">WifiManager</A><br>
+<A HREF="android.view.Window.Callback.html" class="hiddenlink" target="rightframe"><i>Window.Callback</i></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/4/changes/classes_index_removals.html b/docs/html/sdk/api_diff/4/changes/classes_index_removals.html
new file mode 100644
index 0000000..f5cb9dd
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/classes_index_removals.html
@@ -0,0 +1,67 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+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>
+<b>Removals</b>
+  <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">
+<font size="-2"><strong>Bold</strong>&nbsp;indicates&nbsp;New;&nbsp;<strike>Strike</strike>&nbsp;indicates&nbsp;deleted. Plain indicates changed.</font>
+</div>
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<A HREF="pkg_android.content.pm.html#IPackageInstallObserver" class="hiddenlink" target="rightframe"><strike>IPackageInstallObserver</strike></A><br>
+<A HREF="pkg_android.content.pm.html#IPackageInstallObserver.Stub" class="hiddenlink" target="rightframe"><strike>IPackageInstallObserver.Stub</strike></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/4/changes/constructors_index_additions.html b/docs/html/sdk/api_diff/4/changes/constructors_index_additions.html
new file mode 100644
index 0000000..7d6ad75
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/constructors_index_additions.html
@@ -0,0 +1,94 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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">
+<font size="-2"><strong>Bold</strong>&nbsp;indicates&nbsp;New;&nbsp;<strike>Strike</strike>&nbsp;indicates&nbsp;deleted. Plain indicates changed.</font>
+</div>
+<A NAME="B"></A>
+<br><font size="+2">B</font>&nbsp;
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>BitmapDrawable</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.BitmapDrawable.html#android.graphics.drawable.BitmapDrawable.ctor_added(android.content.res.Resources)" class="hiddenlink" target="rightframe"><b>BitmapDrawable</b>
+(<code>Resources</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.BitmapDrawable.html#android.graphics.drawable.BitmapDrawable.ctor_added(android.content.res.Resources, android.graphics.Bitmap)" class="hiddenlink" target="rightframe"><b>BitmapDrawable</b>
+(<code>Resources, Bitmap</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>ImageSpan</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.style.ImageSpan.html#android.text.style.ImageSpan.ctor_added(android.content.Context, android.graphics.Bitmap)" class="hiddenlink" target="rightframe"><b>ImageSpan</b>
+(<code>Context, Bitmap</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.style.ImageSpan.html#android.text.style.ImageSpan.ctor_added(android.content.Context, android.graphics.Bitmap, int)" class="hiddenlink" target="rightframe"><b>ImageSpan</b>
+(<code>Context, Bitmap, int</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>NinePatchDrawable</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.NinePatchDrawable.html#android.graphics.drawable.NinePatchDrawable.ctor_added(android.content.res.Resources, android.graphics.Bitmap, byte[], android.graphics.Rect, java.lang.String)" class="hiddenlink" target="rightframe"><b>NinePatchDrawable</b>
+(<code>Resources, Bitmap, byte[], Rect, String</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.NinePatchDrawable.html#android.graphics.drawable.NinePatchDrawable.ctor_added(android.content.res.Resources, android.graphics.NinePatch)" class="hiddenlink" target="rightframe"><b>NinePatchDrawable</b>
+(<code>Resources, NinePatch</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/4/changes/constructors_index_all.html b/docs/html/sdk/api_diff/4/changes/constructors_index_all.html
new file mode 100644
index 0000000..87ed259
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/constructors_index_all.html
@@ -0,0 +1,159 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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">
+<font size="-2"><strong>Bold</strong>&nbsp;indicates&nbsp;New;&nbsp;<strike>Strike</strike>&nbsp;indicates&nbsp;deleted. Plain indicates changed.</font>
+</div>
+<A NAME="B"></A>
+<br><font size="+2">B</font>&nbsp;
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#I"><font size="-2">I</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">
+<i>BitmapDrawable</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.BitmapDrawable.html#android.graphics.drawable.BitmapDrawable.ctor_added(android.content.res.Resources)" class="hiddenlink" target="rightframe"><b>BitmapDrawable</b>
+(<code>Resources</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.BitmapDrawable.html#android.graphics.drawable.BitmapDrawable.ctor_added(android.content.res.Resources, android.graphics.Bitmap)" class="hiddenlink" target="rightframe"><b>BitmapDrawable</b>
+(<code>Resources, Bitmap</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.BitmapDrawable.html#android.graphics.drawable.BitmapDrawable.ctor_changed()" class="hiddenlink" target="rightframe">BitmapDrawable
+()</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.BitmapDrawable.html#android.graphics.drawable.BitmapDrawable.ctor_changed(android.graphics.Bitmap)" class="hiddenlink" target="rightframe">BitmapDrawable
+(<code>Bitmap</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#I"><font size="-2">I</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">
+<i>Date</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Date.html#java.util.Date.ctor_changed()" class="hiddenlink" target="rightframe">Date
+()</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Date.html#java.util.Date.ctor_changed(int, int, int, int, int, int)" class="hiddenlink" target="rightframe">Date
+(<code>int, int, int, int, int, int</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>ImageSpan</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.style.ImageSpan.html#android.text.style.ImageSpan.ctor_added(android.content.Context, android.graphics.Bitmap)" class="hiddenlink" target="rightframe"><b>ImageSpan</b>
+(<code>Context, Bitmap</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.style.ImageSpan.html#android.text.style.ImageSpan.ctor_added(android.content.Context, android.graphics.Bitmap, int)" class="hiddenlink" target="rightframe"><b>ImageSpan</b>
+(<code>Context, Bitmap, int</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.style.ImageSpan.html#android.text.style.ImageSpan.ctor_changed(android.graphics.Bitmap)" class="hiddenlink" target="rightframe">ImageSpan
+(<code>Bitmap</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.style.ImageSpan.html#android.text.style.ImageSpan.ctor_changed(android.graphics.Bitmap, int)" class="hiddenlink" target="rightframe">ImageSpan
+(<code>Bitmap, int</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#I"><font size="-2">I</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>NinePatchDrawable</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.NinePatchDrawable.html#android.graphics.drawable.NinePatchDrawable.ctor_added(android.content.res.Resources, android.graphics.Bitmap, byte[], android.graphics.Rect, java.lang.String)" class="hiddenlink" target="rightframe"><b>NinePatchDrawable</b>
+(<code>Resources, Bitmap, byte[], Rect, String</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.NinePatchDrawable.html#android.graphics.drawable.NinePatchDrawable.ctor_added(android.content.res.Resources, android.graphics.NinePatch)" class="hiddenlink" target="rightframe"><b>NinePatchDrawable</b>
+(<code>Resources, NinePatch</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.NinePatchDrawable.html#android.graphics.drawable.NinePatchDrawable.ctor_changed(android.graphics.Bitmap, byte[], android.graphics.Rect, java.lang.String)" class="hiddenlink" target="rightframe">NinePatchDrawable
+(<code>Bitmap, byte[], Rect, String</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.NinePatchDrawable.html#android.graphics.drawable.NinePatchDrawable.ctor_changed(android.graphics.NinePatch)" class="hiddenlink" target="rightframe">NinePatchDrawable
+(<code>NinePatch</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.ctor_changed()" class="hiddenlink" target="rightframe">SmsMessage
+()</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.SubmitPdu.html#android.telephony.gsm.SmsMessage.SubmitPdu.ctor_changed()" class="hiddenlink" target="rightframe">SmsMessage.SubmitPdu
+()</A></nobr>&nbsp;constructor<br>
+<i>Socket</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.net.Socket.html#java.net.Socket.ctor_changed()" class="hiddenlink" target="rightframe">Socket
+()</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="java.net.Socket.html#java.net.Socket.ctor_changed(java.lang.String, int)" class="hiddenlink" target="rightframe">Socket
+(<code>String, int</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="java.net.Socket.html#java.net.Socket.ctor_changed(java.lang.String, int, java.net.InetAddress, int)" class="hiddenlink" target="rightframe">Socket
+(<code>String, int, InetAddress, int</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="java.net.Socket.html#java.net.Socket.ctor_changed(java.net.Proxy)" class="hiddenlink" target="rightframe">Socket
+(<code>Proxy</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="java.net.Socket.html#java.net.Socket.ctor_changed(java.net.SocketImpl)" class="hiddenlink" target="rightframe">Socket
+(<code>SocketImpl</code>)</A></nobr>&nbsp;constructor<br>
+<i>String</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.String.html#java.lang.String.ctor_changed()" class="hiddenlink" target="rightframe">String
+()</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.String.html#java.lang.String.ctor_changed(byte[])" class="hiddenlink" target="rightframe">String
+(<code>byte[]</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.String.html#java.lang.String.ctor_changed(byte[], int)" class="hiddenlink" target="rightframe">String
+(<code>byte[], int</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.String.html#java.lang.String.ctor_changed(byte[], int, int)" class="hiddenlink" target="rightframe">String
+(<code>byte[], int, int</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.String.html#java.lang.String.ctor_changed(byte[], int, int, int)" class="hiddenlink" target="rightframe">String
+(<code>byte[], int, int, int</code>)</A></nobr>&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/4/changes/constructors_index_changes.html b/docs/html/sdk/api_diff/4/changes/constructors_index_changes.html
new file mode 100644
index 0000000..a61b76f
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/constructors_index_changes.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>
+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">
+<font size="-2"><strong>Bold</strong>&nbsp;indicates&nbsp;New;&nbsp;<strike>Strike</strike>&nbsp;indicates&nbsp;deleted. Plain indicates changed.</font>
+</div>
+<A NAME="B"></A>
+<br><font size="+2">B</font>&nbsp;
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#I"><font size="-2">I</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">
+<i>BitmapDrawable</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.BitmapDrawable.html#android.graphics.drawable.BitmapDrawable.ctor_changed()" class="hiddenlink" target="rightframe">BitmapDrawable
+()</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.BitmapDrawable.html#android.graphics.drawable.BitmapDrawable.ctor_changed(android.graphics.Bitmap)" class="hiddenlink" target="rightframe">BitmapDrawable
+(<code>Bitmap</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#I"><font size="-2">I</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">
+<i>Date</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Date.html#java.util.Date.ctor_changed()" class="hiddenlink" target="rightframe">Date
+()</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="java.util.Date.html#java.util.Date.ctor_changed(int, int, int, int, int, int)" class="hiddenlink" target="rightframe">Date
+(<code>int, int, int, int, int, int</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>ImageSpan</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.style.ImageSpan.html#android.text.style.ImageSpan.ctor_changed(android.graphics.Bitmap)" class="hiddenlink" target="rightframe">ImageSpan
+(<code>Bitmap</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="android.text.style.ImageSpan.html#android.text.style.ImageSpan.ctor_changed(android.graphics.Bitmap, int)" class="hiddenlink" target="rightframe">ImageSpan
+(<code>Bitmap, int</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="N"></A>
+<br><font size="+2">N</font>&nbsp;
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#I"><font size="-2">I</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>NinePatchDrawable</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.NinePatchDrawable.html#android.graphics.drawable.NinePatchDrawable.ctor_changed(android.graphics.Bitmap, byte[], android.graphics.Rect, java.lang.String)" class="hiddenlink" target="rightframe">NinePatchDrawable
+(<code>Bitmap, byte[], Rect, String</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.NinePatchDrawable.html#android.graphics.drawable.NinePatchDrawable.ctor_changed(android.graphics.NinePatch)" class="hiddenlink" target="rightframe">NinePatchDrawable
+(<code>NinePatch</code>)</A></nobr>&nbsp;constructor<br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.ctor_changed()" class="hiddenlink" target="rightframe">SmsMessage
+()</A></nobr>&nbsp;constructor<br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.SubmitPdu.html#android.telephony.gsm.SmsMessage.SubmitPdu.ctor_changed()" class="hiddenlink" target="rightframe">SmsMessage.SubmitPdu
+()</A></nobr>&nbsp;constructor<br>
+<i>Socket</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.net.Socket.html#java.net.Socket.ctor_changed()" class="hiddenlink" target="rightframe">Socket
+()</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="java.net.Socket.html#java.net.Socket.ctor_changed(java.lang.String, int)" class="hiddenlink" target="rightframe">Socket
+(<code>String, int</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="java.net.Socket.html#java.net.Socket.ctor_changed(java.lang.String, int, java.net.InetAddress, int)" class="hiddenlink" target="rightframe">Socket
+(<code>String, int, InetAddress, int</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="java.net.Socket.html#java.net.Socket.ctor_changed(java.net.Proxy)" class="hiddenlink" target="rightframe">Socket
+(<code>Proxy</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="java.net.Socket.html#java.net.Socket.ctor_changed(java.net.SocketImpl)" class="hiddenlink" target="rightframe">Socket
+(<code>SocketImpl</code>)</A></nobr>&nbsp;constructor<br>
+<i>String</i><br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.String.html#java.lang.String.ctor_changed()" class="hiddenlink" target="rightframe">String
+()</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.String.html#java.lang.String.ctor_changed(byte[])" class="hiddenlink" target="rightframe">String
+(<code>byte[]</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.String.html#java.lang.String.ctor_changed(byte[], int)" class="hiddenlink" target="rightframe">String
+(<code>byte[], int</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.String.html#java.lang.String.ctor_changed(byte[], int, int)" class="hiddenlink" target="rightframe">String
+(<code>byte[], int, int</code>)</A></nobr>&nbsp;constructor<br>
+&nbsp;&nbsp;<nobr><A HREF="java.lang.String.html#java.lang.String.ctor_changed(byte[], int, int, int)" class="hiddenlink" target="rightframe">String
+(<code>byte[], int, int, int</code>)</A></nobr>&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/4/changes/constructors_index_removals.html b/docs/html/sdk/api_diff/4/changes/constructors_index_removals.html
new file mode 100644
index 0000000..8110828
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/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">
+<font size="-2"><strong>Bold</strong>&nbsp;indicates&nbsp;New;&nbsp;<strike>Strike</strike>&nbsp;indicates&nbsp;deleted. Plain indicates changed.</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/4/changes/fields_index_additions.html b/docs/html/sdk/api_diff/4/changes/fields_index_additions.html
new file mode 100644
index 0000000..6a500b4
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/fields_index_additions.html
@@ -0,0 +1,1649 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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">
+<font size="-2"><strong>Bold</strong>&nbsp;indicates&nbsp;New;&nbsp;<strike>Strike</strike>&nbsp;indicates&nbsp;deleted. Plain indicates changed.</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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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.ACCESSIBILITY_ENABLED" class="hiddenlink" target="rightframe">ACCESSIBILITY_ENABLED</A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.ACCESSIBILITY_SERVICE" class="hiddenlink" target="rightframe">ACCESSIBILITY_SERVICE</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_BATTERY_OKAY" class="hiddenlink" target="rightframe">ACTION_BATTERY_OKAY</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_POWER_CONNECTED" class="hiddenlink" target="rightframe">ACTION_POWER_CONNECTED</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_POWER_DISCONNECTED" class="hiddenlink" target="rightframe">ACTION_POWER_DISCONNECTED</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_POWER_USAGE_SUMMARY" class="hiddenlink" target="rightframe">ACTION_POWER_USAGE_SUMMARY</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_SEND_MULTIPLE" class="hiddenlink" target="rightframe">ACTION_SEND_MULTIPLE</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_SHUTDOWN" class="hiddenlink" target="rightframe">ACTION_SHUTDOWN</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.allowBackup" class="hiddenlink" target="rightframe">allowBackup</A>
+</nobr><br>
+<nobr><A HREF="android.R.anim.html#android.R.anim.anticipate_interpolator" class="hiddenlink" target="rightframe">anticipate_interpolator</A>
+</nobr><br>
+<nobr><A HREF="android.R.anim.html#android.R.anim.anticipate_overshoot_interpolator" class="hiddenlink" target="rightframe">anticipate_overshoot_interpolator</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.anyDensity" class="hiddenlink" target="rightframe">anyDensity</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.autoUrlDetect" class="hiddenlink" target="rightframe">autoUrlDetect</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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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.backupAgent" class="hiddenlink" target="rightframe">backupAgent</A>
+</nobr><br>
+<nobr><A HREF="android.R.anim.html#android.R.anim.bounce_interpolator" class="hiddenlink" target="rightframe">bounce_interpolator</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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.CHANGE_WIFI_MULTICAST_STATE" class="hiddenlink" target="rightframe">CHANGE_WIFI_MULTICAST_STATE</A>
+</nobr><br>
+<nobr><A HREF="android.os.Build.VERSION.html#android.os.Build.VERSION.CODENAME" class="hiddenlink" target="rightframe">CODENAME</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ActivityInfo.html#android.content.pm.ActivityInfo.CONFIG_SCREEN_LAYOUT" class="hiddenlink" target="rightframe">CONFIG_SCREEN_LAYOUT</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.contentDescription" class="hiddenlink" target="rightframe">contentDescription</A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.CONTEXT_RESTRICTED" class="hiddenlink" target="rightframe">CONTEXT_RESTRICTED</A>
+</nobr><br>
+<nobr><A HREF="android.os.Build.html#android.os.Build.CPU_ABI" class="hiddenlink" target="rightframe">CPU_ABI</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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.util.TypedValue.html#android.util.TypedValue.density" class="hiddenlink" target="rightframe">density</A>
+</nobr><br>
+<i>DENSITY_DEFAULT</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.util.DisplayMetrics.html#android.util.DisplayMetrics.DENSITY_DEFAULT" class="hiddenlink" target="rightframe">android.util.DisplayMetrics</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.util.TypedValue.html#android.util.TypedValue.DENSITY_DEFAULT" class="hiddenlink" target="rightframe">android.util.TypedValue</A>
+</nobr><br>
+<nobr><A HREF="android.util.DisplayMetrics.html#android.util.DisplayMetrics.DENSITY_HIGH" class="hiddenlink" target="rightframe">DENSITY_HIGH</A>
+</nobr><br>
+<nobr><A HREF="android.util.DisplayMetrics.html#android.util.DisplayMetrics.DENSITY_LOW" class="hiddenlink" target="rightframe">DENSITY_LOW</A>
+</nobr><br>
+<nobr><A HREF="android.util.DisplayMetrics.html#android.util.DisplayMetrics.DENSITY_MEDIUM" class="hiddenlink" target="rightframe">DENSITY_MEDIUM</A>
+</nobr><br>
+<i>DENSITY_NONE</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.DENSITY_NONE" class="hiddenlink" target="rightframe">android.graphics.Bitmap</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.util.TypedValue.html#android.util.TypedValue.DENSITY_NONE" class="hiddenlink" target="rightframe">android.util.TypedValue</A>
+</nobr><br>
+<nobr><A HREF="android.util.DisplayMetrics.html#android.util.DisplayMetrics.densityDpi" class="hiddenlink" target="rightframe">densityDpi</A>
+</nobr><br>
+<i>donut_resource_pad1</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<i>donut_resource_pad10</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<i>donut_resource_pad11</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<i>donut_resource_pad12</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<i>donut_resource_pad13</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<i>donut_resource_pad14</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<i>donut_resource_pad15</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad15" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad15" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad15" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad15" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad15" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad15" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad15" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<i>donut_resource_pad16</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad16" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad16" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad16" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad16" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad16" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad16" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad16" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<i>donut_resource_pad17</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad17" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad17" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad17" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad17" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad17" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad17" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad17" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<i>donut_resource_pad18</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad18" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad18" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad18" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad18" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad18" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad18" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad18" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<i>donut_resource_pad19</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad19" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad19" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad19" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad19" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad19" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad19" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<i>donut_resource_pad2</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<i>donut_resource_pad20</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad20" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad20" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad20" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad20" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad20" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<i>donut_resource_pad21</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad21" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad21" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad21" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad21" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad21" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<i>donut_resource_pad22</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad22" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad22" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad22" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad22" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<i>donut_resource_pad23</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad23" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad23" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad23" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<i>donut_resource_pad24</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad24" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad24" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad24" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<i>donut_resource_pad25</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad25" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad25" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad25" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<i>donut_resource_pad26</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad26" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad26" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad26" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<i>donut_resource_pad27</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad27" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad27" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad27" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<i>donut_resource_pad28</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad28" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad28" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<i>donut_resource_pad29</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad29" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad29" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<i>donut_resource_pad3</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<i>donut_resource_pad30</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad30" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad30" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<i>donut_resource_pad31</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad31" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad31" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad32" class="hiddenlink" target="rightframe">donut_resource_pad32</A>
+</nobr><br>
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad33" class="hiddenlink" target="rightframe">donut_resource_pad33</A>
+</nobr><br>
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad34" class="hiddenlink" target="rightframe">donut_resource_pad34</A>
+</nobr><br>
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad35" class="hiddenlink" target="rightframe">donut_resource_pad35</A>
+</nobr><br>
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad36" class="hiddenlink" target="rightframe">donut_resource_pad36</A>
+</nobr><br>
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad37" class="hiddenlink" target="rightframe">donut_resource_pad37</A>
+</nobr><br>
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad38" class="hiddenlink" target="rightframe">donut_resource_pad38</A>
+</nobr><br>
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad39" class="hiddenlink" target="rightframe">donut_resource_pad39</A>
+</nobr><br>
+<i>donut_resource_pad4</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad40" class="hiddenlink" target="rightframe">donut_resource_pad40</A>
+</nobr><br>
+<i>donut_resource_pad5</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<i>donut_resource_pad6</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<i>donut_resource_pad7</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<i>donut_resource_pad8</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<i>donut_resource_pad9</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.dropDownHeight" class="hiddenlink" target="rightframe">dropDownHeight</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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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.ENABLED_ACCESSIBILITY_SERVICES" class="hiddenlink" target="rightframe">ENABLED_ACCESSIBILITY_SERVICES</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.eventsInterceptionEnabled" class="hiddenlink" target="rightframe">eventsInterceptionEnabled</A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.EXTRA_DATA_KEY" class="hiddenlink" target="rightframe">EXTRA_DATA_KEY</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.extraTension" class="hiddenlink" target="rightframe">extraTension</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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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.fadeDuration" class="hiddenlink" target="rightframe">fadeDuration</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.fadeEnabled" class="hiddenlink" target="rightframe">fadeEnabled</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.fadeOffset" class="hiddenlink" target="rightframe">fadeOffset</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.FILL_IN_PACKAGE" class="hiddenlink" target="rightframe">FILL_IN_PACKAGE</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_RESIZEABLE_FOR_SCREENS" class="hiddenlink" target="rightframe">FLAG_RESIZEABLE_FOR_SCREENS</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_SUPPORTS_LARGE_SCREENS" class="hiddenlink" target="rightframe">FLAG_SUPPORTS_LARGE_SCREENS</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_SUPPORTS_NORMAL_SCREENS" class="hiddenlink" target="rightframe">FLAG_SUPPORTS_NORMAL_SCREENS</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_SUPPORTS_SCREEN_DENSITIES" class="hiddenlink" target="rightframe">FLAG_SUPPORTS_SCREEN_DENSITIES</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_SUPPORTS_SMALL_SCREENS" class="hiddenlink" target="rightframe">FLAG_SUPPORTS_SMALL_SCREENS</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_TEST_ONLY" class="hiddenlink" target="rightframe">FLAG_TEST_ONLY</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_UPDATED_SYSTEM_APP" class="hiddenlink" target="rightframe">FLAG_UPDATED_SYSTEM_APP</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.FOCUSABLES_ALL" class="hiddenlink" target="rightframe">FOCUSABLES_ALL</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.FOCUSABLES_TOUCH_MODE" class="hiddenlink" target="rightframe">FOCUSABLES_TOUCH_MODE</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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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.gestureColor" class="hiddenlink" target="rightframe">gestureColor</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.gestureStrokeAngleThreshold" class="hiddenlink" target="rightframe">gestureStrokeAngleThreshold</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.gestureStrokeLengthThreshold" class="hiddenlink" target="rightframe">gestureStrokeLengthThreshold</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.gestureStrokeSquarenessThreshold" class="hiddenlink" target="rightframe">gestureStrokeSquarenessThreshold</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.gestureStrokeType" class="hiddenlink" target="rightframe">gestureStrokeType</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.gestureStrokeWidth" class="hiddenlink" target="rightframe">gestureStrokeWidth</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ConfigurationInfo.html#android.content.pm.ConfigurationInfo.GL_ES_VERSION_UNDEFINED" class="hiddenlink" target="rightframe">GL_ES_VERSION_UNDEFINED</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.glEsVersion" class="hiddenlink" target="rightframe">glEsVersion</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.GLOBAL_SEARCH" class="hiddenlink" target="rightframe">GLOBAL_SEARCH</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="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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.includeInGlobalSearch" class="hiddenlink" target="rightframe">includeInGlobalSearch</A>
+</nobr><br>
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.inDensity" class="hiddenlink" target="rightframe">inDensity</A>
+</nobr><br>
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.inInputShareable" class="hiddenlink" target="rightframe">inInputShareable</A>
+</nobr><br>
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.inPurgeable" class="hiddenlink" target="rightframe">inPurgeable</A>
+</nobr><br>
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.inScaled" class="hiddenlink" target="rightframe">inScaled</A>
+</nobr><br>
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.inScreenDensity" class="hiddenlink" target="rightframe">inScreenDensity</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.INSTALL_LOCATION_PROVIDER" class="hiddenlink" target="rightframe">INSTALL_LOCATION_PROVIDER</A>
+</nobr><br>
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.inTargetDensity" class="hiddenlink" target="rightframe">inTargetDensity</A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.INTENT_ACTION_SEARCH_SETTINGS_CHANGED" class="hiddenlink" target="rightframe">INTENT_ACTION_SEARCH_SETTINGS_CHANGED</A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.INTENT_ACTION_SEARCHABLES_CHANGED" class="hiddenlink" target="rightframe">INTENT_ACTION_SEARCHABLES_CHANGED</A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.INTENT_ACTION_WEB_SEARCH_SETTINGS" class="hiddenlink" target="rightframe">INTENT_ACTION_WEB_SEARCH_SETTINGS</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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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.largeScreens" class="hiddenlink" target="rightframe">largeScreens</A>
+</nobr><br>
+<nobr><A HREF="android.R.anim.html#android.R.anim.linear_interpolator" class="hiddenlink" target="rightframe">linear_interpolator</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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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.MANUFACTURER" class="hiddenlink" target="rightframe">MANUFACTURER</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.maxSdkVersion" class="hiddenlink" target="rightframe">maxSdkVersion</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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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.normalScreens" class="hiddenlink" target="rightframe">normalScreens</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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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.onClick" class="hiddenlink" target="rightframe">onClick</A>
+</nobr><br>
+<nobr><A HREF="android.R.anim.html#android.R.anim.overshoot_interpolator" class="hiddenlink" target="rightframe">overshoot_interpolator</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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.pm.ProviderInfo.html#android.content.pm.ProviderInfo.pathPermissions" class="hiddenlink" target="rightframe">pathPermissions</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.progressBarStyleInverse" class="hiddenlink" target="rightframe">progressBarStyleInverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.progressBarStyleLargeInverse" class="hiddenlink" target="rightframe">progressBarStyleLargeInverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.progressBarStyleSmallInverse" class="hiddenlink" target="rightframe">progressBarStyleSmallInverse</A>
+</nobr><br>
+<A NAME="Q"></A>
+<br><font size="+2">Q</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-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="#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.queryAfterZeroResults" class="hiddenlink" target="rightframe">queryAfterZeroResults</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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#S"><font size="-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.Manifest.permission.html#android.Manifest.permission.READ_HISTORY_BOOKMARKS" class="hiddenlink" target="rightframe">READ_HISTORY_BOOKMARKS</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ConfigurationInfo.html#android.content.pm.ConfigurationInfo.reqGlEsVersion" class="hiddenlink" target="rightframe">reqGlEsVersion</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.resizeable" class="hiddenlink" target="rightframe">resizeable</A>
+</nobr><br>
+<nobr><A HREF="android.app.LauncherActivity.ListItem.html#android.app.LauncherActivity.ListItem.resolveInfo" class="hiddenlink" target="rightframe">resolveInfo</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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.screenLayout" class="hiddenlink" target="rightframe">screenLayout</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_LONG_MASK" class="hiddenlink" target="rightframe">SCREENLAYOUT_LONG_MASK</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_LONG_NO" class="hiddenlink" target="rightframe">SCREENLAYOUT_LONG_NO</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_LONG_UNDEFINED" class="hiddenlink" target="rightframe">SCREENLAYOUT_LONG_UNDEFINED</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_LONG_YES" class="hiddenlink" target="rightframe">SCREENLAYOUT_LONG_YES</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_SIZE_LARGE" class="hiddenlink" target="rightframe">SCREENLAYOUT_SIZE_LARGE</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_SIZE_MASK" class="hiddenlink" target="rightframe">SCREENLAYOUT_SIZE_MASK</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_SIZE_NORMAL" class="hiddenlink" target="rightframe">SCREENLAYOUT_SIZE_NORMAL</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_SIZE_SMALL" class="hiddenlink" target="rightframe">SCREENLAYOUT_SIZE_SMALL</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_SIZE_UNDEFINED" class="hiddenlink" target="rightframe">SCREENLAYOUT_SIZE_UNDEFINED</A>
+</nobr><br>
+<nobr><A HREF="android.os.Build.VERSION.html#android.os.Build.VERSION.SDK_INT" class="hiddenlink" target="rightframe">SDK_INT</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.searchSettingsDescription" class="hiddenlink" target="rightframe">searchSettingsDescription</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.searchSuggestThreshold" class="hiddenlink" target="rightframe">searchSuggestThreshold</A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.SHORTCUT_MIME_TYPE" class="hiddenlink" target="rightframe">SHORTCUT_MIME_TYPE</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.System.html#android.provider.Settings.System.SHOW_WEB_SUGGESTIONS" class="hiddenlink" target="rightframe">SHOW_WEB_SUGGESTIONS</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.smallScreens" class="hiddenlink" target="rightframe">smallScreens</A>
+</nobr><br>
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.stat_sys_vp_phone_call" class="hiddenlink" target="rightframe">stat_sys_vp_phone_call</A>
+</nobr><br>
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.stat_sys_vp_phone_call_on_hold" class="hiddenlink" target="rightframe">stat_sys_vp_phone_call_on_hold</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission_group.html#android.Manifest.permission_group.STORAGE" class="hiddenlink" target="rightframe">STORAGE</A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.SUGGEST_COLUMN_INTENT_EXTRA_DATA" class="hiddenlink" target="rightframe">SUGGEST_COLUMN_INTENT_EXTRA_DATA</A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.SUGGEST_COLUMN_SHORTCUT_ID" class="hiddenlink" target="rightframe">SUGGEST_COLUMN_SHORTCUT_ID</A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.SUGGEST_COLUMN_SPINNER_WHILE_REFRESHING" class="hiddenlink" target="rightframe">SUGGEST_COLUMN_SPINNER_WHILE_REFRESHING</A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.SUGGEST_NEVER_MAKE_SHORTCUT" class="hiddenlink" target="rightframe">SUGGEST_NEVER_MAKE_SHORTCUT</A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.SUGGEST_URI_PATH_SHORTCUT" class="hiddenlink" target="rightframe">SUGGEST_URI_PATH_SHORTCUT</A>
+</nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.SURFACE_FROZEN" class="hiddenlink" target="rightframe">SURFACE_FROZEN</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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#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>targetSdkVersion</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.targetSdkVersion" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.targetSdkVersion" class="hiddenlink" target="rightframe">android.content.pm.ApplicationInfo</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.tension" class="hiddenlink" target="rightframe">tension</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.testOnly" class="hiddenlink" target="rightframe">testOnly</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.textColorPrimaryInverseDisableOnly" class="hiddenlink" target="rightframe">textColorPrimaryInverseDisableOnly</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ABBR_ALERT" class="hiddenlink" target="rightframe">TONE_CDMA_ABBR_ALERT</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ABBR_INTERCEPT" class="hiddenlink" target="rightframe">TONE_CDMA_ABBR_INTERCEPT</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ABBR_REORDER" class="hiddenlink" target="rightframe">TONE_CDMA_ABBR_REORDER</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ALERT_AUTOREDIAL_LITE" class="hiddenlink" target="rightframe">TONE_CDMA_ALERT_AUTOREDIAL_LITE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ALERT_CALL_GUARD" class="hiddenlink" target="rightframe">TONE_CDMA_ALERT_CALL_GUARD</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ALERT_INCALL_LITE" class="hiddenlink" target="rightframe">TONE_CDMA_ALERT_INCALL_LITE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ALERT_NETWORK_LITE" class="hiddenlink" target="rightframe">TONE_CDMA_ALERT_NETWORK_LITE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ANSWER" class="hiddenlink" target="rightframe">TONE_CDMA_ANSWER</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_INTERGROUP" class="hiddenlink" target="rightframe">TONE_CDMA_CALL_SIGNAL_ISDN_INTERGROUP</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_NORMAL" class="hiddenlink" target="rightframe">TONE_CDMA_CALL_SIGNAL_ISDN_NORMAL</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_PAT3" class="hiddenlink" target="rightframe">TONE_CDMA_CALL_SIGNAL_ISDN_PAT3</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_PAT5" class="hiddenlink" target="rightframe">TONE_CDMA_CALL_SIGNAL_ISDN_PAT5</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_PAT6" class="hiddenlink" target="rightframe">TONE_CDMA_CALL_SIGNAL_ISDN_PAT6</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_PAT7" class="hiddenlink" target="rightframe">TONE_CDMA_CALL_SIGNAL_ISDN_PAT7</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_PING_RING" class="hiddenlink" target="rightframe">TONE_CDMA_CALL_SIGNAL_ISDN_PING_RING</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_SP_PRI" class="hiddenlink" target="rightframe">TONE_CDMA_CALL_SIGNAL_ISDN_SP_PRI</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALLDROP_LITE" class="hiddenlink" target="rightframe">TONE_CDMA_CALLDROP_LITE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CONFIRM" class="hiddenlink" target="rightframe">TONE_CDMA_CONFIRM</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_DIAL_TONE_LITE" class="hiddenlink" target="rightframe">TONE_CDMA_DIAL_TONE_LITE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_EMERGENCY_RINGBACK" class="hiddenlink" target="rightframe">TONE_CDMA_EMERGENCY_RINGBACK</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_L" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_L</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_PBX_L" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_PBX_L</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_PBX_S_X4" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_PBX_S_X4</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_PBX_SLS" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_PBX_SLS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_PBX_SS" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_PBX_SS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_PBX_SSL" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_PBX_SSL</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_S_X4" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_S_X4</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_SLS" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_SLS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_SS" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_SS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_SS_2" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_SS_2</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_SSL" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_SSL</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_INTERCEPT" class="hiddenlink" target="rightframe">TONE_CDMA_INTERCEPT</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_KEYPAD_VOLUME_KEY_LITE" class="hiddenlink" target="rightframe">TONE_CDMA_KEYPAD_VOLUME_KEY_LITE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_L" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_L</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_PBX_L" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_PBX_L</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_PBX_S_X4" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_PBX_S_X4</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_PBX_SLS" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_PBX_SLS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_PBX_SS" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_PBX_SS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_PBX_SSL" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_PBX_SSL</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_S_X4" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_S_X4</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_SLS" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_SLS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_SS" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_SS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_SS_2" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_SS_2</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_SSL" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_SSL</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_L" class="hiddenlink" target="rightframe">TONE_CDMA_MED_L</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_PBX_L" class="hiddenlink" target="rightframe">TONE_CDMA_MED_PBX_L</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_PBX_S_X4" class="hiddenlink" target="rightframe">TONE_CDMA_MED_PBX_S_X4</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_PBX_SLS" class="hiddenlink" target="rightframe">TONE_CDMA_MED_PBX_SLS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_PBX_SS" class="hiddenlink" target="rightframe">TONE_CDMA_MED_PBX_SS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_PBX_SSL" class="hiddenlink" target="rightframe">TONE_CDMA_MED_PBX_SSL</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_S_X4" class="hiddenlink" target="rightframe">TONE_CDMA_MED_S_X4</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_SLS" class="hiddenlink" target="rightframe">TONE_CDMA_MED_SLS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_SS" class="hiddenlink" target="rightframe">TONE_CDMA_MED_SS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_SS_2" class="hiddenlink" target="rightframe">TONE_CDMA_MED_SS_2</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_SSL" class="hiddenlink" target="rightframe">TONE_CDMA_MED_SSL</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_NETWORK_BUSY" class="hiddenlink" target="rightframe">TONE_CDMA_NETWORK_BUSY</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_NETWORK_BUSY_ONE_SHOT" class="hiddenlink" target="rightframe">TONE_CDMA_NETWORK_BUSY_ONE_SHOT</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_NETWORK_CALLWAITING" class="hiddenlink" target="rightframe">TONE_CDMA_NETWORK_CALLWAITING</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_NETWORK_USA_RINGBACK" class="hiddenlink" target="rightframe">TONE_CDMA_NETWORK_USA_RINGBACK</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ONE_MIN_BEEP" class="hiddenlink" target="rightframe">TONE_CDMA_ONE_MIN_BEEP</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_PIP" class="hiddenlink" target="rightframe">TONE_CDMA_PIP</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_PRESSHOLDKEY_LITE" class="hiddenlink" target="rightframe">TONE_CDMA_PRESSHOLDKEY_LITE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_REORDER" class="hiddenlink" target="rightframe">TONE_CDMA_REORDER</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_SIGNAL_OFF" class="hiddenlink" target="rightframe">TONE_CDMA_SIGNAL_OFF</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_SOFT_ERROR_LITE" class="hiddenlink" target="rightframe">TONE_CDMA_SOFT_ERROR_LITE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_SUP_CONFIRM" class="hiddenlink" target="rightframe">TONE_SUP_CONFIRM</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_SUP_CONGESTION_ABBREV" class="hiddenlink" target="rightframe">TONE_SUP_CONGESTION_ABBREV</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_SUP_INTERCEPT" class="hiddenlink" target="rightframe">TONE_SUP_INTERCEPT</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_SUP_INTERCEPT_ABBREV" class="hiddenlink" target="rightframe">TONE_SUP_INTERCEPT_ABBREV</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_SUP_PIP" class="hiddenlink" target="rightframe">TONE_SUP_PIP</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_PITCH" class="hiddenlink" target="rightframe">TTS_DEFAULT_PITCH</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.TTS_DEFAULT_RATE" class="hiddenlink" target="rightframe">TTS_DEFAULT_RATE</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.TTS_DEFAULT_SYNTH" class="hiddenlink" target="rightframe">TTS_DEFAULT_SYNTH</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>
+<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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#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.uncertainGestureColor" class="hiddenlink" target="rightframe">uncertainGestureColor</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.URI_INTENT_SCHEME" class="hiddenlink" target="rightframe">URI_INTENT_SCHEME</A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.USER_QUERY" class="hiddenlink" target="rightframe">USER_QUERY</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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.media.MediaRecorder.AudioSource.html#android.media.MediaRecorder.AudioSource.VOICE_CALL" class="hiddenlink" target="rightframe">VOICE_CALL</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaRecorder.AudioSource.html#android.media.MediaRecorder.AudioSource.VOICE_DOWNLINK" class="hiddenlink" target="rightframe">VOICE_DOWNLINK</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaRecorder.AudioSource.html#android.media.MediaRecorder.AudioSource.VOICE_UPLINK" class="hiddenlink" target="rightframe">VOICE_UPLINK</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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+ <a href="#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_ProgressBar_Inverse" class="hiddenlink" target="rightframe">Widget_ProgressBar_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_ProgressBar_Large_Inverse" class="hiddenlink" target="rightframe">Widget_ProgressBar_Large_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_ProgressBar_Small_Inverse" class="hiddenlink" target="rightframe">Widget_ProgressBar_Small_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.WRITE_EXTERNAL_STORAGE" class="hiddenlink" target="rightframe">WRITE_EXTERNAL_STORAGE</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.WRITE_HISTORY_BOOKMARKS" class="hiddenlink" target="rightframe">WRITE_HISTORY_BOOKMARKS</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/4/changes/fields_index_all.html b/docs/html/sdk/api_diff/4/changes/fields_index_all.html
new file mode 100644
index 0000000..db76778
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/fields_index_all.html
@@ -0,0 +1,1764 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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">
+<font size="-2"><strong>Bold</strong>&nbsp;indicates&nbsp;New;&nbsp;<strike>Strike</strike>&nbsp;indicates&nbsp;deleted. Plain indicates changed.</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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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.ACCESSIBILITY_ENABLED" class="hiddenlink" target="rightframe">ACCESSIBILITY_ENABLED</A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.ACCESSIBILITY_SERVICE" class="hiddenlink" target="rightframe">ACCESSIBILITY_SERVICE</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_BATTERY_OKAY" class="hiddenlink" target="rightframe">ACTION_BATTERY_OKAY</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_POWER_CONNECTED" class="hiddenlink" target="rightframe">ACTION_POWER_CONNECTED</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_POWER_DISCONNECTED" class="hiddenlink" target="rightframe">ACTION_POWER_DISCONNECTED</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_POWER_USAGE_SUMMARY" class="hiddenlink" target="rightframe">ACTION_POWER_USAGE_SUMMARY</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_SEND_MULTIPLE" class="hiddenlink" target="rightframe">ACTION_SEND_MULTIPLE</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.ACTION_SHUTDOWN" class="hiddenlink" target="rightframe">ACTION_SHUTDOWN</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.ADD_SYSTEM_SERVICE" class="hiddenlink" target="rightframe"><strike>ADD_SYSTEM_SERVICE</strike></A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.allowBackup" class="hiddenlink" target="rightframe">allowBackup</A>
+</nobr><br>
+<nobr><A HREF="android.R.anim.html#android.R.anim.anticipate_interpolator" class="hiddenlink" target="rightframe">anticipate_interpolator</A>
+</nobr><br>
+<nobr><A HREF="android.R.anim.html#android.R.anim.anticipate_overshoot_interpolator" class="hiddenlink" target="rightframe">anticipate_overshoot_interpolator</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.anyDensity" class="hiddenlink" target="rightframe">anyDensity</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.autoUrlDetect" class="hiddenlink" target="rightframe">autoUrlDetect</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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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.backupAgent" class="hiddenlink" target="rightframe">backupAgent</A>
+</nobr><br>
+<nobr><A HREF="android.R.anim.html#android.R.anim.bounce_interpolator" class="hiddenlink" target="rightframe">bounce_interpolator</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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.CHANGE_WIFI_MULTICAST_STATE" class="hiddenlink" target="rightframe">CHANGE_WIFI_MULTICAST_STATE</A>
+</nobr><br>
+<nobr><A HREF="android.os.Build.VERSION.html#android.os.Build.VERSION.CODENAME" class="hiddenlink" target="rightframe">CODENAME</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ActivityInfo.html#android.content.pm.ActivityInfo.CONFIG_SCREEN_LAYOUT" class="hiddenlink" target="rightframe">CONFIG_SCREEN_LAYOUT</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.contentDescription" class="hiddenlink" target="rightframe">contentDescription</A>
+</nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.CONTEXT_RESTRICTED" class="hiddenlink" target="rightframe">CONTEXT_RESTRICTED</A>
+</nobr><br>
+<nobr><A HREF="android.os.Build.html#android.os.Build.CPU_ABI" class="hiddenlink" target="rightframe">CPU_ABI</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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>DEFAULT_SORT_ORDER</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.provider.MediaStore.Audio.Genres.Members.html#android.provider.MediaStore.Audio.Genres.Members.DEFAULT_SORT_ORDER" class="hiddenlink" target="rightframe">android.provider.MediaStore.Audio.Genres.Members</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.provider.MediaStore.Audio.Media.html#android.provider.MediaStore.Audio.Media.DEFAULT_SORT_ORDER" class="hiddenlink" target="rightframe">android.provider.MediaStore.Audio.Media</A>
+</nobr><br>
+<nobr><A HREF="android.util.TypedValue.html#android.util.TypedValue.density" class="hiddenlink" target="rightframe">density</A>
+</nobr><br>
+<i>DENSITY_DEFAULT</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.util.DisplayMetrics.html#android.util.DisplayMetrics.DENSITY_DEFAULT" class="hiddenlink" target="rightframe">android.util.DisplayMetrics</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.util.TypedValue.html#android.util.TypedValue.DENSITY_DEFAULT" class="hiddenlink" target="rightframe">android.util.TypedValue</A>
+</nobr><br>
+<nobr><A HREF="android.util.DisplayMetrics.html#android.util.DisplayMetrics.DENSITY_HIGH" class="hiddenlink" target="rightframe">DENSITY_HIGH</A>
+</nobr><br>
+<nobr><A HREF="android.util.DisplayMetrics.html#android.util.DisplayMetrics.DENSITY_LOW" class="hiddenlink" target="rightframe">DENSITY_LOW</A>
+</nobr><br>
+<nobr><A HREF="android.util.DisplayMetrics.html#android.util.DisplayMetrics.DENSITY_MEDIUM" class="hiddenlink" target="rightframe">DENSITY_MEDIUM</A>
+</nobr><br>
+<i>DENSITY_NONE</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.DENSITY_NONE" class="hiddenlink" target="rightframe">android.graphics.Bitmap</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.util.TypedValue.html#android.util.TypedValue.DENSITY_NONE" class="hiddenlink" target="rightframe">android.util.TypedValue</A>
+</nobr><br>
+<nobr><A HREF="android.util.DisplayMetrics.html#android.util.DisplayMetrics.densityDpi" class="hiddenlink" target="rightframe">densityDpi</A>
+</nobr><br>
+<i>donut_resource_pad1</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad1" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<i>donut_resource_pad10</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad10" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<i>donut_resource_pad11</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad11" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<i>donut_resource_pad12</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad12" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<i>donut_resource_pad13</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad13" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<i>donut_resource_pad14</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad14" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<i>donut_resource_pad15</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad15" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad15" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad15" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad15" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad15" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad15" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad15" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<i>donut_resource_pad16</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad16" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad16" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad16" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad16" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad16" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad16" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad16" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<i>donut_resource_pad17</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad17" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad17" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad17" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad17" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad17" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad17" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad17" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<i>donut_resource_pad18</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad18" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad18" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad18" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad18" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad18" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad18" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad18" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<i>donut_resource_pad19</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad19" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad19" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad19" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad19" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad19" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad19" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<i>donut_resource_pad2</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad2" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<i>donut_resource_pad20</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad20" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad20" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad20" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad20" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad20" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<i>donut_resource_pad21</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad21" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad21" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad21" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad21" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad21" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<i>donut_resource_pad22</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad22" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad22" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad22" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad22" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<i>donut_resource_pad23</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad23" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad23" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad23" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<i>donut_resource_pad24</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad24" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad24" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad24" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<i>donut_resource_pad25</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad25" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad25" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad25" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<i>donut_resource_pad26</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad26" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad26" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad26" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<i>donut_resource_pad27</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad27" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad27" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad27" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+<i>donut_resource_pad28</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad28" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad28" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<i>donut_resource_pad29</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad29" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad29" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<i>donut_resource_pad3</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad3" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<i>donut_resource_pad30</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad30" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad30" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<i>donut_resource_pad31</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad31" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad31" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad32" class="hiddenlink" target="rightframe">donut_resource_pad32</A>
+</nobr><br>
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad33" class="hiddenlink" target="rightframe">donut_resource_pad33</A>
+</nobr><br>
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad34" class="hiddenlink" target="rightframe">donut_resource_pad34</A>
+</nobr><br>
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad35" class="hiddenlink" target="rightframe">donut_resource_pad35</A>
+</nobr><br>
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad36" class="hiddenlink" target="rightframe">donut_resource_pad36</A>
+</nobr><br>
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad37" class="hiddenlink" target="rightframe">donut_resource_pad37</A>
+</nobr><br>
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad38" class="hiddenlink" target="rightframe">donut_resource_pad38</A>
+</nobr><br>
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad39" class="hiddenlink" target="rightframe">donut_resource_pad39</A>
+</nobr><br>
+<i>donut_resource_pad4</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad4" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad40" class="hiddenlink" target="rightframe">donut_resource_pad40</A>
+</nobr><br>
+<i>donut_resource_pad5</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad5" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<i>donut_resource_pad6</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad6" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<i>donut_resource_pad7</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad7" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<i>donut_resource_pad8</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad8" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<i>donut_resource_pad9</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.anim.html#android.R.anim.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.anim</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.array.html#android.R.array.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.array</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.color.html#android.R.color.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.color</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.dimen.html#android.R.dimen.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.dimen</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.drawable</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.id.html#android.R.id.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.id</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.integer.html#android.R.integer.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.integer</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.layout.html#android.R.layout.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.layout</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.string.html#android.R.string.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.string</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.style.html#android.R.style.donut_resource_pad9" class="hiddenlink" target="rightframe">android.R.style</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.dropDownHeight" class="hiddenlink" target="rightframe">dropDownHeight</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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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.ENABLED_ACCESSIBILITY_SERVICES" class="hiddenlink" target="rightframe">ENABLED_ACCESSIBILITY_SERVICES</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.SubmitPdu.html#android.telephony.gsm.SmsMessage.SubmitPdu.encodedMessage" class="hiddenlink" target="rightframe">encodedMessage</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.SubmitPdu.html#android.telephony.gsm.SmsMessage.SubmitPdu.encodedScAddress" class="hiddenlink" target="rightframe">encodedScAddress</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.ENCODING_16BIT" class="hiddenlink" target="rightframe">ENCODING_16BIT</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.ENCODING_7BIT" class="hiddenlink" target="rightframe">ENCODING_7BIT</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.ENCODING_8BIT" class="hiddenlink" target="rightframe">ENCODING_8BIT</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.ENCODING_UNKNOWN" class="hiddenlink" target="rightframe">ENCODING_UNKNOWN</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.eventsInterceptionEnabled" class="hiddenlink" target="rightframe">eventsInterceptionEnabled</A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.EXTRA_DATA_KEY" class="hiddenlink" target="rightframe">EXTRA_DATA_KEY</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.extraTension" class="hiddenlink" target="rightframe">extraTension</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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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.fadeDuration" class="hiddenlink" target="rightframe">fadeDuration</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.fadeEnabled" class="hiddenlink" target="rightframe">fadeEnabled</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.fadeOffset" class="hiddenlink" target="rightframe">fadeOffset</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.FILL_IN_PACKAGE" class="hiddenlink" target="rightframe">FILL_IN_PACKAGE</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_RESIZEABLE_FOR_SCREENS" class="hiddenlink" target="rightframe">FLAG_RESIZEABLE_FOR_SCREENS</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_SUPPORTS_LARGE_SCREENS" class="hiddenlink" target="rightframe">FLAG_SUPPORTS_LARGE_SCREENS</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_SUPPORTS_NORMAL_SCREENS" class="hiddenlink" target="rightframe">FLAG_SUPPORTS_NORMAL_SCREENS</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_SUPPORTS_SCREEN_DENSITIES" class="hiddenlink" target="rightframe">FLAG_SUPPORTS_SCREEN_DENSITIES</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_SUPPORTS_SMALL_SCREENS" class="hiddenlink" target="rightframe">FLAG_SUPPORTS_SMALL_SCREENS</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_TEST_ONLY" class="hiddenlink" target="rightframe">FLAG_TEST_ONLY</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.FLAG_UPDATED_SYSTEM_APP" class="hiddenlink" target="rightframe">FLAG_UPDATED_SYSTEM_APP</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.FOCUSABLES_ALL" class="hiddenlink" target="rightframe">FOCUSABLES_ALL</A>
+</nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.FOCUSABLES_TOUCH_MODE" class="hiddenlink" target="rightframe">FOCUSABLES_TOUCH_MODE</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.FORWARD_LOCK_PACKAGE" class="hiddenlink" target="rightframe"><strike>FORWARD_LOCK_PACKAGE</strike></A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.FOTA_UPDATE" class="hiddenlink" target="rightframe"><strike>FOTA_UPDATE</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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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.gestureColor" class="hiddenlink" target="rightframe">gestureColor</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.gestureStrokeAngleThreshold" class="hiddenlink" target="rightframe">gestureStrokeAngleThreshold</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.gestureStrokeLengthThreshold" class="hiddenlink" target="rightframe">gestureStrokeLengthThreshold</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.gestureStrokeSquarenessThreshold" class="hiddenlink" target="rightframe">gestureStrokeSquarenessThreshold</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.gestureStrokeType" class="hiddenlink" target="rightframe">gestureStrokeType</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.gestureStrokeWidth" class="hiddenlink" target="rightframe">gestureStrokeWidth</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ConfigurationInfo.html#android.content.pm.ConfigurationInfo.GL_ES_VERSION_UNDEFINED" class="hiddenlink" target="rightframe">GL_ES_VERSION_UNDEFINED</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.glEsVersion" class="hiddenlink" target="rightframe">glEsVersion</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.GLOBAL_SEARCH" class="hiddenlink" target="rightframe">GLOBAL_SEARCH</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="#L"><font size="-2">L</font></a> 
+<a href="#M"><font size="-2">M</font></a> 
+<a href="#N"><font size="-2">N</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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.includeInGlobalSearch" class="hiddenlink" target="rightframe">includeInGlobalSearch</A>
+</nobr><br>
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.inDensity" class="hiddenlink" target="rightframe">inDensity</A>
+</nobr><br>
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.inInputShareable" class="hiddenlink" target="rightframe">inInputShareable</A>
+</nobr><br>
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.inPurgeable" class="hiddenlink" target="rightframe">inPurgeable</A>
+</nobr><br>
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.inScaled" class="hiddenlink" target="rightframe">inScaled</A>
+</nobr><br>
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.inScreenDensity" class="hiddenlink" target="rightframe">inScreenDensity</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_ALREADY_EXISTS" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_ALREADY_EXISTS</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_CONFLICTING_PROVIDER" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_CONFLICTING_PROVIDER</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_DEXOPT" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_DEXOPT</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_DUPLICATE_PACKAGE" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_DUPLICATE_PACKAGE</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_INSUFFICIENT_STORAGE" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_INSUFFICIENT_STORAGE</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_INVALID_APK" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_INVALID_APK</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_INVALID_URI" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_INVALID_URI</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_MISSING_SHARED_LIBRARY" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_MISSING_SHARED_LIBRARY</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_NO_SHARED_USER" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_NO_SHARED_USER</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_OLDER_SDK" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_OLDER_SDK</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_REPLACE_COULDNT_DELETE" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_REPLACE_COULDNT_DELETE</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_SHARED_USER_INCOMPATIBLE" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_SHARED_USER_INCOMPATIBLE</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_UPDATE_INCOMPATIBLE" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_UPDATE_INCOMPATIBLE</strike></A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.INSTALL_LOCATION_PROVIDER" class="hiddenlink" target="rightframe">INSTALL_LOCATION_PROVIDER</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_BAD_MANIFEST" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_BAD_MANIFEST</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_MANIFEST_EMPTY" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_MANIFEST_EMPTY</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_MANIFEST_MALFORMED" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_MANIFEST_MALFORMED</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_NO_CERTIFICATES" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_NO_CERTIFICATES</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_NOT_APK" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_NOT_APK</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_SUCCEEDED" class="hiddenlink" target="rightframe"><strike>INSTALL_SUCCEEDED</strike></A>
+</nobr><br>
+<nobr><A HREF="android.graphics.BitmapFactory.Options.html#android.graphics.BitmapFactory.Options.inTargetDensity" class="hiddenlink" target="rightframe">inTargetDensity</A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.INTENT_ACTION_SEARCH_SETTINGS_CHANGED" class="hiddenlink" target="rightframe">INTENT_ACTION_SEARCH_SETTINGS_CHANGED</A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.INTENT_ACTION_SEARCHABLES_CHANGED" class="hiddenlink" target="rightframe">INTENT_ACTION_SEARCHABLES_CHANGED</A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.INTENT_ACTION_WEB_SEARCH_SETTINGS" class="hiddenlink" target="rightframe">INTENT_ACTION_WEB_SEARCH_SETTINGS</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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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.largeScreens" class="hiddenlink" target="rightframe">largeScreens</A>
+</nobr><br>
+<nobr><A HREF="android.hardware.SensorManager.html#android.hardware.SensorManager.LIGHT_NO_MOON" class="hiddenlink" target="rightframe">LIGHT_NO_MOON</A>
+</nobr><br>
+<nobr><A HREF="android.R.anim.html#android.R.anim.linear_interpolator" class="hiddenlink" target="rightframe">linear_interpolator</A>
+</nobr><br>
+<nobr><A HREF="android.util.Config.html#android.util.Config.LOGD" class="hiddenlink" target="rightframe">LOGD</A>
+</nobr><br>
+<nobr><A HREF="android.util.Config.html#android.util.Config.LOGV" class="hiddenlink" target="rightframe">LOGV</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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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.MANUFACTURER" class="hiddenlink" target="rightframe">MANUFACTURER</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.MAX_USER_DATA_BYTES" class="hiddenlink" target="rightframe">MAX_USER_DATA_BYTES</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.MAX_USER_DATA_SEPTETS" class="hiddenlink" target="rightframe">MAX_USER_DATA_SEPTETS</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.MAX_USER_DATA_SEPTETS_WITH_HEADER" class="hiddenlink" target="rightframe">MAX_USER_DATA_SEPTETS_WITH_HEADER</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.maxSdkVersion" class="hiddenlink" target="rightframe">maxSdkVersion</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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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.normalScreens" class="hiddenlink" target="rightframe">normalScreens</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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#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.onClick" class="hiddenlink" target="rightframe">onClick</A>
+</nobr><br>
+<nobr><A HREF="android.R.anim.html#android.R.anim.overshoot_interpolator" class="hiddenlink" target="rightframe">overshoot_interpolator</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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.pm.ProviderInfo.html#android.content.pm.ProviderInfo.pathPermissions" class="hiddenlink" target="rightframe">pathPermissions</A>
+</nobr><br>
+<nobr><A HREF="android.util.Config.html#android.util.Config.PROFILE" class="hiddenlink" target="rightframe">PROFILE</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.progressBarStyleInverse" class="hiddenlink" target="rightframe">progressBarStyleInverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.progressBarStyleLargeInverse" class="hiddenlink" target="rightframe">progressBarStyleLargeInverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.progressBarStyleSmallInverse" class="hiddenlink" target="rightframe">progressBarStyleSmallInverse</A>
+</nobr><br>
+<A NAME="Q"></A>
+<br><font size="+2">Q</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-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="#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.queryAfterZeroResults" class="hiddenlink" target="rightframe">queryAfterZeroResults</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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#S"><font size="-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.Manifest.permission.html#android.Manifest.permission.READ_HISTORY_BOOKMARKS" class="hiddenlink" target="rightframe">READ_HISTORY_BOOKMARKS</A>
+</nobr><br>
+<nobr><A HREF="android.util.Config.html#android.util.Config.RELEASE" class="hiddenlink" target="rightframe">RELEASE</A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.REPLACE_EXISTING_PACKAGE" class="hiddenlink" target="rightframe"><strike>REPLACE_EXISTING_PACKAGE</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.ConfigurationInfo.html#android.content.pm.ConfigurationInfo.reqGlEsVersion" class="hiddenlink" target="rightframe">reqGlEsVersion</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.resizeable" class="hiddenlink" target="rightframe">resizeable</A>
+</nobr><br>
+<nobr><A HREF="android.app.LauncherActivity.ListItem.html#android.app.LauncherActivity.ListItem.resolveInfo" class="hiddenlink" target="rightframe">resolveInfo</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.RESULT_ERROR_GENERIC_FAILURE" class="hiddenlink" target="rightframe">RESULT_ERROR_GENERIC_FAILURE</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.RESULT_ERROR_NO_SERVICE" class="hiddenlink" target="rightframe">RESULT_ERROR_NO_SERVICE</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.RESULT_ERROR_NULL_PDU" class="hiddenlink" target="rightframe">RESULT_ERROR_NULL_PDU</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.RESULT_ERROR_RADIO_OFF" class="hiddenlink" target="rightframe">RESULT_ERROR_RADIO_OFF</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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.screenLayout" class="hiddenlink" target="rightframe">screenLayout</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_LONG_MASK" class="hiddenlink" target="rightframe">SCREENLAYOUT_LONG_MASK</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_LONG_NO" class="hiddenlink" target="rightframe">SCREENLAYOUT_LONG_NO</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_LONG_UNDEFINED" class="hiddenlink" target="rightframe">SCREENLAYOUT_LONG_UNDEFINED</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_LONG_YES" class="hiddenlink" target="rightframe">SCREENLAYOUT_LONG_YES</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_SIZE_LARGE" class="hiddenlink" target="rightframe">SCREENLAYOUT_SIZE_LARGE</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_SIZE_MASK" class="hiddenlink" target="rightframe">SCREENLAYOUT_SIZE_MASK</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_SIZE_NORMAL" class="hiddenlink" target="rightframe">SCREENLAYOUT_SIZE_NORMAL</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_SIZE_SMALL" class="hiddenlink" target="rightframe">SCREENLAYOUT_SIZE_SMALL</A>
+</nobr><br>
+<nobr><A HREF="android.content.res.Configuration.html#android.content.res.Configuration.SCREENLAYOUT_SIZE_UNDEFINED" class="hiddenlink" target="rightframe">SCREENLAYOUT_SIZE_UNDEFINED</A>
+</nobr><br>
+<nobr><A HREF="android.os.Build.VERSION.html#android.os.Build.VERSION.SDK" class="hiddenlink" target="rightframe">SDK</A>
+</nobr><br>
+<nobr><A HREF="android.os.Build.VERSION.html#android.os.Build.VERSION.SDK_INT" class="hiddenlink" target="rightframe">SDK_INT</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.searchSettingsDescription" class="hiddenlink" target="rightframe">searchSettingsDescription</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.searchSuggestThreshold" class="hiddenlink" target="rightframe">searchSuggestThreshold</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.SET_PROCESS_FOREGROUND" class="hiddenlink" target="rightframe"><strike>SET_PROCESS_FOREGROUND</strike></A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.SHORTCUT_MIME_TYPE" class="hiddenlink" target="rightframe">SHORTCUT_MIME_TYPE</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.System.html#android.provider.Settings.System.SHOW_WEB_SUGGESTIONS" class="hiddenlink" target="rightframe">SHOW_WEB_SUGGESTIONS</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.smallScreens" class="hiddenlink" target="rightframe">smallScreens</A>
+</nobr><br>
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.stat_sys_vp_phone_call" class="hiddenlink" target="rightframe">stat_sys_vp_phone_call</A>
+</nobr><br>
+<nobr><A HREF="android.R.drawable.html#android.R.drawable.stat_sys_vp_phone_call_on_hold" class="hiddenlink" target="rightframe">stat_sys_vp_phone_call_on_hold</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.STATUS_ON_SIM_FREE" class="hiddenlink" target="rightframe">STATUS_ON_SIM_FREE</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.STATUS_ON_SIM_READ" class="hiddenlink" target="rightframe">STATUS_ON_SIM_READ</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.STATUS_ON_SIM_SENT" class="hiddenlink" target="rightframe">STATUS_ON_SIM_SENT</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.STATUS_ON_SIM_UNREAD" class="hiddenlink" target="rightframe">STATUS_ON_SIM_UNREAD</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.STATUS_ON_SIM_UNSENT" class="hiddenlink" target="rightframe">STATUS_ON_SIM_UNSENT</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission_group.html#android.Manifest.permission_group.STORAGE" class="hiddenlink" target="rightframe">STORAGE</A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.SUGGEST_COLUMN_INTENT_EXTRA_DATA" class="hiddenlink" target="rightframe">SUGGEST_COLUMN_INTENT_EXTRA_DATA</A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.SUGGEST_COLUMN_SHORTCUT_ID" class="hiddenlink" target="rightframe">SUGGEST_COLUMN_SHORTCUT_ID</A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.SUGGEST_COLUMN_SPINNER_WHILE_REFRESHING" class="hiddenlink" target="rightframe">SUGGEST_COLUMN_SPINNER_WHILE_REFRESHING</A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.SUGGEST_NEVER_MAKE_SHORTCUT" class="hiddenlink" target="rightframe">SUGGEST_NEVER_MAKE_SHORTCUT</A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.SUGGEST_URI_PATH_SHORTCUT" class="hiddenlink" target="rightframe">SUGGEST_URI_PATH_SHORTCUT</A>
+</nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.SURACE_FROZEN" class="hiddenlink" target="rightframe">SURACE_FROZEN</A>
+</nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.SURFACE_FROZEN" class="hiddenlink" target="rightframe">SURFACE_FROZEN</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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#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>targetSdkVersion</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.R.attr.html#android.R.attr.targetSdkVersion" class="hiddenlink" target="rightframe">android.R.attr</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.content.pm.ApplicationInfo.html#android.content.pm.ApplicationInfo.targetSdkVersion" class="hiddenlink" target="rightframe">android.content.pm.ApplicationInfo</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.tension" class="hiddenlink" target="rightframe">tension</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.testOnly" class="hiddenlink" target="rightframe">testOnly</A>
+</nobr><br>
+<nobr><A HREF="android.R.attr.html#android.R.attr.textColorPrimaryInverseDisableOnly" class="hiddenlink" target="rightframe">textColorPrimaryInverseDisableOnly</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ABBR_ALERT" class="hiddenlink" target="rightframe">TONE_CDMA_ABBR_ALERT</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ABBR_INTERCEPT" class="hiddenlink" target="rightframe">TONE_CDMA_ABBR_INTERCEPT</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ABBR_REORDER" class="hiddenlink" target="rightframe">TONE_CDMA_ABBR_REORDER</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ALERT_AUTOREDIAL_LITE" class="hiddenlink" target="rightframe">TONE_CDMA_ALERT_AUTOREDIAL_LITE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ALERT_CALL_GUARD" class="hiddenlink" target="rightframe">TONE_CDMA_ALERT_CALL_GUARD</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ALERT_INCALL_LITE" class="hiddenlink" target="rightframe">TONE_CDMA_ALERT_INCALL_LITE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ALERT_NETWORK_LITE" class="hiddenlink" target="rightframe">TONE_CDMA_ALERT_NETWORK_LITE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ANSWER" class="hiddenlink" target="rightframe">TONE_CDMA_ANSWER</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_INTERGROUP" class="hiddenlink" target="rightframe">TONE_CDMA_CALL_SIGNAL_ISDN_INTERGROUP</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_NORMAL" class="hiddenlink" target="rightframe">TONE_CDMA_CALL_SIGNAL_ISDN_NORMAL</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_PAT3" class="hiddenlink" target="rightframe">TONE_CDMA_CALL_SIGNAL_ISDN_PAT3</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_PAT5" class="hiddenlink" target="rightframe">TONE_CDMA_CALL_SIGNAL_ISDN_PAT5</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_PAT6" class="hiddenlink" target="rightframe">TONE_CDMA_CALL_SIGNAL_ISDN_PAT6</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_PAT7" class="hiddenlink" target="rightframe">TONE_CDMA_CALL_SIGNAL_ISDN_PAT7</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_PING_RING" class="hiddenlink" target="rightframe">TONE_CDMA_CALL_SIGNAL_ISDN_PING_RING</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_SP_PRI" class="hiddenlink" target="rightframe">TONE_CDMA_CALL_SIGNAL_ISDN_SP_PRI</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CALLDROP_LITE" class="hiddenlink" target="rightframe">TONE_CDMA_CALLDROP_LITE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_CONFIRM" class="hiddenlink" target="rightframe">TONE_CDMA_CONFIRM</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_DIAL_TONE_LITE" class="hiddenlink" target="rightframe">TONE_CDMA_DIAL_TONE_LITE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_EMERGENCY_RINGBACK" class="hiddenlink" target="rightframe">TONE_CDMA_EMERGENCY_RINGBACK</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_L" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_L</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_PBX_L" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_PBX_L</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_PBX_S_X4" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_PBX_S_X4</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_PBX_SLS" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_PBX_SLS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_PBX_SS" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_PBX_SS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_PBX_SSL" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_PBX_SSL</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_S_X4" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_S_X4</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_SLS" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_SLS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_SS" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_SS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_SS_2" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_SS_2</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_HIGH_SSL" class="hiddenlink" target="rightframe">TONE_CDMA_HIGH_SSL</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_INTERCEPT" class="hiddenlink" target="rightframe">TONE_CDMA_INTERCEPT</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_KEYPAD_VOLUME_KEY_LITE" class="hiddenlink" target="rightframe">TONE_CDMA_KEYPAD_VOLUME_KEY_LITE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_L" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_L</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_PBX_L" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_PBX_L</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_PBX_S_X4" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_PBX_S_X4</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_PBX_SLS" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_PBX_SLS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_PBX_SS" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_PBX_SS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_PBX_SSL" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_PBX_SSL</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_S_X4" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_S_X4</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_SLS" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_SLS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_SS" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_SS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_SS_2" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_SS_2</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_LOW_SSL" class="hiddenlink" target="rightframe">TONE_CDMA_LOW_SSL</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_L" class="hiddenlink" target="rightframe">TONE_CDMA_MED_L</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_PBX_L" class="hiddenlink" target="rightframe">TONE_CDMA_MED_PBX_L</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_PBX_S_X4" class="hiddenlink" target="rightframe">TONE_CDMA_MED_PBX_S_X4</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_PBX_SLS" class="hiddenlink" target="rightframe">TONE_CDMA_MED_PBX_SLS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_PBX_SS" class="hiddenlink" target="rightframe">TONE_CDMA_MED_PBX_SS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_PBX_SSL" class="hiddenlink" target="rightframe">TONE_CDMA_MED_PBX_SSL</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_S_X4" class="hiddenlink" target="rightframe">TONE_CDMA_MED_S_X4</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_SLS" class="hiddenlink" target="rightframe">TONE_CDMA_MED_SLS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_SS" class="hiddenlink" target="rightframe">TONE_CDMA_MED_SS</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_SS_2" class="hiddenlink" target="rightframe">TONE_CDMA_MED_SS_2</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_MED_SSL" class="hiddenlink" target="rightframe">TONE_CDMA_MED_SSL</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_NETWORK_BUSY" class="hiddenlink" target="rightframe">TONE_CDMA_NETWORK_BUSY</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_NETWORK_BUSY_ONE_SHOT" class="hiddenlink" target="rightframe">TONE_CDMA_NETWORK_BUSY_ONE_SHOT</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_NETWORK_CALLWAITING" class="hiddenlink" target="rightframe">TONE_CDMA_NETWORK_CALLWAITING</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_NETWORK_USA_RINGBACK" class="hiddenlink" target="rightframe">TONE_CDMA_NETWORK_USA_RINGBACK</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_ONE_MIN_BEEP" class="hiddenlink" target="rightframe">TONE_CDMA_ONE_MIN_BEEP</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_PIP" class="hiddenlink" target="rightframe">TONE_CDMA_PIP</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_PRESSHOLDKEY_LITE" class="hiddenlink" target="rightframe">TONE_CDMA_PRESSHOLDKEY_LITE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_REORDER" class="hiddenlink" target="rightframe">TONE_CDMA_REORDER</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_SIGNAL_OFF" class="hiddenlink" target="rightframe">TONE_CDMA_SIGNAL_OFF</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_CDMA_SOFT_ERROR_LITE" class="hiddenlink" target="rightframe">TONE_CDMA_SOFT_ERROR_LITE</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_SUP_CONFIRM" class="hiddenlink" target="rightframe">TONE_SUP_CONFIRM</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_SUP_CONGESTION_ABBREV" class="hiddenlink" target="rightframe">TONE_SUP_CONGESTION_ABBREV</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_SUP_INTERCEPT" class="hiddenlink" target="rightframe">TONE_SUP_INTERCEPT</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_SUP_INTERCEPT_ABBREV" class="hiddenlink" target="rightframe">TONE_SUP_INTERCEPT_ABBREV</A>
+</nobr><br>
+<nobr><A HREF="android.media.ToneGenerator.html#android.media.ToneGenerator.TONE_SUP_PIP" class="hiddenlink" target="rightframe">TONE_SUP_PIP</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_PITCH" class="hiddenlink" target="rightframe">TTS_DEFAULT_PITCH</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.TTS_DEFAULT_RATE" class="hiddenlink" target="rightframe">TTS_DEFAULT_RATE</A>
+</nobr><br>
+<nobr><A HREF="android.provider.Settings.Secure.html#android.provider.Settings.Secure.TTS_DEFAULT_SYNTH" class="hiddenlink" target="rightframe">TTS_DEFAULT_SYNTH</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>
+<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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#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.uncertainGestureColor" class="hiddenlink" target="rightframe">uncertainGestureColor</A>
+</nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.URI_INTENT_SCHEME" class="hiddenlink" target="rightframe">URI_INTENT_SCHEME</A>
+</nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.USER_QUERY" class="hiddenlink" target="rightframe">USER_QUERY</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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#W"><font size="-2">W</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.media.MediaRecorder.AudioSource.html#android.media.MediaRecorder.AudioSource.VOICE_CALL" class="hiddenlink" target="rightframe">VOICE_CALL</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaRecorder.AudioSource.html#android.media.MediaRecorder.AudioSource.VOICE_DOWNLINK" class="hiddenlink" target="rightframe">VOICE_DOWNLINK</A>
+</nobr><br>
+<nobr><A HREF="android.media.MediaRecorder.AudioSource.html#android.media.MediaRecorder.AudioSource.VOICE_UPLINK" class="hiddenlink" target="rightframe">VOICE_UPLINK</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="#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="#Q"><font size="-2">Q</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#T"><font size="-2">T</font></a> 
+<a href="#U"><font size="-2">U</font></a> 
+<a href="#V"><font size="-2">V</font></a> 
+ <a href="#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_ProgressBar_Inverse" class="hiddenlink" target="rightframe">Widget_ProgressBar_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_ProgressBar_Large_Inverse" class="hiddenlink" target="rightframe">Widget_ProgressBar_Large_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.R.style.html#android.R.style.Widget_ProgressBar_Small_Inverse" class="hiddenlink" target="rightframe">Widget_ProgressBar_Small_Inverse</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.WRITE_EXTERNAL_STORAGE" class="hiddenlink" target="rightframe">WRITE_EXTERNAL_STORAGE</A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.WRITE_HISTORY_BOOKMARKS" class="hiddenlink" target="rightframe">WRITE_HISTORY_BOOKMARKS</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/4/changes/fields_index_changes.html b/docs/html/sdk/api_diff/4/changes/fields_index_changes.html
new file mode 100644
index 0000000..bd7a48f
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/fields_index_changes.html
@@ -0,0 +1,188 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+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">
+<font size="-2"><strong>Bold</strong>&nbsp;indicates&nbsp;New;&nbsp;<strike>Strike</strike>&nbsp;indicates&nbsp;deleted. Plain indicates changed.</font>
+</div>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#E"><font size="-2">E</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>DEFAULT_SORT_ORDER</i><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.provider.MediaStore.Audio.Genres.Members.html#android.provider.MediaStore.Audio.Genres.Members.DEFAULT_SORT_ORDER" class="hiddenlink" target="rightframe">android.provider.MediaStore.Audio.Genres.Members</A>
+</nobr><br>
+&nbsp;in&nbsp;
+<nobr><A HREF="android.provider.MediaStore.Audio.Media.html#android.provider.MediaStore.Audio.Media.DEFAULT_SORT_ORDER" class="hiddenlink" target="rightframe">android.provider.MediaStore.Audio.Media</A>
+</nobr><br>
+<A NAME="E"></A>
+<br><font size="+2">E</font>&nbsp;
+<a href="#D"><font size="-2">D</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.telephony.gsm.SmsMessage.SubmitPdu.html#android.telephony.gsm.SmsMessage.SubmitPdu.encodedMessage" class="hiddenlink" target="rightframe">encodedMessage</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.SubmitPdu.html#android.telephony.gsm.SmsMessage.SubmitPdu.encodedScAddress" class="hiddenlink" target="rightframe">encodedScAddress</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.ENCODING_16BIT" class="hiddenlink" target="rightframe">ENCODING_16BIT</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.ENCODING_7BIT" class="hiddenlink" target="rightframe">ENCODING_7BIT</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.ENCODING_8BIT" class="hiddenlink" target="rightframe">ENCODING_8BIT</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.ENCODING_UNKNOWN" class="hiddenlink" target="rightframe">ENCODING_UNKNOWN</A>
+</nobr><br>
+<A NAME="L"></A>
+<br><font size="+2">L</font>&nbsp;
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</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.hardware.SensorManager.html#android.hardware.SensorManager.LIGHT_NO_MOON" class="hiddenlink" target="rightframe">LIGHT_NO_MOON</A>
+</nobr><br>
+<nobr><A HREF="android.util.Config.html#android.util.Config.LOGD" class="hiddenlink" target="rightframe">LOGD</A>
+</nobr><br>
+<nobr><A HREF="android.util.Config.html#android.util.Config.LOGV" class="hiddenlink" target="rightframe">LOGV</A>
+</nobr><br>
+<A NAME="M"></A>
+<br><font size="+2">M</font>&nbsp;
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</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.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.MAX_USER_DATA_BYTES" class="hiddenlink" target="rightframe">MAX_USER_DATA_BYTES</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.MAX_USER_DATA_SEPTETS" class="hiddenlink" target="rightframe">MAX_USER_DATA_SEPTETS</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.MAX_USER_DATA_SEPTETS_WITH_HEADER" class="hiddenlink" target="rightframe">MAX_USER_DATA_SEPTETS_WITH_HEADER</A>
+</nobr><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</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.util.Config.html#android.util.Config.PROFILE" class="hiddenlink" target="rightframe">PROFILE</A>
+</nobr><br>
+<A NAME="R"></A>
+<br><font size="+2">R</font>&nbsp;
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</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.util.Config.html#android.util.Config.RELEASE" class="hiddenlink" target="rightframe">RELEASE</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.RESULT_ERROR_GENERIC_FAILURE" class="hiddenlink" target="rightframe">RESULT_ERROR_GENERIC_FAILURE</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.RESULT_ERROR_NO_SERVICE" class="hiddenlink" target="rightframe">RESULT_ERROR_NO_SERVICE</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.RESULT_ERROR_NULL_PDU" class="hiddenlink" target="rightframe">RESULT_ERROR_NULL_PDU</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.RESULT_ERROR_RADIO_OFF" class="hiddenlink" target="rightframe">RESULT_ERROR_RADIO_OFF</A>
+</nobr><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#E"><font size="-2">E</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">
+<nobr><A HREF="android.os.Build.VERSION.html#android.os.Build.VERSION.SDK" class="hiddenlink" target="rightframe">SDK</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.STATUS_ON_SIM_FREE" class="hiddenlink" target="rightframe">STATUS_ON_SIM_FREE</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.STATUS_ON_SIM_READ" class="hiddenlink" target="rightframe">STATUS_ON_SIM_READ</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.STATUS_ON_SIM_SENT" class="hiddenlink" target="rightframe">STATUS_ON_SIM_SENT</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.STATUS_ON_SIM_UNREAD" class="hiddenlink" target="rightframe">STATUS_ON_SIM_UNREAD</A>
+</nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.STATUS_ON_SIM_UNSENT" class="hiddenlink" target="rightframe">STATUS_ON_SIM_UNSENT</A>
+</nobr><br>
+<nobr><A HREF="android.view.Surface.html#android.view.Surface.SURACE_FROZEN" class="hiddenlink" target="rightframe">SURACE_FROZEN</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/4/changes/fields_index_removals.html b/docs/html/sdk/api_diff/4/changes/fields_index_removals.html
new file mode 100644
index 0000000..a249a9e
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/fields_index_removals.html
@@ -0,0 +1,159 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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">
+<font size="-2"><strong>Bold</strong>&nbsp;indicates&nbsp;New;&nbsp;<strike>Strike</strike>&nbsp;indicates&nbsp;deleted. Plain indicates changed.</font>
+</div>
+<A NAME="A"></A>
+<br><font size="+2">A</font>&nbsp;
+<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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.ADD_SYSTEM_SERVICE" class="hiddenlink" target="rightframe"><strike>ADD_SYSTEM_SERVICE</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="#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="#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.FORWARD_LOCK_PACKAGE" class="hiddenlink" target="rightframe"><strike>FORWARD_LOCK_PACKAGE</strike></A>
+</nobr><br>
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.FOTA_UPDATE" class="hiddenlink" target="rightframe"><strike>FOTA_UPDATE</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="#F"><font size="-2">F</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_ALREADY_EXISTS" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_ALREADY_EXISTS</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_CONFLICTING_PROVIDER" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_CONFLICTING_PROVIDER</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_DEXOPT" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_DEXOPT</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_DUPLICATE_PACKAGE" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_DUPLICATE_PACKAGE</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_INSUFFICIENT_STORAGE" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_INSUFFICIENT_STORAGE</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_INVALID_APK" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_INVALID_APK</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_INVALID_URI" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_INVALID_URI</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_MISSING_SHARED_LIBRARY" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_MISSING_SHARED_LIBRARY</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_NO_SHARED_USER" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_NO_SHARED_USER</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_OLDER_SDK" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_OLDER_SDK</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_REPLACE_COULDNT_DELETE" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_REPLACE_COULDNT_DELETE</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_SHARED_USER_INCOMPATIBLE" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_SHARED_USER_INCOMPATIBLE</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_FAILED_UPDATE_INCOMPATIBLE" class="hiddenlink" target="rightframe"><strike>INSTALL_FAILED_UPDATE_INCOMPATIBLE</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_BAD_MANIFEST" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_BAD_MANIFEST</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_MANIFEST_EMPTY" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_MANIFEST_EMPTY</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_MANIFEST_MALFORMED" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_MANIFEST_MALFORMED</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_NO_CERTIFICATES" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_NO_CERTIFICATES</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_NOT_APK" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_NOT_APK</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION" class="hiddenlink" target="rightframe"><strike>INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION</strike></A>
+</nobr><br>
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.INSTALL_SUCCEEDED" class="hiddenlink" target="rightframe"><strike>INSTALL_SUCCEEDED</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="#F"><font size="-2">F</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.REPLACE_EXISTING_PACKAGE" class="hiddenlink" target="rightframe"><strike>REPLACE_EXISTING_PACKAGE</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="#I"><font size="-2">I</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.Manifest.permission.html#android.Manifest.permission.SET_PROCESS_FOREGROUND" class="hiddenlink" target="rightframe"><strike>SET_PROCESS_FOREGROUND</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/4/changes/java.lang.String.html b/docs/html/sdk/api_diff/4/changes/java.lang.String.html
new file mode 100644
index 0000000..1e19474
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/java.lang.String.html
@@ -0,0 +1,160 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.lang.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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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/String.html" target="_top"><font size="+2"><code>String</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.String.ctor_changed()"></A>
+  <nobr><A HREF="../../../../reference/java/lang/String.html#String()" target="_top"><code>String</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.String.ctor_changed(byte[])"></A>
+  <nobr><A HREF="../../../../reference/java/lang/String.html#String(byte[])" target="_top"><code>String</code></A>(<code>byte[]</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.String.ctor_changed(byte[], int)"></A>
+  <nobr><A HREF="../../../../reference/java/lang/String.html#String(byte[], int)" target="_top"><code>String</code></A>(<code>byte[],</nobr> int<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.String.ctor_changed(byte[], int, int)"></A>
+  <nobr><A HREF="../../../../reference/java/lang/String.html#String(byte[], int, int)" target="_top"><code>String</code></A>(<code>byte[],</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.lang.String.ctor_changed(byte[], int, int, int)"></A>
+  <nobr><A HREF="../../../../reference/java/lang/String.html#String(byte[], int, int, int)" target="_top"><code>String</code></A>(<code>byte[],</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+  </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/4/changes/java.net.Socket.html b/docs/html/sdk/api_diff/4/changes/java.net.Socket.html
new file mode 100644
index 0000000..0d1cf76
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/java.net.Socket.html
@@ -0,0 +1,160 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.net.Socket
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- 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/Socket.html" target="_top"><font size="+2"><code>Socket</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.net.Socket.ctor_changed()"></A>
+  <nobr><A HREF="../../../../reference/java/net/Socket.html#Socket()" target="_top"><code>Socket</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.net.Socket.ctor_changed(java.lang.String, int)"></A>
+  <nobr><A HREF="../../../../reference/java/net/Socket.html#Socket(java.lang.String, int)" target="_top"><code>Socket</code></A>(<code>String,</nobr> int<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.net.Socket.ctor_changed(java.lang.String, int, java.net.InetAddress, int)"></A>
+  <nobr><A HREF="../../../../reference/java/net/Socket.html#Socket(java.lang.String, int, java.net.InetAddress, int)" target="_top"><code>Socket</code></A>(<code>String,</nobr> int<nobr>,</nobr> InetAddress<nobr>,</nobr> int<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.net.Socket.ctor_changed(java.net.Proxy)"></A>
+  <nobr><A HREF="../../../../reference/java/net/Socket.html#Socket(java.net.Proxy)" target="_top"><code>Socket</code></A>(<code>Proxy</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.net.Socket.ctor_changed(java.net.SocketImpl)"></A>
+  <nobr><A HREF="../../../../reference/java/net/Socket.html#Socket(java.net.SocketImpl)" target="_top"><code>Socket</code></A>(<code>SocketImpl</code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+  </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/4/changes/java.util.Date.html b/docs/html/sdk/api_diff/4/changes/java.util.Date.html
new file mode 100644
index 0000000..69caada
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/java.util.Date.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.util.Date
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Class java.util.<A HREF="../../../../reference/java/util/Date.html" target="_top"><font size="+2"><code>Date</code></font></A>
+</H2>
+<a NAME="constructors"></a>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Constructors" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=3>Changed Constructors</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Date.ctor_changed()"></A>
+  <nobr><A HREF="../../../../reference/java/util/Date.html#Date()" target="_top"><code>Date</code></A>()  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="java.util.Date.ctor_changed(int, int, int, int, int, int)"></A>
+  <nobr><A HREF="../../../../reference/java/util/Date.html#Date(int, int, int, int, int, int)" target="_top"><code>Date</code></A>(<code>int,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr>,</nobr> int<nobr><nobr></code>)  </nobr>
+  </TD>
+  <TD VALIGN="TOP" WIDTH="30%">
+  </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/4/changes/jdiff_help.html b/docs/html/sdk/api_diff/4/changes/jdiff_help.html
new file mode 100644
index 0000000..b414f62
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/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>Donut</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/4/changes/jdiff_statistics.html b/docs/html/sdk/api_diff/4/changes/jdiff_statistics.html
new file mode 100644
index 0000000..3fafb7a
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/jdiff_statistics.html
@@ -0,0 +1,705 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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 Version:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Version:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- 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 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%. Values are rounded here, so a value of 0% indicates a percentage difference of less than 0.5%.</p>
+<p>The overall difference between the two APIs is approximately <span style="color:222;font-weight:bold;">2%</span>.
+</p>
+<br><h2>Contents</h2>
+<dl><dt><a href="#packages">Changed Packages</a></dt> <dd>Sorted by percentage difference</dd>
+<dt><a href="#classes">Changed Classes and <i>Interfaces</i></a></dt><dd>Sorted by percentage difference</dd>
+<dt><a href="#numbers">Total of Differences</a></dt><dd>Listed by number and type</dd></dl>
+<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">36</TD>
+  <TD><A HREF="pkg_android.telephony.gsm.html">android.telephony.gsm</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">22</TD>
+  <TD><A HREF="pkg_android.telephony.html">android.telephony</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">21</TD>
+  <TD><A HREF="pkg_android.html">android</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="pkg_android.opengl.html">android.opengl</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="pkg_android.content.pm.html">android.content.pm</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">9</TD>
+  <TD><A HREF="pkg_android.view.animation.html">android.view.animation</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="pkg_android.graphics.drawable.html">android.graphics.drawable</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="pkg_android.content.html">android.content</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="pkg_android.net.wifi.html">android.net.wifi</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_android.util.html">android.util</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="pkg_android.os.html">android.os</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="pkg_android.app.html">android.app</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.view.html">android.view</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.content.res.html">android.content.res</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.test.html">android.test</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.location.html">android.location</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.graphics.html">android.graphics</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.text.style.html">android.text.style</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.widget.html">android.widget</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.provider.html">android.provider</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_java.net.html">java.net</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_java.util.html">java.util</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_java.lang.html">java.lang</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="pkg_android.hardware.html">android.hardware</A></TD>
+</TR>
+</TABLE>
+<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%"><b>Percentage<br>Difference</b></TH>
+  <TH><b>Class or <i>Interface</i></b></TH>
+</TR>
+<TR>
+  <TD ALIGN="center">63</TD>
+  <TD><A HREF="android.R.dimen.html">
+android.R.dimen</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">63</TD>
+  <TD><A HREF="android.R.integer.html">
+android.R.integer</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">61</TD>
+  <TD><A HREF="android.R.anim.html">
+android.R.anim</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">55</TD>
+  <TD><A HREF="android.telephony.gsm.SmsMessage.html">
+android.telephony.gsm.SmsMessage</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="android.R.array.html">
+android.R.array</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="android.media.ToneGenerator.html">
+android.media.ToneGenerator</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="android.telephony.gsm.SmsManager.html">
+android.telephony.gsm.SmsManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">50</TD>
+  <TD><A HREF="android.telephony.gsm.SmsMessage.SubmitPdu.html">
+android.telephony.gsm.SmsMessage.SubmitPdu</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">47</TD>
+  <TD><A HREF="android.graphics.drawable.NinePatchDrawable.html">
+android.graphics.drawable.NinePatchDrawable</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">44</TD>
+  <TD><A HREF="android.R.color.html">
+android.R.color</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">42</TD>
+  <TD><A HREF="android.media.MediaRecorder.AudioSource.html">
+android.media.MediaRecorder.AudioSource</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">36</TD>
+  <TD><A HREF="android.R.string.html">
+android.R.string</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">33</TD>
+  <TD><A HREF="android.util.Config.html">
+android.util.Config</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">30</TD>
+  <TD><A HREF="android.os.Build.VERSION.html">
+android.os.Build.VERSION</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">25</TD>
+  <TD><A HREF="android.telephony.gsm.SmsMessage.MessageClass.html">
+android.telephony.gsm.SmsMessage.MessageClass</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">23</TD>
+  <TD><A HREF="android.R.layout.html">
+android.R.layout</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">23</TD>
+  <TD><A HREF="android.text.style.ImageSpan.html">
+android.text.style.ImageSpan</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">22</TD>
+  <TD><A HREF="android.app.SearchManager.html">
+android.app.SearchManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">22</TD>
+  <TD><A HREF="android.widget.TabWidget.html">
+android.widget.TabWidget</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">21</TD>
+  <TD><A HREF="android.util.DisplayMetrics.html">
+android.util.DisplayMetrics</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">21</TD>
+  <TD><A HREF="android.graphics.BitmapFactory.Options.html">
+android.graphics.BitmapFactory.Options</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">20</TD>
+  <TD><A HREF="android.graphics.drawable.BitmapDrawable.html">
+android.graphics.drawable.BitmapDrawable</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">20</TD>
+  <TD><A HREF="android.R.id.html">
+android.R.id</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">20</TD>
+  <TD><A HREF="android.test.AndroidTestCase.html">
+android.test.AndroidTestCase</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">16</TD>
+  <TD><A HREF="android.widget.TabHost.TabSpec.html">
+android.widget.TabHost.TabSpec</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">15</TD>
+  <TD><A HREF="android.os.RemoteCallbackList.html">
+android.os.RemoteCallbackList</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">14</TD>
+  <TD><A HREF="android.content.pm.PackageManager.html">
+android.content.pm.PackageManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">14</TD>
+  <TD><A HREF="android.graphics.Bitmap.html">
+android.graphics.Bitmap</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="android.content.pm.ApplicationInfo.html">
+android.content.pm.ApplicationInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">12</TD>
+  <TD><A HREF="android.content.pm.ConfigurationInfo.html">
+android.content.pm.ConfigurationInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="android.R.drawable.html">
+android.R.drawable</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">11</TD>
+  <TD><A HREF="android.app.LauncherActivity.html">
+android.app.LauncherActivity</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="android.R.style.html">
+android.R.style</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="android.content.res.Configuration.html">
+android.content.res.Configuration</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">10</TD>
+  <TD><A HREF="java.net.Socket.html">
+java.net.Socket</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">8</TD>
+  <TD><A HREF="android.provider.MediaStore.Audio.Genres.Members.html">
+android.provider.MediaStore.Audio.Genres.Members</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="android.provider.Settings.Secure.html">
+android.provider.Settings.Secure</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="android.app.LauncherActivity.ListItem.html">
+android.app.LauncherActivity.ListItem</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">7</TD>
+  <TD><A HREF="android.location.Address.html">
+android.location.Address</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="java.lang.String.html">
+java.lang.String</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="android.os.Build.html">
+android.os.Build</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="android.view.VelocityTracker.html">
+android.view.VelocityTracker</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="java.util.Date.html">
+java.util.Date</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">6</TD>
+  <TD><A HREF="android.widget.CheckedTextView.html">
+android.widget.CheckedTextView</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.graphics.Typeface.html">
+android.graphics.Typeface</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">5</TD>
+  <TD><A HREF="android.provider.MediaStore.Audio.Media.html">
+android.provider.MediaStore.Audio.Media</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.content.ContentProvider.html">
+android.content.ContentProvider</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.graphics.NinePatch.html">
+android.graphics.NinePatch</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.graphics.drawable.AnimationDrawable.html">
+android.graphics.drawable.AnimationDrawable</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.Manifest.permission_group.html">
+android.Manifest.permission_group</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.graphics.BitmapFactory.html">
+android.graphics.BitmapFactory</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.Manifest.permission.html">
+android.Manifest.permission</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.R.attr.html">
+android.R.attr</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">4</TD>
+  <TD><A HREF="android.content.pm.ProviderInfo.html">
+android.content.pm.ProviderInfo</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.view.ViewConfiguration.html">
+android.view.ViewConfiguration</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.view.Window.Callback.html">
+<i>android.view.Window.Callback</i></A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.inputmethodservice.KeyboardView.html">
+android.inputmethodservice.KeyboardView</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.content.ComponentName.html">
+android.content.ComponentName</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">3</TD>
+  <TD><A HREF="android.widget.PopupWindow.html">
+android.widget.PopupWindow</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.widget.AutoCompleteTextView.html">
+android.widget.AutoCompleteTextView</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.util.TypedValue.html">
+android.util.TypedValue</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.view.Surface.html">
+android.view.Surface</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">2</TD>
+  <TD><A HREF="android.content.Context.html">
+android.content.Context</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.view.View.html">
+android.view.View</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.media.MediaRecorder.html">
+android.media.MediaRecorder</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.test.mock.MockPackageManager.html">
+android.test.mock.MockPackageManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.widget.ListView.html">
+android.widget.ListView</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">1</TD>
+  <TD><A HREF="android.media.AudioManager.html">
+android.media.AudioManager</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.graphics.drawable.Drawable.html">
+android.graphics.drawable.Drawable</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.net.wifi.WifiManager.html">
+android.net.wifi.WifiManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.test.mock.MockContext.html">
+android.test.mock.MockContext</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.content.ContextWrapper.html">
+android.content.ContextWrapper</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.hardware.SensorManager.html">
+android.hardware.SensorManager</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.app.Dialog.html">
+android.app.Dialog</A></TD>
+</TR>
+<TR>
+  <TD ALIGN="center">&lt;1</TD>
+  <TD><A HREF="android.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>
+</TABLE>
+<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 removed, added or changed. 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 COLSPAN=5 NOWRAP>
+  Number of Differences</TH>
+</TR>
+<TR>
+  <TH>&nbsp;</TD>
+  <TH ALIGN="center"><b>Removals</b></TH>
+  <TH ALIGN="center"><b>Additions</b></TH>
+  <TH ALIGN="center"><b>Changes</b></TH>
+  <TH ALIGN="center"><b>Total</b></TH>
+</TR>
+<TR>
+  <TD>Packages</TD>
+  <TD ALIGN="right">0</TD>
+  <TD ALIGN="right">4</TD>
+  <TD ALIGN="right">27</TD>
+  <TD ALIGN="right">31</TD>
+</TR>
+<TR>
+  <TD>Classes and <i>Interfaces</i></TD>
+  <TD ALIGN="right">2</TD>
+  <TD ALIGN="right">20</TD>
+  <TD ALIGN="right">80</TD>
+  <TD ALIGN="right">102</TD>
+</TR>
+<TR>
+  <TD>Constructors</TD>
+  <TD ALIGN="right">0</TD>
+  <TD ALIGN="right">6</TD>
+  <TD ALIGN="right">20</TD>
+  <TD ALIGN="right">26</TD>
+</TR>
+<TR>
+  <TD>Methods</TD>
+  <TD ALIGN="right">3</TD>
+  <TD ALIGN="right">80</TD>
+  <TD ALIGN="right">43</TD>
+  <TD ALIGN="right">126</TD>
+</TR>
+<TR>
+  <TD>Fields</TD>
+  <TD ALIGN="right">29</TD>
+  <TD ALIGN="right">433</TD>
+  <TD ALIGN="right">27</TD>
+  <TD ALIGN="right">489</TD>
+</TR>
+<TR>
+  <TD><b>Total</b></TD>
+  <TD ALIGN="right">34</TD>
+  <TD ALIGN="right">543</TD>
+  <TD ALIGN="right">197</TD>
+  <TD ALIGN="right">774</TD>
+</TR>
+</TABLE>
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY></HTML>
diff --git a/docs/html/sdk/api_diff/4/changes/jdiff_topleftframe.html b/docs/html/sdk/api_diff/4/changes/jdiff_topleftframe.html
new file mode 100644
index 0000000..2191eff
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/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">
+<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/4/changes/methods_index_additions.html b/docs/html/sdk/api_diff/4/changes/methods_index_additions.html
new file mode 100644
index 0000000..dcdadf6
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/methods_index_additions.html
@@ -0,0 +1,441 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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">
+<font size="-2"><strong>Bold</strong>&nbsp;indicates&nbsp;New;&nbsp;<strike>Strike</strike>&nbsp;indicates&nbsp;deleted. Plain indicates changed.</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="#G"><font size="-2">G</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="#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.addFocusables_added(java.util.ArrayList<android.view.View>, int, int)" class="hiddenlink" target="rightframe"><b>addFocusables</b>
+(<code>ArrayList&lt;View&gt;, int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.test.AndroidTestCase.html#android.test.AndroidTestCase.assertActivityRequiresPermission_added(java.lang.String, java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe"><b>assertActivityRequiresPermission</b>
+(<code>String, String, String</code>)</A></nobr><br>
+<nobr><A HREF="android.test.AndroidTestCase.html#android.test.AndroidTestCase.assertReadingContentUriRequiresPermission_added(android.net.Uri, java.lang.String)" class="hiddenlink" target="rightframe"><b>assertReadingContentUriRequiresPermission</b>
+(<code>Uri, String</code>)</A></nobr><br>
+<nobr><A HREF="android.test.AndroidTestCase.html#android.test.AndroidTestCase.assertWritingContentUriRequiresPermission_added(android.net.Uri, java.lang.String)" class="hiddenlink" target="rightframe"><b>assertWritingContentUriRequiresPermission</b>
+(<code>Uri, String</code>)</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="#G"><font size="-2">G</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="#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.buildDrawingCache_added(boolean)" class="hiddenlink" target="rightframe"><b>buildDrawingCache</b>
+(<code>boolean</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="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#G"><font size="-2">G</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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.ComponentName.html#android.content.ComponentName.compareTo_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>compareTo</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.view.VelocityTracker.html#android.view.VelocityTracker.computeCurrentVelocity_added(int, float)" class="hiddenlink" target="rightframe"><b>computeCurrentVelocity</b>
+(<code>int, float</code>)</A></nobr><br>
+<i>createFromFile</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Typeface.html#android.graphics.Typeface.createFromFile_added(java.io.File)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>File</code>)</b>&nbsp;in&nbsp;android.graphics.Typeface
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Typeface.html#android.graphics.Typeface.createFromFile_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.graphics.Typeface
+</A></nobr><br>
+<nobr><A HREF="android.graphics.drawable.Drawable.html#android.graphics.drawable.Drawable.createFromResourceStream_added(android.content.res.Resources, android.util.TypedValue, java.io.InputStream, java.lang.String)" class="hiddenlink" target="rightframe"><b>createFromResourceStream</b>
+(<code>Resources, TypedValue, InputStream, String</code>)</A></nobr><br>
+<nobr><A HREF="android.net.wifi.WifiManager.html#android.net.wifi.WifiManager.createMulticastLock_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>createMulticastLock</b>
+(<code>String</code>)</A></nobr><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#G"><font size="-2">G</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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.graphics.BitmapFactory.html#android.graphics.BitmapFactory.decodeResourceStream_added(android.content.res.Resources, android.util.TypedValue, java.io.InputStream, android.graphics.Rect, android.graphics.BitmapFactory.Options)" class="hiddenlink" target="rightframe"><b>decodeResourceStream</b>
+(<code>Resources, TypedValue, InputStream, Rect, Options</code>)</A></nobr><br>
+<i>dispatchPopulateAccessibilityEvent</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Activity.html#android.app.Activity.dispatchPopulateAccessibilityEvent_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AccessibilityEvent</code>)</b>&nbsp;in&nbsp;android.app.Activity
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Dialog.html#android.app.Dialog.dispatchPopulateAccessibilityEvent_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AccessibilityEvent</code>)</b>&nbsp;in&nbsp;android.app.Dialog
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.View.html#android.view.View.dispatchPopulateAccessibilityEvent_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AccessibilityEvent</code>)</b>&nbsp;in&nbsp;android.view.View
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.Window.Callback.html#android.view.Window.Callback.dispatchPopulateAccessibilityEvent_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AccessibilityEvent</code>)</b>&nbsp;in&nbsp;android.view.Window.Callback
+</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="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>getApplicationInfo</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.getApplicationInfo_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.getApplicationInfo_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.getApplicationInfo_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.getAudioSourceMax_added()" class="hiddenlink" target="rightframe"><b>getAudioSourceMax</b>
+()</A></nobr><br>
+<nobr><A HREF="android.os.RemoteCallbackList.html#android.os.RemoteCallbackList.getBroadcastCookie_added(int)" class="hiddenlink" target="rightframe"><b>getBroadcastCookie</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.ListView.html#android.widget.ListView.getCheckItemIds_added()" class="hiddenlink" target="rightframe"><b>getCheckItemIds</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.getChildTabViewAt_added(int)" class="hiddenlink" target="rightframe"><b>getChildTabViewAt</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.getContentDescription_added()" class="hiddenlink" target="rightframe"><b>getContentDescription</b>
+()</A></nobr><br>
+<i>getDensity</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.getDensity_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.graphics.Bitmap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Canvas.html#android.graphics.Canvas.getDensity_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.graphics.Canvas
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.NinePatch.html#android.graphics.NinePatch.getDensity_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.graphics.NinePatch
+</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.getDrawingCache_added(boolean)" class="hiddenlink" target="rightframe"><b>getDrawingCache</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.AutoCompleteTextView.html#android.widget.AutoCompleteTextView.getDropDownHeight_added()" class="hiddenlink" target="rightframe"><b>getDropDownHeight</b>
+()</A></nobr><br>
+<nobr><A HREF="android.content.pm.ConfigurationInfo.html#android.content.pm.ConfigurationInfo.getGlEsVersion_added()" class="hiddenlink" target="rightframe"><b>getGlEsVersion</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.PendingIntent.html#android.app.PendingIntent.getIntentSender_added()" class="hiddenlink" target="rightframe"><b>getIntentSender</b>
+()</A></nobr><br>
+<nobr><A HREF="android.view.ViewConfiguration.html#android.view.ViewConfiguration.getMaximumFlingVelocity_added()" class="hiddenlink" target="rightframe"><b>getMaximumFlingVelocity</b>
+()</A></nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.getPackage_added()" class="hiddenlink" target="rightframe"><b>getPackage</b>
+()</A></nobr><br>
+<nobr><A HREF="android.content.ContentProvider.html#android.content.ContentProvider.getPathPermissions_added()" class="hiddenlink" target="rightframe"><b>getPathPermissions</b>
+()</A></nobr><br>
+<nobr><A HREF="android.location.Address.html#android.location.Address.getPremises_added()" class="hiddenlink" target="rightframe"><b>getPremises</b>
+()</A></nobr><br>
+<i>getScaledHeight</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.getScaledHeight_added(android.graphics.Canvas)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Canvas</code>)</b>&nbsp;in&nbsp;android.graphics.Bitmap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.getScaledHeight_added(android.util.DisplayMetrics)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>DisplayMetrics</code>)</b>&nbsp;in&nbsp;android.graphics.Bitmap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.getScaledHeight_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.graphics.Bitmap
+</A></nobr><br>
+<nobr><A HREF="android.view.ViewConfiguration.html#android.view.ViewConfiguration.getScaledMaximumFlingVelocity_added()" class="hiddenlink" target="rightframe"><b>getScaledMaximumFlingVelocity</b>
+()</A></nobr><br>
+<i>getScaledWidth</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.getScaledWidth_added(android.graphics.Canvas)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Canvas</code>)</b>&nbsp;in&nbsp;android.graphics.Bitmap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.getScaledWidth_added(android.util.DisplayMetrics)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>DisplayMetrics</code>)</b>&nbsp;in&nbsp;android.graphics.Bitmap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.getScaledWidth_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.graphics.Bitmap
+</A></nobr><br>
+<nobr><A HREF="android.widget.PopupWindow.html#android.widget.PopupWindow.getSoftInputMode_added()" class="hiddenlink" target="rightframe"><b>getSoftInputMode</b>
+()</A></nobr><br>
+<nobr><A HREF="android.location.Address.html#android.location.Address.getSubLocality_added()" class="hiddenlink" target="rightframe"><b>getSubLocality</b>
+()</A></nobr><br>
+<nobr><A HREF="android.location.Address.html#android.location.Address.getSubThoroughfare_added()" class="hiddenlink" target="rightframe"><b>getSubThoroughfare</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.getTabCount_added()" class="hiddenlink" target="rightframe"><b>getTabCount</b>
+()</A></nobr><br>
+<i>getTag</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.View.html#android.view.View.getTag_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.view.View
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TabHost.TabSpec.html#android.widget.TabHost.TabSpec.getTag_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.widget.TabHost.TabSpec
+</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="#G"><font size="-2">G</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-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">
+<nobr><A HREF="android.inputmethodservice.KeyboardView.html#android.inputmethodservice.KeyboardView.invalidateAllKeys_added()" class="hiddenlink" target="rightframe"><b>invalidateAllKeys</b>
+()</A></nobr><br>
+<nobr><A HREF="android.inputmethodservice.KeyboardView.html#android.inputmethodservice.KeyboardView.invalidateKey_added(int)" class="hiddenlink" target="rightframe"><b>invalidateKey</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.isRestricted_added()" class="hiddenlink" target="rightframe"><b>isRestricted</b>
+()</A></nobr><br>
+<nobr><A HREF="android.app.LauncherActivity.html#android.app.LauncherActivity.itemForPosition_added(int)" class="hiddenlink" target="rightframe"><b>itemForPosition</b>
+(<code>int</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="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-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">
+<nobr><A HREF="android.os.RemoteCallbackList.html#android.os.RemoteCallbackList.onCallbackDied_added(E, java.lang.Object)" class="hiddenlink" target="rightframe"><b>onCallbackDied</b>
+(<code>E, Object</code>)</A></nobr><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#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">
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.parseUri_added(java.lang.String, int)" class="hiddenlink" target="rightframe"><b>parseUri</b>
+(<code>String, int</code>)</A></nobr><br>
+<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.prepareToDraw_added()" class="hiddenlink" target="rightframe"><b>prepareToDraw</b>
+()</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="#G"><font size="-2">G</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="#S"><font size="-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">
+<nobr><A HREF="android.os.RemoteCallbackList.html#android.os.RemoteCallbackList.register_added(E, java.lang.Object)" class="hiddenlink" target="rightframe"><b>register</b>
+(<code>E, Object</code>)</A></nobr><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#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="#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">
+<nobr><A HREF="android.view.View.html#android.view.View.sendAccessibilityEvent_added(int)" class="hiddenlink" target="rightframe"><b>sendAccessibilityEvent</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.sendAccessibilityEventUnchecked_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe"><b>sendAccessibilityEventUnchecked</b>
+(<code>AccessibilityEvent</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.setContentDescription_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>setContentDescription</b>
+(<code>CharSequence</code>)</A></nobr><br>
+<i>setDensity</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.setDensity_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.graphics.Bitmap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Canvas.html#android.graphics.Canvas.setDensity_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.graphics.Canvas
+</A></nobr><br>
+<i>setDividerDrawable</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.setDividerDrawable_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Drawable</code>)</b>&nbsp;in&nbsp;android.widget.TabWidget
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.setDividerDrawable_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.widget.TabWidget
+</A></nobr><br>
+<nobr><A HREF="android.widget.AutoCompleteTextView.html#android.widget.AutoCompleteTextView.setDropDownHeight_added(int)" class="hiddenlink" target="rightframe"><b>setDropDownHeight</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.TabHost.TabSpec.html#android.widget.TabHost.TabSpec.setIndicator_added(android.view.View)" class="hiddenlink" target="rightframe"><b>setIndicator</b>
+(<code>View</code>)</A></nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.setPackage_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setPackage</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.content.ContentProvider.html#android.content.ContentProvider.setPathPermissions_added(android.content.pm.PathPermission[])" class="hiddenlink" target="rightframe"><b>setPathPermissions</b>
+(<code>PathPermission[]</code>)</A></nobr><br>
+<nobr><A HREF="android.location.Address.html#android.location.Address.setPremises_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setPremises</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.PopupWindow.html#android.widget.PopupWindow.setSoftInputMode_added(int)" class="hiddenlink" target="rightframe"><b>setSoftInputMode</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.location.Address.html#android.location.Address.setSubLocality_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setSubLocality</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.location.Address.html#android.location.Address.setSubThoroughfare_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setSubThoroughfare</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.setTag_added(int, java.lang.Object)" class="hiddenlink" target="rightframe"><b>setTag</b>
+(<code>int, Object</code>)</A></nobr><br>
+<i>setTargetDensity</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.BitmapDrawable.html#android.graphics.drawable.BitmapDrawable.setTargetDensity_added(android.graphics.Canvas)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Canvas</code>)</b>&nbsp;in&nbsp;android.graphics.drawable.BitmapDrawable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.BitmapDrawable.html#android.graphics.drawable.BitmapDrawable.setTargetDensity_added(android.util.DisplayMetrics)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>DisplayMetrics</code>)</b>&nbsp;in&nbsp;android.graphics.drawable.BitmapDrawable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.BitmapDrawable.html#android.graphics.drawable.BitmapDrawable.setTargetDensity_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.graphics.drawable.BitmapDrawable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.NinePatchDrawable.html#android.graphics.drawable.NinePatchDrawable.setTargetDensity_added(android.graphics.Canvas)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Canvas</code>)</b>&nbsp;in&nbsp;android.graphics.drawable.NinePatchDrawable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.NinePatchDrawable.html#android.graphics.drawable.NinePatchDrawable.setTargetDensity_added(android.util.DisplayMetrics)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>DisplayMetrics</code>)</b>&nbsp;in&nbsp;android.graphics.drawable.NinePatchDrawable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.NinePatchDrawable.html#android.graphics.drawable.NinePatchDrawable.setTargetDensity_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.graphics.drawable.NinePatchDrawable
+</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="#G"><font size="-2">G</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="#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.content.Intent.html#android.content.Intent.toUri_added(int)" class="hiddenlink" target="rightframe"><b>toUri</b>
+(<code>int</code>)</A></nobr><br>
+<A NAME="U"></A>
+<br><font size="+2">U</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.widget.PopupWindow.html#android.widget.PopupWindow.update_added(int, int)" class="hiddenlink" target="rightframe"><b>update</b>
+(<code>int, int</code>)</A></nobr><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/4/changes/methods_index_all.html b/docs/html/sdk/api_diff/4/changes/methods_index_all.html
new file mode 100644
index 0000000..facbd82
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/methods_index_all.html
@@ -0,0 +1,546 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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">
+<font size="-2"><strong>Bold</strong>&nbsp;indicates&nbsp;New;&nbsp;<strike>Strike</strike>&nbsp;indicates&nbsp;deleted. Plain indicates changed.</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="#G"><font size="-2">G</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="#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.addFocusables_added(java.util.ArrayList<android.view.View>, int, int)" class="hiddenlink" target="rightframe"><b>addFocusables</b>
+(<code>ArrayList&lt;View&gt;, int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.test.AndroidTestCase.html#android.test.AndroidTestCase.assertActivityRequiresPermission_added(java.lang.String, java.lang.String, java.lang.String)" class="hiddenlink" target="rightframe"><b>assertActivityRequiresPermission</b>
+(<code>String, String, String</code>)</A></nobr><br>
+<nobr><A HREF="android.test.AndroidTestCase.html#android.test.AndroidTestCase.assertReadingContentUriRequiresPermission_added(android.net.Uri, java.lang.String)" class="hiddenlink" target="rightframe"><b>assertReadingContentUriRequiresPermission</b>
+(<code>Uri, String</code>)</A></nobr><br>
+<nobr><A HREF="android.test.AndroidTestCase.html#android.test.AndroidTestCase.assertWritingContentUriRequiresPermission_added(android.net.Uri, java.lang.String)" class="hiddenlink" target="rightframe"><b>assertWritingContentUriRequiresPermission</b>
+(<code>Uri, String</code>)</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="#G"><font size="-2">G</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="#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.buildDrawingCache_added(boolean)" class="hiddenlink" target="rightframe"><b>buildDrawingCache</b>
+(<code>boolean</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="#B"><font size="-2">B</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#G"><font size="-2">G</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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>calculateLength</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.calculateLength_changed(java.lang.CharSequence, boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>CharSequence, boolean</code>)&nbsp;in&nbsp;android.telephony.gsm.SmsMessage
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.calculateLength_changed(java.lang.String, boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, boolean</code>)&nbsp;in&nbsp;android.telephony.gsm.SmsMessage
+</A></nobr><br>
+<nobr><A HREF="android.content.ComponentName.html#android.content.ComponentName.compareTo_added(android.content.ComponentName)" class="hiddenlink" target="rightframe"><b>compareTo</b>
+(<code>ComponentName</code>)</A></nobr><br>
+<nobr><A HREF="android.view.VelocityTracker.html#android.view.VelocityTracker.computeCurrentVelocity_added(int, float)" class="hiddenlink" target="rightframe"><b>computeCurrentVelocity</b>
+(<code>int, float</code>)</A></nobr><br>
+<i>createFromFile</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Typeface.html#android.graphics.Typeface.createFromFile_added(java.io.File)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>File</code>)</b>&nbsp;in&nbsp;android.graphics.Typeface
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Typeface.html#android.graphics.Typeface.createFromFile_added(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>String</code>)</b>&nbsp;in&nbsp;android.graphics.Typeface
+</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.createFromPdu_changed(byte[])" class="hiddenlink" target="rightframe">createFromPdu
+(<code>byte[]</code>)</A></nobr><br>
+<nobr><A HREF="android.graphics.drawable.Drawable.html#android.graphics.drawable.Drawable.createFromResourceStream_added(android.content.res.Resources, android.util.TypedValue, java.io.InputStream, java.lang.String)" class="hiddenlink" target="rightframe"><b>createFromResourceStream</b>
+(<code>Resources, TypedValue, InputStream, String</code>)</A></nobr><br>
+<nobr><A HREF="android.net.wifi.WifiManager.html#android.net.wifi.WifiManager.createMulticastLock_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>createMulticastLock</b>
+(<code>String</code>)</A></nobr><br>
+<A NAME="D"></A>
+<br><font size="+2">D</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#G"><font size="-2">G</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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.graphics.BitmapFactory.html#android.graphics.BitmapFactory.decodeResourceStream_added(android.content.res.Resources, android.util.TypedValue, java.io.InputStream, android.graphics.Rect, android.graphics.BitmapFactory.Options)" class="hiddenlink" target="rightframe"><b>decodeResourceStream</b>
+(<code>Resources, TypedValue, InputStream, Rect, Options</code>)</A></nobr><br>
+<i>dispatchPopulateAccessibilityEvent</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Activity.html#android.app.Activity.dispatchPopulateAccessibilityEvent_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AccessibilityEvent</code>)</b>&nbsp;in&nbsp;android.app.Activity
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.app.Dialog.html#android.app.Dialog.dispatchPopulateAccessibilityEvent_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AccessibilityEvent</code>)</b>&nbsp;in&nbsp;android.app.Dialog
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.View.html#android.view.View.dispatchPopulateAccessibilityEvent_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AccessibilityEvent</code>)</b>&nbsp;in&nbsp;android.view.View
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.Window.Callback.html#android.view.Window.Callback.dispatchPopulateAccessibilityEvent_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>AccessibilityEvent</code>)</b>&nbsp;in&nbsp;android.view.Window.Callback
+</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.divideMessage_changed(java.lang.String)" class="hiddenlink" target="rightframe">divideMessage
+(<code>String</code>)</A></nobr><br>
+<A NAME="G"></A>
+<br><font size="+2">G</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>getApplicationInfo</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.Context.html#android.content.Context.getApplicationInfo_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.Context
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.ContextWrapper.html#android.content.ContextWrapper.getApplicationInfo_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.content.ContextWrapper
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockContext.html#android.test.mock.MockContext.getApplicationInfo_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.test.mock.MockContext
+</A></nobr><br>
+<nobr><A HREF="android.media.MediaRecorder.html#android.media.MediaRecorder.getAudioSourceMax_added()" class="hiddenlink" target="rightframe"><b>getAudioSourceMax</b>
+()</A></nobr><br>
+<nobr><A HREF="android.os.RemoteCallbackList.html#android.os.RemoteCallbackList.getBroadcastCookie_added(int)" class="hiddenlink" target="rightframe"><b>getBroadcastCookie</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.ListView.html#android.widget.ListView.getCheckItemIds_added()" class="hiddenlink" target="rightframe"><b>getCheckItemIds</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.getChildTabViewAt_added(int)" class="hiddenlink" target="rightframe"><b>getChildTabViewAt</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.getContentDescription_added()" class="hiddenlink" target="rightframe"><b>getContentDescription</b>
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.getDefault_changed()" class="hiddenlink" target="rightframe">getDefault
+()</A></nobr><br>
+<i>getDensity</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.getDensity_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.graphics.Bitmap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Canvas.html#android.graphics.Canvas.getDensity_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.graphics.Canvas
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.NinePatch.html#android.graphics.NinePatch.getDensity_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.graphics.NinePatch
+</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getDisplayMessageBody_changed()" class="hiddenlink" target="rightframe">getDisplayMessageBody
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getDisplayOriginatingAddress_changed()" class="hiddenlink" target="rightframe">getDisplayOriginatingAddress
+()</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.getDrawingCache_added(boolean)" class="hiddenlink" target="rightframe"><b>getDrawingCache</b>
+(<code>boolean</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.AutoCompleteTextView.html#android.widget.AutoCompleteTextView.getDropDownHeight_added()" class="hiddenlink" target="rightframe"><b>getDropDownHeight</b>
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getEmailBody_changed()" class="hiddenlink" target="rightframe">getEmailBody
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getEmailFrom_changed()" class="hiddenlink" target="rightframe">getEmailFrom
+()</A></nobr><br>
+<nobr><A HREF="android.content.pm.ConfigurationInfo.html#android.content.pm.ConfigurationInfo.getGlEsVersion_added()" class="hiddenlink" target="rightframe"><b>getGlEsVersion</b>
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getIndexOnSim_changed()" class="hiddenlink" target="rightframe">getIndexOnSim
+()</A></nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.getIntent_changed(java.lang.String)" class="hiddenlink" target="rightframe">getIntent
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.app.PendingIntent.html#android.app.PendingIntent.getIntentSender_added()" class="hiddenlink" target="rightframe"><b>getIntentSender</b>
+()</A></nobr><br>
+<i>getLaunchIntentForPackage</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.getLaunchIntentForPackage_changed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String</code>)&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.getLaunchIntentForPackage_changed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String</code>)&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</A></nobr><br>
+<nobr><A HREF="android.view.ViewConfiguration.html#android.view.ViewConfiguration.getMaximumFlingVelocity_added()" class="hiddenlink" target="rightframe"><b>getMaximumFlingVelocity</b>
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getMessageBody_changed()" class="hiddenlink" target="rightframe">getMessageBody
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getMessageClass_changed()" class="hiddenlink" target="rightframe">getMessageClass
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getOriginatingAddress_changed()" class="hiddenlink" target="rightframe">getOriginatingAddress
+()</A></nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.getPackage_added()" class="hiddenlink" target="rightframe"><b>getPackage</b>
+()</A></nobr><br>
+<nobr><A HREF="android.content.ContentProvider.html#android.content.ContentProvider.getPathPermissions_added()" class="hiddenlink" target="rightframe"><b>getPathPermissions</b>
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getPdu_changed()" class="hiddenlink" target="rightframe">getPdu
+()</A></nobr><br>
+<nobr><A HREF="android.location.Address.html#android.location.Address.getPremises_added()" class="hiddenlink" target="rightframe"><b>getPremises</b>
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getProtocolIdentifier_changed()" class="hiddenlink" target="rightframe">getProtocolIdentifier
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getPseudoSubject_changed()" class="hiddenlink" target="rightframe">getPseudoSubject
+()</A></nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.getRouting_changed(int)" class="hiddenlink" target="rightframe">getRouting
+(<code>int</code>)</A></nobr><br>
+<i>getScaledHeight</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.getScaledHeight_added(android.graphics.Canvas)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Canvas</code>)</b>&nbsp;in&nbsp;android.graphics.Bitmap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.getScaledHeight_added(android.util.DisplayMetrics)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>DisplayMetrics</code>)</b>&nbsp;in&nbsp;android.graphics.Bitmap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.getScaledHeight_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.graphics.Bitmap
+</A></nobr><br>
+<nobr><A HREF="android.view.ViewConfiguration.html#android.view.ViewConfiguration.getScaledMaximumFlingVelocity_added()" class="hiddenlink" target="rightframe"><b>getScaledMaximumFlingVelocity</b>
+()</A></nobr><br>
+<i>getScaledWidth</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.getScaledWidth_added(android.graphics.Canvas)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Canvas</code>)</b>&nbsp;in&nbsp;android.graphics.Bitmap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.getScaledWidth_added(android.util.DisplayMetrics)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>DisplayMetrics</code>)</b>&nbsp;in&nbsp;android.graphics.Bitmap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.getScaledWidth_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.graphics.Bitmap
+</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getServiceCenterAddress_changed()" class="hiddenlink" target="rightframe">getServiceCenterAddress
+()</A></nobr><br>
+<nobr><A HREF="android.widget.PopupWindow.html#android.widget.PopupWindow.getSoftInputMode_added()" class="hiddenlink" target="rightframe"><b>getSoftInputMode</b>
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getStatus_changed()" class="hiddenlink" target="rightframe">getStatus
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getStatusOnSim_changed()" class="hiddenlink" target="rightframe">getStatusOnSim
+()</A></nobr><br>
+<nobr><A HREF="android.location.Address.html#android.location.Address.getSubLocality_added()" class="hiddenlink" target="rightframe"><b>getSubLocality</b>
+()</A></nobr><br>
+<i>getSubmitPdu</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getSubmitPdu_changed(java.lang.String, java.lang.String, java.lang.String, boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, String, String, boolean</code>)&nbsp;in&nbsp;android.telephony.gsm.SmsMessage
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getSubmitPdu_changed(java.lang.String, java.lang.String, short, byte[], boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, String, short, byte[], boolean</code>)&nbsp;in&nbsp;android.telephony.gsm.SmsMessage
+</A></nobr><br>
+<nobr><A HREF="android.location.Address.html#android.location.Address.getSubThoroughfare_added()" class="hiddenlink" target="rightframe"><b>getSubThoroughfare</b>
+()</A></nobr><br>
+<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.getTabCount_added()" class="hiddenlink" target="rightframe"><b>getTabCount</b>
+()</A></nobr><br>
+<i>getTag</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.view.View.html#android.view.View.getTag_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.view.View
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TabHost.TabSpec.html#android.widget.TabHost.TabSpec.getTag_added()" class="hiddenlink" target="rightframe">type&nbsp;<b>
+()</b>&nbsp;in&nbsp;android.widget.TabHost.TabSpec
+</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getTimestampMillis_changed()" class="hiddenlink" target="rightframe">getTimestampMillis
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getTPLayerLengthForPDU_changed(java.lang.String)" class="hiddenlink" target="rightframe">getTPLayerLengthForPDU
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getUserData_changed()" class="hiddenlink" target="rightframe">getUserData
+()</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="#G"><font size="-2">G</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-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>installPackage</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.installPackage_removed(android.net.Uri, android.content.pm.IPackageInstallObserver, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Uri, IPackageInstallObserver, int</code>)</strike>&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.installPackage_removed(android.net.Uri)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Uri</code>)</strike>&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.installPackage_removed(android.net.Uri, android.content.pm.IPackageInstallObserver, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Uri, IPackageInstallObserver, int</code>)</strike>&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</A></nobr><br>
+<nobr><A HREF="android.inputmethodservice.KeyboardView.html#android.inputmethodservice.KeyboardView.invalidateAllKeys_added()" class="hiddenlink" target="rightframe"><b>invalidateAllKeys</b>
+()</A></nobr><br>
+<nobr><A HREF="android.inputmethodservice.KeyboardView.html#android.inputmethodservice.KeyboardView.invalidateKey_added(int)" class="hiddenlink" target="rightframe"><b>invalidateKey</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.isCphsMwiMessage_changed()" class="hiddenlink" target="rightframe">isCphsMwiMessage
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.isEmail_changed()" class="hiddenlink" target="rightframe">isEmail
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.isMWIClearMessage_changed()" class="hiddenlink" target="rightframe">isMWIClearMessage
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.isMwiDontStore_changed()" class="hiddenlink" target="rightframe">isMwiDontStore
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.isMWISetMessage_changed()" class="hiddenlink" target="rightframe">isMWISetMessage
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.isReplace_changed()" class="hiddenlink" target="rightframe">isReplace
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.isReplyPathPresent_changed()" class="hiddenlink" target="rightframe">isReplyPathPresent
+()</A></nobr><br>
+<nobr><A HREF="android.content.Context.html#android.content.Context.isRestricted_added()" class="hiddenlink" target="rightframe"><b>isRestricted</b>
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.isStatusReportMessage_changed()" class="hiddenlink" target="rightframe">isStatusReportMessage
+()</A></nobr><br>
+<nobr><A HREF="android.app.LauncherActivity.html#android.app.LauncherActivity.itemForPosition_added(int)" class="hiddenlink" target="rightframe"><b>itemForPosition</b>
+(<code>int</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="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#P"><font size="-2">P</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-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">
+<nobr><A HREF="android.os.RemoteCallbackList.html#android.os.RemoteCallbackList.onCallbackDied_added(E, java.lang.Object)" class="hiddenlink" target="rightframe"><b>onCallbackDied</b>
+(<code>E, Object</code>)</A></nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.onCancel_changed(android.content.DialogInterface)" class="hiddenlink" target="rightframe">onCancel
+(<code>DialogInterface</code>)</A></nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.onDismiss_changed(android.content.DialogInterface)" class="hiddenlink" target="rightframe">onDismiss
+(<code>DialogInterface</code>)</A></nobr><br>
+<A NAME="P"></A>
+<br><font size="+2">P</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#R"><font size="-2">R</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+<a href="#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">
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.parseUri_added(java.lang.String, int)" class="hiddenlink" target="rightframe"><b>parseUri</b>
+(<code>String, int</code>)</A></nobr><br>
+<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.prepareToDraw_added()" class="hiddenlink" target="rightframe"><b>prepareToDraw</b>
+()</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="#G"><font size="-2">G</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="#S"><font size="-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">
+<nobr><A HREF="android.os.RemoteCallbackList.html#android.os.RemoteCallbackList.register_added(E, java.lang.Object)" class="hiddenlink" target="rightframe"><b>register</b>
+(<code>E, Object</code>)</A></nobr><br>
+<A NAME="S"></A>
+<br><font size="+2">S</font>&nbsp;
+<a href="#A"><font size="-2">A</font></a> 
+<a href="#B"><font size="-2">B</font></a> 
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#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="#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">
+<nobr><A HREF="android.view.View.html#android.view.View.sendAccessibilityEvent_added(int)" class="hiddenlink" target="rightframe"><b>sendAccessibilityEvent</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.sendAccessibilityEventUnchecked_added(android.view.accessibility.AccessibilityEvent)" class="hiddenlink" target="rightframe"><b>sendAccessibilityEventUnchecked</b>
+(<code>AccessibilityEvent</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.sendDataMessage_changed(java.lang.String, java.lang.String, short, byte[], android.app.PendingIntent, android.app.PendingIntent)" class="hiddenlink" target="rightframe">sendDataMessage
+(<code>String, String, short, byte[], PendingIntent, PendingIntent</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.sendMultipartTextMessage_changed(java.lang.String, java.lang.String, java.util.ArrayList<java.lang.String>, java.util.ArrayList<android.app.PendingIntent>, java.util.ArrayList<android.app.PendingIntent>)" class="hiddenlink" target="rightframe">sendMultipartTextMessage
+(<code>String, String, ArrayList&lt;String&gt;, ArrayList&lt;PendingIntent&gt;, ArrayList&lt;PendingIntent&gt;</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.sendTextMessage_changed(java.lang.String, java.lang.String, java.lang.String, android.app.PendingIntent, android.app.PendingIntent)" class="hiddenlink" target="rightframe">sendTextMessage
+(<code>String, String, String, PendingIntent, PendingIntent</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.setContentDescription_added(java.lang.CharSequence)" class="hiddenlink" target="rightframe"><b>setContentDescription</b>
+(<code>CharSequence</code>)</A></nobr><br>
+<i>setDensity</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Bitmap.html#android.graphics.Bitmap.setDensity_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.graphics.Bitmap
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.Canvas.html#android.graphics.Canvas.setDensity_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.graphics.Canvas
+</A></nobr><br>
+<i>setDividerDrawable</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.setDividerDrawable_added(android.graphics.drawable.Drawable)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Drawable</code>)</b>&nbsp;in&nbsp;android.widget.TabWidget
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.widget.TabWidget.html#android.widget.TabWidget.setDividerDrawable_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.widget.TabWidget
+</A></nobr><br>
+<nobr><A HREF="android.widget.AutoCompleteTextView.html#android.widget.AutoCompleteTextView.setDropDownHeight_added(int)" class="hiddenlink" target="rightframe"><b>setDropDownHeight</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.TabHost.TabSpec.html#android.widget.TabHost.TabSpec.setIndicator_added(android.view.View)" class="hiddenlink" target="rightframe"><b>setIndicator</b>
+(<code>View</code>)</A></nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.setPackage_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setPackage</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.content.ContentProvider.html#android.content.ContentProvider.setPathPermissions_added(android.content.pm.PathPermission[])" class="hiddenlink" target="rightframe"><b>setPathPermissions</b>
+(<code>PathPermission[]</code>)</A></nobr><br>
+<nobr><A HREF="android.location.Address.html#android.location.Address.setPremises_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setPremises</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.setRouting_changed(int, int, int)" class="hiddenlink" target="rightframe">setRouting
+(<code>int, int, int</code>)</A></nobr><br>
+<nobr><A HREF="android.widget.PopupWindow.html#android.widget.PopupWindow.setSoftInputMode_added(int)" class="hiddenlink" target="rightframe"><b>setSoftInputMode</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.location.Address.html#android.location.Address.setSubLocality_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setSubLocality</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.location.Address.html#android.location.Address.setSubThoroughfare_added(java.lang.String)" class="hiddenlink" target="rightframe"><b>setSubThoroughfare</b>
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.view.View.html#android.view.View.setTag_added(int, java.lang.Object)" class="hiddenlink" target="rightframe"><b>setTag</b>
+(<code>int, Object</code>)</A></nobr><br>
+<i>setTargetDensity</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.BitmapDrawable.html#android.graphics.drawable.BitmapDrawable.setTargetDensity_added(android.graphics.Canvas)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Canvas</code>)</b>&nbsp;in&nbsp;android.graphics.drawable.BitmapDrawable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.BitmapDrawable.html#android.graphics.drawable.BitmapDrawable.setTargetDensity_added(android.util.DisplayMetrics)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>DisplayMetrics</code>)</b>&nbsp;in&nbsp;android.graphics.drawable.BitmapDrawable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.BitmapDrawable.html#android.graphics.drawable.BitmapDrawable.setTargetDensity_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.graphics.drawable.BitmapDrawable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.NinePatchDrawable.html#android.graphics.drawable.NinePatchDrawable.setTargetDensity_added(android.graphics.Canvas)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>Canvas</code>)</b>&nbsp;in&nbsp;android.graphics.drawable.NinePatchDrawable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.NinePatchDrawable.html#android.graphics.drawable.NinePatchDrawable.setTargetDensity_added(android.util.DisplayMetrics)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>DisplayMetrics</code>)</b>&nbsp;in&nbsp;android.graphics.drawable.NinePatchDrawable
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.graphics.drawable.NinePatchDrawable.html#android.graphics.drawable.NinePatchDrawable.setTargetDensity_added(int)" class="hiddenlink" target="rightframe">type&nbsp;<b>
+(<code>int</code>)</b>&nbsp;in&nbsp;android.graphics.drawable.NinePatchDrawable
+</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="#G"><font size="-2">G</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="#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.content.Intent.html#android.content.Intent.toUri_added(int)" class="hiddenlink" target="rightframe"><b>toUri</b>
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.toURI_changed()" class="hiddenlink" target="rightframe">toURI
+()</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="#G"><font size="-2">G</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="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.widget.PopupWindow.html#android.widget.PopupWindow.update_added(int, int)" class="hiddenlink" target="rightframe"><b>update</b>
+(<code>int, int</code>)</A></nobr><br>
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/4/changes/methods_index_changes.html b/docs/html/sdk/api_diff/4/changes/methods_index_changes.html
new file mode 100644
index 0000000..d6088f3
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/methods_index_changes.html
@@ -0,0 +1,226 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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">
+<font size="-2"><strong>Bold</strong>&nbsp;indicates&nbsp;New;&nbsp;<strike>Strike</strike>&nbsp;indicates&nbsp;deleted. Plain indicates changed.</font>
+</div>
+<A NAME="C"></A>
+<br><font size="+2">C</font>&nbsp;
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#O"><font size="-2">O</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">
+<i>calculateLength</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.calculateLength_changed(java.lang.CharSequence, boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>CharSequence, boolean</code>)&nbsp;in&nbsp;android.telephony.gsm.SmsMessage
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.calculateLength_changed(java.lang.String, boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, boolean</code>)&nbsp;in&nbsp;android.telephony.gsm.SmsMessage
+</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.createFromPdu_changed(byte[])" class="hiddenlink" target="rightframe">createFromPdu
+(<code>byte[]</code>)</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="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#O"><font size="-2">O</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.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.divideMessage_changed(java.lang.String)" class="hiddenlink" target="rightframe">divideMessage
+(<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="#I"><font size="-2">I</font></a> 
+<a href="#O"><font size="-2">O</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.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.getDefault_changed()" class="hiddenlink" target="rightframe">getDefault
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getDisplayMessageBody_changed()" class="hiddenlink" target="rightframe">getDisplayMessageBody
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getDisplayOriginatingAddress_changed()" class="hiddenlink" target="rightframe">getDisplayOriginatingAddress
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getEmailBody_changed()" class="hiddenlink" target="rightframe">getEmailBody
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getEmailFrom_changed()" class="hiddenlink" target="rightframe">getEmailFrom
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getIndexOnSim_changed()" class="hiddenlink" target="rightframe">getIndexOnSim
+()</A></nobr><br>
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.getIntent_changed(java.lang.String)" class="hiddenlink" target="rightframe">getIntent
+(<code>String</code>)</A></nobr><br>
+<i>getLaunchIntentForPackage</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.getLaunchIntentForPackage_changed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String</code>)&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.getLaunchIntentForPackage_changed(java.lang.String)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String</code>)&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getMessageBody_changed()" class="hiddenlink" target="rightframe">getMessageBody
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getMessageClass_changed()" class="hiddenlink" target="rightframe">getMessageClass
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getOriginatingAddress_changed()" class="hiddenlink" target="rightframe">getOriginatingAddress
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getPdu_changed()" class="hiddenlink" target="rightframe">getPdu
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getProtocolIdentifier_changed()" class="hiddenlink" target="rightframe">getProtocolIdentifier
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getPseudoSubject_changed()" class="hiddenlink" target="rightframe">getPseudoSubject
+()</A></nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.getRouting_changed(int)" class="hiddenlink" target="rightframe">getRouting
+(<code>int</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getServiceCenterAddress_changed()" class="hiddenlink" target="rightframe">getServiceCenterAddress
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getStatus_changed()" class="hiddenlink" target="rightframe">getStatus
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getStatusOnSim_changed()" class="hiddenlink" target="rightframe">getStatusOnSim
+()</A></nobr><br>
+<i>getSubmitPdu</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getSubmitPdu_changed(java.lang.String, java.lang.String, java.lang.String, boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, String, String, boolean</code>)&nbsp;in&nbsp;android.telephony.gsm.SmsMessage
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getSubmitPdu_changed(java.lang.String, java.lang.String, short, byte[], boolean)" class="hiddenlink" target="rightframe">type&nbsp;
+(<code>String, String, short, byte[], boolean</code>)&nbsp;in&nbsp;android.telephony.gsm.SmsMessage
+</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getTimestampMillis_changed()" class="hiddenlink" target="rightframe">getTimestampMillis
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getTPLayerLengthForPDU_changed(java.lang.String)" class="hiddenlink" target="rightframe">getTPLayerLengthForPDU
+(<code>String</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.getUserData_changed()" class="hiddenlink" target="rightframe">getUserData
+()</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="#G"><font size="-2">G</font></a> 
+<a href="#O"><font size="-2">O</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.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.isCphsMwiMessage_changed()" class="hiddenlink" target="rightframe">isCphsMwiMessage
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.isEmail_changed()" class="hiddenlink" target="rightframe">isEmail
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.isMWIClearMessage_changed()" class="hiddenlink" target="rightframe">isMWIClearMessage
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.isMwiDontStore_changed()" class="hiddenlink" target="rightframe">isMwiDontStore
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.isMWISetMessage_changed()" class="hiddenlink" target="rightframe">isMWISetMessage
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.isReplace_changed()" class="hiddenlink" target="rightframe">isReplace
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.isReplyPathPresent_changed()" class="hiddenlink" target="rightframe">isReplyPathPresent
+()</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsMessage.html#android.telephony.gsm.SmsMessage.isStatusReportMessage_changed()" class="hiddenlink" target="rightframe">isStatusReportMessage
+()</A></nobr><br>
+<A NAME="O"></A>
+<br><font size="+2">O</font>&nbsp;
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#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.app.SearchManager.html#android.app.SearchManager.onCancel_changed(android.content.DialogInterface)" class="hiddenlink" target="rightframe">onCancel
+(<code>DialogInterface</code>)</A></nobr><br>
+<nobr><A HREF="android.app.SearchManager.html#android.app.SearchManager.onDismiss_changed(android.content.DialogInterface)" class="hiddenlink" target="rightframe">onDismiss
+(<code>DialogInterface</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="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#O"><font size="-2">O</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.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.sendDataMessage_changed(java.lang.String, java.lang.String, short, byte[], android.app.PendingIntent, android.app.PendingIntent)" class="hiddenlink" target="rightframe">sendDataMessage
+(<code>String, String, short, byte[], PendingIntent, PendingIntent</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.sendMultipartTextMessage_changed(java.lang.String, java.lang.String, java.util.ArrayList<java.lang.String>, java.util.ArrayList<android.app.PendingIntent>, java.util.ArrayList<android.app.PendingIntent>)" class="hiddenlink" target="rightframe">sendMultipartTextMessage
+(<code>String, String, ArrayList&lt;String&gt;, ArrayList&lt;PendingIntent&gt;, ArrayList&lt;PendingIntent&gt;</code>)</A></nobr><br>
+<nobr><A HREF="android.telephony.gsm.SmsManager.html#android.telephony.gsm.SmsManager.sendTextMessage_changed(java.lang.String, java.lang.String, java.lang.String, android.app.PendingIntent, android.app.PendingIntent)" class="hiddenlink" target="rightframe">sendTextMessage
+(<code>String, String, String, PendingIntent, PendingIntent</code>)</A></nobr><br>
+<nobr><A HREF="android.media.AudioManager.html#android.media.AudioManager.setRouting_changed(int, int, int)" class="hiddenlink" target="rightframe">setRouting
+(<code>int, int, int</code>)</A></nobr><br>
+<A NAME="T"></A>
+<br><font size="+2">T</font>&nbsp;
+<a href="#C"><font size="-2">C</font></a> 
+<a href="#D"><font size="-2">D</font></a> 
+<a href="#G"><font size="-2">G</font></a> 
+<a href="#I"><font size="-2">I</font></a> 
+<a href="#O"><font size="-2">O</font></a> 
+<a href="#S"><font size="-2">S</font></a> 
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<nobr><A HREF="android.content.Intent.html#android.content.Intent.toURI_changed()" class="hiddenlink" target="rightframe">toURI
+()</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/4/changes/methods_index_removals.html b/docs/html/sdk/api_diff/4/changes/methods_index_removals.html
new file mode 100644
index 0000000..1cd2dc6
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/methods_index_removals.html
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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">
+<font size="-2"><strong>Bold</strong>&nbsp;indicates&nbsp;New;&nbsp;<strike>Strike</strike>&nbsp;indicates&nbsp;deleted. Plain indicates changed.</font>
+</div>
+<A NAME="I"></A>
+<br><font size="+2">I</font>&nbsp;
+ <a href="#topheader"><font size="-2">TOP</font></a>
+<p><div style="line-height:1.5em;color:black">
+<i>installPackage</i><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.installPackage_removed(android.net.Uri, android.content.pm.IPackageInstallObserver, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Uri, IPackageInstallObserver, int</code>)</strike>&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.content.pm.PackageManager.html#android.content.pm.PackageManager.installPackage_removed(android.net.Uri)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Uri</code>)</strike>&nbsp;in&nbsp;android.content.pm.PackageManager
+</A></nobr><br>
+&nbsp;&nbsp;<nobr><A HREF="android.test.mock.MockPackageManager.html#android.test.mock.MockPackageManager.installPackage_removed(android.net.Uri, android.content.pm.IPackageInstallObserver, int)" class="hiddenlink" target="rightframe">type&nbsp;<strike>
+(<code>Uri, IPackageInstallObserver, int</code>)</strike>&nbsp;in&nbsp;android.test.mock.MockPackageManager
+</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/4/changes/packages_index_additions.html b/docs/html/sdk/api_diff/4/changes/packages_index_additions.html
new file mode 100644
index 0000000..3bac440
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/packages_index_additions.html
@@ -0,0 +1,68 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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">
+<font size="-2"><strong>Bold</strong>&nbsp;indicates&nbsp;New;&nbsp;<strike>Strike</strike>&nbsp;indicates&nbsp;deleted. Plain indicates changed.</font>
+</div>
+<br>
+<div id="indexTableEntries">
+<A NAME="A"></A>
+<A HREF="changes-summary.html#android.accessibilityservice" class="hiddenlink" target="rightframe"><b>android.accessibilityservice</b></A><br>
+<A HREF="changes-summary.html#android.gesture" class="hiddenlink" target="rightframe"><b>android.gesture</b></A><br>
+<A HREF="changes-summary.html#android.speech.tts" class="hiddenlink" target="rightframe"><b>android.speech.tts</b></A><br>
+<A HREF="changes-summary.html#android.view.accessibility" class="hiddenlink" target="rightframe"><b>android.view.accessibility</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/4/changes/packages_index_all.html b/docs/html/sdk/api_diff/4/changes/packages_index_all.html
new file mode 100644
index 0000000..7e0b561
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/packages_index_all.html
@@ -0,0 +1,96 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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">
+<font size="-2"><strong>Bold</strong>&nbsp;indicates&nbsp;New;&nbsp;<strike>Strike</strike>&nbsp;indicates&nbsp;deleted. Plain indicates changed.</font>
+</div>
+<br>
+<div id="indexTableEntries">
+<A NAME="A"></A>
+<A HREF="pkg_android.html" class="hiddenlink" target="rightframe">android</A><br>
+<A HREF="changes-summary.html#android.accessibilityservice" class="hiddenlink" target="rightframe"><b>android.accessibilityservice</b></A><br>
+<A HREF="pkg_android.app.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<A HREF="pkg_android.content.html" class="hiddenlink" target="rightframe">android.content</A><br>
+<A HREF="pkg_android.content.pm.html" class="hiddenlink" target="rightframe">android.content.pm</A><br>
+<A HREF="pkg_android.content.res.html" class="hiddenlink" target="rightframe">android.content.res</A><br>
+<A HREF="changes-summary.html#android.gesture" class="hiddenlink" target="rightframe"><b>android.gesture</b></A><br>
+<A HREF="pkg_android.graphics.html" class="hiddenlink" target="rightframe">android.graphics</A><br>
+<A HREF="pkg_android.graphics.drawable.html" class="hiddenlink" target="rightframe">android.graphics.drawable</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.location.html" class="hiddenlink" target="rightframe">android.location</A><br>
+<A HREF="pkg_android.media.html" class="hiddenlink" target="rightframe">android.media</A><br>
+<A HREF="pkg_android.net.wifi.html" class="hiddenlink" target="rightframe">android.net.wifi</A><br>
+<A HREF="pkg_android.opengl.html" class="hiddenlink" target="rightframe">android.opengl</A><br>
+<A HREF="pkg_android.os.html" class="hiddenlink" target="rightframe">android.os</A><br>
+<A HREF="pkg_android.provider.html" class="hiddenlink" target="rightframe">android.provider</A><br>
+<A HREF="changes-summary.html#android.speech.tts" class="hiddenlink" target="rightframe"><b>android.speech.tts</b></A><br>
+<A HREF="pkg_android.telephony.html" class="hiddenlink" target="rightframe">android.telephony</A><br>
+<A HREF="pkg_android.telephony.gsm.html" class="hiddenlink" target="rightframe">android.telephony.gsm</A><br>
+<A HREF="pkg_android.test.html" class="hiddenlink" target="rightframe">android.test</A><br>
+<A HREF="pkg_android.test.mock.html" class="hiddenlink" target="rightframe">android.test.mock</A><br>
+<A HREF="pkg_android.text.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="changes-summary.html#android.view.accessibility" class="hiddenlink" target="rightframe"><b>android.view.accessibility</b></A><br>
+<A HREF="pkg_android.view.animation.html" class="hiddenlink" target="rightframe">android.view.animation</A><br>
+<A HREF="pkg_android.widget.html" class="hiddenlink" target="rightframe">android.widget</A><br>
+<A NAME="J"></A>
+<A HREF="pkg_java.lang.html" class="hiddenlink" target="rightframe">java.lang</A><br>
+<A HREF="pkg_java.net.html" class="hiddenlink" target="rightframe">java.net</A><br>
+<A HREF="pkg_java.util.html" class="hiddenlink" target="rightframe">java.util</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/4/changes/packages_index_changes.html b/docs/html/sdk/api_diff/4/changes/packages_index_changes.html
new file mode 100644
index 0000000..ed51c87
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/packages_index_changes.html
@@ -0,0 +1,92 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs 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">
+<font size="-2"><strong>Bold</strong>&nbsp;indicates&nbsp;New;&nbsp;<strike>Strike</strike>&nbsp;indicates&nbsp;deleted. Plain indicates changed.</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.app.html" class="hiddenlink" target="rightframe">android.app</A><br>
+<A HREF="pkg_android.content.html" class="hiddenlink" target="rightframe">android.content</A><br>
+<A HREF="pkg_android.content.pm.html" class="hiddenlink" target="rightframe">android.content.pm</A><br>
+<A HREF="pkg_android.content.res.html" class="hiddenlink" target="rightframe">android.content.res</A><br>
+<A HREF="pkg_android.graphics.html" class="hiddenlink" target="rightframe">android.graphics</A><br>
+<A HREF="pkg_android.graphics.drawable.html" class="hiddenlink" target="rightframe">android.graphics.drawable</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.location.html" class="hiddenlink" target="rightframe">android.location</A><br>
+<A HREF="pkg_android.media.html" class="hiddenlink" target="rightframe">android.media</A><br>
+<A HREF="pkg_android.net.wifi.html" class="hiddenlink" target="rightframe">android.net.wifi</A><br>
+<A HREF="pkg_android.opengl.html" class="hiddenlink" target="rightframe">android.opengl</A><br>
+<A HREF="pkg_android.os.html" class="hiddenlink" target="rightframe">android.os</A><br>
+<A HREF="pkg_android.provider.html" class="hiddenlink" target="rightframe">android.provider</A><br>
+<A HREF="pkg_android.telephony.html" class="hiddenlink" target="rightframe">android.telephony</A><br>
+<A HREF="pkg_android.telephony.gsm.html" class="hiddenlink" target="rightframe">android.telephony.gsm</A><br>
+<A HREF="pkg_android.test.html" class="hiddenlink" target="rightframe">android.test</A><br>
+<A HREF="pkg_android.test.mock.html" class="hiddenlink" target="rightframe">android.test.mock</A><br>
+<A HREF="pkg_android.text.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.animation.html" class="hiddenlink" target="rightframe">android.view.animation</A><br>
+<A HREF="pkg_android.widget.html" class="hiddenlink" target="rightframe">android.widget</A><br>
+<A NAME="J"></A>
+<A HREF="pkg_java.lang.html" class="hiddenlink" target="rightframe">java.lang</A><br>
+<A HREF="pkg_java.net.html" class="hiddenlink" target="rightframe">java.net</A><br>
+<A HREF="pkg_java.util.html" class="hiddenlink" target="rightframe">java.util</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/4/changes/packages_index_removals.html b/docs/html/sdk/api_diff/4/changes/packages_index_removals.html
new file mode 100644
index 0000000..d4d0afb
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/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">
+<font size="-2"><strong>Bold</strong>&nbsp;indicates&nbsp;New;&nbsp;<strike>Strike</strike>&nbsp;indicates&nbsp;deleted. Plain indicates changed.</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/4/changes/pkg_android.app.html b/docs/html/sdk/api_diff/4/changes/pkg_android.app.html
new file mode 100644
index 0000000..212abba
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/pkg_android.app.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.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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Activity"></A>
+  <nobr><A HREF="android.app.Activity.html">Activity</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Dialog"></A>
+  <nobr><A HREF="android.app.Dialog.html">Dialog</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LauncherActivity"></A>
+  <nobr><A HREF="android.app.LauncherActivity.html">LauncherActivity</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="LauncherActivity.ListItem"></A>
+  <nobr><A HREF="android.app.LauncherActivity.ListItem.html">LauncherActivity.ListItem</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>
+</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/4/changes/pkg_android.content.html b/docs/html/sdk/api_diff/4/changes/pkg_android.content.html
new file mode 100644
index 0000000..6b07fc4
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/pkg_android.content.html
@@ -0,0 +1,176 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/content/package-summary.html" target="_top"><font size="+1"><code>android.content</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes and Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes and Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="IntentSender"></A>
+  <nobr><A HREF="../../../../reference/android/content/IntentSender.html" target="_top"><code>IntentSender</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="IntentSender.OnFinished"></A>
+  <nobr><A HREF="../../../../reference/android/content/IntentSender.OnFinished.html" target="_top"><code><I>IntentSender.OnFinished</I></code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="IntentSender.SendIntentException"></A>
+  <nobr><A HREF="../../../../reference/android/content/IntentSender.SendIntentException.html" target="_top"><code>IntentSender.SendIntentException</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="ComponentName"></A>
+  <nobr><A HREF="android.content.ComponentName.html">ComponentName</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="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="ContextWrapper"></A>
+  <nobr><A HREF="android.content.ContextWrapper.html">ContextWrapper</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Intent"></A>
+  <nobr><A HREF="android.content.Intent.html">Intent</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</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/4/changes/pkg_android.content.pm.html b/docs/html/sdk/api_diff/4/changes/pkg_android.content.pm.html
new file mode 100644
index 0000000..c8f0d36
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/pkg_android.content.pm.html
@@ -0,0 +1,184 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are 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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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="Removed"></a>
+<TABLE summary="Removed Classes and Interfaces" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Removed Classes and Interfaces</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="IPackageInstallObserver"></A>
+  <I>IPackageInstallObserver</I>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="IPackageInstallObserver.Stub"></A>
+  IPackageInstallObserver.Stub
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<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="PathPermission"></A>
+  <nobr><A HREF="../../../../reference/android/content/pm/PathPermission.html" target="_top"><code>PathPermission</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="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="ConfigurationInfo"></A>
+  <nobr><A HREF="android.content.pm.ConfigurationInfo.html">ConfigurationInfo</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="ProviderInfo"></A>
+  <nobr><A HREF="android.content.pm.ProviderInfo.html">ProviderInfo</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/4/changes/pkg_android.content.res.html b/docs/html/sdk/api_diff/4/changes/pkg_android.content.res.html
new file mode 100644
index 0000000..2b6d95a
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/pkg_android.content.res.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.content.res
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/content/res/package-summary.html" target="_top"><font size="+1"><code>android.content.res</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Configuration"></A>
+  <nobr><A HREF="android.content.res.Configuration.html">Configuration</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/4/changes/pkg_android.graphics.drawable.html b/docs/html/sdk/api_diff/4/changes/pkg_android.graphics.drawable.html
new file mode 100644
index 0000000..e8033a3
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/pkg_android.graphics.drawable.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.graphics.drawable
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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/drawable/package-summary.html" target="_top"><font size="+1"><code>android.graphics.drawable</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="Animatable"></A>
+  <nobr><A HREF="../../../../reference/android/graphics/drawable/Animatable.html" target="_top"><code><I>Animatable</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="AnimationDrawable"></A>
+  <nobr><A HREF="android.graphics.drawable.AnimationDrawable.html">AnimationDrawable</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BitmapDrawable"></A>
+  <nobr><A HREF="android.graphics.drawable.BitmapDrawable.html">BitmapDrawable</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Drawable"></A>
+  <nobr><A HREF="android.graphics.drawable.Drawable.html">Drawable</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="NinePatchDrawable"></A>
+  <nobr><A HREF="android.graphics.drawable.NinePatchDrawable.html">NinePatchDrawable</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/4/changes/pkg_android.graphics.html b/docs/html/sdk/api_diff/4/changes/pkg_android.graphics.html
new file mode 100644
index 0000000..3c69a1e
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/pkg_android.graphics.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.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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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="Bitmap"></A>
+  <nobr><A HREF="android.graphics.Bitmap.html">Bitmap</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BitmapFactory"></A>
+  <nobr><A HREF="android.graphics.BitmapFactory.html">BitmapFactory</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BitmapFactory.Options"></A>
+  <nobr><A HREF="android.graphics.BitmapFactory.Options.html">BitmapFactory.Options</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<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="NinePatch"></A>
+  <nobr><A HREF="android.graphics.NinePatch.html">NinePatch</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Typeface"></A>
+  <nobr><A HREF="android.graphics.Typeface.html">Typeface</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/4/changes/pkg_android.hardware.html b/docs/html/sdk/api_diff/4/changes/pkg_android.hardware.html
new file mode 100644
index 0000000..5a51d12
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/pkg_android.hardware.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.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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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="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="SensorManager"></A>
+  <nobr><A HREF="android.hardware.SensorManager.html">SensorManager</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/4/changes/pkg_android.html b/docs/html/sdk/api_diff/4/changes/pkg_android.html
new file mode 100644
index 0000000..8ea8efe
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/pkg_android.html
@@ -0,0 +1,203 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are 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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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="Manifest.permission_group"></A>
+  <nobr><A HREF="android.Manifest.permission_group.html">Manifest.permission_group</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="R.anim"></A>
+  <nobr><A HREF="android.R.anim.html">R.anim</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="R.array"></A>
+  <nobr><A HREF="android.R.array.html">R.array</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.dimen"></A>
+  <nobr><A HREF="android.R.dimen.html">R.dimen</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="R.drawable"></A>
+  <nobr><A HREF="android.R.drawable.html">R.drawable</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="R.id"></A>
+  <nobr><A HREF="android.R.id.html">R.id</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<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.layout"></A>
+  <nobr><A HREF="android.R.layout.html">R.layout</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/4/changes/pkg_android.inputmethodservice.html b/docs/html/sdk/api_diff/4/changes/pkg_android.inputmethodservice.html
new file mode 100644
index 0000000..57913d9
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/pkg_android.inputmethodservice.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.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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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="KeyboardView"></A>
+  <nobr><A HREF="android.inputmethodservice.KeyboardView.html">KeyboardView</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/4/changes/pkg_android.location.html b/docs/html/sdk/api_diff/4/changes/pkg_android.location.html
new file mode 100644
index 0000000..9c803b4
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/pkg_android.location.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.location
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/location/package-summary.html" target="_top"><font size="+1"><code>android.location</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Address"></A>
+  <nobr><A HREF="android.location.Address.html">Address</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/4/changes/pkg_android.media.html b/docs/html/sdk/api_diff/4/changes/pkg_android.media.html
new file mode 100644
index 0000000..4017876
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/pkg_android.media.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.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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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="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="MediaRecorder"></A>
+  <nobr><A HREF="android.media.MediaRecorder.html">MediaRecorder</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MediaRecorder.AudioSource"></A>
+  <nobr><A HREF="android.media.MediaRecorder.AudioSource.html">MediaRecorder.AudioSource</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ToneGenerator"></A>
+  <nobr><A HREF="android.media.ToneGenerator.html">ToneGenerator</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/4/changes/pkg_android.net.wifi.html b/docs/html/sdk/api_diff/4/changes/pkg_android.net.wifi.html
new file mode 100644
index 0000000..ad844fd
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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="WifiManager.MulticastLock"></A>
+  <nobr><A HREF="../../../../reference/android/net/wifi/WifiManager.MulticastLock.html" target="_top"><code>WifiManager.MulticastLock</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/4/changes/pkg_android.opengl.html b/docs/html/sdk/api_diff/4/changes/pkg_android.opengl.html
new file mode 100644
index 0000000..ceb4326
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/pkg_android.opengl.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.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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/opengl/package-summary.html" target="_top"><font size="+1"><code>android.opengl</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Added Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GLES10"></A>
+  <nobr><A HREF="../../../../reference/android/opengl/GLES10.html" target="_top"><code>GLES10</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GLES10Ext"></A>
+  <nobr><A HREF="../../../../reference/android/opengl/GLES10Ext.html" target="_top"><code>GLES10Ext</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GLES11"></A>
+  <nobr><A HREF="../../../../reference/android/opengl/GLES11.html" target="_top"><code>GLES11</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="GLES11Ext"></A>
+  <nobr><A HREF="../../../../reference/android/opengl/GLES11Ext.html" target="_top"><code>GLES11Ext</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/4/changes/pkg_android.os.html b/docs/html/sdk/api_diff/4/changes/pkg_android.os.html
new file mode 100644
index 0000000..175e365
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/pkg_android.os.html
@@ -0,0 +1,148 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/os/package-summary.html" target="_top"><font size="+1"><code>android.os</code></font></A>
+</H2>
+<p>
+<a NAME="Added"></a>
+<TABLE summary="Added Classes" 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="Build.VERSION_CODES"></A>
+  <nobr><A HREF="../../../../reference/android/os/Build.VERSION_CODES.html" target="_top"><code>Build.VERSION_CODES</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Build"></A>
+  <nobr><A HREF="android.os.Build.html">Build</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Build.VERSION"></A>
+  <nobr><A HREF="android.os.Build.VERSION.html">Build.VERSION</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="RemoteCallbackList"></A>
+  <nobr><A HREF="android.os.RemoteCallbackList.html">RemoteCallbackList</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/4/changes/pkg_android.provider.html b/docs/html/sdk/api_diff/4/changes/pkg_android.provider.html
new file mode 100644
index 0000000..44458da
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/pkg_android.provider.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.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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/provider/package-summary.html" target="_top"><font size="+1"><code>android.provider</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" 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="MediaStore.Audio.Genres.Members"></A>
+  <nobr><A HREF="android.provider.MediaStore.Audio.Genres.Members.html">MediaStore.Audio.Genres.<br>Members</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MediaStore.Audio.Media"></A>
+  <nobr><A HREF="android.provider.MediaStore.Audio.Media.html">MediaStore.Audio.Media</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/4/changes/pkg_android.telephony.gsm.html b/docs/html/sdk/api_diff/4/changes/pkg_android.telephony.gsm.html
new file mode 100644
index 0000000..0c1fd78
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/pkg_android.telephony.gsm.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.telephony.gsm
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/telephony/gsm/package-summary.html" target="_top"><font size="+1"><code>android.telephony.gsm</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="SmsManager"></A>
+  <nobr><A HREF="android.telephony.gsm.SmsManager.html">SmsManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SmsMessage"></A>
+  <nobr><A HREF="android.telephony.gsm.SmsMessage.html">SmsMessage</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SmsMessage.MessageClass"></A>
+  <nobr><A HREF="android.telephony.gsm.SmsMessage.MessageClass.html">SmsMessage.MessageClass</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SmsMessage.SubmitPdu"></A>
+  <nobr><A HREF="android.telephony.gsm.SmsMessage.SubmitPdu.html">SmsMessage.SubmitPdu</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/4/changes/pkg_android.telephony.html b/docs/html/sdk/api_diff/4/changes/pkg_android.telephony.html
new file mode 100644
index 0000000..b6e7b90
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/pkg_android.telephony.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.telephony
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/telephony/package-summary.html" target="_top"><font size="+1"><code>android.telephony</code></font></A>
+</H2>
+<p>
+<a NAME="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="SmsManager"></A>
+  <nobr><A HREF="../../../../reference/android/telephony/SmsManager.html" target="_top"><code>SmsManager</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SmsMessage"></A>
+  <nobr><A HREF="../../../../reference/android/telephony/SmsMessage.html" target="_top"><code>SmsMessage</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SmsMessage.MessageClass"></A>
+  <nobr><A HREF="../../../../reference/android/telephony/SmsMessage.MessageClass.html" target="_top"><code>SmsMessage.MessageClass</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="SmsMessage.SubmitPdu"></A>
+  <nobr><A HREF="../../../../reference/android/telephony/SmsMessage.SubmitPdu.html" target="_top"><code>SmsMessage.SubmitPdu</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/4/changes/pkg_android.test.html b/docs/html/sdk/api_diff/4/changes/pkg_android.test.html
new file mode 100644
index 0000000..ad91cd4
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/pkg_android.test.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.test
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/test/package-summary.html" target="_top"><font size="+1"><code>android.test</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AndroidTestCase"></A>
+  <nobr><A HREF="android.test.AndroidTestCase.html">AndroidTestCase</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/4/changes/pkg_android.test.mock.html b/docs/html/sdk/api_diff/4/changes/pkg_android.test.mock.html
new file mode 100644
index 0000000..bea2724
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/pkg_android.test.mock.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.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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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="MockContext"></A>
+  <nobr><A HREF="android.test.mock.MockContext.html">MockContext</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="MockPackageManager"></A>
+  <nobr><A HREF="android.test.mock.MockPackageManager.html">MockPackageManager</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+      </div>	
+      <div id="footer">
+        <div id="copyright">
+        Except as noted, this content is licensed under 
+        <a href="http://creativecommons.org/licenses/by/2.5/"> Creative Commons Attribution 2.5</a>.
+        For details and restrictions, see the <a href="/license.html">Content License</a>.
+        </div>
+      <div id="footerlinks">
+      <p>
+        <a href="http://www.android.com/terms.html">Site Terms of Service</a> -
+        <a href="http://www.android.com/privacy.html">Privacy Policy</a> -
+        <a href="http://www.android.com/branding.html">Brand Guidelines</a>
+      </p>
+    </div>
+    </div> <!-- end footer -->
+    </div><!-- end doc-content -->
+    </div> <!-- end body-content --> 
+<script src="http://www.google-analytics.com/ga.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+  try {
+    var pageTracker = _gat._getTracker("UA-5831155-1");
+    pageTracker._setAllowAnchor(true);
+    pageTracker._initData();
+    pageTracker._trackPageview();
+  } catch(e) {}
+</script>
+</BODY>
+</HTML>
diff --git a/docs/html/sdk/api_diff/4/changes/pkg_android.text.style.html b/docs/html/sdk/api_diff/4/changes/pkg_android.text.style.html
new file mode 100644
index 0000000..d248546
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/pkg_android.text.style.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.text.style
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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="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="ImageSpan"></A>
+  <nobr><A HREF="android.text.style.ImageSpan.html">ImageSpan</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/4/changes/pkg_android.util.html b/docs/html/sdk/api_diff/4/changes/pkg_android.util.html
new file mode 100644
index 0000000..1efbe7d
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/pkg_android.util.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
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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="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="DisplayMetrics"></A>
+  <nobr><A HREF="android.util.DisplayMetrics.html">DisplayMetrics</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TypedValue"></A>
+  <nobr><A HREF="android.util.TypedValue.html">TypedValue</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/4/changes/pkg_android.view.animation.html b/docs/html/sdk/api_diff/4/changes/pkg_android.view.animation.html
new file mode 100644
index 0000000..ed53b79
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/pkg_android.view.animation.html
@@ -0,0 +1,140 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+android.view.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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/android/view/animation/package-summary.html" target="_top"><font size="+1"><code>android.view.animation</code></font></A>
+</H2>
+<p>
+<a NAME="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="AnticipateInterpolator"></A>
+  <nobr><A HREF="../../../../reference/android/view/animation/AnticipateInterpolator.html" target="_top"><code>AnticipateInterpolator</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="AnticipateOvershootInterpolator"></A>
+  <nobr><A HREF="../../../../reference/android/view/animation/AnticipateOvershootInterpolator.html" target="_top"><code>AnticipateOvershootInterpolator</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="BounceInterpolator"></A>
+  <nobr><A HREF="../../../../reference/android/view/animation/BounceInterpolator.html" target="_top"><code>BounceInterpolator</code></A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="OvershootInterpolator"></A>
+  <nobr><A HREF="../../../../reference/android/view/animation/OvershootInterpolator.html" target="_top"><code>OvershootInterpolator</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/4/changes/pkg_android.view.html b/docs/html/sdk/api_diff/4/changes/pkg_android.view.html
new file mode 100644
index 0000000..dc852195
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/pkg_android.view.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.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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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" 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="ViewDebug.FlagToString"></A>
+  <nobr><A HREF="../../../../reference/android/view/ViewDebug.FlagToString.html" target="_top"><code>ViewDebug.FlagToString</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="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="VelocityTracker"></A>
+  <nobr><A HREF="android.view.VelocityTracker.html">VelocityTracker</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="View"></A>
+  <nobr><A HREF="android.view.View.html">View</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ViewConfiguration"></A>
+  <nobr><A HREF="android.view.ViewConfiguration.html">ViewConfiguration</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Window.Callback"></A>
+  <nobr><A HREF="android.view.Window.Callback.html"><I>Window.Callback</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/4/changes/pkg_android.widget.html b/docs/html/sdk/api_diff/4/changes/pkg_android.widget.html
new file mode 100644
index 0000000..8a1cb3b
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/pkg_android.widget.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.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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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="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="AutoCompleteTextView"></A>
+  <nobr><A HREF="android.widget.AutoCompleteTextView.html">AutoCompleteTextView</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="CheckedTextView"></A>
+  <nobr><A HREF="android.widget.CheckedTextView.html">CheckedTextView</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="ListView"></A>
+  <nobr><A HREF="android.widget.ListView.html">ListView</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="PopupWindow"></A>
+  <nobr><A HREF="android.widget.PopupWindow.html">PopupWindow</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TabHost.TabSpec"></A>
+  <nobr><A HREF="android.widget.TabHost.TabSpec.html">TabHost.TabSpec</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="TabWidget"></A>
+  <nobr><A HREF="android.widget.TabWidget.html">TabWidget</A></nobr>
+  </TD>
+  <TD>&nbsp;</TD>
+</TR>
+</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/4/changes/pkg_java.lang.html b/docs/html/sdk/api_diff/4/changes/pkg_java.lang.html
new file mode 100644
index 0000000..995f660
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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="String"></A>
+  <nobr><A HREF="java.lang.String.html">String</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/4/changes/pkg_java.net.html b/docs/html/sdk/api_diff/4/changes/pkg_java.net.html
new file mode 100644
index 0000000..3bacffc
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/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">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </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="Socket"></A>
+  <nobr><A HREF="java.net.Socket.html">Socket</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/4/changes/pkg_java.util.html b/docs/html/sdk/api_diff/4/changes/pkg_java.util.html
new file mode 100644
index 0000000..70db301
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/changes/pkg_java.util.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<HTML style="overflow:auto;">
+<HEAD>
+<meta name="generator" content="JDiff v1.1.0">
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<meta name="description" content="JDiff is a Javadoc doclet which generates an HTML report of all the packages, classes, constructors, methods, and fields which have been removed, added or changed in any way, including their documentation, when two APIs are compared.">
+<meta name="keywords" content="diff, jdiff, javadiff, java diff, java difference, API difference, difference between two APIs, API diff, Javadoc, doclet">
+<TITLE>
+java.util
+</TITLE>
+<link href="../../../../assets/android-developer-docs.css" rel="stylesheet" type="text/css" />
+<link href="../stylesheet-jdiff.css" rel="stylesheet" type="text/css" />
+<noscript>
+<style type="text/css">
+body{overflow:auto;}
+#body-content{position:relative; top:0;}
+#doc-content{overflow:visible;border-left:3px solid #666;}
+#side-nav{padding:0;}
+#side-nav .toggle-list ul {display:block;}
+#resize-packages-nav{border-bottom:3px solid #666;}
+</style>
+</noscript>
+<style type="text/css">
+</style>
+</HEAD>
+<BODY>
+<!-- Start of nav bar -->
+<a name="top"></a>
+<div id="header" style="margin-bottom:0;padding-bottom:0;">
+<div id="headerLeft">
+<a href="../../../../index.html" tabindex="-1" target="_top"><img src="../../../../assets/images/bg_logo.png" alt="Android Developers" /></a>
+</div>
+  <div id="headerRight">
+  <div id="headerLinks">
+<!-- <img src="/assets/images/icon_world.jpg" alt="" /> -->
+<span class="text">
+<!-- &nbsp;<a href="#">English</a> | -->
+<nobr><a href="http://developer.android.com" target="_top">Android Developers</a> | <a href="http://www.android.com" target="_top">Android.com</a></nobr>
+</span>
+</div>
+  <div class="and-diff-id" style="margin-top:6px;margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td colspan="2" class="diffspechead">API Diff Specification</td>
+      </tr>
+      <tr>
+        <td class="diffspec" style="padding-top:.25em">To Level:</td>
+        <td class="diffvaluenew" style="padding-top:.25em">Donut</td>
+      </tr>
+      <tr>
+        <td class="diffspec">From Level:</td>
+        <td class="diffvalueold">3</td>
+      </tr>
+      <tr>
+        <td class="diffspec">Generated</td>
+        <td class="diffvalue">2009.08.05 19:20</td>
+      </tr>
+    </table>
+    </div><!-- End and-diff-id -->
+  <div class="and-diff-id" style="margin-right:8px;">
+    <table class="diffspectable">
+      <tr>
+        <td class="diffspec" colspan="2"><a href="jdiff_statistics.html">Statistics</a>
+      </tr>
+    </table>
+  </div> <!-- End and-diff-id -->
+  </div> <!-- End headerRight -->
+  </div> <!-- End header -->
+<div id="body-content" xstyle="padding:12px;padding-right:18px;">
+<div id="doc-content" style="position:relative;">
+<div id="mainBodyFluid">
+<H2>
+Package <A HREF="../../../../reference/java/util/package-summary.html" target="_top"><font size="+1"><code>java.util</code></font></A>
+</H2>
+<p>
+<a NAME="Changed"></a>
+<TABLE summary="Changed Classes" WIDTH="100%">
+<TR>
+  <TH VALIGN="TOP" COLSPAN=2>Changed Classes</FONT></TD>
+</TH>
+<TR BGCOLOR="#FFFFFF" CLASS="TableRowColor">
+  <TD VALIGN="TOP" WIDTH="25%">
+  <A NAME="Date"></A>
+  <nobr><A HREF="java.util.Date.html">Date</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/4/missingSinces.txt b/docs/html/sdk/api_diff/4/missingSinces.txt
new file mode 100644
index 0000000..4d35e0f
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/missingSinces.txt
@@ -0,0 +1,539 @@
+NO DOC BLOCK: android.graphics.drawable.Animatable Interface
+NO DOC BLOCK: android.view.animation.AnticipateInterpolator Class
+NO DOC BLOCK: android.view.animation.AnticipateOvershootInterpolator Class
+NO DOC BLOCK: android.view.animation.BounceInterpolator Class
+NO DOC BLOCK: android.os.Build.VERSION_CODES Class
+NO DOC BLOCK: android.opengl.GLES10 Class
+NO DOC BLOCK: android.opengl.GLES10Ext Class
+NO DOC BLOCK: android.opengl.GLES11 Class
+NO DOC BLOCK: android.opengl.GLES11Ext Class
+NO DOC BLOCK: android.content.IntentSender Class
+NO DOC BLOCK: android.content.IntentSender.OnFinished Interface
+NO DOC BLOCK: android.content.IntentSender.SendIntentException Class
+NO DOC BLOCK: android.view.animation.OvershootInterpolator Class
+NO DOC BLOCK: android.content.pm.PathPermission Class
+NO DOC BLOCK: android.telephony.SmsManager Class
+NO DOC BLOCK: android.telephony.SmsMessage Class
+NO DOC BLOCK: android.telephony.SmsMessage.MessageClass Class
+NO DOC BLOCK: android.telephony.SmsMessage.SubmitPdu Class
+NO DOC BLOCK: android.view.ViewDebug.FlagToString Class
+NO DOC BLOCK: android.net.wifi.WifiManager.MulticastLock Class
+NO DOC BLOCK: android.graphics.drawable.BitmapDrawable Constructor (android.content.res.Resources)
+NO DOC BLOCK: android.graphics.drawable.BitmapDrawable Constructor (android.content.res.Resources, android.graphics.Bitmap)
+NO DOC BLOCK: android.text.style.ImageSpan Constructor (android.content.Context, android.graphics.Bitmap)
+NO DOC BLOCK: android.text.style.ImageSpan Constructor (android.content.Context, android.graphics.Bitmap, int)
+NO DOC BLOCK: android.graphics.drawable.NinePatchDrawable Constructor (android.content.res.Resources, android.graphics.Bitmap, byte[], android.graphics.Rect, java.lang.String)
+NO DOC BLOCK: android.graphics.drawable.NinePatchDrawable Constructor (android.content.res.Resources, android.graphics.NinePatch)
+NO DOC BLOCK: android.view.View Method addFocusables(java.util.ArrayList<android.view.View>, int, int)
+NO DOC BLOCK: android.test.AndroidTestCase Method assertActivityRequiresPermission(java.lang.String, java.lang.String, java.lang.String)
+NO DOC BLOCK: android.test.AndroidTestCase Method assertReadingContentUriRequiresPermission(android.net.Uri, java.lang.String)
+NO DOC BLOCK: android.test.AndroidTestCase Method assertWritingContentUriRequiresPermission(android.net.Uri, java.lang.String)
+NO DOC BLOCK: android.view.View Method buildDrawingCache(boolean)
+NO DOC BLOCK: android.content.ComponentName Method compareTo(android.content.ComponentName)
+NO DOC BLOCK: android.view.VelocityTracker Method computeCurrentVelocity(int, float)
+NO DOC BLOCK: android.graphics.Typeface Method createFromFile(java.io.File)
+NO DOC BLOCK: android.graphics.Typeface Method createFromFile(java.lang.String)
+NO DOC BLOCK: android.graphics.drawable.Drawable Method createFromResourceStream(android.content.res.Resources, android.util.TypedValue, java.io.InputStream, java.lang.String)
+NO DOC BLOCK: android.net.wifi.WifiManager Method createMulticastLock(java.lang.String)
+NO DOC BLOCK: android.graphics.BitmapFactory Method decodeResourceStream(android.content.res.Resources, android.util.TypedValue, java.io.InputStream, android.graphics.Rect, android.graphics.BitmapFactory.Options)
+NO DOC BLOCK: android.app.Activity Method dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent)
+NO DOC BLOCK: android.app.Dialog Method dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent)
+NO DOC BLOCK: android.view.View Method dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent)
+NO DOC BLOCK: android.view.Window.Callback Method dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent)
+NO DOC BLOCK: android.content.Context Method getApplicationInfo()
+NO DOC BLOCK: android.content.ContextWrapper Method getApplicationInfo()
+NO DOC BLOCK: android.test.mock.MockContext Method getApplicationInfo()
+NO DOC BLOCK: android.media.MediaRecorder Method getAudioSourceMax()
+NO DOC BLOCK: android.os.RemoteCallbackList Method getBroadcastCookie(int)
+NO DOC BLOCK: android.widget.ListView Method getCheckItemIds()
+NO DOC BLOCK: android.widget.TabWidget Method getChildTabViewAt(int)
+NO DOC BLOCK: android.view.View Method getContentDescription()
+NO DOC BLOCK: android.graphics.Bitmap Method getDensity()
+NO DOC BLOCK: android.graphics.Canvas Method getDensity()
+NO DOC BLOCK: android.graphics.NinePatch Method getDensity()
+NO DOC BLOCK: android.view.View Method getDrawingCache(boolean)
+NO DOC BLOCK: android.widget.AutoCompleteTextView Method getDropDownHeight()
+NO DOC BLOCK: android.content.pm.ConfigurationInfo Method getGlEsVersion()
+NO DOC BLOCK: android.app.PendingIntent Method getIntentSender()
+NO DOC BLOCK: android.view.ViewConfiguration Method getMaximumFlingVelocity()
+NO DOC BLOCK: android.content.Intent Method getPackage()
+NO DOC BLOCK: android.content.ContentProvider Method getPathPermissions()
+NO DOC BLOCK: android.location.Address Method getPremises()
+NO DOC BLOCK: android.graphics.Bitmap Method getScaledHeight(android.graphics.Canvas)
+NO DOC BLOCK: android.graphics.Bitmap Method getScaledHeight(android.util.DisplayMetrics)
+NO DOC BLOCK: android.graphics.Bitmap Method getScaledHeight(int)
+NO DOC BLOCK: android.view.ViewConfiguration Method getScaledMaximumFlingVelocity()
+NO DOC BLOCK: android.graphics.Bitmap Method getScaledWidth(android.graphics.Canvas)
+NO DOC BLOCK: android.graphics.Bitmap Method getScaledWidth(android.util.DisplayMetrics)
+NO DOC BLOCK: android.graphics.Bitmap Method getScaledWidth(int)
+NO DOC BLOCK: android.widget.PopupWindow Method getSoftInputMode()
+NO DOC BLOCK: android.location.Address Method getSubLocality()
+NO DOC BLOCK: android.location.Address Method getSubThoroughfare()
+NO DOC BLOCK: android.widget.TabWidget Method getTabCount()
+NO DOC BLOCK: android.view.View Method getTag(int)
+NO DOC BLOCK: android.widget.TabHost.TabSpec Method getTag()
+NO DOC BLOCK: android.inputmethodservice.KeyboardView Method invalidateAllKeys()
+NO DOC BLOCK: android.inputmethodservice.KeyboardView Method invalidateKey(int)
+NO DOC BLOCK: android.content.Context Method isRestricted()
+NO DOC BLOCK: android.app.LauncherActivity Method itemForPosition(int)
+NO DOC BLOCK: android.os.RemoteCallbackList Method onCallbackDied(E, java.lang.Object)
+NO DOC BLOCK: android.content.Intent Method parseUri(java.lang.String, int)
+NO DOC BLOCK: android.graphics.Bitmap Method prepareToDraw()
+NO DOC BLOCK: android.os.RemoteCallbackList Method register(E, java.lang.Object)
+NO DOC BLOCK: android.view.View Method sendAccessibilityEvent(int)
+NO DOC BLOCK: android.view.View Method sendAccessibilityEventUnchecked(android.view.accessibility.AccessibilityEvent)
+NO DOC BLOCK: android.view.View Method setContentDescription(java.lang.CharSequence)
+NO DOC BLOCK: android.graphics.Bitmap Method setDensity(int)
+NO DOC BLOCK: android.graphics.Canvas Method setDensity(int)
+NO DOC BLOCK: android.widget.TabWidget Method setDividerDrawable(android.graphics.drawable.Drawable)
+NO DOC BLOCK: android.widget.TabWidget Method setDividerDrawable(int)
+NO DOC BLOCK: android.widget.AutoCompleteTextView Method setDropDownHeight(int)
+NO DOC BLOCK: android.widget.TabHost.TabSpec Method setIndicator(android.view.View)
+NO DOC BLOCK: android.content.Intent Method setPackage(java.lang.String)
+NO DOC BLOCK: android.content.ContentProvider Method setPathPermissions(android.content.pm.PathPermission[])
+NO DOC BLOCK: android.location.Address Method setPremises(java.lang.String)
+NO DOC BLOCK: android.widget.PopupWindow Method setSoftInputMode(int)
+NO DOC BLOCK: android.location.Address Method setSubLocality(java.lang.String)
+NO DOC BLOCK: android.location.Address Method setSubThoroughfare(java.lang.String)
+NO DOC BLOCK: android.view.View Method setTag(int, java.lang.Object)
+NO DOC BLOCK: android.graphics.drawable.BitmapDrawable Method setTargetDensity(android.graphics.Canvas)
+NO DOC BLOCK: android.graphics.drawable.BitmapDrawable Method setTargetDensity(android.util.DisplayMetrics)
+NO DOC BLOCK: android.graphics.drawable.BitmapDrawable Method setTargetDensity(int)
+NO DOC BLOCK: android.graphics.drawable.NinePatchDrawable Method setTargetDensity(android.graphics.Canvas)
+NO DOC BLOCK: android.graphics.drawable.NinePatchDrawable Method setTargetDensity(android.util.DisplayMetrics)
+NO DOC BLOCK: android.graphics.drawable.NinePatchDrawable Method setTargetDensity(int)
+NO DOC BLOCK: android.content.Intent Method toUri(int)
+NO DOC BLOCK: android.widget.PopupWindow Method update(int, int)
+NO DOC BLOCK: android.provider.Settings.Secure Field ACCESSIBILITY_ENABLED
+NO DOC BLOCK: android.content.Context Field ACCESSIBILITY_SERVICE
+NO DOC BLOCK: android.content.Intent Field ACTION_BATTERY_OKAY
+NO DOC BLOCK: android.content.Intent Field ACTION_POWER_CONNECTED
+NO DOC BLOCK: android.content.Intent Field ACTION_POWER_DISCONNECTED
+NO DOC BLOCK: android.content.Intent Field ACTION_POWER_USAGE_SUMMARY
+NO DOC BLOCK: android.content.Intent Field ACTION_SEND_MULTIPLE
+NO DOC BLOCK: android.content.Intent Field ACTION_SHUTDOWN
+NO DOC BLOCK: android.R.attr Field allowBackup
+NO DOC BLOCK: android.R.anim Field anticipate_interpolator
+NO DOC BLOCK: android.R.anim Field anticipate_overshoot_interpolator
+NO DOC BLOCK: android.R.attr Field anyDensity
+NO DOC BLOCK: android.R.attr Field autoUrlDetect
+NO DOC BLOCK: android.R.attr Field backupAgent
+NO DOC BLOCK: android.R.anim Field bounce_interpolator
+NO DOC BLOCK: android.Manifest.permission Field CHANGE_WIFI_MULTICAST_STATE
+NO DOC BLOCK: android.os.Build.VERSION Field CODENAME
+NO DOC BLOCK: android.content.pm.ActivityInfo Field CONFIG_SCREEN_LAYOUT
+NO DOC BLOCK: android.R.attr Field contentDescription
+NO DOC BLOCK: android.content.Context Field CONTEXT_RESTRICTED
+NO DOC BLOCK: android.os.Build Field CPU_ABI
+NO DOC BLOCK: android.util.TypedValue Field density
+NO DOC BLOCK: android.util.DisplayMetrics Field DENSITY_DEFAULT
+NO DOC BLOCK: android.util.TypedValue Field DENSITY_DEFAULT
+NO DOC BLOCK: android.util.DisplayMetrics Field DENSITY_HIGH
+NO DOC BLOCK: android.util.DisplayMetrics Field DENSITY_LOW
+NO DOC BLOCK: android.util.DisplayMetrics Field DENSITY_MEDIUM
+NO DOC BLOCK: android.graphics.Bitmap Field DENSITY_NONE
+NO DOC BLOCK: android.util.TypedValue Field DENSITY_NONE
+NO DOC BLOCK: android.util.DisplayMetrics Field densityDpi
+NO DOC BLOCK: android.R.anim Field donut_resource_pad1
+NO DOC BLOCK: android.R.array Field donut_resource_pad1
+NO DOC BLOCK: android.R.attr Field donut_resource_pad1
+NO DOC BLOCK: android.R.color Field donut_resource_pad1
+NO DOC BLOCK: android.R.dimen Field donut_resource_pad1
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad1
+NO DOC BLOCK: android.R.id Field donut_resource_pad1
+NO DOC BLOCK: android.R.integer Field donut_resource_pad1
+NO DOC BLOCK: android.R.layout Field donut_resource_pad1
+NO DOC BLOCK: android.R.string Field donut_resource_pad1
+NO DOC BLOCK: android.R.style Field donut_resource_pad1
+NO DOC BLOCK: android.R.anim Field donut_resource_pad10
+NO DOC BLOCK: android.R.array Field donut_resource_pad10
+NO DOC BLOCK: android.R.attr Field donut_resource_pad10
+NO DOC BLOCK: android.R.color Field donut_resource_pad10
+NO DOC BLOCK: android.R.dimen Field donut_resource_pad10
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad10
+NO DOC BLOCK: android.R.id Field donut_resource_pad10
+NO DOC BLOCK: android.R.integer Field donut_resource_pad10
+NO DOC BLOCK: android.R.layout Field donut_resource_pad10
+NO DOC BLOCK: android.R.string Field donut_resource_pad10
+NO DOC BLOCK: android.R.style Field donut_resource_pad10
+NO DOC BLOCK: android.R.anim Field donut_resource_pad11
+NO DOC BLOCK: android.R.array Field donut_resource_pad11
+NO DOC BLOCK: android.R.attr Field donut_resource_pad11
+NO DOC BLOCK: android.R.color Field donut_resource_pad11
+NO DOC BLOCK: android.R.dimen Field donut_resource_pad11
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad11
+NO DOC BLOCK: android.R.id Field donut_resource_pad11
+NO DOC BLOCK: android.R.integer Field donut_resource_pad11
+NO DOC BLOCK: android.R.layout Field donut_resource_pad11
+NO DOC BLOCK: android.R.string Field donut_resource_pad11
+NO DOC BLOCK: android.R.style Field donut_resource_pad11
+NO DOC BLOCK: android.R.anim Field donut_resource_pad12
+NO DOC BLOCK: android.R.array Field donut_resource_pad12
+NO DOC BLOCK: android.R.attr Field donut_resource_pad12
+NO DOC BLOCK: android.R.color Field donut_resource_pad12
+NO DOC BLOCK: android.R.dimen Field donut_resource_pad12
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad12
+NO DOC BLOCK: android.R.id Field donut_resource_pad12
+NO DOC BLOCK: android.R.integer Field donut_resource_pad12
+NO DOC BLOCK: android.R.layout Field donut_resource_pad12
+NO DOC BLOCK: android.R.string Field donut_resource_pad12
+NO DOC BLOCK: android.R.style Field donut_resource_pad12
+NO DOC BLOCK: android.R.anim Field donut_resource_pad13
+NO DOC BLOCK: android.R.attr Field donut_resource_pad13
+NO DOC BLOCK: android.R.color Field donut_resource_pad13
+NO DOC BLOCK: android.R.dimen Field donut_resource_pad13
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad13
+NO DOC BLOCK: android.R.id Field donut_resource_pad13
+NO DOC BLOCK: android.R.integer Field donut_resource_pad13
+NO DOC BLOCK: android.R.layout Field donut_resource_pad13
+NO DOC BLOCK: android.R.string Field donut_resource_pad13
+NO DOC BLOCK: android.R.style Field donut_resource_pad13
+NO DOC BLOCK: android.R.anim Field donut_resource_pad14
+NO DOC BLOCK: android.R.attr Field donut_resource_pad14
+NO DOC BLOCK: android.R.color Field donut_resource_pad14
+NO DOC BLOCK: android.R.dimen Field donut_resource_pad14
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad14
+NO DOC BLOCK: android.R.id Field donut_resource_pad14
+NO DOC BLOCK: android.R.integer Field donut_resource_pad14
+NO DOC BLOCK: android.R.string Field donut_resource_pad14
+NO DOC BLOCK: android.R.style Field donut_resource_pad14
+NO DOC BLOCK: android.R.anim Field donut_resource_pad15
+NO DOC BLOCK: android.R.attr Field donut_resource_pad15
+NO DOC BLOCK: android.R.color Field donut_resource_pad15
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad15
+NO DOC BLOCK: android.R.id Field donut_resource_pad15
+NO DOC BLOCK: android.R.string Field donut_resource_pad15
+NO DOC BLOCK: android.R.style Field donut_resource_pad15
+NO DOC BLOCK: android.R.anim Field donut_resource_pad16
+NO DOC BLOCK: android.R.attr Field donut_resource_pad16
+NO DOC BLOCK: android.R.color Field donut_resource_pad16
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad16
+NO DOC BLOCK: android.R.id Field donut_resource_pad16
+NO DOC BLOCK: android.R.string Field donut_resource_pad16
+NO DOC BLOCK: android.R.style Field donut_resource_pad16
+NO DOC BLOCK: android.R.anim Field donut_resource_pad17
+NO DOC BLOCK: android.R.attr Field donut_resource_pad17
+NO DOC BLOCK: android.R.color Field donut_resource_pad17
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad17
+NO DOC BLOCK: android.R.id Field donut_resource_pad17
+NO DOC BLOCK: android.R.string Field donut_resource_pad17
+NO DOC BLOCK: android.R.style Field donut_resource_pad17
+NO DOC BLOCK: android.R.anim Field donut_resource_pad18
+NO DOC BLOCK: android.R.attr Field donut_resource_pad18
+NO DOC BLOCK: android.R.color Field donut_resource_pad18
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad18
+NO DOC BLOCK: android.R.id Field donut_resource_pad18
+NO DOC BLOCK: android.R.string Field donut_resource_pad18
+NO DOC BLOCK: android.R.style Field donut_resource_pad18
+NO DOC BLOCK: android.R.anim Field donut_resource_pad19
+NO DOC BLOCK: android.R.color Field donut_resource_pad19
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad19
+NO DOC BLOCK: android.R.id Field donut_resource_pad19
+NO DOC BLOCK: android.R.string Field donut_resource_pad19
+NO DOC BLOCK: android.R.style Field donut_resource_pad19
+NO DOC BLOCK: android.R.anim Field donut_resource_pad2
+NO DOC BLOCK: android.R.array Field donut_resource_pad2
+NO DOC BLOCK: android.R.attr Field donut_resource_pad2
+NO DOC BLOCK: android.R.color Field donut_resource_pad2
+NO DOC BLOCK: android.R.dimen Field donut_resource_pad2
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad2
+NO DOC BLOCK: android.R.id Field donut_resource_pad2
+NO DOC BLOCK: android.R.integer Field donut_resource_pad2
+NO DOC BLOCK: android.R.layout Field donut_resource_pad2
+NO DOC BLOCK: android.R.string Field donut_resource_pad2
+NO DOC BLOCK: android.R.style Field donut_resource_pad2
+NO DOC BLOCK: android.R.anim Field donut_resource_pad20
+NO DOC BLOCK: android.R.color Field donut_resource_pad20
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad20
+NO DOC BLOCK: android.R.id Field donut_resource_pad20
+NO DOC BLOCK: android.R.string Field donut_resource_pad20
+NO DOC BLOCK: android.R.anim Field donut_resource_pad21
+NO DOC BLOCK: android.R.color Field donut_resource_pad21
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad21
+NO DOC BLOCK: android.R.id Field donut_resource_pad21
+NO DOC BLOCK: android.R.string Field donut_resource_pad21
+NO DOC BLOCK: android.R.color Field donut_resource_pad22
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad22
+NO DOC BLOCK: android.R.id Field donut_resource_pad22
+NO DOC BLOCK: android.R.string Field donut_resource_pad22
+NO DOC BLOCK: android.R.color Field donut_resource_pad23
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad23
+NO DOC BLOCK: android.R.string Field donut_resource_pad23
+NO DOC BLOCK: android.R.color Field donut_resource_pad24
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad24
+NO DOC BLOCK: android.R.string Field donut_resource_pad24
+NO DOC BLOCK: android.R.color Field donut_resource_pad25
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad25
+NO DOC BLOCK: android.R.string Field donut_resource_pad25
+NO DOC BLOCK: android.R.color Field donut_resource_pad26
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad26
+NO DOC BLOCK: android.R.string Field donut_resource_pad26
+NO DOC BLOCK: android.R.color Field donut_resource_pad27
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad27
+NO DOC BLOCK: android.R.string Field donut_resource_pad27
+NO DOC BLOCK: android.R.color Field donut_resource_pad28
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad28
+NO DOC BLOCK: android.R.color Field donut_resource_pad29
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad29
+NO DOC BLOCK: android.R.anim Field donut_resource_pad3
+NO DOC BLOCK: android.R.array Field donut_resource_pad3
+NO DOC BLOCK: android.R.attr Field donut_resource_pad3
+NO DOC BLOCK: android.R.color Field donut_resource_pad3
+NO DOC BLOCK: android.R.dimen Field donut_resource_pad3
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad3
+NO DOC BLOCK: android.R.id Field donut_resource_pad3
+NO DOC BLOCK: android.R.integer Field donut_resource_pad3
+NO DOC BLOCK: android.R.layout Field donut_resource_pad3
+NO DOC BLOCK: android.R.string Field donut_resource_pad3
+NO DOC BLOCK: android.R.style Field donut_resource_pad3
+NO DOC BLOCK: android.R.color Field donut_resource_pad30
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad30
+NO DOC BLOCK: android.R.color Field donut_resource_pad31
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad31
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad32
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad33
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad34
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad35
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad36
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad37
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad38
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad39
+NO DOC BLOCK: android.R.anim Field donut_resource_pad4
+NO DOC BLOCK: android.R.array Field donut_resource_pad4
+NO DOC BLOCK: android.R.attr Field donut_resource_pad4
+NO DOC BLOCK: android.R.color Field donut_resource_pad4
+NO DOC BLOCK: android.R.dimen Field donut_resource_pad4
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad4
+NO DOC BLOCK: android.R.id Field donut_resource_pad4
+NO DOC BLOCK: android.R.integer Field donut_resource_pad4
+NO DOC BLOCK: android.R.layout Field donut_resource_pad4
+NO DOC BLOCK: android.R.string Field donut_resource_pad4
+NO DOC BLOCK: android.R.style Field donut_resource_pad4
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad40
+NO DOC BLOCK: android.R.anim Field donut_resource_pad5
+NO DOC BLOCK: android.R.array Field donut_resource_pad5
+NO DOC BLOCK: android.R.attr Field donut_resource_pad5
+NO DOC BLOCK: android.R.color Field donut_resource_pad5
+NO DOC BLOCK: android.R.dimen Field donut_resource_pad5
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad5
+NO DOC BLOCK: android.R.id Field donut_resource_pad5
+NO DOC BLOCK: android.R.integer Field donut_resource_pad5
+NO DOC BLOCK: android.R.layout Field donut_resource_pad5
+NO DOC BLOCK: android.R.string Field donut_resource_pad5
+NO DOC BLOCK: android.R.style Field donut_resource_pad5
+NO DOC BLOCK: android.R.anim Field donut_resource_pad6
+NO DOC BLOCK: android.R.array Field donut_resource_pad6
+NO DOC BLOCK: android.R.attr Field donut_resource_pad6
+NO DOC BLOCK: android.R.color Field donut_resource_pad6
+NO DOC BLOCK: android.R.dimen Field donut_resource_pad6
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad6
+NO DOC BLOCK: android.R.id Field donut_resource_pad6
+NO DOC BLOCK: android.R.integer Field donut_resource_pad6
+NO DOC BLOCK: android.R.layout Field donut_resource_pad6
+NO DOC BLOCK: android.R.string Field donut_resource_pad6
+NO DOC BLOCK: android.R.style Field donut_resource_pad6
+NO DOC BLOCK: android.R.anim Field donut_resource_pad7
+NO DOC BLOCK: android.R.array Field donut_resource_pad7
+NO DOC BLOCK: android.R.attr Field donut_resource_pad7
+NO DOC BLOCK: android.R.color Field donut_resource_pad7
+NO DOC BLOCK: android.R.dimen Field donut_resource_pad7
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad7
+NO DOC BLOCK: android.R.id Field donut_resource_pad7
+NO DOC BLOCK: android.R.integer Field donut_resource_pad7
+NO DOC BLOCK: android.R.layout Field donut_resource_pad7
+NO DOC BLOCK: android.R.string Field donut_resource_pad7
+NO DOC BLOCK: android.R.style Field donut_resource_pad7
+NO DOC BLOCK: android.R.anim Field donut_resource_pad8
+NO DOC BLOCK: android.R.array Field donut_resource_pad8
+NO DOC BLOCK: android.R.attr Field donut_resource_pad8
+NO DOC BLOCK: android.R.color Field donut_resource_pad8
+NO DOC BLOCK: android.R.dimen Field donut_resource_pad8
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad8
+NO DOC BLOCK: android.R.id Field donut_resource_pad8
+NO DOC BLOCK: android.R.integer Field donut_resource_pad8
+NO DOC BLOCK: android.R.layout Field donut_resource_pad8
+NO DOC BLOCK: android.R.string Field donut_resource_pad8
+NO DOC BLOCK: android.R.style Field donut_resource_pad8
+NO DOC BLOCK: android.R.anim Field donut_resource_pad9
+NO DOC BLOCK: android.R.array Field donut_resource_pad9
+NO DOC BLOCK: android.R.attr Field donut_resource_pad9
+NO DOC BLOCK: android.R.color Field donut_resource_pad9
+NO DOC BLOCK: android.R.dimen Field donut_resource_pad9
+NO DOC BLOCK: android.R.drawable Field donut_resource_pad9
+NO DOC BLOCK: android.R.id Field donut_resource_pad9
+NO DOC BLOCK: android.R.integer Field donut_resource_pad9
+NO DOC BLOCK: android.R.layout Field donut_resource_pad9
+NO DOC BLOCK: android.R.string Field donut_resource_pad9
+NO DOC BLOCK: android.R.style Field donut_resource_pad9
+NO DOC BLOCK: android.R.attr Field dropDownHeight
+NO DOC BLOCK: android.provider.Settings.Secure Field ENABLED_ACCESSIBILITY_SERVICES
+NO DOC BLOCK: android.R.attr Field eventsInterceptionEnabled
+NO DOC BLOCK: android.app.SearchManager Field EXTRA_DATA_KEY
+NO DOC BLOCK: android.R.attr Field extraTension
+NO DOC BLOCK: android.R.attr Field fadeDuration
+NO DOC BLOCK: android.R.attr Field fadeEnabled
+NO DOC BLOCK: android.R.attr Field fadeOffset
+NO DOC BLOCK: android.content.Intent Field FILL_IN_PACKAGE
+NO DOC BLOCK: android.content.pm.ApplicationInfo Field FLAG_RESIZEABLE_FOR_SCREENS
+NO DOC BLOCK: android.content.pm.ApplicationInfo Field FLAG_SUPPORTS_LARGE_SCREENS
+NO DOC BLOCK: android.content.pm.ApplicationInfo Field FLAG_SUPPORTS_NORMAL_SCREENS
+NO DOC BLOCK: android.content.pm.ApplicationInfo Field FLAG_SUPPORTS_SCREEN_DENSITIES
+NO DOC BLOCK: android.content.pm.ApplicationInfo Field FLAG_SUPPORTS_SMALL_SCREENS
+NO DOC BLOCK: android.content.pm.ApplicationInfo Field FLAG_TEST_ONLY
+NO DOC BLOCK: android.content.pm.ApplicationInfo Field FLAG_UPDATED_SYSTEM_APP
+NO DOC BLOCK: android.view.View Field FOCUSABLES_ALL
+NO DOC BLOCK: android.view.View Field FOCUSABLES_TOUCH_MODE
+NO DOC BLOCK: android.R.attr Field gestureColor
+NO DOC BLOCK: android.R.attr Field gestureStrokeAngleThreshold
+NO DOC BLOCK: android.R.attr Field gestureStrokeLengthThreshold
+NO DOC BLOCK: android.R.attr Field gestureStrokeSquarenessThreshold
+NO DOC BLOCK: android.R.attr Field gestureStrokeType
+NO DOC BLOCK: android.R.attr Field gestureStrokeWidth
+NO DOC BLOCK: android.content.pm.ConfigurationInfo Field GL_ES_VERSION_UNDEFINED
+NO DOC BLOCK: android.R.attr Field glEsVersion
+NO DOC BLOCK: android.Manifest.permission Field GLOBAL_SEARCH
+NO DOC BLOCK: android.R.attr Field includeInGlobalSearch
+NO DOC BLOCK: android.graphics.BitmapFactory.Options Field inDensity
+NO DOC BLOCK: android.graphics.BitmapFactory.Options Field inInputShareable
+NO DOC BLOCK: android.graphics.BitmapFactory.Options Field inPurgeable
+NO DOC BLOCK: android.graphics.BitmapFactory.Options Field inScaled
+NO DOC BLOCK: android.graphics.BitmapFactory.Options Field inScreenDensity
+NO DOC BLOCK: android.Manifest.permission Field INSTALL_LOCATION_PROVIDER
+NO DOC BLOCK: android.graphics.BitmapFactory.Options Field inTargetDensity
+NO DOC BLOCK: android.app.SearchManager Field INTENT_ACTION_SEARCH_SETTINGS_CHANGED
+NO DOC BLOCK: android.app.SearchManager Field INTENT_ACTION_SEARCHABLES_CHANGED
+NO DOC BLOCK: android.app.SearchManager Field INTENT_ACTION_WEB_SEARCH_SETTINGS
+NO DOC BLOCK: android.R.attr Field largeScreens
+NO DOC BLOCK: android.R.anim Field linear_interpolator
+NO DOC BLOCK: android.os.Build Field MANUFACTURER
+NO DOC BLOCK: android.R.attr Field maxSdkVersion
+NO DOC BLOCK: android.R.attr Field normalScreens
+NO DOC BLOCK: android.R.attr Field onClick
+NO DOC BLOCK: android.R.anim Field overshoot_interpolator
+NO DOC BLOCK: android.content.pm.ProviderInfo Field pathPermissions
+NO DOC BLOCK: android.R.attr Field progressBarStyleInverse
+NO DOC BLOCK: android.R.attr Field progressBarStyleLargeInverse
+NO DOC BLOCK: android.R.attr Field progressBarStyleSmallInverse
+NO DOC BLOCK: android.R.attr Field queryAfterZeroResults
+NO DOC BLOCK: android.Manifest.permission Field READ_HISTORY_BOOKMARKS
+NO DOC BLOCK: android.content.pm.ConfigurationInfo Field reqGlEsVersion
+NO DOC BLOCK: android.R.attr Field resizeable
+NO DOC BLOCK: android.app.LauncherActivity.ListItem Field resolveInfo
+NO DOC BLOCK: android.content.res.Configuration Field screenLayout
+NO DOC BLOCK: android.content.res.Configuration Field SCREENLAYOUT_LONG_MASK
+NO DOC BLOCK: android.content.res.Configuration Field SCREENLAYOUT_LONG_NO
+NO DOC BLOCK: android.content.res.Configuration Field SCREENLAYOUT_LONG_UNDEFINED
+NO DOC BLOCK: android.content.res.Configuration Field SCREENLAYOUT_LONG_YES
+NO DOC BLOCK: android.content.res.Configuration Field SCREENLAYOUT_SIZE_LARGE
+NO DOC BLOCK: android.content.res.Configuration Field SCREENLAYOUT_SIZE_MASK
+NO DOC BLOCK: android.content.res.Configuration Field SCREENLAYOUT_SIZE_NORMAL
+NO DOC BLOCK: android.content.res.Configuration Field SCREENLAYOUT_SIZE_SMALL
+NO DOC BLOCK: android.content.res.Configuration Field SCREENLAYOUT_SIZE_UNDEFINED
+NO DOC BLOCK: android.os.Build.VERSION Field SDK_INT
+NO DOC BLOCK: android.R.attr Field searchSettingsDescription
+NO DOC BLOCK: android.R.attr Field searchSuggestThreshold
+NO DOC BLOCK: android.app.SearchManager Field SHORTCUT_MIME_TYPE
+NO DOC BLOCK: android.provider.Settings.System Field SHOW_WEB_SUGGESTIONS
+NO DOC BLOCK: android.R.attr Field smallScreens
+NO DOC BLOCK: android.R.drawable Field stat_sys_vp_phone_call
+NO DOC BLOCK: android.R.drawable Field stat_sys_vp_phone_call_on_hold
+NO DOC BLOCK: android.Manifest.permission_group Field STORAGE
+NO DOC BLOCK: android.app.SearchManager Field SUGGEST_COLUMN_INTENT_EXTRA_DATA
+NO DOC BLOCK: android.app.SearchManager Field SUGGEST_COLUMN_SHORTCUT_ID
+NO DOC BLOCK: android.app.SearchManager Field SUGGEST_COLUMN_SPINNER_WHILE_REFRESHING
+NO DOC BLOCK: android.app.SearchManager Field SUGGEST_NEVER_MAKE_SHORTCUT
+NO DOC BLOCK: android.app.SearchManager Field SUGGEST_URI_PATH_SHORTCUT
+NO DOC BLOCK: android.view.Surface Field SURFACE_FROZEN
+NO DOC BLOCK: android.R.attr Field targetSdkVersion
+NO DOC BLOCK: android.content.pm.ApplicationInfo Field targetSdkVersion
+NO DOC BLOCK: android.R.attr Field tension
+NO DOC BLOCK: android.R.attr Field testOnly
+NO DOC BLOCK: android.R.attr Field textColorPrimaryInverseDisableOnly
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_ABBR_ALERT
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_ABBR_INTERCEPT
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_ABBR_REORDER
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_ALERT_AUTOREDIAL_LITE
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_ALERT_CALL_GUARD
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_ALERT_INCALL_LITE
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_ALERT_NETWORK_LITE
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_ANSWER
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_CALL_SIGNAL_ISDN_INTERGROUP
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_CALL_SIGNAL_ISDN_NORMAL
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_CALL_SIGNAL_ISDN_PAT3
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_CALL_SIGNAL_ISDN_PAT5
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_CALL_SIGNAL_ISDN_PAT6
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_CALL_SIGNAL_ISDN_PAT7
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_CALL_SIGNAL_ISDN_PING_RING
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_CALL_SIGNAL_ISDN_SP_PRI
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_CALLDROP_LITE
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_CONFIRM
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_DIAL_TONE_LITE
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_EMERGENCY_RINGBACK
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_HIGH_L
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_HIGH_PBX_L
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_HIGH_PBX_S_X4
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_HIGH_PBX_SLS
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_HIGH_PBX_SS
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_HIGH_PBX_SSL
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_HIGH_S_X4
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_HIGH_SLS
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_HIGH_SS
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_HIGH_SS_2
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_HIGH_SSL
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_INTERCEPT
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_KEYPAD_VOLUME_KEY_LITE
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_LOW_L
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_LOW_PBX_L
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_LOW_PBX_S_X4
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_LOW_PBX_SLS
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_LOW_PBX_SS
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_LOW_PBX_SSL
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_LOW_S_X4
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_LOW_SLS
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_LOW_SS
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_LOW_SS_2
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_LOW_SSL
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_MED_L
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_MED_PBX_L
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_MED_PBX_S_X4
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_MED_PBX_SLS
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_MED_PBX_SS
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_MED_PBX_SSL
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_MED_S_X4
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_MED_SLS
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_MED_SS
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_MED_SS_2
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_MED_SSL
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_NETWORK_BUSY
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_NETWORK_BUSY_ONE_SHOT
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_NETWORK_CALLWAITING
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_NETWORK_USA_RINGBACK
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_ONE_MIN_BEEP
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_PIP
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_PRESSHOLDKEY_LITE
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_REORDER
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_SIGNAL_OFF
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_CDMA_SOFT_ERROR_LITE
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_SUP_CONFIRM
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_SUP_CONGESTION_ABBREV
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_SUP_INTERCEPT
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_SUP_INTERCEPT_ABBREV
+NO DOC BLOCK: android.media.ToneGenerator Field TONE_SUP_PIP
+NO DOC BLOCK: android.provider.Settings.Secure Field TTS_DEFAULT_COUNTRY
+NO DOC BLOCK: android.provider.Settings.Secure Field TTS_DEFAULT_LANG
+NO DOC BLOCK: android.provider.Settings.Secure Field TTS_DEFAULT_PITCH
+NO DOC BLOCK: android.provider.Settings.Secure Field TTS_DEFAULT_RATE
+NO DOC BLOCK: android.provider.Settings.Secure Field TTS_DEFAULT_SYNTH
+NO DOC BLOCK: android.provider.Settings.Secure Field TTS_DEFAULT_VARIANT
+NO DOC BLOCK: android.provider.Settings.Secure Field TTS_USE_DEFAULTS
+NO DOC BLOCK: android.R.attr Field uncertainGestureColor
+NO DOC BLOCK: android.content.Intent Field URI_INTENT_SCHEME
+NO DOC BLOCK: android.app.SearchManager Field USER_QUERY
+NO DOC BLOCK: android.media.MediaRecorder.AudioSource Field VOICE_CALL
+NO DOC BLOCK: android.media.MediaRecorder.AudioSource Field VOICE_DOWNLINK
+NO DOC BLOCK: android.media.MediaRecorder.AudioSource Field VOICE_UPLINK
+NO DOC BLOCK: android.R.style Field Widget_ProgressBar_Inverse
+NO DOC BLOCK: android.R.style Field Widget_ProgressBar_Large_Inverse
+NO DOC BLOCK: android.R.style Field Widget_ProgressBar_Small_Inverse
+NO DOC BLOCK: android.Manifest.permission Field WRITE_EXTERNAL_STORAGE
+NO DOC BLOCK: android.Manifest.permission Field WRITE_HISTORY_BOOKMARKS
diff --git a/docs/html/sdk/api_diff/4/stylesheet-jdiff.css b/docs/html/sdk/api_diff/4/stylesheet-jdiff.css
new file mode 100644
index 0000000..b3c1b9a
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/stylesheet-jdiff.css
@@ -0,0 +1,37 @@
+
+/* (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;}
diff --git a/docs/html/sdk/api_diff/4/user_comments_for_3_to_Donut.xml b/docs/html/sdk/api_diff/4/user_comments_for_3_to_Donut.xml
new file mode 100644
index 0000000..5bbe945
--- /dev/null
+++ b/docs/html/sdk/api_diff/4/user_comments_for_3_to_Donut.xml
@@ -0,0 +1,4675 @@
+<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
+<comments
+  xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
+  xsi:noNamespaceSchemaLocation='comments.xsd'
+  name="3_to_Donut"
+  jdversion="1.1.0">
+
+<!-- Use this file to enter an API change description. For example, when you remove a class, 
+     you can enter a comment for that class that points developers to the replacement class. 
+     You can also provide a change summary for modified API, to give an overview of the changes 
+     why they were made, workarounds, etc.  -->
+
+<!-- When the API diffs report is generated, the comments in this file get added to the tables of 
+     removed, added, and modified packages, classes, methods, and fields. This file does not ship 
+     with the final report. -->
+
+<!-- The id attribute in an identifier element identifies the change as noted in the report. 
+     An id has the form package[.class[.[ctor|method|field].signature]], where [] indicates optional 
+     text. A comment element can have multiple identifier elements, which will will cause the same 
+     text to appear at each place in the report, but will be converted to separate comments when the 
+     comments file is used. -->
+
+<!-- HTML tags in the text field will appear in the report. You also need to close p HTML elements, 
+     used for paragraphs - see the top-level documentation. -->
+
+<!-- You can include standard javadoc links in your change descriptions. You can use the @first command  
+     to cause jdiff to include the first line of the API documentation. You also need to close p HTML 
+     elements, used for paragraphs - see the top-level documentation. -->
+
+<comment>
+  <identifier id="android"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.Manifest.permission"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.Manifest.permission.ADD_SYSTEM_SERVICE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.Manifest.permission.CHANGE_WIFI_MULTICAST_STATE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.Manifest.permission.FOTA_UPDATE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.Manifest.permission.GLOBAL_SEARCH"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.Manifest.permission.INSTALL_LOCATION_PROVIDER"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.Manifest.permission.READ_HISTORY_BOOKMARKS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.Manifest.permission.SET_PROCESS_FOREGROUND"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.Manifest.permission.WRITE_EXTERNAL_STORAGE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.Manifest.permission.WRITE_HISTORY_BOOKMARKS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.Manifest.permission_group"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.Manifest.permission_group.STORAGE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.anim"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.anim.anticipate_interpolator"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.anim.anticipate_overshoot_interpolator"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.anim.bounce_interpolator"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.anim.donut_resource_pad1"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.anim.donut_resource_pad10"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.anim.donut_resource_pad11"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.anim.donut_resource_pad12"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.anim.donut_resource_pad13"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.anim.donut_resource_pad14"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.anim.donut_resource_pad15"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.anim.donut_resource_pad16"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.anim.donut_resource_pad17"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.anim.donut_resource_pad18"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.anim.donut_resource_pad19"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.anim.donut_resource_pad2"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.anim.donut_resource_pad20"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.anim.donut_resource_pad21"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.anim.donut_resource_pad3"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.anim.donut_resource_pad4"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.anim.donut_resource_pad5"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.anim.donut_resource_pad6"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.anim.donut_resource_pad7"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.anim.donut_resource_pad8"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.anim.donut_resource_pad9"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.anim.linear_interpolator"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.anim.overshoot_interpolator"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.array"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.array.donut_resource_pad1"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.array.donut_resource_pad10"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.array.donut_resource_pad11"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.array.donut_resource_pad12"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.array.donut_resource_pad2"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.array.donut_resource_pad3"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.array.donut_resource_pad4"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.array.donut_resource_pad5"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.array.donut_resource_pad6"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.array.donut_resource_pad7"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.array.donut_resource_pad8"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.array.donut_resource_pad9"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.allowBackup"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.anyDensity"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.autoUrlDetect"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.backupAgent"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.contentDescription"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.donut_resource_pad1"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.donut_resource_pad10"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.donut_resource_pad11"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.donut_resource_pad12"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.donut_resource_pad13"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.donut_resource_pad14"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.donut_resource_pad15"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.donut_resource_pad16"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.donut_resource_pad17"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.donut_resource_pad18"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.donut_resource_pad2"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.donut_resource_pad3"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.donut_resource_pad4"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.donut_resource_pad5"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.donut_resource_pad6"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.donut_resource_pad7"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.donut_resource_pad8"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.donut_resource_pad9"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.dropDownHeight"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.eventsInterceptionEnabled"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.extraTension"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.fadeDuration"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.fadeEnabled"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.fadeOffset"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.gestureColor"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.gestureStrokeAngleThreshold"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.gestureStrokeLengthThreshold"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.gestureStrokeSquarenessThreshold"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.gestureStrokeType"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.gestureStrokeWidth"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.glEsVersion"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.includeInGlobalSearch"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.largeScreens"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.maxSdkVersion"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.normalScreens"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.onClick"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.progressBarStyleInverse"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.progressBarStyleLargeInverse"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.progressBarStyleSmallInverse"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.queryAfterZeroResults"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.resizeable"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.searchSettingsDescription"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.searchSuggestThreshold"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.smallScreens"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.targetSdkVersion"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.tension"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.testOnly"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.textColorPrimaryInverseDisableOnly"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.attr.uncertainGestureColor"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.color"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.color.donut_resource_pad1"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.color.donut_resource_pad10"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.color.donut_resource_pad11"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.color.donut_resource_pad12"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.color.donut_resource_pad13"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.color.donut_resource_pad14"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.color.donut_resource_pad15"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.color.donut_resource_pad16"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.color.donut_resource_pad17"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.color.donut_resource_pad18"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.color.donut_resource_pad19"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.color.donut_resource_pad2"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.color.donut_resource_pad20"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.color.donut_resource_pad21"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.color.donut_resource_pad22"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.color.donut_resource_pad23"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.color.donut_resource_pad24"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.color.donut_resource_pad25"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.color.donut_resource_pad26"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.color.donut_resource_pad27"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.color.donut_resource_pad28"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.color.donut_resource_pad29"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.color.donut_resource_pad3"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.color.donut_resource_pad30"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.color.donut_resource_pad31"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.color.donut_resource_pad4"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.color.donut_resource_pad5"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.color.donut_resource_pad6"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.color.donut_resource_pad7"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.color.donut_resource_pad8"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.color.donut_resource_pad9"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.dimen"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.dimen.donut_resource_pad1"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.dimen.donut_resource_pad10"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.dimen.donut_resource_pad11"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.dimen.donut_resource_pad12"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.dimen.donut_resource_pad13"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.dimen.donut_resource_pad14"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.dimen.donut_resource_pad2"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.dimen.donut_resource_pad3"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.dimen.donut_resource_pad4"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.dimen.donut_resource_pad5"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.dimen.donut_resource_pad6"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.dimen.donut_resource_pad7"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.dimen.donut_resource_pad8"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.dimen.donut_resource_pad9"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad1"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad10"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad11"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad12"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad13"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad14"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad15"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad16"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad17"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad18"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad19"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad2"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad20"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad21"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad22"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad23"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad24"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad25"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad26"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad27"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad28"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad29"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad3"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad30"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad31"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad32"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad33"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad34"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad35"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad36"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad37"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad38"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad39"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad4"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad40"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad5"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad6"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad7"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad8"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.donut_resource_pad9"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.stat_sys_vp_phone_call"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.drawable.stat_sys_vp_phone_call_on_hold"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.id"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.id.donut_resource_pad1"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.id.donut_resource_pad10"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.id.donut_resource_pad11"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.id.donut_resource_pad12"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.id.donut_resource_pad13"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.id.donut_resource_pad14"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.id.donut_resource_pad15"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.id.donut_resource_pad16"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.id.donut_resource_pad17"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.id.donut_resource_pad18"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.id.donut_resource_pad19"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.id.donut_resource_pad2"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.id.donut_resource_pad20"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.id.donut_resource_pad21"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.id.donut_resource_pad22"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.id.donut_resource_pad3"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.id.donut_resource_pad4"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.id.donut_resource_pad5"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.id.donut_resource_pad6"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.id.donut_resource_pad7"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.id.donut_resource_pad8"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.id.donut_resource_pad9"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.integer"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.integer.donut_resource_pad1"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.integer.donut_resource_pad10"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.integer.donut_resource_pad11"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.integer.donut_resource_pad12"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.integer.donut_resource_pad13"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.integer.donut_resource_pad14"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.integer.donut_resource_pad2"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.integer.donut_resource_pad3"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.integer.donut_resource_pad4"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.integer.donut_resource_pad5"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.integer.donut_resource_pad6"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.integer.donut_resource_pad7"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.integer.donut_resource_pad8"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.integer.donut_resource_pad9"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.layout"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.layout.donut_resource_pad1"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.layout.donut_resource_pad10"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.layout.donut_resource_pad11"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.layout.donut_resource_pad12"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.layout.donut_resource_pad13"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.layout.donut_resource_pad2"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.layout.donut_resource_pad3"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.layout.donut_resource_pad4"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.layout.donut_resource_pad5"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.layout.donut_resource_pad6"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.layout.donut_resource_pad7"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.layout.donut_resource_pad8"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.layout.donut_resource_pad9"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.string"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.string.donut_resource_pad1"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.string.donut_resource_pad10"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.string.donut_resource_pad11"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.string.donut_resource_pad12"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.string.donut_resource_pad13"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.string.donut_resource_pad14"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.string.donut_resource_pad15"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.string.donut_resource_pad16"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.string.donut_resource_pad17"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.string.donut_resource_pad18"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.string.donut_resource_pad19"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.string.donut_resource_pad2"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.string.donut_resource_pad20"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.string.donut_resource_pad21"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.string.donut_resource_pad22"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.string.donut_resource_pad23"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.string.donut_resource_pad24"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.string.donut_resource_pad25"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.string.donut_resource_pad26"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.string.donut_resource_pad27"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.string.donut_resource_pad3"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.string.donut_resource_pad4"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.string.donut_resource_pad5"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.string.donut_resource_pad6"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.string.donut_resource_pad7"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.string.donut_resource_pad8"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.string.donut_resource_pad9"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.style"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.style.Widget_ProgressBar_Inverse"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.style.Widget_ProgressBar_Large_Inverse"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.style.Widget_ProgressBar_Small_Inverse"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.style.donut_resource_pad1"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.style.donut_resource_pad10"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.style.donut_resource_pad11"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.style.donut_resource_pad12"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.style.donut_resource_pad13"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.style.donut_resource_pad14"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.style.donut_resource_pad15"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.style.donut_resource_pad16"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.style.donut_resource_pad17"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.style.donut_resource_pad18"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.style.donut_resource_pad19"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.style.donut_resource_pad2"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.style.donut_resource_pad3"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.style.donut_resource_pad4"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.style.donut_resource_pad5"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.style.donut_resource_pad6"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.style.donut_resource_pad7"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.style.donut_resource_pad8"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.R.style.donut_resource_pad9"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.accessibilityservice"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.Activity"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.Activity.dispatchPopulateAccessibilityEvent_added(android.view.accessibility.AccessibilityEvent)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.Dialog"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.Dialog.dispatchPopulateAccessibilityEvent_added(android.view.accessibility.AccessibilityEvent)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.LauncherActivity"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.LauncherActivity.ListItem"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.LauncherActivity.ListItem.resolveInfo"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.LauncherActivity.itemForPosition_added(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.PendingIntent"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.PendingIntent.getIntentSender_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.SearchManager"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.SearchManager.EXTRA_DATA_KEY"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.SearchManager.INTENT_ACTION_SEARCHABLES_CHANGED"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.SearchManager.INTENT_ACTION_SEARCH_SETTINGS_CHANGED"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.SearchManager.INTENT_ACTION_WEB_SEARCH_SETTINGS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.SearchManager.SHORTCUT_MIME_TYPE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.SearchManager.SUGGEST_COLUMN_INTENT_EXTRA_DATA"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.SearchManager.SUGGEST_COLUMN_SHORTCUT_ID"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.SearchManager.SUGGEST_COLUMN_SPINNER_WHILE_REFRESHING"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.SearchManager.SUGGEST_NEVER_MAKE_SHORTCUT"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.SearchManager.SUGGEST_URI_PATH_SHORTCUT"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.SearchManager.USER_QUERY"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.SearchManager.onCancel_changed(android.content.DialogInterface)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.app.SearchManager.onDismiss_changed(android.content.DialogInterface)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.ComponentName"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.ComponentName.compareTo_added(android.content.ComponentName)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.ContentProvider"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.ContentProvider.getPathPermissions_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.ContentProvider.setPathPermissions_added(android.content.pm.PathPermission[])"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Context"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Context.ACCESSIBILITY_SERVICE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Context.CONTEXT_RESTRICTED"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Context.getApplicationInfo_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Context.isRestricted_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.ContextWrapper"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.ContextWrapper.getApplicationInfo_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Intent"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Intent.ACTION_BATTERY_OKAY"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Intent.ACTION_POWER_CONNECTED"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Intent.ACTION_POWER_DISCONNECTED"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Intent.ACTION_POWER_USAGE_SUMMARY"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Intent.ACTION_SEND_MULTIPLE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Intent.ACTION_SHUTDOWN"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Intent.FILL_IN_PACKAGE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Intent.URI_INTENT_SCHEME"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Intent.getIntent_changed(java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Intent.getPackage_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Intent.parseUri_added(java.lang.String, int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Intent.setPackage_added(java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Intent.toURI_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.Intent.toUri_added(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.IntentSender"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.IntentSender.OnFinished"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.IntentSender.SendIntentException"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.ActivityInfo"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.ActivityInfo.CONFIG_SCREEN_LAYOUT"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.ApplicationInfo"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.ApplicationInfo.FLAG_RESIZEABLE_FOR_SCREENS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.ApplicationInfo.FLAG_SUPPORTS_LARGE_SCREENS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.ApplicationInfo.FLAG_SUPPORTS_NORMAL_SCREENS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.ApplicationInfo.FLAG_SUPPORTS_SCREEN_DENSITIES"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.ApplicationInfo.FLAG_SUPPORTS_SMALL_SCREENS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.ApplicationInfo.FLAG_TEST_ONLY"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.ApplicationInfo.FLAG_UPDATED_SYSTEM_APP"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.ApplicationInfo.targetSdkVersion"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.ConfigurationInfo"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.ConfigurationInfo.GL_ES_VERSION_UNDEFINED"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.ConfigurationInfo.getGlEsVersion_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.ConfigurationInfo.reqGlEsVersion"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.IPackageInstallObserver"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.IPackageInstallObserver.Stub"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.FORWARD_LOCK_PACKAGE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.INSTALL_FAILED_ALREADY_EXISTS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.INSTALL_FAILED_CONFLICTING_PROVIDER"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.INSTALL_FAILED_DEXOPT"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.INSTALL_FAILED_DUPLICATE_PACKAGE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.INSTALL_FAILED_INSUFFICIENT_STORAGE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.INSTALL_FAILED_INVALID_APK"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.INSTALL_FAILED_INVALID_URI"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.INSTALL_FAILED_MISSING_SHARED_LIBRARY"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.INSTALL_FAILED_NO_SHARED_USER"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.INSTALL_FAILED_OLDER_SDK"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.INSTALL_FAILED_REPLACE_COULDNT_DELETE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.INSTALL_FAILED_SHARED_USER_INCOMPATIBLE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.INSTALL_FAILED_UPDATE_INCOMPATIBLE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.INSTALL_PARSE_FAILED_BAD_MANIFEST"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.INSTALL_PARSE_FAILED_MANIFEST_EMPTY"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.INSTALL_PARSE_FAILED_MANIFEST_MALFORMED"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.INSTALL_PARSE_FAILED_NOT_APK"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.INSTALL_PARSE_FAILED_NO_CERTIFICATES"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.INSTALL_SUCCEEDED"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.REPLACE_EXISTING_PACKAGE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.getLaunchIntentForPackage_changed(java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.installPackage_removed(android.net.Uri)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PackageManager.installPackage_removed(android.net.Uri, android.content.pm.IPackageInstallObserver, int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.PathPermission"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.ProviderInfo"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.pm.ProviderInfo.pathPermissions"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.res"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.res.Configuration"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.res.Configuration.SCREENLAYOUT_LONG_MASK"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.res.Configuration.SCREENLAYOUT_LONG_NO"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.res.Configuration.SCREENLAYOUT_LONG_UNDEFINED"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.res.Configuration.SCREENLAYOUT_LONG_YES"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.res.Configuration.SCREENLAYOUT_SIZE_LARGE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.res.Configuration.SCREENLAYOUT_SIZE_MASK"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.res.Configuration.SCREENLAYOUT_SIZE_NORMAL"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.res.Configuration.SCREENLAYOUT_SIZE_SMALL"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.res.Configuration.SCREENLAYOUT_SIZE_UNDEFINED"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.content.res.Configuration.screenLayout"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.gesture"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.Bitmap"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.Bitmap.DENSITY_NONE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.Bitmap.getDensity_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.Bitmap.getScaledHeight_added(android.graphics.Canvas)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.Bitmap.getScaledHeight_added(android.util.DisplayMetrics)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.Bitmap.getScaledHeight_added(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.Bitmap.getScaledWidth_added(android.graphics.Canvas)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.Bitmap.getScaledWidth_added(android.util.DisplayMetrics)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.Bitmap.getScaledWidth_added(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.Bitmap.prepareToDraw_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.Bitmap.setDensity_added(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.BitmapFactory"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.BitmapFactory.Options"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.BitmapFactory.Options.inDensity"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.BitmapFactory.Options.inInputShareable"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.BitmapFactory.Options.inPurgeable"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.BitmapFactory.Options.inScaled"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.BitmapFactory.Options.inScreenDensity"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.BitmapFactory.Options.inTargetDensity"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.BitmapFactory.decodeResourceStream_added(android.content.res.Resources, android.util.TypedValue, java.io.InputStream, android.graphics.Rect, android.graphics.BitmapFactory.Options)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.Canvas"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.Canvas.getDensity_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.Canvas.setDensity_added(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.NinePatch"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.NinePatch.getDensity_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.Typeface"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.Typeface.createFromFile_added(java.io.File)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.Typeface.createFromFile_added(java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.drawable"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.drawable.Animatable"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.drawable.AnimationDrawable"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.drawable.BitmapDrawable"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.drawable.BitmapDrawable.ctor_added(android.content.res.Resources)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.drawable.BitmapDrawable.ctor_added(android.content.res.Resources, android.graphics.Bitmap)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.drawable.BitmapDrawable.ctor_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.drawable.BitmapDrawable.ctor_changed(android.graphics.Bitmap)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.drawable.BitmapDrawable.setTargetDensity_added(android.graphics.Canvas)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.drawable.BitmapDrawable.setTargetDensity_added(android.util.DisplayMetrics)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.drawable.BitmapDrawable.setTargetDensity_added(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.drawable.Drawable"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.drawable.Drawable.createFromResourceStream_added(android.content.res.Resources, android.util.TypedValue, java.io.InputStream, java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.drawable.NinePatchDrawable"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.drawable.NinePatchDrawable.ctor_added(android.content.res.Resources, android.graphics.Bitmap, byte[], android.graphics.Rect, java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.drawable.NinePatchDrawable.ctor_added(android.content.res.Resources, android.graphics.NinePatch)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.drawable.NinePatchDrawable.ctor_changed(android.graphics.Bitmap, byte[], android.graphics.Rect, java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.drawable.NinePatchDrawable.ctor_changed(android.graphics.NinePatch)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.drawable.NinePatchDrawable.setTargetDensity_added(android.graphics.Canvas)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.drawable.NinePatchDrawable.setTargetDensity_added(android.util.DisplayMetrics)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.graphics.drawable.NinePatchDrawable.setTargetDensity_added(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.hardware"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.hardware.SensorManager"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.hardware.SensorManager.LIGHT_NO_MOON"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.inputmethodservice"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.inputmethodservice.KeyboardView"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.inputmethodservice.KeyboardView.invalidateAllKeys_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.inputmethodservice.KeyboardView.invalidateKey_added(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.location"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.location.Address"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.location.Address.getPremises_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.location.Address.getSubLocality_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.location.Address.getSubThoroughfare_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.location.Address.setPremises_added(java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.location.Address.setSubLocality_added(java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.location.Address.setSubThoroughfare_added(java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.AudioManager"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.AudioManager.getRouting_changed(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.AudioManager.setRouting_changed(int, int, int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.MediaRecorder"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.MediaRecorder.AudioSource"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.MediaRecorder.AudioSource.VOICE_CALL"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.MediaRecorder.AudioSource.VOICE_DOWNLINK"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.MediaRecorder.AudioSource.VOICE_UPLINK"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.MediaRecorder.getAudioSourceMax_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_ABBR_ALERT"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_ABBR_INTERCEPT"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_ABBR_REORDER"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_ALERT_AUTOREDIAL_LITE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_ALERT_CALL_GUARD"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_ALERT_INCALL_LITE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_ALERT_NETWORK_LITE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_ANSWER"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_CALLDROP_LITE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_INTERGROUP"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_NORMAL"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_PAT3"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_PAT5"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_PAT6"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_PAT7"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_PING_RING"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_SP_PRI"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_CONFIRM"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_DIAL_TONE_LITE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_EMERGENCY_RINGBACK"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_HIGH_L"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_HIGH_PBX_L"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_HIGH_PBX_SLS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_HIGH_PBX_SS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_HIGH_PBX_SSL"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_HIGH_PBX_S_X4"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_HIGH_SLS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_HIGH_SS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_HIGH_SSL"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_HIGH_SS_2"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_HIGH_S_X4"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_INTERCEPT"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_KEYPAD_VOLUME_KEY_LITE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_LOW_L"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_LOW_PBX_L"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_LOW_PBX_SLS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_LOW_PBX_SS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_LOW_PBX_SSL"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_LOW_PBX_S_X4"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_LOW_SLS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_LOW_SS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_LOW_SSL"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_LOW_SS_2"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_LOW_S_X4"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_MED_L"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_MED_PBX_L"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_MED_PBX_SLS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_MED_PBX_SS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_MED_PBX_SSL"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_MED_PBX_S_X4"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_MED_SLS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_MED_SS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_MED_SSL"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_MED_SS_2"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_MED_S_X4"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_NETWORK_BUSY"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_NETWORK_BUSY_ONE_SHOT"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_NETWORK_CALLWAITING"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_NETWORK_USA_RINGBACK"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_ONE_MIN_BEEP"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_PIP"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_PRESSHOLDKEY_LITE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_REORDER"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_SIGNAL_OFF"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_CDMA_SOFT_ERROR_LITE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_SUP_CONFIRM"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_SUP_CONGESTION_ABBREV"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_SUP_INTERCEPT"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_SUP_INTERCEPT_ABBREV"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.media.ToneGenerator.TONE_SUP_PIP"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.net.wifi"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.net.wifi.WifiManager"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.net.wifi.WifiManager.MulticastLock"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.net.wifi.WifiManager.createMulticastLock_added(java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.opengl"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.opengl.GLES10"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.opengl.GLES10Ext"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.opengl.GLES11"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.opengl.GLES11Ext"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Build"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Build.CPU_ABI"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Build.MANUFACTURER"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Build.VERSION"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Build.VERSION.CODENAME"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Build.VERSION.SDK"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Build.VERSION.SDK_INT"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.Build.VERSION_CODES"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.RemoteCallbackList"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.RemoteCallbackList.getBroadcastCookie_added(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.RemoteCallbackList.onCallbackDied_added(E, java.lang.Object)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.os.RemoteCallbackList.register_added(E, java.lang.Object)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.MediaStore.Audio.Genres.Members"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.MediaStore.Audio.Genres.Members.DEFAULT_SORT_ORDER"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.MediaStore.Audio.Media"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.MediaStore.Audio.Media.DEFAULT_SORT_ORDER"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Settings.Secure"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Settings.Secure.ACCESSIBILITY_ENABLED"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Settings.Secure.TTS_DEFAULT_COUNTRY"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Settings.Secure.TTS_DEFAULT_LANG"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Settings.Secure.TTS_DEFAULT_PITCH"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Settings.Secure.TTS_DEFAULT_RATE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Settings.Secure.TTS_DEFAULT_SYNTH"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Settings.Secure.TTS_DEFAULT_VARIANT"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Settings.Secure.TTS_USE_DEFAULTS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Settings.System"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.provider.Settings.System.SHOW_WEB_SUGGESTIONS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.speech.tts"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.SmsManager"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.SmsMessage"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.SmsMessage.MessageClass"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.SmsMessage.SubmitPdu"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsManager"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsManager.RESULT_ERROR_GENERIC_FAILURE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsManager.RESULT_ERROR_NO_SERVICE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsManager.RESULT_ERROR_NULL_PDU"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsManager.RESULT_ERROR_RADIO_OFF"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsManager.STATUS_ON_SIM_FREE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsManager.STATUS_ON_SIM_READ"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsManager.STATUS_ON_SIM_SENT"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsManager.STATUS_ON_SIM_UNREAD"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsManager.STATUS_ON_SIM_UNSENT"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsManager.divideMessage_changed(java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsManager.getDefault_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsManager.sendDataMessage_changed(java.lang.String, java.lang.String, short, byte[], android.app.PendingIntent, android.app.PendingIntent)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsManager.sendMultipartTextMessage_changed(java.lang.String, java.lang.String, java.util.ArrayList&lt;java.lang.String&gt;, java.util.ArrayList&lt;android.app.PendingIntent&gt;, java.util.ArrayList&lt;android.app.PendingIntent&gt;)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsManager.sendTextMessage_changed(java.lang.String, java.lang.String, java.lang.String, android.app.PendingIntent, android.app.PendingIntent)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.ENCODING_16BIT"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.ENCODING_7BIT"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.ENCODING_8BIT"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.ENCODING_UNKNOWN"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.MAX_USER_DATA_BYTES"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.MAX_USER_DATA_SEPTETS"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.MAX_USER_DATA_SEPTETS_WITH_HEADER"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.MessageClass"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.SubmitPdu"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.SubmitPdu.ctor_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.SubmitPdu.encodedMessage"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.SubmitPdu.encodedScAddress"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.calculateLength_changed(java.lang.CharSequence, boolean)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.calculateLength_changed(java.lang.String, boolean)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.createFromPdu_changed(byte[])"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.ctor_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.getDisplayMessageBody_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.getDisplayOriginatingAddress_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.getEmailBody_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.getEmailFrom_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.getIndexOnSim_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.getMessageBody_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.getMessageClass_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.getOriginatingAddress_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.getPdu_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.getProtocolIdentifier_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.getPseudoSubject_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.getServiceCenterAddress_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.getStatusOnSim_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.getStatus_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.getSubmitPdu_changed(java.lang.String, java.lang.String, java.lang.String, boolean)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.getSubmitPdu_changed(java.lang.String, java.lang.String, short, byte[], boolean)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.getTPLayerLengthForPDU_changed(java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.getTimestampMillis_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.getUserData_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.isCphsMwiMessage_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.isEmail_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.isMWIClearMessage_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.isMWISetMessage_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.isMwiDontStore_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.isReplace_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.isReplyPathPresent_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.telephony.gsm.SmsMessage.isStatusReportMessage_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.test"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.test.AndroidTestCase"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.test.AndroidTestCase.assertActivityRequiresPermission_added(java.lang.String, java.lang.String, java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.test.AndroidTestCase.assertReadingContentUriRequiresPermission_added(android.net.Uri, java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.test.AndroidTestCase.assertWritingContentUriRequiresPermission_added(android.net.Uri, java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.test.mock"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.test.mock.MockContext"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.test.mock.MockContext.getApplicationInfo_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.test.mock.MockPackageManager"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.test.mock.MockPackageManager.getLaunchIntentForPackage_changed(java.lang.String)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.test.mock.MockPackageManager.installPackage_removed(android.net.Uri, android.content.pm.IPackageInstallObserver, int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.text.style"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.text.style.ImageSpan"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.text.style.ImageSpan.ctor_added(android.content.Context, android.graphics.Bitmap)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.text.style.ImageSpan.ctor_added(android.content.Context, android.graphics.Bitmap, int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.text.style.ImageSpan.ctor_changed(android.graphics.Bitmap)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.text.style.ImageSpan.ctor_changed(android.graphics.Bitmap, int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.util"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.util.Config"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.util.Config.LOGD"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.util.Config.LOGV"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.util.Config.PROFILE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.util.Config.RELEASE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.util.DisplayMetrics"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.util.DisplayMetrics.DENSITY_DEFAULT"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.util.DisplayMetrics.DENSITY_HIGH"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.util.DisplayMetrics.DENSITY_LOW"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.util.DisplayMetrics.DENSITY_MEDIUM"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.util.DisplayMetrics.densityDpi"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.util.TypedValue"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.util.TypedValue.DENSITY_DEFAULT"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.util.TypedValue.DENSITY_NONE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.util.TypedValue.density"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.Surface"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.Surface.SURACE_FROZEN"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.Surface.SURFACE_FROZEN"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.VelocityTracker"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.VelocityTracker.computeCurrentVelocity_added(int, float)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.View"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.View.FOCUSABLES_ALL"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.View.FOCUSABLES_TOUCH_MODE"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.View.addFocusables_added(java.util.ArrayList&lt;android.view.View&gt;, int, int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.View.buildDrawingCache_added(boolean)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.View.dispatchPopulateAccessibilityEvent_added(android.view.accessibility.AccessibilityEvent)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.View.getContentDescription_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.View.getDrawingCache_added(boolean)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.View.getTag_added(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.View.sendAccessibilityEventUnchecked_added(android.view.accessibility.AccessibilityEvent)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.View.sendAccessibilityEvent_added(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.View.setContentDescription_added(java.lang.CharSequence)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.View.setTag_added(int, java.lang.Object)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.ViewConfiguration"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.ViewConfiguration.getMaximumFlingVelocity_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.ViewConfiguration.getScaledMaximumFlingVelocity_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.ViewDebug.FlagToString"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.Window.Callback"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.Window.Callback.dispatchPopulateAccessibilityEvent_added(android.view.accessibility.AccessibilityEvent)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.accessibility"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.animation"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.animation.AnticipateInterpolator"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.animation.AnticipateOvershootInterpolator"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.animation.BounceInterpolator"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.view.animation.OvershootInterpolator"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.AutoCompleteTextView"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.AutoCompleteTextView.getDropDownHeight_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.AutoCompleteTextView.setDropDownHeight_added(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.CheckedTextView"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.ListView"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.ListView.getCheckItemIds_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.PopupWindow"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.PopupWindow.getSoftInputMode_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.PopupWindow.setSoftInputMode_added(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.PopupWindow.update_added(int, int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.TabHost.TabSpec"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.TabHost.TabSpec.getTag_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.TabHost.TabSpec.setIndicator_added(android.view.View)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.TabWidget"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.TabWidget.getChildTabViewAt_added(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.TabWidget.getTabCount_added()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.TabWidget.setDividerDrawable_added(android.graphics.drawable.Drawable)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="android.widget.TabWidget.setDividerDrawable_added(int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="java.lang"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="java.lang.String"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="java.lang.String.ctor_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="java.lang.String.ctor_changed(byte[])"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="java.lang.String.ctor_changed(byte[], int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="java.lang.String.ctor_changed(byte[], int, int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="java.lang.String.ctor_changed(byte[], int, int, int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="java.net"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="java.net.Socket"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="java.net.Socket.ctor_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="java.net.Socket.ctor_changed(java.lang.String, int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="java.net.Socket.ctor_changed(java.lang.String, int, java.net.InetAddress, int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="java.net.Socket.ctor_changed(java.net.Proxy)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="java.net.Socket.ctor_changed(java.net.SocketImpl)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="java.util"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="java.util.Date"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="java.util.Date.ctor_changed()"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+<comment>
+  <identifier id="java.util.Date.ctor_changed(int, int, int, int, int, int)"/>
+  <text>
+    InsertCommentsHere
+  </text>
+</comment>
+
+</comments>
diff --git a/docs/html/sdk/preview/features.jd b/docs/html/sdk/preview/features.jd
deleted file mode 100644
index 43856de..0000000
--- a/docs/html/sdk/preview/features.jd
+++ /dev/null
@@ -1,6 +0,0 @@
-sdk.redirect=true
-sdk.redirect.path=android-1.5-highlights.html
-
-@jd:body
-
-
diff --git a/docs/html/sdk/preview/index.jd b/docs/html/sdk/preview/index.jd
index 1e6b26b..a6a6ca2 100644
--- a/docs/html/sdk/preview/index.jd
+++ b/docs/html/sdk/preview/index.jd
@@ -1,5 +1,194 @@
-sdk.redirect=true
+page.title=Android 1.6 Early Look SDK
+sdk.redirect=0
+sdk.version=1.6
+sdk.preview=true
+
+sdk.date=August 2009
+
+sdk.win_download=android-sdk-windows-1.5_r3.zip
+sdk.win_bytes=191477853
+sdk.win_checksum=1725fd6963ce69102ba7192568dfc711
+
+sdk.mac_download=android-sdk-mac_x86-1.5_r3.zip
+sdk.mac_bytes=183024673
+sdk.mac_checksum=b1bafdaefdcec89a14b604b504e7daec
+
+sdk.linux_download=android-sdk-linux_x86-1.5_r3.zip
+sdk.linux_bytes=178117561
+sdk.linux_checksum=350d0211678ced38da926b8c9ffa4fac
+
+adt.zip_download=ADT-0.9.2.zip
+adt.zip_version=0.9.2
+adt.zip_bytes=178117561
+adt.zip_checksum=350d0211678ced38da926b8c9ffa4fac
 
 @jd:body
 
+<h2 id="overview">SDK Overview</h2>
+
+<p>This Early Look SDK provides the tools, libraries, and system images that you need to start developing and testing applications on the next version of the Android platform &mdash; Android 1.6.</p>
+
+<p>The sections below provide information about the contents of the SDK, as well as any applicable release notes.</p>
+
+<p>This Early Look SDK is provided for development and testing purposes only. You can use it to get familiar with the new Android 1.6 framework APIs and the UI and features of the Android 1.6 system, and you can use it to begin testing your existing applications with the new API and system. However, this SDK is not suitable for compiling applications for deployment to Android-powered devices running the Android 1.6 platform, when such devices are available. For more information, see <a href="#provisional">Framework API and Provisional API Level</a>. </p>
+
+<p>The sections below provide information about the contents of the SDK, as well as any applicable release notes.</p>
+
+<p class="note"><strong>Note:</strong> This is an <em>early look SDK only</em>. 
+The tools and documentation are not complete. The API reference documentation for the early look 
+SDK is provided only in the downloadable SDK package &mdash; documentation for this early 
+look release is <em>not</em> available at <a href="http://developer.android.com">http://developer.android.com</a>. 
+To access the API reference for the early
+look SDK, see the documentation in your SDK's <em>docs/reference/</em> directory.
+<br/><br/>
+Additionally, note that the APIs provided in this SDK are subject to change until the final 
+Android 1.6 SDK is released. You should not compile any applications for distribution using 
+this version of the SDK. If you do so, your applications will not function properly when deployed 
+to Android-powered devices running the final Android 1.6 platform. Please wait for the final 
+Android 1.6 SDK before distributing applications built on the Android 1.6 system image.
+</p>
+
+<h3 id="provisional">Framework API and Provisional API Level</h3>
+
+<p>This SDK gives you early access to the framework API that will be offered in Android 1.6. However, at the time of this release, The API specification for Android 1.6 was not yet final, meaning that it is possible that the API could change before the final release of the Android 1.6 platform. </p>
+
+<p>To help distinguish the API offered in the Early Look SDK from that of the final Android 1.6 platform, this SDK assigns a provisional API Level identifier &mdash; <strong>Donut</strong> &mdash; to its Early Look framework API. When the Android 1.6 framework API specification is final, the API Level identifier will change to <strong>4</strong> and the "Donut" identifier will no longer be supported. </p>
+
+<p>The "Donut" framework API is for development only and is not supported as a platform for compiling applications for deployment or publishing. The API Level of "Donut" will not be supported by any Android-powered devices in the field, including those running the Android 1.6 platform. This means that when the final Android 1.6 platform is released, you will need to change your application's <code>android:minSdkVersion</code> manifest attribute to reference the API Level of "4", rather than "Donut", if your application is using Android 1.6 APIs. You would then need to recompile your application before publishing it. </p>
+
+<p>The use of a provisional API Level in this SDK is designed to protect developers and device users from inadvertently publishing or installing applications based on the Early Look framework API, which may not run properly on actual devices running Android 1.6.</p>
+
+<p>To develop using the Early Look framework API, you must reference an API Level of "Donut" in your application's manifest. </p>
+
+<p>Specifically, you must define a <code>android:minSdkVersion</code>
+attribute in a <code>&lt;uses-sdk&gt;</code> element as a child of
+<code>&lt;manifest&gt;</code> in the manifest file. When set, the
+attribute looks like this: </p>
+
+<pre>&lt;manifest&gt;
+  ...
+  &lt;uses-sdk android:minSdkVersion="Donut" /&gt;
+  ...
+&lt;/manifest&gt;</pre>
+
+<p>If you are developing in Eclipse with ADT, please read the next section for information about the ADT upgrade that supports the Early Look SDK's provisional API Level. </p>
+
+
+<h3>ADT Plugin for Eclipse</h3>
+
+<p>An updated version of the ADT Plugin for Eclipse is available in connection with the Android 1.6 Early Look SDK. The new version, ADT 0.9.2, provides support for the provisional API Level "Donut" that is offered in the Early Look SDK and includes several new features and improvements. These changes mean that this Early Look SDK does not work with older Eclipse plugins (ADT 0.9.1).</li>
+
+<p>If you are developing in Eclipse with ADT and want to get started with Android 1.6 Early Look SDK, you <em>must</em> download and install the correct version of the ADT Plugin (0.9.2 or higher). </p>
+
+<p>The new version of ADT is downloadable from the usual remote update site or is separately downloadable as a .zip archive. For instructions on how to download the plugin, please see <a href="upgrading.html#UpdateAdt">Upgrading Your Eclipse Plugin</a>. </p>
+
+<h3>Android AVD Manager</h3>
+
+<p>The SDK offers a new tool called Android AVD Manager that lets you manage your AVDs more efficiently. For example, you can quickly create new AVDs, manage their properties, and run a target AVD from a single window. 
+
+If you are developing in Eclipse with ADT, you can access the Android AVD Manager from the <strong>Window</strong> menu. </p>
+
+If you are developing in another IDE, you can access the AVD manager capabilities through the <code>android</code> command-line tool, located in the &lt;sdk&gt;/tools directory. You can launch the tool with a graphical UI by using the <code>android</code> command without specifying any options. The command-line version of the tool is also still available.</p>
+
+<h3>SDK Component Updater</h3>
+
+<p>This SDK includes a new SDK Component Updater tool that lets you download updated versions of SDK components individually into your environment, as soon as they become available. </p>
+
+<p>The Updater provides a graphical UI that lets you quickly check what Android platforms, add-ons, extras, and documentation packages are available in your SDK environment, what their versions are, and whether updated versions are available. Using the Updater, you can download one or more items from the remote repository and install them directly in your SDK environment. For example, the updater lets you receive updates to SDK tools incrementally, as they are made available, without having to wait for the next SDK release. </p>
+
+<p>To access the Updater, use the <code>android</code> command-line tool, located in the &lt;sdk&gt;/tools directory. You can launch the Updater by using the <code>android</code> command without specifying any options. </p>
+
+<p>In ADT, it you can also access the Updater through the Android AVD Manager tool. </p>
+
+<h3>Support for Test Packages in New Project Wizard</h3>
+
+<p>The New Project Wizard available in the ADT 0.9.2 now lets you add a test package containing JUnit or other classes of tests while you are creating or importing a new Android application project. </p>
+
+
+<h3>Other Notes and Resolved Issues</h3>
+
+<ul>
+<li>This SDK release adds support for Eclipse 3.5 (Galileo) and no longer formally supports Eclipse 3.3 (Europa). </li>
+<li>The issue preventing adb from recognizing Samsung Galaxy devices (linux SDK only) has been fixed.</li>
+</ul>
+
+<h2>SDK Contents</h2>
+
+<h4>Development tools</h4>
+
+<p>The SDK includes a full set of tools for developing and debugging application code and designing an application UI. You can read about the tools in the  
+<a href="{@docRoot}guide/developing/tools/index.html">Dev Guide</a> and access them in the <code>&lt;sdk&gt;/tools/</code> directory. 
+
+<p>The tools package in this SDK includes updates from those provided in the previous SDK. The tools use the same project structure as in the previous SDK (Android 1.5), but have been updated to support the the provisional API Level identifier "donut". If you have application projects developed in the Android 1.5 SDK, you can migrate them to the latest SDK without modification. For more information about how to migrate, see <a href="upgrading.html">Upgrading the SDK</a>.
+
+<p>For more information about the new tools features, see the <a href="#overview">SDK Overview</a> section above. 
+
+<h4 id="system_images">Android Platforms</h4>
+
+<p>This SDK includes multiple Android platform versions that you can use to develop applications. For each version, both a fully compliant Android library and system image are provided. The table below lists the platform versions included in this SDK. For more information about a platform version &mdash; features, applications included, localizations, API changes, and so on &mdash; see its Version Notes. </p>
+
+<table style="margin-right:1em;" width="80%">
+<tr>
+<th><nobr>Platform</nobr></th><th><nobr>API Level</nobr></th><th>Notes</th><th>Description</th>
+</tr>
+<tr>
+<td width="5%"><nobr>Android 1.6 Early Look (Android Donut)</nobr></td>
+<td  width="5%">Donut</td>
+<td  width="5%"></td>
+<td>Includes an Early Look Android 1.6 library and system image with a set of development applications. Does not include any external libraries (such as the Maps external library).</td>
+</tr>
+<tr>
+<td width="5%"><nobr>Android 1.5</nobr></td>
+<td  width="5%">3</td>
+<td  width="5%"><nobr><a href="{@docRoot}sdk/android-1.5.html">Version Notes</a></nobr></td>
+<td>Includes a standard Android 1.5 library and system image with a set of development applications. Does not include any external libraries (such as the Maps external library).</td>
+</tr>
+</table>
+
+<h4 id="system_images">SDK Add-Ons</h4>
+
+<p>An SDK add-on provides a development environment for an Android external library or a customized (but fully compliant) Android system image. This SDK includes the SDK add-on listed below. The Android system API Level required by the add-on is noted.</p>
+
+<table style="margin-right:1em;" width="80%">
+<tr>
+<th><nobr>Add-On</nobr></th><th><nobr>API Level</nobr></th><th>Notes</th><th>Description</th>
+</tr>
+<tr>
+<td width="5%"><nobr>Google APIs</nobr></td>
+<td  width="5%">Donut</td>
+<td  width="5%">&nbsp;</td>
+<td>Includes the com.google.android.maps external library, an Early Look 
+Android 1.6 system image, a {@link android.location.Geocoder Geocoder}
+backend service implementation, documentation, and sample code. </td>
+</tr>
+<tr>
+<td width="5%"><nobr>Google APIs</nobr></td>
+<td  width="5%">3</td>
+<td  width="5%">&nbsp;</td>
+<td>Includes the com.google.android.maps external library, a compliant 
+system image, a {@link android.location.Geocoder Geocoder}
+backend service implementation, documentation, and sample code. </td>
+</tr>
+</table>
+
+<h4>Sample Code and Applications</h4>
+
+<p>You can look at a variety of tutorials and samples in the <a href="{@docRoot}guide/samples/index.html">Dev Guide</a> and access the sample code itself
+in the <code>&lt;sdk&gt;/platforms/&lt;platform&gt;/samples/</code> directory of the SDK package. Note the new location &mdash; the SDK now includes multiple platform versions that you can develop against and each has its own sample code directory. </p>
+
+<p>For example, to view or build the samples available for the Android 
+1.6 Early Look platform (AVD target "Android Donut"), you will find the samples in the <code>&lt;sdk&gt;/platforms/android-Donut/samples/</code> directory of the SDK package. </p>
+
+<h4>Documentation</h4>
+
+<p>The SDK package includes a full set of local documentation. To view it, open the <code>&lt;sdk&gt;/documentation.html</code> file in a web browser. If you are developing in an IDE such as Eclipse, you can also view the reference documentation directly in the IDE. </p>
+
+
+<hr/>
+
+<div class="special">
+<p>Feedback on this preview SDK is welcome on the public Android Open Source forums:</p>
+<p style="margin-left:2em;"><a href="http://source.android.com/discuss">http://source.android.com/discuss</a></p>
+</div>
+
 
diff --git a/docs/html/sdk/preview/installing.jd b/docs/html/sdk/preview/installing.jd
new file mode 100644
index 0000000..05e7ab5
--- /dev/null
+++ b/docs/html/sdk/preview/installing.jd
@@ -0,0 +1,346 @@
+page.title=Installing the Android SDK
+sdk.version=1.6
+sdk.preview=true
+sdk.date=August 2009
+
+@jd:body
+
+
+<div id="qv-wrapper">
+<div id="qv">
+
+  <h2>In this document</h2>
+  <ol>
+    <li><a href="#Preparing">Preparing for Installation</a></li>
+    <li><a href="#Installing">Installing the SDK</a></li>
+    <li><a href="#InstallingADT">Installing the ADT Plugin for Eclipse</a>
+      <ol>
+        <li><a href="#Troubleshooting">Troubleshooting ADT Installation</a></li>
+      </ol>
+    </li>
+    <li><a href="#NextSteps">Next Steps</a></li>
+    <li><a href="#InstallationNotes">Installation Notes</a></li>
+  </ol>
+
+</div>
+</div>
+
+<p>This page describes how to install the Android Early Look SDK and set up your
+development environment.</p>
+
+<p>If you encounter any problems during installation, see the 
+<a href="#InstallationNotes">Installation Notes</a> at the bottom of
+this page.</p>
+
+<h4 style="margin-top">Upgrading?</h4>
+<p>If you have already developed applications using an earlier version
+of the Android SDK, please read <a href="upgrading.html">Upgrading the SDK</a>, instead.
+</p>
+
+
+<h2 id="Preparing">Preparing for Installation</h2>
+
+<p>Before you begin, take a moment to confirm that your development machine meets the 
+<a href="requirements.html">System Requirements</a>.
+</p>
+
+<p>If you will be developing on Eclipse with the Android Development
+Tools (ADT) Plugin &mdash; the recommended path if you are new to
+Android &mdash; make sure that you have a suitable version of Eclipse
+installed on your computer (3.4 or newer is recommended). If you need to install Eclipse, you can
+download it from this location: </p>
+
+<p style="margin-left:2em;"><a href=
+"http://www.eclipse.org/downloads/">http://www.eclipse.org/downloads/</a
+></p>
+
+<p>A Java or RCP version of Eclipse is recommended. </p>
+
+<h2 id="Installing">Installing the SDK</h2>
+
+<p>Unpack the Android SDK .zip archive to a suitable location on your machine. 
+By default, the SDK files are unpacked into a directory named 
+<code>android_sdk_<em>&lt;platform</em>&gt;_<em>&lt;release&gt;</em></code>. 
+The directory contains a local copy of the documentation (accessible by opening
+<code>documentation.html</code> in your browser) and the subdirectories 
+<code>tools/</code>, <code>add-ons/</code>, <code>platforms/</code>, and others. Inside
+each subdirectory of <code>platforms/</code> you'll find <code>samples/</code>, which includes
+code samples that are specific to each version of the platform.</p>
+
+<p>Make a note of the name and location of the unpacked SDK directory on your system &mdash; you 
+will need to refer to the SDK directory later, when setting up the Android plugin or when 
+using the SDK tools.</p>
+
+<p>Optionally, you may want to add the location of the SDK's primary <code>tools</code> directory 
+to your system <code>PATH</code>. The primary <code>tools/</code> directory is located at the root of the 
+SDK folder. Adding <code>tools</code> to your path lets you run Android Debug Bridge (adb) and 
+the other command line <a href="{@docRoot}guide/developing/tools/index.html">tools</a> without 
+needing to supply the full path to the tools directory. </p>
+<ul>
+    <li>On Linux, edit your <code>~/.bash_profile</code> or <code>~/.bashrc</code> file. Look
+    for a line that sets the PATH environment variable and add the
+    full path to the <code>tools/</code> directory to it. If you don't 
+    see a line setting the path, you can add one:</li>
+
+    <ul><code>export PATH=${PATH}:<em>&lt;your_sdk_dir&gt;</em>/tools</code></ul>
+
+    <li>On a Mac, look in your home directory for <code>.bash_profile</code> and
+    proceed as for Linux. You can create the <code>.bash_profile</code> if 
+    you haven't already set one up on your machine. </li>
+
+    <li>On Windows, right-click on My Computer, and select Properties.  
+  Under the Advanced tab, hit the Environment Variables button, and in the
+  dialog that comes up, double-click on Path (under System Variables). Add the full path to the 
+  <code>tools/</code> directory to the path. </li>
+  </ul>
+
+<p>Note that, if you update your SDK in the future, you 
+should remember to update your <code>PATH</code> settings to point to the new location, if different.</p>
+
+<p>If you will be using the Eclipse IDE as your development environment,
+the next section describes how to install the Android Development Tools (ADT) plugin and set up Eclipse. 
+If you choose not to use Eclipse, you can 
+develop Android applications in an IDE of your choice and then compile, debug and deploy using
+the tools included in the SDK (skip to <a href="#NextSteps">Next Steps</a>).</p>
+
+
+<h2 id="InstallingADT">Installing the ADT Plugin for Eclipse</h2>
+
+<p>Android offers a custom plugin for the Eclipse IDE, called Android
+Development Tools (ADT), that is designed to give you a powerful,
+integrated environment in which to build Android applications. It
+extends the capabilites of Eclipse to let you quickly set up new Android
+projects, create an application UI, add components based on the Android
+Framework API, debug your applications using the Android SDK tools, and even export
+signed (or unsigned) APKs in order to distribute your application.</p>
+
+<p>In general, using Eclipse with ADT is a highly recommended
+approach to Android development and is the fastest way to get started.
+(If you prefer to work in an IDE other than Eclipse,
+you do not need to install Eclipse or ADT, instead, you can directly
+use the SDK tools to build and debug your application&mdash;skip to <a href="#NextSteps">Next Steps</a>.)</p>
+
+<p>Once you have Eclipse installed, as described in <a href="#Preparing">Preparing for 
+Installation</a>, follow the steps below to
+download the ADT plugin and install it in your respective Eclipse
+environment. </p>
+
+<table style="font-size:100%">
+<tr><th>Eclipse 3.3 (Europa)</th><th>Eclipse 3.4 (Ganymede)</th></tr>
+<tr>
+<td width="45%">
+<!-- 3.3 steps -->
+<ol>
+    <li>Start Eclipse, then select <strong>Help</strong> &gt; <strong>Software Updates</strong> 
+&gt; <strong>Find and Install...</strong>. </li>
+    <li>In the dialog that appears, select <strong>Search for new features to install</strong> 
+and click <strong>Next</strong>. </li>
+    <li>Click <strong>New Remote Site</strong>. </li>
+    <li>In the resulting dialog box, enter a name for the remote site (e.g. "Android Plugin") and 
+    enter the URL:
+        <pre>https://dl-ssl.google.com/android/eclipse/</pre>
+        <p>If you have trouble aqcuiring the plugin, try using "http" in the URL,
+        instead of "https" (https is preferred for security reasons).</p>
+        <p>Click <strong>OK</strong>.</p> </li>
+    <li>You should now see the new site added to the search list (and checked).
+        Click <strong>Finish</strong>. </li>
+    <li>In the subsequent Search Results dialog box, select the checkbox for the
+    "Android Plugin".
+    This will select the nested tools: "Android DDMS" and "Android Development Tools". 
+    Click <strong>Next</strong>.</li>
+    <li>Read and accept the license agreement, then click <strong>Next</strong>. </li>
+    <li>On the following Installation window, click <strong>Finish</strong>. </li>
+    <li>The ADT plugin is not digitally signed. Accept the installation anyway
+        by clicking <strong>Install All</strong>. </li>
+    <li>Restart Eclipse. </li>
+</ol>
+
+</td>
+<td>
+
+<!-- 3.4 steps -->
+<ol>
+    <li>Start Eclipse, then select <strong>Help</strong> &gt; <strong>Software Updates...</strong>.</li>
+    <li>In the dialog that appears, click the <strong>Available Software</strong> tab. </li>
+    <li>Click <strong>Add Site...</strong> </li>
+    <li>Enter the Location:
+      <pre>https://dl-ssl.google.com/android/eclipse/</pre>
+        <p>If you have trouble aqcuiring the plugin, try using "http" in the Location URL,
+        instead of "https" (https is preferred for security reasons).</p>   
+      <p>Click <strong>OK</strong>.</p></li>
+    <li>Back in the Available Software view, you should see the plugin listed by the URL,
+    with "Developer Tools" nested within it. Select the checkbox next to 
+      Developer Tools and click <strong>Install...</strong></li>
+    <li>On the subsequent Install window, "Android DDMS" and "Android Development Tools"
+    should both be checked. Click <strong>Next</strong>. </li>
+    <li>Read and accept the license agreement, then click <strong>Finish</strong>.</li>
+    <li>Restart Eclipse. </li>
+</ol>
+
+</td>
+</tr>
+</table>
+
+<p>Now modify your Eclipse preferences to point to the Android SDK directory:</p>
+<ol>
+    <li>Select <strong>Window</strong> &gt; <strong>Preferences...</strong> to open the Preferences
+        panel (Mac: <strong>Eclipse</strong> &gt; <strong>Preferences</strong>).</li>
+    <li>Select <strong>Android</strong> from the left panel. </li>
+    <li>For the <em>SDK Location</em> in the main panel, click <strong>Browse...</strong> and 
+locate your downloaded SDK directory. </li>
+    <li>Click <strong>Apply</strong>, then <strong>OK</strong>.</li>
+</ol>
+
+<p>Done! If you haven't encountered any problems, then you're ready to
+begin developing Android applications. See the 
+<a href="#NextSteps">Next Steps</a> section for suggestions on how to start. </p>
+
+
+<h3 id="Troubleshooting">Troubleshooting ADT Installation</h3>
+<p> 
+If you are having trouble downloading the ADT plugin after following the steps above, here are 
+some suggestions: </p>
+
+<ul>
+  <li>If Eclipse can not find the remote update site containing the ADT plugin, try changing 
+  the remote site URL to use http, rather than https. That is, set the Location for the remote site to:
+  <pre>http://dl-ssl.google.com/android/eclipse/</pre></li>
+  <li>If you are behind a firewall (such as a corporate firewall), make
+  sure that you have properly configured your proxy settings in Eclipse.
+  In Eclipse 3.3/3.4, you can configure proxy information from the main
+  Eclipse menu in <strong>Window</strong> (on Mac, <strong>Eclipse</strong>) &gt; 
+  <strong>Preferences</strong> &gt; <strong>General</strong> &gt; 
+  <strong>Network Connections</strong>.</li>
+</ul>
+<p> 
+If you are still unable to use Eclipse to download the ADT plugin as a remote update site, you 
+can download the ADT zip file to your local machine and manually install the it:
+</p>
+<ol>
+  <li><a href="http://developer.android.com/sdk/preview/index.html">Download the ADT Plugin zip file</a> (do not unpack it).</li>
+  <li>Follow steps 1 and 2 in the default install instructions (above).</li>
+  <li>In Eclipse 3.3, click <strong>New Archive Site...</strong>. <br/>
+      In Eclipse 3.4, click <strong>Add Site...</strong>, then <strong>Archive...</strong></li>
+  <li>Browse and select the downloaded zip file.</li>
+  <li>Follow the remaining procedures, above, starting from steps 5.</li>
+</ol>
+<p>To update your plugin once you've installed using the zip file, you will have to 
+follow these steps again instead of the default update instructions.</p>
+
+<h4>Other install errors</h4>
+
+<p>Note that there are features of ADT that require some optional 
+Eclipse components (for example, WST). If you encounter an error when 
+installing ADT, your Eclipse installion might not include these components. 
+For information about how to quickly add the necessary components to your 
+Eclipse installation, see the troubleshooting topic 
+<a href="{@docRoot}guide/appendix/faq/troubleshooting.html#installeclipsecomponents">ADT 
+Installation Error: "requires plug-in org.eclipse.wst.sse.ui"</a>.</p>
+
+<h4>For Linux users</h4>
+<p>If you encounter this error when installing the ADT Plugin for Eclipse: 
+<pre>
+An error occurred during provisioning.
+Cannot connect to keystore.
+JKS</pre>
+<p>
+...then your development machine lacks a suitable Java VM. Installing Sun
+Java 6 will resolve this issue and you can then reinstall the ADT
+Plugin.</p>
+
+
+<h2 id="NextSteps">Next Steps</h2>
+<p>Once you have completed installation, you are ready to
+begin developing applications. Here are a few ways you can get started: </p>
+
+<p><strong>Learn about Android</strong></p>
+<ul>
+  <li>Take a look at the <a href="{@docRoot}guide/index.html">Dev
+  Guide</a> and the types of information it provides</li>
+  <li>Read an introduction to Android as a platform in <a
+  href="{@docRoot}guide/basics/what-is-android.html">What is
+  Android?</a></li>
+  <li>Learn about the Android framework and how applications run on it in
+  <a href="{@docRoot}guide/topics/fundamentals.html">Application
+  Fundamentals</a></li>
+  <li>Take a look at the Android framework API specification in the <a
+  href="{@docRoot}reference/packages.html">Reference</a> tab</li>
+</ul>
+
+<p><strong>Explore the SDK</strong></p>
+<ul>
+  <li>Get an overview of the <a
+  href="{@docRoot}guide/developing/tools/index.html">development
+  tools</a> that are available to you</li>
+  <li>Read how to develop <a
+  href="{@docRoot}guide/developing/eclipse-adt.html">in Eclipse/ADT</a> or
+  <a href="{@docRoot}guide/developing/other-ide.html">in other IDEs</a>
+  </li>
+</ul>
+
+<p><strong>Explore some code</strong></p>
+<ul>
+  <li>Set up a <a href="{@docRoot}guide/tutorials/hello-world.html">Hello
+  World application</a> (highly recommended, especially for Eclipse users)</li>
+  <li>Follow the <a href="{@docRoot}guide/tutorials/notepad/index.html">
+  Notepad Tutorial</a> to build a full Android application </li>
+  <li>Create a new project for one of the other sample applications
+  included in <code><em>&lt;sdk&gt;</em>/platforms/<em>&lt;platfrom&gt;</em>/samples</code>, 
+  then compile and run it in your development environment</li>
+</ul>
+
+<p><strong>Visit the Android developer groups</strong></p>
+<ul>
+  <li>Take a look at the <a
+  href="{@docRoot}community/index.html">Community</a> tab to see a list of
+  Android developers groups. In particular, you might want to look at the
+  <a href="http://groups.google.com/group/android-developers">Android
+  Developers</a> group to get a sense for what the Android developer
+  community is like.</li>
+</ul>
+
+
+<h2 id="InstallationNotes">Installation Notes</h2>
+
+<h3>Ubuntu Linux Notes</h3>
+
+<ul>
+  <li>If you need help installing and configuring Java on your
+    development machine, you might find these resources helpful: 
+    <ul>
+      <li><a href="https://help.ubuntu.com/community/Java">https://help.ubuntu.com/community/Java </a></li>
+      <li><a href="https://help.ubuntu.com/community/Java">https://help.ubuntu.com/community/JavaInstallation</a></li>
+    </ul>
+  </li>
+  <li>Here are the steps to install Java and Eclipse, prior to installing
+  the Android SDK and ADT Plugin.
+    <ol>
+      <li>If you are running a 64-bit distribution on your development
+      machine, you need to install the <code>ia32-libs</code> package using
+      <code>apt-get:</code>:
+      <pre>apt-get install ia32-libs</pre>
+      </li>
+      <li>Next, install Java: <pre>apt-get install sun-java6-bin</pre></li>
+      <li>The Ubuntu package manager does not currently offer an Eclipse 3.3
+      version for download, so we recommend that you download Eclipse from
+      eclipse.org (<a
+      href="http://www.eclipse.org/downloads/">http://www.eclipse.org/
+      downloads/</a>). A Java or RCP version of Eclipse is recommended.</li>
+      <li>Follow the steps given in previous sections to install the SDK 
+      and the ADT plugin. </li>
+    </ol>
+  </li>
+</ul>
+
+<h3>Other Linux Notes</h3>
+
+<ul>
+  <li>If JDK is already installed on your development computer, please
+  take a moment to make sure that it meets the version requirements listed
+  in the <a href="{@docRoot}sdk/{@sdkCurrent}/requirements.html">System Requirements</a>.
+  In particular, note that some Linux distributions may include JDK 1.4 or Gnu
+  Compiler for Java, both of which are not supported for Android development.</li>
+</ul>
+
+
+
diff --git a/docs/html/sdk/preview/requirements.jd b/docs/html/sdk/preview/requirements.jd
new file mode 100644
index 0000000..15731e0
--- /dev/null
+++ b/docs/html/sdk/preview/requirements.jd
@@ -0,0 +1,45 @@
+page.title=System Requirements
+sdk.version=1.6
+sdk.preview=true
+@jd:body
+
+<p>The sections below describe the system and software requirements for developing 
+Android applications using the Android SDK tools included in Android 
+<?cs var:sdk.version ?> SDK<?cs if:sdk.rel.id ?>, Release <?cs var:sdk.rel.id ?><?cs /if ?>. </p>
+
+<h3>Supported Operating Systems</h3>
+<ul>
+  <li>Windows XP (32-bit) or Vista (32- or 64-bit)</li>
+  <li>Mac OS X 10.4.8 or later (x86 only)</li>
+  <li>Linux (tested on Linux Ubuntu Dapper Drake)</li>
+</ul>
+
+<h3>Supported Development Environments</h3>
+<ul>
+  <li>Eclipse IDE
+    <ul>
+      <li><a href="http://www.eclipse.org/downloads/">Eclipse</a> 3.3 (Europa), 3.4 (Ganymede), 3.5 (Galileo)
+        <ul>
+        <li><strong>Note:</strong> Eclipse 3.3 has not been fully tested with ADT 0.9.2 and support can no longer be guaranteed. We suggest you upgrade to 
+          Eclipse 3.4 or 3.5.</li>
+        <li>Recommended Eclipse IDE packages: Eclipse IDE for Java EE Developers, Eclipse IDE for Java Developers, Eclipse for RCP/Plug-in Developers</li>
+        <li>Eclipse <a href="http://www.eclipse.org/jdt">JDT</a> plugin (included in most Eclipse IDE packages) </li>
+        <li>Eclipse Classic IDE package is not supported.</li>
+        </ul>
+      </li>     
+      <li><a href="http://java.sun.com/javase/downloads/index.jsp">JDK 5 or JDK 6</a> (JRE alone is not sufficient)</li>
+      <li><a href="installing.html#installingplugin">Android Development Tools plugin</a> (optional)</li>
+      <li><strong>Not</strong> compatible with Gnu Compiler for Java (gcj)</li>
+    </ul>
+  </li>
+  <li>Other development environments or IDEs
+    <ul>
+      <li><a href="http://java.sun.com/javase/downloads/index.jsp">JDK 5 or JDK 6</a> (JRE alone is not sufficient)</li>
+      <li><a href="http://ant.apache.org/">Apache Ant</a> 1.6.5 or later for Linux and Mac, 1.7 or later for Windows</li>
+      <li><strong>Not</strong> compatible with Gnu Compiler for Java (gcj)</li>
+    </ul>
+  </li>
+</ul>
+
+<p class="note"><strong>Note:</strong> If JDK is already installed on your development computer, please take a moment to make sure that it meets the version requirements listed above. In
+particular, note that some Linux distributions may include JDK 1.4 or Gnu Compiler for Java, both of which are not supported for Android development. </p>
\ No newline at end of file
diff --git a/docs/html/sdk/preview/upgrading.jd b/docs/html/sdk/preview/upgrading.jd
new file mode 100644
index 0000000..da2eb25
--- /dev/null
+++ b/docs/html/sdk/preview/upgrading.jd
@@ -0,0 +1,258 @@
+page.title=Upgrading the SDK
+sdk.version=1.6
+sdk.preview=true
+@jd:body
+
+
+<div id="qv-wrapper">
+<div id="qv">
+
+  <h2>Upgrading the SDK</h2>
+  <ul>
+    <li>ADT 0.9 / 0.9.1 is not compatible with the Android 1.6 Early Look SDK. You must upgrade
+    ADT to 0.9.2.</li>
+    <li>The Early Look SDK uses a special provisional API Level, "Donut", which is required
+    to compile against the new Donut platform.</li>
+  </ul>
+
+  <h2>In this document</h2>
+  <ol>
+    <li><a href="#Install">Install the SDK</a></li>
+    <li><a href="#UpdateAdt">Update Your Eclipse ADT Plugin</a></li>
+    <li><a href="#RunYourApps">Run Your Applications</a></li>
+    <li><a href="#ConvertYourApps">Convert Your Applications</a></li>
+  </ol>
+  
+  <h2>Migrating references</h2>
+  <ol>
+    <li><a href="{@docRoot}sdk/api_diff/4/changes.html">Android 1.6 Early Look API Differences</a></li>
+  </ol>
+
+</div>
+</div>
+
+<p>This document describes how to move your development environment and existing
+Android applications from an Android 1.5 SDK to the Android 1.6 Early Look SDK.
+If you are migrating applications from an SDK older than 1.5, please also read the upgrading
+document available in the Android 1.5 SDK package.</p>
+
+<p>There are several compelling reasons to upgrade, such as new SDK tools
+that make developing more efficient and new APIs that allow you to expand the feature-set
+of your applications. However, even if you or your applications don't require these enhancements,
+it's important that you upgrade to ensure that your applications run properly on the upcoming
+Android platform.</p>
+
+<p>The Android 1.6 platform will soon be deployable to devices around the world.
+If you have already released Android applications to the public, you should
+test the forward-compatibility of your applications on the latest version of the platform
+as soon as possible. It's unlikely that you'll encounter breakage in your applications, but
+in the interest of maintaining the best user experience, you should take no risks.
+So, please install the new Android SDK and test your applications on the new platform.</p>
+
+<!-- NOT AVAILABLE FOR THE PREVIEW
+<p>For more information on new SDK features and system changes, 
+see the <a href="{@docRoot}sdk/android-1.5.html">Android 1.5 Version Notes</a>.</p>
+-->
+
+<h2 id="Install">Install the SDK</h2>
+
+<!--
+<p>If you haven't yet downloaded the SDK, <a href="index.html">download from here</a> 
+and unpack it into a safe location.</p>
+-->
+<p>Now that you have the Android 1.6 Early Look SDK,
+you need to perform some of the regular installation steps.</p>
+
+
+<p>If you had previously setup your <code>PATH</code> variable to point to the SDK tools directory, 
+then you need to update it to point to the new SDK. For example, for a 
+<code>.bashrc</code> or <code>.bash_profile</code> file:</p>
+<pre>export PATH=$PATH:<em>&lt;your_sdk_dir></em>/tools</pre>
+
+
+<h2 id="UpdateAdt">Update Your Eclipse ADT Plugin</h2>
+
+<p>If you don't use Eclipse for development,
+skip to <a href="#RunYourApps">Run Your Applications</a>.</p>
+
+<!--
+<p><em>If you installed ADT 0.9.2 with the Android 1.6 Early Look SDK, there have been
+additional changes, so please continue with this guide and update ADT.</em></p>
+-->
+
+<p>A new ADT plugin (version 0.9.2) is required for the Android 1.6 Early Look SDK.
+With ADT 0.9.2, you can still compile your applications against 
+multiple platform versions, such as Android 1.5. However, previous versions
+of ADT will not work with the Android 1.6 Early Look SDK, so you must upgrade
+to ADT 0.9.2.</p>
+
+<p>If you're currently using a version of ADT <em>older</em> than version 0.9, then you must
+uninstall ADT before you proceed (read how to
+<a href="http://developer.android.com/sdk/1.5_r3/upgrading.html#uninstallAdt">Uninstall
+your previous ADT plugin</a>). If you currently have version 0.9 or 0.9.1, then you don't 
+need to uninstall and can continue with the procedure below.</p>
+
+<h3 id="installAdt">Install the 0.9.2 ADT plugin</h3>
+
+<p>To install the new ADT plugin, follow the steps below for your respective version of Eclipse.</p>
+
+<table style="font-size:100%">
+<tr><th>Eclipse 3.3 (Europa)</th><th>Eclipse 3.4 (Ganymede)</th></tr>
+<tr>
+<td width="50%">
+<!-- 3.3 steps -->
+<ol>
+    <li>Select <strong>Help</strong> &gt; <strong>Software Updates</strong> &gt; 
+      <strong>Find and Install</strong>. </li>
+    <li>Select <strong>Search for new features to install</strong>.</li>
+    <li>Select the Android plugin entry by checking the box next to it, 
+      then click <strong>Finish</strong>.
+      <p>(Your original entry for the plugin should still be here. If not, see the guide
+      to <a href="installing.html#installingplugin">Installing the ADT Plugin</a>.)
+      </p></li>
+    <li>In the results, expand the entry for the Android plugin and
+      be sure that "Developer Tools" is checked, then click <strong>Next</strong>.
+      (This will install "Android DDMS" and "Android Development Tools".)</li>
+    <li>Read and accept the license agreement, then click <strong>Next</strong>.
+    <li>In the next window, click <strong>Finish</strong> to start installation.</li>
+    <li>The ADT plugin is not digitally signed. Accept the installation anyway by clicking 
+    <strong>Install All</strong>.</li>
+    <li>Restart Eclipse.</li>
+</ol>
+</td>
+<td>
+<!-- 3.4 steps -->
+<ol>
+    <li>Select <strong>Help</strong> &gt; <strong>Software Updates</strong>.</li>
+    <li>Select the <strong>Available Software</strong> tab.</li>
+    <li>Expand the entry for the Andriod plugin (may be listed as the location URL)
+      and select "Developer Tools" by checking the box next to it, then click 
+      <strong>Install</strong>.</li>
+    <li>On the next window, "Android DDMS" and "Android Development Tools" 
+    should both be checked. Click <strong>Finish</strong>.</li>
+    <li>Restart Eclipse.</li>
+</ol>
+</td>
+</tr>
+</table>
+
+<p>If you encounter problems with this update procedure, try performing a fresh installation. 
+Ensure your current ADT is fully uninstalled and then
+follow the guide to <a href="installing.html#InstallingADT">Installing the ADT Plugin
+for Eclipse</a>.</p>
+
+<h3 id="updateEclipsePrefs">Update your Eclipse SDK Preferences</h3>
+
+<p>The last step is to update your Eclipse preferences to point to the new SDK directory:</p>
+<ol>
+  <li>Select <strong>Window</strong> > <strong>Preferences</strong> to open the Preferences 
+  panel (Mac: <strong>Eclipse</strong> > <strong>Preferences</strong>).</li>
+  <li>Select <strong>Android</strong> from the left panel.</li>
+  <li>For the SDK Location, click <strong>Browse</strong> 
+  and locate your SDK directory.</li>
+  <li>Click <strong>Apply</strong>, then <strong>OK</strong>.</li>
+</ol>
+
+
+<h2 id="RunYourApps">Run Your Applications</h2>
+
+<p>Now that you have installed the Android 1.6 Early Look SDK, we encourage you
+to run each of your applications in an instance
+of the emulator that's running the new Android 1.6 system image. It's possible (however, unlikely) 
+that you'll encounter unexpected behavior in your application when you run your applications on
+the new system image. Whether you believe your application will be affected by 
+platform changes or not, it's very important that you test the application's 
+forward-compatibility.</p>
+
+<p>To test forward-compatibility, simply run your application, as-is, on an instance of the Android
+Emulator that uses an AVD targeted to "Android Donut (Preview)":</p>
+
+<ol>
+  <li>Make no changes to your application code.</li>
+  <li>Create a new AVD that's targeted to the "Donut" platform.</li>
+  <li>Launch your application in an emulator running the new AVD.</li>
+  <li>Perform normal testing on your application to ensure everything works as expected.</li>
+</ol>
+
+<p>For more information on creating an AVD and launching your application refer to the 
+<a href="{@docRoot}guide/developing/eclipse-adt.html#Running">Eclipse guide to 
+Running Your Application</a> or the 
+<a href="{@docRoot}guide/developing/other-ide.html#Running">Ant guide to 
+Running Your Application</a>, depending on your development environment.</p>
+
+
+<h2 id="ConvertYourApps">Convert Your Applications</h2>
+
+<p>If you want to fully utilize new APIs introduced with the Android 1.6 Early Look SDK,
+then you'll need to convert your application to compile against the new "Donut" platform.</p>
+
+<p>First, you need to change the value of the <code>minSdkVersion</code> attribute in
+the <code>&lt;uses-sdk></code> manifest element. While
+running your application against the Donut platform included with the Early Look SDK, you
+<strong>must</strong> set the <code>minSdkVersion</code> value to "Donut". For example:</p>
+
+<pre>
+&lt;manifest>
+  ...
+  &lt;uses-sdk android:minSdkVersion="Donut" />
+  ...
+&lt;/manifest>
+</pre>
+
+<p>This value is required only while compiling against the Donut platform included with
+the Android 1.6 Early Look SDK. Once the final SDK is made
+available for Android 1.6, you will need to change this value.
+For more information, read about the <a href="index.html#provisional">Framework API and
+Provisional API Level</a>.</p>
+
+<p>Once you've changed the <code>minSdkVersion</code> value in your application's manifest, 
+continue with the procedures below to convert your applications.</p>
+
+<h3 id="EclipseUsers">Eclipse users</h3>
+
+<ol>
+	<li>Right-click on the individual project (in the Package Explorer)
+	   and select <strong>Properties</strong>.</li>
+	<li>In the properties, open the Android panel and select a new Project Build Target.
+	    Select "Android Donut (Preview)" to target the new
+	    platform (or "Google APIs" with the "Donut" platform if your application uses the Maps APIs).</li>
+	<li>Click <strong>Apply</strong>, then <strong>OK</strong>.</li>
+</ol>
+	
+	<p>Remember that you must create an AVD that targets the same platform in order to run the emulator.
+  Continue with the
+	<a href="{@docRoot}guide/developing/eclipse-adt.html#Running">Eclipse guide to
+	Running Your Application</a>. During the procedure to Running Your Application, select a "deployment
+  target" or the AVD that includes the "Donut" platform. If your application utilizes the Google Maps APIs (i.e.,
+	MapView), be certain to select a target that includes the Google APIs.</p>
+	
+	
+<h3 id="AntUsers">Ant users</h3>
+	
+	<p>Use the <code>android</code> tool (located in <code><em>your_sdk</em>/tools/</code>)
+	to create a new <code>build.xml</code> that references
+	the new platform target. To see a list of available targets, execute:</p>
+	
+	<pre>android list targets</pre>
+	
+	<p>Select the target <code>id</code> that corresponds to the "Donut" platform and pass it with the
+	<code>--target</code> parameter when updating your project. For example:</p>
+	
+	<pre>android update project --path /path/to/my-project --target 2</pre>
+
+<p>Remember that you must create an Android Virtual Device (AVD) that's targeted to the
+	same platform before you can run the updated application an instance
+	of the emulator. Please continue with the
+	<a href="{@docRoot}guide/developing/other-ide.html#Running">Ant guide to
+	Running Your Application</a>. During the procedure to Running Your Application, select a "deployment
+  target" for the AVD that includes the "Donut" platform.
+	If your application utilizes the Google Maps APIs (i.e.,
+	MapView), be certain to select a target that includes the Google APIs.</p>
+
+
+<div class="special">
+<p>If you have additional trouble updating your code, visit the 
+<a href="http://groups.google.com/group/android-developers">Android Developers Group</a>
+to seek help from other Android developers.</p>
+</div>
+
diff --git a/docs/html/sdk/sdk_toc.cs b/docs/html/sdk/sdk_toc.cs
index 22d6f43..c08d75e 100644
--- a/docs/html/sdk/sdk_toc.cs
+++ b/docs/html/sdk/sdk_toc.cs
@@ -2,7 +2,10 @@
 <ul>
   <li><?cs 
    if:android.whichdoc != "online" ?>
-    <h2>Android <?cs var:sdk.version ?> SDK, r<?cs var:sdk.rel.id ?></h2><?cs 
+    <h2>Android <?cs var:sdk.version ?> <?cs 
+      if: sdk.preview ?>Early Look SDK<?cs 
+      else ?>SDK, r<?cs var:sdk.rel.id ?><?cs 
+      /if ?></h2><?cs 
    else ?>
     <h2><span class="en">Current SDK Release</span>
         <span class="de">Aktuelle SDK-Version</span>
@@ -16,7 +19,10 @@
    /if ?>
     <ul><?cs 
      if:android.whichdoc == "online" ?>
-      <li><a href="<?cs var:toroot ?>sdk/<?cs var:sdk.current ?>/index.html">
+      <li><a href="<?cs var:toroot ?>sdk/<?cs
+        if:sdk.preview ?>preview<?cs
+			  else ?><?cs var:sdk.current ?><?cs
+			  /if ?>/index.html">
           <span class="en">Download</span>
           <span class="de">Herunterladen</span>
           <span class="es">Descargar</span>
@@ -27,7 +33,10 @@
           <span class="zh-TW">下載</span>
          </a></li><?cs 
      /if ?>
-      <li><a href="<?cs var:toroot ?>sdk/<?cs var:sdk.current ?>/installing.html">
+      <li><a href="<?cs var:toroot ?>sdk/<?cs
+        if:sdk.preview ?>preview<?cs
+			  else ?><?cs var:sdk.current ?><?cs
+			  /if ?>/installing.html">
           <span class="en">Installing</span>
           <span class="de">Installieren</span>
           <span class="es">Instalación</span>
@@ -37,12 +46,21 @@
           <span class="zh-CN">安装</span>
           <span class="zh-TW">安裝</span>
       </a></li>
-      <li><a href="<?cs var:toroot ?>sdk/<?cs var:sdk.current ?>/upgrading.html">Upgrading</a></li>
-      <li><a href="<?cs var:toroot ?>sdk/<?cs var:sdk.current ?>/requirements.html">System Requirements</a></li>
+      <li><a href="<?cs var:toroot ?>sdk/<?cs
+        if:sdk.preview ?>preview<?cs
+			  else ?><?cs var:sdk.current ?><?cs
+			  /if ?>/upgrading.html">Upgrading</a></li>
+      <li><a href="<?cs var:toroot ?>sdk/<?cs
+        if:sdk.preview ?>preview<?cs
+			  else ?><?cs var:sdk.current ?><?cs
+			  /if ?>/requirements.html">System Requirements</a></li>
     </ul>
     <ul>
       <li><a href="<?cs var:toroot ?>sdk/terms.html">SDK Terms and Conditions</a></li>
-      <li><a href="<?cs var:toroot ?>sdk/RELEASENOTES.html">SDK Release Notes</a></li>
+      <li><a href="<?cs var:toroot ?><?cs 
+        if:sdk.current == "preview" ?>sdk/preview/index.html<?cs 
+        else ?>sdk/RELEASENOTES.html<?cs 
+        /if ?>">SDK Release Notes</a></li>
     </ul><?cs 
  if:android.whichdoc == "online" ?>
   <li>
diff --git a/docs/html/sdk/terms.jd b/docs/html/sdk/terms.jd
index 614a438..ffc574a 100644
--- a/docs/html/sdk/terms.jd
+++ b/docs/html/sdk/terms.jd
@@ -1,4 +1,6 @@
 page.title=Terms and Conditions
+sdk.version=1.6
+sdk.preview=true
 hide_license_footer=true
 @jd:body
 
diff --git a/graphics/java/android/renderscript/Element.java b/graphics/java/android/renderscript/Element.java
index 8e0a7a1..409d267 100644
--- a/graphics/java/android/renderscript/Element.java
+++ b/graphics/java/android/renderscript/Element.java
@@ -146,58 +146,75 @@
 
     public static class Builder {
         RenderScript mRS;
-        boolean mActive = true;
+        Entry[] mEntries;
+        int mEntryCount;
 
-        Builder(RenderScript rs) {
+        private class Entry {
+            Element mElement;
+            Element.DataType mType;
+            Element.DataKind mKind;
+            boolean mIsNormalized;
+            int mBits;
+        }
+
+        public Builder(RenderScript rs) {
             mRS = rs;
+            mEntryCount = 0;
+            mEntries = new Entry[8];
         }
 
-        void begin() throws IllegalStateException {
-            if (mActive) {
-                throw new IllegalStateException("Element builder already active.");
+        void addEntry(Entry e) {
+            if(mEntries.length >= mEntryCount) {
+                Entry[] en = new Entry[mEntryCount + 8];
+                for(int ct=0; ct < mEntries.length; ct++) {
+                    en[ct] = mEntries[ct];
+                }
+                mEntries = en;
             }
-            mRS.nElementBegin();
-            mActive = true;
+            mEntries[mEntryCount] = e;
+            mEntryCount++;
         }
 
-        public Builder add(Element e) throws IllegalArgumentException, IllegalStateException {
-            if(!mActive) {
-                throw new IllegalStateException("Element builder not active.");
-            }
+        public Builder add(Element e) throws IllegalArgumentException {
             if(!e.mIsPredefined) {
                 throw new IllegalArgumentException("add requires a predefined Element.");
             }
-            mRS.nElementAddPredefined(e.mID);
+            Entry en = new Entry();
+            en.mElement = e;
+            addEntry(en);
             return this;
         }
 
-        public Builder add(Element.DataType dt, Element.DataKind dk, boolean isNormalized, int bits)
-            throws IllegalStateException {
-            if(!mActive) {
-                throw new IllegalStateException("Element builder not active.");
-            }
-            int norm = 0;
-            if (isNormalized) {
-                norm = 1;
-            }
-            mRS.nElementAdd(dt.mID, dk.mID, norm, bits);
+        public Builder add(Element.DataType dt, Element.DataKind dk, boolean isNormalized, int bits) {
+            Entry en = new Entry();
+            en.mType = dt;
+            en.mKind = dk;
+            en.mIsNormalized = isNormalized;
+            en.mBits = bits;
+            addEntry(en);
             return this;
         }
 
-        public void abort() throws IllegalStateException {
-            if(!mActive) {
-                throw new IllegalStateException("Element builder not active.");
+        static synchronized Element internalCreate(RenderScript rs, Builder b) {
+            rs.nElementBegin();
+            for (int ct=0; ct < b.mEntryCount; ct++) {
+                Entry en = b.mEntries[ct];
+                if(en.mElement !=  null) {
+                    rs.nElementAddPredefined(en.mElement.mPredefinedID);
+                } else {
+                    int norm = 0;
+                    if (en.mIsNormalized) {
+                        norm = 1;
+                    }
+                    rs.nElementAdd(en.mType.mID, en.mKind.mID, norm, en.mBits);
+                }
             }
-            mActive = false;
+            int id = rs.nElementCreate();
+            return new Element(id, rs);
         }
 
-        public Element create() throws IllegalStateException {
-            if(!mActive) {
-                throw new IllegalStateException("Element builder not active.");
-            }
-            int id = mRS.nElementCreate();
-            mActive = false;
-            return new Element(id, mRS);
+        public Element create() {
+            return internalCreate(mRS, this);
         }
     }
 
diff --git a/graphics/java/android/renderscript/Light.java b/graphics/java/android/renderscript/Light.java
new file mode 100644
index 0000000..8067f19
--- /dev/null
+++ b/graphics/java/android/renderscript/Light.java
@@ -0,0 +1,78 @@
+/*
+ * 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.
+ */
+
+package android.renderscript;
+
+import android.util.Config;
+import android.util.Log;
+
+/**
+ * @hide
+ *
+ **/
+public class Light extends BaseObj {
+    Light(int id, RenderScript rs) {
+        super(rs);
+        mID = id;
+    }
+
+    public void destroy() {
+        mRS.nLightDestroy(mID);
+        mID = 0;
+    }
+
+    public void setColor(float r, float g, float b) {
+        mRS.nLightSetColor(mID, r, g, b);
+    }
+
+    public void setPosition(float x, float y, float z) {
+        mRS.nLightSetPosition(mID, x, y, z);
+    }
+
+    public static class Builder {
+        RenderScript mRS;
+        boolean mIsMono;
+        boolean mIsLocal;
+
+        public Builder(RenderScript rs) {
+            mRS = rs;
+            mIsMono = false;
+            mIsLocal = false;
+        }
+
+        public void lightSetIsMono(boolean isMono) {
+            mIsMono = isMono;
+        }
+
+        public void lightSetIsLocal(boolean isLocal) {
+            mIsLocal = isLocal;
+        }
+
+        static synchronized Light internalCreate(RenderScript rs, Builder b) {
+            rs.nSamplerBegin();
+            rs.nLightSetIsMono(b.mIsMono);
+            rs.nLightSetIsLocal(b.mIsLocal);
+            int id = rs.nLightCreate();
+            return new Light(id, rs);
+        }
+
+        public Light create() {
+            return internalCreate(mRS, this);
+        }
+    }
+
+}
+
diff --git a/graphics/java/android/renderscript/ProgramFragment.java b/graphics/java/android/renderscript/ProgramFragment.java
new file mode 100644
index 0000000..c228cf2
--- /dev/null
+++ b/graphics/java/android/renderscript/ProgramFragment.java
@@ -0,0 +1,161 @@
+/*
+ * 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.
+ */
+
+package android.renderscript;
+
+
+import android.util.Config;
+import android.util.Log;
+
+
+/**
+ * @hide
+ *
+ **/
+public class ProgramFragment extends BaseObj {
+    public static final int MAX_SLOT = 2;
+
+    public enum EnvMode {
+        REPLACE (0),
+        MODULATE (1),
+        DECAL (2);
+
+        int mID;
+        EnvMode(int id) {
+            mID = id;
+        }
+    }
+
+
+    ProgramFragment(int id, RenderScript rs) {
+        super(rs);
+        mID = id;
+    }
+
+    public void destroy() {
+        mRS.nProgramFragmentStoreDestroy(mID);
+        mID = 0;
+    }
+
+    public void bindTexture(Allocation va, int slot)
+        throws IllegalArgumentException {
+        if((slot < 0) || (slot >= MAX_SLOT)) {
+            throw new IllegalArgumentException("Slot ID out of range.");
+        }
+
+        mRS.nProgramFragmentBindTexture(mID, slot, va.mID);
+    }
+
+    public void bindSampler(Sampler vs, int slot)
+        throws IllegalArgumentException {
+        if((slot < 0) || (slot >= MAX_SLOT)) {
+            throw new IllegalArgumentException("Slot ID out of range.");
+        }
+
+        mRS.nProgramFragmentBindSampler(mID, slot, vs.mID);
+    }
+
+
+    public static class Builder {
+        RenderScript mRS;
+        Element mIn;
+        Element mOut;
+
+        private class Slot {
+            Type mType;
+            EnvMode mEnv;
+            boolean mTexEnable;
+
+            Slot() {
+                mTexEnable = false;
+            }
+        }
+        Slot[] mSlots;
+
+        public Builder(RenderScript rs, Element in, Element out) {
+            mRS = rs;
+            mIn = in;
+            mOut = out;
+            mSlots = new Slot[MAX_SLOT];
+            for(int ct=0; ct < MAX_SLOT; ct++) {
+                mSlots[ct] = new Slot();
+            }
+        }
+
+        public void setType(int slot, Type t)
+            throws IllegalArgumentException {
+            if((slot < 0) || (slot >= MAX_SLOT)) {
+                throw new IllegalArgumentException("Slot ID out of range.");
+            }
+
+            mSlots[slot].mType = t;
+        }
+
+        public void setTexEnable(boolean enable, int slot)
+            throws IllegalArgumentException {
+            if((slot < 0) || (slot >= MAX_SLOT)) {
+                throw new IllegalArgumentException("Slot ID out of range.");
+            }
+
+            mSlots[slot].mTexEnable = enable;
+        }
+
+        public void setTexEnvMode(EnvMode env, int slot)
+            throws IllegalArgumentException {
+            if((slot < 0) || (slot >= MAX_SLOT)) {
+                throw new IllegalArgumentException("Slot ID out of range.");
+            }
+
+            mSlots[slot].mEnv = env;
+        }
+
+
+        static synchronized ProgramFragment internalCreate(RenderScript rs, Builder b) {
+            int inID = 0;
+            int outID = 0;
+            if (b.mIn != null) {
+                inID = b.mIn.mID;
+            }
+            if (b.mOut != null) {
+                outID = b.mOut.mID;
+            }
+            rs.nProgramFragmentBegin(inID, outID);
+            for(int ct=0; ct < MAX_SLOT; ct++) {
+                if(b.mSlots[ct].mTexEnable) {
+                    Slot s = b.mSlots[ct];
+                    if(s.mType != null) {
+                        rs.nProgramFragmentSetType(ct, s.mType.mID);
+                    }
+                    rs.nProgramFragmentSetTexEnable(ct, true);
+                    if(s.mEnv != null) {
+                        rs.nProgramFragmentSetEnvMode(ct, s.mEnv.mID);
+                    }
+                }
+            }
+
+
+            int id = rs.nProgramFragmentCreate();
+            return new ProgramFragment(id, rs);
+        }
+
+        public ProgramFragment create() {
+            return internalCreate(mRS, this);
+        }
+    }
+}
+
+
+
diff --git a/graphics/java/android/renderscript/ProgramStore.java b/graphics/java/android/renderscript/ProgramStore.java
new file mode 100644
index 0000000..9039621
--- /dev/null
+++ b/graphics/java/android/renderscript/ProgramStore.java
@@ -0,0 +1,178 @@
+/*
+ * 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.
+ */
+
+package android.renderscript;
+
+
+import android.util.Config;
+import android.util.Log;
+
+
+/**
+ * @hide
+ *
+ **/
+public class ProgramStore extends BaseObj {
+        public enum DepthFunc {
+        ALWAYS (0),
+        LESS (1),
+        LEQUAL (2),
+        GREATER (3),
+        GEQUAL (4),
+        EQUAL (5),
+        NOTEQUAL (6);
+
+        int mID;
+        DepthFunc(int id) {
+            mID = id;
+        }
+    }
+
+    public enum BlendSrcFunc {
+        ZERO (0),
+        ONE (1),
+        DST_COLOR (2),
+        ONE_MINUS_DST_COLOR (3),
+        SRC_ALPHA (4),
+        ONE_MINUS_SRC_ALPHA (5),
+        DST_ALPHA (6),
+        ONE_MINUS_DST_ALPA (7),
+        SRC_ALPHA_SATURATE (8);
+
+        int mID;
+        BlendSrcFunc(int id) {
+            mID = id;
+        }
+    }
+
+    public enum BlendDstFunc {
+        ZERO (0),
+        ONE (1),
+        SRC_COLOR (2),
+        ONE_MINUS_SRC_COLOR (3),
+        SRC_ALPHA (4),
+        ONE_MINUS_SRC_ALPHA (5),
+        DST_ALPHA (6),
+        ONE_MINUS_DST_ALPA (7);
+
+        int mID;
+        BlendDstFunc(int id) {
+            mID = id;
+        }
+    }
+
+
+    ProgramStore(int id, RenderScript rs) {
+        super(rs);
+        mID = id;
+    }
+
+    public void destroy() {
+        mRS.nProgramFragmentStoreDestroy(mID);
+        mID = 0;
+    }
+
+
+
+    public static class Builder {
+        RenderScript mRS;
+        Element mIn;
+        Element mOut;
+        DepthFunc mDepthFunc;
+        boolean mDepthMask;
+        boolean mColorMaskR;
+        boolean mColorMaskG;
+        boolean mColorMaskB;
+        boolean mColorMaskA;
+        BlendSrcFunc mBlendSrc;
+        BlendDstFunc mBlendDst;
+        boolean mDither;
+
+
+
+        public Builder(RenderScript rs, Element in, Element out) {
+            mRS = rs;
+            mIn = in;
+            mOut = out;
+            mDepthFunc = DepthFunc.ALWAYS;
+            mDepthMask = false;
+            mColorMaskR = true;
+            mColorMaskG = true;
+            mColorMaskB = true;
+            mColorMaskA = true;
+            mBlendSrc = BlendSrcFunc.ONE;
+            mBlendDst = BlendDstFunc.ZERO;
+
+
+        }
+
+        public void setDepthFunc(DepthFunc func) {
+            mDepthFunc = func;
+        }
+
+        public void setDepthMask(boolean enable) {
+            mDepthMask = enable;
+        }
+
+        public void setColorMask(boolean r, boolean g, boolean b, boolean a) {
+            mColorMaskR = r;
+            mColorMaskG = g;
+            mColorMaskB = b;
+            mColorMaskA = a;
+        }
+
+        public void setBlendFunc(BlendSrcFunc src, BlendDstFunc dst) {
+            mBlendSrc = src;
+            mBlendDst = dst;
+        }
+
+        public void setDitherEnable(boolean enable) {
+            mDither = enable;
+        }
+
+        static synchronized ProgramStore internalCreate(RenderScript rs, Builder b) {
+            int inID = 0;
+            int outID = 0;
+            if (b.mIn != null) {
+                inID = b.mIn.mID;
+            }
+            if (b.mOut != null) {
+                outID = b.mOut.mID;
+            }
+            rs.nProgramFragmentStoreBegin(inID, outID);
+            rs.nProgramFragmentStoreDepthFunc(b.mDepthFunc.mID);
+            rs.nProgramFragmentStoreDepthMask(b.mDepthMask);
+            rs.nProgramFragmentStoreColorMask(b.mColorMaskR,
+                                              b.mColorMaskG,
+                                              b.mColorMaskB,
+                                              b.mColorMaskA);
+            rs.nProgramFragmentStoreBlendFunc(b.mBlendSrc.mID, b.mBlendDst.mID);
+            rs.nProgramFragmentStoreDither(b.mDither);
+
+            int id = rs.nProgramFragmentStoreCreate();
+            return new ProgramStore(id, rs);
+        }
+
+        public ProgramStore create() {
+            return internalCreate(mRS, this);
+        }
+    }
+
+}
+
+
+
+
diff --git a/graphics/java/android/renderscript/ProgramVertex.java b/graphics/java/android/renderscript/ProgramVertex.java
new file mode 100644
index 0000000..c4f7759
--- /dev/null
+++ b/graphics/java/android/renderscript/ProgramVertex.java
@@ -0,0 +1,190 @@
+/*
+ * 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.
+ */
+
+package android.renderscript;
+
+
+import android.util.Config;
+import android.util.Log;
+
+
+/**
+ * @hide
+ *
+ **/
+public class ProgramVertex extends BaseObj {
+    public static final int MAX_LIGHT = 8;
+
+    ProgramVertex(int id, RenderScript rs) {
+        super(rs);
+        mID = id;
+    }
+
+    public void destroy() {
+        mRS.nProgramVertexDestroy(mID);
+        mID = 0;
+    }
+
+    public void bindAllocation(MatrixAllocation va) {
+        mRS.nProgramVertexBindAllocation(mID, va.mAlloc.mID);
+    }
+
+
+    public static class Builder {
+        RenderScript mRS;
+        Element mIn;
+        Element mOut;
+        Light[] mLights;
+        int mLightCount;
+        boolean mTextureMatrixEnable;
+
+
+        public Builder(RenderScript rs, Element in, Element out) {
+            mRS = rs;
+            mIn = in;
+            mOut = out;
+            mLights = new Light[MAX_LIGHT];
+            mLightCount = 0;
+        }
+
+        public void setTextureMatrixEnable(boolean enable) {
+            mTextureMatrixEnable = enable;
+        }
+
+        public void addLight(Light l) throws IllegalStateException {
+            if(mLightCount >= MAX_LIGHT) {
+                throw new IllegalArgumentException("Max light count exceeded.");
+            }
+            mLights[mLightCount] = l;
+            mLightCount++;
+        }
+
+
+
+        static synchronized ProgramVertex internalCreate(RenderScript rs, Builder b) {
+            int inID = 0;
+            int outID = 0;
+            if (b.mIn != null) {
+                inID = b.mIn.mID;
+            }
+            if (b.mOut != null) {
+                outID = b.mOut.mID;
+            }
+            rs.nProgramVertexBegin(inID, outID);
+            for(int ct=0; ct < b.mLightCount; ct++) {
+                rs.nProgramVertexAddLight(b.mLights[ct].mID);
+            }
+            rs.nProgramVertexSetTextureMatrixEnable(b.mTextureMatrixEnable);
+            int id = rs.nProgramVertexCreate();
+            return new ProgramVertex(id, rs);
+        }
+
+        public ProgramVertex create() {
+            return internalCreate(mRS, this);
+        }
+    }
+
+
+
+    public static class MatrixAllocation {
+        static final int MODELVIEW_OFFSET = 0;
+        static final int PROJECTION_OFFSET = 16;
+        static final int TEXTURE_OFFSET = 32;
+
+        Matrix mModel;
+        Matrix mProjection;
+        Matrix mTexture;
+
+        public Allocation mAlloc;
+
+        public MatrixAllocation(RenderScript rs) {
+            mModel = new Matrix();
+            mProjection = new Matrix();
+            mTexture = new Matrix();
+
+            mAlloc = Allocation.createSized(rs, Element.USER_FLOAT, 48);
+            mAlloc.subData1D(MODELVIEW_OFFSET, 16, mModel.mMat);
+            mAlloc.subData1D(PROJECTION_OFFSET, 16, mProjection.mMat);
+            mAlloc.subData1D(TEXTURE_OFFSET, 16, mTexture.mMat);
+        }
+
+        public void destroy() {
+            mAlloc.destroy();
+            mAlloc = null;
+        }
+
+        public void loadModelview(Matrix m) {
+            mModel = m;
+            mAlloc.subData1D(MODELVIEW_OFFSET, 16, m.mMat);
+        }
+
+        public void loadProjection(Matrix m) {
+            mProjection = m;
+            mAlloc.subData1D(PROJECTION_OFFSET, 16, m.mMat);
+        }
+
+        public void loadTexture(Matrix m) {
+            mTexture = m;
+            mAlloc.subData1D(TEXTURE_OFFSET, 16, m.mMat);
+        }
+
+        public void setupOrthoWindow(int w, int h) {
+            mProjection.loadOrtho(0,w, h,0, -1,1);
+            mAlloc.subData1D(PROJECTION_OFFSET, 16, mProjection.mMat);
+        }
+
+        public void setupOrthoNormalized(int w, int h) {
+            // range -1,1 in the narrow axis.
+            if(w > h) {
+                float aspect = ((float)w) / h;
+                mProjection.loadOrtho(-aspect,aspect,  -1,1,  -1,1);
+            } else {
+                float aspect = ((float)h) / w;
+                mProjection.loadOrtho(-1,1, -aspect,aspect,  -1,1);
+            }
+            mAlloc.subData1D(PROJECTION_OFFSET, 16, mProjection.mMat);
+        }
+
+        public void setupProjectionNormalized(int w, int h) {
+            // range -1,1 in the narrow axis at z = 0.
+            Matrix m1 = new Matrix();
+            Matrix m2 = new Matrix();
+
+            if(w > h) {
+                float aspect = ((float)w) / h;
+                m1.loadFrustum(-aspect,aspect,  -1,1,  1,100);
+            } else {
+                float aspect = ((float)h) / w;
+                m1.loadFrustum(-1,1, -aspect,aspect, 1,100);
+            }
+
+            m2.loadRotate(180, 0, 1, 0);
+            m1.loadMultiply(m1, m2);
+
+            m2.loadScale(-2, 2, 1);
+            m1.loadMultiply(m1, m2);
+
+            m2.loadTranslate(0, 0, 2);
+            m1.loadMultiply(m1, m2);
+
+            mProjection = m1;
+            mAlloc.subData1D(PROJECTION_OFFSET, 16, mProjection.mMat);
+        }
+
+    }
+
+}
+
diff --git a/graphics/java/android/renderscript/ProgramVertexAlloc.java b/graphics/java/android/renderscript/ProgramVertexAlloc.java
deleted file mode 100644
index 37b037c..0000000
--- a/graphics/java/android/renderscript/ProgramVertexAlloc.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.renderscript;
-
-import java.lang.Math;
-
-import android.renderscript.Element;
-import android.util.Log;
-
-
-/**
- * @hide
- *
- **/
-public class ProgramVertexAlloc {
-    public static final int MODELVIEW_OFFSET = 0;
-    public static final int PROJECTION_OFFSET = 16;
-    public static final int TEXTURE_OFFSET = 32;
-
-    Matrix mModel;
-    Matrix mProjection;
-    Matrix mTexture;
-
-    public Allocation mAlloc;
-
-    public ProgramVertexAlloc(RenderScript rs) {
-        mModel = new Matrix();
-        mProjection = new Matrix();
-        mTexture = new Matrix();
-
-        mAlloc = Allocation.createSized(rs, Element.USER_FLOAT, 48);
-        mAlloc.subData1D(MODELVIEW_OFFSET, 16, mModel.mMat);
-        mAlloc.subData1D(PROJECTION_OFFSET, 16, mProjection.mMat);
-        mAlloc.subData1D(TEXTURE_OFFSET, 16, mTexture.mMat);
-    }
-
-    public void loadModelview(Matrix m) {
-        mModel = m;
-        mAlloc.subData1D(MODELVIEW_OFFSET, 16, m.mMat);
-    }
-
-    public void loadProjection(Matrix m) {
-        mProjection = m;
-        mAlloc.subData1D(PROJECTION_OFFSET, 16, m.mMat);
-    }
-
-    public void loadTexture(Matrix m) {
-        mTexture = m;
-        mAlloc.subData1D(TEXTURE_OFFSET, 16, m.mMat);
-    }
-
-    public void setupOrthoWindow(int w, int h) {
-        mProjection.loadOrtho(0,w, h,0, -1,1);
-        mAlloc.subData1D(PROJECTION_OFFSET, 16, mProjection.mMat);
-    }
-
-    public void setupOrthoNormalized(int w, int h) {
-        // range -1,1 in the narrow axis.
-        if(w > h) {
-            float aspect = ((float)w) / h;
-            mProjection.loadOrtho(-aspect,aspect,  -1,1,  -1,1);
-        } else {
-            float aspect = ((float)h) / w;
-            mProjection.loadOrtho(-1,1, -aspect,aspect,  -1,1);
-        }
-        mAlloc.subData1D(PROJECTION_OFFSET, 16, mProjection.mMat);
-    }
-
-    public void setupProjectionNormalized(int w, int h) {
-        // range -1,1 in the narrow axis at z = 0.
-        Matrix m1 = new Matrix();
-        Matrix m2 = new Matrix();
-
-        if(w > h) {
-            float aspect = ((float)w) / h;
-            m1.loadFrustum(-aspect,aspect,  -1,1,  1,100);
-        } else {
-            float aspect = ((float)h) / w;
-            m1.loadFrustum(-1,1, -aspect,aspect, 1,100);
-        }
-
-        m2.loadRotate(180, 0, 1, 0);
-        m1.loadMultiply(m1, m2);
-
-        m2.loadScale(-2, 2, 1);
-        m1.loadMultiply(m1, m2);
-
-        m2.loadTranslate(0, 0, 2);
-        m1.loadMultiply(m1, m2);
-
-        mProjection = m1;
-        mAlloc.subData1D(PROJECTION_OFFSET, 16, mProjection.mMat);
-    }
-
-}
-
-
-
-
-
-
diff --git a/graphics/java/android/renderscript/RenderScript.java b/graphics/java/android/renderscript/RenderScript.java
index dd7dd02..0fb450e 100644
--- a/graphics/java/android/renderscript/RenderScript.java
+++ b/graphics/java/android/renderscript/RenderScript.java
@@ -128,12 +128,13 @@
     native int  nAdapter2DCreate();
 
     native void nScriptDestroy(int script);
-    native void nScriptBindAllocation(int vtm, int alloc, int slot);
+    native void nScriptBindAllocation(int script, int alloc, int slot);
+    native void nScriptSetClearColor(int script, float r, float g, float b, float a);
+    native void nScriptSetClearDepth(int script, float depth);
+    native void nScriptSetClearStencil(int script, int stencil);
+    native void nScriptSetTimeZone(int script, byte[] timeZone);
+
     native void nScriptCBegin();
-    native void nScriptCSetClearColor(float r, float g, float b, float a);
-    native void nScriptCSetClearDepth(float depth);
-    native void nScriptCSetClearStencil(int stencil);
-    native void nScriptCSetTimeZone(byte[] timeZone);
     native void nScriptCAddType(int type);
     native void nScriptCSetRoot(boolean isRoot);
     native void nScriptCSetScript(byte[] script, int offset, int length);
@@ -163,9 +164,8 @@
     native void nProgramFragmentDestroy(int pgm);
 
     native void nProgramVertexDestroy(int pv);
-    native void nProgramVertexBindAllocation(int pv, int slot, int mID);
+    native void nProgramVertexBindAllocation(int pv, int mID);
     native void nProgramVertexBegin(int inID, int outID);
-    native void nProgramVertexSetType(int slot, int mID);
     native void nProgramVertexSetTextureMatrixEnable(boolean enable);
     native void nProgramVertexAddLight(int id);
     native int  nProgramVertexCreate();
@@ -200,107 +200,6 @@
         }
     }
 
-    //////////////////////////////////////////////////////////////////////////////////
-    // Element
-
-    Element.Builder mElementBuilder = new Element.Builder(this);
-    public Element.Builder elementBuilderCreate() throws IllegalStateException {
-        mElementBuilder.begin();
-        return mElementBuilder;
-    }
-
-    Type.Builder mTypeBuilder = new Type.Builder(this);
-    public Type.Builder typeBuilderCreate(Element e) throws IllegalStateException {
-        mTypeBuilder.begin(e);
-        return mTypeBuilder;
-    }
-
-
-
-    public enum DepthFunc {
-        ALWAYS (0),
-        LESS (1),
-        LEQUAL (2),
-        GREATER (3),
-        GEQUAL (4),
-        EQUAL (5),
-        NOTEQUAL (6);
-
-        int mID;
-        DepthFunc(int id) {
-            mID = id;
-        }
-    }
-
-    public enum BlendSrcFunc {
-        ZERO (0),
-        ONE (1),
-        DST_COLOR (2),
-        ONE_MINUS_DST_COLOR (3),
-        SRC_ALPHA (4),
-        ONE_MINUS_SRC_ALPHA (5),
-        DST_ALPHA (6),
-        ONE_MINUS_DST_ALPA (7),
-        SRC_ALPHA_SATURATE (8);
-
-        int mID;
-        BlendSrcFunc(int id) {
-            mID = id;
-        }
-    }
-
-    public enum BlendDstFunc {
-        ZERO (0),
-        ONE (1),
-        SRC_COLOR (2),
-        ONE_MINUS_SRC_COLOR (3),
-        SRC_ALPHA (4),
-        ONE_MINUS_SRC_ALPHA (5),
-        DST_ALPHA (6),
-        ONE_MINUS_DST_ALPA (7);
-
-        int mID;
-        BlendDstFunc(int id) {
-            mID = id;
-        }
-    }
-
-    public enum EnvMode {
-        REPLACE (0),
-        MODULATE (1),
-        DECAL (2);
-
-        int mID;
-        EnvMode(int id) {
-            mID = id;
-        }
-    }
-
-    public enum SamplerParam {
-        FILTER_MIN (0),
-        FILTER_MAG (1),
-        WRAP_MODE_S (2),
-        WRAP_MODE_T (3),
-        WRAP_MODE_R (4);
-
-        int mID;
-        SamplerParam(int id) {
-            mID = id;
-        }
-    }
-
-    public enum SamplerValue {
-        NEAREST (0),
-        LINEAR (1),
-        LINEAR_MIP_LINEAR (2),
-        WRAP (3),
-        CLAMP (4);
-
-        int mID;
-        SamplerValue(int id) {
-            mID = id;
-        }
-    }
 
     //////////////////////////////////////////////////////////////////////////////////
     // Triangle Mesh
@@ -352,330 +251,6 @@
     }
 
     //////////////////////////////////////////////////////////////////////////////////
-    // Script
-
-    public class Script extends BaseObj {
-        Script(int id) {
-            super(RenderScript.this);
-            mID = id;
-        }
-
-        public void destroy() {
-            nScriptDestroy(mID);
-            mID = 0;
-        }
-
-        public void bindAllocation(Allocation va, int slot) {
-            nScriptBindAllocation(mID, va.mID, slot);
-        }
-    }
-
-    public void scriptCBegin() {
-        nScriptCBegin();
-    }
-
-    public void scriptCSetTimeZone(String timeZone) {
-        try {
-            byte[] bytes = timeZone.getBytes("UTF-8");
-            nScriptCSetTimeZone(bytes);
-        } catch (java.io.UnsupportedEncodingException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    public void scriptCSetClearColor(float r, float g, float b, float a) {
-        nScriptCSetClearColor(r, g, b, a);
-    }
-
-    public void scriptCSetClearDepth(float d) {
-        nScriptCSetClearDepth(d);
-    }
-
-    public void scriptCSetClearStencil(int stencil) {
-        nScriptCSetClearStencil(stencil);
-    }
-
-    public void scriptCAddType(Type t) {
-        nScriptCAddType(t.mID);
-    }
-
-    public void scriptCSetRoot(boolean r) {
-        nScriptCSetRoot(r);
-    }
-
-    public void scriptCSetScript(String s) {
-        try {
-            byte[] bytes = s.getBytes("UTF-8");
-            nScriptCSetScript(bytes, 0, bytes.length);
-        } catch (java.io.UnsupportedEncodingException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    public void scriptCSetScript(Resources resources, int id) {
-        InputStream is = resources.openRawResource(id);
-        try {
-            try {
-                scriptCSetScript(is);
-            } finally {
-                is.close();
-            }
-        } catch(IOException e) {
-            throw new Resources.NotFoundException();
-        }
-    }
-
-    public void  scriptCSetScript(InputStream is) throws IOException {
-        byte[] buf = new byte[1024];
-        int currentPos = 0;
-        while(true) {
-            int bytesLeft = buf.length - currentPos;
-            if (bytesLeft == 0) {
-                byte[] buf2 = new byte[buf.length * 2];
-                System.arraycopy(buf, 0, buf2, 0, buf.length);
-                buf = buf2;
-                bytesLeft = buf.length - currentPos;
-            }
-            int bytesRead = is.read(buf, currentPos, bytesLeft);
-            if (bytesRead <= 0) {
-                break;
-            }
-            currentPos += bytesRead;
-        }
-        nScriptCSetScript(buf, 0, currentPos);
-    }
-
-    public Script scriptCCreate() {
-        int id = nScriptCCreate();
-        return new Script(id);
-    }
-
-    //////////////////////////////////////////////////////////////////////////////////
-    // ProgramVertex
-
-    public class ProgramVertex extends BaseObj {
-        ProgramVertex(int id) {
-            super(RenderScript.this);
-            mID = id;
-        }
-
-        public void destroy() {
-            nProgramVertexDestroy(mID);
-            mID = 0;
-        }
-
-        public void bindAllocation(int slot, Allocation va) {
-            nProgramVertexBindAllocation(mID, slot, va.mID);
-        }
-    }
-
-    public void programVertexBegin(Element in, Element out) {
-        int inID = 0;
-        int outID = 0;
-        if (in != null) {
-            inID = in.mID;
-        }
-        if (out != null) {
-            outID = out.mID;
-        }
-        nProgramVertexBegin(inID, outID);
-    }
-
-    public void programVertexSetType(int slot, Type t) {
-        nProgramVertexSetType(slot, t.mID);
-    }
-
-    public void programVertexSetTextureMatrixEnable(boolean enable) {
-        nProgramVertexSetTextureMatrixEnable(enable);
-    }
-
-    public void programVertexAddLight(Light l) {
-        nProgramVertexAddLight(l.mID);
-    }
-
-    public ProgramVertex programVertexCreate() {
-        int id = nProgramVertexCreate();
-        return new ProgramVertex(id);
-    }
-
-
-    //////////////////////////////////////////////////////////////////////////////////
-    // ProgramFragmentStore
-
-    public class ProgramFragmentStore extends BaseObj {
-        ProgramFragmentStore(int id) {
-            super(RenderScript.this);
-            mID = id;
-        }
-
-        public void destroy() {
-            nProgramFragmentStoreDestroy(mID);
-            mID = 0;
-        }
-    }
-
-    public void programFragmentStoreBegin(Element in, Element out) {
-        int inID = 0;
-        int outID = 0;
-        if (in != null) {
-            inID = in.mID;
-        }
-        if (out != null) {
-            outID = out.mID;
-        }
-        nProgramFragmentStoreBegin(inID, outID);
-    }
-
-    public void programFragmentStoreDepthFunc(DepthFunc func) {
-        nProgramFragmentStoreDepthFunc(func.mID);
-    }
-
-    public void programFragmentStoreDepthMask(boolean enable) {
-        nProgramFragmentStoreDepthMask(enable);
-    }
-
-    public void programFragmentStoreColorMask(boolean r, boolean g, boolean b, boolean a) {
-        nProgramFragmentStoreColorMask(r,g,b,a);
-    }
-
-    public void programFragmentStoreBlendFunc(BlendSrcFunc src, BlendDstFunc dst) {
-        nProgramFragmentStoreBlendFunc(src.mID, dst.mID);
-    }
-
-    public void programFragmentStoreDitherEnable(boolean enable) {
-        nProgramFragmentStoreDither(enable);
-    }
-
-    public ProgramFragmentStore programFragmentStoreCreate() {
-        int id = nProgramFragmentStoreCreate();
-        return new ProgramFragmentStore(id);
-    }
-
-    //////////////////////////////////////////////////////////////////////////////////
-    // ProgramFragment
-
-    public class ProgramFragment extends BaseObj {
-        ProgramFragment(int id) {
-            super(RenderScript.this);
-            mID = id;
-        }
-
-        public void destroy() {
-            nProgramFragmentDestroy(mID);
-            mID = 0;
-        }
-
-        public void bindTexture(Allocation va, int slot) {
-            nProgramFragmentBindTexture(mID, slot, va.mID);
-        }
-
-        public void bindSampler(Sampler vs, int slot) {
-            nProgramFragmentBindSampler(mID, slot, vs.mID);
-        }
-    }
-
-    public void programFragmentBegin(Element in, Element out) {
-        int inID = 0;
-        int outID = 0;
-        if (in != null) {
-            inID = in.mID;
-        }
-        if (out != null) {
-            outID = out.mID;
-        }
-        nProgramFragmentBegin(inID, outID);
-    }
-
-    public void programFragmentSetType(int slot, Type t) {
-        nProgramFragmentSetType(slot, t.mID);
-    }
-
-    public void programFragmentSetType(int slot, EnvMode t) {
-        nProgramFragmentSetEnvMode(slot, t.mID);
-    }
-
-    public void programFragmentSetTexEnable(int slot, boolean enable) {
-        nProgramFragmentSetTexEnable(slot, enable);
-    }
-
-    public void programFragmentSetTexEnvMode(int slot, EnvMode env) {
-        nProgramFragmentSetEnvMode(slot, env.mID);
-    }
-
-    public ProgramFragment programFragmentCreate() {
-        int id = nProgramFragmentCreate();
-        return new ProgramFragment(id);
-    }
-
-    //////////////////////////////////////////////////////////////////////////////////
-    // Sampler
-
-    public class Sampler extends BaseObj {
-        Sampler(int id) {
-            super(RenderScript.this);
-            mID = id;
-        }
-
-        public void destroy() {
-            nSamplerDestroy(mID);
-            mID = 0;
-        }
-    }
-
-    public void samplerBegin() {
-        nSamplerBegin();
-    }
-
-    public void samplerSet(SamplerParam p, SamplerValue v) {
-        nSamplerSet(p.mID, v.mID);
-    }
-
-    public Sampler samplerCreate() {
-        int id = nSamplerCreate();
-        return new Sampler(id);
-    }
-
-    //////////////////////////////////////////////////////////////////////////////////
-    // Light
-
-    public class Light extends BaseObj {
-        Light(int id) {
-            super(RenderScript.this);
-            mID = id;
-        }
-
-        public void destroy() {
-            nLightDestroy(mID);
-            mID = 0;
-        }
-
-        public void setColor(float r, float g, float b) {
-            nLightSetColor(mID, r, g, b);
-        }
-
-        public void setPosition(float x, float y, float z) {
-            nLightSetPosition(mID, x, y, z);
-        }
-    }
-
-    public void lightBegin() {
-        nLightBegin();
-    }
-
-    public void lightSetIsMono(boolean isMono) {
-        nLightSetIsMono(isMono);
-    }
-
-    public void lightSetIsLocal(boolean isLocal) {
-        nLightSetIsLocal(isLocal);
-    }
-
-    public Light lightCreate() {
-        int id = nLightCreate();
-        return new Light(id);
-    }
-
-    //////////////////////////////////////////////////////////////////////////////////
     // File
 
     public class File extends BaseObj {
@@ -717,7 +292,7 @@
         //nContextBindSampler(s.mID);
     //}
 
-    public void contextBindProgramFragmentStore(ProgramFragmentStore pfs) {
+    public void contextBindProgramFragmentStore(ProgramStore pfs) {
         nContextBindProgramFragmentStore(pfs.mID);
     }
 
diff --git a/graphics/java/android/renderscript/Sampler.java b/graphics/java/android/renderscript/Sampler.java
new file mode 100644
index 0000000..dfeac81
--- /dev/null
+++ b/graphics/java/android/renderscript/Sampler.java
@@ -0,0 +1,113 @@
+/*
+ * 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.
+ */
+
+package android.renderscript;
+
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import android.content.res.Resources;
+import android.os.Bundle;
+import android.util.Config;
+import android.util.Log;
+
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+
+/**
+ * @hide
+ *
+ **/
+public class Sampler extends BaseObj {
+    public enum Value {
+        NEAREST (0),
+        LINEAR (1),
+        LINEAR_MIP_LINEAR (2),
+        WRAP (3),
+        CLAMP (4);
+
+        int mID;
+        Value(int id) {
+            mID = id;
+        }
+    }
+
+    Sampler(int id, RenderScript rs) {
+        super(rs);
+        mID = id;
+    }
+
+    public void destroy() {
+        mRS.nSamplerDestroy(mID);
+        mID = 0;
+    }
+
+    public static class Builder {
+        RenderScript mRS;
+        Value mMin;
+        Value mMag;
+        Value mWrapS;
+        Value mWrapT;
+        Value mWrapR;
+
+        public Builder(RenderScript rs) {
+            mRS = rs;
+            mMin = Value.NEAREST;
+            mMag = Value.NEAREST;
+            mWrapS = Value.WRAP;
+            mWrapT = Value.WRAP;
+            mWrapR = Value.WRAP;
+        }
+
+        public void setMin(Value v) {
+            mMin = v;
+        }
+
+        public void setMag(Value v) {
+            mMag = v;
+        }
+
+        public void setWrapS(Value v) {
+            mWrapS = v;
+        }
+
+        public void setWrapT(Value v) {
+            mWrapT = v;
+        }
+
+        public void setWrapR(Value v) {
+            mWrapR = v;
+        }
+
+        static synchronized Sampler internalCreate(RenderScript rs, Builder b) {
+            rs.nSamplerBegin();
+            rs.nSamplerSet(0, b.mMin.mID);
+            rs.nSamplerSet(1, b.mMag.mID);
+            rs.nSamplerSet(2, b.mWrapS.mID);
+            rs.nSamplerSet(3, b.mWrapT.mID);
+            rs.nSamplerSet(4, b.mWrapR.mID);
+            int id = rs.nSamplerCreate();
+            return new Sampler(id, rs);
+        }
+
+        public Sampler create() {
+            return internalCreate(mRS, this);
+        }
+    }
+
+}
+
diff --git a/graphics/java/android/renderscript/Script.java b/graphics/java/android/renderscript/Script.java
new file mode 100644
index 0000000..9696cea
--- /dev/null
+++ b/graphics/java/android/renderscript/Script.java
@@ -0,0 +1,86 @@
+/*
+ * 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.
+ */
+
+package android.renderscript;
+
+/**
+ * @hide
+ **/
+public class Script extends BaseObj {
+    boolean mIsRoot;
+
+    Script(int id, RenderScript rs) {
+        super(rs);
+        mID = id;
+    }
+
+    public void destroy() {
+        mRS.nScriptDestroy(mID);
+        mID = 0;
+    }
+
+    public void bindAllocation(Allocation va, int slot) {
+        mRS.nScriptBindAllocation(mID, va.mID, slot);
+    }
+
+    public void setClearColor(float r, float g, float b, float a) {
+        mRS.nScriptSetClearColor(mID, r, g, b, a);
+    }
+
+    public void setClearDepth(float d) {
+        mRS.nScriptSetClearDepth(mID, d);
+    }
+
+    public void setClearStencil(int stencil) {
+        mRS.nScriptSetClearStencil(mID, stencil);
+    }
+
+    public void setTimeZone(String timeZone) {
+        try {
+            mRS.nScriptSetTimeZone(mID, timeZone.getBytes("UTF-8"));
+        } catch (java.io.UnsupportedEncodingException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    public static class Builder {
+        RenderScript mRS;
+        boolean mIsRoot = false;
+
+        Builder(RenderScript rs) {
+            mRS = rs;
+        }
+
+        public void addType(Type t) {
+            mRS.nScriptCAddType(t.mID);
+        }
+
+        void transferCreate() {
+            mRS.nScriptCSetRoot(mIsRoot);
+        }
+
+        void transferObject(Script s) {
+            s.mIsRoot = mIsRoot;
+        }
+
+        public void setRoot(boolean r) {
+            mIsRoot = r;
+        }
+
+    }
+
+}
+
diff --git a/graphics/java/android/renderscript/ScriptC.java b/graphics/java/android/renderscript/ScriptC.java
new file mode 100644
index 0000000..0592f5d
--- /dev/null
+++ b/graphics/java/android/renderscript/ScriptC.java
@@ -0,0 +1,106 @@
+/*
+ * 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.
+ */
+
+package android.renderscript;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import android.content.res.Resources;
+
+
+/**
+ * @hide
+ **/
+public class ScriptC extends Script {
+    ScriptC(int id, RenderScript rs) {
+        super(id, rs);
+    }
+
+
+
+
+    public static class Builder extends Script.Builder {
+        byte[] mProgram;
+        int mProgramLength;
+
+        public Builder(RenderScript rs) {
+            super(rs);
+        }
+
+        public void setScript(String s) {
+            try {
+                mProgram = s.getBytes("UTF-8");
+                mProgramLength = mProgram.length;
+            } catch (java.io.UnsupportedEncodingException e) {
+                throw new RuntimeException(e);
+            }
+        }
+
+        public void setScript(Resources resources, int id) {
+            InputStream is = resources.openRawResource(id);
+            try {
+                try {
+                    setScript(is);
+                } finally {
+                    is.close();
+                }
+            } catch(IOException e) {
+                throw new Resources.NotFoundException();
+            }
+        }
+
+        public void  setScript(InputStream is) throws IOException {
+            byte[] buf = new byte[1024];
+            int currentPos = 0;
+            while(true) {
+                int bytesLeft = buf.length - currentPos;
+                if (bytesLeft == 0) {
+                    byte[] buf2 = new byte[buf.length * 2];
+                    System.arraycopy(buf, 0, buf2, 0, buf.length);
+                    buf = buf2;
+                    bytesLeft = buf.length - currentPos;
+                }
+                int bytesRead = is.read(buf, currentPos, bytesLeft);
+                if (bytesRead <= 0) {
+                    break;
+                }
+                currentPos += bytesRead;
+            }
+            mProgram = buf;
+            mProgramLength = currentPos;
+        }
+
+        static synchronized ScriptC internalCreate(Builder b) {
+            b.mRS.nScriptCBegin();
+            b.transferCreate();
+
+            b.mRS.nScriptCSetScript(b.mProgram, 0, b.mProgramLength);
+
+
+            int id = b.mRS.nScriptCCreate();
+            ScriptC obj = new ScriptC(id, b.mRS);
+            b.transferObject(obj);
+            return obj;
+        }
+
+        public ScriptC create() {
+            return internalCreate(this);
+        }
+    }
+
+}
+
diff --git a/graphics/java/android/renderscript/Type.java b/graphics/java/android/renderscript/Type.java
index 86932c4..4078c8a 100644
--- a/graphics/java/android/renderscript/Type.java
+++ b/graphics/java/android/renderscript/Type.java
@@ -45,23 +45,47 @@
 
     public static class Builder {
         RenderScript mRS;
-        boolean mActive = true;
+        Entry[] mEntries;
+        int mEntryCount;
+        Element mElement;
 
-        Builder(RenderScript rs) {
-            mRS = rs;
+        class Entry {
+            Dimension mDim;
+            int mValue;
         }
 
-        public void begin(Element e) {
-            mRS.nTypeBegin(e.mID);
+        public Builder(RenderScript rs, Element e) {
+            mRS = rs;
+            mEntries = new Entry[4];
+            mElement = e;
         }
 
         public void add(Dimension d, int value) {
-            mRS.nTypeAdd(d.mID, value);
+            if(mEntries.length >= mEntryCount) {
+                Entry[] en = new Entry[mEntryCount + 8];
+                for(int ct=0; ct < mEntries.length; ct++) {
+                    en[ct] = mEntries[ct];
+                }
+                mEntries = en;
+            }
+            mEntries[mEntryCount] = new Entry();
+            mEntries[mEntryCount].mDim = d;
+            mEntries[mEntryCount].mValue = value;
+            mEntryCount++;
+        }
+
+        static synchronized Type internalCreate(RenderScript rs, Builder b) {
+            rs.nTypeBegin(b.mElement.mID);
+            for (int ct=0; ct < b.mEntryCount; ct++) {
+                Entry en = b.mEntries[ct];
+                rs.nTypeAdd(en.mDim.mID, en.mValue);
+            }
+            int id = rs.nTypeCreate();
+            return new Type(id, rs);
         }
 
         public Type create() {
-            int id = mRS.nTypeCreate();
-            return new Type(id, mRS);
+            return internalCreate(mRS, this);
         }
     }
 
diff --git a/graphics/jni/android_renderscript_RenderScript.cpp b/graphics/jni/android_renderscript_RenderScript.cpp
index f5227a0..e2a8a27 100644
--- a/graphics/jni/android_renderscript_RenderScript.cpp
+++ b/graphics/jni/android_renderscript_RenderScript.cpp
@@ -647,54 +647,56 @@
 }
 
 static void
-nScriptCBegin(JNIEnv *_env, jobject _this)
+nScriptSetClearColor(JNIEnv *_env, jobject _this, jint script, jfloat r, jfloat g, jfloat b, jfloat a)
 {
     RsContext con = (RsContext)(_env->GetIntField(_this, gContextId));
-    LOG_API("nScriptCBegin, con(%p)", con);
-    rsScriptCBegin();
+    LOG_API("nScriptSetClearColor, con(%p), s(%p), r(%f), g(%f), b(%f), a(%f)", con, script, r, g, b, a);
+    rsScriptSetClearColor((RsScript)script, r, g, b, a);
 }
 
 static void
-nScriptCSetClearColor(JNIEnv *_env, jobject _this, jfloat r, jfloat g, jfloat b, jfloat a)
+nScriptSetClearDepth(JNIEnv *_env, jobject _this, jint script, jfloat d)
 {
     RsContext con = (RsContext)(_env->GetIntField(_this, gContextId));
-    LOG_API("nScriptCSetClearColor, con(%p), r(%f), g(%f), b(%f), a(%f)", con, r, g, b, a);
-    rsScriptCSetClearColor(r, g, b, a);
+    LOG_API("nScriptCSetClearDepth, con(%p), s(%p), depth(%f)", con, script, d);
+    rsScriptSetClearDepth((RsScript)script, d);
 }
 
 static void
-nScriptCSetClearDepth(JNIEnv *_env, jobject _this, jfloat d)
+nScriptSetClearStencil(JNIEnv *_env, jobject _this, jint script, jint stencil)
 {
     RsContext con = (RsContext)(_env->GetIntField(_this, gContextId));
-    LOG_API("nScriptCSetClearDepth, con(%p), depth(%f)", con, d);
-    rsScriptCSetClearDepth(d);
+    LOG_API("nScriptCSetClearStencil, con(%p), s(%p), stencil(%i)", con, script, stencil);
+    rsScriptSetClearStencil((RsScript)script, stencil);
 }
 
 static void
-nScriptCSetClearStencil(JNIEnv *_env, jobject _this, jint stencil)
+nScriptSetTimeZone(JNIEnv *_env, jobject _this, jint script, jbyteArray timeZone)
 {
     RsContext con = (RsContext)(_env->GetIntField(_this, gContextId));
-    LOG_API("nScriptCSetClearStencil, con(%p), stencil(%i)", con, stencil);
-    rsScriptCSetClearStencil(stencil);
-}
-
-static void
-nScriptCSetTimeZone(JNIEnv *_env, jobject _this, jbyteArray timeZone)
-{
-    RsContext con = (RsContext)(_env->GetIntField(_this, gContextId));
-    LOG_API("nScriptCSetTimeZone, con(%p), timeZone(%s)", con, timeZone);
+    LOG_API("nScriptCSetTimeZone, con(%p), s(%p), timeZone(%s)", con, script, timeZone);
 
     jint length = _env->GetArrayLength(timeZone);
     jbyte* timeZone_ptr;
     timeZone_ptr = (jbyte *) _env->GetPrimitiveArrayCritical(timeZone, (jboolean *)0);
 
-    rsScriptCSetTimeZone((const char *)timeZone_ptr, length);
+    rsScriptSetTimeZone((RsScript)script, (const char *)timeZone_ptr, length);
 
     if (timeZone_ptr) {
         _env->ReleasePrimitiveArrayCritical(timeZone, timeZone_ptr, 0);
     }
 }
 
+// -----------------------------------
+
+static void
+nScriptCBegin(JNIEnv *_env, jobject _this)
+{
+    RsContext con = (RsContext)(_env->GetIntField(_this, gContextId));
+    LOG_API("nScriptCBegin, con(%p)", con);
+    rsScriptCBegin();
+}
+
 static void
 nScriptCAddType(JNIEnv *_env, jobject _this, jint type)
 {
@@ -907,19 +909,11 @@
 }
 
 static void
-nProgramVertexBindAllocation(JNIEnv *_env, jobject _this, jint vpv, jint slot, jint a)
+nProgramVertexBindAllocation(JNIEnv *_env, jobject _this, jint vpv, jint a)
 {
     RsContext con = (RsContext)(_env->GetIntField(_this, gContextId));
     LOG_API("nProgramVertexBindAllocation, con(%p), vpf(%p), slot(%i), a(%p)", con, (RsProgramVertex)vpv, slot, (RsAllocation)a);
-    rsProgramVertexBindAllocation((RsProgramFragment)vpv, slot, (RsAllocation)a);
-}
-
-static void
-nProgramVertexSetType(JNIEnv *_env, jobject _this, jint slot, jint t)
-{
-    RsContext con = (RsContext)(_env->GetIntField(_this, gContextId));
-    LOG_API("nProgramVertexSetType, con(%p), vpf(%p), slot(%i), a(%p)", con, (RsProgramVertex)vpv, slot, (RsType)t);
-    rsProgramVertexSetType(slot, (RsType)t);
+    rsProgramVertexBindAllocation((RsProgramFragment)vpv, (RsAllocation)a);
 }
 
 static void
@@ -1154,11 +1148,12 @@
 
 {"nScriptDestroy",                 "(I)V",                                 (void*)nScriptDestroy },
 {"nScriptBindAllocation",          "(III)V",                               (void*)nScriptBindAllocation },
+{"nScriptSetClearColor",           "(IFFFF)V",                             (void*)nScriptSetClearColor },
+{"nScriptSetClearDepth",           "(IF)V",                                (void*)nScriptSetClearDepth },
+{"nScriptSetClearStencil",         "(II)V",                                (void*)nScriptSetClearStencil },
+{"nScriptSetTimeZone",             "(I[B)V",                               (void*)nScriptSetTimeZone },
+
 {"nScriptCBegin",                  "()V",                                  (void*)nScriptCBegin },
-{"nScriptCSetClearColor",          "(FFFF)V",                              (void*)nScriptCSetClearColor },
-{"nScriptCSetClearDepth",          "(F)V",                                 (void*)nScriptCSetClearDepth },
-{"nScriptCSetClearStencil",        "(I)V",                                 (void*)nScriptCSetClearStencil },
-{"nScriptCSetTimeZone",            "([B)V",                                (void*)nScriptCSetTimeZone },
 {"nScriptCAddType",                "(I)V",                                 (void*)nScriptCAddType },
 {"nScriptCSetRoot",                "(Z)V",                                 (void*)nScriptCSetRoot },
 {"nScriptCSetScript",              "([BII)V",                              (void*)nScriptCSetScript },
@@ -1183,9 +1178,8 @@
 {"nProgramFragmentDestroy",        "(I)V",                                 (void*)nProgramFragmentDestroy },
 
 {"nProgramVertexDestroy",          "(I)V",                                 (void*)nProgramVertexDestroy },
-{"nProgramVertexBindAllocation",   "(III)V",                               (void*)nProgramVertexBindAllocation },
+{"nProgramVertexBindAllocation",   "(II)V",                                (void*)nProgramVertexBindAllocation },
 {"nProgramVertexBegin",            "(II)V",                                (void*)nProgramVertexBegin },
-{"nProgramVertexSetType",          "(II)V",                                (void*)nProgramVertexSetType },
 {"nProgramVertexSetTextureMatrixEnable",   "(Z)V",                         (void*)nProgramVertexSetTextureMatrixEnable },
 {"nProgramVertexAddLight",         "(I)V",                                 (void*)nProgramVertexAddLight },
 {"nProgramVertexCreate",           "()I",                                  (void*)nProgramVertexCreate },
diff --git a/include/media/AudioSystem.h b/include/media/AudioSystem.h
index 1243502..1f726fe 100644
--- a/include/media/AudioSystem.h
+++ b/include/media/AudioSystem.h
@@ -24,7 +24,7 @@
 namespace android {
 
 typedef void (*audio_error_callback)(status_t err);
-typedef void * audio_io_handle_t;
+typedef int audio_io_handle_t;
 
 class IAudioPolicyService;
 class String8;
@@ -184,8 +184,8 @@
     static status_t getMasterMute(bool* mute);
 
     // set/get stream volume on specified output
-    static status_t setStreamVolume(int stream, float value, void *output);
-    static status_t getStreamVolume(int stream, float* volume, void *output);
+    static status_t setStreamVolume(int stream, float value, int output);
+    static status_t getStreamVolume(int stream, float* volume, int output);
 
     // mute/unmute stream
     static status_t setStreamMute(int stream, bool mute);
@@ -383,7 +383,7 @@
 
         // indicate a change in the configuration of an output or input: keeps the cached
         // values for output/input parameters upto date in client process
-        virtual void ioConfigChanged(int event, void *param1, void *param2);
+        virtual void ioConfigChanged(int event, int ioHandle, void *param2);
     };
 
     class AudioPolicyServiceClient: public IBinder::DeathRecipient
diff --git a/include/media/IAudioFlinger.h b/include/media/IAudioFlinger.h
index 26e6972..8018568 100644
--- a/include/media/IAudioFlinger.h
+++ b/include/media/IAudioFlinger.h
@@ -50,12 +50,12 @@
                                 int frameCount,
                                 uint32_t flags,
                                 const sp<IMemory>& sharedBuffer,
-                                void *output,
+                                int output,
                                 status_t *status) = 0;
 
     virtual sp<IAudioRecord> openRecord(
                                 pid_t pid,
-                                void *input,
+                                int input,
                                 uint32_t sampleRate,
                                 int format,
                                 int channelCount,
@@ -66,11 +66,11 @@
     /* query the audio hardware state. This state never changes,
      * and therefore can be cached.
      */
-    virtual     uint32_t    sampleRate(void *output) const = 0;
-    virtual     int         channelCount(void *output) const = 0;
-    virtual     int         format(void *output) const = 0;
-    virtual     size_t      frameCount(void *output) const = 0;
-    virtual     uint32_t    latency(void *output) const = 0;
+    virtual     uint32_t    sampleRate(int output) const = 0;
+    virtual     int         channelCount(int output) const = 0;
+    virtual     int         format(int output) const = 0;
+    virtual     size_t      frameCount(int output) const = 0;
+    virtual     uint32_t    latency(int output) const = 0;
 
     /* set/get the audio hardware state. This will probably be used by
      * the preference panel, mostly.
@@ -84,10 +84,10 @@
     /* set/get stream type state. This will probably be used by
      * the preference panel, mostly.
      */
-    virtual     status_t    setStreamVolume(int stream, float value, void *output) = 0;
+    virtual     status_t    setStreamVolume(int stream, float value, int output) = 0;
     virtual     status_t    setStreamMute(int stream, bool muted) = 0;
 
-    virtual     float       streamVolume(int stream, void *output) const = 0;
+    virtual     float       streamVolume(int stream, int output) const = 0;
     virtual     bool        streamMute(int stream) const = 0;
 
     // set audio mode
@@ -100,8 +100,8 @@
     // is a music stream active?
     virtual     bool        isMusicActive() const = 0;
 
-    virtual     status_t    setParameters(void *ioHandle, const String8& keyValuePairs) = 0;
-    virtual     String8     getParameters(void *ioHandle, const String8& keys) = 0;
+    virtual     status_t    setParameters(int ioHandle, const String8& keyValuePairs) = 0;
+    virtual     String8     getParameters(int ioHandle, const String8& keys) = 0;
     
     // register a current process for audio output change notifications
     virtual void registerClient(const sp<IAudioFlingerClient>& client) = 0;
@@ -109,25 +109,25 @@
     // retrieve the audio recording buffer size
     virtual size_t getInputBufferSize(uint32_t sampleRate, int format, int channelCount) = 0;
 
-    virtual void *openOutput(uint32_t *pDevices,
+    virtual int openOutput(uint32_t *pDevices,
                                     uint32_t *pSamplingRate,
                                     uint32_t *pFormat,
                                     uint32_t *pChannels,
                                     uint32_t *pLatencyMs,
                                     uint32_t flags) = 0;
-    virtual void *openDuplicateOutput(void *output1, void *output2) = 0;
-    virtual status_t closeOutput(void *output) = 0;
-    virtual status_t suspendOutput(void *output) = 0;
-    virtual status_t restoreOutput(void *output) = 0;
+    virtual int openDuplicateOutput(int output1, int output2) = 0;
+    virtual status_t closeOutput(int output) = 0;
+    virtual status_t suspendOutput(int output) = 0;
+    virtual status_t restoreOutput(int output) = 0;
 
-    virtual void *openInput(uint32_t *pDevices,
+    virtual int openInput(uint32_t *pDevices,
                                     uint32_t *pSamplingRate,
                                     uint32_t *pFormat,
                                     uint32_t *pChannels,
                                     uint32_t acoustics) = 0;
-    virtual status_t closeInput(void *input) = 0;
+    virtual status_t closeInput(int input) = 0;
 
-    virtual status_t setStreamOutput(uint32_t stream, void *output) = 0;
+    virtual status_t setStreamOutput(uint32_t stream, int output) = 0;
 };
 
 
diff --git a/include/media/IAudioFlingerClient.h b/include/media/IAudioFlingerClient.h
index 78142ce3..aa0cdcf 100644
--- a/include/media/IAudioFlingerClient.h
+++ b/include/media/IAudioFlingerClient.h
@@ -32,7 +32,7 @@
     DECLARE_META_INTERFACE(AudioFlingerClient);
 
     // Notifies a change of audio input/output configuration.
-    virtual void ioConfigChanged(int event, void *param1, void *param2) = 0;
+    virtual void ioConfigChanged(int event, int ioHandle, void *param2) = 0;
 
 };
 
diff --git a/include/media/stagefright/OMXDecoder.h b/include/media/stagefright/OMXDecoder.h
index e76fd4c..c6b7cb3 100644
--- a/include/media/stagefright/OMXDecoder.h
+++ b/include/media/stagefright/OMXDecoder.h
@@ -91,8 +91,10 @@
     sp<IOMX> mOMX;
     IOMX::node_id mNode;
     char *mComponentName;
+    char *mMIME;
     bool mIsMP3;
     bool mIsAVC;
+    bool mIsEncoder;
     uint32_t mQuirks;
 
     MediaSource *mSource;
@@ -132,6 +134,7 @@
 
     OMXDecoder(OMXClient *client, IOMX::node_id node,
                const char *mime, const char *codec,
+               bool is_encoder,
                uint32_t quirks);
 
     void setPortStatus(OMX_U32 port_index, PortStatus status);
@@ -148,6 +151,7 @@
             OMX_COLOR_FORMATTYPE colorFormat);
 
     void setVideoOutputFormat(const char *mime, OMX_U32 width, OMX_U32 height);
+    void setVideoInputFormat(const char *mime, OMX_U32 width, OMX_U32 height);
     void setup();
     void dumpPortDefinition(OMX_U32 port_index);
 
diff --git a/include/ui/EGLUtils.h b/include/ui/EGLUtils.h
new file mode 100644
index 0000000..48777b6
--- /dev/null
+++ b/include/ui/EGLUtils.h
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+#ifndef ANDROID_UI_EGLUTILS_H
+#define ANDROID_UI_EGLUTILS_H
+
+#include <utils/Errors.h>
+#include <ui/PixelFormat.h>
+#include <EGL/egl.h>
+
+
+// ----------------------------------------------------------------------------
+namespace android {
+// ----------------------------------------------------------------------------
+
+class EGLUtils
+{
+public:
+
+    static status_t selectConfigForPixelFormat(
+            EGLDisplay dpy,
+            EGLint const* attrs,
+            PixelFormat format,
+            EGLConfig* outConfig);
+
+    static status_t selectConfigForNativeWindow(
+            EGLDisplay dpy,
+            EGLint const* attrs,
+            EGLNativeWindowType window,
+            EGLConfig* outConfig);
+};
+
+// ----------------------------------------------------------------------------
+}; // namespace android
+// ----------------------------------------------------------------------------
+
+#endif /* ANDROID_UI_EGLUTILS_H */
diff --git a/include/ui/EventHub.h b/include/ui/EventHub.h
index d62fd7d..3b18c77 100644
--- a/include/ui/EventHub.h
+++ b/include/ui/EventHub.h
@@ -55,7 +55,9 @@
         CLASS_KEYBOARD      = 0x00000001,
         CLASS_ALPHAKEY      = 0x00000002,
         CLASS_TOUCHSCREEN   = 0x00000004,
-        CLASS_TRACKBALL     = 0x00000008
+        CLASS_TRACKBALL     = 0x00000008,
+        CLASS_TOUCHSCREEN_MT= 0x00000010,
+        CLASS_DPAD          = 0x00000020
     };
     uint32_t getDeviceClasses(int32_t deviceId) const;
     
@@ -117,11 +119,12 @@
         String8         keylayoutFilename;
         device_t*       next;
         
-        device_t(int32_t _id, const char* _path);
+        device_t(int32_t _id, const char* _path, const char* name);
         ~device_t();
     };
 
     device_t* getDevice(int32_t deviceId) const;
+    bool hasKeycode(device_t* device, int keycode) const;
     
     // Protect all internal state.
     mutable Mutex   mLock;
diff --git a/include/ui/egl/android_natives.h b/include/ui/egl/android_natives.h
index a3a1316..7da69b1 100644
--- a/include/ui/egl/android_natives.h
+++ b/include/ui/egl/android_natives.h
@@ -63,7 +63,8 @@
 /* attributes queriable with query() */
 enum {
     NATIVE_WINDOW_WIDTH     = 0,
-    NATIVE_WINDOW_HEIGHT    = 1
+    NATIVE_WINDOW_HEIGHT    = 1,
+    NATIVE_WINDOW_FORMAT    = 2,
 };
 
 struct android_native_window_t 
diff --git a/libs/audioflinger/AudioFlinger.cpp b/libs/audioflinger/AudioFlinger.cpp
index 232ffb0..b34f214 100644
--- a/libs/audioflinger/AudioFlinger.cpp
+++ b/libs/audioflinger/AudioFlinger.cpp
@@ -115,7 +115,7 @@
 
 AudioFlinger::AudioFlinger()
     : BnAudioFlinger(),
-        mAudioHardware(0), mMasterVolume(1.0f), mMasterMute(false)
+        mAudioHardware(0), mMasterVolume(1.0f), mMasterMute(false), mNextThreadId(0)
 {
     mHardwareStatus = AUDIO_HW_IDLE;
 
@@ -231,12 +231,12 @@
 
         // dump playback threads
         for (size_t i = 0; i < mPlaybackThreads.size(); i++) {
-            mPlaybackThreads[i]->dump(fd, args);
+            mPlaybackThreads.valueAt(i)->dump(fd, args);
         }
 
         // dump record threads
         for (size_t i = 0; i < mRecordThreads.size(); i++) {
-            mRecordThreads[i]->dump(fd, args);
+            mRecordThreads.valueAt(i)->dump(fd, args);
         }
 
         if (mAudioHardware) {
@@ -260,7 +260,7 @@
         int frameCount,
         uint32_t flags,
         const sp<IMemory>& sharedBuffer,
-        void *output,
+        int output,
         status_t *status)
 {
     sp<PlaybackThread::Track> track;
@@ -308,56 +308,56 @@
     return trackHandle;
 }
 
-uint32_t AudioFlinger::sampleRate(void *output) const
+uint32_t AudioFlinger::sampleRate(int output) const
 {
     Mutex::Autolock _l(mLock);
     PlaybackThread *thread = checkPlaybackThread_l(output);
     if (thread == NULL) {
-        LOGW("sampleRate() unknown thread %p", output);
+        LOGW("sampleRate() unknown thread %d", output);
         return 0;
     }
     return thread->sampleRate();
 }
 
-int AudioFlinger::channelCount(void *output) const
+int AudioFlinger::channelCount(int output) const
 {
     Mutex::Autolock _l(mLock);
     PlaybackThread *thread = checkPlaybackThread_l(output);
     if (thread == NULL) {
-        LOGW("channelCount() unknown thread %p", output);
+        LOGW("channelCount() unknown thread %d", output);
         return 0;
     }
     return thread->channelCount();
 }
 
-int AudioFlinger::format(void *output) const
+int AudioFlinger::format(int output) const
 {
     Mutex::Autolock _l(mLock);
     PlaybackThread *thread = checkPlaybackThread_l(output);
     if (thread == NULL) {
-        LOGW("format() unknown thread %p", output);
+        LOGW("format() unknown thread %d", output);
         return 0;
     }
     return thread->format();
 }
 
-size_t AudioFlinger::frameCount(void *output) const
+size_t AudioFlinger::frameCount(int output) const
 {
     Mutex::Autolock _l(mLock);
     PlaybackThread *thread = checkPlaybackThread_l(output);
     if (thread == NULL) {
-        LOGW("frameCount() unknown thread %p", output);
+        LOGW("frameCount() unknown thread %d", output);
         return 0;
     }
     return thread->frameCount();
 }
 
-uint32_t AudioFlinger::latency(void *output) const
+uint32_t AudioFlinger::latency(int output) const
 {
     Mutex::Autolock _l(mLock);
     PlaybackThread *thread = checkPlaybackThread_l(output);
     if (thread == NULL) {
-        LOGW("latency() unknown thread %p", output);
+        LOGW("latency() unknown thread %d", output);
         return 0;
     }
     return thread->latency();
@@ -380,7 +380,7 @@
 
     mMasterVolume = value;
     for (uint32_t i = 0; i < mPlaybackThreads.size(); i++)
-       mPlaybackThreads[i]->setMasterVolume(value);
+       mPlaybackThreads.valueAt(i)->setMasterVolume(value);
 
     return NO_ERROR;
 }
@@ -435,7 +435,7 @@
 
     mMasterMute = muted;
     for (uint32_t i = 0; i < mPlaybackThreads.size(); i++)
-       mPlaybackThreads[i]->setMasterMute(muted);
+       mPlaybackThreads.valueAt(i)->setMasterMute(muted);
 
     return NO_ERROR;
 }
@@ -450,7 +450,7 @@
     return mMasterMute;
 }
 
-status_t AudioFlinger::setStreamVolume(int stream, float value, void *output)
+status_t AudioFlinger::setStreamVolume(int stream, float value, int output)
 {
     // check calling permissions
     if (!settingsAllowed()) {
@@ -495,7 +495,7 @@
 
     if (thread == NULL) {
         for (uint32_t i = 0; i < mPlaybackThreads.size(); i++)
-           mPlaybackThreads[i]->setStreamVolume(stream, value);
+           mPlaybackThreads.valueAt(i)->setStreamVolume(stream, value);
 
     } else {
         thread->setStreamVolume(stream, value);
@@ -518,12 +518,12 @@
 
     mStreamTypes[stream].mute = muted;
     for (uint32_t i = 0; i < mPlaybackThreads.size(); i++)
-       mPlaybackThreads[i]->setStreamMute(stream, muted);
+       mPlaybackThreads.valueAt(i)->setStreamMute(stream, muted);
 
     return NO_ERROR;
 }
 
-float AudioFlinger::streamVolume(int stream, void *output) const
+float AudioFlinger::streamVolume(int stream, int output) const
 {
     if (stream < 0 || uint32_t(stream) >= AudioSystem::NUM_STREAM_TYPES) {
         return 0.0f;
@@ -562,18 +562,18 @@
 {
     Mutex::Autolock _l(mLock);
     for (uint32_t i = 0; i < mPlaybackThreads.size(); i++) {
-        if (mPlaybackThreads[i]->isMusicActive()) {
+        if (mPlaybackThreads.valueAt(i)->isMusicActive()) {
             return true;
         }
     }
     return false;
 }
 
-status_t AudioFlinger::setParameters(void *ioHandle, const String8& keyValuePairs)
+status_t AudioFlinger::setParameters(int ioHandle, const String8& keyValuePairs)
 {
     status_t result;
 
-    LOGV("setParameters(): io %p, keyvalue %s, tid %d, calling tid %d",
+    LOGV("setParameters(): io %d, keyvalue %s, tid %d, calling tid %d",
             ioHandle, keyValuePairs.string(), gettid(), IPCThreadState::self()->getCallingPid());
     // check calling permissions
     if (!settingsAllowed()) {
@@ -604,9 +604,9 @@
     return BAD_VALUE;
 }
 
-String8 AudioFlinger::getParameters(void *ioHandle, const String8& keys)
+String8 AudioFlinger::getParameters(int ioHandle, const String8& keys)
 {
-//    LOGV("getParameters() io %p, keys %s, tid %d, calling tid %d",
+//    LOGV("getParameters() io %d, keys %s, tid %d, calling tid %d",
 //            ioHandle, keys.string(), gettid(), IPCThreadState::self()->getCallingPid());
 
     if (ioHandle == 0) {
@@ -644,11 +644,11 @@
     // the config change is always sent from playback or record threads to avoid deadlock
     // with AudioSystem::gLock
     for (size_t i = 0; i < mPlaybackThreads.size(); i++) {
-        mPlaybackThreads[i]->sendConfigEvent(AudioSystem::OUTPUT_OPENED);
+        mPlaybackThreads.valueAt(i)->sendConfigEvent(AudioSystem::OUTPUT_OPENED);
     }
 
     for (size_t i = 0; i < mRecordThreads.size(); i++) {
-        mRecordThreads[i]->sendConfigEvent(AudioSystem::INPUT_OPENED);
+        mRecordThreads.valueAt(i)->sendConfigEvent(AudioSystem::INPUT_OPENED);
     }
 }
 
@@ -668,14 +668,33 @@
     }
 }
 
-void AudioFlinger::audioConfigChanged(int event, void *param1, void *param2) {
+void AudioFlinger::audioConfigChanged(int event, const sp<ThreadBase>& thread, void *param2) {
     Mutex::Autolock _l(mLock);
-    size_t size = mNotificationClients.size();
-    for (size_t i = 0; i < size; i++) {
-        sp<IBinder> binder = mNotificationClients.itemAt(i);
-        LOGV("audioConfigChanged() Notifying change to client %p", binder.get());
-        sp<IAudioFlingerClient> client = interface_cast<IAudioFlingerClient> (binder);
-        client->ioConfigChanged(event, param1, param2);
+    int ioHandle = 0;
+
+    for (size_t i = 0; i < mPlaybackThreads.size(); i++) {
+        if (mPlaybackThreads.valueAt(i) == thread) {
+            ioHandle = mPlaybackThreads.keyAt(i);
+            break;
+        }
+    }
+    if (ioHandle == 0) {
+        for (size_t i = 0; i < mRecordThreads.size(); i++) {
+            if (mRecordThreads.valueAt(i) == thread) {
+                ioHandle = mRecordThreads.keyAt(i);
+                break;
+            }
+        }
+    }
+
+    if (ioHandle != 0) {
+        size_t size = mNotificationClients.size();
+        for (size_t i = 0; i < size; i++) {
+            sp<IBinder> binder = mNotificationClients.itemAt(i);
+            LOGV("audioConfigChanged() Notifying change to client %p", binder.get());
+            sp<IAudioFlingerClient> client = interface_cast<IAudioFlingerClient> (binder);
+            client->ioConfigChanged(event, ioHandle, param2);
+        }
     }
 }
 
@@ -2711,7 +2730,7 @@
 
 sp<IAudioRecord> AudioFlinger::openRecord(
         pid_t pid,
-        void *input,
+        int input,
         uint32_t sampleRate,
         int format,
         int channelCount,
@@ -3204,7 +3223,7 @@
 
 // ----------------------------------------------------------------------------
 
-void *AudioFlinger::openOutput(uint32_t *pDevices,
+int AudioFlinger::openOutput(uint32_t *pDevices,
                                 uint32_t *pSamplingRate,
                                 uint32_t *pFormat,
                                 uint32_t *pChannels,
@@ -3227,7 +3246,7 @@
             flags);
 
     if (pDevices == NULL || *pDevices == 0) {
-        return NULL;
+        return 0;
     }
     Mutex::Autolock _l(mLock);
 
@@ -3249,12 +3268,12 @@
             (format != AudioSystem::PCM_16_BIT) ||
             (channels != AudioSystem::CHANNEL_OUT_STEREO)) {
             thread = new DirectOutputThread(this, output);
-            LOGV("openOutput() created direct output %p", thread);
+            LOGV("openOutput() created direct output: ID %d thread %p", (mNextThreadId + 1), thread);
         } else {
             thread = new MixerThread(this, output);
-            LOGV("openOutput() created mixer output %p", thread);
+            LOGV("openOutput() created mixer output: ID %d thread %p", (mNextThreadId + 1), thread);
         }
-        mPlaybackThreads.add(thread);
+        mPlaybackThreads.add(++mNextThreadId, thread);
 
         if (pSamplingRate) *pSamplingRate = samplingRate;
         if (pFormat) *pFormat = format;
@@ -3262,26 +3281,28 @@
         if (pLatencyMs) *pLatencyMs = thread->latency();
     }
 
-    return thread;
+    return mNextThreadId;
 }
 
-void *AudioFlinger::openDuplicateOutput(void *output1, void *output2)
+int AudioFlinger::openDuplicateOutput(int output1, int output2)
 {
     Mutex::Autolock _l(mLock);
+    MixerThread *thread1 = checkMixerThread_l(output1);
+    MixerThread *thread2 = checkMixerThread_l(output2);
 
-    if (checkMixerThread_l(output1) == NULL ||
-        checkMixerThread_l(output2) == NULL) {
-        LOGW("openDuplicateOutput() wrong output mixer type %p or %p", output1, output2);
-        return NULL;
+    if (thread1 == NULL || thread2 == NULL) {
+        LOGW("openDuplicateOutput() wrong output mixer type for output %d or %d", output1, output2);
+        return 0;
     }
 
-    DuplicatingThread *thread = new DuplicatingThread(this, (MixerThread *)output1);
-    thread->addOutputTrack( (MixerThread *)output2);
-    mPlaybackThreads.add(thread);
-    return thread;
+
+    DuplicatingThread *thread = new DuplicatingThread(this, thread1);
+    thread->addOutputTrack(thread2);
+    mPlaybackThreads.add(++mNextThreadId, thread);
+    return mNextThreadId;
 }
 
-status_t AudioFlinger::closeOutput(void *output)
+status_t AudioFlinger::closeOutput(int output)
 {
     PlaybackThread *thread;
     {
@@ -3291,24 +3312,24 @@
             return BAD_VALUE;
         }
 
-        LOGV("closeOutput() %p", thread);
+        LOGV("closeOutput() %d", output);
 
         if (thread->type() == PlaybackThread::MIXER) {
             for (size_t i = 0; i < mPlaybackThreads.size(); i++) {
-                if (mPlaybackThreads[i]->type() == PlaybackThread::DUPLICATING) {
-                    DuplicatingThread *dupThread = (DuplicatingThread *)mPlaybackThreads[i].get();
+                if (mPlaybackThreads.valueAt(i)->type() == PlaybackThread::DUPLICATING) {
+                    DuplicatingThread *dupThread = (DuplicatingThread *)mPlaybackThreads.valueAt(i).get();
                     dupThread->removeOutputTrack((MixerThread *)thread);
                 }
             }
         }
-        mPlaybackThreads.remove(thread);
+        mPlaybackThreads.removeItem(output);
     }
     thread->exit();
 
     return NO_ERROR;
 }
 
-status_t AudioFlinger::suspendOutput(void *output)
+status_t AudioFlinger::suspendOutput(int output)
 {
     Mutex::Autolock _l(mLock);
     PlaybackThread *thread = checkPlaybackThread_l(output);
@@ -3317,13 +3338,13 @@
         return BAD_VALUE;
     }
 
-    LOGV("suspendOutput() %p", output);
+    LOGV("suspendOutput() %d", output);
     thread->suspend();
 
     return NO_ERROR;
 }
 
-status_t AudioFlinger::restoreOutput(void *output)
+status_t AudioFlinger::restoreOutput(int output)
 {
     Mutex::Autolock _l(mLock);
     PlaybackThread *thread = checkPlaybackThread_l(output);
@@ -3332,14 +3353,14 @@
         return BAD_VALUE;
     }
 
-    LOGV("restoreOutput() %p", output);
+    LOGV("restoreOutput() %d", output);
 
     thread->restore();
 
     return NO_ERROR;
 }
 
-void *AudioFlinger::openInput(uint32_t *pDevices,
+int AudioFlinger::openInput(uint32_t *pDevices,
                                 uint32_t *pSamplingRate,
                                 uint32_t *pFormat,
                                 uint32_t *pChannels,
@@ -3355,7 +3376,7 @@
     uint32_t reqChannels = channels;
 
     if (pDevices == NULL || *pDevices == 0) {
-        return NULL;
+        return 0;
     }
     Mutex::Autolock _l(mLock);
 
@@ -3392,8 +3413,8 @@
     if (input != 0) {
          // Start record thread
         thread = new RecordThread(this, input, reqSamplingRate, reqChannels);
-        mRecordThreads.add(thread);
-
+        mRecordThreads.add(++mNextThreadId, thread);
+        LOGV("openInput() created record thread: ID %d thread %p", mNextThreadId, thread);
         if (pSamplingRate) *pSamplingRate = reqSamplingRate;
         if (pFormat) *pFormat = format;
         if (pChannels) *pChannels = reqChannels;
@@ -3401,10 +3422,10 @@
         input->standby();
     }
 
-    return thread;
+    return mNextThreadId;
 }
 
-status_t AudioFlinger::closeInput(void *input)
+status_t AudioFlinger::closeInput(int input)
 {
     RecordThread *thread;
     {
@@ -3414,27 +3435,27 @@
             return BAD_VALUE;
         }
 
-        LOGV("closeInput() %p", thread);
-        mRecordThreads.remove(thread);
+        LOGV("closeInput() %d", input);
+        mRecordThreads.removeItem(input);
     }
     thread->exit();
 
     return NO_ERROR;
 }
 
-status_t AudioFlinger::setStreamOutput(uint32_t stream, void *output)
+status_t AudioFlinger::setStreamOutput(uint32_t stream, int output)
 {
     Mutex::Autolock _l(mLock);
     MixerThread *dstThread = checkMixerThread_l(output);
     if (dstThread == NULL) {
-        LOGW("setStreamOutput() bad output thread %p", output);
+        LOGW("setStreamOutput() bad output id %d", output);
         return BAD_VALUE;
     }
 
-    LOGV("setStreamOutput() stream %d to output %p", stream, dstThread);
+    LOGV("setStreamOutput() stream %d to output %d", stream, output);
 
     for (size_t i = 0; i < mPlaybackThreads.size(); i++) {
-        PlaybackThread *thread = mPlaybackThreads[i].get();
+        PlaybackThread *thread = mPlaybackThreads.valueAt(i).get();
         if (thread != dstThread &&
             thread->type() != PlaybackThread::DIRECT) {
             MixerThread *srcThread = (MixerThread *)thread;
@@ -3452,22 +3473,17 @@
 }
 
 // checkPlaybackThread_l() must be called with AudioFlinger::mLock held
-AudioFlinger::PlaybackThread *AudioFlinger::checkPlaybackThread_l(void *output) const
+AudioFlinger::PlaybackThread *AudioFlinger::checkPlaybackThread_l(int output) const
 {
     PlaybackThread *thread = NULL;
-
-    for (size_t i = 0; i < mPlaybackThreads.size(); i++) {
-        if (mPlaybackThreads[i] == output) {
-            thread = (PlaybackThread *)output;
-            break;
-        }
+    if (mPlaybackThreads.indexOfKey(output) >= 0) {
+        thread = (PlaybackThread *)mPlaybackThreads.valueFor(output).get();
     }
-
     return thread;
 }
 
 // checkMixerThread_l() must be called with AudioFlinger::mLock held
-AudioFlinger::MixerThread *AudioFlinger::checkMixerThread_l(void *output) const
+AudioFlinger::MixerThread *AudioFlinger::checkMixerThread_l(int output) const
 {
     PlaybackThread *thread = checkPlaybackThread_l(output);
     if (thread != NULL) {
@@ -3479,17 +3495,12 @@
 }
 
 // checkRecordThread_l() must be called with AudioFlinger::mLock held
-AudioFlinger::RecordThread *AudioFlinger::checkRecordThread_l(void *input) const
+AudioFlinger::RecordThread *AudioFlinger::checkRecordThread_l(int input) const
 {
     RecordThread *thread = NULL;
-
-    for (size_t i = 0; i < mRecordThreads.size(); i++) {
-        if (mRecordThreads[i] == input) {
-            thread = (RecordThread *)input;
-            break;
-        }
+    if (mRecordThreads.indexOfKey(input) >= 0) {
+        thread = (RecordThread *)mRecordThreads.valueFor(input).get();
     }
-
     return thread;
 }
 
diff --git a/libs/audioflinger/AudioFlinger.h b/libs/audioflinger/AudioFlinger.h
index 06c5846..4a4b823 100644
--- a/libs/audioflinger/AudioFlinger.h
+++ b/libs/audioflinger/AudioFlinger.h
@@ -73,14 +73,14 @@
                                 int frameCount,
                                 uint32_t flags,
                                 const sp<IMemory>& sharedBuffer,
-                                void *output,
+                                int output,
                                 status_t *status);
 
-    virtual     uint32_t    sampleRate(void *output) const;
-    virtual     int         channelCount(void *output) const;
-    virtual     int         format(void *output) const;
-    virtual     size_t      frameCount(void *output) const;
-    virtual     uint32_t    latency(void *output) const;
+    virtual     uint32_t    sampleRate(int output) const;
+    virtual     int         channelCount(int output) const;
+    virtual     int         format(int output) const;
+    virtual     size_t      frameCount(int output) const;
+    virtual     uint32_t    latency(int output) const;
 
     virtual     status_t    setMasterVolume(float value);
     virtual     status_t    setMasterMute(bool muted);
@@ -88,10 +88,10 @@
     virtual     float       masterVolume() const;
     virtual     bool        masterMute() const;
 
-    virtual     status_t    setStreamVolume(int stream, float value, void *output);
+    virtual     status_t    setStreamVolume(int stream, float value, int output);
     virtual     status_t    setStreamMute(int stream, bool muted);
 
-    virtual     float       streamVolume(int stream, void *output) const;
+    virtual     float       streamVolume(int stream, int output) const;
     virtual     bool        streamMute(int stream) const;
 
     virtual     status_t    setMode(int mode);
@@ -101,37 +101,37 @@
 
     virtual     bool        isMusicActive() const;
 
-    virtual     status_t    setParameters(void *ioHandle, const String8& keyValuePairs);
-    virtual     String8     getParameters(void *ioHandle, const String8& keys);
+    virtual     status_t    setParameters(int ioHandle, const String8& keyValuePairs);
+    virtual     String8     getParameters(int ioHandle, const String8& keys);
 
     virtual     void        registerClient(const sp<IAudioFlingerClient>& client);
 
     virtual     size_t      getInputBufferSize(uint32_t sampleRate, int format, int channelCount);
 
-    virtual void *openOutput(uint32_t *pDevices,
+    virtual int openOutput(uint32_t *pDevices,
                                     uint32_t *pSamplingRate,
                                     uint32_t *pFormat,
                                     uint32_t *pChannels,
                                     uint32_t *pLatencyMs,
                                     uint32_t flags);
 
-    virtual void *openDuplicateOutput(void *output1, void *output2);
+    virtual int openDuplicateOutput(int output1, int output2);
 
-    virtual status_t closeOutput(void *output);
+    virtual status_t closeOutput(int output);
 
-    virtual status_t suspendOutput(void *output);
+    virtual status_t suspendOutput(int output);
 
-    virtual status_t restoreOutput(void *output);
+    virtual status_t restoreOutput(int output);
 
-    virtual void *openInput(uint32_t *pDevices,
+    virtual int openInput(uint32_t *pDevices,
                             uint32_t *pSamplingRate,
                             uint32_t *pFormat,
                             uint32_t *pChannels,
                             uint32_t acoustics);
 
-    virtual status_t closeInput(void *input);
+    virtual status_t closeInput(int input);
 
-    virtual status_t setStreamOutput(uint32_t stream, void *output);
+    virtual status_t setStreamOutput(uint32_t stream, int output);
 
     // IBinder::DeathRecipient
     virtual     void        binderDied(const wp<IBinder>& who);
@@ -158,7 +158,7 @@
     // record interface
     virtual sp<IAudioRecord> openRecord(
                                 pid_t pid,
-                                void *input,
+                                int input,
                                 uint32_t sampleRate,
                                 int format,
                                 int channelCount,
@@ -172,8 +172,6 @@
                                 Parcel* reply,
                                 uint32_t flags);
 
-    void audioConfigChanged(int event, void *param1, void *param2);
-
 private:
                             AudioFlinger();
     virtual                 ~AudioFlinger();
@@ -615,10 +613,11 @@
         SortedVector < sp<OutputTrack> >  mOutputTracks;
     };
 
-              PlaybackThread *checkPlaybackThread_l(void *output) const;
-              MixerThread *checkMixerThread_l(void *output) const;
-              RecordThread *checkRecordThread_l(void *input) const;
+              PlaybackThread *checkPlaybackThread_l(int output) const;
+              MixerThread *checkMixerThread_l(int output) const;
+              RecordThread *checkRecordThread_l(int input) const;
               float streamVolumeInternal(int stream) const { return mStreamTypes[stream].volume; }
+              void audioConfigChanged(int event, const sp<ThreadBase>& thread, void *param2);
 
     friend class AudioBuffer;
 
@@ -744,14 +743,15 @@
     mutable     int                                 mHardwareStatus;
 
 
-                SortedVector< sp<PlaybackThread> >  mPlaybackThreads;
+                DefaultKeyedVector< int, sp<PlaybackThread> >  mPlaybackThreads;
                 PlaybackThread::stream_type_t       mStreamTypes[AudioSystem::NUM_STREAM_TYPES];
                 float                               mMasterVolume;
                 bool                                mMasterMute;
 
-                SortedVector< sp<RecordThread> >    mRecordThreads;
+                DefaultKeyedVector< int, sp<RecordThread> >    mRecordThreads;
 
                 SortedVector< sp<IBinder> >         mNotificationClients;
+                int                                 mNextThreadId;
 };
 
 // ----------------------------------------------------------------------------
diff --git a/libs/audioflinger/AudioHardwareInterface.cpp b/libs/audioflinger/AudioHardwareInterface.cpp
index 37be329..9a4a7f9 100644
--- a/libs/audioflinger/AudioHardwareInterface.cpp
+++ b/libs/audioflinger/AudioHardwareInterface.cpp
@@ -140,8 +140,8 @@
 // default implementation
 String8 AudioHardwareBase::getParameters(const String8& keys)
 {
-    String8 result = String8("");
-    return result;
+    AudioParameter param = AudioParameter(keys);
+    return param.toString();
 }
 
 // default implementation
diff --git a/libs/audioflinger/AudioHardwareStub.cpp b/libs/audioflinger/AudioHardwareStub.cpp
index 1a03059..ae391ee 100644
--- a/libs/audioflinger/AudioHardwareStub.cpp
+++ b/libs/audioflinger/AudioHardwareStub.cpp
@@ -152,6 +152,12 @@
     return NO_ERROR;
 }
 
+String8 AudioStreamOutStub::getParameters(const String8& keys)
+{
+    AudioParameter param = AudioParameter(keys);
+    return param.toString();
+}
+
 // ----------------------------------------------------------------------------
 
 status_t AudioStreamInStub::set(int *pFormat, uint32_t *pChannels, uint32_t *pRate,
@@ -187,6 +193,12 @@
     return NO_ERROR;
 }
 
+String8 AudioStreamInStub::getParameters(const String8& keys)
+{
+    AudioParameter param = AudioParameter(keys);
+    return param.toString();
+}
+
 // ----------------------------------------------------------------------------
 
 }; // namespace android
diff --git a/libs/audioflinger/AudioHardwareStub.h b/libs/audioflinger/AudioHardwareStub.h
index 8f43259..583f852 100644
--- a/libs/audioflinger/AudioHardwareStub.h
+++ b/libs/audioflinger/AudioHardwareStub.h
@@ -40,7 +40,7 @@
     virtual status_t    standby();
     virtual status_t    dump(int fd, const Vector<String16>& args);
     virtual status_t    setParameters(const String8& keyValuePairs) { return NO_ERROR;}
-    virtual String8     getParameters(const String8& keys) {String8 result = String8(""); return result;}
+    virtual String8     getParameters(const String8& keys);
 };
 
 class AudioStreamInStub : public AudioStreamIn {
@@ -55,7 +55,7 @@
     virtual status_t    dump(int fd, const Vector<String16>& args);
     virtual status_t    standby() { return NO_ERROR; }
     virtual status_t    setParameters(const String8& keyValuePairs) { return NO_ERROR;}
-    virtual String8     getParameters(const String8& keys) {String8 result = String8(""); return result;}
+    virtual String8     getParameters(const String8& keys);
 };
 
 class AudioHardwareStub : public  AudioHardwareBase
diff --git a/libs/audioflinger/AudioPolicyManagerGeneric.cpp b/libs/audioflinger/AudioPolicyManagerGeneric.cpp
index 4b31815..6b17b87 100644
--- a/libs/audioflinger/AudioPolicyManagerGeneric.cpp
+++ b/libs/audioflinger/AudioPolicyManagerGeneric.cpp
@@ -224,7 +224,7 @@
     if ((flags & AudioSystem::OUTPUT_FLAG_DIRECT) ||
         (format != 0 && !AudioSystem::isLinearPCM(format)) ||
         (channels != 0 && channels != AudioSystem::CHANNEL_OUT_MONO && channels != AudioSystem::CHANNEL_OUT_STEREO)) {
-        return NULL;
+        return 0;
     }
 
     return mHardwareOutput;
@@ -232,10 +232,10 @@
 
 status_t AudioPolicyManagerGeneric::startOutput(audio_io_handle_t output, AudioSystem::stream_type stream)
 {
-    LOGV("startOutput() output %p, stream %d", output, stream);
+    LOGV("startOutput() output %d, stream %d", output, stream);
     ssize_t index = mOutputs.indexOfKey(output);
     if (index < 0) {
-        LOGW("startOutput() unknow output %p", output);
+        LOGW("startOutput() unknow output %d", output);
         return BAD_VALUE;
     }
 
@@ -253,10 +253,10 @@
 
 status_t AudioPolicyManagerGeneric::stopOutput(audio_io_handle_t output, AudioSystem::stream_type stream)
 {
-    LOGV("stopOutput() output %p, stream %d", output, stream);
+    LOGV("stopOutput() output %d, stream %d", output, stream);
     ssize_t index = mOutputs.indexOfKey(output);
     if (index < 0) {
-        LOGW("stopOutput() unknow output %p", output);
+        LOGW("stopOutput() unknow output %d", output);
         return BAD_VALUE;
     }
 
@@ -272,17 +272,17 @@
         outputDesc->changeRefCount(stream, -1);
         return NO_ERROR;
     } else {
-        LOGW("stopOutput() refcount is already 0 for output %p", output);
+        LOGW("stopOutput() refcount is already 0 for output %d", output);
         return INVALID_OPERATION;
     }
 }
 
 void AudioPolicyManagerGeneric::releaseOutput(audio_io_handle_t output)
 {
-    LOGV("releaseOutput() %p", output);
+    LOGV("releaseOutput() %d", output);
     ssize_t index = mOutputs.indexOfKey(output);
     if (index < 0) {
-        LOGW("releaseOutput() releasing unknown output %p", output);
+        LOGW("releaseOutput() releasing unknown output %d", output);
         return;
     }
 
@@ -332,7 +332,7 @@
                 samplingRate, format, channels);
         mpClientInterface->closeInput(input);
         delete inputDesc;
-        return NULL;
+        return 0;
     }
     mInputs.add(input, inputDesc);
     return input;
@@ -340,10 +340,10 @@
 
 status_t AudioPolicyManagerGeneric::startInput(audio_io_handle_t input)
 {
-    LOGV("startInput() input %p", input);
+    LOGV("startInput() input %d", input);
     ssize_t index = mInputs.indexOfKey(input);
     if (index < 0) {
-        LOGW("startInput() unknow input %p", input);
+        LOGW("startInput() unknow input %d", input);
         return BAD_VALUE;
     }
     AudioInputDescriptor *inputDesc = mInputs.valueAt(index);
@@ -355,7 +355,7 @@
         // refuse 2 active AudioRecord clients at the same time
         for (size_t i = 0; i < mInputs.size(); i++) {
             if (mInputs.valueAt(i)->mRefCount > 0) {
-                LOGW("startInput() input %p, other input %p already started", input, mInputs.keyAt(i));
+                LOGW("startInput() input %d, other input %d already started", input, mInputs.keyAt(i));
                 return INVALID_OPERATION;
             }
         }
@@ -367,16 +367,16 @@
 
 status_t AudioPolicyManagerGeneric::stopInput(audio_io_handle_t input)
 {
-    LOGV("stopInput() input %p", input);
+    LOGV("stopInput() input %d", input);
     ssize_t index = mInputs.indexOfKey(input);
     if (index < 0) {
-        LOGW("stopInput() unknow input %p", input);
+        LOGW("stopInput() unknow input %d", input);
         return BAD_VALUE;
     }
     AudioInputDescriptor *inputDesc = mInputs.valueAt(index);
 
     if (inputDesc->mRefCount == 0) {
-        LOGW("stopInput() input %p already stopped", input);
+        LOGW("stopInput() input %d already stopped", input);
         return INVALID_OPERATION;
     } else {
         inputDesc->mRefCount = 0;
@@ -386,10 +386,10 @@
 
 void AudioPolicyManagerGeneric::releaseInput(audio_io_handle_t input)
 {
-    LOGV("releaseInput() %p", input);
+    LOGV("releaseInput() %d", input);
     ssize_t index = mInputs.indexOfKey(input);
     if (index < 0) {
-        LOGW("releaseInput() releasing unknown input %p", input);
+        LOGW("releaseInput() releasing unknown input %d", input);
         return;
     }
     mpClientInterface->closeInput(input);
@@ -438,7 +438,7 @@
 
         float volume = computeVolume((int)stream, index, device);
 
-        LOGV("setStreamVolume() for output %p stream %d, volume %f", mOutputs.keyAt(i), stream, volume);
+        LOGV("setStreamVolume() for output %d stream %d, volume %f", mOutputs.keyAt(i), stream, volume);
         mpClientInterface->setStreamVolume(stream, volume, mOutputs.keyAt(i));
     }
     return NO_ERROR;
@@ -657,7 +657,7 @@
 
 void AudioPolicyManagerGeneric::setStreamMute(int stream, bool on, audio_io_handle_t output)
 {
-    LOGV("setStreamMute() stream %d, mute %d, output %p", stream, on, output);
+    LOGV("setStreamMute() stream %d, mute %d, output %d", stream, on, output);
 
     StreamDescriptor &streamDesc = mStreams[stream];
 
diff --git a/libs/audioflinger/AudioPolicyService.cpp b/libs/audioflinger/AudioPolicyService.cpp
index 7f6c4ed..ae17d76 100644
--- a/libs/audioflinger/AudioPolicyService.cpp
+++ b/libs/audioflinger/AudioPolicyService.cpp
@@ -201,7 +201,7 @@
                                     AudioSystem::output_flags flags)
 {
     if (mpPolicyManager == NULL) {
-        return NULL;
+        return 0;
     }
     LOGV("getOutput() tid %d", gettid());
     Mutex::Autolock _l(mLock);
@@ -245,7 +245,7 @@
                                     AudioSystem::audio_in_acoustics acoustics)
 {
     if (mpPolicyManager == NULL) {
-        return NULL;
+        return 0;
     }
     Mutex::Autolock _l(mLock);
     return mpPolicyManager->getInput(inputSource, samplingRate, format, channels, acoustics);
@@ -381,7 +381,7 @@
     sp<IAudioFlinger> af = AudioSystem::get_audio_flinger();
     if (af == 0) {
         LOGW("openOutput() could not get AudioFlinger");
-        return NULL;
+        return 0;
     }
 
     return af->openOutput(pDevices, pSamplingRate, (uint32_t *)pFormat, pChannels, pLatencyMs, flags);
@@ -392,7 +392,7 @@
     sp<IAudioFlinger> af = AudioSystem::get_audio_flinger();
     if (af == 0) {
         LOGW("openDuplicateOutput() could not get AudioFlinger");
-        return NULL;
+        return 0;
     }
     return af->openDuplicateOutput(output1, output2);
 }
@@ -437,7 +437,7 @@
     sp<IAudioFlinger> af = AudioSystem::get_audio_flinger();
     if (af == 0) {
         LOGW("openInput() could not get AudioFlinger");
-        return NULL;
+        return 0;
     }
 
     return af->openInput(pDevices, pSamplingRate, (uint32_t *)pFormat, pChannels, acoustics);
@@ -453,7 +453,7 @@
 
 status_t AudioPolicyService::setStreamVolume(AudioSystem::stream_type stream, float volume, audio_io_handle_t output)
 {
-    return mAudioCommandThread->volumeCommand((int)stream, volume, (void *)output);
+    return mAudioCommandThread->volumeCommand((int)stream, volume, (int)output);
 }
 
 status_t AudioPolicyService::setStreamOutput(AudioSystem::stream_type stream, audio_io_handle_t output)
@@ -467,7 +467,7 @@
 
 void AudioPolicyService::setParameters(audio_io_handle_t ioHandle, const String8& keyValuePairs)
 {
-    mAudioCommandThread->parametersCommand((void *)ioHandle, keyValuePairs);
+    mAudioCommandThread->parametersCommand((int)ioHandle, keyValuePairs);
 }
 
 String8 AudioPolicyService::getParameters(audio_io_handle_t ioHandle, const String8& keys)
@@ -547,7 +547,7 @@
                 }break;
             case SET_VOLUME: {
                 VolumeData *data = (VolumeData *)command->mParam;
-                LOGV("AudioCommandThread() processing set volume stream %d, volume %f, output %p", data->mStream, data->mVolume, data->mIO);
+                LOGV("AudioCommandThread() processing set volume stream %d, volume %f, output %d", data->mStream, data->mVolume, data->mIO);
                 mCommandStatus = AudioSystem::setStreamVolume(data->mStream, data->mVolume, data->mIO);
                 mCommandCond.signal();
                 mWaitWorkCV.wait(mLock);
@@ -555,7 +555,7 @@
                 }break;
             case SET_PARAMETERS: {
                  ParametersData *data = (ParametersData *)command->mParam;
-                 LOGV("AudioCommandThread() processing set parameters string %s, io %p", data->mKeyValuePairs.string(), data->mIO);
+                 LOGV("AudioCommandThread() processing set parameters string %s, io %d", data->mKeyValuePairs.string(), data->mIO);
                  mCommandStatus = AudioSystem::setParameters(data->mIO, data->mKeyValuePairs);
                  mCommandCond.signal();
                  mWaitWorkCV.wait(mLock);
@@ -599,7 +599,7 @@
     mWaitWorkCV.signal();
 }
 
-status_t AudioPolicyService::AudioCommandThread::volumeCommand(int stream, float volume, void *output)
+status_t AudioPolicyService::AudioCommandThread::volumeCommand(int stream, float volume, int output)
 {
     Mutex::Autolock _l(mLock);
     AudioCommand *command = new AudioCommand();
@@ -610,7 +610,7 @@
     data->mIO = output;
     command->mParam = data;
     mAudioCommands.add(command);
-    LOGV("AudioCommandThread() adding set volume stream %d, volume %f, output %p", stream, volume, output);
+    LOGV("AudioCommandThread() adding set volume stream %d, volume %f, output %d", stream, volume, output);
     mWaitWorkCV.signal();
     mCommandCond.wait(mLock);
     status_t status =  mCommandStatus;
@@ -618,7 +618,7 @@
     return status;
 }
 
-status_t AudioPolicyService::AudioCommandThread::parametersCommand(void *ioHandle, const String8& keyValuePairs)
+status_t AudioPolicyService::AudioCommandThread::parametersCommand(int ioHandle, const String8& keyValuePairs)
 {
     Mutex::Autolock _l(mLock);
     AudioCommand *command = new AudioCommand();
@@ -628,7 +628,7 @@
     data->mKeyValuePairs = keyValuePairs;
     command->mParam = data;
     mAudioCommands.add(command);
-    LOGV("AudioCommandThread() adding set parameter string %s, io %p", keyValuePairs.string(), ioHandle);
+    LOGV("AudioCommandThread() adding set parameter string %s, io %d", keyValuePairs.string(), ioHandle);
     mWaitWorkCV.signal();
     mCommandCond.wait(mLock);
     status_t status =  mCommandStatus;
diff --git a/libs/audioflinger/AudioPolicyService.h b/libs/audioflinger/AudioPolicyService.h
index 1c46975..3909fa4 100644
--- a/libs/audioflinger/AudioPolicyService.h
+++ b/libs/audioflinger/AudioPolicyService.h
@@ -136,8 +136,8 @@
                     void        exit();
                     void        startToneCommand(int type = 0, int stream = 0);
                     void        stopToneCommand();
-                    status_t    volumeCommand(int stream, float volume, void *output);
-                    status_t    parametersCommand(void *ioHandle, const String8& keyValuePairs);
+                    status_t    volumeCommand(int stream, float volume, int output);
+                    status_t    parametersCommand(int ioHandle, const String8& keyValuePairs);
 
     private:
         // descriptor for requested tone playback event
@@ -157,11 +157,11 @@
         public:
             int mStream;
             float mVolume;
-            void *mIO;
+            int mIO;
         };
         class ParametersData {
         public:
-            void *mIO;
+            int mIO;
             String8 mKeyValuePairs;
         };
 
diff --git a/libs/rs/Android.mk b/libs/rs/Android.mk
index 6b11a25..375cf6c 100644
--- a/libs/rs/Android.mk
+++ b/libs/rs/Android.mk
@@ -90,6 +90,7 @@
 	rsObjectBase.cpp \
 	rsMatrix.cpp \
         rsMesh.cpp \
+	rsNoise.cpp \
 	rsProgram.cpp \
 	rsProgramFragment.cpp \
 	rsProgramFragmentStore.cpp \
diff --git a/libs/rs/java/Fall/Android.mk b/libs/rs/java/Fall/Android.mk
new file mode 100644
index 0000000..6366f63
--- /dev/null
+++ b/libs/rs/java/Fall/Android.mk
@@ -0,0 +1,25 @@
+#
+# Copyright (C) 2009 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+LOCAL_PATH := $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+#LOCAL_STATIC_JAVA_LIBRARIES := android.renderscript
+
+LOCAL_PACKAGE_NAME := FallRS
+
+include $(BUILD_PACKAGE)
diff --git a/libs/rs/java/Fall/AndroidManifest.xml b/libs/rs/java/Fall/AndroidManifest.xml
new file mode 100644
index 0000000..f4f96a1
--- /dev/null
+++ b/libs/rs/java/Fall/AndroidManifest.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.android.fall.rs">
+
+    <application android:label="FallRS">
+
+        <activity
+            android:name="Fall"
+            android:theme="@android:style/Theme.NoTitleBar">
+
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+
+        </activity>
+
+    </application>
+
+</manifest>
diff --git a/libs/rs/java/Fall/res/raw/fall.c b/libs/rs/java/Fall/res/raw/fall.c
new file mode 100644
index 0000000..267b3ea
--- /dev/null
+++ b/libs/rs/java/Fall/res/raw/fall.c
@@ -0,0 +1,216 @@
+// Copyright (C) 2009 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#pragma version(1)
+#pragma stateVertex(PVBackground)
+#pragma stateFragment(PFBackground)
+#pragma stateFragmentStore(PFSBackground)
+
+#define RSID_STATE 0
+#define RSID_FRAME_COUNT 0
+#define RSID_WIDTH 1
+#define RSID_HEIGHT 2
+#define RSID_MESH_WIDTH 3
+#define RSID_MESH_HEIGHT 4
+#define RSID_RIPPLE_MAP_SIZE 5
+#define RSID_RIPPLE_INDEX 6
+#define RSID_DROP_X 7
+#define RSID_DROP_Y 8
+    
+#define RSID_TEXTURES 1
+
+#define RSID_RIPPLE_MAP 2
+
+#define RSID_REFRACTION_MAP 3
+
+#define REFRACTION 1.333f
+#define DAMP 4
+
+#define DROP_RADIUS 2
+// The higher, the smaller the ripple
+#define RIPPLE_HEIGHT 10.0f
+
+int offset(int x, int y, int width) {
+    return x + 1 + (y + 1) * (width + 2);
+}
+
+void drop(int x, int y, int r) {
+    int width = loadI32(RSID_STATE, RSID_MESH_WIDTH);
+    int height = loadI32(RSID_STATE, RSID_MESH_HEIGHT);
+
+    if (x < r) x = r;
+    if (y < r) y = r;
+    if (x >= width - r) x = width - r - 1;
+    if (y >= height - r) x = height - r - 1;
+    
+    x = width - x;
+
+    int rippleMapSize = loadI32(RSID_STATE, RSID_RIPPLE_MAP_SIZE);
+    int index = loadI32(RSID_STATE, RSID_RIPPLE_INDEX);
+    int origin = offset(0, 0, width);
+
+    int* current = loadArrayI32(RSID_RIPPLE_MAP, index * rippleMapSize + origin);
+    int sqr = r * r;
+
+    int h = 0;
+    for ( ; h < r; h++) {
+        int sqv = h * h;
+        int yn = origin + (y - h) * (width + 2);
+        int yp = origin + (y + h) * (width + 2);
+        int w = 0;
+        for ( ; w < r; w++) {
+            int squ = w * w;
+            if (squ + sqv < sqr) {
+                int v = -sqrtf((sqr - (squ + sqv)) << 16);
+                current[yn + x + w] = v;
+                current[yp + x + w] = v;
+                current[yn + x - w] = v;
+                current[yp + x - w] = v;
+            }
+        }
+    }
+}
+
+void updateRipples() {
+    int rippleMapSize = loadI32(RSID_STATE, RSID_RIPPLE_MAP_SIZE);
+    int width = loadI32(RSID_STATE, RSID_MESH_WIDTH);
+    int height = loadI32(RSID_STATE, RSID_MESH_HEIGHT);
+    int index = loadI32(RSID_STATE, RSID_RIPPLE_INDEX);
+    int origin = offset(0, 0, width);
+
+    int* current = loadArrayI32(RSID_RIPPLE_MAP, index * rippleMapSize + origin);
+    int* next = loadArrayI32(RSID_RIPPLE_MAP, (1 - index) * rippleMapSize + origin);
+
+    storeI32(RSID_STATE, RSID_RIPPLE_INDEX, 1 - index);
+
+    int a = 1;
+    int b = width + 2;
+    int h = height;
+    while (h) {
+        int w = width;
+        while (w) {
+            int droplet = ((current[-b] + current[b] + current[-a] + current[a]) >> 1) - next[0];
+            droplet -= (droplet >> DAMP);
+            next[0] = droplet;
+            current++;
+            next++;
+            w--;
+        }
+        current += 2;
+        next += 2;
+        h--;
+    }
+}
+
+void generateRipples() {
+    int rippleMapSize = loadI32(RSID_STATE, RSID_RIPPLE_MAP_SIZE);
+    int width = loadI32(RSID_STATE, RSID_MESH_WIDTH);
+    int height = loadI32(RSID_STATE, RSID_MESH_HEIGHT);
+    int index = loadI32(RSID_STATE, RSID_RIPPLE_INDEX);
+    int origin = offset(0, 0, width);
+
+    int b = width + 2;
+
+    int* current = loadArrayI32(RSID_RIPPLE_MAP, index * rippleMapSize + origin);
+    float *vertices = loadTriangleMeshVerticesF(NAMED_mesh);
+
+    int h = height - 1;
+    while (h >= 0) {
+        int w = width - 1;
+        int wave = current[0];
+        int offset = h * width;
+        while (w >= 0) {
+            int nextWave = current[1];
+            int dx = nextWave - wave;
+            int dy = current[b] - wave;
+
+            // Update Z coordinate of the vertex
+            vertices[(offset + w) * 8 + 7] = (dy / 512.0f) / RIPPLE_HEIGHT;
+            
+            w--;
+            current++;
+            wave = nextWave;
+        }
+        h--;
+        current += 2;
+    }
+
+    // Compute the normals for lighting
+    int y = 0;
+    for ( ; y < height; y++) {
+        int x = 0;
+        int yOffset = y * width;
+        for ( ; x < width; x++) {
+            // V1
+            float v1x = vertices[(yOffset + x) * 8 + 5];
+            float v1y = vertices[(yOffset + x) * 8 + 6];
+            float v1z = vertices[(yOffset + x) * 8 + 7];
+
+            // V2
+            float v2x = vertices[(yOffset + x + 1) * 8 + 5];
+            float v2y = vertices[(yOffset + x + 1) * 8 + 6];
+            float v2z = vertices[(yOffset + x + 1) * 8 + 7];
+            
+            // V3
+            float v3x = vertices[(yOffset + width + x) * 8 + 5];
+            float v3y = vertices[(yOffset + width + x) * 8 + 6];
+            float v3z = vertices[(yOffset + width + x) * 8 + 7];
+
+            // N1
+            float n1x = v2x - v1x;
+            float n1y = v2y - v1y;
+            float n1z = v2z - v1z;
+
+            // N2
+            float n2x = v3x - v1x;
+            float n2y = v3y - v1y;
+            float n2z = v3z - v1z;
+
+            // N1 x N2
+            float n3x = n1y * n2z - n1z * n2y;
+            float n3y = n1z * n2x - n1x * n2z;
+            float n3z = n1x * n2y - n1y * n2x;
+
+            // Normalize
+            float len = magf3(n3x, n3y, n3z);
+            n3x /= len;
+            n3y /= len;
+            n3z /= len;
+
+            vertices[(yOffset + x) * 8 + 0] = -n3x;
+            vertices[(yOffset + x) * 8 + 1] = -n3y;
+            vertices[(yOffset + x) * 8 + 2] = -n3z;
+        }
+    }
+}   
+
+int main(int index) {
+    int dropX = loadI32(RSID_STATE, RSID_DROP_X);
+    if (dropX != -1) {
+        int dropY = loadI32(RSID_STATE, RSID_DROP_Y);
+        drop(dropX, dropY, DROP_RADIUS);
+        storeI32(RSID_STATE, RSID_DROP_X, -1);
+        storeI32(RSID_STATE, RSID_DROP_Y, -1);
+    }
+
+    updateRipples();
+    generateRipples();
+    updateTriangleMesh(NAMED_mesh);
+
+    ambient(0.0f, 0.1f, 0.9f, 1.0f);
+    diffuse(0.0f, 0.1f, 0.9f, 1.0f);
+    drawTriangleMesh(NAMED_mesh);    
+
+    return 1;
+}
diff --git a/libs/rs/java/Fall/src/com/android/fall/rs/Fall.java b/libs/rs/java/Fall/src/com/android/fall/rs/Fall.java
new file mode 100644
index 0000000..b1d9b1d
--- /dev/null
+++ b/libs/rs/java/Fall/src/com/android/fall/rs/Fall.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+package com.android.fall.rs;
+
+import android.app.Activity;
+import android.os.Bundle;
+
+public class Fall extends Activity {
+    private FallView mView;
+
+    @Override
+    public void onCreate(Bundle icicle) {
+        super.onCreate(icicle);
+
+        mView = new FallView(this);
+        setContentView(mView);
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        mView.onResume();
+    }
+
+    @Override
+    protected void onPause() {
+        super.onPause();
+        mView.onPause();
+
+        Runtime.getRuntime().exit(0);
+    }
+}
diff --git a/libs/rs/java/Fall/src/com/android/fall/rs/FallRS.java b/libs/rs/java/Fall/src/com/android/fall/rs/FallRS.java
new file mode 100644
index 0000000..542f67c
--- /dev/null
+++ b/libs/rs/java/Fall/src/com/android/fall/rs/FallRS.java
@@ -0,0 +1,315 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.fall.rs;
+
+import android.content.res.Resources;
+import android.renderscript.RenderScript;
+import android.renderscript.ScriptC;
+import android.renderscript.ProgramFragment;
+import android.renderscript.ProgramStore;
+import android.renderscript.ProgramVertex;
+import android.renderscript.Allocation;
+import android.renderscript.Sampler;
+import android.renderscript.Element;
+import android.renderscript.Light;
+import static android.renderscript.Sampler.Value.LINEAR;
+import static android.renderscript.Sampler.Value.CLAMP;
+import static android.renderscript.ProgramStore.DepthFunc.*;
+import static android.renderscript.ProgramStore.BlendDstFunc;
+import static android.renderscript.ProgramStore.BlendSrcFunc;
+import static android.renderscript.ProgramFragment.EnvMode.*;
+import static android.renderscript.Element.*;
+import android.graphics.BitmapFactory;
+import android.graphics.Bitmap;
+
+import java.util.TimeZone;
+
+class FallRS {
+    private static final int MESH_RESOLUTION = 48;
+
+    private static final int RSID_STATE = 0;
+    private static final int RSID_STATE_FRAMECOUNT = 0;
+    private static final int RSID_STATE_WIDTH = 1;
+    private static final int RSID_STATE_HEIGHT = 2;
+    private static final int RSID_STATE_MESH_WIDTH = 3;
+    private static final int RSID_STATE_MESH_HEIGHT = 4;
+    private static final int RSID_STATE_RIPPLE_MAP_SIZE = 5;
+    private static final int RSID_STATE_RIPPLE_INDEX = 6;
+    private static final int RSID_STATE_DROP_X = 7;
+    private static final int RSID_STATE_DROP_Y = 8;
+    
+    private static final int RSID_TEXTURES = 1;
+    private static final int TEXTURES_COUNT = 0;
+
+    private static final int RSID_RIPPLE_MAP = 2;
+
+    private static final int RSID_REFRACTION_MAP = 3;
+
+    private Resources mResources;
+    private RenderScript mRS;
+    private final BitmapFactory.Options mBitmapOptions = new BitmapFactory.Options();
+
+    private final int mWidth;
+    private final int mHeight;
+
+    private ScriptC mScript;
+    private Sampler mSampler;
+    private ProgramFragment mPfBackground;
+    private ProgramStore mPfsBackground;
+    private ProgramVertex mPvBackground;
+    private ProgramVertex.MatrixAllocation mPvOrthoAlloc;
+    private Light mLight;
+
+    private Allocation mTexturesIDs;
+    private Allocation[] mTextures;
+    private int[] mTextureBufferIDs;
+
+    private Allocation mState;
+    private RenderScript.TriangleMesh mMesh;
+    private int mMeshWidth;
+    private int mMeshHeight;
+
+    private Allocation mRippleMap;
+    private Allocation mRefractionMap;
+
+    public FallRS(int width, int height) {
+        mWidth = width;
+        mHeight = height;
+        mBitmapOptions.inScaled = false;
+        mBitmapOptions.inPreferredConfig = Bitmap.Config.ARGB_8888;
+    }
+
+    public void init(RenderScript rs, Resources res) {
+        mRS = rs;
+        mResources = res;
+        initRS();
+    }
+
+    public void destroy() {
+        mScript.destroy();
+        mSampler.destroy();
+        mPfBackground.destroy();
+        mPfsBackground.destroy();
+        mPvBackground.destroy();
+        mPvOrthoAlloc.mAlloc.destroy();
+        mTexturesIDs.destroy();
+        for (Allocation a : mTextures) {
+            a.destroy();
+        }
+        mState.destroy();
+        mTextureBufferIDs = null;
+        mMesh.destroy();
+        mLight.destroy();
+        mRippleMap.destroy();
+        mRefractionMap.destroy();
+    }
+
+    @Override
+    protected void finalize() throws Throwable {
+        try {
+            destroy();
+        } finally {
+            super.finalize();
+        }
+    }
+
+    private void initRS() {
+        createProgramVertex();
+        createProgramFragmentStore();
+        createProgramFragment();
+        createMesh();
+        createScriptStructures();
+        loadTextures();
+
+        ScriptC.Builder sb = new ScriptC.Builder(mRS);
+        sb.setScript(mResources, R.raw.fall);
+        sb.setRoot(true);
+        mScript = sb.create();
+        mScript.setClearColor(0.0f, 0.0f, 0.0f, 1.0f);
+        mScript.setTimeZone(TimeZone.getDefault().getID());
+
+        mScript.bindAllocation(mState, RSID_STATE);
+        mScript.bindAllocation(mTexturesIDs, RSID_TEXTURES);
+        mScript.bindAllocation(mRippleMap, RSID_RIPPLE_MAP);
+        mScript.bindAllocation(mRefractionMap, RSID_REFRACTION_MAP);
+
+        mRS.contextBindRootScript(mScript);
+    }
+
+    private void createMesh() {
+        final RenderScript rs = mRS;
+        rs.triangleMeshBegin(Element.NORM_ST_XYZ_F32, Element.INDEX_16);
+
+        int wResolution;
+        int hResolution;
+
+        final int width = mWidth;
+        final int height = mHeight;
+
+        if (width < height) {
+            wResolution = MESH_RESOLUTION;
+            hResolution = (int) (MESH_RESOLUTION * height / (float) width);
+        } else {
+            wResolution = (int) (MESH_RESOLUTION * width / (float) height);
+            hResolution = MESH_RESOLUTION;
+        }
+
+        final float glHeight = 2.0f * height / (float) width;
+        final float quadWidth = 2.0f / (float) wResolution;
+        final float quadHeight = glHeight / (float) hResolution;
+
+        wResolution += 2;
+        hResolution += 2;        
+        
+        for (int y = 0; y <= hResolution; y++) {
+            final float yOffset = y * quadHeight - glHeight / 2.0f - quadHeight;
+            for (int x = 0; x <= wResolution; x++) {
+                rs.triangleMeshAddVertex_XYZ_ST_NORM(
+                        -1.0f + x * quadWidth - quadWidth, yOffset, 0.0f,
+                        x / (float) wResolution, y / (float) wResolution,
+                        0.0f, 0.0f, -1.0f);
+            }
+        }
+
+        for (int y = 0; y < hResolution; y++) {
+            for (int x = 0; x < wResolution; x++) {
+                final int index = y * (wResolution + 1) + x;
+                final int iWR1 = index + wResolution + 1;
+                rs.triangleMeshAddTriangle(index, index + 1, iWR1);
+                rs.triangleMeshAddTriangle(index + 1, iWR1, iWR1 + 1);
+            }
+        }
+
+        mMesh = rs.triangleMeshCreate();
+        mMesh.setName("mesh");
+
+        mMeshWidth = wResolution + 1;
+        mMeshHeight = hResolution + 1;
+    }
+
+    private void createScriptStructures() {
+        final int rippleMapSize = (mMeshWidth + 2) * (mMeshHeight + 2);
+
+        final int[] data = new int[9];
+        mState = Allocation.createSized(mRS, USER_I32, data.length);
+        data[RSID_STATE_FRAMECOUNT] = 0;
+        data[RSID_STATE_WIDTH] = mWidth;
+        data[RSID_STATE_HEIGHT] = mHeight;
+        data[RSID_STATE_MESH_WIDTH] = mMeshWidth;
+        data[RSID_STATE_MESH_HEIGHT] = mMeshHeight;
+        data[RSID_STATE_RIPPLE_MAP_SIZE] = rippleMapSize;
+        data[RSID_STATE_RIPPLE_INDEX] = 0;
+        data[RSID_STATE_DROP_X] = mMeshWidth / 2;
+        data[RSID_STATE_DROP_Y] = mMeshHeight / 2;
+        mState.data(data);
+
+        final int[] rippleMap = new int[rippleMapSize * 2];
+        mRippleMap = Allocation.createSized(mRS, USER_I32, rippleMap.length);
+
+        final int[] refractionMap = new int[513];
+        float ir = 1.0f / 1.333f;
+        for (int i = 0; i < refractionMap.length; i++) {
+            float d = (float) Math.tan(Math.asin(Math.sin(Math.atan(i * (1.0f / 256.0f))) * ir));
+            refractionMap[i] = (int) Math.floor(d * (1 << 16) + 0.5f);
+        }
+        mRefractionMap = Allocation.createSized(mRS, USER_I32, refractionMap.length);
+        mRefractionMap.data(refractionMap);
+    }
+
+    private void loadTextures() {
+        mTextureBufferIDs = new int[TEXTURES_COUNT];
+        mTextures = new Allocation[TEXTURES_COUNT];
+        mTexturesIDs = Allocation.createSized(mRS, USER_FLOAT, TEXTURES_COUNT);
+
+        final Allocation[] textures = mTextures;
+        // TOOD: Load textures
+
+        final int[] bufferIds = mTextureBufferIDs;
+        final int count = textures.length;
+
+        for (int i = 0; i < count; i++) {
+            final Allocation texture = textures[i];
+            texture.uploadToTexture(0);
+            bufferIds[i] = texture.getID();
+        }
+
+        mTexturesIDs.data(bufferIds);
+    }
+
+    private Allocation loadTexture(int id, String name) {
+        final Allocation allocation = Allocation.createFromBitmapResource(mRS, mResources,
+                id, RGB_565, false);
+        allocation.setName(name);
+        return allocation;
+    }
+
+    private Allocation loadTextureARGB(int id, String name) {
+        // Forces ARGB 32 bits, because pngcrush sometimes optimize our PNGs to
+        // indexed pictures, which are not well supported
+        final Bitmap b = BitmapFactory.decodeResource(mResources, id, mBitmapOptions);
+        final Allocation allocation = Allocation.createFromBitmap(mRS, b, RGBA_8888, false);
+        allocation.setName(name);
+        return allocation;
+    }
+
+    private void createProgramFragment() {
+        Sampler.Builder sampleBuilder = new Sampler.Builder(mRS);
+        sampleBuilder.setMin(LINEAR);
+        sampleBuilder.setMag(LINEAR);
+        sampleBuilder.setWrapS(CLAMP);
+        sampleBuilder.setWrapT(CLAMP);
+        mSampler = sampleBuilder.create();
+
+        ProgramFragment.Builder builder = new ProgramFragment.Builder(mRS, null, null);
+        builder.setTexEnable(true, 0);
+        builder.setTexEnvMode(REPLACE, 0);
+        mPfBackground = builder.create();
+        mPfBackground.setName("PFBackground");
+        mPfBackground.bindSampler(mSampler, 0);
+    }
+
+    private void createProgramFragmentStore() {
+        ProgramStore.Builder builder = new ProgramStore.Builder(mRS, null, null);
+        builder.setDepthFunc(LESS);
+        builder.setBlendFunc(BlendSrcFunc.SRC_ALPHA, BlendDstFunc.ONE_MINUS_SRC_ALPHA);
+        builder.setDitherEnable(true);
+        builder.setDepthMask(true);
+        mPfsBackground = builder.create();
+        mPfsBackground.setName("PFSBackground");
+    }
+
+    private void createProgramVertex() {
+        mPvOrthoAlloc = new ProgramVertex.MatrixAllocation(mRS);
+        mPvOrthoAlloc.setupProjectionNormalized(mWidth, mHeight);
+
+        mLight = new Light.Builder(mRS).create();
+        mLight.setPosition(0.0f, 0.0f, -1.0f);
+
+        ProgramVertex.Builder builder = new ProgramVertex.Builder(mRS, null, null);
+        builder.setTextureMatrixEnable(true);
+        builder.addLight(mLight);
+        mPvBackground = builder.create();
+        mPvBackground.bindAllocation(mPvOrthoAlloc);
+        mPvBackground.setName("PVBackground");
+    }
+
+    public void addDrop(float x, float y) {
+        mState.subData1D(RSID_STATE_DROP_X, 2, new int[] {
+                (int) ((x / mWidth) * mMeshWidth), (int) ((y / mHeight) * mMeshHeight)
+        });
+    }
+}
diff --git a/libs/rs/java/Fall/src/com/android/fall/rs/FallView.java b/libs/rs/java/Fall/src/com/android/fall/rs/FallView.java
new file mode 100644
index 0000000..bb793c8
--- /dev/null
+++ b/libs/rs/java/Fall/src/com/android/fall/rs/FallView.java
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+package com.android.fall.rs;
+
+import android.content.Context;
+import android.view.SurfaceHolder;
+import android.view.MotionEvent;
+import android.renderscript.RenderScript;
+import android.renderscript.RSSurfaceView;
+
+class FallView extends RSSurfaceView {
+    private FallRS mRender;
+
+    public FallView(Context context) {
+        super(context);
+    }
+
+    public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
+        super.surfaceChanged(holder, format, w, h);
+
+        RenderScript RS = createRenderScript();
+        mRender = new FallRS(w, h);
+        mRender.init(RS, getResources());
+    }
+
+    @Override
+    public void surfaceDestroyed(SurfaceHolder holder) {
+        if (mRender != null) mRender.destroy();
+    }
+
+    @Override
+    public boolean onTouchEvent(MotionEvent event) {
+        switch (event.getAction()) {
+            case MotionEvent.ACTION_DOWN:
+            case MotionEvent.ACTION_MOVE:
+                mRender.addDrop(event.getX(), event.getY());
+                try {
+                    Thread.sleep(16);
+                } catch (InterruptedException e) {
+                    // Ignore
+                }
+                break;
+        }
+        return true;
+    }
+}
diff --git a/libs/rs/java/Film/res/raw/filmstrip.c b/libs/rs/java/Film/res/raw/filmstrip.c
index ac694ab..4e7c37a 100644
--- a/libs/rs/java/Film/res/raw/filmstrip.c
+++ b/libs/rs/java/Film/res/raw/filmstrip.c
@@ -3,16 +3,7 @@
 #pragma version(1)
 #pragma stateVertex(PVBackground)
 #pragma stateFragment(PFBackground)
-#pragma stateFragmentStore(PFSBackground)
-
-/*
-typedef struct FilmScriptUserEnvRec {
-    RsAllocation tex[13];
-    int32_t triangleOffsets[64];
-    float triangleOffsetsTex[64];
-    int32_t triangleOffsetsCount;
-} FilmScriptUserEnv;
-*/
+#pragma stateFragmentStore(PSBackground)
 
 #define POS_TRANSLATE 0
 #define POS_ROTATE 1
@@ -29,25 +20,22 @@
 
 int main(int index)
 {
-    int f1,f2,f3,f4, f5,f6,f7,f8, f9,f10,f11,f12, f13,f14,f15,f16;
-    int g1,g2,g3,g4, g5,g6,g7,g8, g9,g10,g11,g12, g13,g14,g15,g16;
+    float mat1[16];
 
     float trans = loadF(1, POS_TRANSLATE);
     float rot = loadF(1, POS_ROTATE);
-    matrixLoadScale(&f16, 2.f, 2.f, 2.f);
-    matrixTranslate(&f16, 0.f, 0.f, trans);
-    matrixRotate(&f16, 90.f, 0.f, 0.f, 1.f);
-    matrixRotate(&f16, rot, 1.f, 0.f, 0.f);
-    storeMatrix(3, 0, &f16);
+    matrixLoadScale(mat1, 2.f, 2.f, 2.f);
+    matrixTranslate(mat1, 0.f, 0.f, trans);
+    matrixRotate(mat1, 90.f, 0.f, 0.f, 1.f);
+    matrixRotate(mat1, rot, 1.f, 0.f, 0.f);
+    storeMatrix(3, 0, mat1);
 
-    //materialDiffuse(con, 0.0f, 0.0f, 0.0f, 1.0f);
-    //materialSpecular(con, 0.5f, 0.5f, 0.5f, 0.5f);
-    //materialShininess(intToFloat(20));
+    // Draw the lighting effect in the strip and fill the Z buffer.
     drawTriangleMesh(NAMED_mesh);
 
 
     // Start of images.
-    bindProgramFragmentStore(NAMED_PFSImages);
+    bindProgramFragmentStore(NAMED_PSImages);
     bindProgramFragment(NAMED_PFImages);
     bindProgramVertex(NAMED_PVImages);
 
@@ -108,8 +96,8 @@
             }
 
             bindTexture(NAMED_PFImages, 0, loadI32(0, imgId - 1));
-            matrixLoadTranslate(&f16, -pos - loadF(5, triangleOffsetsCount / 2), 0, 0);
-            vpLoadTextureMatrix(&f16);
+            matrixLoadTranslate(mat1, -pos - loadF(5, triangleOffsetsCount / 2), 0, 0);
+            vpLoadTextureMatrix(mat1);
             drawTriangleMeshRange(NAMED_mesh, loadI32(4, start), loadI32(4, end) - loadI32(4, start));
         }
     }
diff --git a/libs/rs/java/Film/src/com/android/film/FilmRS.java b/libs/rs/java/Film/src/com/android/film/FilmRS.java
index eda7624..74f88c4 100644
--- a/libs/rs/java/Film/src/com/android/film/FilmRS.java
+++ b/libs/rs/java/Film/src/com/android/film/FilmRS.java
@@ -24,11 +24,17 @@
 import android.util.Log;
 
 import android.renderscript.Matrix;
-import android.renderscript.ProgramVertexAlloc;
+import android.renderscript.ProgramVertex;
 import android.renderscript.RenderScript;
 import android.renderscript.Element;
 import android.renderscript.Allocation;
 import android.renderscript.Dimension;
+import android.renderscript.ScriptC;
+import android.renderscript.Script;
+import android.renderscript.ProgramFragment;
+import android.renderscript.ProgramStore;
+import android.renderscript.Sampler;
+import android.renderscript.Light;
 
 public class FilmRS {
     private final int POS_TRANSLATE = 0;
@@ -66,18 +72,18 @@
 
     private Resources mRes;
     private RenderScript mRS;
-    private RenderScript.Script mScriptStrip;
-    private RenderScript.Script mScriptImage;
+    private Script mScriptStrip;
+    private Script mScriptImage;
     private Element mElementVertex;
     private Element mElementIndex;
-    private RenderScript.Sampler mSampler;
-    private RenderScript.ProgramFragmentStore mPFSBackground;
-    private RenderScript.ProgramFragmentStore mPFSImages;
-    private RenderScript.ProgramFragment mPFBackground;
-    private RenderScript.ProgramFragment mPFImages;
-    private RenderScript.ProgramVertex mPVBackground;
-    private RenderScript.ProgramVertex mPVImages;
-    private ProgramVertexAlloc mPVA;
+    private Sampler mSampler;
+    private ProgramStore mPSBackground;
+    private ProgramStore mPSImages;
+    private ProgramFragment mPFBackground;
+    private ProgramFragment mPFImages;
+    private ProgramVertex mPVBackground;
+    private ProgramVertex mPVImages;
+    private ProgramVertex.MatrixAllocation mPVA;
 
     private Allocation mImages[];
     private Allocation mAllocIDs;
@@ -88,7 +94,7 @@
     private Allocation mAllocOffsets;
 
     private RenderScript.TriangleMesh mMesh;
-    private RenderScript.Light mLight;
+    private Light mLight;
 
     private FilmStripMesh mFSM;
 
@@ -97,61 +103,55 @@
     private int[] mBufferState;
 
     private void initPFS() {
-        mRS.programFragmentStoreBegin(null, null);
-        mRS.programFragmentStoreDepthFunc(RenderScript.DepthFunc.LESS);
-        mRS.programFragmentStoreDitherEnable(true);
-        mRS.programFragmentStoreDepthMask(true);
-        mPFSBackground = mRS.programFragmentStoreCreate();
-        mPFSBackground.setName("PFSBackground");
+        ProgramStore.Builder b = new ProgramStore.Builder(mRS, null, null);
 
-        mRS.programFragmentStoreBegin(null, null);
-        mRS.programFragmentStoreDepthFunc(RenderScript.DepthFunc.EQUAL);
-        mRS.programFragmentStoreDitherEnable(false);
-        mRS.programFragmentStoreDepthMask(false);
-        mRS.programFragmentStoreBlendFunc(RenderScript.BlendSrcFunc.ONE,
-                                          RenderScript.BlendDstFunc.ONE);
-        mPFSImages = mRS.programFragmentStoreCreate();
-        mPFSImages.setName("PFSImages");
+        b.setDepthFunc(ProgramStore.DepthFunc.LESS);
+        b.setDitherEnable(true);
+        b.setDepthMask(true);
+        mPSBackground = b.create();
+        mPSBackground.setName("PSBackground");
+
+        b.setDepthFunc(ProgramStore.DepthFunc.EQUAL);
+        b.setDitherEnable(false);
+        b.setDepthMask(false);
+        b.setBlendFunc(ProgramStore.BlendSrcFunc.ONE,
+                       ProgramStore.BlendDstFunc.ONE);
+        mPSImages = b.create();
+        mPSImages.setName("PSImages");
     }
 
     private void initPF() {
-        mRS.samplerBegin();
-        mRS.samplerSet(RenderScript.SamplerParam.FILTER_MIN,
-                       RenderScript.SamplerValue.LINEAR);//_MIP_LINEAR);
-        mRS.samplerSet(RenderScript.SamplerParam.FILTER_MAG,
-                       RenderScript.SamplerValue.LINEAR);
-        mRS.samplerSet(RenderScript.SamplerParam.WRAP_MODE_S,
-                       RenderScript.SamplerValue.CLAMP);
-        mRS.samplerSet(RenderScript.SamplerParam.WRAP_MODE_T,
-                       RenderScript.SamplerValue.WRAP);
-        mSampler = mRS.samplerCreate();
+        Sampler.Builder bs = new Sampler.Builder(mRS);
+        bs.setMin(Sampler.Value.LINEAR);//_MIP_LINEAR);
+        bs.setMag(Sampler.Value.LINEAR);
+        bs.setWrapS(Sampler.Value.CLAMP);
+        bs.setWrapT(Sampler.Value.WRAP);
+        mSampler = bs.create();
 
+        ProgramFragment.Builder b = new ProgramFragment.Builder(mRS, null, null);
 
-        mRS.programFragmentBegin(null, null);
-        mPFBackground = mRS.programFragmentCreate();
+        mPFBackground = b.create();
         mPFBackground.setName("PFBackground");
 
-        mRS.programFragmentBegin(null, null);
-        mRS.programFragmentSetTexEnable(0, true);
-        mRS.programFragmentSetTexEnvMode(0, RenderScript.EnvMode.REPLACE);
-        mPFImages = mRS.programFragmentCreate();
+        b.setTexEnable(true, 0);
+        b.setTexEnvMode(ProgramFragment.EnvMode.REPLACE, 0);
+        mPFImages = b.create();
         mPFImages.bindSampler(mSampler, 0);
         mPFImages.setName("PFImages");
     }
 
     private void initPV() {
-        mRS.lightBegin();
-        mLight = mRS.lightCreate();
+        mLight = (new Light.Builder(mRS)).create();
         mLight.setPosition(0, -0.5f, -1.0f);
 
-        mRS.programVertexBegin(null, null);
-        mRS.programVertexAddLight(mLight);
-        mPVBackground = mRS.programVertexCreate();
+        ProgramVertex.Builder pvb = new ProgramVertex.Builder(mRS, null, null);
+        pvb.addLight(mLight);
+        mPVBackground = pvb.create();
         mPVBackground.setName("PVBackground");
 
-        mRS.programVertexBegin(null, null);
-        mRS.programVertexSetTextureMatrixEnable(true);
-        mPVImages = mRS.programVertexCreate();
+        pvb = new ProgramVertex.Builder(mRS, null, null);
+        pvb.setTextureMatrixEnable(true);
+        mPVImages = pvb.create();
         mPVImages.setName("PVImages");
     }
 
@@ -227,11 +227,11 @@
 
         Log.e("rs", "Done loading named");
 
-        mRS.scriptCBegin();
-        mRS.scriptCSetClearColor(0.0f, 0.0f, 0.0f, 1.0f);
-        mRS.scriptCSetScript(mRes, R.raw.filmstrip);
-        mRS.scriptCSetRoot(true);
-        mScriptStrip = mRS.scriptCCreate();
+        ScriptC.Builder sb = new ScriptC.Builder(mRS);
+        sb.setScript(mRes, R.raw.filmstrip);
+        sb.setRoot(true);
+        mScriptStrip = sb.create();
+        mScriptStrip.setClearColor(0.0f, 0.0f, 0.0f, 1.0f);
 
         mAllocPos = Allocation.createSized(mRS,
             Element.USER_FLOAT, mBufferPos.length);
@@ -239,9 +239,9 @@
         loadImages();
         initState();
 
-        mPVA = new ProgramVertexAlloc(mRS);
-        mPVBackground.bindAllocation(0, mPVA.mAlloc);
-        mPVImages.bindAllocation(0, mPVA.mAlloc);
+        mPVA = new ProgramVertex.MatrixAllocation(mRS);
+        mPVBackground.bindAllocation(mPVA);
+        mPVImages.bindAllocation(mPVA);
         mPVA.setupProjectionNormalized(320, 480);
 
 
diff --git a/libs/rs/java/Fountain/src/com/android/fountain/FountainRS.java b/libs/rs/java/Fountain/src/com/android/fountain/FountainRS.java
index 7123bf7..4826879 100644
--- a/libs/rs/java/Fountain/src/com/android/fountain/FountainRS.java
+++ b/libs/rs/java/Fountain/src/com/android/fountain/FountainRS.java
@@ -26,9 +26,13 @@
 import android.util.Log;
 
 import android.renderscript.RenderScript;
-import android.renderscript.ProgramVertexAlloc;
+import android.renderscript.ProgramVertex;
 import android.renderscript.Element;
 import android.renderscript.Allocation;
+import android.renderscript.Script;
+import android.renderscript.ScriptC;
+import android.renderscript.ProgramFragment;
+import android.renderscript.ProgramStore;
 
 public class FountainRS {
 
@@ -57,9 +61,9 @@
     private Allocation mIntAlloc;
     private Allocation mPartAlloc;
     private Allocation mVertAlloc;
-    private RenderScript.Script mScript;
-    private RenderScript.ProgramFragmentStore mPFS;
-    private RenderScript.ProgramFragment mPF;
+    private Script mScript;
+    private ProgramStore mPFS;
+    private ProgramFragment mPF;
 
     private Bitmap mBackground;
 
@@ -73,16 +77,16 @@
         mPartAlloc.setName("PartBuffer");
         mVertAlloc = Allocation.createSized(mRS, Element.USER_I32, partCount * 5 + 1);
 
-        mRS.programFragmentStoreBegin(null, null);
-        mRS.programFragmentStoreBlendFunc(RenderScript.BlendSrcFunc.SRC_ALPHA, RenderScript.BlendDstFunc.ONE);
-        mRS.programFragmentStoreDepthFunc(RenderScript.DepthFunc.ALWAYS);
-        mRS.programFragmentStoreDepthMask(false);
-        mRS.programFragmentStoreDitherEnable(false);
-        mPFS = mRS.programFragmentStoreCreate();
+        ProgramStore.Builder bs = new ProgramStore.Builder(mRS, null, null);
+        bs.setBlendFunc(ProgramStore.BlendSrcFunc.SRC_ALPHA, ProgramStore.BlendDstFunc.ONE);
+        bs.setDepthFunc(ProgramStore.DepthFunc.ALWAYS);
+        bs.setDepthMask(false);
+        bs.setDitherEnable(false);
+        mPFS = bs.create();
         mPFS.setName("PFSBlend");
 
-        mRS.programFragmentBegin(null, null);
-        mPF = mRS.programFragmentCreate();
+        ProgramFragment.Builder bf = new ProgramFragment.Builder(mRS, null, null);
+        mPF = bf.create();
         mPF.setName("PgmFragParts");
 
         mParams[0] = 0;
@@ -98,11 +102,11 @@
         }
         mPartAlloc.data(t2);
 
-        mRS.scriptCBegin();
-        mRS.scriptCSetClearColor(0.0f, 0.0f, 0.0f, 1.0f);
-        mRS.scriptCSetScript(mRes, R.raw.fountain);
-        mRS.scriptCSetRoot(true);
-        mScript = mRS.scriptCCreate();
+        ScriptC.Builder sb = new ScriptC.Builder(mRS);
+        sb.setScript(mRes, R.raw.fountain);
+        sb.setRoot(true);
+        mScript = sb.create();
+        mScript.setClearColor(0.0f, 0.0f, 0.0f, 1.0f);
 
         mScript.bindAllocation(mIntAlloc, 0);
         mScript.bindAllocation(mPartAlloc, 1);
diff --git a/libs/rs/java/Grass/res/drawable-hdpi/aa.png b/libs/rs/java/Grass/res/drawable-hdpi/aa.png
deleted file mode 100644
index 34cd891..0000000
--- a/libs/rs/java/Grass/res/drawable-hdpi/aa.png
+++ /dev/null
Binary files differ
diff --git a/libs/rs/java/Grass/res/drawable-hdpi/night.jpg b/libs/rs/java/Grass/res/drawable-hdpi/night.jpg
index 9989abf..77cd7f4 100644
--- a/libs/rs/java/Grass/res/drawable-hdpi/night.jpg
+++ b/libs/rs/java/Grass/res/drawable-hdpi/night.jpg
Binary files differ
diff --git a/libs/rs/java/Grass/res/raw/grass.c b/libs/rs/java/Grass/res/raw/grass.c
index f6dae81..59c6d9a 100644
--- a/libs/rs/java/Grass/res/raw/grass.c
+++ b/libs/rs/java/Grass/res/raw/grass.c
@@ -17,12 +17,11 @@
 #pragma stateFragment(PFBackground)
 #pragma stateFragmentStore(PFSBackground)
 
-#define WVGA_PORTRAIT_WIDTH 480.0f
-#define WVGA_PORTRAIT_HEIGHT 762.0f
-
 #define RSID_STATE 0
 #define RSID_FRAME_COUNT 0
 #define RSID_BLADES_COUNT 1
+#define RSID_WIDTH 2
+#define RSID_HEIGHT 3
 
 #define RSID_TEXTURES 1
 #define RSID_SKY_TEXTURE_NIGHT 0
@@ -33,7 +32,7 @@
 
 #define RSID_BLADES 2
 #define BLADE_STRUCT_FIELDS_COUNT 12
-#define BLADE_STRUCT_DEGREE 0
+#define BLADE_STRUCT_ANGLE 0
 #define BLADE_STRUCT_SIZE 1
 #define BLADE_STRUCT_XPOS 2
 #define BLADE_STRUCT_YPOS 3
@@ -46,7 +45,9 @@
 #define BLADE_STRUCT_S 10
 #define BLADE_STRUCT_B 11
 
-#define TESSELATION 4.0f
+#define TESSELATION 2.0f
+
+#define MAX_BEND 0.09f
 
 #define MIDNIGHT 0.0f
 #define MORNING 0.375f
@@ -70,44 +71,44 @@
     color(1.0f, 1.0f, 1.0f, a);
 }
 
-void drawNight() {
-    bindTexture(NAMED_PFBackground, 0, loadI32(RSID_TEXTURES, RSID_SKY_TEXTURE_NIGHT));
-    // NOTE: Hacky way to draw the night sky
-    drawRect(WVGA_PORTRAIT_WIDTH - 512.0f, -32.0f, WVGA_PORTRAIT_WIDTH, 1024.0f - 32.0f, 0.0f);
+void drawNight(int width, int height) {
+    bindTexture(NAMED_PFBackground, 0, NAMED_TNight);
+    drawRect(width - 512.0f, -32.0f, width, 1024.0f - 32.0f, 0.0f);
 }
 
-void drawSunrise() {
-    bindTexture(NAMED_PFBackground, 0, loadI32(RSID_TEXTURES, RSID_SKY_TEXTURE_SUNRISE));
-    drawRect(0.0f, 0.0f, WVGA_PORTRAIT_WIDTH, WVGA_PORTRAIT_HEIGHT, 0.0f);
+void drawSunrise(int width, int height) {
+    bindTexture(NAMED_PFBackground, 0, NAMED_TSunrise);
+    drawRect(0.0f, 0.0f, width, height, 0.0f);
 }
 
-void drawNoon() {
-    bindTexture(NAMED_PFBackground, 0, loadI32(RSID_TEXTURES, RSID_SKY_TEXTURE_NOON));
-    drawRect(0.0f, 0.0f, WVGA_PORTRAIT_WIDTH, WVGA_PORTRAIT_HEIGHT, 0.0f);
+void drawNoon(int width, int height) {
+    bindTexture(NAMED_PFBackground, 0, NAMED_TSky);
+    drawRect(0.0f, 0.0f, width, height, 0.0f);
 }
 
-void drawSunset() {
-    bindTexture(NAMED_PFBackground, 0, loadI32(RSID_TEXTURES, RSID_SKY_TEXTURE_SUNSET));
-    drawRect(0.0f, 0.0f, WVGA_PORTRAIT_WIDTH, WVGA_PORTRAIT_HEIGHT, 0.0f);
+void drawSunset(int width, int height) {
+    bindTexture(NAMED_PFBackground, 0, NAMED_TSunset);
+    drawRect(0.0f, 0.0f, width, height, 0.0f);
 }
 
-void drawBlade(int index, float now) {
-    float offset = loadF(RSID_BLADES, index + BLADE_STRUCT_OFFSET);
-    float scale = loadF(RSID_BLADES, index + BLADE_STRUCT_SCALE);
-    float degree = loadF(RSID_BLADES, index + BLADE_STRUCT_DEGREE);
-    float hardness = loadF(RSID_BLADES, index + BLADE_STRUCT_HARDNESS);
+void drawBlade(int index, float now, int frameCount) {
+    float *bladeStruct = loadArrayF(RSID_BLADES, index);
+    float offset = bladeStruct[BLADE_STRUCT_OFFSET];
+    float scale = bladeStruct[BLADE_STRUCT_SCALE];
+    float angle = bladeStruct[BLADE_STRUCT_ANGLE];
+    float hardness = bladeStruct[BLADE_STRUCT_HARDNESS];
     
-    float xpos = loadF(RSID_BLADES, index + BLADE_STRUCT_XPOS);
-    float ypos = loadF(RSID_BLADES, index + BLADE_STRUCT_YPOS);
+    float xpos = bladeStruct[BLADE_STRUCT_XPOS];
+    float ypos = bladeStruct[BLADE_STRUCT_YPOS];
 
-    float lengthX = loadF(RSID_BLADES, index + BLADE_STRUCT_LENGTHX);
-    float lengthY = loadF(RSID_BLADES, index + BLADE_STRUCT_LENGTHY);
+    float lengthX = bladeStruct[BLADE_STRUCT_LENGTHX];
+    float lengthY = bladeStruct[BLADE_STRUCT_LENGTHY];
 
-    int size = loadF(RSID_BLADES, index + BLADE_STRUCT_SIZE);
+    int size = bladeStruct[BLADE_STRUCT_SIZE];
 
-    float h = loadF(RSID_BLADES, index + BLADE_STRUCT_H);
-    float s = loadF(RSID_BLADES, index + BLADE_STRUCT_S);
-    float b = loadF(RSID_BLADES, index + BLADE_STRUCT_B);
+    float h = bladeStruct[BLADE_STRUCT_H];
+    float s = bladeStruct[BLADE_STRUCT_S];
+    float b = bladeStruct[BLADE_STRUCT_B];
 
     float newB = 1.0f;
     if (now >= MIDNIGHT && now < MORNING) {
@@ -124,82 +125,82 @@
 
     hsb(h, s, lerpf(0, b, newB), 1.0f);
 
-    float targetDegree = 0.0f; // TODO Compute
-    degree += (targetDegree - degree) * 0.3f;
+    float newAngle = turbulencef2(xpos * 0.006f, frameCount * 0.006f, 4.0f) - 0.5f;
+    newAngle /= 2.0f;
+    angle = clampf(angle + (newAngle + offset - angle) * 0.15f, -MAX_BEND, MAX_BEND);
 
-    float angle = PI / 2.0f;
+    float currentAngle = PI / 2.0f;
 
-    float currentX = xpos;
-    float currentY = ypos;
+    float bottomX = xpos;
+    float bottomY = ypos;
 
     int i = size * TESSELATION;
     float lx = lengthX / TESSELATION;
     float ly = lengthY / TESSELATION;
-    float ss = 2.0f / i + scale / TESSELATION;
-    float sh = 0.7f / TESSELATION;
+    float ss = 4.0f / i + scale / TESSELATION;
+    float sh = 0.5f / TESSELATION;
+    float d = angle * hardness / TESSELATION;
 
     for ( ; i > 0; i--) {
-        float nextX = currentX - cosf(angle) * size * lx;
-        float nextY = currentY - sinf(angle) * size * ly;
-        angle += degree * hardness;
+        float topX = bottomX - cosf(currentAngle) * size * lx;
+        float topY = bottomY - sinf(currentAngle) * size * ly;
+        currentAngle += d;
 
-        drawQuad(nextX + (i - 1) * ss, nextY, 0.0f,
-                 nextX - (i - 1) * ss, nextY, 0.0f,
-                 currentX - i * ss, currentY + sh, 0.0f,
-                 currentX + i * ss, currentY + sh, 0.0f);
+        float spi = (i - 1) * ss;
+        float si = i * ss;
 
-        currentX = nextX;
-        currentY = nextY;
+        drawQuad(topX + spi, topY, 0.0f,
+                 topX - spi, topY, 0.0f,
+                 bottomX - si, bottomY + sh, 0.0f,
+                 bottomX + si, bottomY + sh, 0.0f);
+
+        bottomX = topX;
+        bottomY = topY;
     }
-    
-    storeF(RSID_BLADES, index + BLADE_STRUCT_DEGREE, degree);
+
+    storeF(RSID_BLADES, index + BLADE_STRUCT_ANGLE, angle);
 }
 
-void drawBlades(float now) {
+void drawBlades(float now, int frameCount) {
     // For anti-aliasing
-    bindProgramFragmentStore(NAMED_PFSGrass);
-    bindProgramFragment(NAMED_PFGrass);
-    bindTexture(NAMED_PFGrass, 0, loadI32(RSID_TEXTURES, RSID_GRASS_TEXTURE));
+    bindTexture(NAMED_PFBackground, 0, NAMED_TAa);
 
     int bladesCount = loadI32(RSID_STATE, RSID_BLADES_COUNT);
     int count = bladesCount * BLADE_STRUCT_FIELDS_COUNT;
 
     int i = 0;
     for ( ; i < count; i += BLADE_STRUCT_FIELDS_COUNT) {
-        drawBlade(i, now);
+        drawBlade(i, now, frameCount);
     }
 }
 
 int main(int launchID) {
+    int width = loadI32(RSID_STATE, RSID_WIDTH);
+    int height = loadI32(RSID_STATE, RSID_HEIGHT);
+
     int frameCount = loadI32(RSID_STATE, RSID_FRAME_COUNT);
     float now = time(frameCount);
     alpha(1.0f);
 
     if (now >= MIDNIGHT && now < MORNING) {
-        drawNight();
+        drawNight(width, height);
         alpha(normf(MIDNIGHT, MORNING, now));
-        drawSunrise();
-    }
-    
-    if (now >= MORNING && now < AFTERNOON) {
-        drawSunrise();
+        drawSunrise(width, height);
+    } else if (now >= MORNING && now < AFTERNOON) {
+        drawSunrise(width, height);
         alpha(normf(MORNING, AFTERNOON, now));
-        drawNoon();
-    }
-
-    if (now >= AFTERNOON && now < DUSK) {
-        drawNoon();
+        drawNoon(width, height);
+    } else if (now >= AFTERNOON && now < DUSK) {
+        drawNoon(width, height);
         alpha(normf(AFTERNOON, DUSK, now));
-        drawSunset();
-    }
-    
-    if (now >= DUSK) {
-        drawNight();
+        drawSunset(width, height);
+    } else if (now >= DUSK) {
+        drawNight(width, height);
         alpha(1.0f - normf(DUSK, 1.0f, now));
-        drawSunset();
+        drawSunset(width, height);
     }
 
-    drawBlades(now);
+    drawBlades(now, frameCount);
 
     frameCount++;
     storeI32(RSID_STATE, RSID_FRAME_COUNT, frameCount);
diff --git a/libs/rs/java/Grass/src/com/android/grass/rs/GrassRS.java b/libs/rs/java/Grass/src/com/android/grass/rs/GrassRS.java
index cf7affc..6c17967 100644
--- a/libs/rs/java/Grass/src/com/android/grass/rs/GrassRS.java
+++ b/libs/rs/java/Grass/src/com/android/grass/rs/GrassRS.java
@@ -17,20 +17,22 @@
 package com.android.grass.rs;
 
 import android.content.res.Resources;
-import static android.renderscript.RenderScript.SamplerParam.*;
-import static android.renderscript.RenderScript.SamplerValue.*;
-import static android.renderscript.RenderScript.EnvMode.*;
-import static android.renderscript.RenderScript.DepthFunc.*;
-import static android.renderscript.RenderScript.BlendSrcFunc;
-import static android.renderscript.RenderScript.BlendDstFunc;
+import android.renderscript.Sampler;
+import static android.renderscript.ProgramFragment.EnvMode.*;
+import static android.renderscript.ProgramStore.DepthFunc.*;
+import static android.renderscript.ProgramStore.BlendSrcFunc;
+import static android.renderscript.ProgramStore.BlendDstFunc;
 import android.renderscript.RenderScript;
+import android.renderscript.ProgramFragment;
+import android.renderscript.ProgramStore;
 import android.renderscript.Allocation;
-import android.renderscript.ProgramVertexAlloc;
+import android.renderscript.ProgramVertex;
 import static android.renderscript.Element.*;
-
 import static android.util.MathUtils.*;
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
+import android.renderscript.ScriptC;
+import android.renderscript.Type;
+import android.renderscript.Dimension;
+import static android.renderscript.Sampler.Value.*;
 
 import java.util.TimeZone;
 
@@ -38,14 +40,16 @@
     private static final int RSID_STATE = 0;
     private static final int RSID_STATE_FRAMECOUNT = 0;
     private static final int RSID_STATE_BLADES_COUNT = 1;
+    private static final int RSID_STATE_WIDTH = 2;
+    private static final int RSID_STATE_HEIGHT = 3;
 
-    private static final int RSID_SKY_TEXTURES = 1;
-    private static final int SKY_TEXTURES_COUNT = 5;
-    
-    private static final int RSID_BLADES = 2;    
+    private static final int RSID_TEXTURES = 1;
+    private static final int TEXTURES_COUNT = 5;
+
+    private static final int RSID_BLADES = 2;
     private static final int BLADES_COUNT = 100;
     private static final int BLADE_STRUCT_FIELDS_COUNT = 12;
-    private static final int BLADE_STRUCT_DEGREE = 0;
+    private static final int BLADE_STRUCT_ANGLE = 0;
     private static final int BLADE_STRUCT_SIZE = 1;
     private static final int BLADE_STRUCT_XPOS = 2;
     private static final int BLADE_STRUCT_YPOS = 3;
@@ -57,47 +61,30 @@
     private static final int BLADE_STRUCT_H = 9;
     private static final int BLADE_STRUCT_S = 10;
     private static final int BLADE_STRUCT_B = 11;
-    
+
     private Resources mResources;
     private RenderScript mRS;
-    private final BitmapFactory.Options mBitmapOptions = new BitmapFactory.Options();
-    
+
     private final int mWidth;
     private final int mHeight;
 
-    @SuppressWarnings({"FieldCanBeLocal"})
-    private RenderScript.Script mScript;
-    @SuppressWarnings({"FieldCanBeLocal"})
-    private RenderScript.Sampler mSampler;
-    @SuppressWarnings({"FieldCanBeLocal"})
-    private RenderScript.ProgramFragment mPfBackground;
-    @SuppressWarnings({"FieldCanBeLocal"})
-    private RenderScript.ProgramFragmentStore mPfsBackground;
-    @SuppressWarnings({"FieldCanBeLocal"})
-    private RenderScript.ProgramVertex mPvBackground;    
-    @SuppressWarnings({"FieldCanBeLocal"})
-    private ProgramVertexAlloc mPvOrthoAlloc;
+    private ScriptC mScript;
+    private Sampler mSampler;
+    private ProgramFragment mPfBackground;
+    private ProgramStore mPfsBackground;
+    private ProgramVertex mPvBackground;
+    private ProgramVertex.MatrixAllocation mPvOrthoAlloc;
 
-    @SuppressWarnings({"FieldCanBeLocal"})
     private Allocation mTexturesIDs;
-    @SuppressWarnings({"FieldCanBeLocal"})
     private Allocation[] mTextures;
-    @SuppressWarnings({"FieldCanBeLocal"})
     private int[] mTextureBufferIDs;
-    @SuppressWarnings({"FieldCanBeLocal"})
+
     private Allocation mState;
-    @SuppressWarnings({"FieldCanBeLocal"})
     private Allocation mBlades;
-    @SuppressWarnings({"FieldCanBeLocal"})
-    private RenderScript.ProgramFragment mPfGrass;
-    @SuppressWarnings({"FieldCanBeLocal"})
-    private RenderScript.ProgramFragmentStore mPfsGrass;
 
     public GrassRS(int width, int height) {
         mWidth = width;
         mHeight = height;
-        mBitmapOptions.inScaled = false;
-        mBitmapOptions.inPreferredConfig = Bitmap.Config.ARGB_8888;
     }
 
     public void init(RenderScript rs, Resources res) {
@@ -106,33 +93,59 @@
         initRS();
     }
 
+    public void destroy() {
+        mScript.destroy();
+        mSampler.destroy();
+        mPfBackground.destroy();
+        mPfsBackground.destroy();
+        mPvBackground.destroy();
+        mPvOrthoAlloc.mAlloc.destroy();
+        mTexturesIDs.destroy();
+        for (Allocation a : mTextures) {
+            a.destroy();
+        }
+        mState.destroy();
+        mBlades.destroy();
+        mTextureBufferIDs = null;
+    }
+
+    @Override
+    protected void finalize() throws Throwable {
+        try {
+            destroy();
+        } finally {
+            super.finalize();
+        }
+    }
+
     private void initRS() {
         createProgramVertex();
         createProgramFragmentStore();
         createProgramFragment();
         createScriptStructures();
+        loadTextures();
 
-        mRS.scriptCBegin();
-        mRS.scriptCSetClearColor(0.0f, 0.0f, 0.0f, 1.0f);
-        mRS.scriptCSetScript(mResources, R.raw.grass);
-        mRS.scriptCSetTimeZone(TimeZone.getDefault().getID());
-        mRS.scriptCSetRoot(true);
+        ScriptC.Builder sb = new ScriptC.Builder(mRS);
+        sb.setScript(mResources, R.raw.grass);
+        sb.setRoot(true);
+        mScript = sb.create();
+        mScript.setClearColor(0.0f, 0.0f, 0.0f, 1.0f);
+        mScript.setTimeZone(TimeZone.getDefault().getID());
 
-        mScript = mRS.scriptCCreate();
-
-        loadSkyTextures();
         mScript.bindAllocation(mState, RSID_STATE);
-        mScript.bindAllocation(mTexturesIDs, RSID_SKY_TEXTURES);
+        mScript.bindAllocation(mTexturesIDs, RSID_TEXTURES);
         mScript.bindAllocation(mBlades, RSID_BLADES);
 
         mRS.contextBindRootScript(mScript);
     }
 
     private void createScriptStructures() {
-        final int[] data = new int[2];
+        final int[] data = new int[4];
         mState = Allocation.createSized(mRS, USER_I32, data.length);
         data[RSID_STATE_FRAMECOUNT] = 0;
         data[RSID_STATE_BLADES_COUNT] = BLADES_COUNT;
+        data[RSID_STATE_WIDTH] = mWidth;
+        data[RSID_STATE_HEIGHT] = mHeight;
         mState.data(data);
 
         final float[] blades = new float[BLADES_COUNT * BLADE_STRUCT_FIELDS_COUNT];
@@ -145,7 +158,7 @@
 
     private void createBlade(float[] blades, int index) {
         //noinspection PointlessArithmeticExpression
-        blades[index + BLADE_STRUCT_DEGREE] = 0.0f;
+        blades[index + BLADE_STRUCT_ANGLE] = 0.0f;
         blades[index + BLADE_STRUCT_SIZE] = random(4.0f) + 4.0f;
         blades[index + BLADE_STRUCT_XPOS] = random(mWidth);
         blades[index + BLADE_STRUCT_YPOS] = mHeight;
@@ -159,17 +172,17 @@
         blades[index + BLADE_STRUCT_B] = random(0.65f) + 0.35f;
     }
 
-    private void loadSkyTextures() {
-        mTextureBufferIDs = new int[SKY_TEXTURES_COUNT];
-        mTextures = new Allocation[SKY_TEXTURES_COUNT];
-        mTexturesIDs = Allocation.createSized(mRS, USER_FLOAT, SKY_TEXTURES_COUNT);
+    private void loadTextures() {
+        mTextureBufferIDs = new int[TEXTURES_COUNT];
+        mTextures = new Allocation[TEXTURES_COUNT];
+        mTexturesIDs = Allocation.createSized(mRS, USER_FLOAT, TEXTURES_COUNT);
 
         final Allocation[] textures = mTextures;
-        textures[0] = loadTexture(R.drawable.night, "night");
-        textures[1] = loadTexture(R.drawable.sunrise, "sunrise");
-        textures[2] = loadTexture(R.drawable.sky, "sky");
-        textures[3] = loadTexture(R.drawable.sunset, "sunset");
-        textures[4] = loadTextureARGB(R.drawable.aa, "aa");
+        textures[0] = loadTexture(R.drawable.night, "TNight");
+        textures[1] = loadTexture(R.drawable.sunrise, "TSunrise");
+        textures[2] = loadTexture(R.drawable.sky, "TSky");
+        textures[3] = loadTexture(R.drawable.sunset, "TSunset");
+        textures[4] = generateTextureAlpha(4, 1, new int[] { 0x00FFFF00 }, "TAa");
 
         final int[] bufferIds = mTextureBufferIDs;
         final int count = textures.length;
@@ -183,71 +196,61 @@
         mTexturesIDs.data(bufferIds);
     }
 
+    private Allocation generateTextureAlpha(int width, int height, int[] data, String name) {
+        final Type.Builder builder = new Type.Builder(mRS, A_8);
+        builder.add(Dimension.X, width);
+        builder.add(Dimension.Y, height);
+        
+        final Allocation allocation = Allocation.createTyped(mRS, builder.create());
+        allocation.data(data);
+        allocation.setName(name);
+        return allocation;
+    }
+
     private Allocation loadTexture(int id, String name) {
         final Allocation allocation = Allocation.createFromBitmapResource(mRS, mResources,
                 id, RGB_565, false);
         allocation.setName(name);
         return allocation;
     }
-    
-    private Allocation loadTextureARGB(int id, String name) {
-        // Forces ARGB 32 bits, because pngcrush sometimes optimize our PNGs to
-        // indexed pictures, which are not well supported
-        final Bitmap b = BitmapFactory.decodeResource(mResources, id, mBitmapOptions);
-        final Allocation allocation = Allocation.createFromBitmap(mRS, b, RGBA_8888, false);
-        allocation.setName(name);
-        return allocation;
-    }
 
     private void createProgramFragment() {
-        mRS.samplerBegin();
-        mRS.samplerSet(FILTER_MIN, LINEAR);
-        mRS.samplerSet(FILTER_MAG, LINEAR);
-        mRS.samplerSet(WRAP_MODE_S, CLAMP);
-        mRS.samplerSet(WRAP_MODE_T, CLAMP);
-        mSampler = mRS.samplerCreate();
+        Sampler.Builder bs = new Sampler.Builder(mRS);
+        bs.setMin(LINEAR);
+        bs.setMag(LINEAR);
+        bs.setWrapS(CLAMP);
+        bs.setWrapT(CLAMP);
+        mSampler = bs.create();
 
-        mRS.programFragmentBegin(null, null);
-        mRS.programFragmentSetTexEnable(0, true);
-        mRS.programFragmentSetTexEnvMode(0, REPLACE);
-        mPfBackground = mRS.programFragmentCreate();
+        ProgramFragment.Builder b;
+        b = new ProgramFragment.Builder(mRS, null, null);
+        b.setTexEnable(true, 0);
+        b.setTexEnvMode(REPLACE, 0);
+        mPfBackground = b.create();
         mPfBackground.setName("PFBackground");
         mPfBackground.bindSampler(mSampler, 0);
-
-        mRS.programFragmentBegin(null, null);
-        mRS.programFragmentSetTexEnable(0, true);
-        mRS.programFragmentSetTexEnvMode(0, MODULATE);
-        mPfGrass = mRS.programFragmentCreate();
-        mPfGrass.setName("PFGrass");
-        mPfGrass.bindSampler(mSampler, 0);        
     }
 
     private void createProgramFragmentStore() {
-        mRS.programFragmentStoreBegin(null, null);
-        mRS.programFragmentStoreDepthFunc(ALWAYS);
-        mRS.programFragmentStoreBlendFunc(BlendSrcFunc.SRC_ALPHA, BlendDstFunc.ONE_MINUS_SRC_ALPHA);
-        mRS.programFragmentStoreDitherEnable(true);
-        mRS.programFragmentStoreDepthMask(false);
-        mPfsBackground = mRS.programFragmentStoreCreate();
-        mPfsBackground.setName("PFSBackground");
+        ProgramStore.Builder b;
+        b = new ProgramStore.Builder(mRS, null, null);
 
-        mRS.programFragmentStoreBegin(null, null);
-        mRS.programFragmentStoreDepthFunc(ALWAYS);
-        mRS.programFragmentStoreBlendFunc(BlendSrcFunc.ONE, BlendDstFunc.ONE_MINUS_SRC_ALPHA);
-        mRS.programFragmentStoreDitherEnable(true);
-        mRS.programFragmentStoreDepthMask(false);
-        mPfsGrass = mRS.programFragmentStoreCreate();
-        mPfsGrass.setName("PFSGrass");        
+        b.setDepthFunc(ALWAYS);
+        b.setBlendFunc(BlendSrcFunc.SRC_ALPHA, BlendDstFunc.ONE_MINUS_SRC_ALPHA);
+        b.setDitherEnable(true);
+        b.setDepthMask(false);
+        mPfsBackground = b.create();
+        mPfsBackground.setName("PFSBackground");
     }
 
     private void createProgramVertex() {
-        mPvOrthoAlloc = new ProgramVertexAlloc(mRS);
+        mPvOrthoAlloc = new ProgramVertex.MatrixAllocation(mRS);
         mPvOrthoAlloc.setupOrthoWindow(mWidth, mHeight);
 
-        mRS.programVertexBegin(null, null);
-        mRS.programVertexSetTextureMatrixEnable(true);
-        mPvBackground = mRS.programVertexCreate();
-        mPvBackground.bindAllocation(0, mPvOrthoAlloc.mAlloc);
+        ProgramVertex.Builder pvb = new ProgramVertex.Builder(mRS, null, null);
+        pvb.setTextureMatrixEnable(true);
+        mPvBackground = pvb.create();
+        mPvBackground.bindAllocation(mPvOrthoAlloc);
         mPvBackground.setName("PVBackground");
     }
 }
diff --git a/libs/rs/java/Grass/src/com/android/grass/rs/GrassView.java b/libs/rs/java/Grass/src/com/android/grass/rs/GrassView.java
index 44d5b08..c2b9a66 100644
--- a/libs/rs/java/Grass/src/com/android/grass/rs/GrassView.java
+++ b/libs/rs/java/Grass/src/com/android/grass/rs/GrassView.java
@@ -22,6 +22,8 @@
 import android.view.SurfaceHolder;
 
 class GrassView extends RSSurfaceView {
+    private GrassRS mRender;
+
     public GrassView(Context context) {
         super(context);
     }
@@ -30,7 +32,12 @@
         super.surfaceChanged(holder, format, w, h);
 
         RenderScript RS = createRenderScript();
-        GrassRS render = new GrassRS(w, h);
-        render.init(RS, getResources());
+        mRender = new GrassRS(w, h);
+        mRender.init(RS, getResources());
+    }
+
+    @Override
+    public void surfaceDestroyed(SurfaceHolder holder) {
+        if (mRender != null) mRender.destroy();
     }
 }
diff --git a/libs/rs/java/Rollo/res/raw/rollo.c b/libs/rs/java/Rollo/res/raw/rollo.c
index a527588..6376715 100644
--- a/libs/rs/java/Rollo/res/raw/rollo.c
+++ b/libs/rs/java/Rollo/res/raw/rollo.c
@@ -61,6 +61,7 @@
     storeF(2, SCRATCH_ZOOM, zoom);
 
     float targetRot = loadI32(0, STATE_FIRST_VISIBLE) / 180.0f * 3.14f;
+    targetRot = targetRot * 0.80f - .12f;
     float drawRot = filter(loadF(2, SCRATCH_ROT), targetRot, 0.1f * touchCut);
     storeF(2, SCRATCH_ROT, drawRot);
 
diff --git a/libs/rs/java/Rollo/src/com/android/rollo/RolloRS.java b/libs/rs/java/Rollo/src/com/android/rollo/RolloRS.java
index cb3dd51..ba74b58 100644
--- a/libs/rs/java/Rollo/src/com/android/rollo/RolloRS.java
+++ b/libs/rs/java/Rollo/src/com/android/rollo/RolloRS.java
@@ -19,9 +19,14 @@
 import java.io.Writer;
 
 import android.renderscript.RenderScript;
-import android.renderscript.ProgramVertexAlloc;
+import android.renderscript.ProgramVertex;
 import android.renderscript.Element;
 import android.renderscript.Allocation;
+import android.renderscript.Script;
+import android.renderscript.ScriptC;
+import android.renderscript.ProgramFragment;
+import android.renderscript.ProgramStore;
+import android.renderscript.Sampler;
 
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
@@ -90,17 +95,17 @@
 
     private Resources mRes;
     private RenderScript mRS;
-    private RenderScript.Script mScript;
-    private RenderScript.Sampler mSampler;
-    private RenderScript.Sampler mSamplerText;
-    private RenderScript.ProgramFragmentStore mPFSBackground;
-    private RenderScript.ProgramFragmentStore mPFSText;
-    private RenderScript.ProgramFragment mPFImages;
-    private RenderScript.ProgramFragment mPFText;
-    private RenderScript.ProgramVertex mPV;
-    private ProgramVertexAlloc mPVAlloc;
-    private RenderScript.ProgramVertex mPVOrtho;
-    private ProgramVertexAlloc mPVOrthoAlloc;
+    private Script mScript;
+    private Sampler mSampler;
+    private Sampler mSamplerText;
+    private ProgramStore mPSBackground;
+    private ProgramStore mPSText;
+    private ProgramFragment mPFImages;
+    private ProgramFragment mPFText;
+    private ProgramVertex mPV;
+    private ProgramVertex.MatrixAllocation mPVAlloc;
+    private ProgramVertex mPVOrtho;
+    private ProgramVertex.MatrixAllocation mPVOrthoAlloc;
     private Allocation[] mIcons;
     private Allocation[] mLabels;
 
@@ -117,77 +122,62 @@
     private Allocation mAllocScratch;
 
     private void initNamed() {
-        mRS.samplerBegin();
-        mRS.samplerSet(RenderScript.SamplerParam.FILTER_MIN,
-                       RenderScript.SamplerValue.LINEAR);//_MIP_LINEAR);
-        mRS.samplerSet(RenderScript.SamplerParam.FILTER_MAG,
-                       RenderScript.SamplerValue.LINEAR);
-        mRS.samplerSet(RenderScript.SamplerParam.WRAP_MODE_S,
-                       RenderScript.SamplerValue.CLAMP);
-        mRS.samplerSet(RenderScript.SamplerParam.WRAP_MODE_T,
-                       RenderScript.SamplerValue.CLAMP);
-        mSampler = mRS.samplerCreate();
+        Sampler.Builder sb = new Sampler.Builder(mRS);
+        sb.setMin(Sampler.Value.LINEAR);//_MIP_LINEAR);
+        sb.setMag(Sampler.Value.LINEAR);
+        sb.setWrapS(Sampler.Value.CLAMP);
+        sb.setWrapT(Sampler.Value.CLAMP);
+        mSampler = sb.create();
 
-        mRS.samplerBegin();
-        mRS.samplerSet(RenderScript.SamplerParam.FILTER_MIN,
-                       RenderScript.SamplerValue.NEAREST);
-        mRS.samplerSet(RenderScript.SamplerParam.FILTER_MAG,
-                       RenderScript.SamplerValue.NEAREST);
-        mRS.samplerSet(RenderScript.SamplerParam.WRAP_MODE_S,
-                       RenderScript.SamplerValue.CLAMP);
-        mRS.samplerSet(RenderScript.SamplerParam.WRAP_MODE_T,
-                       RenderScript.SamplerValue.CLAMP);
-        mSamplerText = mRS.samplerCreate();
+        sb.setMin(Sampler.Value.NEAREST);
+        sb.setMag(Sampler.Value.NEAREST);
+        mSamplerText = sb.create();
 
 
-        mRS.programFragmentBegin(null, null);
-        mRS.programFragmentSetTexEnable(0, true);
-        mRS.programFragmentSetTexEnvMode(0, RenderScript.EnvMode.MODULATE);
-        mPFImages = mRS.programFragmentCreate();
+        ProgramFragment.Builder bf = new ProgramFragment.Builder(mRS, null, null);
+        bf.setTexEnable(true, 0);
+        bf.setTexEnvMode(ProgramFragment.EnvMode.MODULATE, 0);
+        mPFImages = bf.create();
         mPFImages.setName("PF");
         mPFImages.bindSampler(mSampler, 0);
 
-        mRS.programFragmentBegin(null, null);
-        mRS.programFragmentSetTexEnable(0, true);
-        mRS.programFragmentSetTexEnvMode(0, RenderScript.EnvMode.MODULATE);
-        mPFText = mRS.programFragmentCreate();
+        bf.setTexEnvMode(ProgramFragment.EnvMode.MODULATE, 0);
+        mPFText = bf.create();
         mPFText.setName("PFText");
         mPFText.bindSampler(mSamplerText, 0);
 
-        mRS.programFragmentStoreBegin(null, null);
-        mRS.programFragmentStoreDepthFunc(RenderScript.DepthFunc.LESS);
-        mRS.programFragmentStoreDitherEnable(false);
-        mRS.programFragmentStoreDepthMask(true);
-        mRS.programFragmentStoreBlendFunc(RenderScript.BlendSrcFunc.SRC_ALPHA,
-                                          RenderScript.BlendDstFunc.ONE_MINUS_SRC_ALPHA);
-        mPFSBackground = mRS.programFragmentStoreCreate();
-        mPFSBackground.setName("PFS");
+        ProgramStore.Builder bs = new ProgramStore.Builder(mRS, null, null);
+        bs.setDepthFunc(ProgramStore.DepthFunc.LESS);
+        bs.setDitherEnable(false);
+        bs.setDepthMask(true);
+        bs.setBlendFunc(ProgramStore.BlendSrcFunc.SRC_ALPHA,
+                        ProgramStore.BlendDstFunc.ONE_MINUS_SRC_ALPHA);
+        mPSBackground = bs.create();
+        mPSBackground.setName("PFS");
 
-        mRS.programFragmentStoreBegin(null, null);
-        mRS.programFragmentStoreDepthFunc(RenderScript.DepthFunc.ALWAYS);
-        mRS.programFragmentStoreDitherEnable(false);
-        mRS.programFragmentStoreDepthMask(false);
-        mRS.programFragmentStoreBlendFunc(RenderScript.BlendSrcFunc.SRC_ALPHA,
-                                          RenderScript.BlendDstFunc.ONE_MINUS_SRC_ALPHA);
-        mPFSText = mRS.programFragmentStoreCreate();
-        mPFSText.setName("PFSText");
+        bs.setDepthFunc(ProgramStore.DepthFunc.ALWAYS);
+        bs.setDepthMask(false);
+        bs.setBlendFunc(ProgramStore.BlendSrcFunc.SRC_ALPHA,
+                        ProgramStore.BlendDstFunc.ONE_MINUS_SRC_ALPHA);
+        mPSText = bs.create();
+        mPSText.setName("PFSText");
 
-        mPVAlloc = new ProgramVertexAlloc(mRS);
-        mRS.programVertexBegin(null, null);
-        mRS.programVertexSetTextureMatrixEnable(false);
-        mPV = mRS.programVertexCreate();
-        mPV.setName("PV");
-        mPV.bindAllocation(0, mPVAlloc.mAlloc);
+        mPVAlloc = new ProgramVertex.MatrixAllocation(mRS);
         mPVAlloc.setupProjectionNormalized(mWidth, mHeight);
 
-        mPVOrthoAlloc = new ProgramVertexAlloc(mRS);
-        mRS.programVertexBegin(null, null);
-        mRS.programVertexSetTextureMatrixEnable(true);
-        mPVOrtho = mRS.programVertexCreate();
-        mPVOrtho.setName("PVOrtho");
-        mPVOrtho.bindAllocation(0, mPVOrthoAlloc.mAlloc);
+        ProgramVertex.Builder pvb = new ProgramVertex.Builder(mRS, null, null);
+        mPV = pvb.create();
+        mPV.setName("PV");
+        mPV.bindAllocation(mPVAlloc);
+
+        mPVOrthoAlloc = new ProgramVertex.MatrixAllocation(mRS);
         mPVOrthoAlloc.setupOrthoWindow(mWidth, mHeight);
 
+        pvb.setTextureMatrixEnable(true);
+        mPVOrtho = pvb.create();
+        mPVOrtho.setName("PVOrtho");
+        mPVOrtho.bindAllocation(mPVOrthoAlloc);
+
         mRS.contextBindProgramVertex(mPV);
 
         mAllocScratchBuf = new int[32];
@@ -274,20 +264,6 @@
             mLabels[27] = mLabels[8];
             mLabels[28] = mLabels[9];
 
-/*
-            mIcons[19] = Allocation.createFromBitmapResource(mRS, mRes, R.raw.solitaire, ie8888, true);
-            mIcons[20] = Allocation.createFromBitmapResource(mRS, mRes, R.raw.sudoku, ie8888, true);
-            mIcons[21] = Allocation.createFromBitmapResource(mRS, mRes, R.raw.taptaprevenge, ie8888, true);
-            mIcons[22] = Allocation.createFromBitmapResource(mRS, mRes, R.raw.tetris, ie8888, true);
-            mIcons[23] = Allocation.createFromBitmapResource(mRS, mRes, R.raw.tictactoe, ie8888, true);
-            mIcons[24] = Allocation.createFromBitmapResource(mRS, mRes, R.raw.tweetie, ie8888, true);
-            mIcons[25] = Allocation.createFromBitmapResource(mRS, mRes, R.raw.urbanspoon, ie8888, true);
-            mIcons[26] = Allocation.createFromBitmapResource(mRS, mRes, R.raw.waterslide_extreme, ie8888, true);
-            mIcons[27] = Allocation.createFromBitmapResource(mRS, mRes, R.raw.weather_channel, ie8888, true);
-            mIcons[28] = Allocation.createFromBitmapResource(mRS, mRes, R.raw.zippo, ie8888, true);
-*/
-
-
             for(int ct=0; ct < mIcons.length; ct++) {
                 mIcons[ct].uploadToTexture(0);
                 mLabels[ct].uploadToTexture(0);
@@ -313,12 +289,12 @@
 
 
     private void initRS() {
-        mRS.scriptCBegin();
-        mRS.scriptCSetClearColor(0.0f, 0.0f, 0.0f, 0.0f);
-        mRS.scriptCSetScript(mRes, R.raw.rollo);
-        //mRS.scriptCSetScript(mRes, R.raw.rollo2);
-        mRS.scriptCSetRoot(true);
-        mScript = mRS.scriptCCreate();
+        ScriptC.Builder sb = new ScriptC.Builder(mRS);
+        sb.setScript(mRes, R.raw.rollo);
+        //sb.setScript(mRes, R.raw.rollo2);
+        sb.setRoot(true);
+        mScript = sb.create();
+        mScript.setClearColor(0.0f, 0.0f, 0.0f, 0.0f);
 
         mAllocStateBuf = new int[] {0, 0, 0, 8, 0, 0, -1, 0, mAllocIconIDBuf.length, 0, 0};
         mAllocState = Allocation.createSized(mRS,
diff --git a/libs/rs/java/Rollo/src/com/android/rollo/RolloView.java b/libs/rs/java/Rollo/src/com/android/rollo/RolloView.java
index 71d6c7e..3e1c54d 100644
--- a/libs/rs/java/Rollo/src/com/android/rollo/RolloView.java
+++ b/libs/rs/java/Rollo/src/com/android/rollo/RolloView.java
@@ -187,6 +187,8 @@
                 mFlingY = ny;
             } else {
                 mFlingMode = false;
+                mColumn = (float)(java.lang.Math.floor(mColumn * 0.25f + 0.3f) * 4.f) + 1.f;
+                setColumn(true);
             }
         }
 
diff --git a/libs/rs/rs.spec b/libs/rs/rs.spec
index d9a6456..05a8c37 100644
--- a/libs/rs/rs.spec
+++ b/libs/rs/rs.spec
@@ -127,14 +127,14 @@
 AllocationData {
 	param RsAllocation va
 	param const void * data
-	} 
+	}
 
 Allocation1DSubData {
 	param RsAllocation va
 	param uint32_t xoff
 	param uint32_t count
 	param const void *data
-	} 
+	}
 
 Allocation2DSubData {
 	param RsAllocation va
@@ -168,14 +168,14 @@
 Adapter1DData {
 	param RsAdapter1D adapter
 	param const void * data
-	} 
+	}
 
 Adapter1DSubData {
 	param RsAdapter1D adapter
 	param uint32_t xoff
 	param uint32_t count
 	param const void *data
-	} 
+	}
 
 Adapter2DCreate {
 	ret RsAdapter2D
@@ -199,7 +199,7 @@
 Adapter2DData {
 	param RsAdapter2D adapter
 	param const void *data
-	} 
+	}
 
 Adapter2DSubData {
 	param RsAdapter2D adapter
@@ -273,23 +273,27 @@
 ScriptCBegin {
 	}
 
-ScriptCSetClearColor {
+ScriptSetClearColor {
+	param RsScript s
 	param float r
 	param float g
 	param float b
 	param float a
 	}
 
-ScriptCSetTimeZone {
+ScriptSetTimeZone {
+	param RsScript s
 	param const char * timeZone
 	param uint32_t length
 	}
 
-ScriptCSetClearDepth {
+ScriptSetClearDepth {
+	param RsScript s
 	param float depth
 	}
 
-ScriptCSetClearStencil {
+ScriptSetClearStencil {
+	param RsScript s
 	param uint32_t stencil
 	}
 
@@ -405,15 +409,9 @@
 
 ProgramVertexBindAllocation {
 	param RsProgramVertex vpgm
-	param uint32_t slot
 	param RsAllocation constants
 	}
 
-ProgramVertexSetType {
-	param uint32_t slot
-	param RsType constants
-	}
-
 ProgramVertexSetTextureMatrixEnable {
 	param bool enable
 	}
diff --git a/libs/rs/rsAllocation.cpp b/libs/rs/rsAllocation.cpp
index ca277ef..ecfbf83 100644
--- a/libs/rs/rsAllocation.cpp
+++ b/libs/rs/rsAllocation.cpp
@@ -501,23 +501,25 @@
     return texAlloc;
 }
 
-
 void rsi_AllocationData(Context *rsc, RsAllocation va, const void *data)
 {
     Allocation *a = static_cast<Allocation *>(va);
     a->data(data);
+    rsc->allocationCheck(a);
 }
 
 void rsi_Allocation1DSubData(Context *rsc, RsAllocation va, uint32_t xoff, uint32_t count, const void *data)
 {
     Allocation *a = static_cast<Allocation *>(va);
     a->subData(xoff, count, data);
+    rsc->allocationCheck(a);
 }
 
 void rsi_Allocation2DSubData(Context *rsc, RsAllocation va, uint32_t xoff, uint32_t yoff, uint32_t w, uint32_t h, const void *data)
 {
     Allocation *a = static_cast<Allocation *>(va);
     a->subData(xoff, yoff, w, h, data);
+    rsc->allocationCheck(a);
 }
 
 
diff --git a/libs/rs/rsContext.cpp b/libs/rs/rsContext.cpp
index e52b0e0..46bd892 100644
--- a/libs/rs/rsContext.cpp
+++ b/libs/rs/rsContext.cpp
@@ -85,10 +85,15 @@
 
 bool Context::runRootScript()
 {
+#if RS_LOG_TIMES
+    struct timespec beginTime;
+    clock_gettime(CLOCK_MONOTONIC, &beginTime);
+#endif
+
     rsAssert(mRootScript->mEnviroment.mIsRoot);
 
-    glColor4f(1,1,1,1);
-    glEnable(GL_LIGHT0);
+    //glColor4f(1,1,1,1);
+    //glEnable(GL_LIGHT0);
     glViewport(0, 0, mWidth, mHeight);
 
     glDepthMask(GL_TRUE);
@@ -102,19 +107,34 @@
     glClear(GL_COLOR_BUFFER_BIT);
     glClear(GL_DEPTH_BUFFER_BIT);
 
-    return runScript(mRootScript.get(), 0);
+#if RS_LOG_TIMES
+    struct timespec startTime;
+    clock_gettime(CLOCK_MONOTONIC, &startTime);
+#endif
+    bool ret = runScript(mRootScript.get(), 0);
+
+#if RS_LOG_TIMES
+    struct timespec endTime;
+    clock_gettime(CLOCK_MONOTONIC, &endTime);
+
+    int t1 = ((unsigned long)startTime.tv_nsec - (unsigned long)beginTime.tv_nsec) / 1000 / 1000;
+    int t2 = ((unsigned long)endTime.tv_nsec - (unsigned long)startTime.tv_nsec) / 1000 / 1000;
+    LOGE("times  %i,  %i", t1, t2);
+#endif
+
+    return ret;
 }
 
 void Context::setupCheck()
 {
     if (mFragmentStore.get()) {
-        mFragmentStore->setupGL();
+        mFragmentStore->setupGL(&mStateFragmentStore);
     }
     if (mFragment.get()) {
-        mFragment->setupGL();
+        mFragment->setupGL(&mStateFragment);
     }
     if (mVertex.get()) {
-        mVertex->setupGL();
+        mVertex->setupGL(&mStateVertex);
     }
 
 }
@@ -245,7 +265,6 @@
     } else {
         mFragmentStore.set(pfs);
     }
-    mFragmentStore->setupGL();
 }
 
 void Context::setFragment(ProgramFragment *pf)
@@ -255,7 +274,13 @@
     } else {
         mFragment.set(pf);
     }
-    mFragment->setupGL();
+}
+
+void Context::allocationCheck(const Allocation *a)
+{
+    mVertex->checkUpdatedAllocation(a);
+    mFragment->checkUpdatedAllocation(a);
+    mFragmentStore->checkUpdatedAllocation(a);
 }
 
 void Context::setVertex(ProgramVertex *pv)
@@ -265,7 +290,6 @@
     } else {
         mVertex.set(pv);
     }
-    mVertex->setupGL();
 }
 
 void Context::assignName(ObjectBase *obj, const char *name, uint32_t len)
diff --git a/libs/rs/rsContext.h b/libs/rs/rsContext.h
index a00b8e8..1f8352c 100644
--- a/libs/rs/rsContext.h
+++ b/libs/rs/rsContext.h
@@ -45,7 +45,7 @@
 namespace android {
 namespace renderscript {
 
-class Context 
+class Context
 {
 public:
     Context(Device *, Surface *);
@@ -86,6 +86,7 @@
     const ProgramVertex * getVertex() {return mVertex.get();}
 
     void setupCheck();
+    void allocationCheck(const Allocation *);
 
     void assignName(ObjectBase *obj, const char *name, uint32_t len);
     void removeName(ObjectBase *obj);
diff --git a/libs/rs/rsNoise.cpp b/libs/rs/rsNoise.cpp
new file mode 100644
index 0000000..764dc1a
--- /dev/null
+++ b/libs/rs/rsNoise.cpp
@@ -0,0 +1,256 @@
+/*
+ * This implementation of the noise functions was ported from the Java
+ * implementation by Jerry Huxtable (http://www.jhlabs.com) under
+ * Apache License 2.0 (see http://jhlabs.com/ip/filters/download.html)
+ *
+ * Original header:
+ *
+ * Copyright 2006 Jerry Huxtable
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "rsNoise.h"
+
+#include <math.h>
+#include <stdlib.h>
+#include <time.h>
+
+namespace android {
+namespace renderscript {
+
+#define B 0x100
+#define BM 0xff
+#define N 0x1000
+
+static int p[B + B + 2];
+static float g3[B + B + 2][3];
+static float g2[B + B + 2][2];
+static float g1[B + B + 2];
+static bool noise_start = true;
+
+#define lerpf(start, stop, amount) start + (stop - start) * amount
+
+static inline float noise_sCurve(float t)
+{
+    return t * t * (3.0f - 2.0f * t);
+}
+
+inline void SC_normalizef2(float v[])
+{
+    float s = (float)sqrtf(v[0] * v[0] + v[1] * v[1]);
+    v[0] = v[0] / s;
+    v[1] = v[1] / s;
+}
+
+inline void SC_normalizef3(float v[])
+{
+    float s = (float)sqrtf(v[0] * v[0] + v[1] * v[1] + v[2] * v[2]);
+    v[0] = v[0] / s;
+    v[1] = v[1] / s;
+    v[2] = v[2] / s;
+}
+
+static void noise_init()
+{
+    int i, j, k;
+    
+    for (i = 0; i < B; i++) {
+        p[i] = i;
+        
+        g1[i] = (float)((rand() % (B + B)) - B) / B;
+        
+        for (j = 0; j < 2; j++)
+            g2[i][j] = (float)((rand() % (B + B)) - B) / B;
+        SC_normalizef2(g2[i]);
+        
+        for (j = 0; j < 3; j++)
+            g3[i][j] = (float)((rand() % (B + B)) - B) / B;
+        SC_normalizef3(g3[i]);
+    }
+    
+    for (i = B-1; i >= 0; i--) {
+        k = p[i];
+        p[i] = p[j = rand() % B];
+        p[j] = k;
+    }
+    
+    for (i = 0; i < B + 2; i++) {
+        p[B + i] = p[i];
+        g1[B + i] = g1[i];
+        for (j = 0; j < 2; j++)
+            g2[B + i][j] = g2[i][j];
+        for (j = 0; j < 3; j++)
+            g3[B + i][j] = g3[i][j];
+    }
+}
+
+float SC_noisef(float x)
+{
+    srand(time(NULL));
+    int bx0, bx1;
+    float rx0, rx1, sx, t, u, v;
+    
+    if (noise_start) {
+        noise_start = false;
+        noise_init();
+    }
+    
+    t = x + N;
+    bx0 = ((int)t) & BM;
+    bx1 = (bx0+1) & BM;
+    rx0 = t - (int)t;
+    rx1 = rx0 - 1.0f;
+    
+    sx = noise_sCurve(rx0);
+    
+    u = rx0 * g1[p[bx0]];
+    v = rx1 * g1[p[bx1]];
+    return 2.3f * lerpf(u, v, sx);
+}
+
+float SC_noisef2(float x, float y)
+{
+    srand(time(NULL));
+    int bx0, bx1, by0, by1, b00, b10, b01, b11;
+    float rx0, rx1, ry0, ry1, sx, sy, a, b, t, u, v;
+    float *q;
+    int i, j;
+    
+    if (noise_start) {
+        noise_start = false;
+        noise_init();
+    }
+    
+    t = x + N;
+    bx0 = ((int)t) & BM;
+    bx1 = (bx0+1) & BM;
+    rx0 = t - (int)t;
+    rx1 = rx0 - 1.0f;
+	
+    t = y + N;
+    by0 = ((int)t) & BM;
+    by1 = (by0+1) & BM;
+    ry0 = t - (int)t;
+    ry1 = ry0 - 1.0f;
+	
+    i = p[bx0];
+    j = p[bx1];
+    
+    b00 = p[i + by0];
+    b10 = p[j + by0];
+    b01 = p[i + by1];
+    b11 = p[j + by1];
+    
+    sx = noise_sCurve(rx0);
+    sy = noise_sCurve(ry0);
+    
+    q = g2[b00]; u = rx0 * q[0] + ry0 * q[1];
+    q = g2[b10]; v = rx1 * q[0] + ry0 * q[1];
+    a = lerpf(u, v, sx);
+    
+    q = g2[b01]; u = rx0 * q[0] + ry1 * q[1];
+    q = g2[b11]; v = rx1 * q[0] + ry1 * q[1];
+    b = lerpf(u, v, sx);
+    
+    return 1.5f*lerpf(a, b, sy);
+}
+
+float SC_noisef3(float x, float y, float z)
+{
+    srand(time(NULL));
+    int bx0, bx1, by0, by1, bz0, bz1, b00, b10, b01, b11;
+    float rx0, rx1, ry0, ry1, rz0, rz1, sy, sz, a, b, c, d, t, u, v;
+    float *q;
+    int i, j;
+    
+    if (noise_start) {
+        noise_start = false;
+        noise_init();
+    }
+    
+    t = x + N;
+    bx0 = ((int)t) & BM;
+    bx1 = (bx0+1) & BM;
+    rx0 = t - (int)t;
+    rx1 = rx0 - 1.0f;
+    
+    t = y + N;
+    by0 = ((int)t) & BM;
+    by1 = (by0+1) & BM;
+    ry0 = t - (int)t;
+    ry1 = ry0 - 1.0f;
+	
+    t = z + N;
+    bz0 = ((int)t) & BM;
+    bz1 = (bz0+1) & BM;
+    rz0 = t - (int)t;
+    rz1 = rz0 - 1.0f;
+	
+    i = p[bx0];
+    j = p[bx1];
+    
+    b00 = p[i + by0];
+    b10 = p[j + by0];
+    b01 = p[i + by1];
+    b11 = p[j + by1];
+    
+    t  = noise_sCurve(rx0);
+    sy = noise_sCurve(ry0);
+    sz = noise_sCurve(rz0);
+    
+    q = g3[b00 + bz0]; u = rx0 * q[0] + ry0 * q[1] + rz0 * q[2];
+    q = g3[b10 + bz0]; v = rx1 * q[0] + ry0 * q[1] + rz0 * q[2];
+    a = lerpf(u, v, t);
+    
+    q = g3[b01 + bz0]; u = rx0 * q[0] + ry1 * q[1] + rz0 * q[2];
+    q = g3[b11 + bz0]; v = rx1 * q[0] + ry1 * q[1] + rz0 * q[2];
+    b = lerpf(u, v, t);
+    
+    c = lerpf(a, b, sy);
+    
+    q = g3[b00 + bz1]; u = rx0 * q[0] + ry0 * q[1] + rz1 * q[2];
+    q = g3[b10 + bz1]; v = rx1 * q[0] + ry0 * q[1] + rz1 * q[2];
+    a = lerpf(u, v, t);
+    
+    q = g3[b01 + bz1]; u = rx0 * q[0] + ry1 * q[1] + rz1 * q[2];
+    q = g3[b11 + bz1]; v = rx1 * q[0] + ry1 * q[1] + rz1 * q[2];
+    b = lerpf(u, v, t);
+    
+    d = lerpf(a, b, sy);
+    
+    return 1.5f*lerpf(c, d, sz);
+}
+
+float SC_turbulencef2(float x, float y, float octaves)
+{
+    srand(time(NULL));
+    float t = 0.0f;
+    
+    for (float f = 1.0f; f <= octaves; f *= 2)
+        t += fabs(SC_noisef2(f * x, f * y)) / f;
+    return t;
+}
+
+float SC_turbulencef3(float x, float y, float z, float octaves)
+{
+    srand(time(NULL));
+    float t = 0.0f;
+    
+    for (float f = 1.0f; f <= octaves; f *= 2)
+        t += fabs(SC_noisef3(f * x, f * y, f * z)) / f;
+    return t;
+}
+
+}
+}
\ No newline at end of file
diff --git a/libs/rs/rsNoise.h b/libs/rs/rsNoise.h
new file mode 100644
index 0000000..9040751
--- /dev/null
+++ b/libs/rs/rsNoise.h
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ANDROID_RS_NOISE_H
+#define ANDROID_RS_NOISE_H
+
+// ---------------------------------------------------------------------------
+namespace android {
+namespace renderscript {
+
+void SC_normalizef2(float v[]);
+void SC_normalizef3(float v[]);
+float SC_noisef(float x);
+float SC_noisef2(float x, float y);
+float SC_noisef3(float x, float y, float z);
+float SC_turbulencef2(float x, float y, float octaves);
+float SC_turbulencef3(float x, float y, float z, float octaves);
+
+}
+}
+
+#endif
diff --git a/libs/rs/rsProgram.cpp b/libs/rs/rsProgram.cpp
index 5a83fb7..6606daa 100644
--- a/libs/rs/rsProgram.cpp
+++ b/libs/rs/rsProgram.cpp
@@ -34,12 +34,19 @@
 }
 
 
-void Program::setAllocation(Allocation *alloc)
+void Program::bindAllocation(Allocation *alloc)
 {
     mConstants.set(alloc);
     mDirty = true;
 }
 
+void Program::checkUpdatedAllocation(const Allocation *alloc)
+{
+    if (mConstants.get() == alloc) {
+        mDirty = true;
+    }
+}
+
 void Program::setupGL()
 {
 
diff --git a/libs/rs/rsProgram.h b/libs/rs/rsProgram.h
index 913fdd2..251072f 100644
--- a/libs/rs/rsProgram.h
+++ b/libs/rs/rsProgram.h
@@ -33,10 +33,12 @@
     virtual ~Program();
 
 
-    void setAllocation(Allocation *);
+    void bindAllocation(Allocation *);
 
     virtual void setupGL();
 
+    void checkUpdatedAllocation(const Allocation *);
+
 protected:
     // Components not listed in "in" will be passed though
     // unless overwritten by components in out.
@@ -45,8 +47,7 @@
 
     ObjectBaseRef<Allocation> mConstants;
 
-    bool mDirty;
-
+    mutable bool mDirty;
 };
 
 
diff --git a/libs/rs/rsProgramFragment.cpp b/libs/rs/rsProgramFragment.cpp
index 628f93e..ea507dc 100644
--- a/libs/rs/rsProgramFragment.cpp
+++ b/libs/rs/rsProgramFragment.cpp
@@ -39,8 +39,13 @@
 {
 }
 
-void ProgramFragment::setupGL()
+void ProgramFragment::setupGL(ProgramFragmentState *state)
 {
+    if ((state->mLast.get() == this) && !mDirty) {
+        return;
+    }
+    state->mLast.set(this);
+
     for (uint32_t ct=0; ct < MAX_TEXTURE; ct++) {
         glActiveTexture(GL_TEXTURE0 + ct);
         if (!(mTextureEnableMask & (1 << ct)) || !mTextures[ct].get()) {
@@ -90,8 +95,8 @@
         }
     }
 
-
     glActiveTexture(GL_TEXTURE0);
+    mDirty = false;
 }
 
 
@@ -104,6 +109,7 @@
 
     //LOGE("bindtex %i %p", slot, a);
     mTextures[slot].set(a);
+    mDirty = true;
 }
 
 void ProgramFragment::bindSampler(uint32_t slot, Sampler *s)
@@ -114,6 +120,7 @@
     }
 
     mSamplers[slot].set(s);
+    mDirty = true;
 }
 
 void ProgramFragment::setType(uint32_t slot, const Element *e, uint32_t dim)
@@ -190,7 +197,7 @@
     ProgramFragment *pf = static_cast<ProgramFragment *>(vpf);
     pf->bindTexture(slot, static_cast<Allocation *>(a));
     if (pf == rsc->getFragment()) {
-        pf->setupGL();
+        //pf->setupGL();
     }
 }
 
@@ -200,7 +207,7 @@
     pf->bindSampler(slot, static_cast<Sampler *>(s));
 
     if (pf == rsc->getFragment()) {
-        pf->setupGL();
+        //pf->setupGL();
     }
 }
 
diff --git a/libs/rs/rsProgramFragment.h b/libs/rs/rsProgramFragment.h
index 896d8dd..57fb6a5 100644
--- a/libs/rs/rsProgramFragment.h
+++ b/libs/rs/rsProgramFragment.h
@@ -23,19 +23,19 @@
 namespace android {
 namespace renderscript {
 
+class ProgramFragmentState;
 
 class ProgramFragment : public Program
 {
 public:
     const static uint32_t MAX_TEXTURE = 2;
-    const static uint32_t MAX_CONSTANTS = 2;
 
 
 
     ProgramFragment(Element *in, Element *out);
     virtual ~ProgramFragment();
 
-    virtual void setupGL();
+    virtual void setupGL(ProgramFragmentState *);
 
 
 
@@ -53,7 +53,7 @@
     // Texture lookups go though a sampler which in effect converts normalized
     // coordinates into type specific.  Multiple samples may also be taken
     // and filtered.
-    // 
+    //
     // Constants are strictly accessed by programetic loads.
     ObjectBaseRef<Allocation> mTextures[MAX_TEXTURE];
     ObjectBaseRef<Sampler> mSamplers[MAX_TEXTURE];
@@ -61,21 +61,12 @@
     uint32_t mTextureDimensions[MAX_TEXTURE];
 
 
-    ObjectBaseRef<Allocation> mConstants[MAX_CONSTANTS];
-    ObjectBaseRef<Type> mConstantTypes[MAX_CONSTANTS];
-
-
     // Hacks to create a program for now
     RsTexEnvMode mEnvModes[MAX_TEXTURE];
     uint32_t mTextureEnableMask;
-
-
-
-
-
 };
 
-class ProgramFragmentState 
+class ProgramFragmentState
 {
 public:
     ProgramFragmentState();
@@ -87,6 +78,8 @@
     ObjectBaseRef<Type> mTextureTypes[ProgramFragment::MAX_TEXTURE];
     ObjectBaseRef<ProgramFragment> mDefault;
     Vector<ProgramFragment *> mPrograms;
+
+    ObjectBaseRef<ProgramFragment> mLast;
 };
 
 
diff --git a/libs/rs/rsProgramFragmentStore.cpp b/libs/rs/rsProgramFragmentStore.cpp
index 9ee270f..27f4015 100644
--- a/libs/rs/rsProgramFragmentStore.cpp
+++ b/libs/rs/rsProgramFragmentStore.cpp
@@ -48,8 +48,13 @@
 {
 }
 
-void ProgramFragmentStore::setupGL()
+void ProgramFragmentStore::setupGL(ProgramFragmentStoreState *state)
 {
+    if (state->mLast.get() == this) {
+        return;
+    }
+    state->mLast.set(this);
+
     glColorMask(mColorRWriteEnable,
                 mColorGWriteEnable,
                 mColorBWriteEnable,
@@ -123,7 +128,7 @@
 void ProgramFragmentStore::setBlendFunc(RsBlendSrcFunc src, RsBlendDstFunc dst)
 {
     mBlendEnable = true;
-    if ((src == RS_BLEND_SRC_ONE) && 
+    if ((src == RS_BLEND_SRC_ONE) &&
         (dst == RS_BLEND_DST_ZERO)) {
         mBlendEnable = false;
     }
diff --git a/libs/rs/rsProgramFragmentStore.h b/libs/rs/rsProgramFragmentStore.h
index bd3a9f4..0de5c3a 100644
--- a/libs/rs/rsProgramFragmentStore.h
+++ b/libs/rs/rsProgramFragmentStore.h
@@ -23,18 +23,15 @@
 namespace android {
 namespace renderscript {
 
+class ProgramFragmentStoreState;
 
 class ProgramFragmentStore : public Program
 {
 public:
-
-
-
     ProgramFragmentStore(Element *in, Element *out);
     virtual ~ProgramFragmentStore();
 
-    virtual void setupGL();
-
+    virtual void setupGL(ProgramFragmentStoreState *);
 
     void setDepthFunc(RsDepthFunc);
     void setDepthMask(bool);
@@ -55,21 +52,14 @@
     int32_t mBlendSrc;
     int32_t mBlendDst;
 
-
-
     bool mDepthTestEnable;
     bool mDepthWriteEnable;
     int32_t mDepthFunc;
 
-
-
     bool mStencilTestEnable;
-
-
-
 };
 
-class ProgramFragmentStoreState 
+class ProgramFragmentStoreState
 {
 public:
     ProgramFragmentStoreState();
@@ -77,6 +67,9 @@
     void init(Context *rsc, int32_t w, int32_t h);
 
     ObjectBaseRef<ProgramFragmentStore> mDefault;
+    ObjectBaseRef<ProgramFragmentStore> mLast;
+
+
     ProgramFragmentStore *mPFS;
 };
 
diff --git a/libs/rs/rsProgramVertex.cpp b/libs/rs/rsProgramVertex.cpp
index 792135d..6ef5456 100644
--- a/libs/rs/rsProgramVertex.cpp
+++ b/libs/rs/rsProgramVertex.cpp
@@ -44,9 +44,14 @@
     LOGV("%6.2f, %6.2f, %6.2f, %6.2f", f[3], f[7], f[11], f[15]);
 }
 
-void ProgramVertex::setupGL()
+void ProgramVertex::setupGL(ProgramVertexState *state)
 {
-    const float *f = static_cast<const float *>(mConstants[0]->getPtr());
+    if ((state->mLast.get() == this) && !mDirty) {
+        return;
+    }
+    state->mLast.set(this);
+
+    const float *f = static_cast<const float *>(mConstants->getPtr());
 
     glMatrixMode(GL_TEXTURE);
     if (mTextureMatrixEnable) {
@@ -58,7 +63,7 @@
     glMatrixMode(GL_MODELVIEW);
     glLoadIdentity();
     if (mLightCount) {
-        int v = 1;
+        int v = 0;
         glEnable(GL_LIGHTING);
         glLightModelxv(GL_LIGHT_MODEL_TWO_SIDE, &v);
         for (uint32_t ct = 0; ct < mLightCount; ct++) {
@@ -72,7 +77,7 @@
     } else {
         glDisable(GL_LIGHTING);
     }
-    
+
     if (!f) {
         LOGE("Must bind constants to vertex program");
     }
@@ -81,16 +86,8 @@
     glLoadMatrixf(&f[RS_PROGRAM_VERTEX_PROJECTION_OFFSET]);
     glMatrixMode(GL_MODELVIEW);
     glLoadMatrixf(&f[RS_PROGRAM_VERTEX_MODELVIEW_OFFSET]);
-}
 
-void ProgramVertex::setConstantType(uint32_t slot, const Type *t)
-{
-    mConstantTypes[slot].set(t);
-}
-
-void ProgramVertex::bindAllocation(uint32_t slot, Allocation *a)
-{
-    mConstants[slot].set(a);
+    mDirty = false;
 }
 
 void ProgramVertex::addLight(const Light *l)
@@ -103,20 +100,23 @@
 
 void ProgramVertex::setProjectionMatrix(const rsc_Matrix *m) const
 {
-    float *f = static_cast<float *>(mConstants[0]->getPtr());
+    float *f = static_cast<float *>(mConstants->getPtr());
     memcpy(&f[RS_PROGRAM_VERTEX_PROJECTION_OFFSET], m, sizeof(rsc_Matrix));
+    mDirty = true;
 }
 
 void ProgramVertex::setModelviewMatrix(const rsc_Matrix *m) const
 {
-    float *f = static_cast<float *>(mConstants[0]->getPtr());
+    float *f = static_cast<float *>(mConstants->getPtr());
     memcpy(&f[RS_PROGRAM_VERTEX_MODELVIEW_OFFSET], m, sizeof(rsc_Matrix));
+    mDirty = true;
 }
 
 void ProgramVertex::setTextureMatrix(const rsc_Matrix *m) const
 {
-    float *f = static_cast<float *>(mConstants[0]->getPtr());
+    float *f = static_cast<float *>(mConstants->getPtr());
     memcpy(&f[RS_PROGRAM_VERTEX_TEXTURE_OFFSET], m, sizeof(rsc_Matrix));
+    mDirty = true;
 }
 
 
@@ -139,8 +139,8 @@
     mDefaultAlloc.set(alloc);
     mDefault.set(pv);
 
-    pv->bindAllocation(0, alloc);
-    
+    pv->bindAllocation(alloc);
+
     Matrix m;
     m.loadOrtho(0,w, h,0, -1,1);
     alloc->subData(RS_PROGRAM_VERTEX_PROJECTION_OFFSET, 16, &m.m[0]);
@@ -167,15 +167,10 @@
     return pv;
 }
 
-void rsi_ProgramVertexBindAllocation(Context *rsc, RsProgramVertex vpgm, uint32_t slot, RsAllocation constants)
+void rsi_ProgramVertexBindAllocation(Context *rsc, RsProgramVertex vpgm, RsAllocation constants)
 {
     ProgramVertex *pv = static_cast<ProgramVertex *>(vpgm);
-    pv->bindAllocation(slot, static_cast<Allocation *>(constants));
-}
-
-void rsi_ProgramVertexSetType(Context *rsc, uint32_t slot, RsType constants)
-{
-    rsc->mStateVertex.mPV->setConstantType(slot, static_cast<const Type *>(constants));
+    pv->bindAllocation(static_cast<Allocation *>(constants));
 }
 
 void rsi_ProgramVertexSetTextureMatrixEnable(Context *rsc, bool enable)
diff --git a/libs/rs/rsProgramVertex.h b/libs/rs/rsProgramVertex.h
index da5ed81..c9ce7aa 100644
--- a/libs/rs/rsProgramVertex.h
+++ b/libs/rs/rsProgramVertex.h
@@ -23,21 +23,19 @@
 namespace android {
 namespace renderscript {
 
+class ProgramVertexState;
 
 class ProgramVertex : public Program
 {
 public:
-    const static uint32_t MAX_CONSTANTS = 2;
     const static uint32_t MAX_LIGHTS = 8;
 
     ProgramVertex(Element *in, Element *out);
     virtual ~ProgramVertex();
 
-    virtual void setupGL();
+    virtual void setupGL(ProgramVertexState *state);
 
 
-    void setConstantType(uint32_t slot, const Type *);
-    void bindAllocation(uint32_t slot, Allocation *);
     void setTextureMatrixEnable(bool e) {mTextureMatrixEnable = e;}
     void addLight(const Light *);
 
@@ -46,21 +44,15 @@
     void setTextureMatrix(const rsc_Matrix *) const;
 
 protected:
-    bool mDirty;
     uint32_t mLightCount;
-
-    ObjectBaseRef<Allocation> mConstants[MAX_CONSTANTS];
-    ObjectBaseRef<const Type> mConstantTypes[MAX_CONSTANTS];
     ObjectBaseRef<const Light> mLights[MAX_LIGHTS];
 
-
     // Hacks to create a program for now
     bool mTextureMatrixEnable;
-
 };
 
 
-class ProgramVertexState 
+class ProgramVertexState
 {
 public:
     ProgramVertexState();
@@ -69,8 +61,9 @@
     void init(Context *rsc, int32_t w, int32_t h);
 
     ObjectBaseRef<ProgramVertex> mDefault;
+    ObjectBaseRef<ProgramVertex> mLast;
     ObjectBaseRef<Allocation> mDefaultAlloc;
-    
+
 
 
     ProgramVertex *mPV;
diff --git a/libs/rs/rsScript.cpp b/libs/rs/rsScript.cpp
index ae85c9c..6ce9f61 100644
--- a/libs/rs/rsScript.cpp
+++ b/libs/rs/rsScript.cpp
@@ -49,6 +49,32 @@
     s->mSlots[slot].set(static_cast<Allocation *>(va));
 }
 
+void rsi_ScriptSetClearColor(Context * rsc, RsScript vs, float r, float g, float b, float a)
+{
+    Script *s = static_cast<Script *>(vs);
+    s->mEnviroment.mClearColor[0] = r;
+    s->mEnviroment.mClearColor[1] = g;
+    s->mEnviroment.mClearColor[2] = b;
+    s->mEnviroment.mClearColor[3] = a;
+}
+
+void rsi_ScriptSetTimeZone(Context * rsc, RsScript vs, const char * timeZone, uint32_t length)
+{
+    Script *s = static_cast<Script *>(vs);
+    s->mEnviroment.mTimeZone = timeZone;
+}
+
+void rsi_ScriptSetClearDepth(Context * rsc, RsScript vs, float v)
+{
+    Script *s = static_cast<Script *>(vs);
+    s->mEnviroment.mClearDepth = v;
+}
+
+void rsi_ScriptSetClearStencil(Context * rsc, RsScript vs, uint32_t v)
+{
+    Script *s = static_cast<Script *>(vs);
+    s->mEnviroment.mClearStencil = v;
+}
 
 }
 }
diff --git a/libs/rs/rsScriptC.cpp b/libs/rs/rsScriptC.cpp
index 3b9d27a..b0b8404 100644
--- a/libs/rs/rsScriptC.cpp
+++ b/libs/rs/rsScriptC.cpp
@@ -49,7 +49,7 @@
 
 bool ScriptC::run(Context *rsc, uint32_t launchIndex)
 {
-    Context::ScriptTLSStruct * tls = 
+    Context::ScriptTLSStruct * tls =
     (Context::ScriptTLSStruct *)pthread_getspecific(Context::gThreadTLSKey);
 
     if (mEnviroment.mFragmentStore.get()) {
@@ -100,7 +100,7 @@
 
 }
 
-static ACCvoid* symbolLookup(ACCvoid* pContext, const ACCchar* name) 
+static ACCvoid* symbolLookup(ACCvoid* pContext, const ACCchar* name)
 {
     const ScriptCState::SymbolTable_t *sym = ScriptCState::lookupSymbol(name);
     if (sym) {
@@ -194,7 +194,7 @@
                     mEnviroment.mFragmentStore.clear();
                     continue;
                 }
-                ProgramFragmentStore * pfs = 
+                ProgramFragmentStore * pfs =
                     (ProgramFragmentStore *)rsc->lookupName(str[ct+1]);
                 if (pfs != NULL) {
                     mEnviroment.mFragmentStore.set(pfs);
@@ -205,7 +205,7 @@
 
         }
 
-            
+
     } else {
         // Deal with an error.
     }
@@ -221,33 +221,6 @@
     ss->clear();
 }
 
-void rsi_ScriptCSetClearColor(Context * rsc, float r, float g, float b, float a)
-{
-    ScriptCState *ss = &rsc->mScriptC;
-    ss->mEnviroment.mClearColor[0] = r;
-    ss->mEnviroment.mClearColor[1] = g;
-    ss->mEnviroment.mClearColor[2] = b;
-    ss->mEnviroment.mClearColor[3] = a;
-}
-
-void rsi_ScriptCSetTimeZone(Context * rsc, const char * timeZone, uint32_t length)
-{
-    ScriptCState *ss = &rsc->mScriptC;
-    ss->mEnviroment.mTimeZone = timeZone;
-}
-
-void rsi_ScriptCSetClearDepth(Context * rsc, float v)
-{
-    ScriptCState *ss = &rsc->mScriptC;
-    ss->mEnviroment.mClearDepth = v;
-}
-
-void rsi_ScriptCSetClearStencil(Context * rsc, uint32_t v)
-{
-    ScriptCState *ss = &rsc->mScriptC;
-    ss->mEnviroment.mClearStencil = v;
-}
-
 void rsi_ScriptCAddType(Context * rsc, RsType vt)
 {
     ScriptCState *ss = &rsc->mScriptC;
diff --git a/libs/rs/rsScriptC_Lib.cpp b/libs/rs/rsScriptC_Lib.cpp
index e4979ea..b17121f 100644
--- a/libs/rs/rsScriptC_Lib.cpp
+++ b/libs/rs/rsScriptC_Lib.cpp
@@ -17,6 +17,7 @@
 #include "rsContext.h"
 #include "rsScriptC.h"
 #include "rsMatrix.h"
+#include "rsNoise.h"
 
 #include "acc/acc.h"
 #include "utils/String8.h"
@@ -58,6 +59,42 @@
     return i[offset];
 }
 
+static float* SC_loadArrayF(uint32_t bank, uint32_t offset)
+{
+    GET_TLS();
+    void *vp = sc->mSlots[bank]->getPtr();
+    float *f = static_cast<float *>(vp);
+    return f + offset;
+}
+
+static int32_t* SC_loadArrayI32(uint32_t bank, uint32_t offset)
+{
+    GET_TLS();
+    void *vp = sc->mSlots[bank]->getPtr();
+    int32_t *i = static_cast<int32_t *>(vp);
+    return i + offset;
+}
+
+static float* SC_loadTriangleMeshVerticesF(RsTriangleMesh mesh)
+{
+    TriangleMesh *tm = static_cast<TriangleMesh *>(mesh);
+    void *vp = tm->mVertexData;
+    float *f = static_cast<float *>(vp);
+    return f;
+}
+
+static void SC_updateTriangleMesh(RsTriangleMesh mesh)
+{
+    TriangleMesh *tm = static_cast<TriangleMesh *>(mesh);
+    glBindBuffer(GL_ARRAY_BUFFER, tm->mBufferObjects[0]);
+    glBufferData(GL_ARRAY_BUFFER, tm->mVertexDataSize, tm->mVertexData, GL_STATIC_DRAW);
+    glBindBuffer(GL_ARRAY_BUFFER, 0);
+    
+    glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, tm->mBufferObjects[1]);
+    glBufferData(GL_ELEMENT_ARRAY_BUFFER, tm->mIndexDataSize, tm->mIndexData, GL_STATIC_DRAW);
+    glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0);    
+}
+
 static uint32_t SC_loadU32(uint32_t bank, uint32_t offset)
 {
     GET_TLS();
@@ -566,6 +603,36 @@
     glColor4f(r, g, b, a);
 }
 
+static void SC_ambient(float r, float g, float b, float a)
+{
+    GLfloat params[] = { r, g, b, a };
+    glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, params);
+}
+
+static void SC_diffuse(float r, float g, float b, float a)
+{
+    GLfloat params[] = { r, g, b, a };
+    glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, params);
+}
+
+static void SC_specular(float r, float g, float b, float a)
+{
+    GLfloat params[] = { r, g, b, a };
+    glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, params);
+}
+
+static void SC_emission(float r, float g, float b, float a)
+{
+    GLfloat params[] = { r, g, b, a };
+    glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, params);
+}
+
+static void SC_shininess(float r, float g, float b, float a)
+{
+    GLfloat params[] = { r, g, b, a };
+    glMaterialfv(GL_FRONT_AND_BACK, GL_SHININESS, params);
+}
+
 static void SC_hsb(float h, float s, float b, float a)
 {
     float red = 0.0f;
@@ -677,6 +744,10 @@
     //{ "loadU32", (void *)&SC_loadU32, "unsigned int", "(int, int)" },
     { "loadF", (void *)&SC_loadF,
         "float", "(int, int)" },
+    { "loadArrayF", (void *)&SC_loadArrayF,
+        "float*", "(int, int)" },
+    { "loadArrayI32", (void *)&SC_loadArrayI32,
+        "int*", "(int, int)" },
     { "loadVec4", (void *)&SC_loadVec4,
         "void", "(int, int, float *)" },
     { "loadMatrix", (void *)&SC_loadMatrix,
@@ -690,6 +761,10 @@
         "void", "(int, int, float *)" },
     { "storeMatrix", (void *)&SC_storeMatrix,
         "void", "(int, int, float *)" },
+    { "loadTriangleMeshVerticesF", (void *)&SC_loadTriangleMeshVerticesF,
+        "float*", "(int)" },
+    { "updateTriangleMesh", (void *)&SC_updateTriangleMesh,
+        "void", "(int)" },
 
     // math
     { "sinf", (void *)&sinf,
@@ -748,6 +823,16 @@
         "float", "(float, float, float)" },
     { "mapf", (void *)&SC_mapf,
         "float", "(float, float, float, float, float)" },
+    { "noisef", (void *)&SC_noisef,
+        "float", "(float)" },
+    { "noisef2", (void *)&SC_noisef2,
+        "float", "(float, float)" },
+    { "noisef3", (void *)&SC_noisef3,
+        "float", "(float, float, float)" },
+    { "turbulencef2", (void *)&SC_turbulencef2,
+        "float", "(float, float, float)" },
+    { "turbulencef3", (void *)&SC_turbulencef3,
+        "float", "(float, float, float, float)" },
 
     // time
     { "second", (void *)&SC_second,
@@ -827,6 +912,16 @@
         "void", "(float, float, float, float)" },
     { "hsb", (void *)&SC_hsb,
         "void", "(float, float, float, float)" },
+    { "ambient", (void *)&SC_ambient,
+        "void", "(float, float, float, float)" },
+    { "diffuse", (void *)&SC_diffuse,
+        "void", "(float, float, float, float)" },
+    { "specular", (void *)&SC_specular,
+        "void", "(float, float, float, float)" },
+    { "emission", (void *)&SC_emission,
+        "void", "(float, float, float, float)" },
+    { "shininess", (void *)&SC_shininess,
+        "void", "(float, float, float, float)" },
 
     { "uploadToTexture", (void *)&SC_uploadToTexture,
         "void", "(int, int)" },
diff --git a/libs/rs/rsUtils.h b/libs/rs/rsUtils.h
index b13e88f..f0e4750 100644
--- a/libs/rs/rsUtils.h
+++ b/libs/rs/rsUtils.h
@@ -17,12 +17,13 @@
 #ifndef ANDROID_RS_UTILS_H
 #define ANDROID_RS_UTILS_H
 
-#define LOG_NDEBUG 0 
+#define LOG_NDEBUG 0
 #define LOG_TAG "rs"
 #include <utils/Log.h>
 #include <utils/Vector.h>
 #include <stdlib.h>
 #include <pthread.h>
+#include <time.h>
 
 #include <EGL/egl.h>
 #include <math.h>
@@ -38,6 +39,8 @@
 #define rsAssert(v) while(0)
 #endif
 
+#define RS_LOG_TIMES 0
+
 template<typename T>
 T rsMin(T in1, T in2)
 {
diff --git a/libs/surfaceflinger/DisplayHardware/DisplayHardware.cpp b/libs/surfaceflinger/DisplayHardware/DisplayHardware.cpp
index f0615f0b..002a3ab 100644
--- a/libs/surfaceflinger/DisplayHardware/DisplayHardware.cpp
+++ b/libs/surfaceflinger/DisplayHardware/DisplayHardware.cpp
@@ -26,6 +26,7 @@
 
 #include <ui/PixelFormat.h>
 #include <ui/FramebufferNativeWindow.h>
+#include <ui/EGLUtils.h>
 
 #include <GLES/gl.h>
 #include <EGL/egl.h>
@@ -144,32 +145,11 @@
     eglInitialize(display, NULL, NULL);
     eglGetConfigs(display, NULL, 0, &numConfigs);
 
-    // Get all the "potential match" configs...
-    EGLConfig* const configs = new EGLConfig[numConfigs];
-    eglChooseConfig(display, attribs, configs, numConfigs, &n);
-    LOGE_IF(n<=0, "no EGLConfig available!");
-    EGLConfig config = configs[0];
-    if (n > 1) {
-        // if there is more than one candidate, go through the list
-        // and pick one that matches our framebuffer format
-        int fbSzA = fbFormatInfo.getSize(PixelFormatInfo::INDEX_ALPHA);
-        int fbSzR = fbFormatInfo.getSize(PixelFormatInfo::INDEX_RED);
-        int fbSzG = fbFormatInfo.getSize(PixelFormatInfo::INDEX_GREEN);
-        int fbSzB = fbFormatInfo.getSize(PixelFormatInfo::INDEX_BLUE); 
-        for (int i=0 ; i<n ; i++) {
-            EGLint r,g,b,a;
-            eglGetConfigAttrib(display, configs[i], EGL_RED_SIZE,   &r);
-            eglGetConfigAttrib(display, configs[i], EGL_GREEN_SIZE, &g);
-            eglGetConfigAttrib(display, configs[i], EGL_BLUE_SIZE,  &b);
-            eglGetConfigAttrib(display, configs[i], EGL_ALPHA_SIZE, &a);
-            if (fbSzA == a && fbSzR == r && fbSzG == g && fbSzB  == b) {
-                config = configs[i];
-                break;
-            }
-        }
-    }
-    delete [] configs;
-
+    EGLConfig config;
+    status_t err = EGLUtils::selectConfigForPixelFormat(
+            display, attribs, fbDev->format, &config);
+    LOGE_IF(err, "couldn't find an EGLConfig matching the screen format");
+    
     /*
      * Gather EGL extensions
      */
diff --git a/libs/ui/Android.mk b/libs/ui/Android.mk
index 49939ca..93c7263 100644
--- a/libs/ui/Android.mk
+++ b/libs/ui/Android.mk
@@ -5,6 +5,7 @@
 	BufferMapper.cpp \
 	Camera.cpp \
 	CameraParameters.cpp \
+	EGLUtils.cpp \
 	EventHub.cpp \
 	EventRecurrence.cpp \
 	FramebufferNativeWindow.cpp \
@@ -29,6 +30,7 @@
 LOCAL_SHARED_LIBRARIES := \
 	libcutils \
 	libutils \
+	libEGL \
 	libbinder \
 	libpixelflinger \
 	libhardware \
diff --git a/libs/ui/EGLUtils.cpp b/libs/ui/EGLUtils.cpp
new file mode 100644
index 0000000..80bfdfd
--- /dev/null
+++ b/libs/ui/EGLUtils.cpp
@@ -0,0 +1,105 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+#define LOG_TAG "EGLUtils"
+
+#include <utils/Errors.h>
+
+#include <ui/EGLUtils.h>
+
+#include <EGL/egl.h>
+
+#include <private/ui/android_natives_priv.h>
+
+// ----------------------------------------------------------------------------
+namespace android {
+// ----------------------------------------------------------------------------
+
+status_t EGLUtils::selectConfigForPixelFormat(
+        EGLDisplay dpy,
+        EGLint const* attrs,
+        PixelFormat format,
+        EGLConfig* outConfig)
+{
+    EGLint numConfigs = -1, n=0;
+
+    if (outConfig == NULL)
+        return BAD_VALUE;
+    
+    int err;
+    PixelFormatInfo fbFormatInfo;
+    if ((err = getPixelFormatInfo(PixelFormat(format), &fbFormatInfo)) < 0) {
+        return err;
+    }
+
+    // Get all the "potential match" configs...
+    if (eglGetConfigs(dpy, NULL, 0, &numConfigs) == EGL_FALSE)
+        return BAD_VALUE;
+
+    EGLConfig* const configs = (EGLConfig*)malloc(sizeof(EGLConfig)*numConfigs);
+    if (eglChooseConfig(dpy, attrs, configs, numConfigs, &n) == EGL_FALSE) {
+        free(configs);
+        return BAD_VALUE;
+    }
+
+    const int fbSzA = fbFormatInfo.getSize(PixelFormatInfo::INDEX_ALPHA);
+    const int fbSzR = fbFormatInfo.getSize(PixelFormatInfo::INDEX_RED);
+    const int fbSzG = fbFormatInfo.getSize(PixelFormatInfo::INDEX_GREEN);
+    const int fbSzB = fbFormatInfo.getSize(PixelFormatInfo::INDEX_BLUE); 
+    
+    int i;
+    EGLConfig config = NULL;
+    for (i=0 ; i<n ; i++) {
+        EGLint r,g,b,a;
+        eglGetConfigAttrib(dpy, configs[i], EGL_RED_SIZE,   &r);
+        eglGetConfigAttrib(dpy, configs[i], EGL_GREEN_SIZE, &g);
+        eglGetConfigAttrib(dpy, configs[i], EGL_BLUE_SIZE,  &b);
+        eglGetConfigAttrib(dpy, configs[i], EGL_ALPHA_SIZE, &a);
+        if (fbSzA == a && fbSzR == r && fbSzG == g && fbSzB  == b) {
+            config = configs[i];
+            break;
+        }
+    }
+
+    free(configs);
+    
+    if (i<n) {
+        *outConfig = config;
+        return NO_ERROR;
+    }
+
+    return NAME_NOT_FOUND;
+}
+
+status_t EGLUtils::selectConfigForNativeWindow(
+        EGLDisplay dpy,
+        EGLint const* attrs,
+        EGLNativeWindowType window,
+        EGLConfig* outConfig)
+{
+    int err;
+    int format;
+    if ((err = window->query(window, NATIVE_WINDOW_FORMAT, &format)) < 0) {
+        return err;
+    }
+
+    return selectConfigForPixelFormat(dpy, attrs, format, outConfig);
+}
+
+// ----------------------------------------------------------------------------
+}; // namespace android
+// ----------------------------------------------------------------------------
diff --git a/libs/ui/EventHub.cpp b/libs/ui/EventHub.cpp
index 59c9476..df713cb 100644
--- a/libs/ui/EventHub.cpp
+++ b/libs/ui/EventHub.cpp
@@ -16,6 +16,7 @@
 //#define LOG_NDEBUG 0
 
 #include <ui/EventHub.h>
+#include <ui/KeycodeLabels.h>
 #include <hardware_legacy/power.h>
 
 #include <cutils/properties.h>
@@ -58,6 +59,18 @@
 #define SEQ_SHIFT 16
 #define id_to_index(id)         ((id&ID_MASK)+1)
 
+#ifndef ABS_MT_TOUCH_MAJOR
+#define ABS_MT_TOUCH_MAJOR      0x30    /* Major axis of touching ellipse */
+#endif
+
+#ifndef ABS_MT_POSITION_X
+#define ABS_MT_POSITION_X       0x35    /* Center X ellipse position */
+#endif
+
+#ifndef ABS_MT_POSITION_Y
+#define ABS_MT_POSITION_Y       0x36    /* Center Y ellipse position */
+#endif
+
 namespace android {
 
 static const char *WAKE_LOCK_ID = "KeyEvents";
@@ -69,8 +82,8 @@
     return (v1 > v2) ? v1 : v2;
 }
 
-EventHub::device_t::device_t(int32_t _id, const char* _path)
-    : id(_id), path(_path), classes(0)
+EventHub::device_t::device_t(int32_t _id, const char* _path, const char* name)
+    : id(_id), path(_path), name(name), classes(0)
     , keyBitmask(NULL), layoutMap(new KeyLayoutMap()), next(NULL) {
 }
 
@@ -580,7 +593,7 @@
         version >> 16, (version >> 8) & 0xff, version & 0xff);
 #endif
 
-    device_t* device = new device_t(devid|mDevicesById[devid].seq, deviceName);
+    device_t* device = new device_t(devid|mDevicesById[devid].seq, deviceName, name);
     if (device == NULL) {
         LOGE("out of memory");
         return -1;
@@ -590,6 +603,8 @@
     mFDs[mFDCount].events = POLLIN;
 
     // figure out the kinds of events the device reports
+    
+    // See if this is a keyboard, and classify it.
     uint8_t key_bitmask[(KEY_MAX+1)/8];
     memset(key_bitmask, 0, sizeof(key_bitmask));
     LOGV("Getting keys...");
@@ -601,15 +616,11 @@
         for (int i=0; i<((BTN_MISC+7)/8); i++) {
             if (key_bitmask[i] != 0) {
                 device->classes |= CLASS_KEYBOARD;
-                // 'Q' key support = cheap test of whether this is an alpha-capable kbd
-                if (test_bit(KEY_Q, key_bitmask)) {
-                    device->classes |= CLASS_ALPHAKEY;
-                }
                 break;
             }
         }
         if ((device->classes & CLASS_KEYBOARD) != 0) {
-            device->keyBitmask = new uint8_t[(KEY_MAX+1)/8];
+            device->keyBitmask = new uint8_t[sizeof(key_bitmask)];
             if (device->keyBitmask != NULL) {
                 memcpy(device->keyBitmask, key_bitmask, sizeof(key_bitmask));
             } else {
@@ -619,6 +630,8 @@
             }
         }
     }
+    
+    // See if this is a trackball.
     if (test_bit(BTN_MOUSE, key_bitmask)) {
         uint8_t rel_bitmask[(REL_MAX+1)/8];
         memset(rel_bitmask, 0, sizeof(rel_bitmask));
@@ -630,16 +643,22 @@
             }
         }
     }
-    if (test_bit(BTN_TOUCH, key_bitmask)) {
-        uint8_t abs_bitmask[(ABS_MAX+1)/8];
-        memset(abs_bitmask, 0, sizeof(abs_bitmask));
-        LOGV("Getting absolute controllers...");
-        if (ioctl(fd, EVIOCGBIT(EV_ABS, sizeof(abs_bitmask)), abs_bitmask) >= 0)
-        {
-            if (test_bit(ABS_X, abs_bitmask) && test_bit(ABS_Y, abs_bitmask)) {
-                device->classes |= CLASS_TOUCHSCREEN;
-            }
-        }
+    
+    uint8_t abs_bitmask[(ABS_MAX+1)/8];
+    memset(abs_bitmask, 0, sizeof(abs_bitmask));
+    LOGV("Getting absolute controllers...");
+    ioctl(fd, EVIOCGBIT(EV_ABS, sizeof(abs_bitmask)), abs_bitmask);
+    
+    // Is this a new modern multi-touch driver?
+    if (test_bit(ABS_MT_TOUCH_MAJOR, abs_bitmask)
+            && test_bit(ABS_MT_POSITION_X, abs_bitmask)
+            && test_bit(ABS_MT_POSITION_Y, abs_bitmask)) {
+        device->classes |= CLASS_TOUCHSCREEN | CLASS_TOUCHSCREEN_MT;
+        
+    // Is this an old style single-touch driver?
+    } else if (test_bit(BTN_TOUCH, key_bitmask)
+            && test_bit(ABS_X, abs_bitmask) && test_bit(ABS_Y, abs_bitmask)) {
+        device->classes |= CLASS_TOUCHSCREEN;
     }
 
 #ifdef EV_SW
@@ -658,21 +677,15 @@
     }
 #endif
 
-    LOGI("New device: path=%s name=%s id=0x%x (of 0x%x) index=%d fd=%d classes=0x%x\n",
-         deviceName, name, device->id, mNumDevicesById, mFDCount, fd, device->classes);
-
     if ((device->classes&CLASS_KEYBOARD) != 0) {
-        char devname[101];
-        char tmpfn[101];
+        char tmpfn[sizeof(name)];
         char keylayoutFilename[300];
 
         // a more descriptive name
-        ioctl(mFDs[mFDCount].fd, EVIOCGNAME(sizeof(devname)-1), devname);
-        devname[sizeof(devname)-1] = 0;
-        device->name = devname;
+        device->name = name;
 
         // replace all the spaces with underscores
-        strcpy(tmpfn, devname);
+        strcpy(tmpfn, name);
         for (char *p = strchr(tmpfn, ' '); p && *p; p = strchr(tmpfn, ' '))
             *p = '_';
 
@@ -705,12 +718,29 @@
         }
         char propName[100];
         sprintf(propName, "hw.keyboards.%u.devname", publicID);
-        property_set(propName, devname);
+        property_set(propName, name);
 
-        LOGI("New keyboard: publicID=%d device->id=%d devname='%s' propName='%s' keylayout='%s'\n",
-                publicID, device->id, devname, propName, keylayoutFilename);
+        // 'Q' key support = cheap test of whether this is an alpha-capable kbd
+        if (hasKeycode(device, kKeyCodeQ)) {
+            device->classes |= CLASS_ALPHAKEY;
+        }
+        
+        // See if this has a DPAD.
+        if (hasKeycode(device, kKeyCodeDpadUp) &&
+                hasKeycode(device, kKeyCodeDpadDown) &&
+                hasKeycode(device, kKeyCodeDpadLeft) &&
+                hasKeycode(device, kKeyCodeDpadRight) &&
+                hasKeycode(device, kKeyCodeDpadCenter)) {
+            device->classes |= CLASS_DPAD;
+        }
+        
+        LOGI("New keyboard: publicID=%d device->id=0x%x devname='%s' propName='%s' keylayout='%s'\n",
+                publicID, device->id, name, propName, keylayoutFilename);
     }
 
+    LOGI("New device: path=%s name=%s id=0x%x (of 0x%x) index=%d fd=%d classes=0x%x\n",
+         deviceName, name, device->id, mNumDevicesById, mFDCount, fd, device->classes);
+         
     LOGV("Adding device %s %p at %d, id = %d, classes = 0x%x\n",
          deviceName, device, mFDCount, devid, device->classes);
 
@@ -723,6 +753,25 @@
     return 0;
 }
 
+bool EventHub::hasKeycode(device_t* device, int keycode) const
+{
+    if (device->keyBitmask == NULL || device->layoutMap == NULL) {
+        return false;
+    }
+    
+    Vector<int32_t> scanCodes;
+    device->layoutMap->findScancodes(keycode, &scanCodes);
+    const size_t N = scanCodes.size();
+    for (size_t i=0; i<N && i<=KEY_MAX; i++) {
+        int32_t sc = scanCodes.itemAt(i);
+        if (sc >= 0 && sc <= KEY_MAX && test_bit(sc, device->keyBitmask)) {
+            return true;
+        }
+    }
+    
+    return false;
+}
+
 int EventHub::close_device(const char *deviceName)
 {
     AutoMutex _l(mLock);
diff --git a/libs/ui/FramebufferNativeWindow.cpp b/libs/ui/FramebufferNativeWindow.cpp
index 8b7ea21..7b85c7f 100644
--- a/libs/ui/FramebufferNativeWindow.cpp
+++ b/libs/ui/FramebufferNativeWindow.cpp
@@ -212,6 +212,9 @@
         case NATIVE_WINDOW_HEIGHT:
             *value = fb->height;
             return NO_ERROR;
+        case NATIVE_WINDOW_FORMAT:
+            *value = fb->format;
+            return NO_ERROR;
     }
     return BAD_VALUE;
 }
diff --git a/libs/ui/Surface.cpp b/libs/ui/Surface.cpp
index a4710aa..4abb7f6 100644
--- a/libs/ui/Surface.cpp
+++ b/libs/ui/Surface.cpp
@@ -108,6 +108,9 @@
 status_t SurfaceBuffer::writeToParcel(Parcel* reply, 
         android_native_buffer_t const* buffer)
 {
+    if (buffer == NULL) {
+        return BAD_VALUE;
+    }
     reply->writeInt32(buffer->width);
     reply->writeInt32(buffer->height);
     reply->writeInt32(buffer->stride);
@@ -617,6 +620,9 @@
         case NATIVE_WINDOW_HEIGHT:
             *value = int(mHeight);
             return NO_ERROR;
+        case NATIVE_WINDOW_FORMAT:
+            *value = int(mFormat);
+            return NO_ERROR;
     }
     return BAD_VALUE;
 }
diff --git a/location/java/android/location/GpsStatus.java b/location/java/android/location/GpsStatus.java
index 2cda7fa..ce69ac1 100644
--- a/location/java/android/location/GpsStatus.java
+++ b/location/java/android/location/GpsStatus.java
@@ -115,6 +115,18 @@
         void onGpsStatusChanged(int event);
     }
 
+    /**
+     * Used for receiving NMEA sentences from the GPS.
+     * NMEA 0183 is a standard for communicating with marine electronic devices
+     * and is a common method for receiving data from a GPS, typically over a serial port.
+     * See <a href="http://en.wikipedia.org/wiki/NMEA_0183">NMEA 0183</a> for more details.
+     * You can implement this interface and call {@link LocationManager#addNmeaListener}
+     * to receive NMEA data from the GPS engine.
+     */
+    public interface NmeaListener {
+        void onNmeaReceived(long timestamp, String nmea);
+    }
+
     GpsStatus() {
         for (int i = 0; i < mSatellites.length; i++) {
             mSatellites[i] = new GpsSatellite(i + 1);
diff --git a/location/java/android/location/IGpsStatusListener.aidl b/location/java/android/location/IGpsStatusListener.aidl
index 5dc0fe8..62b1c6b 100644
--- a/location/java/android/location/IGpsStatusListener.aidl
+++ b/location/java/android/location/IGpsStatusListener.aidl
@@ -29,4 +29,5 @@
     void onSvStatusChanged(int svCount, in int[] prns, in float[] snrs, 
             in float[] elevations, in float[] azimuths, 
             int ephemerisMask, int almanacMask, int usedInFixMask);
+    void onNmeaReceived(long timestamp, String nmea);
 }
diff --git a/location/java/android/location/LocationManager.java b/location/java/android/location/LocationManager.java
index ca16f19..8f0352d 100644
--- a/location/java/android/location/LocationManager.java
+++ b/location/java/android/location/LocationManager.java
@@ -51,6 +51,8 @@
     private ILocationManager mService;
     private final HashMap<GpsStatus.Listener, GpsStatusListenerTransport> mGpsStatusListeners =
             new HashMap<GpsStatus.Listener, GpsStatusListenerTransport>();
+    private final HashMap<GpsStatus.NmeaListener, GpsStatusListenerTransport> mNmeaListeners =
+            new HashMap<GpsStatus.NmeaListener, GpsStatusListenerTransport>();
     private final GpsStatus mGpsStatus = new GpsStatus();
 
     /**
@@ -1123,49 +1125,103 @@
     private class GpsStatusListenerTransport extends IGpsStatusListener.Stub {
 
         private final GpsStatus.Listener mListener;
+        private final GpsStatus.NmeaListener mNmeaListener;
+
+        // This must not equal any of the GpsStatus event IDs
+        private static final int NMEA_RECEIVED = 1000;
+
+        private class Nmea {
+            long mTimestamp;
+            String mNmea;
+
+            Nmea(long timestamp, String nmea) {
+                mTimestamp = timestamp;
+                mNmea = nmea;
+            }
+        }
+        private ArrayList<Nmea> mNmeaBuffer;
 
         GpsStatusListenerTransport(GpsStatus.Listener listener) {
             mListener = listener;
+            mNmeaListener = null;
+        }
+
+        GpsStatusListenerTransport(GpsStatus.NmeaListener listener) {
+            mNmeaListener = listener;
+            mListener = null;
+            mNmeaBuffer = new ArrayList<Nmea>();
         }
 
         public void onGpsStarted() {
-            Message msg = Message.obtain();
-            msg.what = GpsStatus.GPS_EVENT_STARTED;
-            mGpsHandler.sendMessage(msg);
+            if (mListener != null) {
+                Message msg = Message.obtain();
+                msg.what = GpsStatus.GPS_EVENT_STARTED;
+                mGpsHandler.sendMessage(msg);
+            }
         }
 
         public void onGpsStopped() {
-            Message msg = Message.obtain();
-            msg.what = GpsStatus.GPS_EVENT_STOPPED;
-            mGpsHandler.sendMessage(msg);
+            if (mListener != null) {
+                Message msg = Message.obtain();
+                msg.what = GpsStatus.GPS_EVENT_STOPPED;
+                mGpsHandler.sendMessage(msg);
+            }
         }
 
         public void onFirstFix(int ttff) {
-            mGpsStatus.setTimeToFirstFix(ttff);
-            Message msg = Message.obtain();
-            msg.what = GpsStatus.GPS_EVENT_FIRST_FIX;
-            mGpsHandler.sendMessage(msg);
+            if (mListener != null) {
+                mGpsStatus.setTimeToFirstFix(ttff);
+                Message msg = Message.obtain();
+                msg.what = GpsStatus.GPS_EVENT_FIRST_FIX;
+                mGpsHandler.sendMessage(msg);
+            }
         }
 
         public void onSvStatusChanged(int svCount, int[] prns, float[] snrs,
                 float[] elevations, float[] azimuths, int ephemerisMask,
                 int almanacMask, int usedInFixMask) {
-            mGpsStatus.setStatus(svCount, prns, snrs, elevations, azimuths,
-                    ephemerisMask, almanacMask, usedInFixMask);
+            if (mListener != null) {
+                mGpsStatus.setStatus(svCount, prns, snrs, elevations, azimuths,
+                        ephemerisMask, almanacMask, usedInFixMask);
 
-            Message msg = Message.obtain();
-            msg.what = GpsStatus.GPS_EVENT_SATELLITE_STATUS;
-            // remove any SV status messages already in the queue
-            mGpsHandler.removeMessages(GpsStatus.GPS_EVENT_SATELLITE_STATUS);
-            mGpsHandler.sendMessage(msg);
+                Message msg = Message.obtain();
+                msg.what = GpsStatus.GPS_EVENT_SATELLITE_STATUS;
+                // remove any SV status messages already in the queue
+                mGpsHandler.removeMessages(GpsStatus.GPS_EVENT_SATELLITE_STATUS);
+                mGpsHandler.sendMessage(msg);
+            }
+        }
+
+        public void onNmeaReceived(long timestamp, String nmea) {
+            if (mNmeaListener != null) {
+                synchronized (mNmeaBuffer) {
+                    mNmeaBuffer.add(new Nmea(timestamp, nmea));
+                }
+                Message msg = Message.obtain();
+                msg.what = NMEA_RECEIVED;
+                // remove any NMEA_RECEIVED messages already in the queue
+                mGpsHandler.removeMessages(NMEA_RECEIVED);
+                mGpsHandler.sendMessage(msg);
+            }
         }
 
         private final Handler mGpsHandler = new Handler() {
             @Override
             public void handleMessage(Message msg) {
-                // synchronize on mGpsStatus to ensure the data is copied atomically.
-                synchronized(mGpsStatus) {
-                    mListener.onGpsStatusChanged(msg.what);
+                if (msg.what == NMEA_RECEIVED) {
+                    synchronized (mNmeaBuffer) {
+                        int length = mNmeaBuffer.size();
+                        for (int i = 0; i < length; i++) {
+                            Nmea nmea = mNmeaBuffer.get(i);
+                            mNmeaListener.onNmeaReceived(nmea.mTimestamp, nmea.mNmea);
+                        }
+                        mNmeaBuffer.clear();
+                    }
+                } else {
+                    // synchronize on mGpsStatus to ensure the data is copied atomically.
+                    synchronized(mGpsStatus) {
+                        mListener.onGpsStatusChanged(msg.what);
+                    }
                 }
             }
         };
@@ -1217,6 +1273,52 @@
         }
     }
 
+    /**
+     * Adds an NMEA listener.
+     *
+     * @param listener a {#link GpsStatus.NmeaListener} object to register
+     *
+     * @return true if the listener was successfully added
+     *
+     * @throws SecurityException if the ACCESS_FINE_LOCATION permission is not present
+     */
+    public boolean addNmeaListener(GpsStatus.NmeaListener listener) {
+        boolean result;
+
+        if (mNmeaListeners.get(listener) != null) {
+            // listener is already registered
+            return true;
+        }
+        try {
+            GpsStatusListenerTransport transport = new GpsStatusListenerTransport(listener);
+            result = mService.addGpsStatusListener(transport);
+            if (result) {
+                mNmeaListeners.put(listener, transport);
+            }
+        } catch (RemoteException e) {
+            Log.e(TAG, "RemoteException in registerGpsStatusListener: ", e);
+            result = false;
+        }
+
+        return result;
+    }
+
+    /**
+     * Removes an NMEA listener.
+     *
+     * @param listener a {#link GpsStatus.NmeaListener} object to remove
+     */
+    public void removeNmeaListener(GpsStatus.NmeaListener listener) {
+        try {
+            GpsStatusListenerTransport transport = mNmeaListeners.remove(listener);
+            if (transport != null) {
+                mService.removeGpsStatusListener(transport);
+            }
+        } catch (RemoteException e) {
+            Log.e(TAG, "RemoteException in unregisterGpsStatusListener: ", e);
+        }
+    }
+
      /**
      * Retrieves information about the current status of the GPS engine.
      * This should only be called from the {@link GpsStatus.Listener#onGpsStatusChanged}
diff --git a/location/java/com/android/internal/location/GpsLocationProvider.java b/location/java/com/android/internal/location/GpsLocationProvider.java
index aaac192..bdef01f 100755
--- a/location/java/com/android/internal/location/GpsLocationProvider.java
+++ b/location/java/com/android/internal/location/GpsLocationProvider.java
@@ -1014,6 +1014,32 @@
         }
     }
 
+    /**
+     * called from native code to report NMEA data received
+     */
+    private void reportNmea(int index, long timestamp) {
+        synchronized(mListeners) {
+            int size = mListeners.size();
+            if (size > 0) {
+                // don't bother creating the String if we have no listeners
+                int length = native_read_nmea(index, mNmeaBuffer, mNmeaBuffer.length);
+                String nmea = new String(mNmeaBuffer, 0, length);
+
+                for (int i = 0; i < size; i++) {
+                    Listener listener = mListeners.get(i);
+                    try {
+                        listener.mListener.onNmeaReceived(timestamp, nmea);
+                    } catch (RemoteException e) {
+                        Log.w(TAG, "RemoteException in reportNmea");
+                        mListeners.remove(listener);
+                        // adjust for size of list changing
+                        size--;
+                    }
+                }
+            }
+        }
+    }
+
     private void xtraDownloadRequest() {
         if (Config.LOGD) Log.d(TAG, "xtraDownloadRequest");
         if (mNetworkThread != null) {
@@ -1194,6 +1220,8 @@
     private float mSvAzimuths[] = new float[MAX_SVS];
     private int mSvMasks[] = new int[3];
     private int mSvCount;
+    // preallocated to avoid memory allocation in reportNmea()
+    private byte[] mNmeaBuffer = new byte[120];
 
     static { class_init_native(); }
     private static native void class_init_native();
@@ -1211,6 +1239,7 @@
     // mask[0] is ephemeris mask and mask[1] is almanac mask
     private native int native_read_sv_status(int[] svs, float[] snrs,
             float[] elevations, float[] azimuths, int[] masks);
+    private native int native_read_nmea(int index, byte[] buffer, int bufferSize);
     private native void native_inject_location(double latitude, double longitude, float accuracy);
 
     // XTRA Support    
diff --git a/media/libdrm/mobile1/Android.mk b/media/libdrm/mobile1/Android.mk
index 2065cd2..f105799 100644
--- a/media/libdrm/mobile1/Android.mk
+++ b/media/libdrm/mobile1/Android.mk
@@ -36,15 +36,15 @@
     $(LOCAL_PATH)/include/objmng    \
     $(LOCAL_PATH)/include/parser    \
     $(LOCAL_PATH)/include/xml       \
-    external/aes                     \
+    external/openssl/include        \
     $(call include-path-for, system-core)/cutils
 
 LOCAL_CFLAGS := $(LOCAL_DRM_CFLAG)
 
 LOCAL_SHARED_LIBRARIES :=   \
-	libaes                  \
-	libutils                \
-	libcutils
+    libutils                \
+    libcutils               \
+    libcrypto
 
 LOCAL_MODULE := libdrm1
 
@@ -66,15 +66,14 @@
 # Header files path
 LOCAL_C_INCLUDES :=         \
     $(LOCAL_PATH)/include   \
-	$(LOCAL_PATH)/include/parser \
+    $(LOCAL_PATH)/include/parser \
     $(JNI_H_INCLUDE)    \
-	$(call include-path-for, system-core)/cutils \
-	external/aes
+    $(call include-path-for, system-core)/cutils
 	
 
 LOCAL_SHARED_LIBRARIES := libdrm1 \
-	libutils                      \
-	libcutils
+    libutils                      \
+    libcutils
 
 LOCAL_MODULE := libdrm1_jni
 
diff --git a/media/libdrm/mobile1/include/objmng/drm_rights_manager.h b/media/libdrm/mobile1/include/objmng/drm_rights_manager.h
index dd2116c..d81e7a1 100644
--- a/media/libdrm/mobile1/include/objmng/drm_rights_manager.h
+++ b/media/libdrm/mobile1/include/objmng/drm_rights_manager.h
@@ -21,9 +21,9 @@
 extern "C" {
 #endif
 
+#include <openssl/aes.h>
 #include <drm_common_types.h>
 #include <parser_rel.h>
-#include <aes.h>
 
 #ifdef DRM_DEVICE_ARCH_ARM
 #define ANDROID_DRM_CORE_PATH   "/data/drm/rights/"
@@ -141,12 +141,12 @@
  *
  * \param Buffer    The buffer to decrypted and also used to save the output data.
  * \param BufferLen The length of the buffer data and also save the output data length.
- * \param ctx       The structure of the CEK.
+ * \param key       The structure of the CEK.
  *
  * \return
  *      -0
  */
-int32_t drm_aesDecBuffer(uint8_t * Buffer, int32_t * BufferLen, aes_decrypt_ctx ctx[1]);
+int32_t drm_aesDecBuffer(uint8_t * Buffer, int32_t * BufferLen, AES_KEY *key);
 
 /**
  * Update the DCF data length according the CEK.
diff --git a/media/libdrm/mobile1/src/objmng/drm_api.c b/media/libdrm/mobile1/src/objmng/drm_api.c
index 0e453de..249cdbe 100644
--- a/media/libdrm/mobile1/src/objmng/drm_api.c
+++ b/media/libdrm/mobile1/src/objmng/drm_api.c
@@ -22,7 +22,6 @@
 #include <drm_rights_manager.h>
 #include <drm_time.h>
 #include <drm_decoder.h>
-#include <aes.h>
 #include "log.h"
 
 /**
@@ -1578,7 +1577,7 @@
     int32_t readBytes = 0;
     int32_t bufLen, piece, i, copyBytes, leftBytes;
     int32_t aesStart, mediaStart, mediaBufOff;
-    aes_decrypt_ctx ctx[1];
+    AES_KEY key;
 
     if (FALSE == drm_getKey(s->contentID, keyValue))
         return DRM_NO_RIGHTS;
@@ -1600,7 +1599,7 @@
         piece = (offset + readBytes - 1) / DRM_ONE_AES_BLOCK_LEN - offset / DRM_ONE_AES_BLOCK_LEN + 2;
         mediaStart = offset % DRM_ONE_AES_BLOCK_LEN;
 
-        aes_decrypt_key128(keyValue, ctx);
+        AES_set_decrypt_key(keyValue, DRM_KEY_LEN * 8, &key);
         mediaBufOff = 0;
         leftBytes = readBytes;
 
@@ -1608,7 +1607,7 @@
             memcpy(buf, s->rawContent + aesStart + i * DRM_ONE_AES_BLOCK_LEN, DRM_TWO_AES_BLOCK_LEN);
             bufLen = DRM_TWO_AES_BLOCK_LEN;
 
-            if (drm_aesDecBuffer(buf, &bufLen, ctx) < 0)
+            if (drm_aesDecBuffer(buf, &bufLen, &key) < 0)
                 return DRM_MEDIA_DATA_INVALID;
 
             if (0 != i)
@@ -1651,7 +1650,7 @@
         piece = (offset + leftBytes - 1) / DRM_ONE_AES_BLOCK_LEN - offset / DRM_ONE_AES_BLOCK_LEN + 2;
         mediaBufOff = readBytes;
 
-        aes_decrypt_key128(keyValue, ctx);
+        AES_set_decrypt_key(keyValue, DRM_KEY_LEN * 8, &key);
 
         for (i = 0; i < piece - 1; i++) {
             if (-1 == (res = drm_readAesData(buf, s, aesStart, DRM_TWO_AES_BLOCK_LEN)))
@@ -1663,7 +1662,7 @@
             bufLen = DRM_TWO_AES_BLOCK_LEN;
             aesStart += DRM_ONE_AES_BLOCK_LEN;
 
-            if (drm_aesDecBuffer(buf, &bufLen, ctx) < 0)
+            if (drm_aesDecBuffer(buf, &bufLen, &key) < 0)
                 return DRM_MEDIA_DATA_INVALID;
 
             drm_discardPaddingByte(buf, &bufLen);
diff --git a/media/libdrm/mobile1/src/objmng/drm_rights_manager.c b/media/libdrm/mobile1/src/objmng/drm_rights_manager.c
index 80901f5..df22327 100644
--- a/media/libdrm/mobile1/src/objmng/drm_rights_manager.c
+++ b/media/libdrm/mobile1/src/objmng/drm_rights_manager.c
@@ -573,7 +573,7 @@
     return;
 }
 
-int32_t drm_aesDecBuffer(uint8_t * Buffer, int32_t * BufferLen, aes_decrypt_ctx ctx[1])
+int32_t drm_aesDecBuffer(uint8_t * Buffer, int32_t * BufferLen, AES_KEY *key)
 {
     uint8_t dbuf[3 * DRM_ONE_AES_BLOCK_LEN], buf[DRM_ONE_AES_BLOCK_LEN];
     uint64_t i, len, wlen = DRM_ONE_AES_BLOCK_LEN, curLen, restLen;
@@ -596,7 +596,7 @@
     if (len < 2 * DRM_ONE_AES_BLOCK_LEN) { /* The original file is less than one block in length */
         len -= DRM_ONE_AES_BLOCK_LEN;
         /* Decrypt from position len to position len + DRM_ONE_AES_BLOCK_LEN */
-        aes_decrypt((dbuf + len), (dbuf + len), ctx);
+        AES_decrypt((dbuf + len), (dbuf + len), key);
 
         /* Undo the CBC chaining */
         for (i = 0; i < len; ++i)
@@ -620,7 +620,7 @@
             Buffer += len;
 
             /* Decrypt the b2 block */
-            aes_decrypt((uint8_t *)b2, buf, ctx);
+            AES_decrypt((uint8_t *)b2, buf, key);
 
             if (len == 0 || len == DRM_ONE_AES_BLOCK_LEN) { /* No ciphertext stealing */
                 /* Unchain CBC using the previous ciphertext block in b1 */
@@ -639,7 +639,7 @@
                     b3[i] = buf[i];
 
                 /* Decrypt the C[N-1] block in b3 */
-                aes_decrypt((uint8_t *)b3, (uint8_t *)b3, ctx);
+                AES_decrypt((uint8_t *)b3, (uint8_t *)b3, key);
 
                 /* Produce the last but one plaintext block by xoring with */
                 /* The last but two ciphertext block */
@@ -669,15 +669,15 @@
 
 int32_t drm_updateDcfDataLen(uint8_t* pDcfLastData, uint8_t* keyValue, int32_t* moreBytes)
 {
-    aes_decrypt_ctx ctx[1];
+    AES_KEY key;
     int32_t len = DRM_TWO_AES_BLOCK_LEN;
 
     if (NULL == pDcfLastData || NULL == keyValue)
         return FALSE;
 
-    aes_decrypt_key128(keyValue, ctx);
+    AES_set_decrypt_key(keyValue, DRM_KEY_LEN * 8, &key);
 
-    if (drm_aesDecBuffer(pDcfLastData, &len, ctx) < 0)
+    if (drm_aesDecBuffer(pDcfLastData, &len, &key) < 0)
         return FALSE;
 
     drm_discardPaddingByte(pDcfLastData, &len);
diff --git a/media/libmedia/AudioSystem.cpp b/media/libmedia/AudioSystem.cpp
index 1fc1024..98b55e9 100644
--- a/media/libmedia/AudioSystem.cpp
+++ b/media/libmedia/AudioSystem.cpp
@@ -125,7 +125,7 @@
     return NO_ERROR;
 }
 
-status_t AudioSystem::setStreamVolume(int stream, float value, void *output)
+status_t AudioSystem::setStreamVolume(int stream, float value, int output)
 {
     if (uint32_t(stream) >= NUM_STREAM_TYPES) return BAD_VALUE;
     const sp<IAudioFlinger>& af = AudioSystem::get_audio_flinger();
@@ -143,7 +143,7 @@
     return NO_ERROR;
 }
 
-status_t AudioSystem::getStreamVolume(int stream, float* volume, void *output)
+status_t AudioSystem::getStreamVolume(int stream, float* volume, int output)
 {
     if (uint32_t(stream) >= NUM_STREAM_TYPES) return BAD_VALUE;
     const sp<IAudioFlinger>& af = AudioSystem::get_audio_flinger();
@@ -234,7 +234,7 @@
     gLock.lock();
     outputDesc = AudioSystem::gOutputs.valueFor(output);
     if (outputDesc == 0) {
-        LOGV("getOutputSamplingRate() no output descriptor for output %p in gOutputs", output);
+        LOGV("getOutputSamplingRate() no output descriptor for output %d in gOutputs", output);
         gLock.unlock();
         const sp<IAudioFlinger>& af = AudioSystem::get_audio_flinger();
         if (af == 0) return PERMISSION_DENIED;
@@ -245,7 +245,7 @@
         gLock.unlock();
     }
 
-    LOGV("getOutputSamplingRate() streamType %d, output %p, sampling rate %d", streamType, output, *samplingRate);
+    LOGV("getOutputSamplingRate() streamType %d, output %d, sampling rate %d", streamType, output, *samplingRate);
 
     return NO_ERROR;
 }
@@ -276,7 +276,7 @@
         gLock.unlock();
     }
 
-    LOGV("getOutputFrameCount() streamType %d, output %p, frameCount %d", streamType, output, *frameCount);
+    LOGV("getOutputFrameCount() streamType %d, output %d, frameCount %d", streamType, output, *frameCount);
 
     return NO_ERROR;
 }
@@ -307,7 +307,7 @@
         gLock.unlock();
     }
 
-    LOGV("getOutputLatency() streamType %d, output %p, latency %d", streamType, output, *latency);
+    LOGV("getOutputLatency() streamType %d, output %d, latency %d", streamType, output, *latency);
 
     return NO_ERROR;
 }
@@ -348,13 +348,12 @@
     LOGW("AudioFlinger server died!");
 }
 
-void AudioSystem::AudioFlingerClient::ioConfigChanged(int event, void *param1, void *param2) {
+void AudioSystem::AudioFlingerClient::ioConfigChanged(int event, int ioHandle, void *param2) {
     LOGV("ioConfigChanged() event %d", event);
-    audio_io_handle_t ioHandle = (audio_io_handle_t)param1;
     OutputDescriptor *desc;
     uint32_t stream;
 
-    if (param1 == 0) return;
+    if (ioHandle == 0) return;
 
     Mutex::Autolock _l(AudioSystem::gLock);
 
@@ -362,14 +361,14 @@
     case STREAM_CONFIG_CHANGED:
         if (param2 == 0) break;
         stream = *(uint32_t *)param2;
-        LOGV("ioConfigChanged() STREAM_CONFIG_CHANGED stream %d, output %p", stream, ioHandle);
+        LOGV("ioConfigChanged() STREAM_CONFIG_CHANGED stream %d, output %d", stream, ioHandle);
         if (gStreamOutputMap.indexOfKey(stream) >= 0) {
             gStreamOutputMap.replaceValueFor(stream, ioHandle);
         }
         break;
     case OUTPUT_OPENED: {
         if (gOutputs.indexOfKey(ioHandle) >= 0) {
-            LOGV("ioConfigChanged() opening already existing output! %p", ioHandle);
+            LOGV("ioConfigChanged() opening already existing output! %d", ioHandle);
             break;
         }
         if (param2 == 0) break;
@@ -382,10 +381,10 @@
         } break;
     case OUTPUT_CLOSED: {
         if (gOutputs.indexOfKey(ioHandle) < 0) {
-            LOGW("ioConfigChanged() closing unknow output! %p", ioHandle);
+            LOGW("ioConfigChanged() closing unknow output! %d", ioHandle);
             break;
         }
-        LOGV("ioConfigChanged() output %p closed", ioHandle);
+        LOGV("ioConfigChanged() output %d closed", ioHandle);
 
         gOutputs.removeItem(ioHandle);
         for (int i = gStreamOutputMap.size() - 1; i >= 0 ; i--) {
@@ -398,13 +397,13 @@
     case OUTPUT_CONFIG_CHANGED: {
         int index = gOutputs.indexOfKey(ioHandle);
         if (index < 0) {
-            LOGW("ioConfigChanged() modifying unknow output! %p", ioHandle);
+            LOGW("ioConfigChanged() modifying unknow output! %d", ioHandle);
             break;
         }
         if (param2 == 0) break;
         desc = (OutputDescriptor *)param2;
 
-        LOGV("ioConfigChanged() new config for output %p samplingRate %d, format %d channels %d frameCount %d latency %d",
+        LOGV("ioConfigChanged() new config for output %d samplingRate %d, format %d channels %d frameCount %d latency %d",
                 ioHandle, desc->samplingRate, desc->format,
                 desc->channels, desc->frameCount, desc->latency);
         OutputDescriptor *outputDesc = gOutputs.valueAt(index);
@@ -524,15 +523,15 @@
                                     uint32_t channels,
                                     output_flags flags)
 {
-    audio_io_handle_t output = NULL;
+    audio_io_handle_t output = 0;
     if ((flags & AudioSystem::OUTPUT_FLAG_DIRECT) == 0) {
         Mutex::Autolock _l(gLock);
         output = AudioSystem::gStreamOutputMap.valueFor(stream);
-        LOGV_IF((output != NULL), "getOutput() read %p from cache for stream %d", output, stream);
+        LOGV_IF((output != 0), "getOutput() read %d from cache for stream %d", output, stream);
     }
-    if (output == NULL) {
+    if (output == 0) {
         const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service();
-        if (aps == 0) return NULL;
+        if (aps == 0) return 0;
         output = aps->getOutput(stream, samplingRate, format, channels, flags);
         if ((flags & AudioSystem::OUTPUT_FLAG_DIRECT) == 0) {
             Mutex::Autolock _l(gLock);
@@ -570,7 +569,7 @@
                                     audio_in_acoustics acoustics)
 {
     const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service();
-    if (aps == 0) return NULL;
+    if (aps == 0) return 0;
     return aps->getInput(inputSource, samplingRate, format, channels, acoustics);
 }
 
diff --git a/media/libmedia/IAudioFlinger.cpp b/media/libmedia/IAudioFlinger.cpp
index 9385367..fc39a46 100644
--- a/media/libmedia/IAudioFlinger.cpp
+++ b/media/libmedia/IAudioFlinger.cpp
@@ -79,7 +79,7 @@
                                 int frameCount,
                                 uint32_t flags,
                                 const sp<IMemory>& sharedBuffer,
-                                void *output,
+                                int output,
                                 status_t *status)
     {
         Parcel data, reply;
@@ -92,7 +92,7 @@
         data.writeInt32(frameCount);
         data.writeInt32(flags);
         data.writeStrongBinder(sharedBuffer->asBinder());
-        data.write(&output, sizeof(void *));
+        data.writeInt32(output);
         status_t lStatus = remote()->transact(CREATE_TRACK, data, &reply);
         if (lStatus != NO_ERROR) {
             LOGE("createTrack error: %s", strerror(-lStatus));
@@ -106,7 +106,7 @@
 
     virtual sp<IAudioRecord> openRecord(
                                 pid_t pid,
-                                void *input,
+                                int input,
                                 uint32_t sampleRate,
                                 int format,
                                 int channelCount,
@@ -117,7 +117,7 @@
         Parcel data, reply;
         data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor());
         data.writeInt32(pid);
-        data.write(&input, sizeof(void *));
+        data.writeInt32(input);
         data.writeInt32(sampleRate);
         data.writeInt32(format);
         data.writeInt32(channelCount);
@@ -131,47 +131,47 @@
         return interface_cast<IAudioRecord>(reply.readStrongBinder());
     }
 
-    virtual uint32_t sampleRate(void *output) const
+    virtual uint32_t sampleRate(int output) const
     {
         Parcel data, reply;
         data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor());
-        data.write(&output, sizeof(void *));
+        data.writeInt32(output);
         remote()->transact(SAMPLE_RATE, data, &reply);
         return reply.readInt32();
     }
 
-    virtual int channelCount(void *output) const
+    virtual int channelCount(int output) const
     {
         Parcel data, reply;
         data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor());
-        data.write(&output, sizeof(void *));
+        data.writeInt32(output);
         remote()->transact(CHANNEL_COUNT, data, &reply);
         return reply.readInt32();
     }
 
-    virtual int format(void *output) const
+    virtual int format(int output) const
     {
         Parcel data, reply;
         data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor());
-        data.write(&output, sizeof(void *));
+        data.writeInt32(output);
         remote()->transact(FORMAT, data, &reply);
         return reply.readInt32();
     }
 
-    virtual size_t frameCount(void *output) const
+    virtual size_t frameCount(int output) const
     {
         Parcel data, reply;
         data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor());
-        data.write(&output, sizeof(void *));
+        data.writeInt32(output);
         remote()->transact(FRAME_COUNT, data, &reply);
         return reply.readInt32();
     }
 
-    virtual uint32_t latency(void *output) const
+    virtual uint32_t latency(int output) const
     {
         Parcel data, reply;
         data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor());
-        data.write(&output, sizeof(void *));
+        data.writeInt32(output);
         remote()->transact(LATENCY, data, &reply);
         return reply.readInt32();
     }
@@ -210,13 +210,13 @@
         return reply.readInt32();
     }
 
-    virtual status_t setStreamVolume(int stream, float value, void *output)
+    virtual status_t setStreamVolume(int stream, float value, int output)
     {
         Parcel data, reply;
         data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor());
         data.writeInt32(stream);
         data.writeFloat(value);
-        data.write(&output, sizeof(void *));
+        data.writeInt32(output);
         remote()->transact(SET_STREAM_VOLUME, data, &reply);
         return reply.readInt32();
     }
@@ -231,12 +231,12 @@
         return reply.readInt32();
     }
 
-    virtual float streamVolume(int stream, void *output) const
+    virtual float streamVolume(int stream, int output) const
     {
         Parcel data, reply;
         data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor());
         data.writeInt32(stream);
-        data.write(&output, sizeof(void *));
+        data.writeInt32(output);
         remote()->transact(STREAM_VOLUME, data, &reply);
         return reply.readFloat();
     }
@@ -284,21 +284,21 @@
         return reply.readInt32();
     }
 
-    virtual status_t setParameters(void *ioHandle, const String8& keyValuePairs)
+    virtual status_t setParameters(int ioHandle, const String8& keyValuePairs)
     {
         Parcel data, reply;
         data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor());
-        data.write(&ioHandle, sizeof(void *));
+        data.writeInt32(ioHandle);
         data.writeString8(keyValuePairs);
         remote()->transact(SET_PARAMETERS, data, &reply);
         return reply.readInt32();
     }
 
-    virtual String8 getParameters(void *ioHandle, const String8& keys)
+    virtual String8 getParameters(int ioHandle, const String8& keys)
     {
         Parcel data, reply;
         data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor());
-        data.write(&ioHandle, sizeof(void *));
+        data.writeInt32(ioHandle);
         data.writeString8(keys);
         remote()->transact(GET_PARAMETERS, data, &reply);
         return reply.readString8();
@@ -323,7 +323,7 @@
         return reply.readInt32();
     }
 
-    virtual void *openOutput(uint32_t *pDevices,
+    virtual int openOutput(uint32_t *pDevices,
                             uint32_t *pSamplingRate,
                             uint32_t *pFormat,
                             uint32_t *pChannels,
@@ -345,8 +345,7 @@
         data.writeInt32(latency);
         data.writeInt32(flags);
         remote()->transact(OPEN_OUTPUT, data, &reply);
-        void *output;
-        reply.read(&output, sizeof(void *));
+        int  output = reply.readInt32();
         LOGV("openOutput() returned output, %p", output);
         devices = reply.readInt32();
         if (pDevices) *pDevices = devices;
@@ -361,50 +360,48 @@
         return output;
     }
 
-    virtual void *openDuplicateOutput(void *output1, void *output2)
+    virtual int openDuplicateOutput(int output1, int output2)
     {
         Parcel data, reply;
         data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor());
-        data.write(&output1, sizeof(void *));
-        data.write(&output2, sizeof(void *));
+        data.writeInt32(output1);
+        data.writeInt32(output2);
         remote()->transact(OPEN_DUPLICATE_OUTPUT, data, &reply);
-        void *output;
-        reply.read(&output, sizeof(void *));
-        return output;
+        return reply.readInt32();
     }
 
-    virtual status_t closeOutput(void *output)
+    virtual status_t closeOutput(int output)
     {
         Parcel data, reply;
         data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor());
-        data.write(&output, sizeof(void *));
+        data.writeInt32(output);
         remote()->transact(CLOSE_OUTPUT, data, &reply);
         return reply.readInt32();
     }
 
-    virtual status_t suspendOutput(void *output)
+    virtual status_t suspendOutput(int output)
     {
         Parcel data, reply;
         data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor());
-        data.write(&output, sizeof(void *));
+        data.writeInt32(output);
         remote()->transact(SUSPEND_OUTPUT, data, &reply);
         return reply.readInt32();
     }
 
-    virtual status_t restoreOutput(void *output)
+    virtual status_t restoreOutput(int output)
     {
         Parcel data, reply;
         data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor());
-        data.write(&output, sizeof(void *));
+        data.writeInt32(output);
         remote()->transact(RESTORE_OUTPUT, data, &reply);
         return reply.readInt32();
     }
 
-    virtual void *openInput(uint32_t *pDevices,
-                                        uint32_t *pSamplingRate,
-                                        uint32_t *pFormat,
-                                        uint32_t *pChannels,
-                                        uint32_t acoustics)
+    virtual int openInput(uint32_t *pDevices,
+                            uint32_t *pSamplingRate,
+                            uint32_t *pFormat,
+                            uint32_t *pChannels,
+                            uint32_t acoustics)
     {
         Parcel data, reply;
         uint32_t devices = pDevices ? *pDevices : 0;
@@ -419,8 +416,7 @@
         data.writeInt32(channels);
         data.writeInt32(acoustics);
         remote()->transact(OPEN_INPUT, data, &reply);
-        void *input;
-        reply.read(&input, sizeof(void *));
+        int input = reply.readInt32();
         devices = reply.readInt32();
         if (pDevices) *pDevices = devices;
         samplingRate = reply.readInt32();
@@ -432,21 +428,21 @@
         return input;
     }
 
-    virtual status_t closeInput(void *input)
+    virtual status_t closeInput(int input)
     {
         Parcel data, reply;
         data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor());
-        data.write(&input, sizeof(void *));
+        data.writeInt32(input);
         remote()->transact(CLOSE_INPUT, data, &reply);
         return reply.readInt32();
     }
 
-    virtual status_t setStreamOutput(uint32_t stream, void *output)
+    virtual status_t setStreamOutput(uint32_t stream, int output)
     {
         Parcel data, reply;
         data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor());
         data.writeInt32(stream);
-        data.write(&output, sizeof(void *));
+        data.writeInt32(output);
         remote()->transact(SET_STREAM_OUTPUT, data, &reply);
         return reply.readInt32();
     }
@@ -470,8 +466,7 @@
             size_t bufferCount = data.readInt32();
             uint32_t flags = data.readInt32();
             sp<IMemory> buffer = interface_cast<IMemory>(data.readStrongBinder());
-            void *output;
-            data.read(&output, sizeof(void *));
+            int output = data.readInt32();
             status_t status;
             sp<IAudioTrack> track = createTrack(pid,
                     streamType, sampleRate, format,
@@ -483,8 +478,7 @@
         case OPEN_RECORD: {
             CHECK_INTERFACE(IAudioFlinger, data, reply);
             pid_t pid = data.readInt32();
-            void *input;
-            data.read(&input, sizeof(void *));
+            int input = data.readInt32();
             uint32_t sampleRate = data.readInt32();
             int format = data.readInt32();
             int channelCount = data.readInt32();
@@ -499,37 +493,27 @@
         } break;
         case SAMPLE_RATE: {
             CHECK_INTERFACE(IAudioFlinger, data, reply);
-            void *output;
-            data.read(&output, sizeof(void *));
-            reply->writeInt32( sampleRate(output) );
+            reply->writeInt32( sampleRate(data.readInt32()) );
             return NO_ERROR;
         } break;
         case CHANNEL_COUNT: {
             CHECK_INTERFACE(IAudioFlinger, data, reply);
-            void *output;
-            data.read(&output, sizeof(void *));
-            reply->writeInt32( channelCount(output) );
+            reply->writeInt32( channelCount(data.readInt32()) );
             return NO_ERROR;
         } break;
         case FORMAT: {
             CHECK_INTERFACE(IAudioFlinger, data, reply);
-            void *output;
-            data.read(&output, sizeof(void *));
-            reply->writeInt32( format(output) );
+            reply->writeInt32( format(data.readInt32()) );
             return NO_ERROR;
         } break;
         case FRAME_COUNT: {
             CHECK_INTERFACE(IAudioFlinger, data, reply);
-            void *output;
-            data.read(&output, sizeof(void *));
-            reply->writeInt32( frameCount(output) );
+            reply->writeInt32( frameCount(data.readInt32()) );
             return NO_ERROR;
         } break;
         case LATENCY: {
             CHECK_INTERFACE(IAudioFlinger, data, reply);
-            void *output;
-            data.read(&output, sizeof(void *));
-            reply->writeInt32( latency(output) );
+            reply->writeInt32( latency(data.readInt32()) );
             return NO_ERROR;
         } break;
          case SET_MASTER_VOLUME: {
@@ -556,8 +540,7 @@
             CHECK_INTERFACE(IAudioFlinger, data, reply);
             int stream = data.readInt32();
             float volume = data.readFloat();
-            void *output;
-            data.read(&output, sizeof(void *));
+            int output = data.readInt32();
             reply->writeInt32( setStreamVolume(stream, volume, output) );
             return NO_ERROR;
         } break;
@@ -570,8 +553,7 @@
         case STREAM_VOLUME: {
             CHECK_INTERFACE(IAudioFlinger, data, reply);
             int stream = data.readInt32();
-            void *output;
-            data.read(&output, sizeof(void *));
+            int output = data.readInt32();
             reply->writeFloat( streamVolume(stream, output) );
             return NO_ERROR;
         } break;
@@ -605,16 +587,14 @@
         } break;
         case SET_PARAMETERS: {
             CHECK_INTERFACE(IAudioFlinger, data, reply);
-            void *ioHandle;
-            data.read(&ioHandle, sizeof(void *));
+            int ioHandle = data.readInt32();
             String8 keyValuePairs(data.readString8());
             reply->writeInt32(setParameters(ioHandle, keyValuePairs));
             return NO_ERROR;
          } break;
         case GET_PARAMETERS: {
             CHECK_INTERFACE(IAudioFlinger, data, reply);
-            void *ioHandle;
-            data.read(&ioHandle, sizeof(void *));
+            int ioHandle = data.readInt32();
             String8 keys(data.readString8());
             reply->writeString8(getParameters(ioHandle, keys));
             return NO_ERROR;
@@ -642,14 +622,14 @@
             uint32_t channels = data.readInt32();
             uint32_t latency = data.readInt32();
             uint32_t flags = data.readInt32();
-            void *output = openOutput(&devices,
+            int output = openOutput(&devices,
                                      &samplingRate,
                                      &format,
                                      &channels,
                                      &latency,
                                      flags);
             LOGV("OPEN_OUTPUT output, %p", output);
-            reply->write(&output, sizeof(void *));
+            reply->writeInt32(output);
             reply->writeInt32(devices);
             reply->writeInt32(samplingRate);
             reply->writeInt32(format);
@@ -659,33 +639,24 @@
         } break;
         case OPEN_DUPLICATE_OUTPUT: {
             CHECK_INTERFACE(IAudioFlinger, data, reply);
-            void *output1;
-            void *output2;
-            data.read(&output1, sizeof(void *));
-            data.read(&output2, sizeof(void *));
-            void *output = openDuplicateOutput(output1, output2);
-            reply->write(&output, sizeof(void *));
+            int output1 = data.readInt32();
+            int output2 = data.readInt32();
+            reply->writeInt32(openDuplicateOutput(output1, output2));
             return NO_ERROR;
         } break;
         case CLOSE_OUTPUT: {
             CHECK_INTERFACE(IAudioFlinger, data, reply);
-            void *output;
-            data.read(&output, sizeof(void *));
-            reply->writeInt32(closeOutput(output));
+            reply->writeInt32(closeOutput(data.readInt32()));
             return NO_ERROR;
         } break;
         case SUSPEND_OUTPUT: {
             CHECK_INTERFACE(IAudioFlinger, data, reply);
-            void *output;
-            data.read(&output, sizeof(void *));
-            reply->writeInt32(suspendOutput(output));
+            reply->writeInt32(suspendOutput(data.readInt32()));
             return NO_ERROR;
         } break;
         case RESTORE_OUTPUT: {
             CHECK_INTERFACE(IAudioFlinger, data, reply);
-            void *output;
-            data.read(&output, sizeof(void *));
-            reply->writeInt32(restoreOutput(output));
+            reply->writeInt32(restoreOutput(data.readInt32()));
             return NO_ERROR;
         } break;
         case OPEN_INPUT: {
@@ -696,12 +667,12 @@
             uint32_t channels = data.readInt32();
             uint32_t acoutics = data.readInt32();
 
-            void *input = openInput(&devices,
+            int input = openInput(&devices,
                                      &samplingRate,
                                      &format,
                                      &channels,
                                      acoutics);
-            reply->write(&input, sizeof(void *));
+            reply->writeInt32(input);
             reply->writeInt32(devices);
             reply->writeInt32(samplingRate);
             reply->writeInt32(format);
@@ -710,16 +681,13 @@
         } break;
         case CLOSE_INPUT: {
             CHECK_INTERFACE(IAudioFlinger, data, reply);
-            void *input;
-            data.read(&input, sizeof(void *));
-            reply->writeInt32(closeInput(input));
+            reply->writeInt32(closeInput(data.readInt32()));
             return NO_ERROR;
         } break;
         case SET_STREAM_OUTPUT: {
             CHECK_INTERFACE(IAudioFlinger, data, reply);
-            void *output;
             uint32_t stream = data.readInt32();
-            data.read(&output, sizeof(void *));
+            int output = data.readInt32();
             reply->writeInt32(setStreamOutput(stream, output));
             return NO_ERROR;
         } break;
diff --git a/media/libmedia/IAudioFlingerClient.cpp b/media/libmedia/IAudioFlingerClient.cpp
index eaae977..3900de4 100644
--- a/media/libmedia/IAudioFlingerClient.cpp
+++ b/media/libmedia/IAudioFlingerClient.cpp
@@ -39,12 +39,12 @@
     {
     }
 
-    void ioConfigChanged(int event, void *param1, void *param2)
+    void ioConfigChanged(int event, int ioHandle, void *param2)
     {
         Parcel data, reply;
         data.writeInterfaceToken(IAudioFlingerClient::getInterfaceDescriptor());
         data.writeInt32(event);
-        data.write(&param1, sizeof(void *));
+        data.writeInt32(ioHandle);
         if (event == AudioSystem::STREAM_CONFIG_CHANGED) {
             uint32_t stream = *(uint32_t *)param2;
             LOGV("ioConfigChanged stream %d", stream);
@@ -72,11 +72,10 @@
     case IO_CONFIG_CHANGED: {
             CHECK_INTERFACE(IAudioFlingerClient, data, reply);
             int event = data.readInt32();
-            void *param1;
+            int ioHandle = data.readInt32();
             void *param2 = 0;
             AudioSystem::OutputDescriptor desc;
             uint32_t stream;
-            data.read(&param1, sizeof(void *));
             if (event == AudioSystem::STREAM_CONFIG_CHANGED) {
                 stream = data.readInt32();
                 param2 = &stream;
@@ -89,7 +88,7 @@
                 desc.latency = data.readInt32();
                 param2 = &desc;
             }
-            ioConfigChanged(event, param1, param2);
+            ioConfigChanged(event, ioHandle, param2);
             return NO_ERROR;
         } break;
         default:
diff --git a/media/libmedia/IAudioPolicyService.cpp b/media/libmedia/IAudioPolicyService.cpp
index 0d8a329..18dd173 100644
--- a/media/libmedia/IAudioPolicyService.cpp
+++ b/media/libmedia/IAudioPolicyService.cpp
@@ -134,16 +134,14 @@
         data.writeInt32(channels);
         data.writeInt32(static_cast <uint32_t>(flags));
         remote()->transact(GET_OUTPUT, data, &reply);
-        audio_io_handle_t output;
-        reply.read(&output, sizeof(audio_io_handle_t));
-        return output;
+        return static_cast <audio_io_handle_t> (reply.readInt32());
     }
 
     virtual status_t startOutput(audio_io_handle_t output, AudioSystem::stream_type stream)
     {
         Parcel data, reply;
         data.writeInterfaceToken(IAudioPolicyService::getInterfaceDescriptor());
-        data.write(&output, sizeof(audio_io_handle_t));
+        data.writeInt32(output);
         data.writeInt32(stream);
         remote()->transact(START_OUTPUT, data, &reply);
         return static_cast <status_t> (reply.readInt32());
@@ -153,7 +151,7 @@
     {
         Parcel data, reply;
         data.writeInterfaceToken(IAudioPolicyService::getInterfaceDescriptor());
-        data.write(&output, sizeof(audio_io_handle_t));
+        data.writeInt32(output);
         data.writeInt32(stream);
         remote()->transact(STOP_OUTPUT, data, &reply);
         return static_cast <status_t> (reply.readInt32());
@@ -163,7 +161,7 @@
     {
         Parcel data, reply;
         data.writeInterfaceToken(IAudioPolicyService::getInterfaceDescriptor());
-        data.write(&output, sizeof(audio_io_handle_t));
+        data.writeInt32(output);
         remote()->transact(RELEASE_OUTPUT, data, &reply);
     }
 
@@ -182,16 +180,14 @@
         data.writeInt32(channels);
         data.writeInt32(static_cast <uint32_t>(acoustics));
         remote()->transact(GET_INPUT, data, &reply);
-        audio_io_handle_t input;
-        reply.read(&input, sizeof(audio_io_handle_t));
-        return input;
+        return static_cast <audio_io_handle_t> (reply.readInt32());
     }
 
     virtual status_t startInput(audio_io_handle_t input)
     {
         Parcel data, reply;
         data.writeInterfaceToken(IAudioPolicyService::getInterfaceDescriptor());
-        data.write(&input, sizeof(audio_io_handle_t));
+        data.writeInt32(input);
         remote()->transact(START_INPUT, data, &reply);
         return static_cast <status_t> (reply.readInt32());
     }
@@ -200,7 +196,7 @@
     {
         Parcel data, reply;
         data.writeInterfaceToken(IAudioPolicyService::getInterfaceDescriptor());
-        data.write(&input, sizeof(audio_io_handle_t));
+        data.writeInt32(input);
         remote()->transact(STOP_INPUT, data, &reply);
         return static_cast <status_t> (reply.readInt32());
     }
@@ -209,7 +205,7 @@
     {
         Parcel data, reply;
         data.writeInterfaceToken(IAudioPolicyService::getInterfaceDescriptor());
-        data.write(&input, sizeof(audio_io_handle_t));
+        data.writeInt32(input);
         remote()->transact(RELEASE_INPUT, data, &reply);
     }
 
@@ -316,14 +312,13 @@
                                                  format,
                                                  channels,
                                                  flags);
-            reply->write(&output, sizeof(audio_io_handle_t));
+            reply->writeInt32(static_cast <int>(output));
             return NO_ERROR;
         } break;
 
         case START_OUTPUT: {
             CHECK_INTERFACE(IAudioPolicyService, data, reply);
-            audio_io_handle_t output;
-            data.read(&output, sizeof(audio_io_handle_t));
+            audio_io_handle_t output = static_cast <audio_io_handle_t>(data.readInt32());
             uint32_t stream = data.readInt32();
             reply->writeInt32(static_cast <uint32_t>(startOutput(output, (AudioSystem::stream_type)stream)));
             return NO_ERROR;
@@ -331,8 +326,7 @@
 
         case STOP_OUTPUT: {
             CHECK_INTERFACE(IAudioPolicyService, data, reply);
-            audio_io_handle_t output;
-            data.read(&output, sizeof(audio_io_handle_t));
+            audio_io_handle_t output = static_cast <audio_io_handle_t>(data.readInt32());
             uint32_t stream = data.readInt32();
             reply->writeInt32(static_cast <uint32_t>(stopOutput(output, (AudioSystem::stream_type)stream)));
             return NO_ERROR;
@@ -340,8 +334,7 @@
 
         case RELEASE_OUTPUT: {
             CHECK_INTERFACE(IAudioPolicyService, data, reply);
-            audio_io_handle_t output;
-            data.read(&output, sizeof(audio_io_handle_t));
+            audio_io_handle_t output = static_cast <audio_io_handle_t>(data.readInt32());
             releaseOutput(output);
             return NO_ERROR;
         } break;
@@ -358,30 +351,27 @@
                                                format,
                                                channels,
                                                acoustics);
-            reply->write(&input, sizeof(audio_io_handle_t));
+            reply->writeInt32(static_cast <int>(input));
             return NO_ERROR;
         } break;
 
         case START_INPUT: {
             CHECK_INTERFACE(IAudioPolicyService, data, reply);
-            audio_io_handle_t input;
-            data.read(&input, sizeof(audio_io_handle_t));
+            audio_io_handle_t input = static_cast <audio_io_handle_t>(data.readInt32());
             reply->writeInt32(static_cast <uint32_t>(startInput(input)));
             return NO_ERROR;
         } break;
 
         case STOP_INPUT: {
             CHECK_INTERFACE(IAudioPolicyService, data, reply);
-            audio_io_handle_t input;
-            data.read(&input, sizeof(audio_io_handle_t));
+            audio_io_handle_t input = static_cast <audio_io_handle_t>(data.readInt32());
             reply->writeInt32(static_cast <uint32_t>(stopInput(input)));
             return NO_ERROR;
         } break;
 
         case RELEASE_INPUT: {
             CHECK_INTERFACE(IAudioPolicyService, data, reply);
-            audio_io_handle_t input;
-            data.read(&input, sizeof(audio_io_handle_t));
+            audio_io_handle_t input = static_cast <audio_io_handle_t>(data.readInt32());
             releaseInput(input);
             return NO_ERROR;
         } break;
diff --git a/media/libstagefright/MPEG4Writer.cpp b/media/libstagefright/MPEG4Writer.cpp
index 6bdf282..b53bb29 100644
--- a/media/libstagefright/MPEG4Writer.cpp
+++ b/media/libstagefright/MPEG4Writer.cpp
@@ -342,7 +342,12 @@
                 ++offset;
             }
 
-            assert(offset + 3 < size);
+            // assert(offset + 3 < size);
+            if (offset + 3 >= size) {
+                // XXX assume the entire first chunk of data is the codec specific
+                // data.
+                offset = size;
+            }
 
             mCodecSpecificDataSize = offset;
             mCodecSpecificData = malloc(offset);
diff --git a/media/libstagefright/OMXDecoder.cpp b/media/libstagefright/OMXDecoder.cpp
index 780cd2e..c570278 100644
--- a/media/libstagefright/OMXDecoder.cpp
+++ b/media/libstagefright/OMXDecoder.cpp
@@ -76,9 +76,12 @@
     { "audio/3gpp", "OMX.PV.amrencnb" },
     { "audio/mp4a-latm", "OMX.PV.aacenc" },
     { "video/mp4v-es", "OMX.qcom.video.encoder.mpeg4" },
+    { "video/mp4v-es", "OMX.TI.Video.encoder" },
     { "video/mp4v-es", "OMX.PV.mpeg4enc" },
     { "video/3gpp", "OMX.qcom.video.encoder.h263" },
+    { "video/3gpp", "OMX.TI.Video.encoder" },
     { "video/3gpp", "OMX.PV.h263enc" },
+    { "video/avc", "OMX.TI.Video.encoder" },
     { "video/avc", "OMX.PV.avcenc" },
 };
 
@@ -154,11 +157,9 @@
     if (!strncmp(codec, "OMX.qcom.video.", 15)) {
         quirks |= kRequiresLoadedToIdleAfterAllocation;
     }
-    if (!strcmp(codec, "OMX.TI.MP3.decode")) {
-        quirks |= kMeasuresTimeInMilliseconds;
-    }
 
-    OMXDecoder *decoder = new OMXDecoder(client, node, mime, codec, quirks);
+    OMXDecoder *decoder = new OMXDecoder(
+            client, node, mime, codec, createEncoder, quirks);
 
     uint32_t type;
     const void *data;
@@ -166,7 +167,7 @@
     if (meta->findData(kKeyESDS, &type, &data, &size)) {
         ESDS esds((const char *)data, size);
         assert(esds.InitCheck() == OK);
-        
+
         const void *codec_specific_data;
         size_t codec_specific_data_size;
         esds.getCodecSpecificInfo(
@@ -211,13 +212,16 @@
 
 OMXDecoder::OMXDecoder(OMXClient *client, IOMX::node_id node,
                        const char *mime, const char *codec,
+                       bool is_encoder,
                        uint32_t quirks)
     : mClient(client),
       mOMX(mClient->interface()),
       mNode(node),
       mComponentName(strdup(codec)),
+      mMIME(strdup(mime)),
       mIsMP3(!strcasecmp(mime, "audio/mpeg")),
       mIsAVC(!strcasecmp(mime, "video/avc")),
+      mIsEncoder(is_encoder),
       mQuirks(quirks),
       mSource(NULL),
       mCodecSpecificDataIterator(mCodecSpecificData.begin()),
@@ -252,6 +256,9 @@
     assert(err == OK);
     mNode = 0;
 
+    free(mMIME);
+    mMIME = NULL;
+
     free(mComponentName);
     mComponentName = NULL;
 }
@@ -512,6 +519,27 @@
         // The following assertion is violated by TI's video decoder.
         // assert(format.nIndex == index);
 
+#if 1
+        LOGI("portIndex: %ld, index: %ld, eCompressionFormat=%d eColorFormat=%d",
+             portIndex,
+             index, format.eCompressionFormat, format.eColorFormat);
+#endif
+
+        if (!strcmp("OMX.TI.Video.encoder", mComponentName)) {
+            if (portIndex == kPortIndexInput
+                    && colorFormat == format.eColorFormat) {
+                // eCompressionFormat does not seem right.
+                found = true;
+                break;
+            }
+            if (portIndex == kPortIndexOutput
+                    && compressionFormat == format.eCompressionFormat) {
+                // eColorFormat does not seem right.
+                found = true;
+                break;
+            }
+        }
+
         if (format.eCompressionFormat == compressionFormat
             && format.eColorFormat == colorFormat) {
             found = true;
@@ -525,6 +553,7 @@
         return UNKNOWN_ERROR;
     }
 
+    LOGI("found a match.");
     status_t err = mOMX->set_parameter(
             mNode, OMX_IndexParamVideoPortFormat,
             &format, sizeof(format));
@@ -532,7 +561,83 @@
     return err;
 }
 
-#if 1
+void OMXDecoder::setVideoInputFormat(
+        const char *mime, OMX_U32 width, OMX_U32 height) {
+    LOGI("setVideoInputFormat width=%ld, height=%ld", width, height);
+
+    OMX_VIDEO_CODINGTYPE compressionFormat = OMX_VIDEO_CodingUnused;
+    if (!strcasecmp("video/avc", mMIME)) {
+        compressionFormat = OMX_VIDEO_CodingAVC;
+    } else if (!strcasecmp("video/mp4v-es", mMIME)) {
+        compressionFormat = OMX_VIDEO_CodingMPEG4;
+    } else if (!strcasecmp("video/3gpp", mMIME)) {
+        compressionFormat = OMX_VIDEO_CodingH263;
+    } else {
+        LOGE("Not a supported video mime type: %s", mime);
+        assert(!"Should not be here. Not a supported video mime type.");
+    }
+
+    OMX_COLOR_FORMATTYPE colorFormat =
+        0 ? OMX_COLOR_FormatYCbYCr : OMX_COLOR_FormatCbYCrY;
+
+    setVideoPortFormatType(
+            kPortIndexInput, OMX_VIDEO_CodingUnused,
+            colorFormat);
+
+    setVideoPortFormatType(
+            kPortIndexOutput, compressionFormat, OMX_COLOR_FormatUnused);
+
+    OMX_PARAM_PORTDEFINITIONTYPE def;
+    OMX_VIDEO_PORTDEFINITIONTYPE *video_def = &def.format.video;
+
+    def.nSize = sizeof(def);
+    def.nVersion.s.nVersionMajor = 1;
+    def.nVersion.s.nVersionMinor = 1;
+    def.nPortIndex = kPortIndexOutput;
+
+    status_t err = mOMX->get_parameter(
+            mNode, OMX_IndexParamPortDefinition, &def, sizeof(def));
+
+    assert(err == NO_ERROR);
+
+    assert(def.eDomain == OMX_PortDomainVideo);
+
+    video_def->nFrameWidth = width;
+    video_def->nFrameHeight = height;
+
+    video_def->eCompressionFormat = compressionFormat;
+    video_def->eColorFormat = OMX_COLOR_FormatUnused;
+
+    err = mOMX->set_parameter(
+            mNode, OMX_IndexParamPortDefinition, &def, sizeof(def));
+    assert(err == NO_ERROR);
+
+    ////////////////////////////////////////////////////////////////////////////
+
+    def.nSize = sizeof(def);
+    def.nVersion.s.nVersionMajor = 1;
+    def.nVersion.s.nVersionMinor = 1;
+    def.nPortIndex = kPortIndexInput;
+
+    err = mOMX->get_parameter(
+            mNode, OMX_IndexParamPortDefinition, &def, sizeof(def));
+    assert(err == NO_ERROR);
+
+    def.nBufferSize = (width * height * 2); // (width * height * 3) / 2;
+    LOGI("setting nBufferSize = %ld", def.nBufferSize);
+
+    assert(def.eDomain == OMX_PortDomainVideo);
+
+    video_def->nFrameWidth = width;
+    video_def->nFrameHeight = height;
+    video_def->eCompressionFormat = OMX_VIDEO_CodingUnused;
+    video_def->eColorFormat = colorFormat;
+
+    err = mOMX->set_parameter(
+            mNode, OMX_IndexParamPortDefinition, &def, sizeof(def));
+    assert(err == NO_ERROR);
+}
+
 void OMXDecoder::setVideoOutputFormat(
         const char *mime, OMX_U32 width, OMX_U32 height) {
     LOGI("setVideoOutputFormat width=%ld, height=%ld", width, height);
@@ -541,7 +646,8 @@
     // Enabling this code appears to be the right thing(tm), but,...
     // the TI decoder then loses the ability to output YUV420 and only outputs
     // YCbYCr (16bit)
-    if (!strcasecmp("video/avc", mime)) {
+    if (!strcmp("OMX.TI.Video.Decoder", mComponentName)
+        && !strcasecmp("video/avc", mime)) {
         OMX_PARAM_COMPONENTROLETYPE role;
         role.nSize = sizeof(role);
         role.nVersion.s.nVersionMajor = 1;
@@ -565,6 +671,7 @@
     } else if (!strcasecmp("video/3gpp", mime)) {
         compressionFormat = OMX_VIDEO_CodingH263;
     } else {
+        LOGE("Not a supported video mime type: %s", mime);
         assert(!"Should not be here. Not a supported video mime type.");
     }
 
@@ -604,12 +711,10 @@
     OMX_PARAM_PORTDEFINITIONTYPE def;
     OMX_VIDEO_PORTDEFINITIONTYPE *video_def = &def.format.video;
 
-    bool is_encoder = strstr(mComponentName, ".encoder.") != NULL;  // XXX
-
     def.nSize = sizeof(def);
     def.nVersion.s.nVersionMajor = 1;
     def.nVersion.s.nVersionMinor = 1;
-    def.nPortIndex = is_encoder ? kPortIndexOutput : kPortIndexInput;
+    def.nPortIndex = kPortIndexInput;
 
     status_t err = mOMX->get_parameter(
             mNode, OMX_IndexParamPortDefinition, &def, sizeof(def));
@@ -625,7 +730,7 @@
 #endif
 
     assert(def.eDomain == OMX_PortDomainVideo);
-    
+
     video_def->nFrameWidth = width;
     video_def->nFrameHeight = height;
 
@@ -640,14 +745,14 @@
     def.nSize = sizeof(def);
     def.nVersion.s.nVersionMajor = 1;
     def.nVersion.s.nVersionMinor = 1;
-    def.nPortIndex = is_encoder ? kPortIndexInput : kPortIndexOutput;
+    def.nPortIndex = kPortIndexOutput;
 
     err = mOMX->get_parameter(
             mNode, OMX_IndexParamPortDefinition, &def, sizeof(def));
     assert(err == NO_ERROR);
 
     assert(def.eDomain == OMX_PortDomainVideo);
-    
+
 #if 0
     def.nBufferSize =
         (((width + 15) & -16) * ((height + 15) & -16) * 3) / 2;  // YUV420
@@ -661,176 +766,6 @@
     assert(err == NO_ERROR);
 }
 
-#else
-static void hexdump(const void *_data, size_t size) {
-    char line[256];
-    char tmp[16];
-
-    const uint8_t *data = (const uint8_t *)_data;
-    size_t offset = 0;
-    while (offset < size) {
-        sprintf(line, "0x%04x  ", offset);
-
-        size_t n = size - offset;
-        if (n > 16) {
-            n = 16;
-        }
-
-        for (size_t i = 0; i < 16; ++i) {
-            if (i == 8) {
-                strcat(line, " ");
-            }
-
-            if (offset + i < size) {
-                sprintf(tmp, "%02x ", data[offset + i]);
-                strcat(line, tmp);
-            } else {
-                strcat(line, "   ");
-            }
-        }
-
-        strcat(line, " ");
-
-        for (size_t i = 0; i < n; ++i) {
-            if (isprint(data[offset + i])) {
-                sprintf(tmp, "%c", data[offset + i]);
-                strcat(line, tmp);
-            } else {
-                strcat(line, ".");
-            }
-        }
-
-        LOGI(line);
-
-        offset += 16;
-    }
-}
-
-static void DumpPortDefinitionType(const void *_param) {
-    OMX_PARAM_PORTDEFINITIONTYPE *param = (OMX_PARAM_PORTDEFINITIONTYPE *)_param;
-
-    LOGI("nPortIndex=%ld eDir=%s nBufferCountActual=%ld nBufferCountMin=%ld nBufferSize=%ld", param->nPortIndex, param->eDir == OMX_DirInput ? "input" : "output",
-        param->nBufferCountActual, param->nBufferCountMin, param->nBufferSize);
-
-    if (param->eDomain == OMX_PortDomainVideo) {
-        OMX_VIDEO_PORTDEFINITIONTYPE *video = &param->format.video;
-        LOGI("nFrameWidth=%ld nFrameHeight=%ld nStride=%ld nSliceHeight=%ld nBitrate=%ld xFramerate=%ld eCompressionFormat=%d eColorFormat=%d",
-            video->nFrameWidth, video->nFrameHeight, video->nStride, video->nSliceHeight, video->nBitrate, video->xFramerate, video->eCompressionFormat, video->eColorFormat);
-    } else {
-        hexdump(param, param->nSize);
-    }
-}
-
-void OMXDecoder::setVideoOutputFormat(
-        const char *mime, OMX_U32 width, OMX_U32 height) {
-    LOGI("setVideoOutputFormat width=%ld, height=%ld", width, height);
-
-#if 0
-    // Enabling this code appears to be the right thing(tm), but,...
-    // the decoder then loses the ability to output YUV420 and only outputs
-    // YCbYCr (16bit)
-    {
-        OMX_PARAM_COMPONENTROLETYPE role;
-        role.nSize = sizeof(role);
-        role.nVersion.s.nVersionMajor = 1;
-        role.nVersion.s.nVersionMinor = 1;
-        strncpy((char *)role.cRole, "video_decoder.avc",
-                OMX_MAX_STRINGNAME_SIZE - 1);
-        role.cRole[OMX_MAX_STRINGNAME_SIZE - 1] = '\0';
-
-        status_t err = mOMX->set_parameter(
-                mNode, OMX_IndexParamStandardComponentRole,
-                &role, sizeof(role));
-        assert(err == OK);
-    }
-#endif
-
-    setVideoPortFormatType(
-            kPortIndexInput, OMX_VIDEO_CodingAVC, OMX_COLOR_FormatUnused);
-
-#if 1
-    {
-        OMX_VIDEO_PARAM_PORTFORMATTYPE format;
-        format.nSize = sizeof(format);
-        format.nVersion.s.nVersionMajor = 1;
-        format.nVersion.s.nVersionMinor = 1;
-        format.nPortIndex = kPortIndexOutput;
-        format.nIndex = 0;
-
-        status_t err = mOMX->get_parameter(
-                mNode, OMX_IndexParamVideoPortFormat,
-                &format, sizeof(format));
-        assert(err == OK);
-
-        LOGI("XXX MyOMX_GetParameter OMX_IndexParamVideoPortFormat");
-        hexdump(&format, format.nSize);
-
-        assert(format.eCompressionFormat == OMX_VIDEO_CodingUnused);
-        assert(format.eColorFormat == OMX_COLOR_FormatYUV420Planar
-               || format.eColorFormat == OMX_COLOR_FormatYUV420SemiPlanar
-               || format.eColorFormat == OMX_COLOR_FormatCbYCrY);
-
-        err = mOMX->set_parameter(
-                mNode, OMX_IndexParamVideoPortFormat,
-                &format, sizeof(format));
-        assert(err == OK);
-    }
-#endif
-
-    OMX_PORT_PARAM_TYPE ptype;
-    ptype.nSize = sizeof(ptype);
-    ptype.nVersion.s.nVersionMajor = 1;
-    ptype.nVersion.s.nVersionMinor = 1;
-
-    status_t err = mOMX->get_parameter(
-            mNode, OMX_IndexParamVideoInit, &ptype, sizeof(ptype));
-    assert(err == OK);
-
-    LOGI("XXX MyOMX_GetParameter OMX_IndexParamVideoInit");
-    hexdump(&ptype, ptype.nSize);
-
-    OMX_PARAM_PORTDEFINITIONTYPE def;
-    def.nSize = sizeof(def);
-    def.nVersion.s.nVersionMajor = 1;
-    def.nVersion.s.nVersionMinor = 1;
-    def.nPortIndex = kPortIndexInput;
-
-    err = mOMX->get_parameter(
-            mNode, OMX_IndexParamPortDefinition, &def, sizeof(def));
-    assert(err == OK);
-
-    LOGI("XXX MyOMX_GetParameter OMX_IndexParamPortDefinition");
-    DumpPortDefinitionType(&def);
-
-    OMX_VIDEO_PORTDEFINITIONTYPE *video_def = &def.format.video;
-    video_def->nFrameWidth = width;
-    video_def->nFrameHeight = height;
-
-    err = mOMX->set_parameter(
-            mNode, OMX_IndexParamPortDefinition, &def, sizeof(def));
-    assert(err == OK);
-
-    ////////////////////////////////////////////////////////////////////////////
-
-    def.nPortIndex = kPortIndexOutput;
-
-    err = mOMX->get_parameter(
-            mNode, OMX_IndexParamPortDefinition, &def, sizeof(def));
-    assert(err == OK);
-
-    LOGI("XXX MyOMX_GetParameter OMX_IndexParamPortDefinition");
-    DumpPortDefinitionType(&def);
-
-    video_def->nFrameWidth = width;
-    video_def->nFrameHeight = height;
-
-    err = mOMX->set_parameter(
-            mNode, OMX_IndexParamPortDefinition, &def, sizeof(def));
-    assert(err == OK);
-}
-
-#endif
-
 void OMXDecoder::setup() {
     const sp<MetaData> &meta = mSource->getFormat();
 
@@ -848,7 +783,11 @@
         success = success && meta->findInt32(kKeyHeight, &height);
         assert(success);
 
-        setVideoOutputFormat(mime, width, height);
+        if (mIsEncoder) {
+            setVideoInputFormat(mime, width, height);
+        } else {
+            setVideoOutputFormat(mime, width, height);
+        }
     }
 
     // dumpPortDefinition(0);
@@ -1253,7 +1192,7 @@
     if (mShutdownInitiated) {
         return;
     }
-    
+
     if (mState == OMX_StateLoaded) {
         return;
     }
diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/performance/MediaPlayerPerformance.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/performance/MediaPlayerPerformance.java
index 4adb04e..01c0920 100644
--- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/performance/MediaPlayerPerformance.java
+++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/performance/MediaPlayerPerformance.java
@@ -310,7 +310,8 @@
     public boolean validateMemoryResult (int startPid, int startMemory, Writer output) throws Exception {
         mEndPid = getMediaserverPid();
         mEndMemory = getMediaserverVsize();
-
+        Log.v(TAG, "End Memory " + mEndMemory);
+        output.write("End Memory :" + mEndMemory + "\n");
         //Write the total memory different into the output file
         output.write("The total diff = " + (mEndMemory - startMemory));
         output.write("\n\n");
@@ -337,14 +338,17 @@
     public void testH263VideoPlaybackMemoryUsage() throws Exception {
         boolean memoryResult = false;
         mStartPid = getMediaserverPid();
-        mStartMemory = getMediaserverVsize();
 
         File h263MemoryOut = new File(MEDIA_MEMORY_OUTPUT);
         Writer output = new BufferedWriter(new FileWriter(h263MemoryOut, true));
         output.write("H263 Video Playback Only\n");
-        getMemoryWriteToLog(output);
         for (int i = 0; i < NUM_STRESS_LOOP; i++) {
             mediaStressPlayback(MediaNames.VIDEO_HIGHRES_H263);
+            if (i == 0) {
+                mStartMemory = getMediaserverVsize();
+                output.write("Start memory : " + mStartMemory + "\n");
+                Log.v(TAG, "first mem : " + mStartMemory);
+            }
             getMemoryWriteToLog(output);
         }
         output.write("\n");
@@ -358,14 +362,16 @@
     public void testH264VideoPlaybackMemoryUsage() throws Exception {
         boolean memoryResult = false;
         mStartPid = getMediaserverPid();
-        mStartMemory = getMediaserverVsize();
 
         File h264MemoryOut = new File(MEDIA_MEMORY_OUTPUT);
         Writer output = new BufferedWriter(new FileWriter(h264MemoryOut, true));
         output.write("H264 Video Playback only\n");
-        getMemoryWriteToLog(output);
         for (int i = 0; i < NUM_STRESS_LOOP; i++) {
             mediaStressPlayback(MediaNames.VIDEO_H264_AMR);
+            if (i == 0) {
+              mStartMemory = getMediaserverVsize();
+              output.write("Start memory : " + mStartMemory + "\n");
+            }
             getMemoryWriteToLog(output);
         }
         output.write("\n");
@@ -379,14 +385,16 @@
     public void testWMVVideoPlaybackMemoryUsage() throws Exception {
         boolean memoryResult = false;
         mStartPid = getMediaserverPid();
-        mStartMemory = getMediaserverVsize();
 
         File wmvMemoryOut = new File(MEDIA_MEMORY_OUTPUT);
         Writer output = new BufferedWriter(new FileWriter(wmvMemoryOut, true));
         output.write("WMV video playback only\n");
-        getMemoryWriteToLog(output);
         for (int i = 0; i < NUM_STRESS_LOOP; i++) {
             mediaStressPlayback(MediaNames.VIDEO_WMV);
+            if (i == 0) {
+              mStartMemory = getMediaserverVsize();
+              output.write("Start memory : " + mStartMemory + "\n");
+            }
             getMemoryWriteToLog(output);
         }
         output.write("\n");
@@ -400,15 +408,17 @@
     public void testH263RecordVideoOnlyMemoryUsage() throws Exception {
         boolean memoryResult = false;
         mStartPid = getMediaserverPid();
-        mStartMemory = getMediaserverVsize();
 
         File videoH263RecordOnlyMemoryOut = new File(MEDIA_MEMORY_OUTPUT);
         Writer output = new BufferedWriter(new FileWriter(videoH263RecordOnlyMemoryOut, true));
         output.write("H263 video record only\n");
-        getMemoryWriteToLog(output);
         for (int i = 0; i < NUM_STRESS_LOOP; i++) {
             stressVideoRecord(20, 352, 288, MediaRecorder.VideoEncoder.H263,
                     MediaRecorder.OutputFormat.MPEG_4, MediaNames.RECORDED_VIDEO_3GP, true);
+            if (i == 0) {
+              mStartMemory = getMediaserverVsize();
+              output.write("Start memory : " + mStartMemory + "\n");
+            }
             getMemoryWriteToLog(output);
         }
         output.write("\n");
@@ -422,15 +432,17 @@
     public void testMpeg4RecordVideoOnlyMemoryUsage() throws Exception {
         boolean memoryResult = false;
         mStartPid = getMediaserverPid();
-        mStartMemory = getMediaserverVsize();
 
         File videoMp4RecordOnlyMemoryOut = new File(MEDIA_MEMORY_OUTPUT);
         Writer output = new BufferedWriter(new FileWriter(videoMp4RecordOnlyMemoryOut, true));
         output.write("MPEG4 video record only\n");
-        getMemoryWriteToLog(output);
         for (int i = 0; i < NUM_STRESS_LOOP; i++) {
             stressVideoRecord(20, 352, 288, MediaRecorder.VideoEncoder.MPEG_4_SP,
                     MediaRecorder.OutputFormat.MPEG_4, MediaNames.RECORDED_VIDEO_3GP, true);
+            if (i == 0) {
+              mStartMemory = getMediaserverVsize();
+              output.write("Start memory : " + mStartMemory + "\n");
+            }
             getMemoryWriteToLog(output);
         }
         output.write("\n");
@@ -445,15 +457,17 @@
     public void testRecordVidedAudioMemoryUsage() throws Exception {
         boolean memoryResult = false;
         mStartPid = getMediaserverPid();
-        mStartMemory = getMediaserverVsize();
 
         File videoRecordAudioMemoryOut = new File(MEDIA_MEMORY_OUTPUT);
         Writer output = new BufferedWriter(new FileWriter(videoRecordAudioMemoryOut, true));
         output.write("Audio and h263 video record\n");
-        getMemoryWriteToLog(output);
         for (int i = 0; i < NUM_STRESS_LOOP; i++) {
             stressVideoRecord(20, 352, 288, MediaRecorder.VideoEncoder.H263,
                     MediaRecorder.OutputFormat.MPEG_4, MediaNames.RECORDED_VIDEO_3GP, false);
+            if (i == 0) {
+              mStartMemory = getMediaserverVsize();
+              output.write("Start memory : " + mStartMemory + "\n");
+            }
             getMemoryWriteToLog(output);
         }
         output.write("\n");
@@ -467,14 +481,16 @@
     public void testRecordAudioOnlyMemoryUsage() throws Exception {
         boolean memoryResult = false;
         mStartPid = getMediaserverPid();
-        mStartMemory = getMediaserverVsize();
 
         File audioOnlyMemoryOut = new File(MEDIA_MEMORY_OUTPUT);
         Writer output = new BufferedWriter(new FileWriter(audioOnlyMemoryOut, true));
         output.write("Audio record only\n");
-        getMemoryWriteToLog(output);
         for (int i = 0; i < NUM_STRESS_LOOP; i++) {
             stressAudioRecord(MediaNames.RECORDER_OUTPUT);
+            if (i == 0) {
+              mStartMemory = getMediaserverVsize();
+              output.write("Start memory : " + mStartMemory + "\n");
+            }
             getMemoryWriteToLog(output);
         }
         output.write("\n");
diff --git a/opengl/tests/angeles/Android.mk b/opengl/tests/angeles/Android.mk
index e193483..d0c3221 100644
--- a/opengl/tests/angeles/Android.mk
+++ b/opengl/tests/angeles/Android.mk
@@ -2,7 +2,7 @@
 
 LOCAL_PATH:= $(call my-dir)
 include $(CLEAR_VARS)
-LOCAL_SRC_FILES:= app-linux.c demo.c.arm
+LOCAL_SRC_FILES:= app-linux.cpp demo.c.arm
 LOCAL_SHARED_LIBRARIES := libEGL libGLESv1_CM libui
 LOCAL_MODULE:= angeles
 LOCAL_MODULE_TAGS := optional
diff --git a/opengl/tests/angeles/app-linux.c b/opengl/tests/angeles/app-linux.cpp
similarity index 86%
rename from opengl/tests/angeles/app-linux.c
rename to opengl/tests/angeles/app-linux.cpp
index 7d0d320..9c71693 100644
--- a/opengl/tests/angeles/app-linux.c
+++ b/opengl/tests/angeles/app-linux.cpp
@@ -52,6 +52,11 @@
 #include <EGL/egl.h>
 #include <GLES/gl.h>
 
+#include <ui/FramebufferNativeWindow.h>
+#include <ui/EGLUtils.h>
+
+using namespace android;
+
 #include "app.h"
 
 
@@ -115,48 +120,33 @@
 
 static int initGraphics()
 {
-    EGLint s_configAttribs[] = {
-         EGL_RED_SIZE,       5,
-         EGL_GREEN_SIZE,     6,
-         EGL_BLUE_SIZE,      5,
- #if 1
-         EGL_DEPTH_SIZE,     16,
-         EGL_STENCIL_SIZE,   0,
- #else
-         EGL_ALPHA_SIZE,     EGL_DONT_CARE,
-         EGL_DEPTH_SIZE,     EGL_DONT_CARE,
-         EGL_STENCIL_SIZE,   EGL_DONT_CARE,
-         EGL_SURFACE_TYPE,   EGL_DONT_CARE,
- #endif
+    EGLint configAttribs[] = {
+         EGL_DEPTH_SIZE, 16,
          EGL_NONE
      };
      
-     EGLint numConfigs = -1;
      EGLint majorVersion;
      EGLint minorVersion;
-     EGLConfig config;
      EGLContext context;
+     EGLConfig config;
      EGLSurface surface;
-     
+     EGLint w, h;
      EGLDisplay dpy;
 
      dpy = eglGetDisplay(EGL_DEFAULT_DISPLAY);
-     egl_error("eglGetDisplay");
-     fprintf(stderr,"dpy = 0x%08x\n", (unsigned) dpy);
-     
      eglInitialize(dpy, &majorVersion, &minorVersion);
-     egl_error("eglInitialize");
-
-     eglGetConfigs(dpy, NULL, 0, &numConfigs);
-     egl_error("eglGetConfigs");
-     fprintf(stderr,"num configs %d\n", numConfigs);
+          
+     EGLNativeWindowType window = android_createDisplaySurface();
      
-     eglChooseConfig(dpy, s_configAttribs, &config, 1, &numConfigs);
-     egl_error("eglChooseConfig");
+     status_t err = EGLUtils::selectConfigForNativeWindow(
+             dpy, configAttribs, window, &config);
+     if (err) {
+         fprintf(stderr, "couldn't find an EGLConfig matching the screen format\n");
+         return 0;
+     }
 
-     surface = eglCreateWindowSurface(dpy, config,
-             android_createDisplaySurface(), NULL);
-     egl_error("eglMapWindowSurface");
+     surface = eglCreateWindowSurface(dpy, config, window, NULL);
+     egl_error("eglCreateWindowSurface");
 
      fprintf(stderr,"surface = %p\n", surface);
 
diff --git a/opengl/tests/fillrate/Android.mk b/opengl/tests/fillrate/Android.mk
new file mode 100644
index 0000000..a7d30c2
--- /dev/null
+++ b/opengl/tests/fillrate/Android.mk
@@ -0,0 +1,17 @@
+LOCAL_PATH:= $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES:= \
+	fillrate.cpp
+
+LOCAL_SHARED_LIBRARIES := \
+	libcutils \
+    libEGL \
+    libGLESv1_CM \
+    libui
+
+LOCAL_MODULE:= test-opengl-fillrate
+
+LOCAL_MODULE_TAGS := optional
+
+include $(BUILD_EXECUTABLE)
diff --git a/opengl/tests/fillrate/fillrate.cpp b/opengl/tests/fillrate/fillrate.cpp
new file mode 100644
index 0000000..4ffbc8b
--- /dev/null
+++ b/opengl/tests/fillrate/fillrate.cpp
@@ -0,0 +1,161 @@
+/*
+**
+** Copyright 2006, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License"); 
+** you may not use this file except in compliance with the License. 
+** You may obtain a copy of the License at 
+**
+**     http://www.apache.org/licenses/LICENSE-2.0 
+**
+** Unless required by applicable law or agreed to in writing, software 
+** distributed under the License is distributed on an "AS IS" BASIS, 
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+** See the License for the specific language governing permissions and 
+** limitations under the License.
+*/
+
+#define LOG_TAG "fillrate"
+
+#include <stdlib.h>
+#include <stdio.h>
+
+#include <EGL/egl.h>
+#include <GLES/gl.h>
+#include <GLES/glext.h>
+
+#include <utils/StopWatch.h>
+#include <ui/FramebufferNativeWindow.h>
+#include <ui/EGLUtils.h>
+
+using namespace android;
+
+int main(int argc, char** argv)
+{
+    EGLint configAttribs[] = {
+         EGL_DEPTH_SIZE, 0,
+         EGL_NONE
+     };
+     
+     EGLint majorVersion;
+     EGLint minorVersion;
+     EGLContext context;
+     EGLConfig config;
+     EGLSurface surface;
+     EGLint w, h;
+     EGLDisplay dpy;
+
+     dpy = eglGetDisplay(EGL_DEFAULT_DISPLAY);
+     eglInitialize(dpy, &majorVersion, &minorVersion);
+          
+     EGLNativeWindowType window = android_createDisplaySurface();
+     
+     status_t err = EGLUtils::selectConfigForNativeWindow(
+             dpy, configAttribs, window, &config);
+     if (err) {
+         fprintf(stderr, "couldn't find an EGLConfig matching the screen format\n");
+         return 0;
+     }
+
+     surface = eglCreateWindowSurface(dpy, config, window, NULL);
+     context = eglCreateContext(dpy, config, NULL, NULL);
+     eglMakeCurrent(dpy, surface, surface, context);   
+     eglQuerySurface(dpy, surface, EGL_WIDTH, &w);
+     eglQuerySurface(dpy, surface, EGL_HEIGHT, &h);
+     
+     printf("w=%d, h=%d\n", w, h);
+     
+     glBindTexture(GL_TEXTURE_2D, 0);
+     glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+     glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+     glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
+     glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
+     glTexEnvx(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
+     glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+     glDisable(GL_DITHER);
+     glEnable(GL_BLEND);
+     glEnable(GL_TEXTURE_2D);
+     glColor4f(1,1,1,1);
+
+     uint32_t* t32 = (uint32_t*)malloc(512*512*4); 
+     for (int y=0 ; y<512 ; y++) {
+         for (int x=0 ; x<512 ; x++) {
+             int u = x-256;
+             int v = y-256;
+             if (u*u+v*v < 256*256) {
+                 t32[x+y*512] = 0x10FFFFFF;
+             } else {
+                 t32[x+y*512] = 0x20FF0000;
+             }
+         }
+     }
+
+     const GLfloat vertices[4][2] = {
+             { 0,  0 },
+             { 0,  h },
+             { w,  h },
+             { w,  0 }
+     };
+
+     const GLfloat texCoords[4][2] = {
+             { 0,  0 },
+             { 0,  1 },
+             { 1,  1 },
+             { 1,  0 }
+     };
+
+     glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 512, 512, 0, GL_RGBA, GL_UNSIGNED_BYTE, t32);
+
+     glViewport(0, 0, w, h);
+     glMatrixMode(GL_PROJECTION);
+     glLoadIdentity();
+     glOrthof(0, w, 0, h, 0, 1);
+
+     glEnableClientState(GL_VERTEX_ARRAY);
+     glEnableClientState(GL_TEXTURE_COORD_ARRAY);
+     glVertexPointer(2, GL_FLOAT, 0, vertices);
+     glTexCoordPointer(2, GL_FLOAT, 0, texCoords);
+
+     eglSwapInterval(dpy, 1);
+
+     glClearColor(1,0,0,0);
+     glClear(GL_COLOR_BUFFER_BIT);
+     glDrawArrays(GL_TRIANGLE_FAN, 0, 4); 
+     eglSwapBuffers(dpy, surface);
+     
+
+     nsecs_t times[32];
+
+     for (int c=1 ; c<32 ; c++) {
+         glClear(GL_COLOR_BUFFER_BIT);
+         for (int i=0 ; i<c ; i++) {
+             glDrawArrays(GL_TRIANGLE_FAN, 0, 4); 
+         }
+         eglSwapBuffers(dpy, surface);
+     }
+
+
+     //     for (int c=31 ; c>=1 ; c--) {
+     int j=0;
+     for (int c=1 ; c<32 ; c++) {
+         glClear(GL_COLOR_BUFFER_BIT);
+         nsecs_t now = systemTime();
+         for (int i=0 ; i<c ; i++) {
+             glDrawArrays(GL_TRIANGLE_FAN, 0, 4); 
+         }
+         eglSwapBuffers(dpy, surface);
+         nsecs_t t = systemTime() - now;
+         times[j++] = t;
+     }
+
+     for (int c=1, j=0 ; c<32 ; c++, j++) {
+         nsecs_t t = times[j];
+         printf("%lld\t%d\t%f\n", t, c, (double(t)/c)/1000000.0);
+     }
+
+
+       
+     eglTerminate(dpy);
+     
+     return 0;
+}
diff --git a/opengl/tests/filter/Android.mk b/opengl/tests/filter/Android.mk
index 31b7d9a..a254127 100644
--- a/opengl/tests/filter/Android.mk
+++ b/opengl/tests/filter/Android.mk
@@ -2,7 +2,7 @@
 include $(CLEAR_VARS)
 
 LOCAL_SRC_FILES:= \
-	filter.c
+	filter.cpp
 
 LOCAL_SHARED_LIBRARIES := \
 	libcutils \
@@ -14,4 +14,6 @@
 
 LOCAL_MODULE_TAGS := optional
 
+LOCAL_CFLAGS := -DGL_GLEXT_PROTOTYPES
+
 include $(BUILD_EXECUTABLE)
diff --git a/opengl/tests/filter/filter.c b/opengl/tests/filter/filter.cpp
similarity index 90%
rename from opengl/tests/filter/filter.c
rename to opengl/tests/filter/filter.cpp
index de97119..e82b12d 100644
--- a/opengl/tests/filter/filter.c
+++ b/opengl/tests/filter/filter.cpp
@@ -5,6 +5,11 @@
 #include <GLES/gl.h>
 #include <GLES/glext.h>
 
+#include <ui/FramebufferNativeWindow.h>
+#include <ui/EGLUtils.h>
+
+using namespace android;
+
 int main(int argc, char** argv)
 {
     if (argc!=2 && argc!=3) {
@@ -34,12 +39,14 @@
 
      dpy = eglGetDisplay(EGL_DEFAULT_DISPLAY);
      eglInitialize(dpy, &majorVersion, &minorVersion);
-     eglChooseConfig(dpy, s_configAttribs, &config, 1, &numConfigs);
      if (!usePbuffer) {
-         surface = eglCreateWindowSurface(dpy, config,
-                 android_createDisplaySurface(), NULL);
+         EGLNativeWindowType window = android_createDisplaySurface();
+         surface = eglCreateWindowSurface(dpy, config, window, NULL);
+         EGLUtils::selectConfigForNativeWindow(
+                 dpy, s_configAttribs, window, &config);
      } else {
          printf("using pbuffer\n");
+         eglChooseConfig(dpy, s_configAttribs, &config, 1, &numConfigs);
          EGLint attribs[] = { EGL_WIDTH, 320, EGL_HEIGHT, 480, EGL_NONE };
          surface = eglCreatePbufferSurface(dpy, config, attribs);
          if (surface == EGL_NO_SURFACE) {
diff --git a/opengl/tests/finish/Android.mk b/opengl/tests/finish/Android.mk
index 8b46cd7..5620814 100644
--- a/opengl/tests/finish/Android.mk
+++ b/opengl/tests/finish/Android.mk
@@ -2,7 +2,7 @@
 include $(CLEAR_VARS)
 
 LOCAL_SRC_FILES:= \
-	finish.c
+	finish.cpp
 
 LOCAL_SHARED_LIBRARIES := \
 	libcutils \
@@ -14,4 +14,6 @@
 
 LOCAL_MODULE_TAGS := optional
 
+LOCAL_CFLAGS := -DGL_GLEXT_PROTOTYPES
+
 include $(BUILD_EXECUTABLE)
diff --git a/opengl/tests/finish/finish.c b/opengl/tests/finish/finish.cpp
similarity index 90%
rename from opengl/tests/finish/finish.c
rename to opengl/tests/finish/finish.cpp
index 45fc758..b5b8142 100644
--- a/opengl/tests/finish/finish.c
+++ b/opengl/tests/finish/finish.cpp
@@ -24,39 +24,41 @@
 #include <GLES/gl.h>
 #include <GLES/glext.h>
 
+#include <utils/Timers.h>
 
-long long systemTime()
-{
-    struct timespec t;
-    t.tv_sec = t.tv_nsec = 0;
-    clock_gettime(CLOCK_MONOTONIC, &t);
-    return (long long)(t.tv_sec)*1000000000LL + t.tv_nsec;
-}
+#include <ui/FramebufferNativeWindow.h>
+#include <ui/EGLUtils.h>
+
+using namespace android;
 
 int main(int argc, char** argv)
 {
-    EGLint s_configAttribs[] = {
-         EGL_RED_SIZE,       5,
-         EGL_GREEN_SIZE,     6,
-         EGL_BLUE_SIZE,      5,
+    EGLint configAttribs[] = {
+         EGL_DEPTH_SIZE, 0,
          EGL_NONE
      };
      
-     EGLint numConfigs = -1;
      EGLint majorVersion;
      EGLint minorVersion;
-     EGLConfig config;
      EGLContext context;
+     EGLConfig config;
      EGLSurface surface;
      EGLint w, h;
-     
      EGLDisplay dpy;
 
      dpy = eglGetDisplay(EGL_DEFAULT_DISPLAY);
      eglInitialize(dpy, &majorVersion, &minorVersion);
-     eglChooseConfig(dpy, s_configAttribs, &config, 1, &numConfigs);
-     surface = eglCreateWindowSurface(dpy, config, 
-             android_createDisplaySurface(), NULL);
+          
+     EGLNativeWindowType window = android_createDisplaySurface();
+     
+     status_t err = EGLUtils::selectConfigForNativeWindow(
+             dpy, configAttribs, window, &config);
+     if (err) {
+         fprintf(stderr, "couldn't find an EGLConfig matching the screen format\n");
+         return 0;
+     }
+
+     surface = eglCreateWindowSurface(dpy, config, window, NULL);
      context = eglCreateContext(dpy, config, NULL, NULL);
      eglMakeCurrent(dpy, surface, surface, context);   
      eglQuerySurface(dpy, surface, EGL_WIDTH, &w);
@@ -75,13 +77,13 @@
      long long now, t;
      int i;
 
-     char* texels = malloc(512*512*2);
+     char* texels = (char*)malloc(512*512*2);
      memset(texels,0xFF,512*512*2);
      
      glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB,
              512, 512, 0, GL_RGB, GL_UNSIGNED_SHORT_5_6_5, texels);
 
-     char* dst = malloc(320*480*2);
+     char* dst = (char*)malloc(320*480*2);
      memset(dst, 0, 320*480*2);
      printf("307200 bytes memcpy\n");
      for (i=0 ; i<4 ; i++) {
diff --git a/opengl/tests/swapinterval/Android.mk b/opengl/tests/swapinterval/Android.mk
new file mode 100644
index 0000000..619447c
--- /dev/null
+++ b/opengl/tests/swapinterval/Android.mk
@@ -0,0 +1,17 @@
+LOCAL_PATH:= $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES:= \
+	swapinterval.cpp
+
+LOCAL_SHARED_LIBRARIES := \
+	libcutils \
+    libEGL \
+    libGLESv1_CM \
+    libui
+
+LOCAL_MODULE:= test-opengl-swapinterval
+
+LOCAL_MODULE_TAGS := optional
+
+include $(BUILD_EXECUTABLE)
diff --git a/opengl/tests/swapinterval/swapinterval.cpp b/opengl/tests/swapinterval/swapinterval.cpp
new file mode 100644
index 0000000..cf908a0
--- /dev/null
+++ b/opengl/tests/swapinterval/swapinterval.cpp
@@ -0,0 +1,104 @@
+/*
+**
+** Copyright 2006, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License"); 
+** you may not use this file except in compliance with the License. 
+** You may obtain a copy of the License at 
+**
+**     http://www.apache.org/licenses/LICENSE-2.0 
+**
+** Unless required by applicable law or agreed to in writing, software 
+** distributed under the License is distributed on an "AS IS" BASIS, 
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+** See the License for the specific language governing permissions and 
+** limitations under the License.
+*/
+
+#define LOG_TAG "fillrate"
+
+#include <stdlib.h>
+#include <stdio.h>
+
+#include <EGL/egl.h>
+#include <GLES/gl.h>
+#include <GLES/glext.h>
+
+#include <utils/StopWatch.h>
+#include <ui/FramebufferNativeWindow.h>
+#include <ui/EGLUtils.h>
+
+using namespace android;
+
+int main(int argc, char** argv)
+{
+    EGLint configAttribs[] = {
+         EGL_DEPTH_SIZE, 0,
+         EGL_NONE
+     };
+     
+     EGLint majorVersion;
+     EGLint minorVersion;
+     EGLContext context;
+     EGLConfig config;
+     EGLSurface surface;
+     EGLint w, h;
+     EGLDisplay dpy;
+
+     dpy = eglGetDisplay(EGL_DEFAULT_DISPLAY);
+     eglInitialize(dpy, &majorVersion, &minorVersion);
+          
+     EGLNativeWindowType window = android_createDisplaySurface();
+     
+     status_t err = EGLUtils::selectConfigForNativeWindow(
+             dpy, configAttribs, window, &config);
+     if (err) {
+         fprintf(stderr, "couldn't find an EGLConfig matching the screen format\n");
+         return 0;
+     }
+
+     surface = eglCreateWindowSurface(dpy, config, window, NULL);
+     context = eglCreateContext(dpy, config, NULL, NULL);
+     eglMakeCurrent(dpy, surface, surface, context);   
+     eglQuerySurface(dpy, surface, EGL_WIDTH, &w);
+     eglQuerySurface(dpy, surface, EGL_HEIGHT, &h);
+     
+     printf("w=%d, h=%d\n", w, h);
+     
+     glDisable(GL_DITHER);
+     glEnable(GL_BLEND);
+
+     glViewport(0, 0, w, h);
+     glOrthof(0, w, 0, h, 0, 1);
+
+     eglSwapInterval(dpy, 1);
+
+     glClearColor(1,0,0,0);
+     glClear(GL_COLOR_BUFFER_BIT);
+     eglSwapBuffers(dpy, surface);
+
+
+     int time = 10;
+     printf("screen should flash red/green quickly for %d s...\n", time);
+     
+     int c = 0;
+     nsecs_t start = systemTime();
+     nsecs_t t;
+     do {
+         glClearColor(1,0,0,0);
+         glClear(GL_COLOR_BUFFER_BIT);
+         eglSwapBuffers(dpy, surface);
+         glClearColor(0,1,0,0);
+         glClear(GL_COLOR_BUFFER_BIT);
+         eglSwapBuffers(dpy, surface);
+         t = systemTime() - start;
+         c += 2;
+     } while (int(ns2s(t))<=time);
+     
+     double p =  (double(t) / c) / 1000000000.0;
+     printf("refresh-rate is %f fps (%f ms)\n", 1.0f/p, p*1000.0);
+       
+     eglTerminate(dpy);
+     
+     return 0;
+}
diff --git a/opengl/tests/textures/Android.mk b/opengl/tests/textures/Android.mk
index 8d5f56d..b2fa185 100644
--- a/opengl/tests/textures/Android.mk
+++ b/opengl/tests/textures/Android.mk
@@ -2,7 +2,7 @@
 include $(CLEAR_VARS)
 
 LOCAL_SRC_FILES:= \
-	textures.c
+	textures.cpp
 
 LOCAL_SHARED_LIBRARIES := \
 	libcutils \
@@ -14,4 +14,6 @@
 
 LOCAL_MODULE_TAGS := optional
 
+LOCAL_CFLAGS := -DGL_GLEXT_PROTOTYPES
+
 include $(BUILD_EXECUTABLE)
diff --git a/opengl/tests/textures/textures.c b/opengl/tests/textures/textures.cpp
similarity index 86%
rename from opengl/tests/textures/textures.c
rename to opengl/tests/textures/textures.cpp
index 214291b..ee92e79 100644
--- a/opengl/tests/textures/textures.c
+++ b/opengl/tests/textures/textures.cpp
@@ -22,30 +22,39 @@
 #include <GLES/gl.h>
 #include <GLES/glext.h>
 
+#include <ui/FramebufferNativeWindow.h>
+#include <ui/EGLUtils.h>
+
+using namespace android;
+
 int main(int argc, char** argv)
 {
-    EGLint s_configAttribs[] = {
-         EGL_RED_SIZE,       5,
-         EGL_GREEN_SIZE,     6,
-         EGL_BLUE_SIZE,      5,
+    EGLint configAttribs[] = {
+         EGL_DEPTH_SIZE, 0,
          EGL_NONE
      };
      
-     EGLint numConfigs = -1;
      EGLint majorVersion;
      EGLint minorVersion;
-     EGLConfig config;
      EGLContext context;
+     EGLConfig config;
      EGLSurface surface;
      EGLint w, h;
-     
      EGLDisplay dpy;
 
      dpy = eglGetDisplay(EGL_DEFAULT_DISPLAY);
      eglInitialize(dpy, &majorVersion, &minorVersion);
-     eglChooseConfig(dpy, s_configAttribs, &config, 1, &numConfigs);
-     surface = eglCreateWindowSurface(dpy, config,
-             android_createDisplaySurface(), NULL);
+          
+     EGLNativeWindowType window = android_createDisplaySurface();
+     
+     status_t err = EGLUtils::selectConfigForNativeWindow(
+             dpy, configAttribs, window, &config);
+     if (err) {
+         fprintf(stderr, "couldn't find an EGLConfig matching the screen format\n");
+         return 0;
+     }
+
+     surface = eglCreateWindowSurface(dpy, config, window, NULL);
      context = eglCreateContext(dpy, config, NULL, NULL);
      eglMakeCurrent(dpy, surface, surface, context);   
      eglQuerySurface(dpy, surface, EGL_WIDTH, &w);
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
index 835c683..6a1f6f8 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
@@ -432,7 +432,7 @@
             } finally {
                 db.endTransaction();
             }
-            upgradeVersion = 36;
+            upgradeVersion = 37;
         }
 
         if (upgradeVersion == 37) {
diff --git a/packages/TtsService/src/android/tts/TtsService.java b/packages/TtsService/src/android/tts/TtsService.java
index 70960b5..1b99d32 100755
--- a/packages/TtsService/src/android/tts/TtsService.java
+++ b/packages/TtsService/src/android/tts/TtsService.java
@@ -142,8 +142,6 @@
     private final ReentrantLock synthesizerLock = new ReentrantLock();
 
     private static SynthProxy sNativeSynth = null;
-    private static Boolean sIsKillingSynth = true;
-
     @Override
     public void onCreate() {
         super.onCreate();
@@ -154,7 +152,6 @@
         String soLibPath = "/system/lib/libttspico.so";
         if (sNativeSynth == null) {
             sNativeSynth = new SynthProxy(soLibPath);
-            sIsKillingSynth = false;
         }
 
         mSelf = this;
@@ -175,9 +172,6 @@
     @Override
     public void onDestroy() {
         super.onDestroy();
-
-        sIsKillingSynth = true;
-        Log.i("TtsService", "TtsService.onDestroy()");
         // Don't hog the media player
         cleanUpPlayer();
 
@@ -186,7 +180,6 @@
 
         // Unregister all callbacks.
         mCallbacks.kill();
-        //Log.i("TtsService", "TtsService.onDestroy() ended");
     }
 
 
@@ -250,9 +243,6 @@
 
 
     private int setSpeechRate(String callingApp, int rate) {
-        if (sIsKillingSynth) {
-            return TextToSpeech.ERROR;
-        }
         if (isDefaultEnforced()) {
             return sNativeSynth.setSpeechRate(getDefaultRate());
         } else {
@@ -262,37 +252,23 @@
 
 
     private int setPitch(String callingApp, int pitch) {
-        if (sIsKillingSynth) {
-            return TextToSpeech.ERROR;
-        }
         return sNativeSynth.setPitch(pitch);
     }
 
 
     private int isLanguageAvailable(String lang, String country, String variant) {
-        if (sIsKillingSynth) {
-            return TextToSpeech.LANG_NOT_SUPPORTED;
-        }
         //Log.v("TtsService", "TtsService.isLanguageAvailable(" + lang + ", " + country + ", " +variant+")");
         return sNativeSynth.isLanguageAvailable(lang, country, variant);
     }
 
 
     private String[] getLanguage() {
-        if (sIsKillingSynth) {
-            Log.v("TtsService", "killing synth:: aborting getLanguage()");
-            return null;
-        }
         return sNativeSynth.getLanguage();
     }
 
 
     private int setLanguage(String callingApp, String lang, String country, String variant) {
         Log.v("TtsService", "TtsService.setLanguage(" + lang + ", " + country + ", " + variant + ")");
-        if (sIsKillingSynth) {
-            Log.v("TtsService", "killing synth:: aborting setLanguage()");
-            return TextToSpeech.ERROR;
-        }
         if (isDefaultEnforced()) {
             return sNativeSynth.setLanguage(getDefaultLanguage(), getDefaultCountry(),
                     getDefaultLocVariant());
@@ -426,12 +402,7 @@
                 }
                 if ((mCurrentSpeechItem != null) &&
                      mCurrentSpeechItem.mCallingApp.equals(callingApp)) {
-                    if (sIsKillingSynth) {
-                        Log.v("TtsService", "killing synth:: aborting stop()");
-                        result = TextToSpeech.ERROR;
-                    } else {
-                        result = sNativeSynth.stop();
-                    }
+                    result = sNativeSynth.stop();
                     mKillList.put(mCurrentSpeechItem, true);
                     if (mPlayer != null) {
                         try {
@@ -480,12 +451,7 @@
                 if ((mCurrentSpeechItem != null) &&
                     ((mCurrentSpeechItem.mType != SpeechItem.TEXT_TO_FILE) ||
                       mCurrentSpeechItem.mCallingApp.equals(callingApp))) {
-                    if (sIsKillingSynth) {
-                        Log.v("TtsService", "killing synth:: aborting stop()");
-                        result = TextToSpeech.ERROR;
-                    } else {
-                        result = sNativeSynth.stop();
-                    }
+                    result = sNativeSynth.stop();
                     mKillList.put(mCurrentSpeechItem, true);
                     if (mPlayer != null) {
                         try {
@@ -625,9 +591,7 @@
                         if (speechRate.length() > 0){
                             setSpeechRate("", Integer.parseInt(speechRate));
                         }
-                        if (!sIsKillingSynth) {
-                            sNativeSynth.speak(speechItem.mText, streamType);
-                        }
+                        sNativeSynth.speak(speechItem.mText, streamType);
                     }
                 } catch (InterruptedException e) {
                     Log.e("TtsService", "TTS speakInternalOnly(): tryLock interrupted");
@@ -696,9 +660,7 @@
                         if (speechRate.length() > 0){
                             setSpeechRate("", Integer.parseInt(speechRate));
                         }
-                        if (!sIsKillingSynth) {
-                            sNativeSynth.synthesizeToFile(speechItem.mText, speechItem.mFilename);
-                        }
+                        sNativeSynth.synthesizeToFile(speechItem.mText, speechItem.mFilename);
                     }
                 } catch (InterruptedException e) {
                     Log.e("TtsService", "TTS synthToFileInternalOnly(): tryLock interrupted");
diff --git a/services/java/com/android/server/BackupManagerService.java b/services/java/com/android/server/BackupManagerService.java
index 67f3816..ed16a37 100644
--- a/services/java/com/android/server/BackupManagerService.java
+++ b/services/java/com/android/server/BackupManagerService.java
@@ -307,36 +307,42 @@
         mEverStored = new File(mBaseStateDir, "processed");
         File tempProcessedFile = new File(mBaseStateDir, "processed.new");
         try {
-            RandomAccessFile temp = new RandomAccessFile(tempProcessedFile, "rw");
-            mEverStoredStream = new RandomAccessFile(mEverStored, "r");
+            // If there are previous contents, parse them out then start a new
+            // file to continue the recordkeeping.
+            if (mEverStored.exists()) {
+                RandomAccessFile temp = new RandomAccessFile(tempProcessedFile, "rw");
+                mEverStoredStream = new RandomAccessFile(mEverStored, "r");
 
-            // parse its existing contents
-            mEverStoredStream.seek(0);
-            temp.seek(0);
-            try {
-                while (true) {
-                    PackageInfo info;
-                    String pkg = mEverStoredStream.readUTF();
-                    try {
-                        info = mPackageManager.getPackageInfo(pkg, 0);
-                        mEverStoredApps.add(pkg);
-                        temp.writeUTF(pkg);
-                        if (DEBUG) Log.v(TAG, "   + " + pkg);
-                    } catch (NameNotFoundException e) {
-                        // nope, this package was uninstalled; don't include it
-                        if (DEBUG) Log.v(TAG, "   - " + pkg);
+                // parse its existing contents
+                mEverStoredStream.seek(0);
+                temp.seek(0);
+                try {
+                    while (true) {
+                        PackageInfo info;
+                        String pkg = mEverStoredStream.readUTF();
+                        try {
+                            info = mPackageManager.getPackageInfo(pkg, 0);
+                            mEverStoredApps.add(pkg);
+                            temp.writeUTF(pkg);
+                            if (DEBUG) Log.v(TAG, "   + " + pkg);
+                        } catch (NameNotFoundException e) {
+                            // nope, this package was uninstalled; don't include it
+                            if (DEBUG) Log.v(TAG, "   - " + pkg);
+                        }
                     }
+                } catch (EOFException e) {
+                    // now we're at EOF
                 }
-            } catch (EOFException e) {
-                // now we're at EOF
-            }
 
-            // Once we've rewritten the backup history log, atomically replace the
-            // old one with the new one then reopen the file for continuing use.
-            temp.close();
-            mEverStoredStream.close();
-            tempProcessedFile.renameTo(mEverStored);
+                // Once we've rewritten the backup history log, atomically replace the
+                // old one with the new one then reopen the file for continuing use.
+                temp.close();
+                mEverStoredStream.close();
+                tempProcessedFile.renameTo(mEverStored);
+            }
+            // This will create the file if it doesn't exist
             mEverStoredStream = new RandomAccessFile(mEverStored, "rwd");
+            mEverStoredStream.seek(mEverStoredStream.length());
         } catch (IOException e) {
             Log.e(TAG, "Unable to open known-stored file!");
             mEverStoredStream = null;
@@ -786,7 +792,11 @@
 
         synchronized(mClearDataLock) {
             mClearingData = true;
-            mPackageManager.clearApplicationUserData(packageName, observer);
+            try {
+                mActivityManager.clearApplicationUserData(packageName, observer);
+            } catch (RemoteException e) {
+                // can't happen because the activity manager is in this process
+            }
 
             // only wait 10 seconds for the clear data to happen
             long timeoutMark = System.currentTimeMillis() + TIMEOUT_INTERVAL;
@@ -1470,10 +1480,12 @@
                 if (DEBUG) Log.v(TAG, "Found the app - running clear process");
                 // found it; fire off the clear request
                 synchronized (mQueueLock) {
+                    long oldId = Binder.clearCallingIdentity();
                     mWakelock.acquire();
                     Message msg = mBackupHandler.obtainMessage(MSG_RUN_CLEAR,
                             new ClearParams(getTransport(mCurrentTransport), info));
                     mBackupHandler.sendMessage(msg);
+                    Binder.restoreCallingIdentity(oldId);
                 }
                 break;
             }
@@ -1699,10 +1711,12 @@
 
             for (int i = 0; i < mRestoreSets.length; i++) {
                 if (token == mRestoreSets[i].token) {
+                    long oldId = Binder.clearCallingIdentity();
                     mWakelock.acquire();
                     Message msg = mBackupHandler.obtainMessage(MSG_RUN_RESTORE);
                     msg.obj = new RestoreParams(mRestoreTransport, observer, token);
                     mBackupHandler.sendMessage(msg);
+                    Binder.restoreCallingIdentity(oldId);
                     return 0;
                 }
             }
diff --git a/services/java/com/android/server/InputDevice.java b/services/java/com/android/server/InputDevice.java
index 0ac5740..cb23c45 100644
--- a/services/java/com/android/server/InputDevice.java
+++ b/services/java/com/android/server/InputDevice.java
@@ -23,11 +23,13 @@
 import android.view.WindowManagerPolicy;
 
 public class InputDevice {
+    static final boolean DEBUG_POINTERS = false;
+    
     /** Amount that trackball needs to move in order to generate a key event. */
     static final int TRACKBALL_MOVEMENT_THRESHOLD = 6;
 
     /** Maximum number of pointers we will track and report. */
-    static final int MAX_POINTERS = 2;
+    static final int MAX_POINTERS = 10;
     
     final int id;
     final int classes;
@@ -51,100 +53,316 @@
         float yMoveScale;
         MotionEvent currentMove = null;
         boolean changed = false;
-        boolean mLastAnyDown = false;
         long mDownTime = 0;
-        final boolean[] mLastDown = new boolean[MAX_POINTERS];
-        final boolean[] mDown = new boolean[MAX_POINTERS];
+        
+        // The currently assigned pointer IDs, corresponding to the last data.
+        int[] mPointerIds = new int[MAX_POINTERS];
+        
+        // This is the last generated pointer data, ordered to match
+        // mPointerIds.
+        int mLastNumPointers = 0;
         final int[] mLastData = new int[MotionEvent.NUM_SAMPLE_DATA * MAX_POINTERS];
-        final int[] mCurData = new int[MotionEvent.NUM_SAMPLE_DATA * MAX_POINTERS];
+        
+        // This is the next set of pointer data being generated.  It is not
+        // in any known order, and will be propagated in to mLastData
+        // as part of mapping it to the appropriate pointer IDs.
+        // Note that we have one extra sample of data here, to help clients
+        // avoid doing bounds checking.
+        int mNextNumPointers = 0;
+        final int[] mNextData = new int[(MotionEvent.NUM_SAMPLE_DATA * MAX_POINTERS)
+                                        + MotionEvent.NUM_SAMPLE_DATA];
+        
+        // Temporary data structures for doing the pointer ID mapping.
+        final int[] mLast2Next = new int[MAX_POINTERS];
+        final int[] mNext2Last = new int[MAX_POINTERS];
+        final long[] mNext2LastDistance = new long[MAX_POINTERS];
+        
+        // Temporary data structure for generating the final motion data.
         final float[] mReportData = new float[MotionEvent.NUM_SAMPLE_DATA * MAX_POINTERS];
         
+        // This is not used here, but can be used by callers for state tracking.
+        int mAddingPointerOffset = 0;
+        final boolean[] mDown = new boolean[MAX_POINTERS];
+        
         MotionState(int mx, int my) {
             xPrecision = mx;
             yPrecision = my;
             xMoveScale = mx != 0 ? (1.0f/mx) : 1.0f;
             yMoveScale = my != 0 ? (1.0f/my) : 1.0f;
+            for (int i=0; i<MAX_POINTERS; i++) {
+                mPointerIds[i] = i;
+            }
+        }
+        
+        private boolean assignPointer(int nextIndex, boolean allowOverlap) {
+            final int lastNumPointers = mLastNumPointers;
+            final int[] next2Last = mNext2Last;
+            final long[] next2LastDistance = mNext2LastDistance;
+            final int[] last2Next = mLast2Next;
+            final int[] lastData = mLastData;
+            final int[] nextData = mNextData;
+            final int id = nextIndex * MotionEvent.NUM_SAMPLE_DATA;
+            
+            if (DEBUG_POINTERS) Log.v("InputDevice", "assignPointer: nextIndex="
+                    + nextIndex + " dataOff=" + id);
+            final int x1 = nextData[id + MotionEvent.SAMPLE_X];
+            final int y1 = nextData[id + MotionEvent.SAMPLE_Y];
+            
+            long bestDistance = -1;
+            int bestIndex = -1;
+            for (int j=0; j<lastNumPointers; j++) {
+                if (!allowOverlap && last2Next[j] < 0) {
+                    continue;
+                }
+                final int jd = j * MotionEvent.NUM_SAMPLE_DATA;
+                final int xd = lastData[jd + MotionEvent.SAMPLE_X] - x1;
+                final int yd = lastData[jd + MotionEvent.SAMPLE_Y] - y1;
+                final long distance = xd*(long)xd + yd*(long)yd;
+                if (j == 0 || distance < bestDistance) {
+                    bestDistance = distance;
+                    bestIndex = j;
+                }
+            }
+            
+            if (DEBUG_POINTERS) Log.v("InputDevice", "New index " + nextIndex
+                    + " best old index=" + bestIndex + " (distance="
+                    + bestDistance + ")");
+            next2Last[nextIndex] = bestIndex;
+            next2LastDistance[nextIndex] = bestDistance;
+            
+            if (bestIndex < 0) {
+                return true;
+            }
+            
+            if (last2Next[bestIndex] == -1) {
+                last2Next[bestIndex] = nextIndex;
+                return false;
+            }
+            
+            if (DEBUG_POINTERS) Log.v("InputDevice", "Old index " + bestIndex
+                    + " has multiple best new pointers!");
+            
+            last2Next[bestIndex] = -2;
+            return true;
+        }
+        
+        private int updatePointerIdentifiers() {
+            final int[] lastData = mLastData;
+            final int[] nextData = mNextData;
+            final int nextNumPointers = mNextNumPointers;
+            final int lastNumPointers = mLastNumPointers;
+            
+            if (nextNumPointers == 1 && lastNumPointers == 1) {
+                System.arraycopy(nextData, 0, lastData, 0,
+                        MotionEvent.NUM_SAMPLE_DATA);
+                return -1;
+            }
+            
+            // Clear our old state.
+            final int[] last2Next = mLast2Next;
+            for (int i=0; i<lastNumPointers; i++) {
+                last2Next[i] = -1;
+            }
+            
+            if (DEBUG_POINTERS) Log.v("InputDevice",
+                    "Update pointers: lastNumPointers=" + lastNumPointers
+                    + " nextNumPointers=" + nextNumPointers);
+            
+            // Figure out the closes new points to the previous points.
+            final int[] next2Last = mNext2Last;
+            final long[] next2LastDistance = mNext2LastDistance;
+            boolean conflicts = false;
+            for (int i=0; i<nextNumPointers; i++) {
+                conflicts |= assignPointer(i, true);
+            }
+            
+            // Resolve ambiguities in pointer mappings, when two or more
+            // new pointer locations find their best previous location is
+            // the same.
+            if (conflicts) {
+                if (DEBUG_POINTERS) Log.v("InputDevice", "Resolving conflicts");
+                
+                for (int i=0; i<lastNumPointers; i++) {
+                    if (last2Next[i] != -2) {
+                        continue;
+                    }
+                    
+                    // Note that this algorithm is far from perfect.  Ideally
+                    // we should do something like the one described at
+                    // http://portal.acm.org/citation.cfm?id=997856
+                    
+                    if (DEBUG_POINTERS) Log.v("InputDevice",
+                            "Resolving last index #" + i);
+                    
+                    int numFound;
+                    do {
+                        numFound = 0;
+                        long worstDistance = 0;
+                        int worstJ = -1;
+                        for (int j=0; j<nextNumPointers; j++) {
+                            if (next2Last[j] != i) {
+                                continue;
+                            }
+                            numFound++;
+                            if (worstDistance < next2LastDistance[j]) {
+                                worstDistance = next2LastDistance[j];
+                                worstJ = j;
+                            }
+                        }
+                        
+                        if (worstJ >= 0) {
+                            if (DEBUG_POINTERS) Log.v("InputDevice",
+                                    "Worst new pointer: " + worstJ
+                                    + " (distance=" + worstDistance + ")");
+                            if (assignPointer(worstJ, false)) {
+                                // In this case there is no last pointer
+                                // remaining for this new one!
+                                next2Last[worstJ] = -1;
+                            }
+                        }
+                    } while (numFound > 2);
+                }
+            }
+            
+            int retIndex = -1;
+            
+            if (lastNumPointers < nextNumPointers) {
+                // We have one or more new pointers that are down.  Create a
+                // new pointer identifier for one of them.
+                if (DEBUG_POINTERS) Log.v("InputDevice", "Adding new pointer");
+                int nextId = 0;
+                int i=0;
+                while (i < lastNumPointers) {
+                    if (mPointerIds[i] > nextId) {
+                        // Found a hole, insert the pointer here.
+                        if (DEBUG_POINTERS) Log.v("InputDevice",
+                                "Inserting new pointer at hole " + i);
+                        System.arraycopy(mPointerIds, i, mPointerIds,
+                                i+1, lastNumPointers-i);
+                        System.arraycopy(lastData, i*MotionEvent.NUM_SAMPLE_DATA,
+                                lastData, (i+1)*MotionEvent.NUM_SAMPLE_DATA,
+                                (lastNumPointers-i)*MotionEvent.NUM_SAMPLE_DATA);
+                        break;
+                    }
+                    i++;
+                    nextId++;
+                }
+                
+                if (DEBUG_POINTERS) Log.v("InputDevice",
+                        "New pointer id " + nextId + " at index " + i);
+                
+                mLastNumPointers++;
+                retIndex = i;
+                mPointerIds[i] = nextId;
+                
+                // And assign this identifier to the first new pointer.
+                for (int j=0; j<nextNumPointers; j++) {
+                    if (next2Last[j] < 0) {
+                        if (DEBUG_POINTERS) Log.v("InputDevice",
+                                "Assigning new id to new pointer index " + j);
+                        next2Last[j] = i;
+                        break;
+                    }
+                }
+            }
+            
+            // Propagate all of the current data into the appropriate
+            // location in the old data to match the pointer ID that was
+            // assigned to it.
+            for (int i=0; i<nextNumPointers; i++) {
+                int lastIndex = next2Last[i];
+                if (lastIndex >= 0) {
+                    if (DEBUG_POINTERS) Log.v("InputDevice",
+                            "Copying next pointer index " + i
+                            + " to last index " + lastIndex);
+                    System.arraycopy(nextData, i*MotionEvent.NUM_SAMPLE_DATA,
+                            lastData, lastIndex*MotionEvent.NUM_SAMPLE_DATA,
+                            MotionEvent.NUM_SAMPLE_DATA);
+                }
+            }
+            
+            if (lastNumPointers > nextNumPointers) {
+                // One or more pointers has gone up.  Find the first one,
+                // and adjust accordingly.
+                if (DEBUG_POINTERS) Log.v("InputDevice", "Removing old pointer");
+                for (int i=0; i<lastNumPointers; i++) {
+                    if (last2Next[i] == -1) {
+                        if (DEBUG_POINTERS) Log.v("InputDevice",
+                                "Removing old pointer at index " + i);
+                        retIndex = i;
+                        break;
+                    }
+                }
+            }
+            
+            return retIndex;
+        }
+        
+        void removeOldPointer(int index) {
+            final int lastNumPointers = mLastNumPointers;
+            if (index >= 0 && index < lastNumPointers) {
+                System.arraycopy(mPointerIds, index+1, mPointerIds,
+                        index, lastNumPointers-index-1);
+                System.arraycopy(mLastData, (index+1)*MotionEvent.NUM_SAMPLE_DATA,
+                        mLastData, (index)*MotionEvent.NUM_SAMPLE_DATA,
+                        (lastNumPointers-index-1)*MotionEvent.NUM_SAMPLE_DATA);
+                mLastNumPointers--;
+            }
         }
         
         MotionEvent generateAbsMotion(InputDevice device, long curTime,
                 long curTimeNano, Display display, int orientation,
                 int metaState) {
             
-            final float[] scaled = mReportData;
-            final int[] cur = mCurData;
-            
-            boolean anyDown = false;
-            int firstDownChanged = -1;
-            int numPointers = 0;
-            for (int i=0; i<MAX_POINTERS; i++) {
-                boolean d = mDown[i];
-                anyDown |= d;
-                if (d != mLastDown[i] && firstDownChanged < 0) {
-                    firstDownChanged = i;
-                    mLastDown[i] = mDown[i];
-                    d = true;
-                }
-                
-                if (d) {
-                    final int src = i * MotionEvent.NUM_SAMPLE_DATA;
-                    final int dest = numPointers * MotionEvent.NUM_SAMPLE_DATA;
-                    numPointers++;
-                    scaled[dest + MotionEvent.SAMPLE_X] = cur[src + MotionEvent.SAMPLE_X];
-                    scaled[dest + MotionEvent.SAMPLE_Y] = cur[src + MotionEvent.SAMPLE_Y];
-                    scaled[dest + MotionEvent.SAMPLE_PRESSURE] = cur[src + MotionEvent.SAMPLE_PRESSURE];
-                    scaled[dest + MotionEvent.SAMPLE_SIZE] = cur[src + MotionEvent.SAMPLE_SIZE];
-                }
+            if (mNextNumPointers <= 0 && mLastNumPointers <= 0) {
+                return null;
             }
             
-            if (numPointers <= 0) {
-                return null;
+            final int lastNumPointers = mLastNumPointers;
+            final int nextNumPointers = mNextNumPointers;
+            if (mNextNumPointers > MAX_POINTERS) {
+                Log.w("InputDevice", "Number of pointers " + mNextNumPointers
+                        + " exceeded maximum of " + MAX_POINTERS);
+                mNextNumPointers = MAX_POINTERS;
+            }
+            
+            int upOrDownPointer = updatePointerIdentifiers();
+            
+            final float[] reportData = mReportData;
+            final int[] rawData = mLastData;
+            
+            final int numPointers = mLastNumPointers;
+            
+            if (DEBUG_POINTERS) Log.v("InputDevice", "Processing "
+                    + numPointers + " pointers (going from " + lastNumPointers
+                    + " to " + nextNumPointers + ")");
+            
+            for (int i=0; i<numPointers; i++) {
+                final int pos = i * MotionEvent.NUM_SAMPLE_DATA;
+                reportData[pos + MotionEvent.SAMPLE_X] = rawData[pos + MotionEvent.SAMPLE_X];
+                reportData[pos + MotionEvent.SAMPLE_Y] = rawData[pos + MotionEvent.SAMPLE_Y];
+                reportData[pos + MotionEvent.SAMPLE_PRESSURE] = rawData[pos + MotionEvent.SAMPLE_PRESSURE];
+                reportData[pos + MotionEvent.SAMPLE_SIZE] = rawData[pos + MotionEvent.SAMPLE_SIZE];
             }
             
             int action;
             int edgeFlags = 0;
-            if (anyDown != mLastAnyDown) {
-                final AbsoluteInfo absX = device.absX;
-                final AbsoluteInfo absY = device.absY;
-                if (anyDown && absX != null && absY != null) {
-                    // We don't let downs start unless we are
-                    // inside of the screen.  There are two reasons for
-                    // this: to avoid spurious touches when holding
-                    // the edges of the device near the touchscreen,
-                    // and to avoid reporting events if there are virtual
-                    // keys on the touchscreen outside of the display
-                    // area.
-                    // Note that we are only looking at the first pointer,
-                    // since what we are handling here is the first pointer
-                    // going down, and this is the coordinate that will be
-                    // used to dispatch the event.
-                    if (cur[MotionEvent.SAMPLE_X] < absX.minValue
-                            || cur[MotionEvent.SAMPLE_X] > absX.maxValue
-                            || cur[MotionEvent.SAMPLE_Y] < absY.minValue
-                            || cur[MotionEvent.SAMPLE_Y] > absY.maxValue) {
-                        if (false) Log.v("InputDevice", "Rejecting ("
-                                + cur[MotionEvent.SAMPLE_X] + ","
-                                + cur[MotionEvent.SAMPLE_Y] + "): outside of ("
-                                + absX.minValue + "," + absY.minValue
-                                + ")-(" + absX.maxValue + ","
-                                + absY.maxValue + ")");
-                        return null;
+            if (nextNumPointers != lastNumPointers) {
+                if (nextNumPointers > lastNumPointers) {
+                    if (lastNumPointers == 0) {
+                        action = MotionEvent.ACTION_DOWN;
+                        mDownTime = curTime;
+                    } else {
+                        action = MotionEvent.ACTION_POINTER_DOWN
+                                | (upOrDownPointer << MotionEvent.ACTION_POINTER_ID_SHIFT);
                     }
-                }
-                mLastAnyDown = anyDown;
-                if (anyDown) {
-                    action = MotionEvent.ACTION_DOWN;
-                    mDownTime = curTime;
                 } else {
-                    action = MotionEvent.ACTION_UP;
-                }
-                currentMove = null;
-            } else if (firstDownChanged >= 0) {
-                if (mDown[firstDownChanged]) {
-                    action = MotionEvent.ACTION_POINTER_DOWN
-                            | (firstDownChanged << MotionEvent.ACTION_POINTER_SHIFT);
-                } else {
-                    action = MotionEvent.ACTION_POINTER_UP
-                            | (firstDownChanged << MotionEvent.ACTION_POINTER_SHIFT);
+                    if (numPointers == 1) {
+                        action = MotionEvent.ACTION_UP;
+                    } else {
+                        action = MotionEvent.ACTION_POINTER_UP
+                                | (upOrDownPointer << MotionEvent.ACTION_POINTER_ID_SHIFT);
+                    }
                 }
                 currentMove = null;
             } else {
@@ -170,42 +388,42 @@
                 final int j = i * MotionEvent.NUM_SAMPLE_DATA;
             
                 if (absX != null) {
-                    scaled[j + MotionEvent.SAMPLE_X] =
-                            ((scaled[j + MotionEvent.SAMPLE_X]-absX.minValue)
+                    reportData[j + MotionEvent.SAMPLE_X] =
+                            ((reportData[j + MotionEvent.SAMPLE_X]-absX.minValue)
                                 / absX.range) * w;
                 }
                 if (absY != null) {
-                    scaled[j + MotionEvent.SAMPLE_Y] =
-                            ((scaled[j + MotionEvent.SAMPLE_Y]-absY.minValue)
+                    reportData[j + MotionEvent.SAMPLE_Y] =
+                            ((reportData[j + MotionEvent.SAMPLE_Y]-absY.minValue)
                                 / absY.range) * h;
                 }
                 if (absPressure != null) {
-                    scaled[j + MotionEvent.SAMPLE_PRESSURE] = 
-                            ((scaled[j + MotionEvent.SAMPLE_PRESSURE]-absPressure.minValue)
+                    reportData[j + MotionEvent.SAMPLE_PRESSURE] = 
+                            ((reportData[j + MotionEvent.SAMPLE_PRESSURE]-absPressure.minValue)
                                 / (float)absPressure.range);
                 }
                 if (absSize != null) {
-                    scaled[j + MotionEvent.SAMPLE_SIZE] = 
-                            ((scaled[j + MotionEvent.SAMPLE_SIZE]-absSize.minValue)
+                    reportData[j + MotionEvent.SAMPLE_SIZE] = 
+                            ((reportData[j + MotionEvent.SAMPLE_SIZE]-absSize.minValue)
                                 / (float)absSize.range);
                 }
                 
                 switch (orientation) {
                     case Surface.ROTATION_90: {
-                        final float temp = scaled[MotionEvent.SAMPLE_X];
-                        scaled[j + MotionEvent.SAMPLE_X] = scaled[j + MotionEvent.SAMPLE_Y];
-                        scaled[j + MotionEvent.SAMPLE_Y] = w-temp;
+                        final float temp = reportData[MotionEvent.SAMPLE_X];
+                        reportData[j + MotionEvent.SAMPLE_X] = reportData[j + MotionEvent.SAMPLE_Y];
+                        reportData[j + MotionEvent.SAMPLE_Y] = w-temp;
                         break;
                     }
                     case Surface.ROTATION_180: {
-                        scaled[j + MotionEvent.SAMPLE_X] = w-scaled[j + MotionEvent.SAMPLE_X];
-                        scaled[j + MotionEvent.SAMPLE_Y] = h-scaled[j + MotionEvent.SAMPLE_Y];
+                        reportData[j + MotionEvent.SAMPLE_X] = w-reportData[j + MotionEvent.SAMPLE_X];
+                        reportData[j + MotionEvent.SAMPLE_Y] = h-reportData[j + MotionEvent.SAMPLE_Y];
                         break;
                     }
                     case Surface.ROTATION_270: {
-                        final float temp = scaled[i + MotionEvent.SAMPLE_X];
-                        scaled[j + MotionEvent.SAMPLE_X] = h-scaled[j + MotionEvent.SAMPLE_Y];
-                        scaled[j + MotionEvent.SAMPLE_Y] = temp;
+                        final float temp = reportData[i + MotionEvent.SAMPLE_X];
+                        reportData[j + MotionEvent.SAMPLE_X] = h-reportData[j + MotionEvent.SAMPLE_Y];
+                        reportData[j + MotionEvent.SAMPLE_Y] = temp;
                         break;
                     }
                 }
@@ -214,24 +432,24 @@
             // We only consider the first pointer when computing the edge
             // flags, since they are global to the event.
             if (action == MotionEvent.ACTION_DOWN) {
-                if (scaled[MotionEvent.SAMPLE_X] <= 0) {
+                if (reportData[MotionEvent.SAMPLE_X] <= 0) {
                     edgeFlags |= MotionEvent.EDGE_LEFT;
-                } else if (scaled[MotionEvent.SAMPLE_X] >= dispW) {
+                } else if (reportData[MotionEvent.SAMPLE_X] >= dispW) {
                     edgeFlags |= MotionEvent.EDGE_RIGHT;
                 }
-                if (scaled[MotionEvent.SAMPLE_Y] <= 0) {
+                if (reportData[MotionEvent.SAMPLE_Y] <= 0) {
                     edgeFlags |= MotionEvent.EDGE_TOP;
-                } else if (scaled[MotionEvent.SAMPLE_Y] >= dispH) {
+                } else if (reportData[MotionEvent.SAMPLE_Y] >= dispH) {
                     edgeFlags |= MotionEvent.EDGE_BOTTOM;
                 }
             }
             
             if (currentMove != null) {
                 if (false) Log.i("InputDevice", "Adding batch x="
-                        + scaled[MotionEvent.SAMPLE_X]
-                        + " y=" + scaled[MotionEvent.SAMPLE_Y]
+                        + reportData[MotionEvent.SAMPLE_X]
+                        + " y=" + reportData[MotionEvent.SAMPLE_Y]
                         + " to " + currentMove);
-                currentMove.addBatch(curTime, scaled, metaState);
+                currentMove.addBatch(curTime, reportData, metaState);
                 if (WindowManagerPolicy.WATCH_POINTER) {
                     Log.i("KeyInputQueue", "Updating: " + currentMove);
                 }
@@ -239,37 +457,53 @@
             }
             
             MotionEvent me = MotionEvent.obtainNano(mDownTime, curTime,
-                    curTimeNano, action, numPointers, scaled, metaState,
-                    xPrecision, yPrecision, device.id, edgeFlags);
+                    curTimeNano, action, numPointers, mPointerIds, reportData,
+                    metaState, xPrecision, yPrecision, device.id, edgeFlags);
             if (action == MotionEvent.ACTION_MOVE) {
                 currentMove = me;
             }
+            
+            if (nextNumPointers < lastNumPointers) {
+                removeOldPointer(upOrDownPointer);
+            }
+            
             return me;
         }
         
+        boolean hasMore() {
+            return mLastNumPointers != mNextNumPointers;
+        }
+        
+        void finish() {
+            mNextNumPointers = mAddingPointerOffset = 0;
+            mNextData[MotionEvent.SAMPLE_PRESSURE] = 0;
+        }
+        
         MotionEvent generateRelMotion(InputDevice device, long curTime,
                 long curTimeNano, int orientation, int metaState) {
             
             final float[] scaled = mReportData;
             
             // For now we only support 1 pointer with relative motions.
-            scaled[MotionEvent.SAMPLE_X] = mCurData[MotionEvent.SAMPLE_X];
-            scaled[MotionEvent.SAMPLE_Y] = mCurData[MotionEvent.SAMPLE_Y];
+            scaled[MotionEvent.SAMPLE_X] = mNextData[MotionEvent.SAMPLE_X];
+            scaled[MotionEvent.SAMPLE_Y] = mNextData[MotionEvent.SAMPLE_Y];
             scaled[MotionEvent.SAMPLE_PRESSURE] = 1.0f;
             scaled[MotionEvent.SAMPLE_SIZE] = 0;
             int edgeFlags = 0;
             
             int action;
-            if (mDown[0] != mLastDown[0]) {
-                mCurData[MotionEvent.SAMPLE_X] =
-                        mCurData[MotionEvent.SAMPLE_Y] = 0;
-                mLastDown[0] = mDown[0];
-                if (mDown[0]) {
+            if (mNextNumPointers != mLastNumPointers) {
+                mNextData[MotionEvent.SAMPLE_X] =
+                        mNextData[MotionEvent.SAMPLE_Y] = 0;
+                if (mNextNumPointers > 0 && mLastNumPointers == 0) {
                     action = MotionEvent.ACTION_DOWN;
                     mDownTime = curTime;
-                } else {
+                } else if (mNextNumPointers == 0) {
                     action = MotionEvent.ACTION_UP;
+                } else {
+                    action = MotionEvent.ACTION_MOVE;
                 }
+                mLastNumPointers = mNextNumPointers;
                 currentMove = null;
             } else {
                 action = MotionEvent.ACTION_MOVE;
@@ -310,7 +544,7 @@
             }
             
             MotionEvent me = MotionEvent.obtainNano(mDownTime, curTime,
-                    curTimeNano, action, 1, scaled, metaState,
+                    curTimeNano, action, 1, mPointerIds, scaled, metaState,
                     xPrecision, yPrecision, device.id, edgeFlags);
             if (action == MotionEvent.ACTION_MOVE) {
                 currentMove = me;
diff --git a/services/java/com/android/server/KeyInputQueue.java b/services/java/com/android/server/KeyInputQueue.java
index e0ee7ed..dc7d22b 100644
--- a/services/java/com/android/server/KeyInputQueue.java
+++ b/services/java/com/android/server/KeyInputQueue.java
@@ -49,6 +49,7 @@
     static final String TAG = "KeyInputQueue";
 
     static final boolean DEBUG_VIRTUAL_KEYS = false;
+    static final boolean DEBUG_POINTERS = false;
     
     private static final String EXCLUDED_DEVICES_PATH = "etc/excluded-input-devices.xml";
 
@@ -193,10 +194,10 @@
         }
     }
 
-    private void readVirtualKeys() {
+    private void readVirtualKeys(String deviceName) {
         try {
             FileInputStream fis = new FileInputStream(
-                    "/sys/board_properties/virtualkeys.synaptics-rmi-touchscreen");
+                    "/sys/board_properties/virtualkeys." + deviceName);
             InputStreamReader isr = new InputStreamReader(fis);
             BufferedReader br = new BufferedReader(isr);
             String str = br.readLine();
@@ -275,7 +276,6 @@
 
         mHapticFeedbackCallback = hapticFeedbackCallback;
         
-        readVirtualKeys();
         readExcludedDevices();
         
         PowerManager pm = (PowerManager)context.getSystemService(
@@ -326,6 +326,10 @@
                         config.navigation
                                 = Configuration.NAVIGATION_TRACKBALL;
                         //Log.i("foo", "***** HAVE TRACKBALL!");
+                    } else if ((d.classes&RawInputEvent.CLASS_DPAD) != 0) {
+                        config.navigation
+                                = Configuration.NAVIGATION_DPAD;
+                        //Log.i("foo", "***** HAVE DPAD!");
                     }
                 }
             }
@@ -364,9 +368,9 @@
             android.os.Process.setThreadPriority(
                     android.os.Process.THREAD_PRIORITY_URGENT_DISPLAY);
             
-            try {
-                RawInputEvent ev = new RawInputEvent();
-                while (true) {
+            RawInputEvent ev = new RawInputEvent();
+            while (true) {
+                try {
                     InputDevice di;
 
                     // block, doesn't release the monitor
@@ -388,6 +392,9 @@
                         synchronized (mFirst) {
                             di = newInputDevice(ev.deviceId);
                             mDevices.put(ev.deviceId, di);
+                            if ((di.classes & RawInputEvent.CLASS_TOUCHSCREEN) != 0) {
+                                readVirtualKeys(di.name);
+                            }
                             configChanged = true;
                         }
                     } else if (ev.type == RawInputEvent.EV_DEVICE_REMOVED) {
@@ -465,49 +472,81 @@
                                              ? KeyEvent.FLAG_WOKE_HERE : 0));
                         } else if (ev.type == RawInputEvent.EV_KEY) {
                             if (ev.scancode == RawInputEvent.BTN_TOUCH &&
-                                    (classes&RawInputEvent.CLASS_TOUCHSCREEN) != 0) {
+                                    (classes&(RawInputEvent.CLASS_TOUCHSCREEN
+                                            |RawInputEvent.CLASS_TOUCHSCREEN_MT))
+                                            == RawInputEvent.CLASS_TOUCHSCREEN) {
                                 di.mAbs.changed = true;
                                 di.mAbs.mDown[0] = ev.value != 0;
                             } else if (ev.scancode == RawInputEvent.BTN_2 &&
-                                    (classes&RawInputEvent.CLASS_TOUCHSCREEN) != 0) {
+                                    (classes&(RawInputEvent.CLASS_TOUCHSCREEN
+                                            |RawInputEvent.CLASS_TOUCHSCREEN_MT))
+                                            == RawInputEvent.CLASS_TOUCHSCREEN) {
                                 di.mAbs.changed = true;
                                 di.mAbs.mDown[1] = ev.value != 0;
                             } else if (ev.scancode == RawInputEvent.BTN_MOUSE &&
                                     (classes&RawInputEvent.CLASS_TRACKBALL) != 0) {
                                 di.mRel.changed = true;
-                                di.mRel.mDown[0] = ev.value != 0;
+                                di.mRel.mNextNumPointers = ev.value != 0 ? 1 : 0;
                                 send = true;
                             }
     
                         } else if (ev.type == RawInputEvent.EV_ABS &&
+                                (classes&RawInputEvent.CLASS_TOUCHSCREEN_MT) != 0) {
+                            if (ev.scancode == RawInputEvent.ABS_MT_TOUCH_MAJOR) {
+                                di.mAbs.changed = true;
+                                di.mAbs.mNextData[di.mAbs.mAddingPointerOffset
+                                        + MotionEvent.SAMPLE_PRESSURE] = ev.value;
+                            } else if (ev.scancode == RawInputEvent.ABS_MT_POSITION_X) {
+                                di.mAbs.changed = true;
+                                di.mAbs.mNextData[di.mAbs.mAddingPointerOffset
+                                    + MotionEvent.SAMPLE_X] = ev.value;
+                                if (DEBUG_POINTERS) Log.v(TAG, "MT @"
+                                        + di.mAbs.mAddingPointerOffset
+                                        + " X:" + ev.value);
+                            } else if (ev.scancode == RawInputEvent.ABS_MT_POSITION_Y) {
+                                di.mAbs.changed = true;
+                                di.mAbs.mNextData[di.mAbs.mAddingPointerOffset
+                                    + MotionEvent.SAMPLE_Y] = ev.value;
+                                if (DEBUG_POINTERS) Log.v(TAG, "MT @"
+                                        + di.mAbs.mAddingPointerOffset
+                                        + " Y:" + ev.value);
+                            } else if (ev.scancode == RawInputEvent.ABS_MT_WIDTH_MAJOR) {
+                                di.mAbs.changed = true;
+                                di.mAbs.mNextData[di.mAbs.mAddingPointerOffset
+                                    + MotionEvent.SAMPLE_SIZE] = ev.value;
+                            }
+                            
+                        } else if (ev.type == RawInputEvent.EV_ABS &&
                                 (classes&RawInputEvent.CLASS_TOUCHSCREEN) != 0) {
                             // Finger 1
                             if (ev.scancode == RawInputEvent.ABS_X) {
                                 di.mAbs.changed = true;
-                                di.mAbs.mCurData[MotionEvent.SAMPLE_X] = ev.value;
+                                di.mAbs.mNextData[MotionEvent.SAMPLE_X] = ev.value;
                             } else if (ev.scancode == RawInputEvent.ABS_Y) {
                                 di.mAbs.changed = true;
-                                di.mAbs.mCurData[MotionEvent.SAMPLE_Y] = ev.value;
+                                di.mAbs.mNextData[MotionEvent.SAMPLE_Y] = ev.value;
                             } else if (ev.scancode == RawInputEvent.ABS_PRESSURE) {
                                 di.mAbs.changed = true;
-                                di.mAbs.mCurData[MotionEvent.SAMPLE_PRESSURE] = ev.value;
-                                di.mAbs.mCurData[MotionEvent.NUM_SAMPLE_DATA
+                                di.mAbs.mNextData[MotionEvent.SAMPLE_PRESSURE] = ev.value;
+                                di.mAbs.mNextData[MotionEvent.NUM_SAMPLE_DATA
                                                  + MotionEvent.SAMPLE_PRESSURE] = ev.value;
                             } else if (ev.scancode == RawInputEvent.ABS_TOOL_WIDTH) {
                                 di.mAbs.changed = true;
-                                di.mAbs.mCurData[MotionEvent.SAMPLE_SIZE] = ev.value;
-                                di.mAbs.mCurData[MotionEvent.NUM_SAMPLE_DATA
+                                di.mAbs.mNextData[MotionEvent.SAMPLE_SIZE] = ev.value;
+                                di.mAbs.mNextData[MotionEvent.NUM_SAMPLE_DATA
                                                  + MotionEvent.SAMPLE_SIZE] = ev.value;
 
                             // Finger 2
                             } else if (ev.scancode == RawInputEvent.ABS_HAT0X) {
                                 di.mAbs.changed = true;
-                                di.mAbs.mCurData[MotionEvent.NUM_SAMPLE_DATA
-                                                 + MotionEvent.SAMPLE_X] = ev.value;
+                                di.mAbs.mNextData[(di.mAbs.mDown[0] ?
+                                        MotionEvent.NUM_SAMPLE_DATA : 0)
+                                         + MotionEvent.SAMPLE_X] = ev.value;
                             } else if (ev.scancode == RawInputEvent.ABS_HAT0Y) {
                                 di.mAbs.changed = true;
-                                di.mAbs.mCurData[MotionEvent.NUM_SAMPLE_DATA
-                                                 + MotionEvent.SAMPLE_Y] = ev.value;
+                                di.mAbs.mNextData[(di.mAbs.mDown[0] ?
+                                        MotionEvent.NUM_SAMPLE_DATA : 0)
+                                        + MotionEvent.SAMPLE_Y] = ev.value;
                             }
     
                         } else if (ev.type == RawInputEvent.EV_REL &&
@@ -515,14 +554,40 @@
                             // Add this relative movement into our totals.
                             if (ev.scancode == RawInputEvent.REL_X) {
                                 di.mRel.changed = true;
-                                di.mRel.mCurData[MotionEvent.SAMPLE_X] += ev.value;
+                                di.mRel.mNextData[MotionEvent.SAMPLE_X] += ev.value;
                             } else if (ev.scancode == RawInputEvent.REL_Y) {
                                 di.mRel.changed = true;
-                                di.mRel.mCurData[MotionEvent.SAMPLE_Y] += ev.value;
+                                di.mRel.mNextData[MotionEvent.SAMPLE_Y] += ev.value;
                             }
                         }
                         
-                        if (send || ev.type == RawInputEvent.EV_SYN) {
+                        if (ev.type == RawInputEvent.EV_SYN
+                                && ev.scancode == RawInputEvent.SYN_MT_REPORT
+                                && di.mAbs != null) {
+                            di.mAbs.changed = true;
+                            if (di.mAbs.mNextData[MotionEvent.SAMPLE_PRESSURE] > 0) {
+                                // If the value is <= 0, the pointer is not
+                                // down, so keep it in the count.
+                                
+                                if (di.mAbs.mNextData[di.mAbs.mAddingPointerOffset
+                                                      + MotionEvent.SAMPLE_PRESSURE] != 0) {
+                                    final int num = di.mAbs.mNextNumPointers+1;
+                                    di.mAbs.mNextNumPointers = num;
+                                    if (DEBUG_POINTERS) Log.v(TAG,
+                                            "MT_REPORT: now have " + num + " pointers");
+                                    final int newOffset = (num <= InputDevice.MAX_POINTERS)
+                                            ? (num * MotionEvent.NUM_SAMPLE_DATA)
+                                            : (InputDevice.MAX_POINTERS *
+                                                    MotionEvent.NUM_SAMPLE_DATA);
+                                    di.mAbs.mAddingPointerOffset = newOffset;
+                                    di.mAbs.mNextData[newOffset
+                                            + MotionEvent.SAMPLE_PRESSURE] = 0;
+                                } else {
+                                    if (DEBUG_POINTERS) Log.v(TAG, "MT_REPORT: no pointer");
+                                }
+                            }
+                        } else if (send || (ev.type == RawInputEvent.EV_SYN
+                                && ev.scancode == RawInputEvent.SYN_REPORT)) {
                             if (mDisplay != null) {
                                 if (!mHaveGlobalMetaState) {
                                     computeGlobalMetaStateLocked();
@@ -534,72 +599,21 @@
                                 if (ms.changed) {
                                     ms.changed = false;
                                     
-                                    boolean doMotion = true;
-                                    
-                                    // Look for virtual buttons.
-                                    VirtualKey vk = mPressedVirtualKey;
-                                    if (vk != null) {
-                                        doMotion = false;
-                                        if (!ms.mDown[0]) {
-                                            mPressedVirtualKey = null;
-                                            ms.mLastDown[0] = ms.mDown[0];
-                                            if (DEBUG_VIRTUAL_KEYS) Log.v(TAG,
-                                                    "Generate key up for: " + vk.scancode);
-                                            KeyEvent event = newKeyEvent(di,
-                                                    di.mKeyDownTime, curTime, false,
-                                                    vk.lastKeycode,
-                                                    0, vk.scancode,
-                                                    KeyEvent.FLAG_VIRTUAL_HARD_KEY);
-                                            mHapticFeedbackCallback.virtualKeyFeedback(event);
-                                            addLocked(di, curTimeNano, ev.flags,
-                                                    RawInputEvent.CLASS_KEYBOARD,
-                                                    event);
-                                        } else if (isInsideDisplay(di)) {
-                                            // Whoops the pointer has moved into
-                                            // the display area!  Cancel the
-                                            // virtual key and start a pointer
-                                            // motion.
-                                            mPressedVirtualKey = null;
-                                            if (DEBUG_VIRTUAL_KEYS) Log.v(TAG,
-                                                    "Cancel key up for: " + vk.scancode);
-                                            KeyEvent event = newKeyEvent(di,
-                                                    di.mKeyDownTime, curTime, false,
-                                                    vk.lastKeycode,
-                                                    0, vk.scancode,
-                                                    KeyEvent.FLAG_CANCELED |
-                                                    KeyEvent.FLAG_VIRTUAL_HARD_KEY);
-                                            mHapticFeedbackCallback.virtualKeyFeedback(event);
-                                            addLocked(di, curTimeNano, ev.flags,
-                                                    RawInputEvent.CLASS_KEYBOARD,
-                                                    event);
-                                            doMotion = true;
-                                            for (int i=InputDevice.MAX_POINTERS-1; i>=0; i--) {
-                                                ms.mLastDown[i] = false;
-                                            }
-                                        }
+                                    if ((classes&(RawInputEvent.CLASS_TOUCHSCREEN
+                                            |RawInputEvent.CLASS_TOUCHSCREEN_MT))
+                                            == RawInputEvent.CLASS_TOUCHSCREEN) {
+                                        ms.mNextNumPointers = 0;
+                                        if (ms.mDown[0]) ms.mNextNumPointers++;
+                                        if (ms.mDown[1]) ms.mNextNumPointers++;
                                     }
-                                    if (doMotion && ms.mDown[0] && !ms.mLastDown[0]) {
-                                        vk = findSoftButton(di);
-                                        if (vk != null) {
-                                            doMotion = false;
-                                            mPressedVirtualKey = vk;
-                                            vk.lastKeycode = scancodeToKeycode(
-                                                    di.id, vk.scancode);
-                                            ms.mLastDown[0] = ms.mDown[0];
-                                            di.mKeyDownTime = curTime;
-                                            if (DEBUG_VIRTUAL_KEYS) Log.v(TAG,
-                                                    "Generate key down for: " + vk.scancode
-                                                    + " (keycode=" + vk.lastKeycode + ")");
-                                            KeyEvent event = newKeyEvent(di,
-                                                    di.mKeyDownTime, curTime, true,
-                                                    vk.lastKeycode, 0,
-                                                    vk.scancode,
-                                                    KeyEvent.FLAG_VIRTUAL_HARD_KEY);
-                                            mHapticFeedbackCallback.virtualKeyFeedback(event);
-                                            addLocked(di, curTimeNano, ev.flags,
-                                                    RawInputEvent.CLASS_KEYBOARD,
-                                                    event);
-                                        }
+                                    
+                                    boolean doMotion = !monitorVirtualKey(di,
+                                            ev, curTime, curTimeNano);
+                                    
+                                    if (doMotion && ms.mNextNumPointers > 0
+                                            && ms.mLastNumPointers == 0) {
+                                        doMotion = !generateVirtualKeyDown(di,
+                                                ev, curTime, curTimeNano);
                                     }
                                     
                                     if (doMotion) {
@@ -607,22 +621,26 @@
                                         // multiple events here, for example
                                         // if two fingers change up/down state
                                         // at the same time.
-                                        me = ms.generateAbsMotion(di, curTime,
-                                                curTimeNano, mDisplay,
-                                                mOrientation, mGlobalMetaState);
-                                        if (false) Log.v(TAG, "Absolute: x="
-                                                + di.mAbs.mCurData[MotionEvent.SAMPLE_X]
-                                                + " y="
-                                                + di.mAbs.mCurData[MotionEvent.SAMPLE_Y]
-                                                + " ev=" + me);
-                                        if (me != null) {
-                                            if (WindowManagerPolicy.WATCH_POINTER) {
-                                                Log.i(TAG, "Enqueueing: " + me);
+                                        do {
+                                            me = ms.generateAbsMotion(di, curTime,
+                                                    curTimeNano, mDisplay,
+                                                    mOrientation, mGlobalMetaState);
+                                            if (false) Log.v(TAG, "Absolute: x="
+                                                    + di.mAbs.mNextData[MotionEvent.SAMPLE_X]
+                                                    + " y="
+                                                    + di.mAbs.mNextData[MotionEvent.SAMPLE_Y]
+                                                    + " ev=" + me);
+                                            if (me != null) {
+                                                if (WindowManagerPolicy.WATCH_POINTER) {
+                                                    Log.i(TAG, "Enqueueing: " + me);
+                                                }
+                                                addLocked(di, curTimeNano, ev.flags,
+                                                        RawInputEvent.CLASS_TOUCHSCREEN, me);
                                             }
-                                            addLocked(di, curTimeNano, ev.flags,
-                                                    RawInputEvent.CLASS_TOUCHSCREEN, me);
-                                        }
+                                        } while (ms.hasMore());
                                     }
+                                    
+                                    ms.finish();
                                 }
                                 
                                 ms = di.mRel;
@@ -633,22 +651,24 @@
                                             curTimeNano,
                                             mOrientation, mGlobalMetaState);
                                     if (false) Log.v(TAG, "Relative: x="
-                                            + di.mRel.mCurData[MotionEvent.SAMPLE_X]
+                                            + di.mRel.mNextData[MotionEvent.SAMPLE_X]
                                             + " y="
-                                            + di.mRel.mCurData[MotionEvent.SAMPLE_Y]
+                                            + di.mRel.mNextData[MotionEvent.SAMPLE_Y]
                                             + " ev=" + me);
                                     if (me != null) {
                                         addLocked(di, curTimeNano, ev.flags,
                                                 RawInputEvent.CLASS_TRACKBALL, me);
                                     }
+                                    
+                                    ms.finish();
                                 }
                             }
                         }
                     }
-                }
                 
-            } catch (RuntimeException exc) {
-                Log.e(TAG, "InputReaderThread uncaught exception", exc);
+                } catch (RuntimeException exc) {
+                    Log.e(TAG, "InputReaderThread uncaught exception", exc);
+                }
             }
         }
     };
@@ -661,13 +681,13 @@
             return true;
         }
         
-        if (absm.mCurData[MotionEvent.SAMPLE_X] >= absx.minValue
-                && absm.mCurData[MotionEvent.SAMPLE_X] <= absx.maxValue
-                && absm.mCurData[MotionEvent.SAMPLE_Y] >= absy.minValue
-                && absm.mCurData[MotionEvent.SAMPLE_Y] <= absy.maxValue) {
+        if (absm.mNextData[MotionEvent.SAMPLE_X] >= absx.minValue
+                && absm.mNextData[MotionEvent.SAMPLE_X] <= absx.maxValue
+                && absm.mNextData[MotionEvent.SAMPLE_Y] >= absy.minValue
+                && absm.mNextData[MotionEvent.SAMPLE_Y] <= absy.maxValue) {
             if (DEBUG_VIRTUAL_KEYS) Log.v(TAG, "Input ("
-                    + absm.mCurData[MotionEvent.SAMPLE_X]
-                    + "," + absm.mCurData[MotionEvent.SAMPLE_Y]
+                    + absm.mNextData[MotionEvent.SAMPLE_X]
+                    + "," + absm.mNextData[MotionEvent.SAMPLE_Y]
                     + ") inside of display");
             return true;
         }
@@ -675,28 +695,24 @@
         return false;
     }
     
-    private VirtualKey findSoftButton(InputDevice dev) {
+    private VirtualKey findVirtualKey(InputDevice dev) {
         final int N = mVirtualKeys.size();
         if (N <= 0) {
             return null;
         }
         
-        if (isInsideDisplay(dev)) {
-            return null;
-        }
-        
         final InputDevice.MotionState absm = dev.mAbs;
         for (int i=0; i<N; i++) {
             VirtualKey sb = mVirtualKeys.get(i);
             sb.computeHitRect(dev, mDisplayWidth, mDisplayHeight);
             if (DEBUG_VIRTUAL_KEYS) Log.v(TAG, "Hit test ("
-                    + absm.mCurData[MotionEvent.SAMPLE_X] + ","
-                    + absm.mCurData[MotionEvent.SAMPLE_Y] + ") in code "
+                    + absm.mNextData[MotionEvent.SAMPLE_X] + ","
+                    + absm.mNextData[MotionEvent.SAMPLE_Y] + ") in code "
                     + sb.scancode + " - (" + sb.hitLeft
                     + "," + sb.hitTop + ")-(" + sb.hitRight + ","
                     + sb.hitBottom + ")");
-            if (sb.checkHit(absm.mCurData[MotionEvent.SAMPLE_X],
-                    absm.mCurData[MotionEvent.SAMPLE_Y])) {
+            if (sb.checkHit(absm.mNextData[MotionEvent.SAMPLE_X],
+                    absm.mNextData[MotionEvent.SAMPLE_Y])) {
                 if (DEBUG_VIRTUAL_KEYS) Log.v(TAG, "Hit!");
                 return sb;
             }
@@ -705,6 +721,97 @@
         return null;
     }
     
+    private boolean generateVirtualKeyDown(InputDevice di, RawInputEvent ev,
+            long curTime, long curTimeNano) {
+        if (isInsideDisplay(di)) {
+            // Didn't consume event.
+            return false;
+        }
+        
+        
+        VirtualKey vk = findVirtualKey(di);
+        if (vk != null) {
+            final InputDevice.MotionState ms = di.mAbs;
+            mPressedVirtualKey = vk;
+            vk.lastKeycode = scancodeToKeycode(di.id, vk.scancode);
+            ms.mLastNumPointers = ms.mNextNumPointers;
+            di.mKeyDownTime = curTime;
+            if (DEBUG_VIRTUAL_KEYS) Log.v(TAG,
+                    "Generate key down for: " + vk.scancode
+                    + " (keycode=" + vk.lastKeycode + ")");
+            KeyEvent event = newKeyEvent(di, di.mKeyDownTime, curTime, true,
+                    vk.lastKeycode, 0, vk.scancode,
+                    KeyEvent.FLAG_VIRTUAL_HARD_KEY);
+            mHapticFeedbackCallback.virtualKeyFeedback(event);
+            addLocked(di, curTimeNano, ev.flags, RawInputEvent.CLASS_KEYBOARD,
+                    event);
+        }
+        
+        // We always consume the event, even if we didn't
+        // generate a key event.  There are two reasons for
+        // this: to avoid spurious touches when holding
+        // the edges of the device near the touchscreen,
+        // and to avoid reporting events if there are virtual
+        // keys on the touchscreen outside of the display
+        // area.
+        // Note that for all of this we are only looking at the
+        // first pointer, since what we are handling here is the
+        // first pointer going down, and this is the coordinate
+        // that will be used to dispatch the event.
+        if (false) {
+            final InputDevice.AbsoluteInfo absx = di.absX;
+            final InputDevice.AbsoluteInfo absy = di.absY;
+            final InputDevice.MotionState absm = di.mAbs;
+            Log.v(TAG, "Rejecting ("
+                + absm.mNextData[MotionEvent.SAMPLE_X] + ","
+                + absm.mNextData[MotionEvent.SAMPLE_Y] + "): outside of ("
+                + absx.minValue + "," + absy.minValue
+                + ")-(" + absx.maxValue + ","
+                + absx.maxValue + ")");
+        }
+        return true;
+    }
+    
+    private boolean monitorVirtualKey(InputDevice di, RawInputEvent ev,
+            long curTime, long curTimeNano) {
+        VirtualKey vk = mPressedVirtualKey;
+        if (vk == null) {
+            return false;
+        }
+        
+        final InputDevice.MotionState ms = di.mAbs;
+        if (ms.mNextNumPointers <= 0) {
+            mPressedVirtualKey = null;
+            ms.mLastNumPointers = 0;
+            if (DEBUG_VIRTUAL_KEYS) Log.v(TAG, "Generate key up for: " + vk.scancode);
+            KeyEvent event = newKeyEvent(di, di.mKeyDownTime, curTime, false,
+                    vk.lastKeycode, 0, vk.scancode,
+                    KeyEvent.FLAG_VIRTUAL_HARD_KEY);
+            mHapticFeedbackCallback.virtualKeyFeedback(event);
+            addLocked(di, curTimeNano, ev.flags, RawInputEvent.CLASS_KEYBOARD,
+                    event);
+            return true;
+            
+        } else if (isInsideDisplay(di)) {
+            // Whoops the pointer has moved into
+            // the display area!  Cancel the
+            // virtual key and start a pointer
+            // motion.
+            mPressedVirtualKey = null;
+            if (DEBUG_VIRTUAL_KEYS) Log.v(TAG, "Cancel key up for: " + vk.scancode);
+            KeyEvent event = newKeyEvent(di, di.mKeyDownTime, curTime, false,
+                    vk.lastKeycode, 0, vk.scancode,
+                    KeyEvent.FLAG_CANCELED | KeyEvent.FLAG_VIRTUAL_HARD_KEY);
+            mHapticFeedbackCallback.virtualKeyFeedback(event);
+            addLocked(di, curTimeNano, ev.flags, RawInputEvent.CLASS_KEYBOARD,
+                    event);
+            ms.mLastNumPointers = 0;
+            return false;
+        }
+        
+        return true;
+    }
+    
     /**
      * Returns a new meta state for the given keys and old state.
      */
@@ -851,8 +958,8 @@
             if (ev.event == ev.inputDevice.mRel.currentMove) {
                 if (false) Log.i(TAG, "Detach rel " + ev.event);
                 ev.inputDevice.mRel.currentMove = null;
-                ev.inputDevice.mRel.mCurData[MotionEvent.SAMPLE_X] = 0;
-                ev.inputDevice.mRel.mCurData[MotionEvent.SAMPLE_Y] = 0;
+                ev.inputDevice.mRel.mNextData[MotionEvent.SAMPLE_X] = 0;
+                ev.inputDevice.mRel.mNextData[MotionEvent.SAMPLE_Y] = 0;
             }
             recycleLocked(ev);
         }
@@ -945,7 +1052,12 @@
         InputDevice.AbsoluteInfo absY;
         InputDevice.AbsoluteInfo absPressure;
         InputDevice.AbsoluteInfo absSize;
-        if ((classes&RawInputEvent.CLASS_TOUCHSCREEN) != 0) {
+        if ((classes&RawInputEvent.CLASS_TOUCHSCREEN_MT) != 0) {
+            absX = loadAbsoluteInfo(deviceId, RawInputEvent.ABS_MT_POSITION_X, "X");
+            absY = loadAbsoluteInfo(deviceId, RawInputEvent.ABS_MT_POSITION_Y, "Y");
+            absPressure = loadAbsoluteInfo(deviceId, RawInputEvent.ABS_MT_TOUCH_MAJOR, "Pressure");
+            absSize = loadAbsoluteInfo(deviceId, RawInputEvent.ABS_MT_WIDTH_MAJOR, "Size");
+        } else if ((classes&RawInputEvent.CLASS_TOUCHSCREEN) != 0) {
             absX = loadAbsoluteInfo(deviceId, RawInputEvent.ABS_X, "X");
             absY = loadAbsoluteInfo(deviceId, RawInputEvent.ABS_Y, "Y");
             absPressure = loadAbsoluteInfo(deviceId, RawInputEvent.ABS_PRESSURE, "Pressure");
diff --git a/services/java/com/android/server/NotificationManagerService.java b/services/java/com/android/server/NotificationManagerService.java
index aac7124..5dad8d0 100644
--- a/services/java/com/android/server/NotificationManagerService.java
+++ b/services/java/com/android/server/NotificationManagerService.java
@@ -96,7 +96,7 @@
     private Vibrator mVibrator = new Vibrator();
 
     // adb
-    private int mBatteryPlugged;
+    private boolean mUsbConnected;
     private boolean mAdbEnabled = false;
     private boolean mAdbNotificationShown = false;
     private Notification mAdbNotification;
@@ -310,8 +310,11 @@
                     mBatteryFull = batteryFull;
                     updateLights();
                 }
-                
-                mBatteryPlugged = intent.getIntExtra("plugged", 0);
+            } else if (action.equals(Intent.ACTION_UMS_CONNECTED)) {
+                mUsbConnected = true;
+                updateAdbNotification();
+            } else if (action.equals(Intent.ACTION_UMS_DISCONNECTED)) {
+                mUsbConnected = false;
                 updateAdbNotification();
             } else if (action.equals(Intent.ACTION_PACKAGE_REMOVED)
                     || action.equals(Intent.ACTION_PACKAGE_RESTARTED)) {
@@ -380,6 +383,8 @@
         // register for battery changed notifications
         IntentFilter filter = new IntentFilter();
         filter.addAction(Intent.ACTION_BATTERY_CHANGED);
+        filter.addAction(Intent.ACTION_UMS_CONNECTED);
+        filter.addAction(Intent.ACTION_UMS_DISCONNECTED);
         filter.addAction(Intent.ACTION_PACKAGE_REMOVED);
         filter.addAction(Intent.ACTION_PACKAGE_RESTARTED);
         mContext.registerReceiver(mIntentReceiver, filter);
@@ -954,7 +959,7 @@
     // security feature that we don't want people customizing the platform
     // to accidentally lose.
     private void updateAdbNotification() {
-        if (mAdbEnabled && mBatteryPlugged == BatteryManager.BATTERY_PLUGGED_USB) {
+        if (mAdbEnabled && mUsbConnected) {
             if ("0".equals(SystemProperties.get("persist.adb.notify"))) {
                 return;
             }
diff --git a/services/java/com/android/server/PackageManagerService.java b/services/java/com/android/server/PackageManagerService.java
index 9e8816b..e14f805 100644
--- a/services/java/com/android/server/PackageManagerService.java
+++ b/services/java/com/android/server/PackageManagerService.java
@@ -2887,7 +2887,7 @@
         if (gp.gids == null) {
             gp.gids = mGlobalGids;
         }
-        
+       
         final int N = pkg.requestedPermissions.size();
         for (int i=0; i<N; i++) {
             String name = pkg.requestedPermissions.get(i);
@@ -3758,7 +3758,7 @@
             }
         }
     }
-    
+   
     private void updateSettingsLI(String pkgName, File tmpPackageFile, 
             String destFilePath, File destPackageFile,
             File destResourceFile, 
@@ -4223,7 +4223,7 @@
         synchronized (mPackages) {
             if ( (deletedPs != null) && (deletedPs.sharedUser != null)) {
                 // remove permissions associated with package
-                mSettings.updateSharedUserPerms (deletedPs);
+                mSettings.updateSharedUserPermsLP(deletedPs, mGlobalGids);
             }
             // Save settings now
             mSettings.writeLP ();
@@ -6011,7 +6011,15 @@
             }
         }
 
-        private void updateSharedUserPerms (PackageSetting deletedPs) {
+        /*
+         * Update the shared user setting when a package using
+         * specifying the shared user id is removed. The gids
+         * associated with each permission of the deleted package
+         * are removed from the shared user's gid list only if its
+         * not in use by other permissions of packages in the
+         * shared user setting.
+         */
+        private void updateSharedUserPermsLP(PackageSetting deletedPs, int[] globalGids) {
             if ( (deletedPs == null) || (deletedPs.pkg == null)) {
                 Log.i(TAG, "Trying to update info for null package. Just ignoring");
                 return;
@@ -6040,13 +6048,14 @@
                 }
             }
             // Update gids
-            int newGids[] = null;
-            for (PackageSetting pkg:sus.packages) {
-                newGids = appendInts(newGids, pkg.gids);
+            int newGids[] = globalGids;
+            for (String eachPerm : sus.grantedPermissions) {
+                BasePermission bp = mPermissions.get(eachPerm);
+                newGids = appendInts(newGids, bp.gids);
             }
             sus.gids = newGids;
         }
-        
+
         private int removePackageLP(String name) {
             PackageSetting p = mPackages.get(name);
             if (p != null) {
diff --git a/services/java/com/android/server/ProcessStats.java b/services/java/com/android/server/ProcessStats.java
index 58f8980..af80e20 100644
--- a/services/java/com/android/server/ProcessStats.java
+++ b/services/java/com/android/server/ProcessStats.java
@@ -46,18 +46,23 @@
         PROC_SPACE_TERM,
         PROC_SPACE_TERM,
         PROC_SPACE_TERM,
+        PROC_SPACE_TERM|PROC_OUT_LONG,                  // 9: minor faults
         PROC_SPACE_TERM,
-        PROC_SPACE_TERM,
-        PROC_SPACE_TERM,
+        PROC_SPACE_TERM|PROC_OUT_LONG,                  // 11: major faults
         PROC_SPACE_TERM,
         PROC_SPACE_TERM|PROC_OUT_LONG,                  // 13: utime
         PROC_SPACE_TERM|PROC_OUT_LONG                   // 14: stime
     };
 
+    static final int PROCESS_STAT_MINOR_FAULTS = 0;
+    static final int PROCESS_STAT_MAJOR_FAULTS = 1;
+    static final int PROCESS_STAT_UTIME = 2;
+    static final int PROCESS_STAT_STIME = 3;
+    
     /** Stores user time and system time in 100ths of a second. */
-    private final long[] mProcessStatsData = new long[2];
+    private final long[] mProcessStatsData = new long[4];
     /** Stores user time and system time in 100ths of a second. */
-    private final long[] mSinglePidStatsData = new long[2];
+    private final long[] mSinglePidStatsData = new long[4];
 
     private static final int[] PROCESS_FULL_STATS_FORMAT = new int[] {
         PROC_SPACE_TERM,
@@ -151,6 +156,11 @@
         public int rel_utime;
         public int rel_stime;
 
+        public long base_minfaults;
+        public long base_majfaults;
+        public int rel_minfaults;
+        public int rel_majfaults;
+        
         public boolean active;
         public boolean added;
         public boolean removed;
@@ -313,12 +323,16 @@
                     continue;
                 }
                 
-                final long utime = procStats[0];
-                final long stime = procStats[1];
+                final long minfaults = procStats[PROCESS_STAT_MINOR_FAULTS];
+                final long majfaults = procStats[PROCESS_STAT_MAJOR_FAULTS];
+                final long utime = procStats[PROCESS_STAT_UTIME];
+                final long stime = procStats[PROCESS_STAT_STIME];
 
                 if (utime == st.base_utime && stime == st.base_stime) {
                     st.rel_utime = 0;
                     st.rel_stime = 0;
+                    st.rel_minfaults = 0;
+                    st.rel_majfaults = 0;
                     if (st.active) {
                         st.active = false;
                     }
@@ -342,6 +356,10 @@
                 st.rel_stime = (int)(stime - st.base_stime);
                 st.base_utime = utime;
                 st.base_stime = stime;
+                st.rel_minfaults = (int)(minfaults - st.base_minfaults);
+                st.rel_majfaults = (int)(majfaults - st.base_majfaults);
+                st.base_minfaults = minfaults;
+                st.base_majfaults = majfaults;
                 //Log.i("Load", "Stats changed " + name + " pid=" + st.pid
                 //      + " name=" + st.name + " utime=" + utime
                 //      + " stime=" + stime);
@@ -364,11 +382,13 @@
                         procStats, null)) {
                     st.baseName = parentPid < 0
                             ? procStatsString[0] : Integer.toString(pid);
-                    st.base_utime = procStats[1];
-                    st.base_stime = procStats[2];
+                    st.base_utime = 0; //procStats[1];
+                    st.base_stime = 0; //procStats[2];
+                    st.base_minfaults = st.base_majfaults = 0;
                 } else {
                     st.baseName = "<unknown>";
                     st.base_utime = st.base_stime = 0;
+                    st.base_minfaults = st.base_majfaults = 0;
                 }
 
                 if (parentPid < 0) {
@@ -386,6 +406,8 @@
                 //Log.i("Load", "New process: " + st.pid + " " + st.name);
                 st.rel_utime = 0;
                 st.rel_stime = 0;
+                st.rel_minfaults = 0;
+                st.rel_majfaults = 0;
                 st.added = true;
                 if (!first) {
                     workingProcs.add(st);
@@ -396,6 +418,8 @@
             // This process has gone away!
             st.rel_utime = 0;
             st.rel_stime = 0;
+            st.rel_minfaults = 0;
+            st.rel_majfaults = 0;
             st.removed = true;
             workingProcs.add(st);
             allProcs.remove(curStatsIndex);
@@ -412,6 +436,8 @@
             final Stats st = allProcs.get(curStatsIndex);
             st.rel_utime = 0;
             st.rel_stime = 0;
+            st.rel_minfaults = 0;
+            st.rel_majfaults = 0;
             st.removed = true;
             workingProcs.add(st);
             allProcs.remove(curStatsIndex);
@@ -427,7 +453,8 @@
         final long[] statsData = mSinglePidStatsData;
         if (Process.readProcFile(statFile, PROCESS_STATS_FORMAT,
                 null, statsData, null)) {
-            long time = statsData[0] + statsData[1];
+            long time = statsData[PROCESS_STAT_UTIME]
+                    + statsData[PROCESS_STAT_STIME];
             return time;
         }
         return 0;
@@ -497,33 +524,35 @@
         pw.print(now-mCurrentSampleTime);
         pw.println("ms ago:");
         
-        final int totalTime = mRelUserTime + mRelSystemTime + mRelIoWaitTime + mRelIrqTime + 
-                mRelSoftIrqTime + mRelIdleTime;
+        final int totalTime = mRelUserTime + mRelSystemTime + mRelIoWaitTime
+                + mRelIrqTime + mRelSoftIrqTime + mRelIdleTime;
         
         int N = mWorkingProcs.size();
         for (int i=0; i<N; i++) {
             Stats st = mWorkingProcs.get(i);
             printProcessCPU(pw, st.added ? " +" : (st.removed ? " -": "  "),
-                    st.name, totalTime, st.rel_utime, st.rel_stime, 0, 0, 0);
+                    st.name, totalTime, st.rel_utime, st.rel_stime, 0, 0, 0,
+                    st.rel_minfaults, st.rel_majfaults);
             if (!st.removed && st.workingThreads != null) {
                 int M = st.workingThreads.size();
                 for (int j=0; j<M; j++) {
                     Stats tst = st.workingThreads.get(j);
                     printProcessCPU(pw,
                             tst.added ? "   +" : (tst.removed ? "   -": "    "),
-                            tst.name, totalTime, tst.rel_utime, tst.rel_stime, 0, 0, 0);
+                            tst.name, totalTime, tst.rel_utime, tst.rel_stime,
+                            0, 0, 0, 0, 0);
                 }
             }
         }
         
-        printProcessCPU(pw, "", "TOTAL", totalTime, mRelUserTime, mRelSystemTime, mRelIoWaitTime,
-                mRelIrqTime, mRelSoftIrqTime);
+        printProcessCPU(pw, "", "TOTAL", totalTime, mRelUserTime, mRelSystemTime,
+                mRelIoWaitTime, mRelIrqTime, mRelSoftIrqTime, 0, 0);
         
         return sw.toString();
     }
     
     private void printProcessCPU(PrintWriter pw, String prefix, String label, int totalTime, 
-            int user, int system, int iowait, int irq, int softIrq) {
+            int user, int system, int iowait, int irq, int softIrq, int minFaults, int majFaults) {
         pw.print(prefix);
         pw.print(label);
         pw.print(": ");
@@ -549,6 +578,19 @@
             pw.print((softIrq*100)/totalTime);
             pw.print("% softirq");
         }
+        if (minFaults > 0 || majFaults > 0) {
+            pw.print(" / faults:");
+            if (minFaults > 0) {
+                pw.print(" ");
+                pw.print(minFaults);
+                pw.print(" minor");
+            }
+            if (majFaults > 0) {
+                pw.print(" ");
+                pw.print(majFaults);
+                pw.print(" major");
+            }
+        }
         pw.println();
     }
     
diff --git a/services/java/com/android/server/SystemBackupAgent.java b/services/java/com/android/server/SystemBackupAgent.java
index b681961..17d0f1d 100644
--- a/services/java/com/android/server/SystemBackupAgent.java
+++ b/services/java/com/android/server/SystemBackupAgent.java
@@ -53,7 +53,7 @@
         try {
             super.onRestore(data, appVersionCode, newState);
 
-            WallpaperService wallpaper = (WallpaperService)ServiceManager.getService(
+            WallpaperManagerService wallpaper = (WallpaperManagerService)ServiceManager.getService(
                     Context.WALLPAPER_SERVICE);
             wallpaper.settingsRestored();
         } catch (IOException ex) {
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java
index 48d97ec..c30386e 100644
--- a/services/java/com/android/server/SystemServer.java
+++ b/services/java/com/android/server/SystemServer.java
@@ -301,7 +301,7 @@
 
             try {
                 Log.i(TAG, "Starting Wallpaper Service");
-                ServiceManager.addService(Context.WALLPAPER_SERVICE, new WallpaperService(context));
+                ServiceManager.addService(Context.WALLPAPER_SERVICE, new WallpaperManagerService(context));
             } catch (Throwable e) {
                 Log.e(TAG, "Failure starting Wallpaper Service", e);
             }
diff --git a/services/java/com/android/server/WallpaperService.java b/services/java/com/android/server/WallpaperManagerService.java
similarity index 96%
rename from services/java/com/android/server/WallpaperService.java
rename to services/java/com/android/server/WallpaperManagerService.java
index 67b60a6..c5fd985 100644
--- a/services/java/com/android/server/WallpaperService.java
+++ b/services/java/com/android/server/WallpaperManagerService.java
@@ -19,8 +19,8 @@
 import static android.os.FileObserver.*;
 import static android.os.ParcelFileDescriptor.*;
 
-import android.app.IWallpaperService;
-import android.app.IWallpaperServiceCallback;
+import android.app.IWallpaperManager;
+import android.app.IWallpaperManagerCallback;
 import android.backup.BackupManager;
 import android.content.Context;
 import android.content.Intent;
@@ -49,7 +49,7 @@
 
 import com.android.internal.util.FastXmlSerializer;
 
-class WallpaperService extends IWallpaperService.Stub {
+class WallpaperManagerService extends IWallpaperManager.Stub {
     private static final String TAG = "WallpaperService";
 
     private Object mLock = new Object();
@@ -63,8 +63,8 @@
      * List of callbacks registered they should each be notified
      * when the wallpaper is changed.
      */
-    private final RemoteCallbackList<IWallpaperServiceCallback> mCallbacks
-            = new RemoteCallbackList<IWallpaperServiceCallback>();
+    private final RemoteCallbackList<IWallpaperManagerCallback> mCallbacks
+            = new RemoteCallbackList<IWallpaperManagerCallback>();
 
     /**
      * Observes the wallpaper for changes and notifies all IWallpaperServiceCallbacks
@@ -100,7 +100,7 @@
     private int mHeight = -1;
     private String mName = "";
 
-    public WallpaperService(Context context) {
+    public WallpaperManagerService(Context context) {
         if (Config.LOGD) Log.d(TAG, "WallpaperService startup");
         mContext = context;
         WALLPAPER_DIR.mkdirs();
@@ -151,7 +151,7 @@
         }
     }
 
-    public ParcelFileDescriptor getWallpaper(IWallpaperServiceCallback cb) {
+    public ParcelFileDescriptor getWallpaper(IWallpaperManagerCallback cb) {
         synchronized (mLock) {
             try {
                 mCallbacks.register(cb);
diff --git a/services/java/com/android/server/WifiService.java b/services/java/com/android/server/WifiService.java
index d4e57d2..fae987a 100644
--- a/services/java/com/android/server/WifiService.java
+++ b/services/java/com/android/server/WifiService.java
@@ -1889,7 +1889,9 @@
             // our new size == 1 (first call), but this function won't
             // be called often and by making the stopPacket call each
             // time we're less fragile and self-healing.
-            WifiNative.stopPacketFiltering();
+            synchronized (mWifiStateTracker) {
+                WifiNative.stopPacketFiltering();
+            }
         }
 
         int uid = Binder.getCallingUid();
@@ -1925,7 +1927,9 @@
             removed.unlinkDeathRecipient();
         }
         if (mMulticasters.size() == 0) {
-            WifiNative.startPacketFiltering();
+            synchronized (mWifiStateTracker) {
+                WifiNative.startPacketFiltering();
+            }
         }
 
         Long ident = Binder.clearCallingIdentity();
diff --git a/services/java/com/android/server/WindowManagerService.java b/services/java/com/android/server/WindowManagerService.java
index edba5b6..ceb9c41 100644
--- a/services/java/com/android/server/WindowManagerService.java
+++ b/services/java/com/android/server/WindowManagerService.java
@@ -541,6 +541,17 @@
         mTransitionAnimationScale = Settings.System.getFloat(context.getContentResolver(),
                 Settings.System.TRANSITION_ANIMATION_SCALE, mTransitionAnimationScale);
 
+        int max_events_per_sec = 35;
+        try {
+            max_events_per_sec = Integer.parseInt(SystemProperties
+                    .get("windowsmgr.max_events_per_sec"));
+            if (max_events_per_sec < 1) {
+                max_events_per_sec = 35;
+            }
+        } catch (NumberFormatException e) {
+        }
+        mMinWaitTimeBetweenTouchEvents = 1000 / max_events_per_sec;
+
         mQueue = new KeyQ();
 
         mInputThread = new InputDispatcherThread();
@@ -4010,8 +4021,8 @@
             }
         } //end if target
 
-        // TODO remove once we settle on a value or make it app specific
-        if (action == MotionEvent.ACTION_DOWN) {
+        // Enable this for testing the "right" value
+        if (false && action == MotionEvent.ACTION_DOWN) {
             int max_events_per_sec = 35;
             try {
                 max_events_per_sec = Integer.parseInt(SystemProperties
diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java
index 552d5be..6907443 100644
--- a/services/java/com/android/server/am/ActivityManagerService.java
+++ b/services/java/com/android/server/am/ActivityManagerService.java
@@ -9179,9 +9179,13 @@
                       + " #" + i + ":");
                 r.dump(pw, prefix + "  ");
             } else if (inclOomAdj) {
-                pw.println(String.format("%s%s #%2d: adj=%3d/%d %s",
+                pw.println(String.format("%s%s #%2d: adj=%4d/%d %s (%s)",
                         prefix, (r.persistent ? persistentLabel : normalLabel),
-                        i, r.setAdj, r.setSchedGroup, r.toString()));
+                        i, r.setAdj, r.setSchedGroup, r.toString(), r.adjType));
+                if (r.adjSource != null || r.adjTarget != null) {
+                    pw.println(prefix + "          " + r.adjTarget
+                            + " used by " + r.adjSource);
+                }
             } else {
                 pw.println(String.format("%s%s #%2d: %s",
                         prefix, (r.persistent ? persistentLabel : normalLabel),
@@ -9345,6 +9349,16 @@
             }
         }
 
+        // Make sure we have no more records on the stopping list.
+        int i = mStoppingServices.size();
+        while (i > 0) {
+            i--;
+            ServiceRecord sr = mStoppingServices.get(i);
+            if (sr.app == app) {
+                mStoppingServices.remove(i);
+            }
+        }
+        
         app.executingServices.clear();
     }
 
@@ -9474,6 +9488,24 @@
             app.conProviders.clear();
         }
 
+        // At this point there may be remaining entries in mLaunchingProviders
+        // where we were the only one waiting, so they are no longer of use.
+        // Look for these and clean up if found.
+        // XXX Commented out for now.  Trying to figure out a way to reproduce
+        // the actual situation to identify what is actually going on.
+        if (false) {
+            for (int i=0; i<NL; i++) {
+                ContentProviderRecord cpr = (ContentProviderRecord)
+                        mLaunchingProviders.get(i);
+                if (cpr.clients.size() <= 0 && cpr.externals <= 0) {
+                    synchronized (cpr) {
+                        cpr.launchingApp = null;
+                        cpr.notifyAll();
+                    }
+                }
+            }
+        }
+        
         skipCurrentReceiverLocked(app);
 
         // Unregister any receivers.
@@ -9922,6 +9954,10 @@
         if (DEBUG_SERVICE) Log.v(TAG, "Bringing up service " + r.name
                 + " " + r.intent);
 
+        // We are now bringing the service up, so no longer in the
+        // restarting state.
+        mRestartingServices.remove(r);
+        
         final String appName = r.processName;
         ProcessRecord app = getProcessRecordLocked(appName, r.appInfo.uid);
         if (app != null && app.thread != null) {
@@ -12224,33 +12260,60 @@
             return (app.curAdj=EMPTY_APP_ADJ);
         }
 
-        app.isForeground = false;
+        if (app.maxAdj <= FOREGROUND_APP_ADJ) {
+            // The max adjustment doesn't allow this app to be anything
+            // below foreground, so it is not worth doing work for it.
+            app.adjType = "fixed";
+            app.adjSeq = mAdjSeq;
+            app.curRawAdj = app.maxAdj;
+            app.curSchedGroup = Process.THREAD_GROUP_DEFAULT;
+            return (app.curAdj=app.maxAdj);
+       }
+        
+        app.adjSource = null;
+        app.adjTarget = null;
 
         // Determine the importance of the process, starting with most
         // important to least, and assign an appropriate OOM adjustment.
         int adj;
         int N;
-        if (app == TOP_APP || app.instrumentationClass != null
-                || app.persistentActivities > 0) {
+        if (app == TOP_APP) {
             // The last app on the list is the foreground app.
             adj = FOREGROUND_APP_ADJ;
-            app.isForeground = true;
+            app.adjType = "top";
+        } else if (app.instrumentationClass != null) {
+            // Don't want to kill running instrumentation.
+            adj = FOREGROUND_APP_ADJ;
+            app.adjType = "instr";
+        } else if (app.persistentActivities > 0) {
+            // Special persistent activities...  shouldn't be used these days.
+            adj = FOREGROUND_APP_ADJ;
+            app.adjType = "pers";
         } else if (app.curReceiver != null ||
                 (mPendingBroadcast != null && mPendingBroadcast.curApp == app)) {
             // An app that is currently receiving a broadcast also
             // counts as being in the foreground.
             adj = FOREGROUND_APP_ADJ;
+            app.adjType = "broadcast";
         } else if (app.executingServices.size() > 0) {
             // An app that is currently executing a service callback also
             // counts as being in the foreground.
             adj = FOREGROUND_APP_ADJ;
-        } else if (app.foregroundServices || app.forcingToForeground != null) {
+            app.adjType = "exec-service";
+        } else if (app.foregroundServices) {
             // The user is aware of this app, so make it visible.
             adj = VISIBLE_APP_ADJ;
+            app.adjType = "foreground-service";
+        } else if (app.forcingToForeground != null) {
+            // The user is aware of this app, so make it visible.
+            adj = VISIBLE_APP_ADJ;
+            app.adjType = "force-foreground";
+            app.adjSource = app.forcingToForeground;
         } else if (app == mHomeProcess) {
             // This process is hosting what we currently consider to be the
             // home app, so we don't want to let it go into the background.
             adj = HOME_APP_ADJ;
+            app.adjType = "home";
         } else if ((N=app.activities.size()) != 0) {
             // This app is in the background with paused activities.
             adj = hiddenAdj;
@@ -12258,12 +12321,14 @@
                 if (((HistoryRecord)app.activities.get(j)).visible) {
                     // This app has a visible activity!
                     adj = VISIBLE_APP_ADJ;
+                    app.adjType = "visible";
                     break;
                 }
             }
         } else {
             // A very not-needed process.
             adj = EMPTY_APP_ADJ;
+            app.adjType = "empty";
         }
 
         // By default, we use the computed adjustment.  It may be changed if
@@ -12279,15 +12344,19 @@
             if (adj > BACKUP_APP_ADJ) {
                 if (DEBUG_BACKUP) Log.v(TAG, "oom BACKUP_APP_ADJ for " + app);
                 adj = BACKUP_APP_ADJ;
+                app.adjType = "backup";
             }
         }
 
         if (app.services.size() != 0 && adj > FOREGROUND_APP_ADJ) {
             // If this process has active services running in it, we would
             // like to avoid killing it unless it would prevent the current
-            // application from running.
+            // application from running.  By default we put the process in
+            // with the rest of the background processes; as we scan through
+            // its services we may bump it up from there.
             if (adj > hiddenAdj) {
                 adj = hiddenAdj;
+                app.adjType = "services";
             }
             final long now = SystemClock.uptimeMillis();
             // This process is more important if the top activity is
@@ -12302,12 +12371,7 @@
                         // of the background processes.
                         if (adj > SECONDARY_SERVER_ADJ) {
                             adj = SECONDARY_SERVER_ADJ;
-                        }
-                    } else {
-                        // This service has been inactive for too long, just
-                        // put it with the rest of the background processes.
-                        if (adj > hiddenAdj) {
-                            adj = hiddenAdj;
+                            app.adjType = "started-services";
                         }
                     }
                 }
@@ -12337,6 +12401,9 @@
                             if (adj > clientAdj) {
                                 adj = clientAdj > VISIBLE_APP_ADJ
                                         ? clientAdj : VISIBLE_APP_ADJ;
+                                app.adjType = "service";
+                                app.adjSource = cr.binding.client;
+                                app.adjTarget = s.serviceInfo.name;
                             }
                         }
                         HistoryRecord a = cr.activity;
@@ -12347,6 +12414,9 @@
                                 (a.state == ActivityState.RESUMED
                                  || a.state == ActivityState.PAUSING)) {
                             adj = FOREGROUND_APP_ADJ;
+                            app.adjType = "service";
+                            app.adjSource = a;
+                            app.adjTarget = s.serviceInfo.name;
                         }
                     }
                 }
@@ -12360,6 +12430,7 @@
             // CONTENT_PROVIDER_ADJ, which is just shy of EMPTY.
             if (adj > CONTENT_PROVIDER_ADJ) {
                 adj = CONTENT_PROVIDER_ADJ;
+                app.adjType = "pub-providers";
             }
             Iterator jt = app.pubProviders.values().iterator();
             while (jt.hasNext() && adj > FOREGROUND_APP_ADJ) {
@@ -12384,7 +12455,10 @@
                             client, myHiddenAdj, TOP_APP);
                         if (adj > clientAdj) {
                             adj = clientAdj > FOREGROUND_APP_ADJ
-                            ? clientAdj : FOREGROUND_APP_ADJ;
+                                    ? clientAdj : FOREGROUND_APP_ADJ;
+                            app.adjType = "provider";
+                            app.adjSource = client;
+                            app.adjTarget = cpr.info.name;
                         }
                     }
                 }
@@ -12394,6 +12468,8 @@
                 if (cpr.externals != 0) {
                     if (adj > FOREGROUND_APP_ADJ) {
                         adj = FOREGROUND_APP_ADJ;
+                        app.adjType = "provider";
+                        app.adjTarget = cpr.info.name;
                     }
                 }
             }
@@ -12408,7 +12484,7 @@
         }
 
         app.curAdj = adj;
-        app.curSchedGroup = (adj > VISIBLE_APP_ADJ && !app.persistent)
+        app.curSchedGroup = adj > VISIBLE_APP_ADJ
                 ? Process.THREAD_GROUP_BG_NONINTERACTIVE
                 : Process.THREAD_GROUP_DEFAULT;
         
@@ -12509,28 +12585,6 @@
 
         int adj = computeOomAdjLocked(app, hiddenAdj, TOP_APP);
 
-        //Log.i(TAG, "Computed adj " + adj + " for app " + app.processName);
-        //Thread priority adjustment is disabled out to see
-        //how the kernel scheduler performs.
-        if (false) {
-            if (app.pid != 0 && app.isForeground != app.setIsForeground) {
-                app.setIsForeground = app.isForeground;
-                if (app.pid != MY_PID) {
-                    if (DEBUG_SWITCH || DEBUG_OOM_ADJ) Log.v(TAG, "Setting priority of " + app
-                            + " to " + (app.isForeground
-                            ? Process.THREAD_PRIORITY_FOREGROUND
-                            : Process.THREAD_PRIORITY_DEFAULT));
-                    try {
-                        Process.setThreadPriority(app.pid, app.isForeground
-                                ? Process.THREAD_PRIORITY_FOREGROUND
-                                : Process.THREAD_PRIORITY_DEFAULT);
-                    } catch (RuntimeException e) {
-                        Log.w(TAG, "Exception trying to set priority of application thread "
-                                + app.pid, e);
-                    }
-                }
-            }
-        }
         if (app.pid != 0 && app.pid != MY_PID) {
             if (app.curRawAdj != app.setRawAdj) {
                 if (app.curRawAdj > FOREGROUND_APP_ADJ
diff --git a/services/java/com/android/server/am/ProcessRecord.java b/services/java/com/android/server/am/ProcessRecord.java
index 3f59710..544d034 100644
--- a/services/java/com/android/server/am/ProcessRecord.java
+++ b/services/java/com/android/server/am/ProcessRecord.java
@@ -58,7 +58,6 @@
     int setAdj;                 // Last set OOM adjustment for this process
     int curSchedGroup;          // Currently desired scheduling class
     int setSchedGroup;          // Last set to background scheduling class
-    boolean isForeground;       // Is this app running the foreground UI?
     boolean setIsForeground;    // Running foreground UI when last set?
     boolean foregroundServices; // Running any services that are foreground?
     boolean bad;                // True if disabled in the bad process list
@@ -73,6 +72,9 @@
     BroadcastRecord curReceiver;// receiver currently running in the app
     long lastRequestedGc;       // When we last asked the app to do a gc
     int lastPss;                // Last pss size reported by app.
+    String adjType;             // Debugging: primary thing impacting oom_adj.
+    Object adjSource;           // Debugging: option dependent object.
+    Object adjTarget;           // Debugging: target component impacting oom_adj.
     
     // contains HistoryRecord objects
     final ArrayList activities = new ArrayList();
@@ -151,8 +153,7 @@
                 pw.print(" set="); pw.println(setAdj);
         pw.print(prefix); pw.print("curSchedGroup="); pw.print(curSchedGroup);
                 pw.print(" setSchedGroup="); pw.println(setSchedGroup);
-        pw.print(prefix); pw.print("isForeground="); pw.print(isForeground);
-                pw.print(" setIsForeground="); pw.print(setIsForeground);
+        pw.print(prefix); pw.print("setIsForeground="); pw.print(setIsForeground);
                 pw.print(" foregroundServices="); pw.print(foregroundServices);
                 pw.print(" forcingToForeground="); pw.println(forcingToForeground);
         pw.print(prefix); pw.print("persistent="); pw.print(persistent);
diff --git a/services/jni/com_android_server_HardwareService.cpp b/services/jni/com_android_server_HardwareService.cpp
index b0aab59..22d4bd8 100644
--- a/services/jni/com_android_server_HardwareService.cpp
+++ b/services/jni/com_android_server_HardwareService.cpp
@@ -133,7 +133,7 @@
 
 static JNINativeMethod method_table[] = {
     { "init_native", "()I", (void*)init_native },
-    { "finalize_native", "(I)V", (void*)init_native },
+    { "finalize_native", "(I)V", (void*)finalize_native },
     { "setLight_native", "(IIIIII)V", (void*)setLight_native },
     { "vibratorOn", "(J)V", (void*)vibratorOn },
     { "vibratorOff", "()V", (void*)vibratorOff }
diff --git a/telephony/java/android/telephony/SmsManager.java b/telephony/java/android/telephony/SmsManager.java
index 82539fb..598f945 100644
--- a/telephony/java/android/telephony/SmsManager.java
+++ b/telephony/java/android/telephony/SmsManager.java
@@ -54,10 +54,13 @@
      * @param sentIntent if not NULL this <code>PendingIntent</code> is
      *  broadcast when the message is sucessfully sent, or failed.
      *  The result code will be <code>Activity.RESULT_OK<code> for success,
-     *  or one of these errors:
-     *  <code>RESULT_ERROR_GENERIC_FAILURE</code>
-     *  <code>RESULT_ERROR_RADIO_OFF</code>
-     *  <code>RESULT_ERROR_NULL_PDU</code>.
+     *  or one of these errors:<br>
+     *  <code>RESULT_ERROR_GENERIC_FAILURE</code><br>
+     *  <code>RESULT_ERROR_RADIO_OFF</code><br>
+     *  <code>RESULT_ERROR_NULL_PDU</code><br>
+     *  For <code>RESULT_ERROR_GENERIC_FAILURE</code> the sentIntent may include
+     *  the extra "errorCode" containing a radio technology specific value,
+     *  generally only useful for troubleshooting.<br>
      *  The per-application based SMS control checks sentIntent. If sentIntent
      *  is NULL the caller will be checked against all unknown applications,
      *  which cause smaller number of SMS to be sent in checking period.
@@ -109,10 +112,13 @@
      *   <code>PendingIntent</code>s (one for each message part) that is
      *   broadcast when the corresponding message part has been sent.
      *   The result code will be <code>Activity.RESULT_OK<code> for success,
-     *   or one of these errors:
-     *   <code>RESULT_ERROR_GENERIC_FAILURE</code>
-     *   <code>RESULT_ERROR_RADIO_OFF</code>
-     *   <code>RESULT_ERROR_NULL_PDU</code>.
+     *   or one of these errors:<br>
+     *   <code>RESULT_ERROR_GENERIC_FAILURE</code><br>
+     *   <code>RESULT_ERROR_RADIO_OFF</code><br>
+     *   <code>RESULT_ERROR_NULL_PDU</code><br>
+     *   For <code>RESULT_ERROR_GENERIC_FAILURE</code> each sentIntent may include
+     *   the extra "errorCode" containing a radio technology specific value,
+     *   generally only useful for troubleshooting.<br>
      *   The per-application based SMS control checks sentIntent. If sentIntent
      *   is NULL the caller will be checked against all unknown applicaitons,
      *   which cause smaller number of SMS to be sent in checking period.
@@ -169,10 +175,13 @@
      * @param sentIntent if not NULL this <code>PendingIntent</code> is
      *  broadcast when the message is sucessfully sent, or failed.
      *  The result code will be <code>Activity.RESULT_OK<code> for success,
-     *  or one of these errors:
-     *  <code>RESULT_ERROR_GENERIC_FAILURE</code>
-     *  <code>RESULT_ERROR_RADIO_OFF</code>
-     *  <code>RESULT_ERROR_NULL_PDU</code>.
+     *  or one of these errors:<br>
+     *  <code>RESULT_ERROR_GENERIC_FAILURE</code><br>
+     *  <code>RESULT_ERROR_RADIO_OFF</code><br>
+     *  <code>RESULT_ERROR_NULL_PDU</code><br>
+     *  For <code>RESULT_ERROR_GENERIC_FAILURE</code> the sentIntent may include
+     *  the extra "errorCode" containing a radio technology specific value,
+     *  generally only useful for troubleshooting.<br>
      *  The per-application based SMS control checks sentIntent. If sentIntent
      *  is NULL the caller will be checked against all unknown applicaitons,
      *  which cause smaller number of SMS to be sent in checking period.
@@ -210,10 +219,13 @@
      * @param sentIntent if not NULL this <code>PendingIntent</code> is
      *  broadcast when the message is successfully sent, or failed.
      *  The result code will be <code>Activity.RESULT_OK<code> for success,
-     *  or one of these errors:
-     *  <code>RESULT_ERROR_GENERIC_FAILURE</code>
-     *  <code>RESULT_ERROR_RADIO_OFF</code>
-     *  <code>RESULT_ERROR_NULL_PDU</code>.
+     *  or one of these errors:<br>
+     *  <code>RESULT_ERROR_GENERIC_FAILURE</code><br>
+     *  <code>RESULT_ERROR_RADIO_OFF</code><br>
+     *  <code>RESULT_ERROR_NULL_PDU</code><br>
+     *  For <code>RESULT_ERROR_GENERIC_FAILURE</code> the sentIntent may include
+     *  the extra "errorCode" containing a radio technology specific value,
+     *  generally only useful for troubleshooting.<br>
      *  The per-application based SMS control checks sentIntent. If sentIntent
      *  is NULL the caller will be checked against all unknown applications,
      *  which cause smaller number of SMS to be sent in checking period.
diff --git a/telephony/java/com/android/internal/telephony/Call.java b/telephony/java/com/android/internal/telephony/Call.java
index 7eb9d85..b95dd11 100644
--- a/telephony/java/com/android/internal/telephony/Call.java
+++ b/telephony/java/com/android/internal/telephony/Call.java
@@ -25,10 +25,10 @@
     /* Enums */
 
     public enum State {
-        IDLE, ACTIVE, HOLDING, DIALING, ALERTING, INCOMING, WAITING, DISCONNECTED;
+        IDLE, ACTIVE, HOLDING, DIALING, ALERTING, INCOMING, WAITING, DISCONNECTED, DISCONNECTING;
 
         public boolean isAlive() {
-            return !(this == IDLE || this == DISCONNECTED);
+            return !(this == IDLE || this == DISCONNECTED || this == DISCONNECTING);
         }
 
         public boolean isRinging() {
diff --git a/telephony/java/com/android/internal/telephony/SMSDispatcher.java b/telephony/java/com/android/internal/telephony/SMSDispatcher.java
index 890ea63..d66c20b 100644
--- a/telephony/java/com/android/internal/telephony/SMSDispatcher.java
+++ b/telephony/java/com/android/internal/telephony/SMSDispatcher.java
@@ -445,7 +445,11 @@
             } else if (tracker.mSentIntent != null) {
                 // Done retrying; return an error to the app.
                 try {
-                    tracker.mSentIntent.send(RESULT_ERROR_GENERIC_FAILURE);
+                    Intent fillIn = new Intent();
+                    if (ar.result != null) {
+                        fillIn.putExtra("errorCode", ((SmsResponse)ar.result).errorCode);
+                    }
+                    tracker.mSentIntent.send(mContext, RESULT_ERROR_GENERIC_FAILURE, fillIn);
                 } catch (CanceledException ex) {}
             }
         }
diff --git a/telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java b/telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java
index 0d46777..7b3ff5e 100755
--- a/telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java
+++ b/telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java
@@ -945,6 +945,8 @@
             }
             // send an Intent
             sendEmergencyCallbackModeChange();
+            // Re-initiate data connection
+            mDataConnection.setDataEnabled(true);
         }
     }
 
diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaCall.java b/telephony/java/com/android/internal/telephony/cdma/CdmaCall.java
index e8724c2..c3bb01f 100644
--- a/telephony/java/com/android/internal/telephony/cdma/CdmaCall.java
+++ b/telephony/java/com/android/internal/telephony/cdma/CdmaCall.java
@@ -24,6 +24,7 @@
 import com.android.internal.telephony.Connection;
 import com.android.internal.telephony.DriverCall;
 import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.Call.State;
 
 /**
  * {@hide}
@@ -186,6 +187,7 @@
 
             cn.onHangupLocal();
         }
+        state = State.DISCONNECTING;
     }
 
     /**
diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaCallTracker.java b/telephony/java/com/android/internal/telephony/cdma/CdmaCallTracker.java
index 84d6b3d..005db47 100644
--- a/telephony/java/com/android/internal/telephony/cdma/CdmaCallTracker.java
+++ b/telephony/java/com/android/internal/telephony/cdma/CdmaCallTracker.java
@@ -761,6 +761,7 @@
         }
 
         call.onHangupLocal();
+        phone.notifyPreciseCallStateChanged();
     }
 
     /* package */
diff --git a/telephony/java/com/android/internal/telephony/cdma/sms/BearerData.java b/telephony/java/com/android/internal/telephony/cdma/sms/BearerData.java
index d4ec85a..97f92f4 100644
--- a/telephony/java/com/android/internal/telephony/cdma/sms/BearerData.java
+++ b/telephony/java/com/android/internal/telephony/cdma/sms/BearerData.java
@@ -868,13 +868,13 @@
             inStream.skip(offset);
             for (int i = 0; i < numFields; i++) {
                 int charCode = inStream.read(7);
-                if ((charCode >= UserData.ASCII_MAP_BASE_INDEX) ||
+                if ((charCode >= UserData.ASCII_MAP_BASE_INDEX) &&
                         (charCode <= UserData.ASCII_MAP_MAX_INDEX)) {
                     strBuf.append(UserData.ASCII_MAP[charCode - UserData.ASCII_MAP_BASE_INDEX]);
-                } else if (charCode == UserData.ASCII_LF_INDEX) {
-                    strBuf.append('\r');
-                } else if (charCode == UserData.ASCII_CR_INDEX) {
+                } else if (charCode == UserData.ASCII_NL_INDEX) {
                     strBuf.append('\n');
+                } else if (charCode == UserData.ASCII_CR_INDEX) {
+                    strBuf.append('\r');
                 } else {
                     /* For other charCodes, they are unprintable, and so simply use SPACE. */
                     strBuf.append(' ');
diff --git a/telephony/java/com/android/internal/telephony/cdma/sms/UserData.java b/telephony/java/com/android/internal/telephony/cdma/sms/UserData.java
index 15cb5e4..9b6e19d 100644
--- a/telephony/java/com/android/internal/telephony/cdma/sms/UserData.java
+++ b/telephony/java/com/android/internal/telephony/cdma/sms/UserData.java
@@ -82,15 +82,15 @@
      * Only elements between these indices in the ASCII table are printable.
      */
     public static final int PRINTABLE_ASCII_MIN_INDEX = 0x20;
-    public static final int ASCII_LF_INDEX = 0x0A;
+    public static final int ASCII_NL_INDEX = 0x0A;
     public static final int ASCII_CR_INDEX = 0x0D;
     public static final SparseIntArray charToAscii = new SparseIntArray();
     static {
         for (int i = 0; i < ASCII_MAP.length; i++) {
             charToAscii.put(ASCII_MAP[i], PRINTABLE_ASCII_MIN_INDEX + i);
         }
-        charToAscii.put('\r', ASCII_LF_INDEX);
-        charToAscii.put('\n', ASCII_CR_INDEX);
+        charToAscii.put('\n', ASCII_NL_INDEX);
+        charToAscii.put('\r', ASCII_CR_INDEX);
     }
 
     /*
diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmCall.java b/telephony/java/com/android/internal/telephony/gsm/GsmCall.java
index a92e52d..9542d20 100644
--- a/telephony/java/com/android/internal/telephony/gsm/GsmCall.java
+++ b/telephony/java/com/android/internal/telephony/gsm/GsmCall.java
@@ -185,6 +185,7 @@
 
             cn.onHangupLocal();
         }
+        state = State.DISCONNECTING;
     }
 
     /**
diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmCallTracker.java b/telephony/java/com/android/internal/telephony/gsm/GsmCallTracker.java
index f3b7596..db6e339 100644
--- a/telephony/java/com/android/internal/telephony/gsm/GsmCallTracker.java
+++ b/telephony/java/com/android/internal/telephony/gsm/GsmCallTracker.java
@@ -738,6 +738,7 @@
         }
 
         call.onHangupLocal();
+        phone.notifyPreciseCallStateChanged();
     }
 
     /* package */
diff --git a/tests/AndroidTests/src/com/android/unit_tests/CdmaSmsTest.java b/tests/AndroidTests/src/com/android/unit_tests/CdmaSmsTest.java
index 528545c..365fee8 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/CdmaSmsTest.java
+++ b/tests/AndroidTests/src/com/android/unit_tests/CdmaSmsTest.java
@@ -145,6 +145,12 @@
         assertEquals(userData.msgEncoding, revBearerData.userData.msgEncoding);
         assertEquals(userData.payloadStr.length(), revBearerData.userData.numFields);
         assertEquals(userData.payloadStr, revBearerData.userData.payloadStr);
+        userData.payloadStr = "Test \u007f standard \u0000 SMS";
+        revBearerData = BearerData.decode(BearerData.encode(bearerData));
+        assertEquals("Test   standard   SMS", revBearerData.userData.payloadStr);
+        userData.payloadStr = "Test \n standard \r SMS";
+        revBearerData = BearerData.decode(BearerData.encode(bearerData));
+        assertEquals(userData.payloadStr, revBearerData.userData.payloadStr);
     }
 
     @SmallTest
diff --git a/tests/AndroidTests/src/com/android/unit_tests/MonitorTest.java b/tests/AndroidTests/src/com/android/unit_tests/MonitorTest.java
index 2f3df10..b5c6d87 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/MonitorTest.java
+++ b/tests/AndroidTests/src/com/android/unit_tests/MonitorTest.java
@@ -267,7 +267,7 @@
     private static Throwable errorException;
     private static Thread testThread;
 
-    @MediumTest
+    // TODO: Flaky test. Add back MediumTest annotation once fixed
     public void testInterruptTest() throws Exception {
 
 
diff --git a/tests/DumpRenderTree/src/com/android/dumprendertree/ReliabilityTestActivity.java b/tests/DumpRenderTree/src/com/android/dumprendertree/ReliabilityTestActivity.java
index db40daf..995c129 100644
--- a/tests/DumpRenderTree/src/com/android/dumprendertree/ReliabilityTestActivity.java
+++ b/tests/DumpRenderTree/src/com/android/dumprendertree/ReliabilityTestActivity.java
@@ -124,6 +124,7 @@
     protected void onDestroy() {
         super.onDestroy();
         Log.v(LOGTAG, "onDestroy, inst=" + Integer.toHexString(hashCode()));
+        webView.clearCache(true);
         webView.destroy();
     }
 
diff --git a/tests/DumpRenderTree/src/com/android/dumprendertree/TestShellActivity.java b/tests/DumpRenderTree/src/com/android/dumprendertree/TestShellActivity.java
index 30e1d99..69d3695 100644
--- a/tests/DumpRenderTree/src/com/android/dumprendertree/TestShellActivity.java
+++ b/tests/DumpRenderTree/src/com/android/dumprendertree/TestShellActivity.java
@@ -630,6 +630,7 @@
         settings.setDatabaseEnabled(true);
         settings.setDatabasePath(getDir("databases",0).getAbsolutePath());
         settings.setDomStorageEnabled(true);
+        settings.setWorkersEnabled(true);
 
         webview.addJavascriptInterface(callbackProxy, "layoutTestController");
         webview.addJavascriptInterface(callbackProxy, "eventSender");
diff --git a/tests/FrameworkTest/tests/src/android/widget/AutoCompleteTextViewCallbacks.java b/tests/FrameworkTest/tests/src/android/widget/AutoCompleteTextViewCallbacks.java
index 515ddba..89421e48 100644
--- a/tests/FrameworkTest/tests/src/android/widget/AutoCompleteTextViewCallbacks.java
+++ b/tests/FrameworkTest/tests/src/android/widget/AutoCompleteTextViewCallbacks.java
@@ -18,65 +18,75 @@
 
 import android.app.Instrumentation;
 import android.test.ActivityInstrumentationTestCase2;
+import android.test.FlakyTest;
 import android.test.suitebuilder.annotation.MediumTest;
 
-public class AutoCompleteTextViewCallbacks 
+public class AutoCompleteTextViewCallbacks
         extends ActivityInstrumentationTestCase2<AutoCompleteTextViewSimple> {
 
+    private static final int WAIT_TIME = 200;
+
     public AutoCompleteTextViewCallbacks() {
         super("com.android.frameworktest", AutoCompleteTextViewSimple.class);
     }
 
     /** Test that the initial popup of the suggestions does not select anything.
-     *
-     * TODO: test currently fails. Add back MediumTest annotation when fixed.
      */
-    public void testPopupNoSelection() {
+    @MediumTest
+    @FlakyTest(tolerance=3)
+    public void testPopupNoSelection() throws Exception {
         AutoCompleteTextViewSimple theActivity = getActivity();
         AutoCompleteTextView textView = theActivity.getTextView();
         final Instrumentation instrumentation = getInstrumentation();
-        
+
         // focus and type
         textView.requestFocus();
         instrumentation.waitForIdleSync();
         sendKeys("A");
-        
+        // give UI time to settle
+        Thread.sleep(WAIT_TIME);
+
         // now check for selection callbacks.  Nothing should be clicked or selected.
         assertFalse("onItemClick should not be called", theActivity.mItemClickCalled);
         assertFalse("onItemSelected should not be called", theActivity.mItemSelectedCalled);
-        
+
         // arguably, this should be "false", because we aren't deselecting - we shouldn't
         // really be calling it.  But it's not the end of the world, and we might wind up
         // breaking something if we change this.
-        assertTrue("onNothingSelected should be called", theActivity.mNothingSelectedCalled);
+        //assertTrue("onNothingSelected should be called", theActivity.mNothingSelectedCalled);
     }
 
-    /** Test that arrow-down into the popup calls the onSelected callback */
+    /** Test that arrow-down into the popup calls the onSelected callback. */
     @MediumTest
-    public void testPopupEnterSelection() {
+    @FlakyTest(tolerance=3)
+    public void testPopupEnterSelection() throws Exception {
         AutoCompleteTextViewSimple theActivity = getActivity();
         AutoCompleteTextView textView = theActivity.getTextView();
         final Instrumentation instrumentation = getInstrumentation();
-        
+
         // focus and type
         textView.requestFocus();
         instrumentation.waitForIdleSync();
         sendKeys("A");
-        
+
         // prepare to move down into the popup
         theActivity.resetItemListeners();
         sendKeys("DPAD_DOWN");
-        
+        // give UI time to settle
+        Thread.sleep(WAIT_TIME);
+
         // now check for selection callbacks.
         assertFalse("onItemClick should not be called", theActivity.mItemClickCalled);
         assertTrue("onItemSelected should be called", theActivity.mItemSelectedCalled);
         assertEquals("onItemSelected position", 0, theActivity.mItemSelectedPosition);
         assertFalse("onNothingSelected should not be called", theActivity.mNothingSelectedCalled);
-        
+
         // try one more time - should move from 0 to 1
         theActivity.resetItemListeners();
         sendKeys("DPAD_DOWN");
-        
+        // give UI time to settle
+        Thread.sleep(WAIT_TIME);
+
         // now check for selection callbacks.
         assertFalse("onItemClick should not be called", theActivity.mItemClickCalled);
         assertTrue("onItemSelected should be called", theActivity.mItemSelectedCalled);
@@ -86,19 +96,20 @@
 
     /** Test that arrow-up out of the popup calls the onNothingSelected callback */
     @MediumTest
+    @FlakyTest(tolerance=3)
     public void testPopupLeaveSelection() {
         AutoCompleteTextViewSimple theActivity = getActivity();
         AutoCompleteTextView textView = theActivity.getTextView();
         final Instrumentation instrumentation = getInstrumentation();
-        
+
         // focus and type
         textView.requestFocus();
         instrumentation.waitForIdleSync();
         sendKeys("A");
-        
+
         // move down into the popup
         sendKeys("DPAD_DOWN");
-        
+
         // now move back up out of the popup
         theActivity.resetItemListeners();
         sendKeys("DPAD_UP");
diff --git a/tests/FrameworkTest/tests/src/android/widget/AutoCompleteTextViewPopup.java b/tests/FrameworkTest/tests/src/android/widget/AutoCompleteTextViewPopup.java
index 5ae960a..1e4cd20 100644
--- a/tests/FrameworkTest/tests/src/android/widget/AutoCompleteTextViewPopup.java
+++ b/tests/FrameworkTest/tests/src/android/widget/AutoCompleteTextViewPopup.java
@@ -20,6 +20,7 @@
 import android.test.ActivityInstrumentationTestCase2;
 import android.test.FlakyTest;
 import android.test.suitebuilder.annotation.MediumTest;
+import android.util.Log;
 
 /**
  * A collection of tests on aspects of the AutoCompleteTextView's popup
@@ -27,26 +28,33 @@
 public class AutoCompleteTextViewPopup
         extends ActivityInstrumentationTestCase2<AutoCompleteTextViewSimple> {
 
+    // ms to sleep when checking for intermittent UI state
+    private static final int SLEEP_TIME = 50;
+    // number of times to poll when checking expected UI state
+    // total wait time will be LOOP_AMOUNT * SLEEP_TIME
+    private static final int LOOP_AMOUNT = 10;
+
+
     public AutoCompleteTextViewPopup() {
         super("com.android.frameworktest", AutoCompleteTextViewSimple.class);
     }
-    
+
     /** Test that we can move the selection and it responds as expected */
     @MediumTest
+    @FlakyTest(tolerance=3)
     public void testPopupSetListSelection() throws Throwable {
         AutoCompleteTextViewSimple theActivity = getActivity();
         final AutoCompleteTextView textView = theActivity.getTextView();
         final Instrumentation instrumentation = getInstrumentation();
-        
+
         // focus and type
         textView.requestFocus();
         instrumentation.waitForIdleSync();
         sendKeys("A");
-        
+
         // No initial selection
-        assertEquals("getListSelection(-1)", 
-                ListView.INVALID_POSITION, textView.getListSelection());
-        
+        waitAssertListSelection(textView, ListView.INVALID_POSITION);
+
         // set and check
         runTestOnUiThread(new Runnable() {
             public void run() {
@@ -54,58 +62,64 @@
             }
         });
         instrumentation.waitForIdleSync();
-        assertEquals("set selection to (0)", 0, textView.getListSelection());
-        
+        waitAssertListSelection("set selection to (0)", textView, 0);
+
         // Use movement to cross-check the movement
         sendKeys("DPAD_DOWN");
-        assertEquals("move selection to (1)", 1, textView.getListSelection());
+        waitAssertListSelection("move selection to (1)", textView, 1);
+
+        // TODO: FlakyTest repeat runs will not currently call setUp, clear state
+        clearText(textView);
     }
-    
+
     /** Test that we can look at the selection as we move around */
     @MediumTest
-    public void testPopupGetListSelection() {
+    @FlakyTest(tolerance=3)
+    public void testPopupGetListSelection() throws Throwable {
         AutoCompleteTextViewSimple theActivity = getActivity();
-        AutoCompleteTextView textView = theActivity.getTextView();
+        final AutoCompleteTextView textView = theActivity.getTextView();
         final Instrumentation instrumentation = getInstrumentation();
-        
+
         // focus and type
         textView.requestFocus();
         instrumentation.waitForIdleSync();
         sendKeys("A");
-        
+
         // No initial selection
-        assertEquals("getListSelection(-1)", 
-                ListView.INVALID_POSITION, textView.getListSelection());
-        
+        waitAssertListSelection(textView, ListView.INVALID_POSITION);
+
         // check for selection position as expected
         sendKeys("DPAD_DOWN");
-        assertEquals("move selection to (0)", 0, textView.getListSelection());
-        
+        waitAssertListSelection("move selection to (0)", textView, 0);
+
         // Repeat for one more movement
         sendKeys("DPAD_DOWN");
-        assertEquals("move selection to (1)", 1, textView.getListSelection());
+        waitAssertListSelection("move selection to (1)", textView, 1);
+
+        // TODO: FlakyTest repeat runs will not currently call setUp, clear state
+        clearText(textView);
     }
-    
+
     /** Test that we can clear the selection */
     @MediumTest
+    @FlakyTest(tolerance=3)
     public void testPopupClearListSelection() throws Throwable {
         AutoCompleteTextViewSimple theActivity = getActivity();
         final AutoCompleteTextView textView = theActivity.getTextView();
         final Instrumentation instrumentation = getInstrumentation();
-        
+
         // focus and type
         textView.requestFocus();
         instrumentation.waitForIdleSync();
         sendKeys("A");
-        
+
         // No initial selection
-        assertEquals("getListSelection(-1)", 
-                ListView.INVALID_POSITION, textView.getListSelection());
-        
+        waitAssertListSelection(textView, ListView.INVALID_POSITION);
+
         // check for selection position as expected
         sendKeys("DPAD_DOWN");
-        assertEquals("getListSelection(0)", 0, textView.getListSelection());
-        
+        waitAssertListSelection(textView, 0);
+
         // clear it
         runTestOnUiThread(new Runnable() {
             public void run() {
@@ -113,12 +127,16 @@
             }
         });
         instrumentation.waitForIdleSync();
-        assertEquals("setListSelection(ListView.INVALID_POSITION)", 
-                ListView.INVALID_POSITION, textView.getListSelection());
+        waitAssertListSelection("setListSelection(ListView.INVALID_POSITION)", textView,
+                ListView.INVALID_POSITION);
+
+        // TODO: FlakyTest repeat runs will not currently call setUp, clear state
+        clearText(textView);
     }
 
     /** Make sure we handle an empty adapter properly */
     @MediumTest
+    @FlakyTest(tolerance=3)
     public void testPopupNavigateNoAdapter() throws Throwable {
         AutoCompleteTextViewSimple theActivity = getActivity();
         final AutoCompleteTextView textView = theActivity.getTextView();
@@ -130,12 +148,11 @@
         sendKeys("A");
 
         // No initial selection
-        assertEquals("getListSelection(-1)",
-                ListView.INVALID_POSITION, textView.getListSelection());
+         waitAssertListSelection(textView, ListView.INVALID_POSITION);
 
         // check for selection position as expected
         sendKeys("DPAD_DOWN");
-        assertEquals("getListSelection(0)", 0, textView.getListSelection());
+        waitAssertListSelection(textView, 0);
 
         // Now get rid of the adapter
         runTestOnUiThread(new Runnable() {
@@ -147,27 +164,30 @@
 
         // now try moving "down" - nothing should happen since there's no longer an adapter
         sendKeys("DPAD_DOWN");
+
+        // TODO: FlakyTest repeat runs will not currently call setUp, clear state
+        clearText(textView);
     }
-    
+
     /** Test the show/hide behavior of the drop-down. */
-    @FlakyTest(tolerance=5)
     @MediumTest
+    @FlakyTest(tolerance=3)
     public void testPopupShow() throws Throwable {
         AutoCompleteTextViewSimple theActivity = getActivity();
         final AutoCompleteTextView textView = theActivity.getTextView();
         final Instrumentation instrumentation = getInstrumentation();
-        
+
         // Drop-down should not be showing when no text has been entered
         assertFalse("isPopupShowing() on start", textView.isPopupShowing());
-        
+
         // focus and type
         textView.requestFocus();
         instrumentation.waitForIdleSync();
         sendKeys("A");
-        
+
         // Drop-down should now be visible
-        assertTrue("isPopupShowing() after typing", textView.isPopupShowing());
-        
+        waitAssertPopupShowState("isPopupShowing() after typing", textView, true);
+
         // Clear the text
         runTestOnUiThread(new Runnable() {
             public void run() {
@@ -175,10 +195,10 @@
             }
         });
         instrumentation.waitForIdleSync();
-        
+
         // Drop-down should be hidden when text is cleared
-        assertFalse("isPopupShowing() after text cleared", textView.isPopupShowing());
-        
+        waitAssertPopupShowState("isPopupShowing() after text cleared", textView, false);
+
         // Set the text, without filtering
         runTestOnUiThread(new Runnable() {
             public void run() {
@@ -186,10 +206,10 @@
             }
         });
         instrumentation.waitForIdleSync();
-        
+
         // Drop-down should still be hidden
-        assertFalse("isPopupShowing() after setText(\"a\", false)", textView.isPopupShowing());
-        
+        waitAssertPopupShowState("isPopupShowing() after setText(\"a\", false)", textView, false);
+
         // Set the text, now with filtering
         runTestOnUiThread(new Runnable() {
             public void run() {
@@ -197,8 +217,48 @@
             }
         });
         instrumentation.waitForIdleSync();
-        
-        // Drop-down should show up after setText() with filtering 
-        assertTrue("isPopupShowing() after text set", textView.isPopupShowing());
+
+        // Drop-down should show up after setText() with filtering
+        waitAssertPopupShowState("isPopupShowing() after text set", textView, true);
+
+        // TODO: FlakyTest repeat runs will not currently call setUp, clear state
+        clearText(textView);
+    }
+
+    private void waitAssertPopupShowState(String message, AutoCompleteTextView textView,
+            boolean expected) throws InterruptedException {
+        for (int i = 0; i < LOOP_AMOUNT; i++) {
+            if (textView.isPopupShowing() == expected) {
+                return;
+            }
+            Thread.sleep(SLEEP_TIME);
+        }
+        assertEquals(message, expected, textView.isPopupShowing());
+    }
+
+    private void waitAssertListSelection(AutoCompleteTextView textView, int expected)
+            throws Exception {
+        waitAssertListSelection("getListSelection()", textView, expected);
+    }
+
+    private void waitAssertListSelection(String message, AutoCompleteTextView textView,
+            int expected) throws Exception {
+        int currentSelection = ListView.INVALID_POSITION;
+        for (int i = 0; i < LOOP_AMOUNT; i++) {
+            currentSelection = textView.getListSelection();
+            if (expected == currentSelection) {
+                return;
+            }
+            Thread.sleep(SLEEP_TIME);
+        }
+        assertEquals(message, expected, textView.getListSelection());
+    }
+
+    private void clearText(final AutoCompleteTextView textView) throws Throwable {
+        runTestOnUiThread(new Runnable() {
+            public void run() {
+                textView.setText("");
+            }
+        });
     }
 }
diff --git a/tests/backup/test_backup.sh b/tests/backup/test_backup.sh
index dbf9ed2..f50d03f 100755
--- a/tests/backup/test_backup.sh
+++ b/tests/backup/test_backup.sh
@@ -1,27 +1,70 @@
 #!/bin/bash
 
+# Copyright (C) 2009 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+ADB_OPTS="$@"
+
+#FIXME: what was this for?
 #adb kill-server
 
+b_pkgs=$(adb $ADB_OPTS shell dumpsys backup | \
+         ruby -ne 'print($1+" ") if $_ =~ /^\s*ApplicationInfo\{\S+ (.+?)\}/')
+
+# wipe prior backup data for packages, including the metadata package @pm@
+for pkg in $b_pkgs '@pm@'; do
+    adb $ADB_OPTS shell bmgr wipe "$pkg"
+done
+
+# who knows?
+echo 'Waiting 5 seconds for things to settle...'
+sleep 5
+
+# run adb as root so we can poke at com.android.backuptest's data
+root_status=$(adb $ADB_OPTS root)
+if [ "x$root_status" != "xadbd is already running as root" ]; then
+    sleep 2
+    adb $ADB_OPTS 'wait-for-device'
+fi
+
+# show commands as we go
+set -x
+
 # set the transport
-adb shell bmgr transport 1
+adb $ADB_OPTS shell bmgr transport com.google.android.backup/.BackupTransportService
 
 # load up the three files
-adb shell "rm /data/data/com.android.backuptest/files/* ; \
-           mkdir /data/data/com.android.backuptest ; \
-           mkdir /data/data/com.android.backuptest/files ; \
-           mkdir /data/data/com.android.backuptest/shared_prefs ; \
-           echo -n \"<map><int name=\\\"pref\\\" value=\\\"1\\\" /></map>\" > /data/data/com.android.backuptest/shared_prefs/raw.xml ; \
-           echo -n first file > /data/data/com.android.backuptest/files/file.txt ; \
-           echo -n asdf > /data/data/com.android.backuptest/files/another_file.txt ; \
-           echo -n 3 > /data/data/com.android.backuptest/files/3.txt ; \
-           echo -n "" > /data/data/com.android.backuptest/files/empty.txt ; \
+adb $ADB_OPTS shell \
+   "rm /data/data/com.android.backuptest/files/file.txt ; \
+    rm /data/data/com.android.backuptest/files/another_file.txt ; \
+    rm /data/data/com.android.backuptest/files/empty.txt ; \
+    mkdir /data/data/com.android.backuptest ; \
+    mkdir /data/data/com.android.backuptest/files ; \
+    mkdir /data/data/com.android.backuptest/shared_prefs ; \
+    echo -n \"<map><int name=\\\"pref\\\" value=\\\"1\\\" /></map>\" \
+            > /data/data/com.android.backuptest/shared_prefs/raw.xml ; \
+    echo -n first file > /data/data/com.android.backuptest/files/file.txt ; \
+    echo -n asdf > /data/data/com.android.backuptest/files/another_file.txt ; \
+    echo -n "" > /data/data/com.android.backuptest/files/empty.txt ; \
+    date >> /data/data/com.android.backuptest/files/3.txt ; \
 "
+#    echo -n 3 > /data/data/com.android.backuptest/files/3.txt ; \
 
 # say that the data has changed
-adb shell bmgr backup com.android.backuptest
+adb $ADB_OPTS shell bmgr backup com.android.backuptest
 
 # run the backup
-adb shell bmgr run
-
-
+adb $ADB_OPTS shell bmgr run
 
diff --git a/tests/backup/test_restore.sh b/tests/backup/test_restore.sh
index ccf29cf..44b3a28 100755
--- a/tests/backup/test_restore.sh
+++ b/tests/backup/test_restore.sh
@@ -1,8 +1,25 @@
 #!/bin/bash
 
+# Copyright (C) 2009 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+ADB_OPTS="$@"
+
 function check_file
 {
-    data=$(adb shell cat /data/data/com.android.backuptest/$1)
+    data=$(adb $ADB_OPTS shell cat /data/data/com.android.backuptest/$1)
     if [ "$data" = "$2" ] ; then
         echo "$1 has correct value [$2]"
     else
@@ -12,24 +29,39 @@
     fi
 }
 
+# run adb as root so we can poke at com.android.backuptest's data
+root_status=$(adb $ADB_OPTS root)
+if [ "x$root_status" != "xadbd is already running as root" ]; then
+    echo -n "Restarting adb as root..."
+    sleep 2
+    adb $ADB_OPTS 'wait-for-device'
+    echo done.
+fi
+
 # delete the old data
 echo --- Previous files
-adb shell "ls -l /data/data/com.android.backuptest/files"
-adb shell "rm /data/data/com.android.backuptest/files/*"
+adb $ADB_OPTS shell "ls -l /data/data/com.android.backuptest/files"
+adb $ADB_OPTS shell "rm /data/data/com.android.backuptest/files/*"
 echo --- Previous shared_prefs
-adb shell "ls -l /data/data/com.android.backuptest/shared_prefs"
-adb shell "rm /data/data/com.android.backuptest/shared_prefs/*"
+adb $ADB_OPTS shell "ls -l /data/data/com.android.backuptest/shared_prefs"
+adb $ADB_OPTS shell "rm /data/data/com.android.backuptest/shared_prefs/*"
 echo --- Erased files and shared_prefs
-adb shell "ls -l /data/data/com.android.backuptest/files"
-adb shell "ls -l /data/data/com.android.backuptest/shared_prefs"
+adb $ADB_OPTS shell "ls -l /data/data/com.android.backuptest/files"
+adb $ADB_OPTS shell "ls -l /data/data/com.android.backuptest/shared_prefs"
 echo ---
 
 echo
 echo
 echo
 
+# FIXME: there's probably a smarter way to do this
+# FIXME: if we can get the android ID, that's probably the safest thing to do
+# pick the most recent set and restore from it
+restore_set=$(adb $ADB_OPTS shell bmgr list sets | head -n1 | awk '{print $1}')
+
 # run the restore
-adb shell bmgr restore 0
+printf "Restoring from set %d (hex: 0x%x)\n" $restore_set $restore_set
+adb $ADB_OPTS shell bmgr restore $restore_set
 
 echo
 echo
@@ -38,7 +70,7 @@
 # check the results
 check_file files/file.txt "first file"
 check_file files/another_file.txt "asdf"
-check_file files/3.txt "3"
+#check_file files/3.txt "3"
 check_file files/empty.txt ""
 check_file shared_prefs/raw.xml '<map><int name="pref" value="1" /></map>'
 
@@ -46,8 +78,12 @@
 echo
 echo
 echo --- Restored files
-adb shell "ls -l /data/data/com.android.backuptest/files"
+adb $ADB_OPTS shell "ls -l /data/data/com.android.backuptest/files"
 echo --- Restored shared_prefs
-adb shell "ls -l /data/data/com.android.backuptest/shared_prefs"
+adb $ADB_OPTS shell "ls -l /data/data/com.android.backuptest/shared_prefs"
 echo ---
 echo
+
+echo "Last 3 timestamps in 3.txt:"
+adb $ADB_OPTS shell cat /data/data/com.android.backuptest/files/3.txt | tail -n 3
+
diff --git a/tools/aidl/AST.cpp b/tools/aidl/AST.cpp
index 1856cb9..752ef7c 100755
--- a/tools/aidl/AST.cpp
+++ b/tools/aidl/AST.cpp
@@ -6,6 +6,10 @@
 {
     int m = mod & mask;
 
+    if (m & OVERRIDE) {
+        fprintf(to, "@Override ");
+    }
+
     if ((m & SCOPE_MASK) == PUBLIC) {
         fprintf(to, "public ");
     }
@@ -79,7 +83,7 @@
     if (this->comment.length() != 0) {
         fprintf(to, "%s\n", this->comment.c_str());
     }
-    WriteModifiers(to, this->modifiers, SCOPE_MASK | STATIC | FINAL);
+    WriteModifiers(to, this->modifiers, SCOPE_MASK | STATIC | FINAL | OVERRIDE);
     fprintf(to, "%s %s", this->variable->type->QualifiedName().c_str(),
             this->variable->name.c_str());
     if (this->value.length() != 0) {
@@ -674,7 +678,7 @@
         fprintf(to, "%s\n", this->comment.c_str());
     }
 
-    WriteModifiers(to, this->modifiers, SCOPE_MASK | STATIC | FINAL);
+    WriteModifiers(to, this->modifiers, SCOPE_MASK | STATIC | FINAL | OVERRIDE);
 
     if (this->returnType != NULL) {
         string dim;
diff --git a/tools/aidl/AST.h b/tools/aidl/AST.h
index aec2164..3156356 100755
--- a/tools/aidl/AST.h
+++ b/tools/aidl/AST.h
@@ -22,6 +22,8 @@
     FINAL           = 0x00000020,
     ABSTRACT        = 0x00000040,
 
+    OVERRIDE        = 0x00000100,
+
     ALL_MODIFIERS   = 0xffffffff
 };
 
diff --git a/tools/aidl/generate_java.cpp b/tools/aidl/generate_java.cpp
index da20d1f..0f18132 100644
--- a/tools/aidl/generate_java.cpp
+++ b/tools/aidl/generate_java.cpp
@@ -104,7 +104,7 @@
     this->transact_reply = new Variable(PARCEL_TYPE, "reply");
     this->transact_flags = new Variable(INT_TYPE, "flags");
     Method* onTransact = new Method;
-        onTransact->modifiers = PUBLIC;
+        onTransact->modifiers = PUBLIC | OVERRIDE;
         onTransact->returnType = BOOLEAN_TYPE;
         onTransact->name = "onTransact";
         onTransact->parameters.push_back(this->transact_code);